diff --git a/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java b/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java
index 594e077713..558cfe4241 100644
--- a/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java
+++ b/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java
@@ -23,7 +23,7 @@ import mage.game.permanent.token.SpiritWhiteToken;
*/
public final class AbzanAscendancy extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature you control");
+ private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a nontoken creature you control");
static {
filter.add(TargetController.YOU.getControllerPredicate());
diff --git a/Mage.Sets/src/mage/cards/a/ArtifactMutation.java b/Mage.Sets/src/mage/cards/a/ArtifactMutation.java
index 43c0240f8e..416308846b 100644
--- a/Mage.Sets/src/mage/cards/a/ArtifactMutation.java
+++ b/Mage.Sets/src/mage/cards/a/ArtifactMutation.java
@@ -25,7 +25,7 @@ public final class ArtifactMutation extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect(true));
this.getSpellAbility().addTarget(new TargetArtifactPermanent());
// create X 1/1 green Saproling creature tokens, where X is that artifact's converted mana cost.
- this.getSpellAbility().addEffect(new CreateTokenEffect(new SaprolingToken(), TargetConvertedManaCost.instance));
+ this.getSpellAbility().addEffect(new CreateTokenEffect(new SaprolingToken(), TargetConvertedManaCost.instance).setText("create X 1/1 green Saproling creature tokens, where X is that artifact's converted mana cost"));
}
public ArtifactMutation(final ArtifactMutation card) {
diff --git a/Mage.Sets/src/mage/cards/b/BlightedWoodland.java b/Mage.Sets/src/mage/cards/b/BlightedWoodland.java
index b69438215f..6bc7cc86d3 100644
--- a/Mage.Sets/src/mage/cards/b/BlightedWoodland.java
+++ b/Mage.Sets/src/mage/cards/b/BlightedWoodland.java
@@ -31,7 +31,7 @@ public final class BlightedWoodland extends CardImpl {
// {3}{G}, {T}, Sacrifice Blighted Woodland: Search your library for up to two basic land cards and put them onto the battlefield tapped. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
+ new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true, true),
new ManaCostsImpl<>("{3}{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java b/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java
index 2c76cf9d58..f3e58623e0 100644
--- a/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java
+++ b/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java
@@ -1,9 +1,6 @@
package mage.cards.c;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@@ -13,8 +10,8 @@ import mage.cards.Card;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.constants.SubType;
import mage.constants.Outcome;
+import mage.constants.SubType;
import mage.filter.common.FilterControlledArtifactPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledEnchantmentPermanent;
@@ -26,14 +23,17 @@ import mage.players.Player;
import mage.target.Target;
import mage.target.common.TargetControlledPermanent;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
/**
- *
* @author fireshoes
*/
public final class CataclysmicGearhulk extends CardImpl {
public CataclysmicGearhulk(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}{W}");
+ super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}{W}");
this.subtype.add(SubType.CONSTRUCT);
this.power = new MageInt(4);
this.toughness = new MageInt(5);
@@ -80,8 +80,8 @@ class CataclysmicGearhulkEffect extends OneShotEffect {
public CataclysmicGearhulkEffect() {
super(Outcome.DestroyPermanent);
- staticText = "Each player chooses from among the non-land permanents they control an artifact, a creature, an enchantment, and a planeswalker, "
- + "then sacrifices the rest";
+ staticText = "each player chooses an artifact, a creature, an enchantment, and a planeswalker " +
+ "from among the nonland permanents they control then sacrifices the rest";
}
public CataclysmicGearhulkEffect(CataclysmicGearhulkEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/c/CometStorm.java b/Mage.Sets/src/mage/cards/c/CometStorm.java
index 4ec4f69d54..97fbbb1fe4 100644
--- a/Mage.Sets/src/mage/cards/c/CometStorm.java
+++ b/Mage.Sets/src/mage/cards/c/CometStorm.java
@@ -58,7 +58,7 @@ class CometStormEffect extends OneShotEffect {
public CometStormEffect() {
super(Outcome.Damage);
- staticText = "Choose any target, then choose another target for each time Comet Storm was kicked. Comet Storm deals X damage to each of them";
+ staticText = "Choose any target, then choose another target for each time this spell was kicked. {this} deals X damage to each of them";
}
public CometStormEffect(final CometStormEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/d/Deathsprout.java b/Mage.Sets/src/mage/cards/d/Deathsprout.java
index e7a64af570..3e470d1f6f 100644
--- a/Mage.Sets/src/mage/cards/d/Deathsprout.java
+++ b/Mage.Sets/src/mage/cards/d/Deathsprout.java
@@ -20,7 +20,7 @@ public final class Deathsprout extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}{B}{G}");
// Destroy target creature. Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
- this.getSpellAbility().addEffect(new DestroyTargetEffect().setText("Destroy target creature."));
+ this.getSpellAbility().addEffect(new DestroyTargetEffect().setText("Destroy target creature. "));
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true
));
diff --git a/Mage.Sets/src/mage/cards/d/DriftingMeadow.java b/Mage.Sets/src/mage/cards/d/DriftingMeadow.java
index 0aad8815f3..a980ba89dc 100644
--- a/Mage.Sets/src/mage/cards/d/DriftingMeadow.java
+++ b/Mage.Sets/src/mage/cards/d/DriftingMeadow.java
@@ -22,8 +22,8 @@ public final class DriftingMeadow extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
this.addAbility(new EntersBattlefieldTappedAbility());
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
this.addAbility(new WhiteManaAbility());
+ this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
}
public DriftingMeadow(final DriftingMeadow card) {
diff --git a/Mage.Sets/src/mage/cards/e/EvolutionCharm.java b/Mage.Sets/src/mage/cards/e/EvolutionCharm.java
index d552e8ff70..b8ed70aac1 100644
--- a/Mage.Sets/src/mage/cards/e/EvolutionCharm.java
+++ b/Mage.Sets/src/mage/cards/e/EvolutionCharm.java
@@ -1,8 +1,7 @@
-
package mage.cards.e;
import mage.abilities.Mode;
-import mage.abilities.effects.common.ReturnToHandTargetEffect;
+import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.abilities.keyword.FlyingAbility;
@@ -18,7 +17,6 @@ import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
- *
* @author fireshoes
*/
public final class EvolutionCharm extends CardImpl {
@@ -27,11 +25,11 @@ public final class EvolutionCharm extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}");
// Choose one - Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library;
- this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true));
+ this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true).setText("Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library"));
// or return target creature card from your graveyard to your hand;
Mode mode = new Mode();
- mode.addEffect(new ReturnToHandTargetEffect());
+ mode.addEffect(new ReturnFromGraveyardToHandTargetEffect());
mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
this.getSpellAbility().addMode(mode);
diff --git a/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java b/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java
index 221994fa05..511d2639f9 100644
--- a/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java
+++ b/Mage.Sets/src/mage/cards/f/FlawlessManeuver.java
@@ -8,6 +8,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
+import mage.filter.StaticFilters;
import java.util.UUID;
@@ -24,7 +25,8 @@ public final class FlawlessManeuver extends CardImpl {
// Creatures you control gain indestructible until end of turn.
this.getSpellAbility().addEffect(new GainAbilityControlledEffect(
- IndestructibleAbility.getInstance(), Duration.EndOfTurn
+ IndestructibleAbility.getInstance(), Duration.EndOfTurn,
+ StaticFilters.FILTER_PERMANENT_CREATURES
));
}
diff --git a/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java b/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java
index 148f68f513..e79ecc0ae2 100644
--- a/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java
+++ b/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java
@@ -33,7 +33,7 @@ public final class FumikoTheLowblood extends CardImpl {
this.toughness = new MageInt(2);
// Fumiko the Lowblood has bushido X, where X is the number of attacking creatures.
- this.addAbility(new BushidoAbility(new AttackingCreatureCount("the number of attacking creatures")));
+ this.addAbility(new BushidoAbility(new AttackingCreatureCount("the number of attacking creatures.")));
// Creatures your opponents control attack each turn if able.
FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures your opponents control");
diff --git a/Mage.Sets/src/mage/cards/h/HaldanAvidArcanist.java b/Mage.Sets/src/mage/cards/h/HaldanAvidArcanist.java
index e946f7fff6..278edcae98 100644
--- a/Mage.Sets/src/mage/cards/h/HaldanAvidArcanist.java
+++ b/Mage.Sets/src/mage/cards/h/HaldanAvidArcanist.java
@@ -54,7 +54,7 @@ class HaldanAvidArcanistCastFromExileEffect extends AsThoughEffectImpl {
HaldanAvidArcanistCastFromExileEffect() {
super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.Custom, Outcome.Benefit);
- staticText = "You may play noncreature cards from exile with fetch counters on them if you exiled them, and";
+ staticText = "You may play noncreature cards from exile with fetch counters on them if you exiled them";
}
private HaldanAvidArcanistCastFromExileEffect(final HaldanAvidArcanistCastFromExileEffect effect) {
@@ -87,7 +87,7 @@ class HaldanAvidArcanistSpendAnyManaEffect extends AsThoughEffectImpl implements
HaldanAvidArcanistSpendAnyManaEffect() {
super(AsThoughEffectType.SPEND_OTHER_MANA, Duration.Custom, Outcome.Benefit);
- staticText = "you may spend mana as though it were mana of any color to cast those spells";
+ staticText = ", and you may spend mana as though it were mana of any color to cast those spells";
}
private HaldanAvidArcanistSpendAnyManaEffect(final HaldanAvidArcanistSpendAnyManaEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/h/Harrow.java b/Mage.Sets/src/mage/cards/h/Harrow.java
index c02b637224..27d536df96 100644
--- a/Mage.Sets/src/mage/cards/h/Harrow.java
+++ b/Mage.Sets/src/mage/cards/h/Harrow.java
@@ -27,7 +27,7 @@ public final class Harrow extends CardImpl {
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT)));
// Search your library for up to two basic land cards and put them onto the battlefield. Then shuffle your library.
- TargetCardInLibrary target = new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND);
+ TargetCardInLibrary target = new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS);
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(target, false, Outcome.PutLandInPlay));
}
diff --git a/Mage.Sets/src/mage/cards/h/HeroesBane.java b/Mage.Sets/src/mage/cards/h/HeroesBane.java
index 07be3f80bf..9cc3086757 100644
--- a/Mage.Sets/src/mage/cards/h/HeroesBane.java
+++ b/Mage.Sets/src/mage/cards/h/HeroesBane.java
@@ -34,7 +34,7 @@ public final class HeroesBane extends CardImpl {
"with four +1/+1 counters on it"));
// {2}{G}{G}: Put X +1/+1 counters on Heroe's Bane, where X is its power.
Effect effect = new AddCountersSourceEffect(CounterType.P1P1.createInstance(0), new SourcePermanentPowerCount(), true);
- effect.setText("Put X +1/+1 counters on Heroe's Bane, where X is its power");
+ effect.setText("Put X +1/+1 counters on {this}, where X is its power");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{G}{G}")));
}
diff --git a/Mage.Sets/src/mage/cards/j/JirinaKudro.java b/Mage.Sets/src/mage/cards/j/JirinaKudro.java
index 93fb8d661f..2869c9b253 100644
--- a/Mage.Sets/src/mage/cards/j/JirinaKudro.java
+++ b/Mage.Sets/src/mage/cards/j/JirinaKudro.java
@@ -36,7 +36,7 @@ public final class JirinaKudro extends CardImpl {
// When Jirina Kudro enters the battlefield, create a 1/1 white Human Soldier creature token for each time you've cast a commander from the command zone this game.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(
new HumanSoldierToken(), CommanderCastCountValue.instance
- )));
+ ).setText("create a 1/1 white Human Soldier creature token for each time you've cast a commander from the command zone this game")));
// Other Humans you control get +2/+0.
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(
diff --git a/Mage.Sets/src/mage/cards/k/KessigWolfRun.java b/Mage.Sets/src/mage/cards/k/KessigWolfRun.java
index 787bae0044..138ec4808e 100644
--- a/Mage.Sets/src/mage/cards/k/KessigWolfRun.java
+++ b/Mage.Sets/src/mage/cards/k/KessigWolfRun.java
@@ -1,7 +1,5 @@
-
package mage.cards.k;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
@@ -16,29 +14,34 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
-import mage.constants.Zone;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
* @author nantuko
*/
public final class KessigWolfRun extends CardImpl {
public KessigWolfRun(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
+ super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {X}{R}{G}, {T}: Target creature gets +X/+0 and gains trample until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{X}{R}{G}"));
+ Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(
+ TrampleAbility.getInstance(), Duration.EndOfTurn
+ ).setText("Target creature gets +X/+0"), new ManaCostsImpl("{X}{R}{G}"));
+ ability.addEffect(new BoostTargetEffect(
+ ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn
+ ).setText("and gains trample until end of turn"));
ability.addCost(new TapSourceCost());
- ability.addEffect(new BoostTargetEffect(ManacostVariableValue.instance, StaticValue.get(0), Duration.EndOfTurn));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
- public KessigWolfRun(final KessigWolfRun card) {
+ private KessigWolfRun(final KessigWolfRun card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java b/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java
index f08023b8d1..a3f4e93fd3 100644
--- a/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java
+++ b/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java
@@ -57,7 +57,7 @@ class LavabrinkFloodgatesEffect extends OneShotEffect {
LavabrinkFloodgatesEffect() {
super(Outcome.Benefit);
staticText = "that player may put a doom counter on {this} or remove a doom counter from it. " +
- "Then if it has three or more doom counters on it, sacrifice it. " +
+ "Then if it has three or more doom counters on it, sacrifice {this}. " +
"When you do, it deals 6 damage to each creature.";
}
diff --git a/Mage.Sets/src/mage/cards/m/MoltenEchoes.java b/Mage.Sets/src/mage/cards/m/MoltenEchoes.java
index 23a8c70c9e..a21876d3f2 100644
--- a/Mage.Sets/src/mage/cards/m/MoltenEchoes.java
+++ b/Mage.Sets/src/mage/cards/m/MoltenEchoes.java
@@ -46,7 +46,7 @@ public final class MoltenEchoes extends CardImpl {
filter, false, SetTargetPointer.PERMANENT,
"Whenever a nontoken creature of the chosen type enters the battlefield under your control, "
+ "create a token that's a copy of that creature. "
- + "That token gains haste. Exile it at the beginning of the next end step");
+ + "That token gains haste. Exile it at the beginning of the next end step.");
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/m/MortuaryMire.java b/Mage.Sets/src/mage/cards/m/MortuaryMire.java
index 841529273d..17d2473647 100644
--- a/Mage.Sets/src/mage/cards/m/MortuaryMire.java
+++ b/Mage.Sets/src/mage/cards/m/MortuaryMire.java
@@ -26,7 +26,7 @@ public final class MortuaryMire extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
// When Mortuary Mire enters the battlefield, you may put target creature card from your graveyard on top of your library.
- Ability ability = new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(true), true);
+ Ability ability = new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(true).setText("put target creature card from your graveyard on top of your library"), true);
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/p/PainfulTruths.java b/Mage.Sets/src/mage/cards/p/PainfulTruths.java
index 7ce04d18b1..f0e585b4a7 100644
--- a/Mage.Sets/src/mage/cards/p/PainfulTruths.java
+++ b/Mage.Sets/src/mage/cards/p/PainfulTruths.java
@@ -26,7 +26,7 @@ public final class PainfulTruths extends CardImpl {
effect.setText("You draw X cards");
getSpellAbility().addEffect(effect);
effect = new LoseLifeSourceControllerEffect(ColorsOfManaSpentToCastCount.getInstance());
- effect.setText("and lose X life, where X is the number of colors of mana spent to cast {this}");
+ effect.setText("and lose X life, where X is the number of colors of mana spent to cast this spell");
getSpellAbility().addEffect(effect);
}
diff --git a/Mage.Sets/src/mage/cards/p/PathOfAncestry.java b/Mage.Sets/src/mage/cards/p/PathOfAncestry.java
index 82a171c7a7..5750db49fb 100644
--- a/Mage.Sets/src/mage/cards/p/PathOfAncestry.java
+++ b/Mage.Sets/src/mage/cards/p/PathOfAncestry.java
@@ -56,7 +56,7 @@ public final class PathOfAncestry extends CardImpl {
class PathOfAncestryTriggeredAbility extends TriggeredAbilityImpl {
public PathOfAncestryTriggeredAbility(Effect effect) {
- super(Zone.ALL, effect, true);
+ super(Zone.ALL, effect, false);
}
public PathOfAncestryTriggeredAbility(final PathOfAncestryTriggeredAbility ability) {
diff --git a/Mage.Sets/src/mage/cards/p/PredatorOoze.java b/Mage.Sets/src/mage/cards/p/PredatorOoze.java
index ff472f3e56..4f5bd58b25 100644
--- a/Mage.Sets/src/mage/cards/p/PredatorOoze.java
+++ b/Mage.Sets/src/mage/cards/p/PredatorOoze.java
@@ -30,7 +30,7 @@ public final class PredatorOoze extends CardImpl {
this.addAbility(IndestructibleAbility.getInstance());
// Whenever Predator Ooze attacks, put a +1/+1 counter on it.
- this.addAbility(new AttacksTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false));
+ this.addAbility(new AttacksTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()).setText("put a +1/+1 counter on it"), false));
// Whenever a creature dealt damage by Predator Ooze this turn dies, put a +1/+1 counter on Predator Ooze.
this.addAbility(new DealtDamageAndDiedTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())));
diff --git a/Mage.Sets/src/mage/cards/p/PredatoryImpetus.java b/Mage.Sets/src/mage/cards/p/PredatoryImpetus.java
index 4422d7bacb..6ef24a6429 100644
--- a/Mage.Sets/src/mage/cards/p/PredatoryImpetus.java
+++ b/Mage.Sets/src/mage/cards/p/PredatoryImpetus.java
@@ -39,7 +39,7 @@ public final class PredatoryImpetus extends CardImpl {
// Enchanted creature gets +3/+3, must be blocked if able, and is goaded.
this.addAbility(new GoadAttachedAbility(
new BoostEnchantedEffect(3, 3)
- .setText("Enchanted creature gets +3/+3,"),
+ .setText("Enchanted creature gets +3/+3"),
new PredatoryImpetusEffect()
));
}
@@ -58,7 +58,7 @@ class PredatoryImpetusEffect extends RequirementEffect {
PredatoryImpetusEffect() {
super(Duration.WhileOnBattlefield);
- staticText = "must be blocked if able,";
+ staticText = ", must be blocked if able";
}
private PredatoryImpetusEffect(final PredatoryImpetusEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/p/ProfaneCommand.java b/Mage.Sets/src/mage/cards/p/ProfaneCommand.java
index 9e9b5172f9..53826990e3 100644
--- a/Mage.Sets/src/mage/cards/p/ProfaneCommand.java
+++ b/Mage.Sets/src/mage/cards/p/ProfaneCommand.java
@@ -1,4 +1,3 @@
-
package mage.cards.p;
import mage.abilities.Ability;
@@ -48,7 +47,7 @@ public final class ProfaneCommand extends CardImpl {
// * Return target creature card with converted mana cost X or less from your graveyard to the battlefield.
Mode mode = new Mode();
- mode.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect());
+ mode.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect(false, false));
mode.addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card with converted mana cost X or less from your graveyard")));
this.getSpellAbility().addMode(mode);
diff --git a/Mage.Sets/src/mage/cards/s/Skullclamp.java b/Mage.Sets/src/mage/cards/s/Skullclamp.java
index 5c348e7009..59e53ea608 100644
--- a/Mage.Sets/src/mage/cards/s/Skullclamp.java
+++ b/Mage.Sets/src/mage/cards/s/Skullclamp.java
@@ -28,7 +28,7 @@ public final class Skullclamp extends CardImpl {
// Equipped creature gets +1/-1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, -1)));
// Whenever equipped creature dies, draw two cards.
- this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2), "equipped"));
+ this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2), "equipped creature"));
// Equip {1}
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1)));
}
diff --git a/Mage.Sets/src/mage/cards/s/SoaringSeacliff.java b/Mage.Sets/src/mage/cards/s/SoaringSeacliff.java
index 557065395f..32cd8f810f 100644
--- a/Mage.Sets/src/mage/cards/s/SoaringSeacliff.java
+++ b/Mage.Sets/src/mage/cards/s/SoaringSeacliff.java
@@ -23,10 +23,10 @@ public final class SoaringSeacliff extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
this.addAbility(new EntersBattlefieldTappedAbility());
- this.addAbility(new BlueManaAbility());
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
+ this.addAbility(new BlueManaAbility());
}
public SoaringSeacliff(final SoaringSeacliff card) {
diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfTheTajuru.java b/Mage.Sets/src/mage/cards/s/StrengthOfTheTajuru.java
index 73a007d69f..49e269ffd8 100644
--- a/Mage.Sets/src/mage/cards/s/StrengthOfTheTajuru.java
+++ b/Mage.Sets/src/mage/cards/s/StrengthOfTheTajuru.java
@@ -58,7 +58,7 @@ class StrengthOfTheTajuruAddCountersTargetEffect extends OneShotEffect {
public StrengthOfTheTajuruAddCountersTargetEffect() {
super(Outcome.BoostCreature);
- staticText = "Choose target creature, then choose another target creature for each time Strength of the Tajuru was kicked. Put X +1/+1 counters on each of them";
+ staticText = "Choose target creature, then choose another target creature for each time this spell was kicked. Put X +1/+1 counters on each of them";
}
public StrengthOfTheTajuruAddCountersTargetEffect(final StrengthOfTheTajuruAddCountersTargetEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java b/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java
index 4616b64a74..98470b8cbe 100644
--- a/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java
+++ b/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java
@@ -1,7 +1,5 @@
-
package mage.cards.t;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
@@ -10,26 +8,18 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
-import mage.filter.FilterSpell;
-import mage.filter.predicate.Predicates;
+import mage.filter.StaticFilters;
import mage.game.permanent.token.DrakeToken;
+import java.util.UUID;
+
/**
- *
* @author North
*/
public final class TalrandSkySummoner extends CardImpl {
- private static final FilterSpell filter = new FilterSpell("instant or sorcery card");
-
- static {
- filter.add(Predicates.or(
- CardType.INSTANT.getPredicate(),
- CardType.SORCERY.getPredicate()));
- }
-
public TalrandSkySummoner(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}");
addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.MERFOLK);
this.subtype.add(SubType.WIZARD);
@@ -38,10 +28,10 @@ public final class TalrandSkySummoner extends CardImpl {
this.toughness = new MageInt(2);
// Whenever you cast an instant or sorcery spell, create a 2/2 blue Drake creature token with flying.
- this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new DrakeToken()), filter, false));
+ this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new DrakeToken()), StaticFilters.FILTER_SPELL_AN_INSTANT_OR_SORCERY, false));
}
- public TalrandSkySummoner(final TalrandSkySummoner card) {
+ private TalrandSkySummoner(final TalrandSkySummoner card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/t/TemurCharm.java b/Mage.Sets/src/mage/cards/t/TemurCharm.java
index 5f5744beab..86160d8301 100644
--- a/Mage.Sets/src/mage/cards/t/TemurCharm.java
+++ b/Mage.Sets/src/mage/cards/t/TemurCharm.java
@@ -44,7 +44,7 @@ public final class TemurCharm extends CardImpl {
Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn);
this.getSpellAbility().addEffect(effect);
effect = new FightTargetsEffect();
- effect.setText("That creature fights target creature you don't control");
+ effect.setText("It fights target creature you don't control");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
Target target = new TargetCreaturePermanent(filter);
diff --git a/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java b/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java
index a22addd19b..2f13d3d180 100644
--- a/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java
+++ b/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java
@@ -21,7 +21,7 @@ import mage.filter.predicate.permanent.AnotherPredicate;
*/
public final class ThaliasLieutenant extends CardImpl {
- private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("each other Human you control");
+ private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another Human you control");
static {
filter.add(AnotherPredicate.instance);
diff --git a/Mage.Sets/src/mage/cards/v/VillainousWealth.java b/Mage.Sets/src/mage/cards/v/VillainousWealth.java
index d404f5b112..8b8366c186 100644
--- a/Mage.Sets/src/mage/cards/v/VillainousWealth.java
+++ b/Mage.Sets/src/mage/cards/v/VillainousWealth.java
@@ -50,8 +50,8 @@ class VillainousWealthEffect extends OneShotEffect {
public VillainousWealthEffect() {
super(Outcome.PlayForFree);
this.staticText = "Target opponent exiles the top X cards of their library. "
- + "You may cast any number of nonland cards with converted mana cost X "
- + "or less from among them without paying their mana cost";
+ + "You may cast any number of spells with converted mana cost X "
+ + "or less from among them without paying their mana costs";
}
public VillainousWealthEffect(final VillainousWealthEffect effect) {
diff --git a/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java
index 5dc5cec55c..36aa72e858 100644
--- a/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/AttacksCreatureYouControlTriggeredAbility.java
@@ -79,9 +79,9 @@ public class AttacksCreatureYouControlTriggeredAbility extends TriggeredAbilityI
if (who.startsWith("another")) {
an = "";
} else if (who.startsWith("a")) {
- an = "an";
+ an = "an ";
} else {
- an = "a";
+ an = "a ";
}
return "When" + (once ? "" : "ever")
diff --git a/Mage/src/main/java/mage/abilities/common/GoadAttachedAbility.java b/Mage/src/main/java/mage/abilities/common/GoadAttachedAbility.java
index 6ebfd1dc90..ebe0fdd501 100644
--- a/Mage/src/main/java/mage/abilities/common/GoadAttachedAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/GoadAttachedAbility.java
@@ -25,7 +25,8 @@ public class GoadAttachedAbility extends StaticAbility {
}
this.addEffect(new AttacksIfAbleAttachedEffect(
Duration.WhileOnBattlefield, AttachmentType.AURA
- ).setText("and"));
+ ).setText(", and is"));
+ this.addEffect(new GoadAttackEffect());
}
private GoadAttachedAbility(final GoadAttachedAbility ability) {
@@ -42,7 +43,7 @@ class GoadAttackEffect extends RestrictionEffect {
GoadAttackEffect() {
super(Duration.WhileOnBattlefield);
- staticText = "is goaded. (It attacks each combat if able and attacks a player other than you if able.)";
+ staticText = "goaded. (It attacks each combat if able and attacks a player other than you if able.)";
}
private GoadAttackEffect(final GoadAttackEffect effect) {
diff --git a/Mage/src/main/java/mage/abilities/costs/common/ExileSourceFromGraveCost.java b/Mage/src/main/java/mage/abilities/costs/common/ExileSourceFromGraveCost.java
index 0cf07fb3bd..2fcc873a16 100644
--- a/Mage/src/main/java/mage/abilities/costs/common/ExileSourceFromGraveCost.java
+++ b/Mage/src/main/java/mage/abilities/costs/common/ExileSourceFromGraveCost.java
@@ -17,7 +17,7 @@ import mage.players.Player;
public class ExileSourceFromGraveCost extends CostImpl {
public ExileSourceFromGraveCost() {
- this.text = "Exile this card from your graveyard";
+ this.text = "Exile {this} from your graveyard";
}
public ExileSourceFromGraveCost(ExileSourceFromGraveCost cost) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java
index 71482262d6..e13214695f 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/DiscardCardControllerTriggeredAbility.java
@@ -17,7 +17,7 @@ public class DiscardCardControllerTriggeredAbility extends TriggeredAbilityImpl
private final FilterCard filter;
public DiscardCardControllerTriggeredAbility(Effect effect, boolean isOptional) {
- this(effect, isOptional, StaticFilters.FILTER_CARD);
+ this(effect, isOptional, StaticFilters.FILTER_CARD_A);
}
public DiscardCardControllerTriggeredAbility(Effect effect, boolean isOptional, FilterCard filter) {
diff --git a/Mage/src/main/java/mage/abilities/keyword/MeleeAbility.java b/Mage/src/main/java/mage/abilities/keyword/MeleeAbility.java
index af26a6192c..5964d47642 100644
--- a/Mage/src/main/java/mage/abilities/keyword/MeleeAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/MeleeAbility.java
@@ -37,7 +37,7 @@ public class MeleeAbility extends AttacksTriggeredAbility {
@Override
public String getRule() {
- return "Melee (Whenever this creature attacks, it gets +1/+1 until end of turn for each opponent you attacked this combat.)";
+ return "melee (Whenever this creature attacks, it gets +1/+1 until end of turn for each opponent you attacked this combat.)";
}
}
diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java
index 7e71f5e9cf..8b6bb73bb2 100644
--- a/Mage/src/main/java/mage/filter/StaticFilters.java
+++ b/Mage/src/main/java/mage/filter/StaticFilters.java
@@ -148,6 +148,12 @@ public final class StaticFilters {
FILTER_CARD_BASIC_LAND.setLockedFilter(true);
}
+ public static final FilterBasicLandCard FILTER_CARD_BASIC_LANDS = new FilterBasicLandCard("basic land cards");
+
+ static {
+ FILTER_CARD_BASIC_LANDS.setLockedFilter(true);
+ }
+
public static final FilterBasicLandCard FILTER_CARD_BASIC_LAND_A = new FilterBasicLandCard("a basic land card");
static {