updated some fight effect text

This commit is contained in:
Evan Kranzler 2021-11-14 15:30:27 -05:00
parent c355834a4e
commit b625aa05c5
19 changed files with 52 additions and 78 deletions

View file

@ -30,7 +30,7 @@ public final class AcklayOfTheArena extends CardImpl {
this.addAbility(new MonstrosityAbility("{2}{R}{G}{W}", 1));
// Whenever a creature you control becomes monstrous, it fights target creature an opponent controls.
Ability ability = new BecomesMonstrousTriggeredAbility(new FightTargetsEffect("it fights target creature an opponent controls"));
Ability ability = new BecomesMonstrousTriggeredAbility(new FightTargetsEffect().setText("it fights target creature an opponent controls"));
ability.addTarget(new TargetOpponentsCreaturePermanent());
this.addAbility(ability);

View file

@ -7,9 +7,8 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetOpponentsCreaturePermanent;
import java.util.UUID;
@ -28,7 +27,7 @@ public final class Ambuscade extends CardImpl {
// It deals damage equal to its power to target creature you don't control.
this.getSpellAbility().addEffect(new DamageWithPowerFromOneToAnotherTargetEffect("It"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL)); // second target for effect
this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); // second target for effect
}
private Ambuscade(final Ambuscade card) {

View file

@ -37,7 +37,7 @@ public final class ArniSlaysTheTroll extends CardImpl {
// I Target creature you control fights up to one target creature you don't control.
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_I,
new Effects(new FightTargetsEffect(
new Effects(new FightTargetsEffect().setText(
"Target creature you control fights up to one target creature you don't control"
)), new Targets(
new TargetControlledCreaturePermanent(),

View file

@ -28,7 +28,7 @@ public final class AyulaQueenAmongBears extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.BEAR, "another Bear");
private static final FilterPermanent filter2 = new FilterPermanent(SubType.BEAR, "Bear");
private static final FilterControlledPermanent filter3 = new FilterControlledPermanent("Bear you controls");
private static final FilterControlledPermanent filter3 = new FilterControlledPermanent("Bear you control");
static {
filter.add(AnotherPredicate.instance);

View file

@ -1,23 +1,21 @@
package mage.cards.b;
import java.util.UUID;
import mage.abilities.effects.common.FightTargetsEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.other.AnotherTargetPredicate;
import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author intimidatingant
*/
public final class BloodFeud extends CardImpl {
public BloodFeud(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{R}{R}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{R}{R}");
// Target creature fights another target creature.
this.getSpellAbility().addEffect(new FightTargetsEffect());
@ -25,9 +23,7 @@ public final class BloodFeud extends CardImpl {
target.setTargetTag(1);
this.getSpellAbility().addTarget(target);
FilterCreaturePermanent filter = new FilterCreaturePermanent();
filter.add(new AnotherTargetPredicate(2));
TargetCreaturePermanent target2 = new TargetCreaturePermanent(filter);
TargetCreaturePermanent target2 = new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_CREATURE_TARGET_2);
target2.setTargetTag(2);
this.getSpellAbility().addTarget(target2);
}

View file

@ -4,8 +4,7 @@ import mage.abilities.effects.common.FightTargetsEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.other.AnotherTargetPredicate;
import mage.filter.StaticFilters;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
@ -16,12 +15,6 @@ import java.util.UUID;
*/
public final class ClashOfTitans extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
static {
filter.add(new AnotherTargetPredicate(2));
}
public ClashOfTitans(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}{R}");
@ -31,7 +24,7 @@ public final class ClashOfTitans extends CardImpl {
target.setTargetTag(1);
this.getSpellAbility().addTarget(target);
target = new TargetCreaturePermanent(filter);
target = new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_CREATURE_TARGET_2);
target.setTargetTag(2);
this.getSpellAbility().addTarget(target);
}

View file

@ -40,7 +40,6 @@ public final class ContestedCliffs extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {R}{G}, {tap}: Choose target Beast creature you control and target creature an opponent controls. Those creatures fight each other.
Effect effect = new FightTargetsEffect();
effect.setText("Choose target Beast creature you control and target creature an opponent controls. Those creatures fight each other");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{R}{G}"));
ability.addCost(new TapSourceCost());
Target target1 = new TargetCreaturePermanent(filter1);

View file

@ -1,7 +1,5 @@
package mage.cards.d;
import java.util.UUID;
import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility;
@ -13,21 +11,17 @@ import mage.cards.Card;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.cards.CardsImpl;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Outcome;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.other.AnotherTargetPredicate;
import mage.constants.*;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.command.emblems.DomriRadeEmblem;
import mage.players.Player;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public final class DomriRade extends CardImpl {
@ -48,16 +42,13 @@ public final class DomriRade extends CardImpl {
target.setTargetTag(1);
ability2.addTarget(target);
FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature to fight");
filter.add(new AnotherTargetPredicate(2));
TargetCreaturePermanent target2 = new TargetCreaturePermanent(filter);
TargetCreaturePermanent target2 = new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_CREATURE_TARGET_2);
target2.setTargetTag(2);
ability2.addTarget(target2);
this.addAbility(ability2);
// -7: You get an emblem with "Creatures you control have double strike, trample, hexproof and haste."
this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new DomriRadeEmblem()), -7));
}
private DomriRade(final DomriRade card) {

View file

@ -23,7 +23,7 @@ public final class HuntTheWeak extends CardImpl {
// Put a +1/+1 counter on target creature you control. Then that creature fights target creature you don't control.
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance()));
this.getSpellAbility().addEffect(new FightTargetsEffect().setText(
"Then that creature fights up to one target creature you don't control"
"Then that creature fights target creature you don't control"
));
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
this.getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL));

