diff --git a/Mage.Sets/src/mage/cards/c/CemeteryPuca.java b/Mage.Sets/src/mage/cards/c/CemeteryPuca.java
index 2950b2e4c8..cc4a08d17b 100644
--- a/Mage.Sets/src/mage/cards/c/CemeteryPuca.java
+++ b/Mage.Sets/src/mage/cards/c/CemeteryPuca.java
@@ -57,7 +57,7 @@ class CemeteryPucaEffect extends OneShotEffect {
public CemeteryPucaEffect() {
super(Outcome.Copy);
- staticText = " {this} becomes a copy of that creature, except it has this ability";
+ staticText = "{this} becomes a copy of that creature, except it has this ability";
}
public CemeteryPucaEffect(final CemeteryPucaEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/c/CeruleanWisps.java b/Mage.Sets/src/mage/cards/c/CeruleanWisps.java
index 3cc5469f80..bfb26fbc71 100644
--- a/Mage.Sets/src/mage/cards/c/CeruleanWisps.java
+++ b/Mage.Sets/src/mage/cards/c/CeruleanWisps.java
@@ -28,7 +28,7 @@ public final class CeruleanWisps extends CardImpl {
this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap that creature"));
// Draw a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
"));
}
public CeruleanWisps (final CeruleanWisps card) {
diff --git a/Mage.Sets/src/mage/cards/c/Chainbreaker.java b/Mage.Sets/src/mage/cards/c/Chainbreaker.java
index b45f94e512..ac21c9ced0 100644
--- a/Mage.Sets/src/mage/cards/c/Chainbreaker.java
+++ b/Mage.Sets/src/mage/cards/c/Chainbreaker.java
@@ -1,51 +1,51 @@
-
package mage.cards.c;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
-import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.effects.common.counter.RemoveCounterTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
-import mage.constants.Zone;
import mage.counters.CounterType;
-import mage.filter.common.FilterCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
- *
* @author jeffwadsworth
*/
public final class Chainbreaker extends CardImpl {
-
+
public Chainbreaker(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}");
+ super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}");
this.subtype.add(SubType.SCARECROW);
this.power = new MageInt(3);
this.toughness = new MageInt(3);
// Chainbreaker enters the battlefield with two -1/-1 counters on it.
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2), false), "with two -1/-1 counters on it"));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(
+ CounterType.M1M1.createInstance(2), false
+ ), "with two -1/-1 counters on it"));
// {3}, {tap}: Remove a -1/-1 counter from target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(
+ new RemoveCounterTargetEffect(CounterType.M1M1.createInstance()), new GenericManaCost(3)
+ );
ability.addCost(new TapSourceCost());
- ability.addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("target creature")));
+ ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
-
}
-
+
private Chainbreaker(final Chainbreaker card) {
super(card);
}
-
+
@Override
public Chainbreaker copy() {
return new Chainbreaker(this);
diff --git a/Mage.Sets/src/mage/cards/c/Counterbore.java b/Mage.Sets/src/mage/cards/c/Counterbore.java
index 23c6b43756..e32a041c13 100644
--- a/Mage.Sets/src/mage/cards/c/Counterbore.java
+++ b/Mage.Sets/src/mage/cards/c/Counterbore.java
@@ -21,7 +21,7 @@ public final class Counterbore extends CardImpl {
// Counter target spell.
// Search its controller's graveyard, hand, and library for all cards with the same name as that spell and exile them. Then that player shuffles their library.
this.getSpellAbility().addTarget(new TargetSpell());
- this.getSpellAbility().addEffect(new CounterTargetAndSearchGraveyardHandLibraryEffect());
+ this.getSpellAbility().addEffect(new CounterTargetAndSearchGraveyardHandLibraryEffect().concatBy("."));
}
private Counterbore(final Counterbore card) {
diff --git a/Mage.Sets/src/mage/cards/c/CragganwickCremator.java b/Mage.Sets/src/mage/cards/c/CragganwickCremator.java
index 2106008dfe..e8eddeca76 100644
--- a/Mage.Sets/src/mage/cards/c/CragganwickCremator.java
+++ b/Mage.Sets/src/mage/cards/c/CragganwickCremator.java
@@ -52,7 +52,7 @@ class CragganwickCrematorEffect extends OneShotEffect {
public CragganwickCrematorEffect() {
super(Outcome.Neutral);
- this.staticText = "discard a card at random. If you discard a creature card this way, {this} deals damage equal to that card's power to target player";
+ this.staticText = "discard a card at random. If you discard a creature card this way, {this} deals damage equal to that card's power to target player or planeswalker";
}
public CragganwickCrematorEffect(final CragganwickCrematorEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/c/CrimsonWisps.java b/Mage.Sets/src/mage/cards/c/CrimsonWisps.java
index 1d45f2931b..7d0bcb5d88 100644
--- a/Mage.Sets/src/mage/cards/c/CrimsonWisps.java
+++ b/Mage.Sets/src/mage/cards/c/CrimsonWisps.java
@@ -1,8 +1,5 @@
-
-
package mage.cards.c;
-import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continuous.BecomesColorTargetEffect;
@@ -14,25 +11,30 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
- *
* @author LevelX
*/
public final class CrimsonWisps extends CardImpl {
- public CrimsonWisps (UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}");
+ public CrimsonWisps(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}");
// Target creature becomes red and gains haste until end of turn.
+ this.getSpellAbility().addEffect(new BecomesColorTargetEffect(
+ ObjectColor.RED, Duration.EndOfTurn
+ ).setText("target creature becomes red"));
+ this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
+ HasteAbility.getInstance(), Duration.EndOfTurn
+ ).setText("and gains haste until end of turn"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
- this.getSpellAbility().addEffect(new BecomesColorTargetEffect(ObjectColor.RED, Duration.EndOfTurn));
- this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
// Draw a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
"));
}
- public CrimsonWisps (final CrimsonWisps card) {
+ public CrimsonWisps(final CrimsonWisps card) {
super(card);
}
@@ -40,6 +42,4 @@ public final class CrimsonWisps extends CardImpl {
public CrimsonWisps copy() {
return new CrimsonWisps(this);
}
-
}
-
diff --git a/Mage.Sets/src/mage/cards/c/CurseOfChains.java b/Mage.Sets/src/mage/cards/c/CurseOfChains.java
index 0032d82026..e195ae14a8 100644
--- a/Mage.Sets/src/mage/cards/c/CurseOfChains.java
+++ b/Mage.Sets/src/mage/cards/c/CurseOfChains.java
@@ -35,7 +35,7 @@ public final class CurseOfChains extends CardImpl {
this.addAbility(ability);
// At the beginning of each upkeep, tap enchanted creature.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapEnchantedEffect(), TargetController.ANY, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapEnchantedEffect(), TargetController.EACH_PLAYER, false));
}
private CurseOfChains(final CurseOfChains card) {
diff --git a/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java b/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java
index bea66dae04..fc5a75c042 100644
--- a/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java
+++ b/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java
@@ -30,7 +30,7 @@ public final class DawnglowInfusion extends CardImpl {
new ManaWasSpentCondition(ColoredManaSymbol.G), "You gain X life if {G} was spent to cast this spell"));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new GainLifeEffect(xValue),
- new ManaWasSpentCondition(ColoredManaSymbol.W), " And X life if {W} was spent to cast it"));
+ new ManaWasSpentCondition(ColoredManaSymbol.W), "and X life if {W} was spent to cast this spell"));
this.getSpellAbility().addEffect(new InfoEffect("(Do both if {G}{W} was spent.)"));
diff --git a/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java b/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java
index 974c122c81..c45342bc9b 100644
--- a/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java
+++ b/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java
@@ -36,7 +36,7 @@ public final class DeepSlumberTitan extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
// Whenever Deep-Slumber Titan is dealt damage, untap it.
- this.addAbility(new DealtDamageToSourceTriggeredAbility(new UntapSourceEffect(), false));
+ this.addAbility(new DealtDamageToSourceTriggeredAbility(new UntapSourceEffect().setText("untap it"), false));
}
diff --git a/Mage.Sets/src/mage/cards/d/DisturbingPlot.java b/Mage.Sets/src/mage/cards/d/DisturbingPlot.java
index f8b24e66d3..d2a8cf2c63 100644
--- a/Mage.Sets/src/mage/cards/d/DisturbingPlot.java
+++ b/Mage.Sets/src/mage/cards/d/DisturbingPlot.java
@@ -1,31 +1,32 @@
-
package mage.cards.d;
-import java.util.UUID;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.ConspireAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
+import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.target.common.TargetCardInGraveyard;
+import java.util.UUID;
+
/**
- *
* @author jeffwadsworth
*/
public final class DisturbingPlot extends CardImpl {
+ private static final FilterCard filter = new FilterCreatureCard("creature card from a graveyard");
+
public DisturbingPlot(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}");
+ super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}");
// Return target creature card from a graveyard to its owner's hand.
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
- this.getSpellAbility().addTarget(new TargetCardInGraveyard(new FilterCreatureCard("creature card in a graveyard")));
+ this.getSpellAbility().addTarget(new TargetCardInGraveyard(filter));
// Conspire
this.addAbility(new ConspireAbility(ConspireAbility.ConspireTargets.ONE));
-
}
private DisturbingPlot(final DisturbingPlot card) {
diff --git a/Mage.Sets/src/mage/cards/d/DuskUrchins.java b/Mage.Sets/src/mage/cards/d/DuskUrchins.java
index fa3a758d40..bc614bf1bc 100644
--- a/Mage.Sets/src/mage/cards/d/DuskUrchins.java
+++ b/Mage.Sets/src/mage/cards/d/DuskUrchins.java
@@ -28,10 +28,10 @@ public final class DuskUrchins extends CardImpl {
this.toughness = new MageInt(3);
// Whenever Dusk Urchins attacks or blocks, put a -1/-1 counter on it.
- this.addAbility(new AttacksOrBlocksTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()), false));
+ this.addAbility(new AttacksOrBlocksTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()).setText("put a -1/-1 counter on it"), false));
// When Dusk Urchins dies, draw a card for each -1/-1 counter on it.
- this.addAbility(new DiesSourceTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.M1M1))));
+ this.addAbility(new DiesSourceTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.M1M1)).setText("draw a card for each -1/-1 counter on it")));
}
diff --git a/Mage.Sets/src/mage/cards/f/Firespout.java b/Mage.Sets/src/mage/cards/f/Firespout.java
index 395f2b7214..232736848b 100644
--- a/Mage.Sets/src/mage/cards/f/Firespout.java
+++ b/Mage.Sets/src/mage/cards/f/Firespout.java
@@ -38,7 +38,7 @@ public final class Firespout extends CardImpl {
new ManaWasSpentCondition(ColoredManaSymbol.R), "{this} deals 3 damage to each creature without flying if {R} was spent to cast this spell"));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageAllEffect(3, filter2),
- new ManaWasSpentCondition(ColoredManaSymbol.G), "and 3 damage to each creature with flying if {G} was spent to cast it. (Do both if {R}{G} was spent.)"));
+ new ManaWasSpentCondition(ColoredManaSymbol.G), "and 3 damage to each creature with flying if {G} was spent to cast this spell. (Do both if {R}{G} was spent.)"));
}
private Firespout(final Firespout card) {
diff --git a/Mage.Sets/src/mage/cards/g/GriefTyrant.java b/Mage.Sets/src/mage/cards/g/GriefTyrant.java
index 2897b77d1a..554125ec05 100644
--- a/Mage.Sets/src/mage/cards/g/GriefTyrant.java
+++ b/Mage.Sets/src/mage/cards/g/GriefTyrant.java
@@ -31,7 +31,7 @@ public final class GriefTyrant extends CardImpl {
this.toughness = new MageInt(8);
// Grief Tyrant enters the battlefield with four -1/-1 counters on it.
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4))));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)),"with four -1/-1 counters on it"));
// When Grief Tyrant dies, put a -1/-1 counter on target creature for each -1/-1 counter on Grief Tyrant.
Ability ability = new DiesSourceTriggeredAbility(new GriefTyrantEffect());
diff --git a/Mage.Sets/src/mage/cards/g/GrimPoppet.java b/Mage.Sets/src/mage/cards/g/GrimPoppet.java
index 02acd71073..8d365e8ee1 100644
--- a/Mage.Sets/src/mage/cards/g/GrimPoppet.java
+++ b/Mage.Sets/src/mage/cards/g/GrimPoppet.java
@@ -38,7 +38,7 @@ public final class GrimPoppet extends CardImpl {
this.toughness = new MageInt(4);
// Grim Poppet enters the battlefield with three -1/-1 counters on it.
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(3), false)));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(3)), "with three -1/-1 counters on it"));
// Remove a -1/-1 counter from Grim Poppet: Put a -1/-1 counter on another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new RemoveCountersSourceCost(CounterType.M1M1.createInstance()));
diff --git a/Mage.Sets/src/mage/cards/h/HungrySpriggan.java b/Mage.Sets/src/mage/cards/h/HungrySpriggan.java
index d5e49e56c4..adb7d064f2 100644
--- a/Mage.Sets/src/mage/cards/h/HungrySpriggan.java
+++ b/Mage.Sets/src/mage/cards/h/HungrySpriggan.java
@@ -27,7 +27,7 @@ public final class HungrySpriggan extends CardImpl {
this.toughness = new MageInt(1);
this.addAbility(TrampleAbility.getInstance());
- this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(3, 3, Duration.EndOfTurn), false));
+ this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(3, 3, Duration.EndOfTurn).setText("it gets +3/+3 until end of turn"), false));
}
private HungrySpriggan(final HungrySpriggan card) {
diff --git a/Mage.Sets/src/mage/cards/l/LeechBonder.java b/Mage.Sets/src/mage/cards/l/LeechBonder.java
index c6a617def3..9959fd2881 100644
--- a/Mage.Sets/src/mage/cards/l/LeechBonder.java
+++ b/Mage.Sets/src/mage/cards/l/LeechBonder.java
@@ -43,7 +43,7 @@ public final class LeechBonder extends CardImpl {
this.toughness = new MageInt(3);
// Leech Bonder enters the battlefield with two -1/-1 counters on it.
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2))));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2)), "with two -1/-1 counters on it"));
// {U}, {untap}: Move a counter from target creature onto another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LeechBonderEffect(), new ManaCostsImpl("{U}"));
diff --git a/Mage.Sets/src/mage/cards/m/Manamorphose.java b/Mage.Sets/src/mage/cards/m/Manamorphose.java
index ea68f24812..02eea02382 100644
--- a/Mage.Sets/src/mage/cards/m/Manamorphose.java
+++ b/Mage.Sets/src/mage/cards/m/Manamorphose.java
@@ -22,7 +22,7 @@ public final class Manamorphose extends CardImpl {
this.getSpellAbility().addEffect(new AddManaInAnyCombinationEffect(2));
// Draw a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
"));
}
private Manamorphose(final Manamorphose card) {
diff --git a/Mage.Sets/src/mage/cards/m/MineExcavation.java b/Mage.Sets/src/mage/cards/m/MineExcavation.java
index 6c533d7080..34b98505b5 100644
--- a/Mage.Sets/src/mage/cards/m/MineExcavation.java
+++ b/Mage.Sets/src/mage/cards/m/MineExcavation.java
@@ -3,6 +3,7 @@ package mage.cards.m;
import java.util.UUID;
import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
+import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.keyword.ConspireAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -17,7 +18,7 @@ import mage.target.common.TargetCardInGraveyard;
*/
public final class MineExcavation extends CardImpl {
- private static final FilterCard filter = new FilterCard("artifact or enchantment card in a graveyard");
+ private static final FilterCard filter = new FilterCard("artifact or enchantment card from a graveyard");
static {
filter.add(Predicates.or(CardType.ARTIFACT.getPredicate(),
@@ -28,7 +29,7 @@ public final class MineExcavation extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{W}");
// Return target artifact or enchantment card from a graveyard to its owner's hand.
- this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect());
+ this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInGraveyard(filter));
// Conspire
diff --git a/Mage.Sets/src/mage/cards/m/Morselhoarder.java b/Mage.Sets/src/mage/cards/m/Morselhoarder.java
index ab38678b3e..7ec9d675ca 100644
--- a/Mage.Sets/src/mage/cards/m/Morselhoarder.java
+++ b/Mage.Sets/src/mage/cards/m/Morselhoarder.java
@@ -30,7 +30,7 @@ public final class Morselhoarder extends CardImpl {
this.toughness = new MageInt(4);
// Morselhoarder enters the battlefield with two -1/-1 counters on it.
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2), false)));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2)), "with two -1/-1 counters on it"));
// Remove a -1/-1 counter from Morselhoarder: Add one mana of any color.
this.addAbility(new MorselhoarderAbility());
diff --git a/Mage.Sets/src/mage/cards/n/NiveousWisps.java b/Mage.Sets/src/mage/cards/n/NiveousWisps.java
index cd0912ad90..acdec41970 100644
--- a/Mage.Sets/src/mage/cards/n/NiveousWisps.java
+++ b/Mage.Sets/src/mage/cards/n/NiveousWisps.java
@@ -25,9 +25,9 @@ public final class NiveousWisps extends CardImpl {
// Target creature becomes white until end of turn. Tap that creature.
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addEffect(new BecomesColorTargetEffect(ObjectColor.WHITE, Duration.EndOfTurn));
- this.getSpellAbility().addEffect(new TapTargetEffect());
+ this.getSpellAbility().addEffect(new TapTargetEffect("tap that creature"));
// Draw a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
"));
}
public NiveousWisps (final NiveousWisps card) {
diff --git a/Mage.Sets/src/mage/cards/p/PunctureBolt.java b/Mage.Sets/src/mage/cards/p/PunctureBolt.java
index 7a1faf54ab..da2625f805 100644
--- a/Mage.Sets/src/mage/cards/p/PunctureBolt.java
+++ b/Mage.Sets/src/mage/cards/p/PunctureBolt.java
@@ -19,10 +19,9 @@ public final class PunctureBolt extends CardImpl {
public PunctureBolt(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}");
-
// Puncture Bolt deals 1 damage to target creature. Put a -1/-1 counter on that creature.
this.getSpellAbility().addEffect(new DamageTargetEffect(1));
- this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance()));
+ this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance()).setText("put a -1/-1 counter on that creature"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/r/RageReflection.java b/Mage.Sets/src/mage/cards/r/RageReflection.java
index 67084a1014..f0879bbd54 100644
--- a/Mage.Sets/src/mage/cards/r/RageReflection.java
+++ b/Mage.Sets/src/mage/cards/r/RageReflection.java
@@ -23,7 +23,7 @@ public final class RageReflection extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}{R}");
// Creatures you control have double strike.
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, false)));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false)));
}
private RageReflection(final RageReflection card) {
diff --git a/Mage.Sets/src/mage/cards/r/RepelIntruders.java b/Mage.Sets/src/mage/cards/r/RepelIntruders.java
index 14ddd8b7df..a3956709f5 100644
--- a/Mage.Sets/src/mage/cards/r/RepelIntruders.java
+++ b/Mage.Sets/src/mage/cards/r/RepelIntruders.java
@@ -32,7 +32,7 @@ public final class RepelIntruders extends CardImpl {
new ManaWasSpentCondition(ColoredManaSymbol.W), "Create two 1/1 white Kithkin Soldier creature tokens if {W} was spent to cast this spell"));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new CounterTargetEffect(),
- new ManaWasSpentCondition(ColoredManaSymbol.U), " Counter up to one target creature spell if {U} was spent to cast this spell"));
+ new ManaWasSpentCondition(ColoredManaSymbol.U), "Counter up to one target creature spell if {U} was spent to cast this spell"));
this.getSpellAbility().addTarget(target);
this.getSpellAbility().addEffect(new InfoEffect("(Do both if {W}{U} was spent.)"));
diff --git a/Mage.Sets/src/mage/cards/r/RevelsongHorn.java b/Mage.Sets/src/mage/cards/r/RevelsongHorn.java
index 4850edd458..f93ecca0dd 100644
--- a/Mage.Sets/src/mage/cards/r/RevelsongHorn.java
+++ b/Mage.Sets/src/mage/cards/r/RevelsongHorn.java
@@ -1,35 +1,43 @@
-
package mage.cards.r;
-import java.util.UUID;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.common.TapTargetCost;
-import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
-import mage.constants.Zone;
-import mage.target.common.TargetControlledCreaturePermanent;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.common.FilterControlledPermanent;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
- *
* @author North
*/
public final class RevelsongHorn extends CardImpl {
+ private static final FilterControlledPermanent filter
+ = new FilterControlledCreaturePermanent("an untapped creature you control");
+
+ static {
+ filter.add(TappedPredicate.UNTAPPED);
+ }
+
public RevelsongHorn(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
+ super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {1}, {tap}, Tap an untapped creature you control: Target creature gets +1/+1 until end of turn.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new BoostTargetEffect(1, 1, Duration.EndOfTurn),
- new ManaCostsImpl("{1}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(
+ new BoostTargetEffect(1, 1, Duration.EndOfTurn), new GenericManaCost(1)
+ );
ability.addCost(new TapSourceCost());
- ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent()));
+ ability.addCost(new TapTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/r/RiverKelpie.java b/Mage.Sets/src/mage/cards/r/RiverKelpie.java
index e8d136a1dd..84fce32de1 100644
--- a/Mage.Sets/src/mage/cards/r/RiverKelpie.java
+++ b/Mage.Sets/src/mage/cards/r/RiverKelpie.java
@@ -76,7 +76,7 @@ class RiverKelpieTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- return "Whenever {this} or another permanent is put onto the battlefield from a graveyard, draw a card.";
+ return "Whenever {this} or another permanent enters the battlefield from a graveyard, draw a card.";
}
}
diff --git a/Mage.Sets/src/mage/cards/r/RiversGrasp.java b/Mage.Sets/src/mage/cards/r/RiversGrasp.java
index 95b3fb8426..e5fd3a9c48 100644
--- a/Mage.Sets/src/mage/cards/r/RiversGrasp.java
+++ b/Mage.Sets/src/mage/cards/r/RiversGrasp.java
@@ -34,7 +34,7 @@ public final class RiversGrasp extends CardImpl {
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DiscardCardYouChooseTargetEffect(StaticFilters.FILTER_CARD_NON_LAND, TargetController.ANY),
new ManaWasSpentCondition(ColoredManaSymbol.B),
- " If {B} was spent to cast this spell, target player reveals their hand, you choose a nonland card from it, then that player discards that card")
+ "If {B} was spent to cast this spell, target player reveals their hand, you choose a nonland card from it, then that player discards that card")
.setTargetPointer(new SecondTargetPointer()));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 1));
diff --git a/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java b/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java
index a06280bbb3..295b0056a4 100644
--- a/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java
+++ b/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java
@@ -31,7 +31,7 @@ public final class SeedcradleWitch extends CardImpl {
// {2}{G}{W}: Target creature gets +3/+3 until end of turn. Untap that creature.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}{W}"));
- ability.addEffect(new UntapTargetEffect());
+ ability.addEffect(new UntapTargetEffect().setText("untap that creature"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java b/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java
index d371b8b838..8af2a2d6c0 100644
--- a/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java
+++ b/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java
@@ -42,7 +42,7 @@ public final class ShieldOfTheOversoul extends CardImpl {
this.addAbility(ability);
// As long as enchanted creature is green, it gets +1/+1 and is indestructible.
SimpleStaticAbility greenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "As long as enchanted creature is green, it gets +1/+1"));
- greenAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(IndestructibleAbility.getInstance() ,AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and is indestructible"));
+ greenAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(IndestructibleAbility.getInstance() ,AttachmentType.AURA), new EnchantedCreatureColorCondition(ObjectColor.GREEN), "and has indestructible"));
this.addAbility(greenAbility);
// As long as enchanted creature is white, it gets +1/+1 and has flying.
SimpleStaticAbility whiteAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.WHITE), "As long as enchanted creature is white, it gets +1/+1"));
diff --git a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java
index 5d216b1ead..eb5098dc99 100644
--- a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java
+++ b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java
@@ -47,8 +47,8 @@ public final class SinkingFeeling extends CardImpl {
// Enchanted creature has "{1}, Put a -1/-1 counter on this creature: Untap this creature.
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{1}"));
- ability2.addCost(new PutCountersSourceCost(CounterType.M1M1.createInstance()));
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability2, AttachmentType.AURA, Duration.Custom, "Enchanted creature has \"{1}, Put a -1/-1 counter on this creature: Untap this creature.")));
+ ability2.addCost(new PutCountersSourceCost(CounterType.M1M1.createInstance()).setText("put a -1/-1 counter on this creature"));
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability2, AttachmentType.AURA, Duration.Custom, "Enchanted creature has \"{1}, Put a -1/-1 counter on this creature: Untap this creature.\"")));
}
diff --git a/Mage.Sets/src/mage/cards/s/SlinkingGiant.java b/Mage.Sets/src/mage/cards/s/SlinkingGiant.java
index dc9a0af374..f5d58e3e95 100644
--- a/Mage.Sets/src/mage/cards/s/SlinkingGiant.java
+++ b/Mage.Sets/src/mage/cards/s/SlinkingGiant.java
@@ -28,7 +28,7 @@ public final class SlinkingGiant extends CardImpl {
this.addAbility(WitherAbility.getInstance());
// Whenever Slinking Giant blocks or becomes blocked, it gets -3/-0 until end of turn.
- this.addAbility(new BlocksOrBecomesBlockedSourceTriggeredAbility(new BoostSourceEffect(-3, 0, Duration.EndOfTurn), false));
+ this.addAbility(new BlocksOrBecomesBlockedSourceTriggeredAbility(new BoostSourceEffect(-3, 0, Duration.EndOfTurn).setText("it gets -3/-0 until end of turn"), false).setTriggerPhrase("Whenever {this} blocks or becomes blocked, "));
}
private SlinkingGiant(final SlinkingGiant card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpitefulVisions.java b/Mage.Sets/src/mage/cards/s/SpitefulVisions.java
index 2f6b7c5a5a..7ab15780d0 100644
--- a/Mage.Sets/src/mage/cards/s/SpitefulVisions.java
+++ b/Mage.Sets/src/mage/cards/s/SpitefulVisions.java
@@ -29,7 +29,7 @@ public final class SpitefulVisions extends CardImpl {
// At the beginning of each player's draw step, that player draws an additional card.
- this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1), TargetController.ANY, false));
+ this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1).setText("that player draws an additional card"), TargetController.ANY, false));
// Whenever a player draws a card, Spiteful Visions deals 1 damage to that player.
TriggeredAbility triggeredAbility = new SpitefulVisionsTriggeredAbility(new DamageTargetEffect(1), false);
@@ -74,7 +74,7 @@ class SpitefulVisionsTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- return "Whenever a player draws a card, Spiteful Visions deals 1 damage to that player.";
+ return "Whenever a player draws a card, {this} deals 1 damage to that player.";
}
@Override
diff --git a/Mage.Sets/src/mage/cards/t/TattermungeWitch.java b/Mage.Sets/src/mage/cards/t/TattermungeWitch.java
index f0ca061f3d..e1521f1b75 100644
--- a/Mage.Sets/src/mage/cards/t/TattermungeWitch.java
+++ b/Mage.Sets/src/mage/cards/t/TattermungeWitch.java
@@ -38,7 +38,7 @@ public final class TattermungeWitch extends CardImpl {
this.toughness = new MageInt(1);
// {R}{G}: Each blocked creature gets +1/+0 and gains trample until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false), new ManaCostsImpl("{R}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false).setText("each blocked creature gets +1/+0"), new ManaCostsImpl("{R}{G}"));
ability.addEffect(new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filter, "and gains trample until end of turn"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java b/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java
index 066a935d58..28dd0af542 100644
--- a/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java
+++ b/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java
@@ -44,7 +44,7 @@ public final class TorrentOfSouls extends CardImpl {
new ManaWasSpentCondition(ColoredManaSymbol.B), "Return up to one target creature card from your graveyard to the battlefield if {B} was spent to cast this spell"));
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new TorrentOfSoulsEffect(),
- new ManaWasSpentCondition(ColoredManaSymbol.R), " Creatures target player controls get +2/+0 and gain haste until end of turn if {R} was spent to cast this spell"));
+ new ManaWasSpentCondition(ColoredManaSymbol.R), "Creatures target player controls get +2/+0 and gain haste until end of turn if {R} was spent to cast this spell"));
this.getSpellAbility().addTarget(targetCreature);
this.getSpellAbility().addTarget(targetPlayer);
diff --git a/Mage.Sets/src/mage/cards/t/TowerAbove.java b/Mage.Sets/src/mage/cards/t/TowerAbove.java
index 835602e56f..3a3af4b74c 100644
--- a/Mage.Sets/src/mage/cards/t/TowerAbove.java
+++ b/Mage.Sets/src/mage/cards/t/TowerAbove.java
@@ -52,7 +52,7 @@ class TowerAboveEffect extends OneShotEffect {
public TowerAboveEffect() {
super(Outcome.BoostCreature);
- staticText = "Until end of turn, target creature gets +4/+4 and gains trample, wither, and \"When this creature attacks, target creature blocks it this turn if able.";
+ staticText = "Until end of turn, target creature gets +4/+4 and gains trample, wither, and \"When this creature attacks, target creature blocks it this turn if able.\"";
}
public TowerAboveEffect(final TowerAboveEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/u/UmbralMantle.java b/Mage.Sets/src/mage/cards/u/UmbralMantle.java
index dca9ebb842..5ab1af3c0a 100644
--- a/Mage.Sets/src/mage/cards/u/UmbralMantle.java
+++ b/Mage.Sets/src/mage/cards/u/UmbralMantle.java
@@ -1,12 +1,10 @@
-
package mage.cards.u;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.UntapSourceCost;
-import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EquipAbility;
@@ -14,27 +12,27 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AttachmentType;
import mage.constants.CardType;
-import mage.constants.SubType;
import mage.constants.Duration;
-import mage.constants.Outcome;
-import mage.constants.Zone;
+import mage.constants.SubType;
+
+import java.util.UUID;
/**
- *
* @author Plopman
*/
public final class UmbralMantle extends CardImpl {
public UmbralMantle(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
+ super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
this.subtype.add(SubType.EQUIPMENT);
// Equipped creature has "{3}, {untap}: This creature gets +2/+2 until end of turn."
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn).setText("this creature gets +2/+2 until end of turn"), new GenericManaCost(3));
ability.addCost(new UntapSourceCost());
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
+ this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT)));
+
// Equip {0}
- this.addAbility(new EquipAbility(Outcome.AddAbility, new ManaCostsImpl()));
+ this.addAbility(new EquipAbility(0));
}
private UmbralMantle(final UmbralMantle card) {
diff --git a/Mage.Sets/src/mage/cards/v/ViridescentWisps.java b/Mage.Sets/src/mage/cards/v/ViridescentWisps.java
index d14abd7e92..bbefe90796 100644
--- a/Mage.Sets/src/mage/cards/v/ViridescentWisps.java
+++ b/Mage.Sets/src/mage/cards/v/ViridescentWisps.java
@@ -1,8 +1,5 @@
-
-
package mage.cards.v;
-import java.util.UUID;
import mage.ObjectColor;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continuous.BecomesColorTargetEffect;
@@ -13,24 +10,30 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
- *
* @author LevelX
*/
public final class ViridescentWisps extends CardImpl {
- public ViridescentWisps (UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}");
+ public ViridescentWisps(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}");
// Target creature becomes green and gets +1/+0 until end of turn.
+ this.getSpellAbility().addEffect(new BecomesColorTargetEffect(
+ ObjectColor.GREEN, Duration.EndOfTurn
+ ).setText("target creature becomes green"));
+ this.getSpellAbility().addEffect(new BoostTargetEffect(
+ 1, 0, Duration.EndOfTurn
+ ).setText("and gets +1/+0 until end of turn"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
- this.getSpellAbility().addEffect(new BecomesColorTargetEffect(ObjectColor.GREEN, Duration.EndOfTurn));
- this.getSpellAbility().addEffect(new BoostTargetEffect(1,0, Duration.EndOfTurn));
+
// Draw a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
"));
}
- public ViridescentWisps (final ViridescentWisps card) {
+ public ViridescentWisps(final ViridescentWisps card) {
super(card);
}
@@ -38,6 +41,4 @@ public final class ViridescentWisps extends CardImpl {
public ViridescentWisps copy() {
return new ViridescentWisps(this);
}
-
}
-
diff --git a/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java b/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java
index deea93a018..27d61d8d20 100644
--- a/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java
+++ b/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java
@@ -1,12 +1,8 @@
-
package mage.cards.w;
-import java.util.UUID;
import mage.MageInt;
-import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.common.AttacksOrBlocksTriggeredAbility;
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
-import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
@@ -15,24 +11,25 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
+import java.util.UUID;
+
/**
- *
* @author jeffwadsworth
*/
public final class WickerWarcrawler extends CardImpl {
public WickerWarcrawler(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}");
+ super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}");
this.subtype.add(SubType.SCARECROW);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
// Whenever Wicker Warcrawler attacks or blocks, put a -1/-1 counter on it at end of combat.
- Effect effect = new AddCountersSourceEffect(CounterType.M1M1.createInstance(), true);
- effect.setText("put a -1/-1 counter on it at end of combat");
- DelayedTriggeredAbility ability = new AtTheEndOfCombatDelayedTriggeredAbility(effect);
- this.addAbility(new AttacksOrBlocksTriggeredAbility(new CreateDelayedTriggeredAbilityEffect(ability, false, false), false));
-
+ this.addAbility(new AttacksOrBlocksTriggeredAbility(
+ new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(
+ new AddCountersSourceEffect(CounterType.M1M1.createInstance(), true)
+ ), false, false).setText("put a -1/-1 counter on it at end of combat"), false
+ ).setTriggerPhrase("Whenever {this} attacks or blocks, "));
}
private WickerWarcrawler(final WickerWarcrawler card) {
diff --git a/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java b/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java
index 2c5ab14081..05d46868d4 100644
--- a/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java
+++ b/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java
@@ -34,7 +34,7 @@ public final class WitherscaleWurm extends CardImpl {
// Whenever Witherscale Wurm blocks or becomes blocked by a creature, that creature gains wither until end of turn.
Effect effect = new GainAbilityTargetEffect(WitherAbility.getInstance(), Duration.EndOfTurn);
effect.setText("that creature gains wither until end of turn");
- Ability ability = new BlocksOrBecomesBlockedSourceTriggeredAbility(effect, StaticFilters.FILTER_PERMANENT_A_CREATURE, false, null, true);
+ Ability ability = new BlocksOrBecomesBlockedSourceTriggeredAbility(effect, StaticFilters.FILTER_PERMANENT_CREATURE, false, null, true);
this.addAbility(ability);
// Whenever Witherscale Wurm deals damage to an opponent, remove all -1/-1 counters from it.
diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java
index 229e5b1fff..fb64a2ab65 100644
--- a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java
+++ b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java
@@ -62,7 +62,7 @@ public class VerifyCardDataTest {
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
- private static final String FULL_ABILITIES_CHECK_SET_CODE = "EVE"; // check all abilities and output cards with wrong abilities texts;
+ private static final String FULL_ABILITIES_CHECK_SET_CODE = "SHM"; // 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/keyword/ConspireAbility.java b/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java
index 7532725b29..8edac415e6 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java
@@ -144,12 +144,7 @@ public class ConspireAbility extends StaticAbility implements OptionalAdditional
@Override
public String getRule() {
- StringBuilder sb = new StringBuilder();
- if (conspireCost != null) {
- sb.append(conspireCost.getText(false));
- sb.append(' ').append(conspireCost.getReminderText());
- }
- return sb.toString();
+ return "Conspire (" + reminderText + ")";
}
@Override