diff --git a/Mage.Sets/src/mage/cards/a/AnsweredPrayers.java b/Mage.Sets/src/mage/cards/a/AnsweredPrayers.java
index 7b4301b3438..5177ddc8406 100644
--- a/Mage.Sets/src/mage/cards/a/AnsweredPrayers.java
+++ b/Mage.Sets/src/mage/cards/a/AnsweredPrayers.java
@@ -30,7 +30,7 @@ public final class AnsweredPrayers extends CardImpl {
// Whenever a creature enters the battlefield under your control, you gain 1 life. If Answered Prayers isn't a creature, it becomes a 3/3 Angel creature with flying in addition to its other types until end of turn.
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
- new AnsweredPrayersEffect(), StaticFilters.FILTER_PERMANENT_CREATURE
+ new AnsweredPrayersEffect(), StaticFilters.FILTER_PERMANENT_CREATURE_A
));
}
diff --git a/Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java b/Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java
index 9e4a487f5d2..5a28775d997 100644
--- a/Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java
+++ b/Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java
@@ -27,7 +27,7 @@ public final class ArcumsAstrolabe extends CardImpl {
// ({S} can be paid with one mana from a snow permanent.)
this.addAbility(new SimpleStaticAbility(
- new InfoEffect("({S} can be paid with one mana from a snow permanent.)")
+ new InfoEffect("({S} can be paid with one mana from a snow source.)")
));
// When Arcum's Astrolabe enters the battlefield, draw a card.
diff --git a/Mage.Sets/src/mage/cards/a/AriaOfFlame.java b/Mage.Sets/src/mage/cards/a/AriaOfFlame.java
index f3e7d5aa908..e74258d5516 100644
--- a/Mage.Sets/src/mage/cards/a/AriaOfFlame.java
+++ b/Mage.Sets/src/mage/cards/a/AriaOfFlame.java
@@ -36,10 +36,10 @@ public final class AriaOfFlame extends CardImpl {
// Whenever you cast an instant or sorcery spell, put a verse counter on Aria of Flame, then it deals damage equal to the number of verse counters on it to target player or planeswalker.
Ability ability = new SpellCastControllerTriggeredAbility(
new AddCountersSourceEffect(CounterType.VERSE.createInstance()),
- StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false,
- "Whenever you cast an instant or sorcery spell,put a verse counter on {this}, " +
- "then it deals damage equal to the number of verse counters on it " +
- "to target player or planeswalker."
+ StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY,
+ false, "Whenever you cast an instant or sorcery spell, " +
+ "put a verse counter on {this}, then it deals damage equal to " +
+ "the number of verse counters on it to target player or planeswalker."
);
ability.addEffect(new DamageTargetEffect(xValue));
ability.addTarget(new TargetPlayerOrPlaneswalker());
diff --git a/Mage.Sets/src/mage/cards/c/CollectedConjuring.java b/Mage.Sets/src/mage/cards/c/CollectedConjuring.java
index 9ee09215d22..f46fe78b9d4 100644
--- a/Mage.Sets/src/mage/cards/c/CollectedConjuring.java
+++ b/Mage.Sets/src/mage/cards/c/CollectedConjuring.java
@@ -1,5 +1,6 @@
package mage.cards.c;
+import mage.ApprovingObject;
import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
@@ -15,7 +16,6 @@ import mage.players.Player;
import mage.target.TargetCard;
import java.util.UUID;
-import mage.ApprovingObject;
/**
* @author TheElk801
@@ -44,8 +44,7 @@ public final class CollectedConjuring extends CardImpl {
class CollectedConjuringEffect extends OneShotEffect {
- private static final FilterCard filter = new FilterCard(
- "sorcery cards with mana value 3 or less");
+ private static final FilterCard filter = new FilterCard("sorcery cards with mana value 3 or less");
static {
filter.add(CardType.SORCERY.getPredicate());
@@ -60,10 +59,9 @@ class CollectedConjuringEffect extends OneShotEffect {
CollectedConjuringEffect() {
super(Outcome.PlayForFree);
- this.staticText = "Exile the top six cards of your library. "
- + "You may cast up to two sorcery cards with mana values 3 or less from among them "
- + "without paying their mana cost. Put the exiled cards not cast this way "
- + "on the bottom of your library in a random order.";
+ this.staticText = "exile the top six cards of your library. You may cast up to two sorcery spells " +
+ "with mana value 3 or less from among them without paying their mana costs. " +
+ "Put the exiled cards not cast this way on the bottom of your library in a random order";
}
private CollectedConjuringEffect(final CollectedConjuringEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/c/ConiferWurm.java b/Mage.Sets/src/mage/cards/c/ConiferWurm.java
index 5911430aed4..487b8762644 100644
--- a/Mage.Sets/src/mage/cards/c/ConiferWurm.java
+++ b/Mage.Sets/src/mage/cards/c/ConiferWurm.java
@@ -48,7 +48,9 @@ public final class ConiferWurm extends CardImpl {
// {3}{G}: Conifer Wurm gets +X/+X until end of turn, where X is the number of snow permanents you control.
this.addAbility(new SimpleActivatedAbility(
- new BoostSourceEffect(xValue, xValue, Duration.EndOfTurn), new ManaCostsImpl("{3}{G}")
+ new BoostSourceEffect(xValue, xValue, Duration.EndOfTurn)
+ .setText("{this} gets +X/+X until end of turn, where X is the number of snow permanents you control"),
+ new ManaCostsImpl<>("{3}{G}")
).addHint(hint));
}
diff --git a/Mage.Sets/src/mage/cards/c/CordialVampire.java b/Mage.Sets/src/mage/cards/c/CordialVampire.java
index fcb7ff5e147..784664bc84d 100644
--- a/Mage.Sets/src/mage/cards/c/CordialVampire.java
+++ b/Mage.Sets/src/mage/cards/c/CordialVampire.java
@@ -9,7 +9,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
import mage.filter.FilterPermanent;
-import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.common.FilterControlledPermanent;
import java.util.UUID;
@@ -19,7 +19,7 @@ import java.util.UUID;
public final class CordialVampire extends CardImpl {
private static final FilterPermanent filter
- = new FilterControlledCreaturePermanent(SubType.VAMPIRE, "Vampire creature you control");
+ = new FilterControlledPermanent(SubType.VAMPIRE, "Vampire you control");
public CordialVampire(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}");
diff --git a/Mage.Sets/src/mage/cards/e/Endling.java b/Mage.Sets/src/mage/cards/e/Endling.java
index 20aed35de9a..f09d3a8cc4b 100644
--- a/Mage.Sets/src/mage/cards/e/Endling.java
+++ b/Mage.Sets/src/mage/cards/e/Endling.java
@@ -37,34 +37,22 @@ public final class Endling extends CardImpl {
this.toughness = new MageInt(3);
// {B}: Endling gains menace until end of turn.
- this.addAbility(new SimpleActivatedAbility(
- new GainAbilitySourceEffect(
- new MenaceAbility(),
- Duration.EndOfTurn
- ), new ManaCostsImpl("{B}")
- ));
+ this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(
+ new MenaceAbility(), Duration.EndOfTurn
+ ), new ManaCostsImpl<>("{B}")));
// {B}: Endling gains deathtouch until end of turn.
- this.addAbility(new SimpleActivatedAbility(
- new GainAbilitySourceEffect(
- DeathtouchAbility.getInstance(),
- Duration.EndOfTurn
- ), new ManaCostsImpl("{B}")
- ));
+ this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(
+ DeathtouchAbility.getInstance(), Duration.EndOfTurn
+ ), new ManaCostsImpl<>("{B}")));
// {B}: Endling gains undying until end of turn.
- this.addAbility(new SimpleActivatedAbility(
- new GainAbilitySourceEffect(
- new UndyingAbility(),
- Duration.EndOfTurn
- ), new ManaCostsImpl("{B}")
- ));
+ this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(
+ new UndyingAbility(), Duration.EndOfTurn
+ ), new ManaCostsImpl<>("{B}")));
// {1}: Endling gets +1/-1 or -1/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(
- new EndlingEffect(),
- new GenericManaCost(1)
- ));
+ this.addAbility(new SimpleActivatedAbility(new EndlingEffect(), new GenericManaCost(1)));
}
private Endling(final Endling card) {
diff --git a/Mage.Sets/src/mage/cards/e/EnduringSliver.java b/Mage.Sets/src/mage/cards/e/EnduringSliver.java
index b3085255b6f..953bbfe1b58 100644
--- a/Mage.Sets/src/mage/cards/e/EnduringSliver.java
+++ b/Mage.Sets/src/mage/cards/e/EnduringSliver.java
@@ -27,13 +27,13 @@ public final class EnduringSliver extends CardImpl {
this.toughness = new MageInt(2);
// Outlast {2}
- this.addAbility(new OutlastAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{2}")));
// Other sliver creatures you control have outlast {2}.
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
- new OutlastAbility(new ManaCostsImpl("{2}")), Duration.WhileOnBattlefield,
+ new OutlastAbility(new ManaCostsImpl<>("{2}")), Duration.WhileOnBattlefield,
StaticFilters.FILTER_PERMANENT_CREATURE_SLIVERS, true
- ).setText("Other sliver creatures you control have outlast {2}.")));
+ ).setText("Other Sliver creatures you control have outlast {2}.")));
}
private EnduringSliver(final EnduringSliver card) {
diff --git a/Mage.Sets/src/mage/cards/f/FallenShinobi.java b/Mage.Sets/src/mage/cards/f/FallenShinobi.java
index 1cac01b1244..19b61ebf61a 100644
--- a/Mage.Sets/src/mage/cards/f/FallenShinobi.java
+++ b/Mage.Sets/src/mage/cards/f/FallenShinobi.java
@@ -52,7 +52,7 @@ class FallenShinobiEffect extends OneShotEffect {
FallenShinobiEffect() {
super(Outcome.Benefit);
staticText = "that player exiles the top two cards of their library. "
- + "Until end of turn, you may play those cards without paying their mana cost.";
+ + "Until end of turn, you may play those cards without paying their mana costs.";
}
private FallenShinobiEffect(final FallenShinobiEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/f/FrostwalkBastion.java b/Mage.Sets/src/mage/cards/f/FrostwalkBastion.java
index 15b5f9d8f03..509ce16554e 100644
--- a/Mage.Sets/src/mage/cards/f/FrostwalkBastion.java
+++ b/Mage.Sets/src/mage/cards/f/FrostwalkBastion.java
@@ -35,11 +35,11 @@ public final class FrostwalkBastion extends CardImpl {
// {1}{S}: Until end of turn, Frostwalk Bastion becomes a 2/3 Construct artifact creature. It's still a land.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new FrostwalkBastionToken(), "land", Duration.EndOfTurn
- ), new ManaCostsImpl("{1}{S}")));
+ ), new ManaCostsImpl<>("{1}{S}")));
// Whenever Frostwalk Bastion deals combat damage to a creature, tap that creature and it doesn't untap during its controller's next untap step.
Ability ability = new DealsDamageToACreatureTriggeredAbility(
- new TapTargetEffect().setText("tap that creature"),
+ new TapTargetEffect().setText("that creature"),
true, false, true
);
ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect()
diff --git a/Mage.Sets/src/mage/cards/g/Graveshifter.java b/Mage.Sets/src/mage/cards/g/Graveshifter.java
index e7f7f09a771..fe70f8130f0 100644
--- a/Mage.Sets/src/mage/cards/g/Graveshifter.java
+++ b/Mage.Sets/src/mage/cards/g/Graveshifter.java
@@ -3,7 +3,7 @@ package mage.cards.g;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
-import mage.abilities.effects.common.ReturnToHandTargetEffect;
+import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.abilities.keyword.ChangelingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -30,7 +30,7 @@ public final class Graveshifter extends CardImpl {
this.addAbility(new ChangelingAbility());
// When Graveshifter enters the battlefield, you may return target creature card from your graveyard to your hand.
- Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true);
+ Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true);
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/i/IcehideGolem.java b/Mage.Sets/src/mage/cards/i/IcehideGolem.java
index 663258d4573..05983a533ee 100644
--- a/Mage.Sets/src/mage/cards/i/IcehideGolem.java
+++ b/Mage.Sets/src/mage/cards/i/IcehideGolem.java
@@ -26,7 +26,7 @@ public final class IcehideGolem extends CardImpl {
// ({S} can be paid with one mana from a snow permanent.)
this.addAbility(new SimpleStaticAbility(
- new InfoEffect("({S} can be paid with one mana from a snow permanent.)")
+ new InfoEffect("({S} can be paid with one mana from a snow source.)")
));
}
diff --git a/Mage.Sets/src/mage/cards/i/IgneousElemental.java b/Mage.Sets/src/mage/cards/i/IgneousElemental.java
index 6e2feaf3211..3575d8106a6 100644
--- a/Mage.Sets/src/mage/cards/i/IgneousElemental.java
+++ b/Mage.Sets/src/mage/cards/i/IgneousElemental.java
@@ -41,9 +41,7 @@ public final class IgneousElemental extends CardImpl {
// When Igneous Elemental enters the battlefield, you may have it deal 2 damage to target creature.
ability = new EntersBattlefieldTriggeredAbility(
- new DamageTargetEffect(2)
- .setText("have it deal 2 damage to target creature"),
- true
+ new DamageTargetEffect(2).setText("it deal 2 damage to target creature"), true
);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/k/KayasGuile.java b/Mage.Sets/src/mage/cards/k/KayasGuile.java
index feb8b1d6fc0..8526d2fdec2 100644
--- a/Mage.Sets/src/mage/cards/k/KayasGuile.java
+++ b/Mage.Sets/src/mage/cards/k/KayasGuile.java
@@ -36,7 +36,7 @@ public final class KayasGuile extends CardImpl {
// • Exile all cards from each opponent's graveyard.
this.getSpellAbility().addMode(new Mode(new ExileGraveyardAllPlayersEffect(
StaticFilters.FILTER_CARD_CARDS, TargetController.OPPONENT
- )));
+ ).setText("exile all cards from each opponent's graveyard")));
// • Create a 1/1 white and black Spirit creature token with flying.
this.getSpellAbility().addMode(new Mode(new CreateTokenEffect(new WhiteBlackSpiritToken())));
@@ -45,7 +45,7 @@ public final class KayasGuile extends CardImpl {
this.getSpellAbility().addMode(new Mode(new GainLifeEffect(4)));
// Entwine {3}
- this.addAbility(new EntwineAbility(new ManaCostsImpl("{3}"), "Choose all if you pay the entwine cost."));
+ this.addAbility(new EntwineAbility(new ManaCostsImpl<>("{3}"), "Choose all if you pay the entwine cost."));
}
private KayasGuile(final KayasGuile card) {
diff --git a/Mage.Sets/src/mage/cards/m/MartyrsSoul.java b/Mage.Sets/src/mage/cards/m/MartyrsSoul.java
index 1653142dca4..5399042dc28 100644
--- a/Mage.Sets/src/mage/cards/m/MartyrsSoul.java
+++ b/Mage.Sets/src/mage/cards/m/MartyrsSoul.java
@@ -49,7 +49,7 @@ public final class MartyrsSoul extends CardImpl {
new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(
CounterType.P1P1.createInstance(2)
)), condition, "When {this} enters the battlefield, " +
- "if you control no tapped lands, put two +1/+1 counters on it"
+ "if you control no tapped lands, put two +1/+1 counters on it."
));
}
diff --git a/Mage.Sets/src/mage/cards/m/MunitionsExpert.java b/Mage.Sets/src/mage/cards/m/MunitionsExpert.java
index 6704eab91f5..e1bb881df1c 100644
--- a/Mage.Sets/src/mage/cards/m/MunitionsExpert.java
+++ b/Mage.Sets/src/mage/cards/m/MunitionsExpert.java
@@ -42,7 +42,10 @@ public final class MunitionsExpert extends CardImpl {
// When Munitions Expert enters the battlefield, you may have it deal damage to target creature or planeswalker equal to the number of Goblins you control.
Ability ability = new EntersBattlefieldTriggeredAbility(
- new DamageTargetEffect(xValue, "it"), true
+ new DamageTargetEffect(xValue)
+ .setText("it deal damage to target creature or planeswalker " +
+ "equal to the number of Goblins you control"),
+ true
);
ability.addTarget(new TargetCreatureOrPlaneswalker());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/r/Reprobation.java b/Mage.Sets/src/mage/cards/r/Reprobation.java
index d874a21eef5..e678e35992e 100644
--- a/Mage.Sets/src/mage/cards/r/Reprobation.java
+++ b/Mage.Sets/src/mage/cards/r/Reprobation.java
@@ -38,10 +38,10 @@ public final class Reprobation extends CardImpl {
// Enchanted creature loses all abilities and is a Coward creature with base power and toughness 0/1.
// (It keeps all supertypes but loses all other types and creature types.)
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
- new ReprobationToken(), "Enchanted creature loses all abilities and is a Coward creature with base power and toughness 0/1"
- + " (It keeps all supertypes but loses all other types and creature types.)",
- Duration.WhileOnBattlefield,
- BecomesCreatureAttachedEffect.LoseType.ABILITIES_SUBTYPE
+ new ReprobationToken(), "Enchanted creature loses all abilities " +
+ "and is a Coward creature with base power and toughness 0/1. " +
+ "(It keeps all supertypes but loses all other types and creature types.)",
+ Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.ABILITIES_SUBTYPE
)));
}
diff --git a/Mage.Sets/src/mage/cards/r/ReturnFromExtinction.java b/Mage.Sets/src/mage/cards/r/ReturnFromExtinction.java
index a3c6df6c64a..0714310fd31 100644
--- a/Mage.Sets/src/mage/cards/r/ReturnFromExtinction.java
+++ b/Mage.Sets/src/mage/cards/r/ReturnFromExtinction.java
@@ -50,7 +50,7 @@ class ReturnFromExtinctionTarget extends TargetCardInYourGraveyard {
ReturnFromExtinctionTarget() {
super(2, 2, StaticFilters.FILTER_CARD_CREATURE, false);
- targetName = "creature cards that share a creature type";
+ targetName = "creature cards that share a creature type from your graveyard";
}
private ReturnFromExtinctionTarget(final ReturnFromExtinctionTarget target) {
diff --git a/Mage.Sets/src/mage/cards/r/RotwidowPack.java b/Mage.Sets/src/mage/cards/r/RotwidowPack.java
index 721d5ac8c1a..fb4e754c2e2 100644
--- a/Mage.Sets/src/mage/cards/r/RotwidowPack.java
+++ b/Mage.Sets/src/mage/cards/r/RotwidowPack.java
@@ -42,12 +42,10 @@ public final class RotwidowPack extends CardImpl {
// {3}{B}{G}, Exile a creature card from your graveyard: Create a 1/2 green Spider creature token with reach, then each opponent loses 1 life for each Spider you control.
Ability ability = new SimpleActivatedAbility(
- new CreateTokenEffect(new SpiderToken())
- .setText("create a 1/2 green Spider creature token with reach, then"),
- new ManaCostsImpl("{3}{B}{G}")
+ new CreateTokenEffect(new SpiderToken()), new ManaCostsImpl<>("{3}{B}{G}")
);
ability.addEffect(new LoseLifeOpponentsEffect(xValue)
- .setText("each opponent loses 1 life for each Spider you control.")
+ .setText(", then each opponent loses 1 life for each Spider you control.")
);
ability.addCost(new ExileFromGraveCost(
new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)
diff --git a/Mage.Sets/src/mage/cards/t/TreetopAmbusher.java b/Mage.Sets/src/mage/cards/t/TreetopAmbusher.java
index 1123c1820c8..db38f1f9bf8 100644
--- a/Mage.Sets/src/mage/cards/t/TreetopAmbusher.java
+++ b/Mage.Sets/src/mage/cards/t/TreetopAmbusher.java
@@ -10,7 +10,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
-import mage.target.common.TargetCreaturePermanent;
+import mage.target.common.TargetControlledCreaturePermanent;
import java.util.UUID;
@@ -34,7 +34,7 @@ public final class TreetopAmbusher extends CardImpl {
Ability ability = new AttacksTriggeredAbility(new BoostTargetEffect(
1, 1, Duration.EndOfTurn
), false);
- ability.addTarget(new TargetCreaturePermanent());
+ ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/w/WebweaverChangeling.java b/Mage.Sets/src/mage/cards/w/WebweaverChangeling.java
index eb8d8608b44..ea7ab40a175 100644
--- a/Mage.Sets/src/mage/cards/w/WebweaverChangeling.java
+++ b/Mage.Sets/src/mage/cards/w/WebweaverChangeling.java
@@ -2,8 +2,9 @@ package mage.cards.w;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.condition.Condition;
import mage.abilities.condition.common.CardsInControllerGraveyardCondition;
-import mage.abilities.decorator.ConditionalOneShotEffect;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.keyword.ChangelingAbility;
import mage.abilities.keyword.ReachAbility;
@@ -20,6 +21,9 @@ import java.util.UUID;
*/
public final class WebweaverChangeling extends CardImpl {
+ private static final Condition condition
+ = new CardsInControllerGraveyardCondition(3, StaticFilters.FILTER_CARD_CREATURE);
+
public WebweaverChangeling(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}");
@@ -34,13 +38,11 @@ public final class WebweaverChangeling extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// When Webweaver Changeling enters the battlefield, if there are three or more creature cards in your graveyard, you gain 5 life.
- this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(
- new GainLifeEffect(5),
- new CardsInControllerGraveyardCondition(
- 3, StaticFilters.FILTER_CARD_CREATURE
- ), "When {this} enters the battlefield, if there are three or more " +
- "creature cards in your graveyard, you gain 5 life."
- )));
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
+ new EntersBattlefieldTriggeredAbility(new GainLifeEffect(5)), condition,
+ "When {this} enters the battlefield, if there are three or more " +
+ "creature cards in your graveyard, you gain 5 life."
+ ));
}
private WebweaverChangeling(final WebweaverChangeling card) {
diff --git a/Mage/src/main/java/mage/abilities/keyword/EntwineAbility.java b/Mage/src/main/java/mage/abilities/keyword/EntwineAbility.java
index 1ce40574a2b..5c258241cee 100644
--- a/Mage/src/main/java/mage/abilities/keyword/EntwineAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/EntwineAbility.java
@@ -49,7 +49,7 @@ public class EntwineAbility extends StaticAbility implements OptionalAdditionalM
public EntwineAbility(Cost cost, String reminderText) {
super(Zone.STACK, null);
- this.additionalCost = new OptionalAdditionalCostImpl(keywordText, "-", reminderText, cost);
+ this.additionalCost = new OptionalAdditionalCostImpl(keywordText, "—", reminderText, cost);
setRuleAtTheTop(true);
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/ExaltedAbility.java b/Mage/src/main/java/mage/abilities/keyword/ExaltedAbility.java
index 1fe2febcd42..e2a6cf9acaf 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ExaltedAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ExaltedAbility.java
@@ -46,7 +46,7 @@ public class ExaltedAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- return "Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)";
+ return "exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)";
}
}
diff --git a/Mage/src/main/java/mage/abilities/keyword/UndyingAbility.java b/Mage/src/main/java/mage/abilities/keyword/UndyingAbility.java
index c5c31546ec2..c78ff4c5fb9 100644
--- a/Mage/src/main/java/mage/abilities/keyword/UndyingAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/UndyingAbility.java
@@ -44,7 +44,7 @@ public class UndyingAbility extends DiesSourceTriggeredAbility {
@Override
public String getRule() {
- return "Undying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.)";
+ return "undying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.)";
}
}