View file

@ -31,7 +31,7 @@ public final class OuterRimSlaver extends CardImpl {
// When Outer Rim Slaver enters the battlefield, you may put a bounty counter on target creature. If you do, another target creature fights that creature
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())
.setText("you may put a bounty counter on target creature"), true);
ability.addEffect(new FightTargetsEffect("If you do, another target creature fights that creature"));
ability.addEffect(new FightTargetsEffect().setText("If you do, another target creature fights that creature"));
TargetCreaturePermanent target = new TargetCreaturePermanent(new FilterCreaturePermanent("creature to put a bounty counter on it"));
target.setTargetTag(1);
ability.addTarget(target);

View file

@ -1,24 +1,22 @@
package mage.cards.p;
import java.util.UUID;
import mage.abilities.effects.common.FightTargetsEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.other.AnotherTargetPredicate;
import mage.filter.StaticFilters;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public final class PitFight extends CardImpl {
public PitFight(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R/G}");
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R/G}");
// Target creature you control fights another target creature.
this.getSpellAbility().addEffect(new FightTargetsEffect());
@ -26,9 +24,7 @@ public final class PitFight extends CardImpl {
target.setTargetTag(1);
this.getSpellAbility().addTarget(target);
FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature to fight");
filter.add(new AnotherTargetPredicate(2));
TargetCreaturePermanent target2 = new TargetCreaturePermanent(filter);
TargetCreaturePermanent target2 = new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_CREATURE_TARGET_2);
target2.setTargetTag(2);
this.getSpellAbility().addTarget(target2);
}

View file

