diff --git a/Mage.Sets/src/mage/cards/a/AjaniValiantProtector.java b/Mage.Sets/src/mage/cards/a/AjaniValiantProtector.java
index 146fe5af3e..f252b54b6c 100644
--- a/Mage.Sets/src/mage/cards/a/AjaniValiantProtector.java
+++ b/Mage.Sets/src/mage/cards/a/AjaniValiantProtector.java
@@ -44,7 +44,7 @@ public final class AjaniValiantProtector extends CardImpl {
// -11: Put X +1/+1 counters on target creature, where X is your life total. That creature gains trample until end of turn.
Effect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance(), ControllerLifeCount.instance);
- effect.setText("Put X +1/+1 counters on target creature, where X is your life total.");
+ effect.setText("Put X +1/+1 counters on target creature, where X is your life total");
ability = new LoyaltyAbility(effect, -11);
effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
effect.setText("That creature gains trample until end of turn");
diff --git a/Mage.Sets/src/mage/cards/a/AncientAnimus.java b/Mage.Sets/src/mage/cards/a/AncientAnimus.java
index 3695248b28..1e17063646 100644
--- a/Mage.Sets/src/mage/cards/a/AncientAnimus.java
+++ b/Mage.Sets/src/mage/cards/a/AncientAnimus.java
@@ -30,7 +30,7 @@ public final class AncientAnimus extends CardImpl {
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
new TargetHasSuperTypeCondition(SuperType.LEGENDARY)
);
- effect.setText("Put a +1/+1 counter on target creature you control if it's legendary.");
+ effect.setText("Put a +1/+1 counter on target creature you control if it's legendary");
this.getSpellAbility().addEffect(effect);
effect = new FightTargetsEffect();
effect.setText("Then it fights target creature an opponent controls");
diff --git a/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java b/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java
index cd22af0c0b..d1e765400f 100644
--- a/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java
+++ b/Mage.Sets/src/mage/cards/a/AnimatingFaerie.java
@@ -47,7 +47,7 @@ public final class AnimatingFaerie extends AdventureCard {
).setText("Target noncreature artifact you control becomes"));
this.getSpellCard().getSpellAbility().addEffect(new SetPowerToughnessTargetEffect(
0, 0, Duration.EndOfGame
- ).setText("a 0/0 artifact creature."));
+ ).setText("a 0/0 artifact creature"));
this.getSpellCard().getSpellAbility().addEffect(new AddCountersTargetEffect(
CounterType.P1P1.createInstance(4)
).setText("Put four +1/+1 counters on it."));
diff --git a/Mage.Sets/src/mage/cards/b/BattlefieldPromotion.java b/Mage.Sets/src/mage/cards/b/BattlefieldPromotion.java
index c86972f4c3..100716172b 100644
--- a/Mage.Sets/src/mage/cards/b/BattlefieldPromotion.java
+++ b/Mage.Sets/src/mage/cards/b/BattlefieldPromotion.java
@@ -25,7 +25,7 @@ public final class BattlefieldPromotion extends CardImpl {
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance()));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
FirstStrikeAbility.getInstance(), Duration.EndOfTurn
- ).setText("That creature gains first strike until end of turn."));
+ ).setText("That creature gains first strike until end of turn"));
this.getSpellAbility().addEffect(new GainLifeEffect(2));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/b/BenefactorsDraught.java b/Mage.Sets/src/mage/cards/b/BenefactorsDraught.java
index e59c351045..5d5da26312 100644
--- a/Mage.Sets/src/mage/cards/b/BenefactorsDraught.java
+++ b/Mage.Sets/src/mage/cards/b/BenefactorsDraught.java
@@ -75,6 +75,6 @@ class BenefactorsDraughtTriggeredAbility extends DelayedTriggeredAbility {
@Override
public String getRule() {
- return "Until end of turn, whenever a creature an opponent controls blocks, draw a card.";
+ return "Until end of turn, whenever a creature an opponent controls blocks, draw a card";
}
}
diff --git a/Mage.Sets/src/mage/cards/b/BlindFury.java b/Mage.Sets/src/mage/cards/b/BlindFury.java
index cd7a9bb007..5f82b75538 100644
--- a/Mage.Sets/src/mage/cards/b/BlindFury.java
+++ b/Mage.Sets/src/mage/cards/b/BlindFury.java
@@ -30,7 +30,7 @@ public final class BlindFury extends CardImpl {
this.getSpellAbility().addEffect(new LoseAbilityAllEffect(
TrampleAbility.getInstance(), Duration.EndOfTurn,
StaticFilters.FILTER_PERMANENT_CREATURES
- ).setText("All creatures lose trample until end of turn."));
+ ).setText("All creatures lose trample until end of turn"));
this.getSpellAbility().addEffect(new FurnaceOfRathEffect());
}
diff --git a/Mage.Sets/src/mage/cards/b/BondOfDiscipline.java b/Mage.Sets/src/mage/cards/b/BondOfDiscipline.java
index d5980c6ca7..ebc07aa9de 100644
--- a/Mage.Sets/src/mage/cards/b/BondOfDiscipline.java
+++ b/Mage.Sets/src/mage/cards/b/BondOfDiscipline.java
@@ -19,7 +19,7 @@ import java.util.UUID;
public final class BondOfDiscipline extends CardImpl {
private static final FilterPermanent filter
- = new FilterOpponentsCreaturePermanent("creatures your opponents control.");
+ = new FilterOpponentsCreaturePermanent("creatures your opponents control");
public BondOfDiscipline(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{W}");
diff --git a/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java b/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java
index de1966751c..1da0a6c4ee 100644
--- a/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java
+++ b/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java
@@ -41,11 +41,11 @@ public final class BringerOfTheRedDawn extends CardImpl {
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, true);
effect = new GainControlTargetEffect(Duration.EndOfTurn);
- effect.setText("and gain control of it until end of turn.");
+ effect.setText("and gain control of it until end of turn");
ability.addEffect(effect);
effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn);
- effect.setText("That creature gains haste until end of turn.");
+ effect.setText("That creature gains haste until end of turn");
ability.addEffect(effect);
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/c/ChanceForGlory.java b/Mage.Sets/src/mage/cards/c/ChanceForGlory.java
index dff4e834e2..13af041920 100644
--- a/Mage.Sets/src/mage/cards/c/ChanceForGlory.java
+++ b/Mage.Sets/src/mage/cards/c/ChanceForGlory.java
@@ -23,7 +23,7 @@ public final class ChanceForGlory extends CardImpl {
this.getSpellAbility().addEffect(new GainAbilityAllEffect(
IndestructibleAbility.getInstance(), Duration.EndOfGame,
StaticFilters.FILTER_CONTROLLED_CREATURES
- ).setText("Creatures you control gain indestructible."));
+ ).setText("Creatures you control gain indestructible"));
this.getSpellAbility().addEffect(new AddExtraTurnControllerEffect(true));
}
diff --git a/Mage.Sets/src/mage/cards/c/ChromiumTheMutable.java b/Mage.Sets/src/mage/cards/c/ChromiumTheMutable.java
index 8de4373ece..826d556786 100644
--- a/Mage.Sets/src/mage/cards/c/ChromiumTheMutable.java
+++ b/Mage.Sets/src/mage/cards/c/ChromiumTheMutable.java
@@ -50,12 +50,12 @@ public final class ChromiumTheMutable extends CardImpl {
false, false, null, null, true
).setText("Until end of turn, {this} becomes "
+ "a Human with base power and toughness 1/1, "
- + "loses all abilities, and gains hexproof."),
+ + "loses all abilities, and gains hexproof"),
new DiscardCardCost()
);
ability.addEffect(
new CantBeBlockedSourceEffect(Duration.EndOfTurn)
- .setText("It can't be blocked this turn.")
+ .setText("It can't be blocked this turn")
);
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/c/ClearTheMind.java b/Mage.Sets/src/mage/cards/c/ClearTheMind.java
index b92b0ae932..77f82c9a27 100644
--- a/Mage.Sets/src/mage/cards/c/ClearTheMind.java
+++ b/Mage.Sets/src/mage/cards/c/ClearTheMind.java
@@ -44,7 +44,7 @@ class ClearTheMindEffect extends OneShotEffect {
ClearTheMindEffect() {
super(Outcome.Benefit);
- staticText = "Target player shuffles their graveyard into their library.";
+ staticText = "Target player shuffles their graveyard into their library";
}
private ClearTheMindEffect(final ClearTheMindEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/c/CollapsingBorders.java b/Mage.Sets/src/mage/cards/c/CollapsingBorders.java
index 1aa523897a..29793c618d 100644
--- a/Mage.Sets/src/mage/cards/c/CollapsingBorders.java
+++ b/Mage.Sets/src/mage/cards/c/CollapsingBorders.java
@@ -26,10 +26,10 @@ public final class CollapsingBorders extends CardImpl {
// Domain - At the beginning of each player's upkeep, that player gains 1 life for each basic land type among lands they control. Then Collapsing Borders deals 3 damage to that player.
Effect effect = new GainLifeTargetEffect(new DomainValue(true));
- effect.setText("that player gains 1 life for each basic land type among lands they control.");
+ effect.setText("that player gains 1 life for each basic land type among lands they control");
Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false);
effect = new DamageTargetEffect(3);
- effect.setText("Then {this} deals 3 damage to that player.");
+ effect.setText("Then {this} deals 3 damage to that player");
ability.addEffect(effect);
ability.setAbilityWord(AbilityWord.DOMAIN);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/c/ColossalHeroics.java b/Mage.Sets/src/mage/cards/c/ColossalHeroics.java
index 0f4ee4d943..fd4a14616b 100644
--- a/Mage.Sets/src/mage/cards/c/ColossalHeroics.java
+++ b/Mage.Sets/src/mage/cards/c/ColossalHeroics.java
@@ -25,7 +25,7 @@ public final class ColossalHeroics extends CardImpl {
this.addAbility(new StriveAbility("{1}{G}"));
// Any number of target creatures each get +2/+2 until end of turn. Untap those creatures.
Effect effect = new BoostTargetEffect(2, 2, Duration.EndOfTurn);
- effect.setText("Any number of target creatures each get +2/+2 until end of turn.");
+ effect.setText("Any number of target creatures each get +2/+2 until end of turn");
this.getSpellAbility().addEffect(effect);
effect = new UntapTargetEffect();
effect.setText("Untap those creatures");
diff --git a/Mage.Sets/src/mage/cards/d/Deathsprout.java b/Mage.Sets/src/mage/cards/d/Deathsprout.java
index 3e470d1f6f..8c3502a96f 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/DesperateLunge.java b/Mage.Sets/src/mage/cards/d/DesperateLunge.java
index ba5f659bde..0a75a06760 100644
--- a/Mage.Sets/src/mage/cards/d/DesperateLunge.java
+++ b/Mage.Sets/src/mage/cards/d/DesperateLunge.java
@@ -26,7 +26,7 @@ public final class DesperateLunge extends CardImpl {
).setText("Target creature gets +2/+2"));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
FlyingAbility.getInstance(), Duration.EndOfTurn
- ).setText("and gains flying until end of turn."));
+ ).setText("and gains flying until end of turn"));
this.getSpellAbility().addEffect(new GainLifeEffect(2));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/f/FatalFrenzy.java b/Mage.Sets/src/mage/cards/f/FatalFrenzy.java
index a5147f18f1..9728eeaec7 100644
--- a/Mage.Sets/src/mage/cards/f/FatalFrenzy.java
+++ b/Mage.Sets/src/mage/cards/f/FatalFrenzy.java
@@ -36,7 +36,7 @@ public final class FatalFrenzy extends CardImpl {
.setText("Until end of turn, target creature you control gains trample")
);
this.getSpellAbility().addEffect(new BoostTargetEffect(TargetPermanentPowerCount.instance, StaticValue.get(0), Duration.EndOfTurn, true)
- .setText("and gets +X/+0, where X is its power.")
+ .setText("and gets +X/+0, where X is its power")
);
this.getSpellAbility().addEffect(new FatalFrenzyEffect());
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/f/FatefulEnd.java b/Mage.Sets/src/mage/cards/f/FatefulEnd.java
index 1b107f271f..22813579de 100644
--- a/Mage.Sets/src/mage/cards/f/FatefulEnd.java
+++ b/Mage.Sets/src/mage/cards/f/FatefulEnd.java
@@ -18,7 +18,7 @@ public final class FatefulEnd extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
// Fateful End deals 3 damage to any target. Scry 1.
- this.getSpellAbility().addEffect(new DamageTargetEffect(3, true, "any target."));
+ this.getSpellAbility().addEffect(new DamageTargetEffect(3, true, "any target"));
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addEffect(new ScryEffect(1));
}
diff --git a/Mage.Sets/src/mage/cards/f/FellThePheasant.java b/Mage.Sets/src/mage/cards/f/FellThePheasant.java
index 5eb8f2d303..788685d81a 100644
--- a/Mage.Sets/src/mage/cards/f/FellThePheasant.java
+++ b/Mage.Sets/src/mage/cards/f/FellThePheasant.java
@@ -20,7 +20,7 @@ import java.util.UUID;
public final class FellThePheasant extends CardImpl {
- private static final FilterPermanent filter = new FilterCreaturePermanent("creature with flying. ");
+ private static final FilterPermanent filter = new FilterCreaturePermanent("creature with flying");
static {
filter.add(new AbilityPredicate(FlyingAbility.class));
diff --git a/Mage.Sets/src/mage/cards/f/FinaleOfRevelation.java b/Mage.Sets/src/mage/cards/f/FinaleOfRevelation.java
index 0c09ca48ad..ff1251cdee 100644
--- a/Mage.Sets/src/mage/cards/f/FinaleOfRevelation.java
+++ b/Mage.Sets/src/mage/cards/f/FinaleOfRevelation.java
@@ -45,7 +45,7 @@ class FinaleOfRevelationEffect extends OneShotEffect {
FinaleOfRevelationEffect() {
super(Outcome.Benefit);
staticText = "Draw X cards. If X is 10 or more, instead shuffle your graveyard into your library, " +
- "draw X cards, untap up to five lands, and you have no maximum hand size for the rest of the game.";
+ "draw X cards, untap up to five lands, and you have no maximum hand size for the rest of the game";
}
private FinaleOfRevelationEffect(final FinaleOfRevelationEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/f/ForceDenial.java b/Mage.Sets/src/mage/cards/f/ForceDenial.java
index 18b9a9d074..d1d54761c1 100644
--- a/Mage.Sets/src/mage/cards/f/ForceDenial.java
+++ b/Mage.Sets/src/mage/cards/f/ForceDenial.java
@@ -28,13 +28,13 @@ public final class ForceDenial extends CardImpl {
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new CounterUnlessPaysEffect(new GenericManaCost(1)),
new InvertCondition(HateCondition.instance),
- "Counter target spell unless its controller pays {1}."));
+ "Counter target spell unless its controller pays {1}"));
// Hate — If an opponent lost life from a source other then combat damage this turn, counter that spell instead.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new CounterTargetEffect(),
HateCondition.instance,
- "
Hate — If an opponent lost life from a source other than combat damage this turn, counter that spell instead."));
+ "
Hate — If an opponent lost life from a source other than combat damage this turn, counter that spell instead"));
this.getSpellAbility().addTarget(new TargetSpell());
this.getSpellAbility().addWatcher(new LifeLossOtherFromCombatWatcher());
diff --git a/Mage.Sets/src/mage/cards/f/Foresight.java b/Mage.Sets/src/mage/cards/f/Foresight.java
index 296793c6bb..15f1bb3a7d 100644
--- a/Mage.Sets/src/mage/cards/f/Foresight.java
+++ b/Mage.Sets/src/mage/cards/f/Foresight.java
@@ -48,7 +48,7 @@ class ForesightEffect extends SearchEffect {
ForesightEffect() {
super(new TargetCardInLibrary(3, new FilterCard()), Outcome.Benefit);
- staticText = "Search your library for three cards, exile them, then shuffle your library.";
+ staticText = "Search your library for three cards, exile them, then shuffle your library";
}
ForesightEffect(final ForesightEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/f/ForeverYoung.java b/Mage.Sets/src/mage/cards/f/ForeverYoung.java
index 3ffce98390..144e81ebf0 100644
--- a/Mage.Sets/src/mage/cards/f/ForeverYoung.java
+++ b/Mage.Sets/src/mage/cards/f/ForeverYoung.java
@@ -51,7 +51,7 @@ class ForeverYoungEffect extends OneShotEffect {
ForeverYoungEffect() {
super(Outcome.Benefit);
- staticText = "Put any number of target creature cards from your graveyard on top of your library.";
+ staticText = "Put any number of target creature cards from your graveyard on top of your library";
}
private ForeverYoungEffect(final ForeverYoungEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/f/FromUnderTheFloorboards.java b/Mage.Sets/src/mage/cards/f/FromUnderTheFloorboards.java
index d628f69dff..450d0a34fe 100644
--- a/Mage.Sets/src/mage/cards/f/FromUnderTheFloorboards.java
+++ b/Mage.Sets/src/mage/cards/f/FromUnderTheFloorboards.java
@@ -34,7 +34,7 @@ public final class FromUnderTheFloorboards extends CardImpl {
// If From Under the Floorboards's madness cost was paid, instead create X of those tokens tapped and you gain X life.
DynamicValue xValue = new FromUnderTheFloorboardsManacostVariableValue();
Effect effect = new CreateTokenEffect(new ZombieToken(), xValue, true, false);
- effect.setText("Create three 2/2 black Zombie creature tokens tapped and you gain 3 life. If {this} madness cost was paid, instead create X of those tokens tapped and you gain X life.");
+ effect.setText("Create three 2/2 black Zombie creature tokens tapped and you gain 3 life. If {this} madness cost was paid, instead create X of those tokens tapped and you gain X life");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addEffect(new GainLifeEffect(xValue));
}
diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java
index b60ddcf288..037446ca09 100644
--- a/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java
+++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java
@@ -47,7 +47,7 @@ public final class GenjuOfTheFields extends CardImpl {
"Until end of turn, enchanted Plains becomes a 2/5 white Spirit creature", Duration.EndOfTurn);
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(2));
effect = new GainAbilityAttachedEffect(new DealsDamageGainLifeSourceTriggeredAbility(), AttachmentType.AURA, Duration.EndOfTurn);
- effect.setText("with \"Whenever this creature deals damage, its controller gains that much life.\". It's still a land");
+ effect.setText("with \"Whenever this creature deals damage, its controller gains that much life.\" It's still a land");
ability2.addEffect(effect);
this.addAbility(ability2);
diff --git a/Mage.Sets/src/mage/cards/g/GlitteringLion.java b/Mage.Sets/src/mage/cards/g/GlitteringLion.java
index 737200acbc..5f1651ad36 100644
--- a/Mage.Sets/src/mage/cards/g/GlitteringLion.java
+++ b/Mage.Sets/src/mage/cards/g/GlitteringLion.java
@@ -35,9 +35,8 @@ public final class GlitteringLion extends CardImpl {
// Prevent all damage that would be dealt to Glittering Lion.
this.addAbility(GlitteringLionAbility.getInstance());
// {3}: Until end of turn, Glittering Lion loses "Prevent all damage that would be dealt to Glittering Lion." Any player may activate this ability.
- SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilitySourceEffect(GlitteringLionAbility.getInstance(), Duration.EndOfTurn).setText("Until end of turn, {this} loses \"Prevent all damage that would be dealt to {this}.\""), new ManaCostsImpl("{3}"));
+ SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilitySourceEffect(GlitteringLionAbility.getInstance(), Duration.EndOfTurn).setText("Until end of turn, {this} loses \"Prevent all damage that would be dealt to {this}.\" Any player may activate this ability"), new ManaCostsImpl("{3}"));
ability2.setMayActivate(TargetController.ANY);
- ability2.addEffect(new InfoEffect("Any player may activate this ability"));
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/g/Goatnap.java b/Mage.Sets/src/mage/cards/g/Goatnap.java
index 72ae6a27d4..4da5af8f5f 100644
--- a/Mage.Sets/src/mage/cards/g/Goatnap.java
+++ b/Mage.Sets/src/mage/cards/g/Goatnap.java
@@ -33,7 +33,7 @@ public final class Goatnap extends CardImpl {
this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap that creature"));
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
HasteAbility.getInstance(), Duration.EndOfTurn
- ).setText("It gains haste until end of turn."));
+ ).setText("It gains haste until end of turn"));
this.getSpellAbility().addEffect(new GoatnapEffect());
}
diff --git a/Mage.Sets/src/mage/cards/i/InsultInjury.java b/Mage.Sets/src/mage/cards/i/InsultInjury.java
index 14be28e21f..3ae41e1abf 100644
--- a/Mage.Sets/src/mage/cards/i/InsultInjury.java
+++ b/Mage.Sets/src/mage/cards/i/InsultInjury.java
@@ -32,7 +32,7 @@ public final class InsultInjury extends SplitCard {
// Insult
// Damage can't be prevented this turn. If a source you control would deal damage this turn it deals
// double that damage instead.
- getLeftHalfCard().getSpellAbility().addEffect(new DamageCantBePreventedEffect(Duration.EndOfTurn, "Damage can't be prevented this turn.", true, false));
+ getLeftHalfCard().getSpellAbility().addEffect(new DamageCantBePreventedEffect(Duration.EndOfTurn, "Damage can't be prevented this turn", true, false));
getLeftHalfCard().getSpellAbility().addEffect(new InsultDoubleDamageEffect());
// to
diff --git a/Mage.Sets/src/mage/cards/j/Juxtapose.java b/Mage.Sets/src/mage/cards/j/Juxtapose.java
index a5464c16ed..912883598a 100644
--- a/Mage.Sets/src/mage/cards/j/Juxtapose.java
+++ b/Mage.Sets/src/mage/cards/j/Juxtapose.java
@@ -29,8 +29,8 @@ public final class Juxtapose extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}");
// You and target player exchange control of the creature you each control with the highest converted mana cost. Then exchange control of artifacts the same way. If two or more permanents a player controls are tied for highest cost, their controller chooses one of them.
- this.getSpellAbility().addEffect(new JuxtaposeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, "You and target player exchange control of the creature you each control with the highest converted mana cost."));
- this.getSpellAbility().addEffect(new JuxtaposeEffect(new FilterArtifactPermanent(), "Then exchange control of artifacts the same way. If two or more permanents a player controls are tied for highest cost, their controller chooses one of them."));
+ this.getSpellAbility().addEffect(new JuxtaposeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, "You and target player exchange control of the creature you each control with the highest converted mana cost"));
+ this.getSpellAbility().addEffect(new JuxtaposeEffect(new FilterArtifactPermanent(), "Then exchange control of artifacts the same way. If two or more permanents a player controls are tied for highest cost, their controller chooses one of them"));
this.getSpellAbility().addTarget(new TargetPlayer());
}
diff --git a/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java b/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java
index e827b9021c..cf095b415f 100644
--- a/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java
+++ b/Mage.Sets/src/mage/cards/k/KariZevsExpertise.java
@@ -36,7 +36,7 @@ public final class KariZevsExpertise extends CardImpl {
this.getSpellAbility().addTarget(new TargetPermanent(filter));
this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn));
this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap it"));
- this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("It gans haste until end of turn."));
+ this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("It gains haste until end of turn"));
// You may cast a card with converted mana cost 2 or less from your hand without paying its mana cost.
this.getSpellAbility().addEffect(new CastWithoutPayingManaCostEffect(2));
diff --git a/Mage.Sets/src/mage/cards/l/LeadershipVacuum.java b/Mage.Sets/src/mage/cards/l/LeadershipVacuum.java
index 49366c7f21..de1d303adf 100644
--- a/Mage.Sets/src/mage/cards/l/LeadershipVacuum.java
+++ b/Mage.Sets/src/mage/cards/l/LeadershipVacuum.java
@@ -52,7 +52,7 @@ class LeadershipVacuumEffect extends OneShotEffect {
LeadershipVacuumEffect() {
super(Outcome.Detriment);
- staticText = "Target player returns each commander they control from the battlefield to the command zone.";
+ staticText = "Target player returns each commander they control from the battlefield to the command zone";
}
private LeadershipVacuumEffect(final LeadershipVacuumEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java b/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java
index 6949f32da7..9f6295f7ae 100644
--- a/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java
+++ b/Mage.Sets/src/mage/cards/m/MaliciousAdvice.java
@@ -27,7 +27,7 @@ public final class MaliciousAdvice extends CardImpl {
// Tap X target artifacts, creatures, and/or lands. You lose X life.
Effect effect = new TapTargetEffect();
- effect.setText("X target artifacts, creatures, and/or lands.");
+ effect.setText("X target artifacts, creatures, and/or lands");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(ManacostVariableValue.instance));
this.getSpellAbility().setTargetAdjuster(MaliciousAdviceAdjuster.instance);
diff --git a/Mage.Sets/src/mage/cards/m/MandateOfPeace.java b/Mage.Sets/src/mage/cards/m/MandateOfPeace.java
index 4e98d4afb1..c763b0c8f9 100644
--- a/Mage.Sets/src/mage/cards/m/MandateOfPeace.java
+++ b/Mage.Sets/src/mage/cards/m/MandateOfPeace.java
@@ -54,7 +54,7 @@ class MandateOfPeaceOpponentsCantCastSpellsEffect extends ContinuousRuleModifyin
public MandateOfPeaceOpponentsCantCastSpellsEffect() {
super(Duration.EndOfTurn, Outcome.Benefit);
- staticText = "Your opponents can't cast spells this turn.";
+ staticText = "Your opponents can't cast spells this turn";
}
public MandateOfPeaceOpponentsCantCastSpellsEffect(final MandateOfPeaceOpponentsCantCastSpellsEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/m/Molder.java b/Mage.Sets/src/mage/cards/m/Molder.java
index cffc75b81a..07c7518a4a 100644
--- a/Mage.Sets/src/mage/cards/m/Molder.java
+++ b/Mage.Sets/src/mage/cards/m/Molder.java
@@ -27,7 +27,7 @@ public final class Molder extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{X}{G}");
// Destroy target artifact or enchantment with converted mana cost X. It can't be regenerated. You gain X life.
- this.getSpellAbility().addEffect(new DestroyTargetEffect("Destroy target artifact or enchantment with converted mana cost X.", true));
+ this.getSpellAbility().addEffect(new DestroyTargetEffect("Destroy target artifact or enchantment with converted mana cost X", true));
this.getSpellAbility().addEffect(new GainLifeEffect(ManacostVariableValue.instance));
this.getSpellAbility().setTargetAdjuster(MolderAdjuster.instance);
}
diff --git a/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java b/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java
index 6c8f5e5527..7cb872a6e7 100644
--- a/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java
+++ b/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java
@@ -74,7 +74,7 @@ public final class NajeelaTheBladeBlossom extends CardImpl {
HasteAbility.getInstance(),
Duration.EndOfTurn,
StaticFilters.FILTER_ATTACKING_CREATURES
- ).setText(", and haste until end of turn."));
+ ).setText(", and haste until end of turn"));
ability.addEffect(new AdditionalCombatPhaseEffect());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/o/OkoTheTrickster.java b/Mage.Sets/src/mage/cards/o/OkoTheTrickster.java
index fba45954e1..3366b1c4e2 100644
--- a/Mage.Sets/src/mage/cards/o/OkoTheTrickster.java
+++ b/Mage.Sets/src/mage/cards/o/OkoTheTrickster.java
@@ -43,7 +43,7 @@ public final class OkoTheTrickster extends CardImpl {
// 0: Until end of turn, Oko, the Trickster becomes a copy of target creature you control. Prevent all damage that would be dealt to him this turn.
ability = new LoyaltyAbility(new OkoTheTricksterCopyEffect(), 0);
ability.addEffect(new PreventAllDamageToSourceEffect(Duration.EndOfTurn)
- .setText("Prevent all damage that would be dealt to him this turn."));
+ .setText("Prevent all damage that would be dealt to him this turn"));
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
@@ -72,7 +72,7 @@ class OkoTheTricksterCopyEffect extends OneShotEffect {
OkoTheTricksterCopyEffect() {
super(Outcome.Copy);
- this.staticText = "Until end of turn, {this} becomes a copy of target creature you control.";
+ this.staticText = "Until end of turn, {this} becomes a copy of target creature you control";
}
private OkoTheTricksterCopyEffect(final OkoTheTricksterCopyEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/p/Portent.java b/Mage.Sets/src/mage/cards/p/Portent.java
index 6a84576250..b2405c28a4 100644
--- a/Mage.Sets/src/mage/cards/p/Portent.java
+++ b/Mage.Sets/src/mage/cards/p/Portent.java
@@ -47,7 +47,7 @@ class PortentEffect extends OneShotEffect {
public PortentEffect() {
super(Outcome.DrawCard);
- this.staticText = "look at the top three cards of target player's library, then put them back in any order. You may have that player shuffle their library.";
+ this.staticText = "look at the top three cards of target player's library, then put them back in any order. You may have that player shuffle their library";
}
public PortentEffect(final PortentEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/p/PrepareFight.java b/Mage.Sets/src/mage/cards/p/PrepareFight.java
index e4d620d108..2901114f77 100644
--- a/Mage.Sets/src/mage/cards/p/PrepareFight.java
+++ b/Mage.Sets/src/mage/cards/p/PrepareFight.java
@@ -30,13 +30,13 @@ public final class PrepareFight extends SplitCard {
// Untap target creature. It gets +2/+2 and gains lifelink until end of turn.
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent());
Effect effect = new UntapTargetEffect();
- effect.setText("Untap target creature.");
+ effect.setText("Untap target creature");
getLeftHalfCard().getSpellAbility().addEffect(effect);
effect = new BoostTargetEffect(2, 2, Duration.EndOfTurn);
effect.setText("It gets +2/+2");
getLeftHalfCard().getSpellAbility().addEffect(effect);
effect = new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn);
- effect.setText("and gains lifelink until end of turn.");
+ effect.setText("and gains lifelink until end of turn");
getLeftHalfCard().getSpellAbility().addEffect(effect);
// to
diff --git a/Mage.Sets/src/mage/cards/q/QueenOfIce.java b/Mage.Sets/src/mage/cards/q/QueenOfIce.java
index d1fe38e761..a83d83f648 100644
--- a/Mage.Sets/src/mage/cards/q/QueenOfIce.java
+++ b/Mage.Sets/src/mage/cards/q/QueenOfIce.java
@@ -29,7 +29,7 @@ public final class QueenOfIce extends AdventureCard {
// Whenever Queen of Ice deals combat damage to a creature, tap that creature. It doesn't untap during its controller's next untap step.
Ability ability = new DealsDamageToACreatureTriggeredAbility(
- new TapTargetEffect().setText("tap that creature."),
+ new TapTargetEffect().setText("tap that creature"),
true, false, true
);
ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect()
diff --git a/Mage.Sets/src/mage/cards/r/RovingKeep.java b/Mage.Sets/src/mage/cards/r/RovingKeep.java
index 05f9af99ad..8006368aa0 100644
--- a/Mage.Sets/src/mage/cards/r/RovingKeep.java
+++ b/Mage.Sets/src/mage/cards/r/RovingKeep.java
@@ -39,7 +39,7 @@ public final class RovingKeep extends CardImpl {
);
ability.addEffect(new GainAbilitySourceEffect(
TrampleAbility.getInstance(), Duration.EndOfTurn
- ).setText("and gains trample until end of turn."));
+ ).setText("and gains trample until end of turn"));
ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.EndOfTurn)
.setText("It can attack this turn as though it didn't have defender"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SingleCombat.java b/Mage.Sets/src/mage/cards/s/SingleCombat.java
index 309fe92b2f..eec4681d94 100644
--- a/Mage.Sets/src/mage/cards/s/SingleCombat.java
+++ b/Mage.Sets/src/mage/cards/s/SingleCombat.java
@@ -60,7 +60,7 @@ class SingleCombatEffect extends OneShotEffect {
SingleCombatEffect() {
super(Outcome.Benefit);
- staticText = "Each player chooses a creature or planeswalker they control, then sacrifices the rest.";
+ staticText = "Each player chooses a creature or planeswalker they control, then sacrifices the rest";
}
private SingleCombatEffect(final SingleCombatEffect effect) {
@@ -97,7 +97,7 @@ class SingleCombatRestrictionEffect extends ContinuousRuleModifyingEffectImpl {
SingleCombatRestrictionEffect() {
super(Duration.UntilEndOfYourNextTurn, Outcome.Neutral);
- staticText = "Players can't cast creature or planeswalker spells until the end of your next turn.";
+ staticText = "Players can't cast creature or planeswalker spells until the end of your next turn";
}
private SingleCombatRestrictionEffect(final SingleCombatRestrictionEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/s/SoldeviGolem.java b/Mage.Sets/src/mage/cards/s/SoldeviGolem.java
index 5e9205c53e..11fe9dd024 100644
--- a/Mage.Sets/src/mage/cards/s/SoldeviGolem.java
+++ b/Mage.Sets/src/mage/cards/s/SoldeviGolem.java
@@ -43,7 +43,7 @@ public final class SoldeviGolem extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
// At the beginning of your upkeep, you may untap target tapped creature an opponent controls. If you do, untap Soldevi Golem.
- Ability ability = new BeginningOfUpkeepTriggeredAbility(new UntapTargetEffect().setText("untap target tapped creature an opponent controls."), TargetController.YOU, true);
+ Ability ability = new BeginningOfUpkeepTriggeredAbility(new UntapTargetEffect().setText("untap target tapped creature an opponent controls"), TargetController.YOU, true);
ability.addEffect(new UntapSourceEffect().setText("If you do, untap {this}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/Solfatara.java b/Mage.Sets/src/mage/cards/s/Solfatara.java
index e7ad74be02..e7354209e5 100644
--- a/Mage.Sets/src/mage/cards/s/Solfatara.java
+++ b/Mage.Sets/src/mage/cards/s/Solfatara.java
@@ -49,7 +49,7 @@ class SolfataraEffect extends ContinuousRuleModifyingEffectImpl {
public SolfataraEffect() {
super(Duration.EndOfTurn, Outcome.Detriment);
- staticText = "Target player can't play land cards this turn.";
+ staticText = "Target player can't play land cards this turn";
}
public SolfataraEffect(final SolfataraEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java b/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java
index 3d94bbcb41..8d6261aaa6 100644
--- a/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java
+++ b/Mage.Sets/src/mage/cards/s/SorinVengefulBloodlord.java
@@ -47,7 +47,7 @@ public final class SorinVengefulBloodlord extends CardImpl {
LifelinkAbility.getInstance(), Duration.WhileOnBattlefield,
StaticFilters.FILTER_PERMANENT_CREATURE_OR_PLANESWALKER_A
), MyTurnCondition.instance, "As long as it's your turn, " +
- "creatures and planeswalkers you control have lifelink."
+ "creatures and planeswalkers you control have lifelink"
)).addHint(MyTurnHint.instance));
// +2: Sorin, Vengeful Bloodlord deals 1 damage to target player or planeswalker.
@@ -57,7 +57,7 @@ public final class SorinVengefulBloodlord extends CardImpl {
// -X: Return target creature card with converted mana cost X from your graveyard to the battlefield. That creature is a vampire in addition to its other types.
ability = new LoyaltyAbility(new ReturnFromGraveyardToBattlefieldTargetEffect().setText(
- "Return target creature card with converted mana cost X from your graveyard to the battlefield."
+ "Return target creature card with converted mana cost X from your graveyard to the battlefield"
));
ability.addEffect(new SorinVengefulBloodlordEffect());
ability.setTargetAdjuster(SorinVengefulBloodlordAdjuster.instance);
@@ -95,7 +95,7 @@ enum SorinVengefulBloodlordAdjuster implements TargetAdjuster {
class SorinVengefulBloodlordEffect extends ContinuousEffectImpl {
SorinVengefulBloodlordEffect() {
super(Duration.Custom, Outcome.Neutral);
- staticText = "That creature is a vampire in addition to its other types.";
+ staticText = "That creature is a vampire in addition to its other types";
}
private SorinVengefulBloodlordEffect(final SorinVengefulBloodlordEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/s/SoulSeparator.java b/Mage.Sets/src/mage/cards/s/SoulSeparator.java
index 352e18aafb..9691ba8772 100644
--- a/Mage.Sets/src/mage/cards/s/SoulSeparator.java
+++ b/Mage.Sets/src/mage/cards/s/SoulSeparator.java
@@ -33,10 +33,16 @@ public final class SoulSeparator extends CardImpl {
// {5}, {T}, Sacrifice Soul Separator: Exile target creature card from your graveyard.
// Create a token that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying.
- // Create a black Zombie creature token with power equal to that card's power and toughness equal that card's toughness.
+ // Put a black Zombie creature token onto the battlefield with power equal to that card's power and toughness equal that card's toughness.
+
+ // 20200601 - 701.6c
+ // Previously, an effect that created tokens instructed a player to “put [those tokens] onto the battlefield.”
+ // Cards that were printed with that text have received errata in the Oracle card reference so they now
+ // “create” those tokens.
+
CreateTokenCopyTargetEffect copyEffect = new CreateTokenCopyTargetEffect(null, null, false, 1, false, false, null, 1, 1, true);
copyEffect.setAdditionalSubType(SubType.SPIRIT);
- copyEffect.setText("Create a token that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying. ");
+ copyEffect.setText("Create a token that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, copyEffect, new ManaCostsImpl("{5}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/StolenByTheFae.java b/Mage.Sets/src/mage/cards/s/StolenByTheFae.java
index 08fd09a589..9c6668ab56 100644
--- a/Mage.Sets/src/mage/cards/s/StolenByTheFae.java
+++ b/Mage.Sets/src/mage/cards/s/StolenByTheFae.java
@@ -27,9 +27,9 @@ public final class StolenByTheFae extends CardImpl {
// Return target creature with converted mana cost X to its owner's hand. You create X 1/1 blue Faerie creature tokens with flying.
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()
- .setText("Return target creature with converted mana cost X to its owner's hand."));
+ .setText("Return target creature with converted mana cost X to its owner's hand"));
this.getSpellAbility().addEffect(new CreateTokenEffect(new FaerieToken(), ManacostVariableValue.instance)
- .setText("You create X 1/1 blue Faerie creature tokens with flying."));
+ .setText("You create X 1/1 blue Faerie creature tokens with flying"));
this.getSpellAbility().setTargetAdjuster(StolenByTheFaeAdjuster.instance);
}
diff --git a/Mage.Sets/src/mage/cards/s/Suncleanser.java b/Mage.Sets/src/mage/cards/s/Suncleanser.java
index a1ec53e415..8e31d29e69 100644
--- a/Mage.Sets/src/mage/cards/s/Suncleanser.java
+++ b/Mage.Sets/src/mage/cards/s/Suncleanser.java
@@ -67,9 +67,9 @@ class SuncleanserRemoveCountersEffect extends OneShotEffect {
public SuncleanserRemoveCountersEffect(boolean player) {
super(Outcome.Benefit);
if (player) {
- staticText = "Target opponent loses all counters.";
+ staticText = "Target opponent loses all counters";
} else {
- staticText = "Remove all counters from target creature.";
+ staticText = "Remove all counters from target creature";
}
}
diff --git a/Mage.Sets/src/mage/cards/t/TriumphantSurge.java b/Mage.Sets/src/mage/cards/t/TriumphantSurge.java
index 4e512e48f3..2d35083b54 100644
--- a/Mage.Sets/src/mage/cards/t/TriumphantSurge.java
+++ b/Mage.Sets/src/mage/cards/t/TriumphantSurge.java
@@ -19,7 +19,7 @@ import java.util.UUID;
public final class TriumphantSurge extends CardImpl {
private static final FilterPermanent filter
- = new FilterCreaturePermanent("creature with power 4 or greater.");
+ = new FilterCreaturePermanent("creature with power 4 or greater");
static {
filter.add(new PowerPredicate(ComparisonType.MORE_THAN, 3));
diff --git a/Mage.Sets/src/mage/cards/t/TurfWound.java b/Mage.Sets/src/mage/cards/t/TurfWound.java
index a58cade017..7825d60fdc 100644
--- a/Mage.Sets/src/mage/cards/t/TurfWound.java
+++ b/Mage.Sets/src/mage/cards/t/TurfWound.java
@@ -46,7 +46,7 @@ class TurfWoundEffect extends ContinuousRuleModifyingEffectImpl {
public TurfWoundEffect() {
super(Duration.EndOfTurn, Outcome.Detriment);
- staticText = "Target player can't play land cards this turn.";
+ staticText = "Target player can't play land cards this turn";
}
public TurfWoundEffect(final TurfWoundEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/v/VraskaRegalGorgon.java b/Mage.Sets/src/mage/cards/v/VraskaRegalGorgon.java
index 8e35dd757a..c3a5bfc471 100644
--- a/Mage.Sets/src/mage/cards/v/VraskaRegalGorgon.java
+++ b/Mage.Sets/src/mage/cards/v/VraskaRegalGorgon.java
@@ -39,10 +39,10 @@ public final class VraskaRegalGorgon extends CardImpl {
// +2: Put a +1/+1 counter on up to one target creature. That creature gains menace until end of turn.
Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(
CounterType.P1P1.createInstance()
- ).setText("Put a +1/+1 counter on up to one target creature."), 2);
+ ).setText("Put a +1/+1 counter on up to one target creature"), 2);
ability.addEffect(new GainAbilityTargetEffect(
new MenaceAbility(), Duration.EndOfTurn
- ).setText("That creature gains menace until end of turn."));
+ ).setText("That creature gains menace until end of turn"));
ability.addTarget(new TargetCreaturePermanent(0, 1));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/w/Wellspring.java b/Mage.Sets/src/mage/cards/w/Wellspring.java
index 56173302cc..01345b8d94 100644
--- a/Mage.Sets/src/mage/cards/w/Wellspring.java
+++ b/Mage.Sets/src/mage/cards/w/Wellspring.java
@@ -44,7 +44,7 @@ public final class Wellspring extends CardImpl {
// At the beginning of your upkeep, untap enchanted land. You gain control of that land until end of turn.
ability = new BeginningOfUpkeepTriggeredAbility(
- new UntapEnchantedEffect().setText("untap enchanted land."), TargetController.YOU, false
+ new UntapEnchantedEffect().setText("untap enchanted land"), TargetController.YOU, false
);
ability.addEffect(new WellspringEffect("You gain control of that land until end of turn"));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/w/WickedWolf.java b/Mage.Sets/src/mage/cards/w/WickedWolf.java
index 228d3efaa3..9661a39126 100644
--- a/Mage.Sets/src/mage/cards/w/WickedWolf.java
+++ b/Mage.Sets/src/mage/cards/w/WickedWolf.java
@@ -52,7 +52,7 @@ public final class WickedWolf extends CardImpl {
);
ability.addEffect(new GainAbilitySourceEffect(
IndestructibleAbility.getInstance(), Duration.EndOfTurn
- ).setText("it gains indestructible until end of turn."));
+ ).setText("it gains indestructible until end of turn"));
ability.addEffect(new TapSourceEffect().setText("Tap it"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/w/Winnow.java b/Mage.Sets/src/mage/cards/w/Winnow.java
index ba91f419b6..bb08a8a3d0 100644
--- a/Mage.Sets/src/mage/cards/w/Winnow.java
+++ b/Mage.Sets/src/mage/cards/w/Winnow.java
@@ -45,7 +45,7 @@ class WinnowEffect extends DestroyTargetEffect {
public WinnowEffect() {
super();
- staticText = "Destroy target nonland permanent if another permanent with the same name is on the battlefield.";
+ staticText = "Destroy target nonland permanent if another permanent with the same name is on the battlefield";
}
public WinnowEffect(final WinnowEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/w/WorkshopElders.java b/Mage.Sets/src/mage/cards/w/WorkshopElders.java
index 3b4cbd9065..8f6abe6ab1 100644
--- a/Mage.Sets/src/mage/cards/w/WorkshopElders.java
+++ b/Mage.Sets/src/mage/cards/w/WorkshopElders.java
@@ -57,10 +57,10 @@ public final class WorkshopElders extends CardImpl {
).setText("have target noncreature artifact you control become"), TargetController.YOU, true);
ability.addEffect(new SetPowerToughnessTargetEffect(
0, 0, Duration.EndOfGame
- ).setText("a 0/0 artifact creature."));
+ ).setText("a 0/0 artifact creature"));
ability.addEffect(new AddCountersTargetEffect(
CounterType.P1P1.createInstance(4)
- ).setText("If you do, put four +1/+1 counters on it."));
+ ).setText("If you do, put four +1/+1 counters on it"));
ability.addTarget(new TargetPermanent(filter2));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/z/ZirilanOfTheClaw.java b/Mage.Sets/src/mage/cards/z/ZirilanOfTheClaw.java
index cd88d8ad9e..20feb6ecd8 100644
--- a/Mage.Sets/src/mage/cards/z/ZirilanOfTheClaw.java
+++ b/Mage.Sets/src/mage/cards/z/ZirilanOfTheClaw.java
@@ -60,7 +60,7 @@ class ZirilanOfTheClawEffect extends OneShotEffect {
public ZirilanOfTheClawEffect() {
super(Outcome.PutCreatureInPlay);
this.staticText = "Search your library for a Dragon permanent card and put that card onto the battlefield. Then shuffle your library."
- + "That Dragon gains haste until end of turn. Exile it at the beginning of the next end step";
+ + " That Dragon gains haste until end of turn. Exile it at the beginning of the next end step";
}
public ZirilanOfTheClawEffect(final ZirilanOfTheClawEffect effect) {
diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java
index 3ece2bd954..4e96afcf76 100644
--- a/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java
@@ -103,6 +103,7 @@ public class BeginningOfEndStepTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
StringBuilder sb = new StringBuilder(getEffects().getText(modes.getMode()));
+
if (this.optional) {
if (sb.substring(0, 6).toLowerCase(Locale.ENGLISH).equals("target")) {
sb.insert(0, "you may have ");
@@ -114,6 +115,7 @@ public class BeginningOfEndStepTriggeredAbility extends TriggeredAbilityImpl {
if (abilityWord != null) {
abilityWordRule = "" + abilityWord.toString() + " &mdash ";
}
+
switch (targetController) {
case YOU:
return sb.insert(0, generateConditionString()).insert(0, abilityWordRule + "At the beginning of your end step, ").toString();
@@ -134,6 +136,13 @@ public class BeginningOfEndStepTriggeredAbility extends TriggeredAbilityImpl {
private String generateConditionString() {
if (interveningIfClauseCondition != null) {
if (interveningIfClauseCondition.toString().startsWith("if")) {
+
+ //Fixes punctuation on multiple sentence if-then construction
+ // see -- Colfenor's Urn
+ if (interveningIfClauseCondition.toString().endsWith(".")){
+ return interveningIfClauseCondition.toString() + " ";
+ }
+
return interveningIfClauseCondition.toString() + ", ";
} else {
return "if {this} is " + interveningIfClauseCondition.toString() + ", ";
diff --git a/Mage/src/main/java/mage/abilities/effects/Effects.java b/Mage/src/main/java/mage/abilities/effects/Effects.java
index 42698bba84..094fbcc0ab 100644
--- a/Mage/src/main/java/mage/abilities/effects/Effects.java
+++ b/Mage/src/main/java/mage/abilities/effects/Effects.java
@@ -53,17 +53,27 @@ public class Effects extends ArrayList {
// concat effects (default: each effect with a new sentence)
String concatPrefix = effect.getConcatPrefix();
+
if (effectNum > 1 && !concatPrefix.isEmpty() && !concatPrefix.equals(".")) {
nextRule = concatPrefix + " " + nextRule;
}
if (nextRule != null) {
+ //check if nextRule is a new sentence or not.
if (nextRule.startsWith("and ") || nextRule.startsWith("with ") || nextRule.startsWith("then ")) {
endString = " ";
} else if (nextRule.startsWith(",") || nextRule.startsWith(" ")) {
endString = "";
+ // nextRule determined to be a new sentence, now check ending of lastRule
} else if (lastRule != null && lastRule.length() > 3) {
- if (!lastRule.endsWith(".") && !lastRule.endsWith("
")) {
+ //check if lastRule already has appropriate punctuation, if so, add a space.
+ if (lastRule.endsWith(".\"") ||
+ lastRule.endsWith(".)") ||
+ lastRule.endsWith(".)") ||
+ lastRule.endsWith(".")){
+ endString = " ";
+ // if lastRule does not have appropriate punctuation, add the default ". "
+ } else if (!lastRule.endsWith(".") && !lastRule.endsWith("
")) {
endString = ". ";
}
if (nextRule.length() > 3) {
@@ -83,9 +93,12 @@ public class Effects extends ArrayList {
sbText.append(currentRule);
}
+
lastRule = nextRule;
+
}
+ //add punctuation to very last rule.
if (lastRule != null && lastRule.length() > 3
&& !lastRule.endsWith(".")
&& !lastRule.endsWith("\"")
@@ -96,6 +109,7 @@ public class Effects extends ArrayList {
}
return sbText.toString();
+
}
public boolean hasOutcome(Ability source, Outcome outcome) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageToSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageToSourceEffect.java
index dfc149a587..22cd8c14e1 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageToSourceEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PreventAllDamageToSourceEffect.java
@@ -16,7 +16,12 @@ public class PreventAllDamageToSourceEffect extends PreventionEffectImpl {
public PreventAllDamageToSourceEffect(Duration duration) {
super(duration, Integer.MAX_VALUE, false);
- staticText = "Prevent all damage that would be dealt to {this} " + duration.toString();
+ //Some durations have no text
+ if ( duration.toString().length()>0){
+ staticText = "Prevent all damage that would be dealt to {this} " + duration.toString();
+ } else {
+ staticText = "Prevent all damage that would be dealt to {this}";
+ }
}
public PreventAllDamageToSourceEffect(final PreventAllDamageToSourceEffect effect) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java
index b719eaca60..346e8efeb2 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/RevealCardsFromLibraryUntilEffect.java
@@ -135,7 +135,7 @@ public class RevealCardsFromLibraryUntilEffect extends OneShotEffect {
sb.append("a random");
}
- sb.append(" order.");
+ sb.append(" order");
}
break;
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/DistributeCountersEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/DistributeCountersEffect.java
index 39315588d4..3be17d3df7 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/counter/DistributeCountersEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/counter/DistributeCountersEffect.java
@@ -76,7 +76,7 @@ public class DistributeCountersEffect extends OneShotEffect {
}
String name = counterType.getName();
- String text = "distribute " + CardUtil.numberToText(amount) + ' ' + name + " counters among " + targetDescription + '.';
+ String text = "distribute " + CardUtil.numberToText(amount) + ' ' + name + " counters among " + targetDescription;
if (removeAtEndOfTurn) {
text += " For each " + name + " counter you put on a creature this way, remove a "
+ name + " counter from that creature at the beginning of the next cleanup step.";