diff --git a/Mage.Sets/src/mage/cards/a/AngelOfVitality.java b/Mage.Sets/src/mage/cards/a/AngelOfVitality.java index 80694bb7e0..f18ef3fa56 100644 --- a/Mage.Sets/src/mage/cards/a/AngelOfVitality.java +++ b/Mage.Sets/src/mage/cards/a/AngelOfVitality.java @@ -59,7 +59,7 @@ class AngelOfVitalityEffect extends ReplacementEffectImpl { AngelOfVitalityEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit); - staticText = "If you would gain life, you gain that much life plus one instead"; + staticText = "If you would gain life, you gain that much life plus 1 instead"; } private AngelOfVitalityEffect(final AngelOfVitalityEffect effect) { diff --git a/Mage.Sets/src/mage/cards/a/Anticipate.java b/Mage.Sets/src/mage/cards/a/Anticipate.java index 3610f73c96..a1b4827f5d 100644 --- a/Mage.Sets/src/mage/cards/a/Anticipate.java +++ b/Mage.Sets/src/mage/cards/a/Anticipate.java @@ -1,27 +1,29 @@ - package mage.cards.a; -import java.util.UUID; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import mage.filter.FilterCard; +import mage.filter.StaticFilters; + +import java.util.UUID; /** - * * @author fireshoes */ public final class Anticipate extends CardImpl { public Anticipate(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); // Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. - this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect - (StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false)); + this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( + StaticValue.get(3), false, StaticValue.get(1), + StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false + ).setText("look at the top three cards of your library. " + + "Put one of them into your hand and the rest on the bottom of your library in any order")); } public Anticipate(final Anticipate card) { diff --git a/Mage.Sets/src/mage/cards/c/CavalierOfNight.java b/Mage.Sets/src/mage/cards/c/CavalierOfNight.java index 2020c78e3d..11b65d7004 100644 --- a/Mage.Sets/src/mage/cards/c/CavalierOfNight.java +++ b/Mage.Sets/src/mage/cards/c/CavalierOfNight.java @@ -55,12 +55,12 @@ public final class CavalierOfNight extends CardImpl { // When Cavalier of Night enters the battlefield, you may sacrifice another creature. When you do, destroy target creature an opponent controls. ReflexiveTriggeredAbility triggeredAbility = new ReflexiveTriggeredAbility( - new DestroyTargetEffect(), false, "Sacrifice a creature?" + new DestroyTargetEffect(), false, "destroy target creature an opponent controls" ); triggeredAbility.addTarget(new TargetOpponentsCreaturePermanent()); this.addAbility(new EntersBattlefieldTriggeredAbility(new DoWhenCostPaid( triggeredAbility, new SacrificeTargetCost(new TargetControlledPermanent(filter)), - "destroy target creature an opponent controls" + "Sacrifice a creature?" ))); // When Cavalier of Night dies, return target creature card with converted mana cost 3 or less from your graveyard to the battlefield. diff --git a/Mage.Sets/src/mage/cards/c/ChandraFlamesFury.java b/Mage.Sets/src/mage/cards/c/ChandraFlamesFury.java index fe99b94fa5..13f06164bf 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraFlamesFury.java +++ b/Mage.Sets/src/mage/cards/c/ChandraFlamesFury.java @@ -67,7 +67,7 @@ class ChandraFlamesFuryEffect extends OneShotEffect { ChandraFlamesFuryEffect() { super(Outcome.Benefit); - staticText = "deals 4 damage to target creature and 2 damage to that creature's controller."; + staticText = "{this} deals 4 damage to target creature and 2 damage to that creature's controller."; } private ChandraFlamesFuryEffect(final ChandraFlamesFuryEffect effect) { diff --git a/Mage.Sets/src/mage/cards/i/IconOfAncestry.java b/Mage.Sets/src/mage/cards/i/IconOfAncestry.java index a65420d527..a9641a8b57 100644 --- a/Mage.Sets/src/mage/cards/i/IconOfAncestry.java +++ b/Mage.Sets/src/mage/cards/i/IconOfAncestry.java @@ -1,6 +1,5 @@ package mage.cards.i; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.AsEntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; @@ -19,6 +18,8 @@ import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ChosenSubtypePredicate; import mage.game.Game; +import java.util.UUID; + /** * @author TheElk801 */ @@ -39,14 +40,13 @@ public final class IconOfAncestry extends CardImpl { this.addAbility(new AsEntersBattlefieldAbility(new ChooseCreatureTypeEffect(Outcome.BoostCreature))); // Creatures you control of the chosen type get +1/+1. - this.addAbility(new SimpleStaticAbility( - new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false) - )); + this.addAbility(new SimpleStaticAbility(new BoostAllEffect( + 1, 1, Duration.WhileOnBattlefield, filter, false + ))); // {3}, {T}: Look at the top three cards of your library. You may reveal a creature card of the // chosen type from among them and put it into your hand. Put the rest on the bottom of your library in a random order. - FilterCreatureCard filter2 = new FilterCreatureCard("creature card that matches the chosen subtype"); - Ability ability = new SimpleActivatedAbility(new IconOfAncestryEffect(filter2), new GenericManaCost(3)); + Ability ability = new SimpleActivatedAbility(new IconOfAncestryEffect(), new GenericManaCost(3)); ability.addCost(new TapSourceCost()); this.addAbility(ability); } @@ -63,22 +63,26 @@ public final class IconOfAncestry extends CardImpl { class IconOfAncestryEffect extends LookLibraryAndPickControllerEffect { - public IconOfAncestryEffect(FilterCreatureCard filter) { - super(StaticValue.get(3), false, StaticValue.get(1), filter, Zone.LIBRARY, false, - true, false, Zone.HAND, true, false, false); + public IconOfAncestryEffect() { + super(StaticValue.get(3), false, StaticValue.get(1), new FilterCreatureCard( + "creature card that matches the chosen subtype" + ), Zone.LIBRARY, false, true, false, + Zone.HAND, true, false, false); this.setOutcome(Outcome.AIDontUseIt); this.setBackInRandomOrder(true); + staticText = "look at the top three cards of your library. " + + "You may reveal a creature card of the chosen type from among them and put it into your hand. " + + "Put the rest on the bottom of your library in a random order"; } @Override public boolean apply(Game game, Ability source) { SubType subtype = (SubType) game.getState().getValue(source.getSourceId() + "_type"); - if (subtype != null) { - filter.add(subtype.getPredicate()); - filter.setMessage("creature card of subtype " + subtype.toString()); - } else { + if (subtype == null) { return false; } + filter.add(subtype.getPredicate()); + filter.setMessage(subtype.toString() + " creature card"); return super.apply(game, source); } diff --git a/Mage.Sets/src/mage/cards/v/VivienNaturesAvenger.java b/Mage.Sets/src/mage/cards/v/VivienNaturesAvenger.java index c59eabac68..09e97030e5 100644 --- a/Mage.Sets/src/mage/cards/v/VivienNaturesAvenger.java +++ b/Mage.Sets/src/mage/cards/v/VivienNaturesAvenger.java @@ -38,7 +38,7 @@ public final class VivienNaturesAvenger extends CardImpl { // −1: Reveal cards from the top of your library until you reveal a creature card. Put that card into your hand and the rest on the bottom of your library in a random order. this.addAbility(new LoyaltyAbility(new RevealCardsFromLibraryUntilEffect( - StaticFilters.FILTER_CARD_CREATURE_A, Zone.HAND, Zone.HAND, false, false + StaticFilters.FILTER_CARD_CREATURE, Zone.HAND, Zone.HAND, false, false ), -1)); // −6: Target creature gets +10/+10 and gains trample until end of turn. diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index 96c86cb9e0..bfa2123cbb 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -52,7 +52,7 @@ public class VerifyCardDataTest { private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class); - private static final String FULL_ABILITIES_CHECK_SET_CODE = "ELD"; // check all abilities and output cards with wrong abilities texts; + private static final String FULL_ABILITIES_CHECK_SET_CODE = "M20"; // check all abilities and output cards with wrong abilities texts; private static final boolean AUTO_FIX_SAMPLE_DECKS = false; // debug only: fix sample decks if it contains errors like wrong card numbers private static final HashMap> skipCheckLists = new HashMap<>(); diff --git a/Mage/src/main/java/mage/abilities/common/CantBeCounteredSourceAbility.java b/Mage/src/main/java/mage/abilities/common/CantBeCounteredSourceAbility.java index 1d1fdaf76b..07b2fe8fc9 100644 --- a/Mage/src/main/java/mage/abilities/common/CantBeCounteredSourceAbility.java +++ b/Mage/src/main/java/mage/abilities/common/CantBeCounteredSourceAbility.java @@ -22,7 +22,7 @@ public class CantBeCounteredSourceAbility extends StaticAbility { @Override public String getRule() { - return "{this} can't be countered."; + return "This spell can't be countered."; } @Override diff --git a/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java index 2d381520ed..533c336d4e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java @@ -110,7 +110,7 @@ public class RevealCardsFromLibraryUntilEffect extends OneShotEffect { switch (zoneToPutCard) { case HAND: { - sb.append("into your hand "); + sb.append("into your hand"); break; } case BATTLEFIELD: {