@ -12,9 +12,9 @@ import mage.cards.SplitCard;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SpellAbilityType;
import mage.filter.StaticFilters;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import mage.target.common.TargetOpponentsCreaturePermanent;
import java.util.UUID;
@ -45,7 +45,7 @@ public final class PrepareFight extends SplitCard {
getRightHalfCard().addAbility(new AftermathAbility().setRuleAtTheTop(true));
getRightHalfCard().getSpellAbility().addEffect(new FightTargetsEffect());
getRightHalfCard().getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL));
getRightHalfCard().getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent());
}
private PrepareFight(final PrepareFight card) {

View file

@ -22,7 +22,7 @@ public final class SmellFear extends CardImpl {
this.getSpellAbility().addEffect(new ProliferateEffect());
// Target creature you control fights up to one target creature you don't control.
this.getSpellAbility().addEffect(new FightTargetsEffect(
this.getSpellAbility().addEffect(new FightTargetsEffect().setText(
"<br>Target creature you control fights up to one target creature you don't control"
));
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());

View file

@ -54,7 +54,7 @@ public final class TheTriumphOfAnax extends CardImpl {
// IV Target creature you control fights up to one target creature you don't control.
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_IV, SagaChapter.CHAPTER_IV,
new Effects(new FightTargetsEffect(
new Effects(new FightTargetsEffect().setText(
"Target creature you control fights up to one target creature you don't control"
)), new Targets(
new TargetControlledCreaturePermanent(),

View file

@ -53,7 +53,7 @@ public final class TovolarsPackleader extends CardImpl {
));
// {2}{G}{G}: Another target Wolf or Werewolf you control fights target creature you don't control.
Ability ability = new SimpleActivatedAbility(new FightTargetsEffect(
Ability ability = new SimpleActivatedAbility(new FightTargetsEffect().setText(
"another target Wolf or Werewolf you control fights target creature you don't control"
), new ManaCostsImpl<>("{2}{G}{G}"));
ability.addTarget(new TargetPermanent(filter));

View file

@ -1,7 +1,5 @@
package mage.cards.u;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
@ -12,15 +10,14 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.other.AnotherTargetPredicate;
import mage.filter.StaticFilters;
import mage.target.Target;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
*
* @author North
*/
public final class UlvenwaldTracker extends CardImpl {
@ -34,14 +31,12 @@ public final class UlvenwaldTracker extends CardImpl {
this.toughness = new MageInt(1);
// {1}{G}, {tap}: Target creature you control fights another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new FightTargetsEffect(), new ManaCostsImpl("{1}{G}"));
Ability ability = new SimpleActivatedAbility(new FightTargetsEffect(), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new TapSourceCost());
Target controlledTarget = new TargetControlledCreaturePermanent();
controlledTarget.setTargetTag(1);
ability.addTarget(controlledTarget);
FilterCreaturePermanent filter = new FilterCreaturePermanent();
filter.add(new AnotherTargetPredicate(2));
Target secondTarget = new TargetCreaturePermanent(filter);
Target secondTarget = new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_CREATURE_TARGET_2);
secondTarget.setTargetTag(2);
ability.addTarget(secondTarget);
this.addAbility(ability);

View file

@ -64,10 +64,10 @@ public class DamageWithPowerFromOneToAnotherTargetEffect extends OneShotEffect {
throw new IllegalStateException("It must have two targets, but found " + mode.getTargets().size());
}
String targetName = mode.getTargets().get(1).getTargetName();
// Target creature you control deals damage equal to its power to target creature you don't control
String sb = (this.firstTargetName != null ? this.firstTargetName : "Target " + mode.getTargets().get(0).getTargetName()) +
" deals damage equal to its power to target " +
mode.getTargets().get(1).getTargetName();
" deals damage equal to its power to " + (targetName.contains("other") ? "" : "target ") + targetName;
return sb;
}
}

View file

@ -7,6 +7,7 @@ import mage.cards.Card;
import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.Target;
import java.util.UUID;
@ -19,11 +20,6 @@ public class FightTargetsEffect extends OneShotEffect {
super(Outcome.Damage);
}
public FightTargetsEffect(String effectText) {
this();
this.staticText = effectText;
}
public FightTargetsEffect(final FightTargetsEffect effect) {
super(effect);
}
@ -70,18 +66,20 @@ public class FightTargetsEffect extends OneShotEffect {
@Override
public FightTargetsEffect copy() {
return new FightTargetsEffect(this);
}
@Override
public String getText(Mode mode) {
if (staticText != null && !staticText.isEmpty()) {
return staticText;
}
return "target " + mode
.getTargets().get(0).getTargetName() + " fights another target " + mode
.getTargets().get(1).getTargetName();
Target target=mode.getTargets().get(1);
StringBuilder sb=new StringBuilder("target ");
sb.append(mode.getTargets().get(0).getTargetName());
sb.append(" fights ");
if(!target.getTargetName().contains("other")){
sb.append("target ");
}
sb.append(target.getTargetName());return sb.toString();
}
}

View file

@ -9,6 +9,7 @@ import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.filter.predicate.mageobject.KickedSpellPredicate;
import mage.filter.predicate.mageobject.MulticoloredPredicate;
import mage.filter.predicate.other.AnotherTargetPredicate;
import mage.filter.predicate.permanent.AttackingPredicate;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.filter.predicate.permanent.TokenPredicate;
@ -415,6 +416,12 @@ public final class StaticFilters {
FILTER_OPPONENTS_PERMANENT_ARTIFACT_OR_CREATURE.setLockedFilter(true);
}
public static final FilterCreaturePermanent FILTER_ANOTHER_CREATURE_TARGET_2 = new FilterCreaturePermanent("another target creature");
static {
FILTER_ANOTHER_CREATURE_TARGET_2.add(new AnotherTargetPredicate(2));
}
public static final FilterCreaturePermanent FILTER_CREATURE_YOU_DONT_CONTROL = new FilterCreaturePermanent("creature you don't control");
static {