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;
}