diff --git a/Mage.Sets/src/mage/cards/b/BattlegateMimic.java b/Mage.Sets/src/mage/cards/b/BattlegateMimic.java
index 24e080bc71..86ae874cce 100644
--- a/Mage.Sets/src/mage/cards/b/BattlegateMimic.java
+++ b/Mage.Sets/src/mage/cards/b/BattlegateMimic.java
@@ -31,7 +31,7 @@ public final class BattlegateMimic extends CardImpl {
filter.add(new ColorPredicate(ObjectColor.WHITE));
}
- private static final String rule = "Whenever you cast a spell that's both red and white, {this} has base power and toughness 4/2 and gains first strike until end of turn.";
+ private static final String rule = "Whenever you cast a spell that's both red and white, {this} has base power and toughness 4/2 until end of turn and gains first strike until end of turn.";
public BattlegateMimic(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R/W}");
diff --git a/Mage.Sets/src/mage/cards/c/CankerousThirst.java b/Mage.Sets/src/mage/cards/c/CankerousThirst.java
index ea3a3e04aa..0bbf88c19b 100644
--- a/Mage.Sets/src/mage/cards/c/CankerousThirst.java
+++ b/Mage.Sets/src/mage/cards/c/CankerousThirst.java
@@ -52,7 +52,7 @@ class CankerousThirstEffect extends OneShotEffect {
public CankerousThirstEffect() {
super(Outcome.Benefit);
- this.staticText = "If {B} was spent to cast {this}, you may have target creature get -3/-3 until end of turn. If {G} was spent to cast this spell, you may have target creature get +3/+3 until end of turn";
+ this.staticText = "If {B} was spent to cast this spell, you may have target creature get -3/-3 until end of turn. If {G} was spent to cast this spell, you may have target creature get +3/+3 until end of turn";
}
public CankerousThirstEffect(final CankerousThirstEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/c/Crackleburr.java b/Mage.Sets/src/mage/cards/c/Crackleburr.java
index 7b19db74d8..aa7b0a4963 100644
--- a/Mage.Sets/src/mage/cards/c/Crackleburr.java
+++ b/Mage.Sets/src/mage/cards/c/Crackleburr.java
@@ -32,8 +32,8 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class Crackleburr extends CardImpl {
- private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("two untapped red creatures you control");
- private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("two tapped blue creatures you control");
+ private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped red creatures you control");
+ private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("tapped blue creatures you control");
static {
filter.add(new ColorPredicate(ObjectColor.RED));
diff --git a/Mage.Sets/src/mage/cards/d/DreamFracture.java b/Mage.Sets/src/mage/cards/d/DreamFracture.java
index 5d47719803..5dfce39664 100644
--- a/Mage.Sets/src/mage/cards/d/DreamFracture.java
+++ b/Mage.Sets/src/mage/cards/d/DreamFracture.java
@@ -27,7 +27,7 @@ public final class DreamFracture extends CardImpl {
this.getSpellAbility().addTarget(new TargetSpell());
// Draw a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
"));
}
diff --git a/Mage.Sets/src/mage/cards/d/DuergarAssailant.java b/Mage.Sets/src/mage/cards/d/DuergarAssailant.java
index a962587347..bf5f25b5ae 100644
--- a/Mage.Sets/src/mage/cards/d/DuergarAssailant.java
+++ b/Mage.Sets/src/mage/cards/d/DuergarAssailant.java
@@ -30,7 +30,7 @@ public final class DuergarAssailant extends CardImpl {
this.toughness = new MageInt(1);
// Sacrifice Duergar Assailant: Duergar Assailant deals 1 damage to target attacking or blocking creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new SacrificeSourceCost());
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1, "it"), new SacrificeSourceCost());
ability.addTarget(new TargetAttackingOrBlockingCreature());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/e/EndlessHorizons.java b/Mage.Sets/src/mage/cards/e/EndlessHorizons.java
index 99eb91e8a4..739586d3d5 100644
--- a/Mage.Sets/src/mage/cards/e/EndlessHorizons.java
+++ b/Mage.Sets/src/mage/cards/e/EndlessHorizons.java
@@ -52,7 +52,7 @@ class EndlessHorizonsEffect extends OneShotEffect {
EndlessHorizonsEffect() {
super(Outcome.Neutral);
- this.staticText = "search your library for any number of Plains cards and exile them. Then shuffle";
+ this.staticText = "search your library for any number of Plains cards, exile them, then shuffle";
}
private EndlessHorizonsEffect(final EndlessHorizonsEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/h/HallowedBurial.java b/Mage.Sets/src/mage/cards/h/HallowedBurial.java
index 2711f8ea3a..8446890315 100644
--- a/Mage.Sets/src/mage/cards/h/HallowedBurial.java
+++ b/Mage.Sets/src/mage/cards/h/HallowedBurial.java
@@ -42,7 +42,7 @@ class HallowedBurialEffect extends OneShotEffect {
public HallowedBurialEffect() {
super(Outcome.Neutral);
- this.staticText = "Put all creatures on the bottom of their owner's libraries";
+ this.staticText = "Put all creatures on the bottom of their owners' libraries";
}
public HallowedBurialEffect(final HallowedBurialEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/h/HotheadedGiant.java b/Mage.Sets/src/mage/cards/h/HotheadedGiant.java
index 3bdedbe92a..91ba66f331 100644
--- a/Mage.Sets/src/mage/cards/h/HotheadedGiant.java
+++ b/Mage.Sets/src/mage/cards/h/HotheadedGiant.java
@@ -40,7 +40,7 @@ public final class HotheadedGiant extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(
new AddCountersSourceEffect(CounterType.M1M1.createInstance(2)),
HotheadedGiantWatcher::checkSpell, null,
- "\"with two -1/-1 counters on it unless you've cast another red spell this turn\""
+ "with two -1/-1 counters on it unless you've cast another red spell this turn"
), new HotheadedGiantWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/i/InsideOut.java b/Mage.Sets/src/mage/cards/i/InsideOut.java
index a998d479b1..840c1849b9 100644
--- a/Mage.Sets/src/mage/cards/i/InsideOut.java
+++ b/Mage.Sets/src/mage/cards/i/InsideOut.java
@@ -26,7 +26,7 @@ public final class InsideOut extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Draw a card.
- this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
+ this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
"));
}
diff --git a/Mage.Sets/src/mage/cards/i/InvertTheSkies.java b/Mage.Sets/src/mage/cards/i/InvertTheSkies.java
index a738dce64f..4d484900c9 100644
--- a/Mage.Sets/src/mage/cards/i/InvertTheSkies.java
+++ b/Mage.Sets/src/mage/cards/i/InvertTheSkies.java
@@ -45,7 +45,7 @@ public final class InvertTheSkies extends CardImpl {
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
new LockedInCondition(new ManaWasSpentCondition(ColoredManaSymbol.U)),
- "and creatures you control gain flying until end of turn if {U} was spent to cast it"));
+ "and creatures you control gain flying until end of turn if {U} was spent to cast this spell"));
this.getSpellAbility().addEffect(new InfoEffect("(Do both if {G}{U} was spent.)"));
diff --git a/Mage.Sets/src/mage/cards/m/Moonhold.java b/Mage.Sets/src/mage/cards/m/Moonhold.java
index de153b6071..06fae7fd0e 100644
--- a/Mage.Sets/src/mage/cards/m/Moonhold.java
+++ b/Mage.Sets/src/mage/cards/m/Moonhold.java
@@ -34,7 +34,7 @@ public final class Moonhold extends CardImpl {
ContinuousRuleModifyingEffect effect = new MoonholdEffect();
ContinuousRuleModifyingEffect effect2 = new MoonholdEffect2();
effect.setText("Target player can't play lands this turn if {R} was spent to cast this spell");
- effect2.setText("and can't cast creature spells this turn if {W} was spent to cast it.");
+ effect2.setText("and can't cast creature spells this turn if {W} was spent to cast this spell.");
this.getSpellAbility().addEffect(new ConditionalContinuousRuleModifyingEffect(
effect,
new LockedInCondition(new ManaWasSpentCondition(ColoredManaSymbol.R))));
diff --git a/Mage.Sets/src/mage/cards/n/NoggleRansacker.java b/Mage.Sets/src/mage/cards/n/NoggleRansacker.java
index 2ef8897903..95e7a458f7 100644
--- a/Mage.Sets/src/mage/cards/n/NoggleRansacker.java
+++ b/Mage.Sets/src/mage/cards/n/NoggleRansacker.java
@@ -28,7 +28,7 @@ public final class NoggleRansacker extends CardImpl {
// When Noggle Ransacker enters the battlefield, each player draws two cards, then discards a card at random.
Ability ability = new EntersBattlefieldTriggeredAbility(new DrawCardAllEffect(2));
- ability.addEffect(new DiscardEachPlayerEffect(1, true));
+ ability.addEffect(new DiscardEachPlayerEffect(1, true).setText(", then discards a card at random"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/n/Nucklavee.java b/Mage.Sets/src/mage/cards/n/Nucklavee.java
index b509892c20..8aa78bb754 100644
--- a/Mage.Sets/src/mage/cards/n/Nucklavee.java
+++ b/Mage.Sets/src/mage/cards/n/Nucklavee.java
@@ -1,12 +1,10 @@
-
package mage.cards.n;
-import java.util.UUID;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
-import mage.abilities.effects.common.ReturnToHandTargetEffect;
+import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -15,8 +13,9 @@ import mage.filter.FilterCard;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCardInYourGraveyard;
+import java.util.UUID;
+
/**
- *
* @author Loki
*/
public final class Nucklavee extends CardImpl {
@@ -31,18 +30,18 @@ public final class Nucklavee extends CardImpl {
}
public Nucklavee(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U/R}{U/R}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U/R}{U/R}");
this.subtype.add(SubType.BEAST);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
// When Nucklavee enters the battlefield, you may return target red sorcery 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(filterRed));
this.addAbility(ability);
// When Nucklavee enters the battlefield, you may return target blue instant card from your graveyard to your hand.
- ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true);
+ ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true);
ability.addTarget(new TargetCardInYourGraveyard(filterBlue));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java b/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java
index f5ab080f9f..4f4a10b7e5 100644
--- a/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java
+++ b/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java
@@ -37,7 +37,7 @@ public final class OverbeingOfMyth extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(number, Duration.EndOfGame)));
// At the beginning of your draw step, draw an additional card.
- this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false));
+ this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1).setText("draw an additional card"), TargetController.YOU, false));
}
diff --git a/Mage.Sets/src/mage/cards/r/RekindledFlame.java b/Mage.Sets/src/mage/cards/r/RekindledFlame.java
index 641012684e..3cae459954 100644
--- a/Mage.Sets/src/mage/cards/r/RekindledFlame.java
+++ b/Mage.Sets/src/mage/cards/r/RekindledFlame.java
@@ -1,12 +1,12 @@
package mage.cards.r;
-import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.condition.common.OpponentHasNoCardsInHandCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
import mage.abilities.hint.ConditionHint;
+import mage.abilities.hint.Hint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
@@ -21,6 +21,10 @@ import java.util.UUID;
*/
public final class RekindledFlame extends CardImpl {
+ private static final Hint hint = new ConditionHint(
+ OpponentHasNoCardsInHandCondition.instance, "Opponent has no cards in hand"
+ );
+
public RekindledFlame(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}{R}");
@@ -29,14 +33,13 @@ public final class RekindledFlame extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTarget());
// At the beginning of your upkeep, if an opponent has no cards in hand, you may return Rekindled Flame from your graveyard to your hand.
- Ability ability = new ConditionalInterveningIfTriggeredAbility(
- new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), TargetController.YOU, true),
- OpponentHasNoCardsInHandCondition.instance,
- "If an opponent has no cards in hand, you may return Rekindled Flame from your graveyard to your hand.");
- ability.addHint(new ConditionHint(OpponentHasNoCardsInHandCondition.instance, "Opponent has no cards in hand"));
- ability.setRuleVisible(true);
- this.addAbility(ability);
-
+ this.addAbility(new ConditionalInterveningIfTriggeredAbility(
+ new BeginningOfUpkeepTriggeredAbility(
+ Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(),
+ TargetController.YOU, true
+ ), OpponentHasNoCardsInHandCondition.instance, "At the beginning of your upkeep, " +
+ "if an opponent has no cards in hand, you may return {this} from your graveyard to your hand."
+ ).addHint(hint));
}
private RekindledFlame(final RekindledFlame card) {
@@ -47,4 +50,4 @@ public final class RekindledFlame extends CardImpl {
public RekindledFlame copy() {
return new RekindledFlame(this);
}
-}
\ No newline at end of file
+}
diff --git a/Mage.Sets/src/mage/cards/s/SyphonLife.java b/Mage.Sets/src/mage/cards/s/SyphonLife.java
index 29874a4a43..8cfbb7a856 100644
--- a/Mage.Sets/src/mage/cards/s/SyphonLife.java
+++ b/Mage.Sets/src/mage/cards/s/SyphonLife.java
@@ -1,7 +1,5 @@
-
package mage.cards.s;
-import java.util.UUID;
import mage.abilities.effects.common.GainLifeEffect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.abilities.keyword.RetraceAbility;
@@ -10,20 +8,21 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.TargetPlayer;
+import java.util.UUID;
+
/**
- *
* @author Plopman
*/
public final class SyphonLife extends CardImpl {
public SyphonLife(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}{B}");
-
+ super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}{B}");
// Target player loses 2 life and you gain 2 life.
this.getSpellAbility().addEffect(new LoseLifeTargetEffect(2));
this.getSpellAbility().addTarget(new TargetPlayer());
- this.getSpellAbility().addEffect(new GainLifeEffect(2));
+ this.getSpellAbility().addEffect(new GainLifeEffect(2).concatBy("and"));
+
// Retrace
this.addAbility(new RetraceAbility(this));
}
diff --git a/Mage.Sets/src/mage/cards/t/TalarasBattalion.java b/Mage.Sets/src/mage/cards/t/TalarasBattalion.java
index 16ef5fab6f..08cff739af 100644
--- a/Mage.Sets/src/mage/cards/t/TalarasBattalion.java
+++ b/Mage.Sets/src/mage/cards/t/TalarasBattalion.java
@@ -38,7 +38,7 @@ public final class TalarasBattalion extends CardImpl {
// Cast Talara's Battalion only if you've cast another green spell this turn.
this.addAbility(new CastOnlyIfConditionIsTrueAbility(
TalarasBattalionWatcher::checkSpell,
- "cast {this} only if you've cast another green spell this turn"
+ "cast this spell only if you've cast another green spell this turn"
), new TalarasBattalionWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/u/UnnervingAssault.java b/Mage.Sets/src/mage/cards/u/UnnervingAssault.java
index 4234257366..4e03b96d64 100644
--- a/Mage.Sets/src/mage/cards/u/UnnervingAssault.java
+++ b/Mage.Sets/src/mage/cards/u/UnnervingAssault.java
@@ -38,7 +38,7 @@ public final class UnnervingAssault extends CardImpl {
new ManaWasSpentCondition(ColoredManaSymbol.U), "Creatures your opponents control get -1/-0 until end of turn if {U} was spent to cast this spell,"));
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
new BoostAllEffect(1, 0, Duration.EndOfTurn, filter2, false),
- new ManaWasSpentCondition(ColoredManaSymbol.R), " and creatures you control get +1/+0 until end of turn if {R} was spent to cast it"));
+ new ManaWasSpentCondition(ColoredManaSymbol.R), " and creatures you control get +1/+0 until end of turn if {R} was spent to cast this spell"));
this.getSpellAbility().addEffect(new InfoEffect("(Do both if {U}{R} was spent.)"));
}
diff --git a/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java b/Mage.Verify/src/test/java/mage/verify/VerifyCardDataTest.java
index 3842df282f..229e5b1fff 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 = "LRW"; // check all abilities and output cards with wrong abilities texts;
+ private static final String FULL_ABILITIES_CHECK_SET_CODE = "EVE"; // 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/PersistAbility.java b/Mage/src/main/java/mage/abilities/keyword/PersistAbility.java
index adf31aceaf..3f0aabeaf5 100644
--- a/Mage/src/main/java/mage/abilities/keyword/PersistAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/PersistAbility.java
@@ -47,7 +47,7 @@ public class PersistAbility extends DiesSourceTriggeredAbility {
@Override
public String getRule() {
- return "Persist (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 "persist (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.)";
}
}