diff --git a/Mage.Sets/src/mage/cards/a/AkkiBattleSquad.java b/Mage.Sets/src/mage/cards/a/AkkiBattleSquad.java index d6821e1eff3..befcf601a6f 100644 --- a/Mage.Sets/src/mage/cards/a/AkkiBattleSquad.java +++ b/Mage.Sets/src/mage/cards/a/AkkiBattleSquad.java @@ -38,7 +38,7 @@ public final class AkkiBattleSquad extends CardImpl { Ability ability = new AttacksCreatureYouControlTriggeredAbility( new UntapAllEffect(filter), false, filter ).setTriggerPhrase("Whenever one or more modified creatures you control attack, ").setTriggersOnceEachTurn(true); - ability.addEffect(new AdditionalCombatPhaseEffect()); + ability.addEffect(new AdditionalCombatPhaseEffect().setText("After this combat phase, there is an additional combat phase")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CallToArms.java b/Mage.Sets/src/mage/cards/c/CallToArms.java index 6d21e7cd45c..104f789b443 100644 --- a/Mage.Sets/src/mage/cards/c/CallToArms.java +++ b/Mage.Sets/src/mage/cards/c/CallToArms.java @@ -115,6 +115,8 @@ class CallToArmsStateTriggeredAbility extends StateTriggeredAbility { public CallToArmsStateTriggeredAbility() { super(Zone.BATTLEFIELD, new SacrificeSourceEffect()); + setTriggerPhrase("When the chosen color isn't the most common color among nontoken permanents " + + "the chosen player controls or is tied for most common, "); } private CallToArmsStateTriggeredAbility(final CallToArmsStateTriggeredAbility ability) { @@ -141,11 +143,4 @@ class CallToArmsStateTriggeredAbility extends StateTriggeredAbility { return false; } - @Override - public String getRule() { - return "When the chosen color isn't the most common color " - + "among nontoken permanents the chosen player controls " - + "or is tied for most common, sacrifice {this}"; - } - } diff --git a/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java b/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java index 5485cd0b8a1..49c161d5b9b 100644 --- a/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java +++ b/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java @@ -37,7 +37,7 @@ public final class ConquerorsGalleon extends CardImpl { new ExileAndReturnSourceEffect( PutCards.BATTLEFIELD_TRANSFORMED, Pronoun.IT, true ) - )), false, "When {this} attacks, exile it at the end of combat, " + + )), false, "When {this} attacks, exile it at end of combat, " + "then return it to the battlefield transformed under your control." )); diff --git a/Mage.Sets/src/mage/cards/h/Heal.java b/Mage.Sets/src/mage/cards/h/Heal.java index 271fce269d7..73bc541077d 100644 --- a/Mage.Sets/src/mage/cards/h/Heal.java +++ b/Mage.Sets/src/mage/cards/h/Heal.java @@ -24,7 +24,8 @@ public final class Heal extends CardImpl { // Prevent the next 1 damage that would be dealt to any target this turn. // Draw a card at the beginning of the next turn's upkeep. this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1)); - this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility( + new DrawCardSourceControllerEffect(1)), false).concatBy("
")); this.getSpellAbility().addTarget(new TargetAnyTarget()); } diff --git a/Mage.Sets/src/mage/cards/i/ImmolationShaman.java b/Mage.Sets/src/mage/cards/i/ImmolationShaman.java index df0a6f9ca77..36ec00e7d1b 100644 --- a/Mage.Sets/src/mage/cards/i/ImmolationShaman.java +++ b/Mage.Sets/src/mage/cards/i/ImmolationShaman.java @@ -70,6 +70,7 @@ class ImmolationShamanTriggeredAbility extends TriggeredAbilityImpl { ImmolationShamanTriggeredAbility() { super(Zone.BATTLEFIELD, new DamageTargetEffect(StaticValue.get(1), true, "that player", true)); + setTriggerPhrase("Whenever an opponent activates an ability of an artifact, creature, or land that isn't a mana ability, "); } private ImmolationShamanTriggeredAbility(final ImmolationShamanTriggeredAbility ability) { @@ -103,9 +104,4 @@ class ImmolationShamanTriggeredAbility extends TriggeredAbilityImpl { return false; } - @Override - public String getRule() { - return "Whenever an opponent activates an ability of an artifact, creature, or land on the battlefield, " + - "if it isn't a mana ability, {this} deals 1 damage to that player."; - } } diff --git a/Mage.Sets/src/mage/cards/i/ImperialHellkite.java b/Mage.Sets/src/mage/cards/i/ImperialHellkite.java index c4582594bff..d896db14b09 100644 --- a/Mage.Sets/src/mage/cards/i/ImperialHellkite.java +++ b/Mage.Sets/src/mage/cards/i/ImperialHellkite.java @@ -36,7 +36,7 @@ public final class ImperialHellkite extends CardImpl { // When Imperial Hellkite is turned face up, you may search your library for a Dragon card, reveal it, and put it into your hand. If you do, shuffle your library. Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, new FilterBySubtypeCard(SubType.DRAGON)), true); - effect.setText("you may search your library for a Dragon card, reveal it, and put it into your hand. If you do, shuffle"); + effect.setText("you may search your library for a Dragon card, reveal it, put it into your hand, then shuffle"); this.addAbility(new TurnedFaceUpSourceTriggeredAbility(effect)); } diff --git a/Mage.Sets/src/mage/cards/i/ImposterMech.java b/Mage.Sets/src/mage/cards/i/ImposterMech.java index 9db40b903ab..e9f72d35ea8 100644 --- a/Mage.Sets/src/mage/cards/i/ImposterMech.java +++ b/Mage.Sets/src/mage/cards/i/ImposterMech.java @@ -43,7 +43,7 @@ public final class ImposterMech extends CardImpl { this.addAbility(new EntersBattlefieldAbility( new CopyPermanentEffect(StaticFilters.FILTER_OPPONENTS_PERMANENT_A_CREATURE, applier), null, "You may have {this} enter the battlefield as a copy of a creature " + - "an opponent controls, except its a Vehicle artifact with crew 3 and it loses all other card types.", null + "an opponent controls, except it's a Vehicle artifact with crew 3 and it loses all other card types.", null )); // Crew 3 diff --git a/Mage.Sets/src/mage/cards/i/Infuse.java b/Mage.Sets/src/mage/cards/i/Infuse.java index 55133d5fb68..b8e5d11acf5 100644 --- a/Mage.Sets/src/mage/cards/i/Infuse.java +++ b/Mage.Sets/src/mage/cards/i/Infuse.java @@ -36,7 +36,8 @@ public final class Infuse extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(filter)); // Draw a card at the beginning of the next turn's upkeep. - this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility( + new DrawCardSourceControllerEffect(1)), false).concatBy("
")); } private Infuse(final Infuse card) { diff --git a/Mage.Sets/src/mage/cards/i/IvoryGargoyle.java b/Mage.Sets/src/mage/cards/i/IvoryGargoyle.java index d3169022f7a..da0d3c9565d 100644 --- a/Mage.Sets/src/mage/cards/i/IvoryGargoyle.java +++ b/Mage.Sets/src/mage/cards/i/IvoryGargoyle.java @@ -37,7 +37,7 @@ public final class IvoryGargoyle extends CardImpl { Ability ability = new DiesSourceTriggeredAbility(new CreateDelayedTriggeredAbilityEffect( new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnSourceFromGraveyardToBattlefieldEffect(false, true) .setText("return it to the battlefield under its owner's control at the beginning of the next end step") - ).setTriggerPhrase(""))); + ).setTriggerPhrase("")).setText("return it to the battlefield under its owner's control at the beginning of the next end step")); ability.addEffect(new SkipNextDrawStepControllerEffect().concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KravTheUnredeemed.java b/Mage.Sets/src/mage/cards/k/KravTheUnredeemed.java index 63fc817fd21..8f9fe851aea 100644 --- a/Mage.Sets/src/mage/cards/k/KravTheUnredeemed.java +++ b/Mage.Sets/src/mage/cards/k/KravTheUnredeemed.java @@ -44,7 +44,7 @@ public final class KravTheUnredeemed extends CardImpl { // {B}, Sacrifice X creatures: Target player draws X cards and gains X life. Put X +1/+1 counters on Krav, the Unredeemed. Ability ability = new SimpleActivatedAbility(new KravTheUnredeemedEffect(), new ManaCostsImpl<>("{B}")); ability.addTarget(new TargetPlayer()); - ability.addCost(new SacrificeXTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE)); + ability.addCost(new SacrificeXTargetCost(StaticFilters.FILTER_PERMANENT_CREATURES)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/l/LightningBlow.java b/Mage.Sets/src/mage/cards/l/LightningBlow.java index 6dc80e2a7fa..5648b52c76f 100644 --- a/Mage.Sets/src/mage/cards/l/LightningBlow.java +++ b/Mage.Sets/src/mage/cards/l/LightningBlow.java @@ -28,7 +28,7 @@ public final class LightningBlow extends CardImpl { // Draw a card at the beginning of the next turn's upkeep. this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect( - new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1), Duration.OneUse), false)); + new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1), Duration.OneUse), false).concatBy("
")); } private LightningBlow(final LightningBlow card) { diff --git a/Mage.Sets/src/mage/cards/m/MandateOfPeace.java b/Mage.Sets/src/mage/cards/m/MandateOfPeace.java index bb234bf6228..a61bdd26217 100644 --- a/Mage.Sets/src/mage/cards/m/MandateOfPeace.java +++ b/Mage.Sets/src/mage/cards/m/MandateOfPeace.java @@ -36,7 +36,7 @@ public final class MandateOfPeace extends CardImpl { this.getSpellAbility().addEffect(new MandateOfPeaceOpponentsCantCastSpellsEffect()); // End the combat phase. - this.getSpellAbility().addEffect(new MandateOfPeaceEndCombatEffect()); + this.getSpellAbility().addEffect(new MandateOfPeaceEndCombatEffect().concatBy("
")); } private MandateOfPeace(final MandateOfPeace card) { diff --git a/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java b/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java index dc65f3d3ba7..7714e910eee 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java @@ -39,7 +39,7 @@ public final class MinotaurIllusionist extends CardImpl { Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}"))); // {R}, Sacrifice Minotaur Illusionist: Minotaur Illusionist deals damage equal to its power to target creature. Effect effect = new DamageTargetEffect(new SourcePermanentPowerCount()); - effect.setText("{this} deals damage equal to its power to target creature."); + effect.setText("it deals damage equal to its power to target creature."); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{R}")); ability.addCost(new SacrificeSourceCost()); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java b/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java index 24d33ce19bd..bc0801e0905 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java +++ b/Mage.Sets/src/mage/cards/n/NeurokTransmuter.java @@ -45,11 +45,11 @@ public final class NeurokTransmuter extends CardImpl { this.addAbility(becomeArtifactAbility); // {U}: Until end of turn, target artifact creature becomes blue and isn't an artifact. Effect blueEffect = new BecomesColorTargetEffect(ObjectColor.BLUE, Duration.EndOfTurn); - blueEffect.setText("Until end of turn, target artifact creature becomes blue and "); + blueEffect.setText("Until end of turn, target artifact creature becomes blue"); Ability becomeBlueAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, blueEffect, new ManaCostsImpl<>("{U}")); becomeBlueAbility.addTarget(new TargetCreaturePermanent(filter)); Effect loseArtifactEffect = new LoseArtifactTypeTargetEffect(Duration.EndOfTurn); - loseArtifactEffect.setText("isn't an artifact"); + loseArtifactEffect.setText("and isn't an artifact"); becomeBlueAbility.addEffect(loseArtifactEffect); this.addAbility(becomeBlueAbility); } diff --git a/Mage.Sets/src/mage/cards/o/OpenTheGates.java b/Mage.Sets/src/mage/cards/o/OpenTheGates.java index a30e7575ad0..ddc7595fbe1 100644 --- a/Mage.Sets/src/mage/cards/o/OpenTheGates.java +++ b/Mage.Sets/src/mage/cards/o/OpenTheGates.java @@ -17,7 +17,7 @@ import java.util.UUID; */ public final class OpenTheGates extends CardImpl { - private static final FilterCard filter = new FilterCard("a basic land card or a Gate card"); + private static final FilterCard filter = new FilterCard("a basic land card or Gate card"); static { filter.add(Predicates.or( diff --git a/Mage.Sets/src/mage/cards/p/PrimalAmulet.java b/Mage.Sets/src/mage/cards/p/PrimalAmulet.java index 131fd9103f8..5dbd7ce2ce2 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalAmulet.java +++ b/Mage.Sets/src/mage/cards/p/PrimalAmulet.java @@ -1,4 +1,3 @@ - package mage.cards.p; import mage.abilities.Ability; @@ -15,7 +14,7 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterCard; -import mage.filter.common.FilterInstantOrSorcerySpell; +import mage.filter.StaticFilters; import mage.filter.predicate.Predicates; import mage.game.Game; import mage.game.permanent.Permanent; @@ -46,7 +45,7 @@ public final class PrimalAmulet extends CardImpl { // Whenever you cast an instant or sorcery spell, put a charge counter on Primal Amulet. Then if there are four or more charge counters on it, you may remove those counters and transform it. this.addAbility(new TransformAbility()); - this.addAbility(new SpellCastControllerTriggeredAbility(new PrimalAmuletEffect(), new FilterInstantOrSorcerySpell(), false)); + this.addAbility(new SpellCastControllerTriggeredAbility(new PrimalAmuletEffect(), StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false)); } private PrimalAmulet(final PrimalAmulet card) { diff --git a/Mage.Sets/src/mage/cards/p/PrimordialMist.java b/Mage.Sets/src/mage/cards/p/PrimordialMist.java index f373b738209..70ace77575e 100644 --- a/Mage.Sets/src/mage/cards/p/PrimordialMist.java +++ b/Mage.Sets/src/mage/cards/p/PrimordialMist.java @@ -68,7 +68,7 @@ class PrimordialMistCost extends CostImpl { public PrimordialMistCost(TargetPermanent target) { this.target = target; - this.text = "Exile a face-down permanent you control face-up"; + this.text = "Exile a face-down permanent you control face up"; } private PrimordialMistCost(final PrimordialMistCost cost) { @@ -121,7 +121,7 @@ class PrimordialMistCastFromExileEffect extends AsThoughEffectImpl { PrimordialMistCastFromExileEffect() { super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); - staticText = "Exile a face-down permanent you control face up: You may play that card this turn."; + staticText = "You may play that card this turn."; } private PrimordialMistCastFromExileEffect(final PrimordialMistCastFromExileEffect effect) { diff --git a/Mage.Sets/src/mage/cards/r/RighteousAuthority.java b/Mage.Sets/src/mage/cards/r/RighteousAuthority.java index f18d616596e..0e5e7799fd1 100644 --- a/Mage.Sets/src/mage/cards/r/RighteousAuthority.java +++ b/Mage.Sets/src/mage/cards/r/RighteousAuthority.java @@ -44,7 +44,8 @@ public final class RighteousAuthority extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(boost, boost, Duration.WhileOnBattlefield))); // At the beginning of the draw step of enchanted creature's controller, that player draws an additional card. - this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1), TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1) + .setText("that player draws an additional card"), TargetController.CONTROLLER_ATTACHED_TO, false)); } private RighteousAuthority(final RighteousAuthority card) { diff --git a/Mage.Sets/src/mage/cards/r/RingOfMaruf.java b/Mage.Sets/src/mage/cards/r/RingOfMaruf.java index db21908ebcf..25fddf0d9f2 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfMaruf.java +++ b/Mage.Sets/src/mage/cards/r/RingOfMaruf.java @@ -51,7 +51,7 @@ class RingOfMarufEffect extends ReplacementEffectImpl { RingOfMarufEffect() { super(Duration.EndOfTurn, Outcome.Benefit); - staticText = "The next time you would draw a card this turn, instead choose a card you own from outside the game and put it into your hand."; + staticText = "The next time you would draw a card this turn, instead put a card you own from outside the game into your hand"; } private RingOfMarufEffect(final RingOfMarufEffect effect) { diff --git a/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java b/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java index 289dd863fc6..9ea06d18459 100644 --- a/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java +++ b/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java @@ -33,7 +33,7 @@ public final class TheTabernacleAtPendrellVale extends CardImpl { new InfoEffect(""), new DestroySourceEffect(), new GenericManaCost(1) ).setText("destroy this creature unless you pay {1}"), TargetController.YOU, false - ), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES) + ), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES) )); } diff --git a/Mage.Sets/src/mage/cards/t/ThingInTheIce.java b/Mage.Sets/src/mage/cards/t/ThingInTheIce.java index 20a03323497..fea3d82c6b2 100644 --- a/Mage.Sets/src/mage/cards/t/ThingInTheIce.java +++ b/Mage.Sets/src/mage/cards/t/ThingInTheIce.java @@ -58,7 +58,7 @@ public final class ThingInTheIce extends CardImpl { effect.setText("remove an ice counter from {this}"); Ability ability = new SpellCastControllerTriggeredAbility(effect, filter, false); effect = new ConditionalOneShotEffect(new TransformSourceEffect(), new SourceHasCounterCondition(CounterType.ICE, 0, 0), - "if there are no ice counters on it, transform it"); + "Then if it has no ice counters on it, transform it"); ability.addEffect(effect); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/u/UrzasBauble.java b/Mage.Sets/src/mage/cards/u/UrzasBauble.java index 84b9ae16c10..2dc4b4b79f1 100644 --- a/Mage.Sets/src/mage/cards/u/UrzasBauble.java +++ b/Mage.Sets/src/mage/cards/u/UrzasBauble.java @@ -35,7 +35,7 @@ public final class UrzasBauble extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LookAtRandomCardEffect(), new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); ability.addTarget(new TargetPlayer()); - ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1, "you")), false)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/v/Venom.java b/Mage.Sets/src/mage/cards/v/Venom.java index d01d9dd343b..4861922dbb8 100644 --- a/Mage.Sets/src/mage/cards/v/Venom.java +++ b/Mage.Sets/src/mage/cards/v/Venom.java @@ -42,7 +42,7 @@ public final class Venom extends CardImpl { // Whenever enchanted creature blocks or becomes blocked by a non-Wall creature, destroy the other creature at end of combat. Effect effect = new CreateDelayedTriggeredAbilityEffect( new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect()), true); - effect.setText("destroy that creature at end of combat"); + effect.setText("destroy the other creature at end of combat"); this.addAbility(new VenomTriggeredAbility(effect)); } diff --git a/Mage.Sets/src/mage/cards/v/VileRedeemer.java b/Mage.Sets/src/mage/cards/v/VileRedeemer.java index fc390ec7930..f4713a13b44 100644 --- a/Mage.Sets/src/mage/cards/v/VileRedeemer.java +++ b/Mage.Sets/src/mage/cards/v/VileRedeemer.java @@ -63,7 +63,7 @@ class VileRedeemerEffect extends OneShotEffect { VileRedeemerEffect() { super(Outcome.PutCreatureInPlay); - this.staticText = "create a 1/1 colorless Eldrazi Scion creature token for each nontoken creature that died under your control this turn. They have \"Sacrifice this creature: Add {C}"; + this.staticText = "create a 1/1 colorless Eldrazi Scion creature token for each nontoken creature that died under your control this turn. Those tokens have \"Sacrifice this creature: Add {C}.\""; } private VileRedeemerEffect(final VileRedeemerEffect effect) { diff --git a/Mage.Sets/src/mage/cards/w/WillowPriestess.java b/Mage.Sets/src/mage/cards/w/WillowPriestess.java index 68872c50106..40e46cf8c53 100644 --- a/Mage.Sets/src/mage/cards/w/WillowPriestess.java +++ b/Mage.Sets/src/mage/cards/w/WillowPriestess.java @@ -1,4 +1,3 @@ - package mage.cards.w; import java.util.UUID; @@ -29,7 +28,7 @@ import mage.target.TargetPermanent; */ public final class WillowPriestess extends CardImpl { - private static final FilterPermanentCard filter = new FilterPermanentCard("Faerie"); + private static final FilterPermanentCard filter = new FilterPermanentCard("a Faerie permanent card"); private static final FilterCreaturePermanent greenCreature = new FilterCreaturePermanent("green creature"); static { diff --git a/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java b/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java index 2794a03b014..960f837c52b 100644 --- a/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java +++ b/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java @@ -26,7 +26,7 @@ import mage.target.common.TargetCardInYourGraveyard; */ public final class XiahouDunTheOneEyed extends CardImpl { - private static final FilterCard filter = new FilterCard("a black card"); + private static final FilterCard filter = new FilterCard("black card"); static { filter.add(new ColorPredicate(ObjectColor.BLACK)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/RedirectDamageFromSourceToTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RedirectDamageFromSourceToTargetEffect.java index 4df947e8761..c9feeccd4fc 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/RedirectDamageFromSourceToTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/RedirectDamageFromSourceToTargetEffect.java @@ -1,6 +1,7 @@ package mage.abilities.effects.common; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.RedirectionEffect; import mage.constants.Duration; import mage.game.Game; @@ -14,7 +15,6 @@ public class RedirectDamageFromSourceToTargetEffect extends RedirectionEffect { public RedirectDamageFromSourceToTargetEffect(Duration duration, int amountToRedirect, UsageType usageType) { super(duration, amountToRedirect, usageType); - staticText = "The next " + amountToRedirect + " damage that would be dealt to {this} this turn is dealt to target creature you control instead."; } protected RedirectDamageFromSourceToTargetEffect(final RedirectDamageFromSourceToTargetEffect effect) { @@ -39,4 +39,14 @@ public class RedirectDamageFromSourceToTargetEffect extends RedirectionEffect { } return false; } + + @Override + public String getText(Mode mode) { + if (staticText != null && !staticText.isEmpty()) { + return staticText; + } + return "the next " + amountToRedirect + " damage that would be dealt to {this} this turn is dealt to " + + getTargetPointer().describeTargets(mode.getTargets(), "that creature") + + " instead"; + } } diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziSliverToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziSliverToken.java index f79d5a6b0ef..703b7aa974a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziSliverToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziSliverToken.java @@ -12,7 +12,7 @@ import mage.constants.Zone; public final class EldraziSliverToken extends TokenImpl { public EldraziSliverToken() { - super("Eldrazi Sliver Token", "1/1 colorless Eldrazi Sliver creature token with \"Sacrifice this creature: Add {C}.\""); + super("Eldrazi Sliver Token", "1/1 colorless Eldrazi Sliver creature token. It has \"Sacrifice this creature: Add {C}.\""); cardType.add(CardType.CREATURE); subtype.add(SubType.ELDRAZI); subtype.add(SubType.SLIVER); diff --git a/Mage/src/main/java/mage/util/CardUtil.java b/Mage/src/main/java/mage/util/CardUtil.java index af9fb494478..8298764ec4b 100644 --- a/Mage/src/main/java/mage/util/CardUtil.java +++ b/Mage/src/main/java/mage/util/CardUtil.java @@ -986,6 +986,7 @@ public final class CardUtil { || text.startsWith("an ") || text.startsWith("another ") || text.startsWith("any ") + || text.startsWith("{this} ") || text.startsWith("one ")) { return text; }