diff --git a/Mage.Sets/src/mage/cards/c/ChangelingOutcast.java b/Mage.Sets/src/mage/cards/c/ChangelingOutcast.java index 9de322704c..bd0a69c4ca 100644 --- a/Mage.Sets/src/mage/cards/c/ChangelingOutcast.java +++ b/Mage.Sets/src/mage/cards/c/ChangelingOutcast.java @@ -1,8 +1,9 @@ package mage.cards.c; import mage.MageInt; +import mage.abilities.Ability; import mage.abilities.common.CantBlockAbility; -import mage.abilities.keyword.CantBeBlockedSourceAbility; +import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -27,8 +28,9 @@ public final class ChangelingOutcast extends CardImpl { this.addAbility(new ChangelingAbility()); // Changeling Outcast can't block and can't be blocked. - this.addAbility(new CantBlockAbility()); - this.addAbility(new CantBeBlockedSourceAbility()); + Ability ability = new CantBlockAbility(); + ability.addEffect(new CantBeBlockedSourceEffect().setText("and can't be blocked")); + this.addAbility(ability); } private ChangelingOutcast(final ChangelingOutcast card) { diff --git a/Mage.Sets/src/mage/cards/e/Exclude.java b/Mage.Sets/src/mage/cards/e/Exclude.java index e61127cab0..e6e1a41460 100644 --- a/Mage.Sets/src/mage/cards/e/Exclude.java +++ b/Mage.Sets/src/mage/cards/e/Exclude.java @@ -25,7 +25,7 @@ public final class Exclude extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell(new FilterCreatureSpell())); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
")); } private Exclude(final Exclude card) { diff --git a/Mage.Sets/src/mage/cards/f/FirstSphereGargantua.java b/Mage.Sets/src/mage/cards/f/FirstSphereGargantua.java index 9d38483cf7..efb039fc00 100644 --- a/Mage.Sets/src/mage/cards/f/FirstSphereGargantua.java +++ b/Mage.Sets/src/mage/cards/f/FirstSphereGargantua.java @@ -28,7 +28,9 @@ public final class FirstSphereGargantua extends CardImpl { this.toughness = new MageInt(4); // When First-Sphere Gargantua enters the battlefield, you draw a card and you lose 1 life. - Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)); + Ability ability = new EntersBattlefieldTriggeredAbility( + new DrawCardSourceControllerEffect(1).setText("you draw a card") + ); ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/ForceOfVigor.java b/Mage.Sets/src/mage/cards/f/ForceOfVigor.java index b015ef4486..3ad3e881e0 100644 --- a/Mage.Sets/src/mage/cards/f/ForceOfVigor.java +++ b/Mage.Sets/src/mage/cards/f/ForceOfVigor.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.FilterPermanent; -import mage.filter.StaticFilters; import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import mage.filter.common.FilterOwnedCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -45,10 +44,7 @@ public final class ForceOfVigor extends CardImpl { // Destroy up to two target artifacts and/or enchantments. this.getSpellAbility().addEffect(new DestroyTargetEffect()); - this.getSpellAbility().addTarget(new TargetPermanent( - 0, 2, - StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT, false - )); + this.getSpellAbility().addTarget(new TargetPermanent(0, 2, filter2, false)); } private ForceOfVigor(final ForceOfVigor card) { diff --git a/Mage.Sets/src/mage/cards/g/GeomancersGambit.java b/Mage.Sets/src/mage/cards/g/GeomancersGambit.java index add2ce62d7..f5ff4dd663 100644 --- a/Mage.Sets/src/mage/cards/g/GeomancersGambit.java +++ b/Mage.Sets/src/mage/cards/g/GeomancersGambit.java @@ -33,7 +33,7 @@ public final class GeomancersGambit extends CardImpl { this.getSpellAbility().addTarget(new TargetLandPermanent()); // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
")); } private GeomancersGambit(final GeomancersGambit card) { diff --git a/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java b/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java index 35006c69eb..7f821818f2 100644 --- a/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java +++ b/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java @@ -1,31 +1,32 @@ - package mage.cards.i; -import java.util.UUID; import mage.MageInt; +import mage.abilities.Ability; import mage.abilities.common.CantBlockAbility; -import mage.abilities.keyword.CantBeBlockedSourceAbility; +import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; +import java.util.UUID; + /** - * * @author North */ public final class InkfathomInfiltrator extends CardImpl { public InkfathomInfiltrator(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}{U/B}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U/B}{U/B}"); this.subtype.add(SubType.MERFOLK); this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); - this.addAbility(new CantBlockAbility()); - this.addAbility(new CantBeBlockedSourceAbility()); + Ability ability = new CantBlockAbility(); + ability.addEffect(new CantBeBlockedSourceEffect().setText("and can't be blocked")); + this.addAbility(ability); } private InkfathomInfiltrator(final InkfathomInfiltrator card) { diff --git a/Mage.Sets/src/mage/cards/r/RangerCaptainOfEos.java b/Mage.Sets/src/mage/cards/r/RangerCaptainOfEos.java index c9044fbd5a..348e09f4d6 100644 --- a/Mage.Sets/src/mage/cards/r/RangerCaptainOfEos.java +++ b/Mage.Sets/src/mage/cards/r/RangerCaptainOfEos.java @@ -44,9 +44,9 @@ public final class RangerCaptainOfEos extends CardImpl { this.toughness = new MageInt(3); // When Ranger-Captain of Eos enters the battlefield, you may search your library for a creature card with converted mana cost 1 or less, reveal it, put it into your hand, then shuffle your library. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect( - new TargetCardInLibrary(0, 1, filter), true - ), true)); + this.addAbility(new EntersBattlefieldTriggeredAbility( + new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), true + )); // Sacrifice Ranger-Captain of Eos: Your opponents can't cast noncreature spells this turn. this.addAbility(new SimpleActivatedAbility(new RangerCaptainOfEosEffect(), new SacrificeSourceCost())); diff --git a/Mage.Sets/src/mage/cards/r/RecklessCharge.java b/Mage.Sets/src/mage/cards/r/RecklessCharge.java index e7aaf6a21f..0208a3d353 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessCharge.java +++ b/Mage.Sets/src/mage/cards/r/RecklessCharge.java @@ -1,7 +1,5 @@ - package mage.cards.r; -import java.util.UUID; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -14,23 +12,26 @@ import mage.constants.Duration; import mage.constants.TimingRule; import mage.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author jeffwadsworth */ public final class RecklessCharge extends CardImpl { public RecklessCharge(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{R}"); - + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); // Target creature gets +3/+0 and gains haste until end of turn. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new BoostTargetEffect(3, 0, Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); - + this.getSpellAbility().addEffect(new BoostTargetEffect(3, 0) + .setText("target creature gets +3/+0")); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect( + HasteAbility.getInstance(), Duration.EndOfTurn + ).setText("and gains haste until end of turn")); + // Flashback {2}{R} - this.addAbility(new FlashbackAbility(new ManaCostsImpl("{2}{R}"), TimingRule.INSTANT)); + this.addAbility(new FlashbackAbility(new ManaCostsImpl<>("{2}{R}"), TimingRule.INSTANT)); } private RecklessCharge(final RecklessCharge card) { diff --git a/Mage.Sets/src/mage/cards/s/Shelter.java b/Mage.Sets/src/mage/cards/s/Shelter.java index 1a7f2f5ad3..33221d69b6 100644 --- a/Mage.Sets/src/mage/cards/s/Shelter.java +++ b/Mage.Sets/src/mage/cards/s/Shelter.java @@ -25,7 +25,7 @@ public final class Shelter extends CardImpl { this.getSpellAbility().addEffect(new GainProtectionFromColorTargetEffect(Duration.EndOfTurn)); // // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
")); } private Shelter(final Shelter card) { diff --git a/Mage.Sets/src/mage/cards/s/SoulStrikeTechnique.java b/Mage.Sets/src/mage/cards/s/SoulStrikeTechnique.java index 65886ba2b6..61cd9e1ebb 100644 --- a/Mage.Sets/src/mage/cards/s/SoulStrikeTechnique.java +++ b/Mage.Sets/src/mage/cards/s/SoulStrikeTechnique.java @@ -40,13 +40,13 @@ public final class SoulStrikeTechnique extends CardImpl { // Enchanted creature gets +1/+1 and has vigilance. ability = new SimpleStaticAbility(new BoostEnchantedEffect(1, 1)); ability.addEffect(new GainAbilityAttachedEffect( - VigilanceAbility.getInstance(), AttachmentType.AURA) - ); + VigilanceAbility.getInstance(), AttachmentType.AURA + ).setText("and has vigilance")); this.addAbility(ability); // When enchanted creature dies, manifest the top card of your library. this.addAbility(new DiesAttachedTriggeredAbility( - new ManifestEffect(1), "enchanted" + new ManifestEffect(1), "enchanted creature" )); } diff --git a/Mage.Sets/src/mage/cards/s/Soulherder.java b/Mage.Sets/src/mage/cards/s/Soulherder.java index 8bf19ea2a0..4dae7e4345 100644 --- a/Mage.Sets/src/mage/cards/s/Soulherder.java +++ b/Mage.Sets/src/mage/cards/s/Soulherder.java @@ -50,7 +50,7 @@ public final class Soulherder extends CardImpl { Ability ability = new BeginningOfEndStepTriggeredAbility( new ExileTargetForSourceEffect(), TargetController.YOU, true ); - ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy("then")); + ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, false).concatBy(",")); ability.addTarget(new TargetControlledCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java b/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java index 2f169cfbdd..deff15676c 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java @@ -40,7 +40,7 @@ public final class SwordOfFireAndIce extends CardImpl { // Whenever equipped creature deals combat damage to a player, Sword of Fire // and Ice deals 2 damage to any target and you draw a card. ability = new DealsDamageToAPlayerAttachedTriggeredAbility( - new DamageTargetEffect(2), "equipped", false + new DamageTargetEffect(2), "equipped creature", false ); ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy("and")); ability.addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfHearthAndHome.java b/Mage.Sets/src/mage/cards/s/SwordOfHearthAndHome.java index f43d18eb7d..79daf8528c 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfHearthAndHome.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfHearthAndHome.java @@ -51,7 +51,7 @@ public final class SwordOfHearthAndHome extends CardImpl { // Whenever equipped creature deals combat damage to a player, exile up to one target creature you own, then search your library for a basic land card. Put both cards onto the battlefield under your control, then shuffle. ability = new DealsDamageToAPlayerAttachedTriggeredAbility( - new SwordOfHearthAndHomeEffect(), "equipped", false + new SwordOfHearthAndHomeEffect(), "equipped creature", false ); ability.addTarget(new TargetPermanent(0, 1, filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java b/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java index 9a27b5cd09..b0e5d7d08e 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java @@ -40,7 +40,7 @@ public final class SwordOfLightAndShadow extends CardImpl { // Whenever equipped creature deals combat damage to a player, you gain 3 life and you may return up to one target creature card from your graveyard to your hand. ability = new DealsDamageToAPlayerAttachedTriggeredAbility( - new GainLifeEffect(3), "equipped", false + new GainLifeEffect(3), "equipped creature", false ); ability.addEffect(new SwordOfLightAndShadowEffect()); ability.addTarget(new TargetCardInYourGraveyard( diff --git a/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java b/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java index 5fd5c2d1c4..f649145e7b 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java @@ -42,7 +42,7 @@ public final class SwordOfSinewAndSteel extends CardImpl { ability = new DealsDamageToAPlayerAttachedTriggeredAbility( new DestroyTargetEffect(false, true) .setText("destroy up to one target planeswalker and up to one target artifact."), - "equipped", false + "equipped creature", false ); ability.addTarget(new TargetPlaneswalkerPermanent(0, 1)); ability.addTarget(new TargetArtifactPermanent(0, 1)); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java b/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java index f4bc9dce2d..a04523a5cf 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java @@ -45,7 +45,7 @@ public final class SwordOfTruthAndJustice extends CardImpl { // Whenever equipped creature deals combat damage to a player, put a +1/+1 counter on a creature you control, then proliferate. this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility( - new SwordOfTruthAndJusticeEffect(), "equipped", false + new SwordOfTruthAndJusticeEffect(), "equipped creature", false )); // Equip {2} diff --git a/Mage.Sets/src/mage/cards/t/TheFirstSliver.java b/Mage.Sets/src/mage/cards/t/TheFirstSliver.java index bc3cc6c1f0..dc593842ed 100644 --- a/Mage.Sets/src/mage/cards/t/TheFirstSliver.java +++ b/Mage.Sets/src/mage/cards/t/TheFirstSliver.java @@ -18,7 +18,7 @@ import java.util.UUID; */ public final class TheFirstSliver extends CardImpl { - private static final FilterCard filter = new FilterCard("Sliver spells you cast"); + private static final FilterCard filter = new FilterCard("Sliver spells"); static { filter.add(SubType.SLIVER.getPredicate()); diff --git a/Mage.Sets/src/mage/cards/t/TormentedSoul.java b/Mage.Sets/src/mage/cards/t/TormentedSoul.java index a16d61c98c..34bb276286 100644 --- a/Mage.Sets/src/mage/cards/t/TormentedSoul.java +++ b/Mage.Sets/src/mage/cards/t/TormentedSoul.java @@ -1,29 +1,30 @@ - - package mage.cards.t; -import java.util.UUID; import mage.MageInt; +import mage.abilities.Ability; import mage.abilities.common.CantBlockAbility; -import mage.abilities.keyword.CantBeBlockedSourceAbility; +import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; +import java.util.UUID; + /** * @author Loki */ public final class TormentedSoul extends CardImpl { public TormentedSoul(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); - this.addAbility(new CantBlockAbility()); - this.addAbility(new CantBeBlockedSourceAbility()); + Ability ability = new CantBlockAbility(); + ability.addEffect(new CantBeBlockedSourceEffect().setText("and can't be blocked")); + this.addAbility(ability); } private TormentedSoul(final TormentedSoul card) { @@ -34,5 +35,4 @@ public final class TormentedSoul extends CardImpl { public TormentedSoul copy() { return new TormentedSoul(this); } - } diff --git a/Mage.Sets/src/mage/cards/t/TributeMage.java b/Mage.Sets/src/mage/cards/t/TributeMage.java index 2b62f0b094..5ac4531e8a 100644 --- a/Mage.Sets/src/mage/cards/t/TributeMage.java +++ b/Mage.Sets/src/mage/cards/t/TributeMage.java @@ -36,7 +36,7 @@ public final class TributeMage extends CardImpl { // When Tribute Mage enters the battlefield, you may search your library for an artifact card with converted mana cost 2, reveal that card, put it into your hand, then shuffle your library. this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect( - new TargetCardInLibrary(0, 1, filter), true, true + new TargetCardInLibrary(filter), true, true ), true)); } diff --git a/Mage.Sets/src/mage/cards/u/UndeadAugur.java b/Mage.Sets/src/mage/cards/u/UndeadAugur.java index 1554142008..3e0026c581 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadAugur.java +++ b/Mage.Sets/src/mage/cards/u/UndeadAugur.java @@ -36,7 +36,7 @@ public final class UndeadAugur extends CardImpl { // Whenever Undead Augur or another Zombie you control dies, you draw a card and you lose 1 life. Ability ability = new DiesThisOrAnotherCreatureTriggeredAbility( - new DrawCardSourceControllerEffect(1).concatBy("you"), false, filter + new DrawCardSourceControllerEffect(1).setText("you draw a card"), false, filter ); ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/u/UrzaLordHighArtificer.java b/Mage.Sets/src/mage/cards/u/UrzaLordHighArtificer.java index d757419474..ffb049223c 100644 --- a/Mage.Sets/src/mage/cards/u/UrzaLordHighArtificer.java +++ b/Mage.Sets/src/mage/cards/u/UrzaLordHighArtificer.java @@ -76,7 +76,7 @@ class UrzaLordHighArtificerEffect extends OneShotEffect { UrzaLordHighArtificerEffect() { super(Outcome.Benefit); - this.staticText = "Shuffle your library, then exile the top card of your library. " + + this.staticText = "Shuffle your library, then exile the top card. " + "Until end of turn, you may play that card without paying its mana cost"; } diff --git a/Mage.Sets/src/mage/cards/w/WingShards.java b/Mage.Sets/src/mage/cards/w/WingShards.java index 51b933ab6d..6c18a583a9 100644 --- a/Mage.Sets/src/mage/cards/w/WingShards.java +++ b/Mage.Sets/src/mage/cards/w/WingShards.java @@ -1,28 +1,30 @@ - package mage.cards.w; -import java.util.UUID; import mage.abilities.effects.common.SacrificeEffect; import mage.abilities.keyword.StormAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.filter.FilterPermanent; import mage.filter.common.FilterAttackingCreature; import mage.target.TargetPlayer; +import java.util.UUID; + /** - * * @author Plopman */ public final class WingShards extends CardImpl { - public WingShards(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}{W}"); + private static final FilterPermanent filter = new FilterAttackingCreature("an attacking creature"); + public WingShards(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}{W}"); // Target player sacrifices an attacking creature. - this.getSpellAbility().addEffect(new SacrificeEffect(new FilterAttackingCreature(), 1, "Target player")); + this.getSpellAbility().addEffect(new SacrificeEffect(filter, 1, "Target player")); this.getSpellAbility().addTarget(new TargetPlayer()); + // Storm this.addAbility(new StormAbility()); } diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java index 98ae470380..8fae2a0906 100644 --- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java +++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java @@ -56,7 +56,7 @@ public class VerifyCardDataTest { private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class); - private static final String FULL_ABILITIES_CHECK_SET_CODE = "C21"; // check all abilities and output cards with wrong abilities texts; + private static final String FULL_ABILITIES_CHECK_SET_CODE = "MH1"; // check all abilities and output cards with wrong abilities texts; private static final boolean AUTO_FIX_SAMPLE_DECKS = false; // debug only: auto-fix sample decks by test_checkSampleDecks test run private static final boolean ONLY_TEXT = false; // use when checking text locally, suppresses unnecessary checks and output messages diff --git a/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java b/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java index 97bbbf68cc..fcf6954378 100644 --- a/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java +++ b/Mage/src/main/java/mage/abilities/common/CantBlockAbility.java @@ -1,12 +1,10 @@ - package mage.abilities.common; +import mage.abilities.effects.common.combat.CantBlockSourceEffect; import mage.constants.Duration; import mage.constants.Zone; -import mage.abilities.effects.common.combat.CantBlockSourceEffect; /** - * * @author maurer.it_at_gmail.com */ public class CantBlockAbility extends SimpleStaticAbility { @@ -19,11 +17,6 @@ public class CantBlockAbility extends SimpleStaticAbility { super(ability); } - @Override - public String getRule() { - return "{this} can't block."; - } - @Override public CantBlockAbility copy() { return new CantBlockAbility(this);