diff --git a/Mage.Sets/src/mage/cards/a/AlabornZealot.java b/Mage.Sets/src/mage/cards/a/AlabornZealot.java index 9c84b4a111f..e9055f4c35c 100644 --- a/Mage.Sets/src/mage/cards/a/AlabornZealot.java +++ b/Mage.Sets/src/mage/cards/a/AlabornZealot.java @@ -27,9 +27,9 @@ public final class AlabornZealot extends CardImpl { // When Alaborn Zealot blocks a creature, destroy that creature and Alaborn Zealot. TriggeredAbility ability = new BlocksCreatureTriggeredAbility( - new DestroyTargetEffect().setText("destroy that creature") + new DestroyTargetEffect().setText("destroy both") ); - ability.addEffect(new DestroySourceEffect().setText("and {this}")); + ability.addEffect(new DestroySourceEffect().setText(" creatures")); ability.setTriggerPhrase("When {this} blocks a creature, "); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/Blight.java b/Mage.Sets/src/mage/cards/b/Blight.java index f38512ea5b8..afb7d151ab3 100644 --- a/Mage.Sets/src/mage/cards/b/Blight.java +++ b/Mage.Sets/src/mage/cards/b/Blight.java @@ -1,4 +1,3 @@ - package mage.cards.b; import java.util.UUID; @@ -34,7 +33,9 @@ public final class Blight extends CardImpl { this.addAbility(ability); // When enchanted land becomes tapped, destroy it. - this.addAbility(new BecomesTappedAttachedTriggeredAbility(new DestroyAttachedToEffect("it"), "enchanted land")); + this.addAbility(new BecomesTappedAttachedTriggeredAbility( + new DestroyAttachedToEffect("it"), "enchanted land" + ).setTriggerPhrase("When enchanted land becomes tapped, ")); } private Blight(final Blight card) { diff --git a/Mage.Sets/src/mage/cards/d/DredgingClaw.java b/Mage.Sets/src/mage/cards/d/DredgingClaw.java index 10daded1f15..ffe7a8fee63 100644 --- a/Mage.Sets/src/mage/cards/d/DredgingClaw.java +++ b/Mage.Sets/src/mage/cards/d/DredgingClaw.java @@ -82,6 +82,6 @@ class DredgingClawTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "Whenever a creature enters the battlefield from your graveyard, you may attach {this} to it."; + return "Whenever a creature enters from your graveyard, you may attach {this} to it."; } } diff --git a/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java b/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java index 7e434ef6d0c..fb8723905e7 100644 --- a/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java +++ b/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java @@ -60,7 +60,7 @@ class FavorOfTheMightyEffect extends ContinuousEffectImpl { FavorOfTheMightyEffect() { super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); - this.staticText = "Each creature with the highest mana value has protection from all colors."; + this.staticText = "Each creature with the greatest mana value has protection from each color."; } private FavorOfTheMightyEffect(final FavorOfTheMightyEffect effect) { diff --git a/Mage.Sets/src/mage/cards/h/HakodaSelflessCommander.java b/Mage.Sets/src/mage/cards/h/HakodaSelflessCommander.java index 09523f531aa..1f16dd1a827 100644 --- a/Mage.Sets/src/mage/cards/h/HakodaSelflessCommander.java +++ b/Mage.Sets/src/mage/cards/h/HakodaSelflessCommander.java @@ -27,7 +27,7 @@ import java.util.UUID; */ public final class HakodaSelflessCommander extends CardImpl { - private static final FilterCard filter = new FilterCard(SubType.ALLY, "Ally spells"); + private static final FilterCard filter = new FilterCard(SubType.ALLY, "cast Ally spells"); public HakodaSelflessCommander(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); diff --git a/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java b/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java index 597a57865f0..91a74916cdd 100644 --- a/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java +++ b/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java @@ -29,8 +29,8 @@ public final class KinjallisSunwing extends CardImpl { // Creatures your opponents control enter the battlefield tapped. this.addAbility(new SimpleStaticAbility(new PermanentsEnterBattlefieldTappedEffect( - StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE - ).setText("creatures your opponents control enter the battlefield tapped"))); + StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURES + ))); } private KinjallisSunwing(final KinjallisSunwing card) { diff --git a/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java b/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java index 63ecd3d24ee..289b061262b 100644 --- a/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java +++ b/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java @@ -51,7 +51,7 @@ class MishrasWarMachineEffect extends OneShotEffect { MishrasWarMachineEffect() { super(Outcome.Sacrifice); - staticText = "{this} deals 3 damage to you unless you discard a card. If {this} deals damage to you this way, tap it"; + staticText = "{this} deals 3 damage to you unless you discard a card. If it deals damage to you this way, tap it"; } private MishrasWarMachineEffect(final MishrasWarMachineEffect effect) { diff --git a/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java b/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java index e4829436d87..6f5d9e6012e 100644 --- a/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java +++ b/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java @@ -46,7 +46,7 @@ class MisthollowGriffinPlayEffect extends AsThoughEffectImpl { MisthollowGriffinPlayEffect() { super(AsThoughEffectType.CAST_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfGame, Outcome.Benefit); - staticText = "You may cast {this} from exile"; + staticText = "You may cast this card from exile"; } private MisthollowGriffinPlayEffect(final MisthollowGriffinPlayEffect effect) { diff --git a/Mage.Sets/src/mage/cards/m/MoxDiamond.java b/Mage.Sets/src/mage/cards/m/MoxDiamond.java index 549f85f7e2b..b9a17dc1666 100644 --- a/Mage.Sets/src/mage/cards/m/MoxDiamond.java +++ b/Mage.Sets/src/mage/cards/m/MoxDiamond.java @@ -50,7 +50,7 @@ class MoxDiamondReplacementEffect extends ReplacementEffectImpl { MoxDiamondReplacementEffect() { super(Duration.WhileOnBattlefield, Outcome.Exile); - staticText = "If {this} would enter the battlefield, you may discard a land card instead. If you do, put {this} onto the battlefield. If you don't, put it into its owner's graveyard"; + staticText = "If {this} would enter, you may discard a land card instead. If you do, put {this} onto the battlefield. If you don't, put it into its owner's graveyard"; } private MoxDiamondReplacementEffect(final MoxDiamondReplacementEffect effect) { diff --git a/Mage.Sets/src/mage/cards/p/PillarLaunch.java b/Mage.Sets/src/mage/cards/p/PillarLaunch.java index 53beb87d8d7..310d2ddc829 100644 --- a/Mage.Sets/src/mage/cards/p/PillarLaunch.java +++ b/Mage.Sets/src/mage/cards/p/PillarLaunch.java @@ -21,7 +21,7 @@ public final class PillarLaunch extends CardImpl { // Target creature gets +2/+2 and gains reach until end of turn. Untap it. this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2).setText("target creature gets +2/+2")); - this.getSpellAbility().addEffect(new GainAbilityTargetEffect(ReachAbility.getInstance()).setText("and gain reach until end of turn")); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(ReachAbility.getInstance()).setText("and gains reach until end of turn")); this.getSpellAbility().addEffect(new UntapTargetEffect("Untap it")); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } diff --git a/Mage.Sets/src/mage/cards/p/PincerSpider.java b/Mage.Sets/src/mage/cards/p/PincerSpider.java index c7ac7c7f20f..1920d9ccd57 100644 --- a/Mage.Sets/src/mage/cards/p/PincerSpider.java +++ b/Mage.Sets/src/mage/cards/p/PincerSpider.java @@ -35,10 +35,10 @@ public final class PincerSpider extends CardImpl { this.addAbility(ReachAbility.getInstance()); // If Pincer Spider was kicked, it enters with a +1/+1 counter on it. - Ability ability = new EntersBattlefieldAbility( - new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), KickedCondition.ONCE, ""), - "If {this} was kicked, it enters with a +1/+1 counter on it."); - this.addAbility(ability); + this.addAbility(new EntersBattlefieldAbility( + new AddCountersSourceEffect(CounterType.P1P1.createInstance()), KickedCondition.ONCE, + "If {this} was kicked, it enters with a +1/+1 counter on it.", "" + )); } diff --git a/Mage.Sets/src/mage/cards/p/PrisonBarricade.java b/Mage.Sets/src/mage/cards/p/PrisonBarricade.java index c24ca483081..505ff2d4fd7 100644 --- a/Mage.Sets/src/mage/cards/p/PrisonBarricade.java +++ b/Mage.Sets/src/mage/cards/p/PrisonBarricade.java @@ -38,7 +38,7 @@ public final class PrisonBarricade extends CardImpl { // If Prison Barricade was kicked, it enters with a +1/+1 counter on it and with "Prison Barricade can attack as though it didn't have defender." Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), - KickedCondition.ONCE, "If {this} was kicked, it enters with a +1/+1 counter on it and with \"{this} can attack as though it didn't have defender.\"", ""); + KickedCondition.ONCE, "If {this} was kicked, it enters with a +1/+1 counter on it and with \"This creature can attack as though it didn't have defender.\"", ""); ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RadiantGrace.java b/Mage.Sets/src/mage/cards/r/RadiantGrace.java index 063986bb4aa..b725e33f23a 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantGrace.java +++ b/Mage.Sets/src/mage/cards/r/RadiantGrace.java @@ -69,7 +69,7 @@ class RadiantGraceEffect extends OneShotEffect { RadiantGraceEffect() { super(Outcome.Benefit); - staticText = "return {this} to the battlefield transformed under your control attached to target opponent"; + staticText = "return this card to the battlefield transformed under your control attached to target opponent"; } private RadiantGraceEffect(final RadiantGraceEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/ScorchingLava.java b/Mage.Sets/src/mage/cards/s/ScorchingLava.java index dd3143ad363..a177e730c42 100644 --- a/Mage.Sets/src/mage/cards/s/ScorchingLava.java +++ b/Mage.Sets/src/mage/cards/s/ScorchingLava.java @@ -31,7 +31,7 @@ public final class ScorchingLava extends CardImpl { // that creature can't be regenerated this turn and if it would die this turn, exile it instead. this.getSpellAbility().addEffect(new DamageTargetEffect(2)); this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect( - new CantRegenerateTargetEffect(Duration.EndOfTurn, "If {this} was kicked, that creature"), + new CantRegenerateTargetEffect(Duration.EndOfTurn, "If this spell was kicked, that creature"), new LockedInCondition(KickedCondition.ONCE))); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new ExileTargetIfDiesEffect(), diff --git a/Mage.Sets/src/mage/cards/s/SpectrumSentinel.java b/Mage.Sets/src/mage/cards/s/SpectrumSentinel.java index 790391b7c5c..ff4bbfd94c9 100644 --- a/Mage.Sets/src/mage/cards/s/SpectrumSentinel.java +++ b/Mage.Sets/src/mage/cards/s/SpectrumSentinel.java @@ -44,7 +44,7 @@ public final class SpectrumSentinel extends CardImpl { // Whenever a nonbasic land enters the battlefield under an opponent's control, you gain 1 life. this.addAbility(new EntersBattlefieldAllTriggeredAbility(new GainLifeEffect(1), filter2) - .setTriggerPhrase("Whenever a nonbasic land enters the battlefield under an opponent's control, ")); + .setTriggerPhrase("Whenever a nonbasic land an opponent controls enters, ")); } private SpectrumSentinel(final SpectrumSentinel card) { diff --git a/Mage.Sets/src/mage/cards/s/StingerbackTerror.java b/Mage.Sets/src/mage/cards/s/StingerbackTerror.java index 78a699c7efd..c66d7ea6e9e 100644 --- a/Mage.Sets/src/mage/cards/s/StingerbackTerror.java +++ b/Mage.Sets/src/mage/cards/s/StingerbackTerror.java @@ -22,7 +22,7 @@ import java.util.UUID; */ public final class StingerbackTerror extends CardImpl { - private static final DynamicValue xValue = new SignInversionDynamicValue(CardsInControllerHandCount.ANY); + private static final DynamicValue xValue = new SignInversionDynamicValue(CardsInControllerHandCount.ANY_SINGULAR); public StingerbackTerror(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); diff --git a/Mage.Sets/src/mage/cards/t/TheFourthDoctor.java b/Mage.Sets/src/mage/cards/t/TheFourthDoctor.java index 1ed5a9e388d..6332f639c3a 100644 --- a/Mage.Sets/src/mage/cards/t/TheFourthDoctor.java +++ b/Mage.Sets/src/mage/cards/t/TheFourthDoctor.java @@ -56,7 +56,7 @@ public final class TheFourthDoctor extends CardImpl { null, true )) - .withFlavorWord("Would You Like A…?"), + .withFlavorWord("Would You Like A...?"), new TheFourthDoctorWatcher() ); this.addAbility(new TheFourthDoctorTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/t/TritonWavebreaker.java b/Mage.Sets/src/mage/cards/t/TritonWavebreaker.java index bdee57e59d3..b26046ee80f 100644 --- a/Mage.Sets/src/mage/cards/t/TritonWavebreaker.java +++ b/Mage.Sets/src/mage/cards/t/TritonWavebreaker.java @@ -42,7 +42,7 @@ public final class TritonWavebreaker extends CardImpl { // As long as Triton Wavebreaker is a creature, it has prowess. this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( new GainAbilitySourceEffect(new ProwessAbility(), Duration.WhileOnBattlefield), - condition, "as long as {this} is a creature, it has prowess" + condition, "as long as this permanent is a creature, it has prowess" ))); // Enchanted creature gets +1/+1 and has prowess. diff --git a/Mage.Sets/src/mage/cards/t/TurfWound.java b/Mage.Sets/src/mage/cards/t/TurfWound.java index fe9f47b0127..8ee45353c9f 100644 --- a/Mage.Sets/src/mage/cards/t/TurfWound.java +++ b/Mage.Sets/src/mage/cards/t/TurfWound.java @@ -46,7 +46,7 @@ class TurfWoundEffect extends ContinuousRuleModifyingEffectImpl { TurfWoundEffect() { super(Duration.EndOfTurn, Outcome.Detriment); - staticText = "Target player can't play land cards this turn"; + staticText = "Target player can't play lands this turn"; } private TurfWoundEffect(final TurfWoundEffect effect) { @@ -74,10 +74,7 @@ class TurfWoundEffect extends ContinuousRuleModifyingEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (event.getPlayerId().equals(source.getFirstTarget())) { - return true; - } - return false; + return event.getPlayerId().equals(source.getFirstTarget()); } } diff --git a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java index b3e20a2d92b..171669368c5 100644 --- a/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java +++ b/Mage/src/main/java/mage/abilities/TriggeredAbilityImpl.java @@ -333,7 +333,7 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge } } if (replaceRuleText && triggerPhrase != null) { - superRule = superRule.replaceFirst("^((?:you may )?sacrifice |(put|remove) [^ ]+ [^ ]+ counters? (on|from) |return |transform |untap |regenerate |attach )?\\{this\\}", "$1it"); + superRule = superRule.replaceFirst("^((?:you may )?sacrifice |(put|remove) [^ ]+ [^ ]+ counters? (on|from) |return |transform |untap |regenerate |attach |exile )?\\{this\\}", "$1it"); } sb.append(superRule); if (triggerLimitEachTurn != Integer.MAX_VALUE) { diff --git a/Mage/src/main/java/mage/abilities/common/WhileSearchingPlayFromLibraryAbility.java b/Mage/src/main/java/mage/abilities/common/WhileSearchingPlayFromLibraryAbility.java index 193f731548c..7cdf9572337 100644 --- a/Mage/src/main/java/mage/abilities/common/WhileSearchingPlayFromLibraryAbility.java +++ b/Mage/src/main/java/mage/abilities/common/WhileSearchingPlayFromLibraryAbility.java @@ -30,7 +30,7 @@ public class WhileSearchingPlayFromLibraryAbility extends StaticAbility implemen @Override public String getRule() { - return "While you're searching your library, you may cast {this} from your library."; + return "While you're searching your library, you may cast this card from your library."; } @Override diff --git a/Mage/src/main/java/mage/abilities/common/delayed/CopyNextSpellDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/CopyNextSpellDelayedTriggeredAbility.java index 8c486ffedce..569de98f0d4 100644 --- a/Mage/src/main/java/mage/abilities/common/delayed/CopyNextSpellDelayedTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/delayed/CopyNextSpellDelayedTriggeredAbility.java @@ -10,7 +10,7 @@ import mage.filter.StaticFilters; public class CopyNextSpellDelayedTriggeredAbility extends CastNextSpellDelayedTriggeredAbility { public CopyNextSpellDelayedTriggeredAbility() { - this(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY); + this(StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY); } public CopyNextSpellDelayedTriggeredAbility(FilterSpell filter) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/CanBlockAsThoughtItHadShadowEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CanBlockAsThoughtItHadShadowEffect.java index 42dc538fab4..9fba0b76c05 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CanBlockAsThoughtItHadShadowEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CanBlockAsThoughtItHadShadowEffect.java @@ -13,7 +13,7 @@ public class CanBlockAsThoughtItHadShadowEffect extends AsThoughEffectImpl { public CanBlockAsThoughtItHadShadowEffect(Duration duration) { super(AsThoughEffectType.BLOCK_SHADOW, duration, Outcome.Benefit); - staticText = "{this} can block creatures with shadow as though {this} had shadow"; + staticText = "{this} can block creatures with shadow as though it had shadow"; } protected CanBlockAsThoughtItHadShadowEffect(final CanBlockAsThoughtItHadShadowEffect effect) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceWhileControlsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceWhileControlsEffect.java index f77dbf313c0..381b597a82a 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceWhileControlsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BoostSourceWhileControlsEffect.java @@ -29,8 +29,7 @@ public class BoostSourceWhileControlsEffect extends WhileConditionContinuousEffe staticText = "{this} gets " + CardUtil.getBoostCountAsStr(power, toughness) + " as long as you control " - + (filterDescription.startsWith("an ") ? "" : "a ") - + filterDescription; + + CardUtil.addArticle(filterDescription); } protected BoostSourceWhileControlsEffect(final BoostSourceWhileControlsEffect effect) { diff --git a/Mage/src/main/java/mage/game/permanent/token/BananaToken.java b/Mage/src/main/java/mage/game/permanent/token/BananaToken.java index ea238a15cfe..10c37377784 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BananaToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BananaToken.java @@ -13,7 +13,7 @@ import mage.constants.CardType; public final class BananaToken extends TokenImpl { public BananaToken() { - super("Banana", "colorless artifact token named Banana with \"{T}, Sacrifice this artifact: Add {R} or {G}. You gain 2 life.\""); + super("Banana", "colorless artifact token named Banana with \"{T}, Sacrifice this token: Add {R} or {G}. You gain 2 life.\""); cardType.add(CardType.ARTIFACT); // {T}, Sacrifice this artifact: Add {R} or {G}. You gain 2 life. @@ -22,7 +22,7 @@ public final class BananaToken extends TokenImpl { ability.addEffect(new GainLifeEffect(2)); this.addAbility(ability); ability = new GreenManaAbility(); - ability.addCost(new SacrificeSourceCost().setText("sacrifice this artifact")); + ability.addCost(new SacrificeSourceCost().setText("sacrifice this token")); ability.addEffect(new GainLifeEffect(2)); this.addAbility(ability); }