diff --git a/Mage.Sets/src/mage/cards/b/BlindingFlare.java b/Mage.Sets/src/mage/cards/b/BlindingFlare.java
index 17ba789fc58..22f4db052eb 100644
--- a/Mage.Sets/src/mage/cards/b/BlindingFlare.java
+++ b/Mage.Sets/src/mage/cards/b/BlindingFlare.java
@@ -29,7 +29,6 @@ package mage.cards.b;
import java.util.UUID;
import mage.abilities.abilityword.StriveAbility;
-import mage.abilities.effects.Effect;
import mage.abilities.effects.common.combat.CantBlockTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@@ -50,8 +49,6 @@ public class BlindingFlare extends CardImpl {
// Strive — Blinding Flare costs {R} more to cast for each target beyond the first.
this.addAbility(new StriveAbility("{R}"));
// Any number of target creatures can't block this turn.
- Effect effect = new CantBlockTargetEffect(Duration.EndOfTurn);
- effect.setText("Any number of target creatures can't block this turn");
this.getSpellAbility().addEffect(new CantBlockTargetEffect(Duration.EndOfTurn));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, Integer.MAX_VALUE));
}
diff --git a/Mage.Sets/src/mage/cards/c/CausticTar.java b/Mage.Sets/src/mage/cards/c/CausticTar.java
index afa79f12788..049b6d81c7c 100644
--- a/Mage.Sets/src/mage/cards/c/CausticTar.java
+++ b/Mage.Sets/src/mage/cards/c/CausticTar.java
@@ -65,11 +65,11 @@ public class CausticTar extends CardImpl {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
- // Enchanted land has "{tap}: Target player loses 3 life."
+ // Enchanted land has "{T}: Target player loses 3 life."
Ability tarAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(3), new TapSourceCost());
tarAbility.addTarget(new TargetPlayer());
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(tarAbility, AttachmentType.AURA,
- Duration.WhileOnBattlefield,"Enchanted land has \"{t}: Target player loses 3 life.\"")));
+ Duration.WhileOnBattlefield,"Enchanted land has \"{T}: Target player loses 3 life.\"")));
}
diff --git a/Mage.Sets/src/mage/cards/c/Chainbreaker.java b/Mage.Sets/src/mage/cards/c/Chainbreaker.java
index 541c8423ad0..242b6743796 100644
--- a/Mage.Sets/src/mage/cards/c/Chainbreaker.java
+++ b/Mage.Sets/src/mage/cards/c/Chainbreaker.java
@@ -57,7 +57,7 @@ public class Chainbreaker extends CardImpl {
this.toughness = new MageInt(3);
// Chainbreaker enters the battlefield with two -1/-1 counters on it.
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2), false)));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(2), false), "with two -1/-1 counters on it"));
// {3}, {tap}: Remove a -1/-1 counter from target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl("{3}"));
diff --git a/Mage.Sets/src/mage/cards/c/ChokingSands.java b/Mage.Sets/src/mage/cards/c/ChokingSands.java
index 76d552f34d5..4a26230a475 100644
--- a/Mage.Sets/src/mage/cards/c/ChokingSands.java
+++ b/Mage.Sets/src/mage/cards/c/ChokingSands.java
@@ -50,7 +50,7 @@ import mage.target.common.TargetLandPermanent;
*/
public class ChokingSands extends CardImpl {
- private static final FilterLandPermanent filter = new FilterLandPermanent("non-Swamp");
+ private static final FilterLandPermanent filter = new FilterLandPermanent("non-Swamp land");
static {
filter.add(Predicates.not(new SubtypePredicate("Swamp")));
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java b/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java
index c43219cc0b6..02ca0b368d9 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java
@@ -59,7 +59,7 @@ public class ClockworkBeetle extends CardImpl {
this.toughness = new MageInt(0);
// Clockwork Beetle enters the battlefield with two +1/+1 counters on it.
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), "{this} enters the battlefield with two +1/+1 counters on it"));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), "with two +1/+1 counters on it"));
// Whenever Clockwork Beetle attacks or blocks, remove a +1/+1 counter from it at end of combat.
this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkBeetleEffect(), false));
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkCondor.java b/Mage.Sets/src/mage/cards/c/ClockworkCondor.java
index 393e16c7d7f..3c84659583d 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkCondor.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkCondor.java
@@ -57,7 +57,7 @@ public class ClockworkCondor extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(0);
this.addAbility(FlyingAbility.getInstance());
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "{this} enters the battlefield with three +1/+1 counters on it"));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "with three +1/+1 counters on it"));
this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkCondorEffect(), false));
}
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkDragon.java b/Mage.Sets/src/mage/cards/c/ClockworkDragon.java
index 86fa5462144..93e09a59d23 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkDragon.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkDragon.java
@@ -60,7 +60,7 @@ public class ClockworkDragon extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(0);
this.addAbility(FlyingAbility.getInstance());
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(6)), "{this} enters the battlefield with six +1/+1 counters on it"));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(6)), "with six +1/+1 counters on it"));
this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkDragonEffect(), false));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new GenericManaCost(3)));
}
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkHydra.java b/Mage.Sets/src/mage/cards/c/ClockworkHydra.java
index f8b8785d914..50a66752573 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkHydra.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkHydra.java
@@ -64,9 +64,7 @@ public class ClockworkHydra extends CardImpl {
this.toughness = new MageInt(0);
// Clockwork Hydra enters the battlefield with four +1/+1 counters on it.
- Effect effect = new AddCountersSourceEffect(CounterType.P1P1.createInstance(4));
- effect.setText("with four +1/+1 counters on it");
- this.addAbility(new EntersBattlefieldAbility(effect));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), "with four +1/+1 counters on it"));
// Whenever Clockwork Hydra attacks or blocks, remove a +1/+1 counter from it. If you do, Clockwork Hydra deals 1 damage to target creature or player.
this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkHydraEffect(), false));
diff --git a/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java b/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java
index c50c15167d6..38aa0d063f3 100644
--- a/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java
+++ b/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java
@@ -61,7 +61,7 @@ public class ClockworkVorrac extends CardImpl {
this.power = new MageInt(0);
this.toughness = new MageInt(0);
this.addAbility(TrampleAbility.getInstance());
- this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), "{this} enters the battlefield with four +1/+1 counters on it"));
+ this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), "with four +1/+1 counters on it"));
this.addAbility(new AttacksOrBlocksTriggeredAbility(new ClockworkVorracEffect(), false));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new TapSourceCost()));
}
diff --git a/Mage.Sets/src/mage/cards/c/CloudKey.java b/Mage.Sets/src/mage/cards/c/CloudKey.java
index 9832c93037d..fdbe0ecb9f7 100644
--- a/Mage.Sets/src/mage/cards/c/CloudKey.java
+++ b/Mage.Sets/src/mage/cards/c/CloudKey.java
@@ -36,11 +36,10 @@ public class CloudKey extends CardImpl {
public CloudKey(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
- // As Cloud Key enters the battlefield, choose artifact, creature,
- // enchantment, instant, or sorcery.
+ // As Cloud Key enters the battlefield, choose artifact, creature, enchantment, instant, or sorcery.
this.addAbility(new AsEntersBattlefieldAbility(new CloudKeyChooseTypeEffect()));
- // Spells of the chosen type cost {1} less to cast
+ // Spells you cast of the chosen type cost {1} less to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CloudKeyCostModificationEffect()));
}
@@ -103,7 +102,7 @@ class CloudKeyCostModificationEffect extends CostModificationEffectImpl {
public CloudKeyCostModificationEffect() {
super(Duration.WhileOnBattlefield, Outcome.Benefit, CostModificationType.REDUCE_COST);
- this.staticText = "Spells of the chosen type cost {1} less to cast.";
+ this.staticText = "Spells you cast of the chosen type cost {1} less to cast.";
}
public CloudKeyCostModificationEffect(final CloudKeyCostModificationEffect effect) {
diff --git a/Mage.Sets/src/mage/cards/c/Confessor.java b/Mage.Sets/src/mage/cards/c/Confessor.java
index c18680bfa95..759f18be1b4 100644
--- a/Mage.Sets/src/mage/cards/c/Confessor.java
+++ b/Mage.Sets/src/mage/cards/c/Confessor.java
@@ -53,7 +53,7 @@ public class Confessor extends CardImpl {
// Whenever a player discards a card, you may gain 1 life.
this.addAbility(new SimpleTriggeredAbility(
- Zone.BATTLEFIELD, EventType.DISCARDED_CARD, new GainLifeEffect(1), "Whenever a player discards a card, you may", false, true));
+ Zone.BATTLEFIELD, EventType.DISCARDED_CARD, new GainLifeEffect(1), "Whenever a player discards a card, ", false, true));
}
public Confessor(final Confessor card) {
diff --git a/Mage.Sets/src/mage/cards/c/CovetousDragon.java b/Mage.Sets/src/mage/cards/c/CovetousDragon.java
index a2490caa877..a8bae47e676 100644
--- a/Mage.Sets/src/mage/cards/c/CovetousDragon.java
+++ b/Mage.Sets/src/mage/cards/c/CovetousDragon.java
@@ -55,7 +55,7 @@ public class CovetousDragon extends CardImpl {
// When you control no artifacts, sacrifice Covetous Dragon.
this.addAbility(new ControlsPermanentsControllerTriggeredAbility(
- new FilterArtifactPermanent(), Filter.ComparisonType.Equal, 0,
+ new FilterArtifactPermanent("no artifacts"), Filter.ComparisonType.Equal, 0,
new SacrificeSourceEffect()));
}
diff --git a/Mage/src/main/java/mage/abilities/dynamicvalue/common/DomainValue.java b/Mage/src/main/java/mage/abilities/dynamicvalue/common/DomainValue.java
index 75311da6f6e..fc597b9fca9 100644
--- a/Mage/src/main/java/mage/abilities/dynamicvalue/common/DomainValue.java
+++ b/Mage/src/main/java/mage/abilities/dynamicvalue/common/DomainValue.java
@@ -98,6 +98,6 @@ public class DomainValue implements DynamicValue {
@Override
public String getMessage() {
- return "basic land type among lands you control";
+ return "basic land type among lands " + (countTargetPlayer ? "he or she controls" : "you control");
}
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java
index 54dea779a5c..5cb76793a6a 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/LoseLifeControllerAttachedEffect.java
@@ -86,7 +86,7 @@ public class LoseLifeControllerAttachedEffect extends OneShotEffect {
private void setText() {
StringBuilder sb = new StringBuilder();
- sb.append("it's controller loses ").append(amount.toString()).append(" life");
+ sb.append("its controller loses ").append(amount.toString()).append(" life");
String message = amount.getMessage();
if (message.length() > 0) {
sb.append(" for each ");
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToTargetMultiAmountEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToTargetMultiAmountEffect.java
index eefd50e9b5e..aff138d575f 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToTargetMultiAmountEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToTargetMultiAmountEffect.java
@@ -132,7 +132,7 @@ public class PreventDamageToTargetMultiAmountEffect extends PreventionEffectImpl
@Override
public String getText(Mode mode) {
StringBuilder sb = new StringBuilder();
- sb.append("Prevent the next ").append(amountToPrevent).append(" damage that would be dealt ");
+ sb.append("prevent the next ").append(amountToPrevent).append(" damage that would be dealt ");
if (duration.equals(Duration.EndOfTurn)) {
sb.append("this turn ");
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java
index c4a3edf16c9..d5638262cac 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java
@@ -149,7 +149,7 @@ public class PutOnLibraryTargetEffect extends OneShotEffect {
StringBuilder sb = new StringBuilder();
Target target = mode.getTargets().get(0);
sb.append("put ");
- if (target.getMaxNumberOfTargets() == 0) {
+ if (target.getMaxNumberOfTargets() == 0 || target.getMaxNumberOfTargets() == Integer.MAX_VALUE) {
sb.append("any number of ");
} else if (target.getMaxNumberOfTargets() != 1 || target.getNumberOfTargets() != 1) {
if (target.getMaxNumberOfTargets() > target.getNumberOfTargets()) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockTargetEffect.java
index 79e3fa8cb4f..940ab26b097 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockTargetEffect.java
@@ -75,7 +75,9 @@ public class CantBlockTargetEffect extends RestrictionEffect {
}
StringBuilder sb = new StringBuilder();
Target target = mode.getTargets().get(0);
- if (target.getMaxNumberOfTargets() > 1) {
+ if (target.getMaxNumberOfTargets() == Integer.MAX_VALUE) {
+ sb.append("any number of ");
+ } else if (target.getMaxNumberOfTargets() > 1) {
if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
sb.append("up to ");
}
diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityTargetEffect.java
index f30483595e7..ac019f328dc 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityTargetEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityTargetEffect.java
@@ -162,9 +162,11 @@ public class GainAbilityTargetEffect extends ContinuousEffectImpl {
}
StringBuilder sb = new StringBuilder();
Target target = mode.getTargets().get(0);
- if (target.getMaxNumberOfTargets() > 1) {
+ if (target.getMaxNumberOfTargets() == Integer.MAX_VALUE) {
+ sb.append("any number of target ").append(target.getTargetName()).append(" gain ");
+ } else if (target.getMaxNumberOfTargets() > 1) {
if (target.getNumberOfTargets() < target.getMaxNumberOfTargets()) {
- sb.append("Up to");
+ sb.append("up to ");
}
sb.append(target.getMaxNumberOfTargets()).append(" target ").append(target.getTargetName()).append(" gain ");
} else {
diff --git a/Mage/src/main/java/mage/abilities/keyword/DelveAbility.java b/Mage/src/main/java/mage/abilities/keyword/DelveAbility.java
index fa4ffdf3db5..69b0adcb46a 100644
--- a/Mage/src/main/java/mage/abilities/keyword/DelveAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/DelveAbility.java
@@ -93,7 +93,7 @@ public class DelveAbility extends SimpleStaticAbility implements AlternateManaPa
@Override
public String getRule() {
- return "Delve (Each card you exile from your graveyard while casting this spell pays for {1})";
+ return "Delve (Each card you exile from your graveyard while casting this spell pays for {1}.)";
}
@Override
diff --git a/Mage/src/main/java/mage/abilities/keyword/MorphAbility.java b/Mage/src/main/java/mage/abilities/keyword/MorphAbility.java
index 9369b1bb8a5..2738a548469 100644
--- a/Mage/src/main/java/mage/abilities/keyword/MorphAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/MorphAbility.java
@@ -100,7 +100,7 @@ public class MorphAbility extends StaticAbility implements AlternativeSourceCost
protected static final String ABILITY_KEYWORD = "Morph";
protected static final String ABILITY_KEYWORD_MEGA = "Megamorph";
protected static final String REMINDER_TEXT = "(You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)";
- protected static final String REMINDER_TEXT_MEGA = "(You may cast this card face down as a 2/2 creature for {3}. Turn it face up at any time for its megamorph cost and put a +1/+1 counter on it.)";
+ protected static final String REMINDER_TEXT_MEGA = "(You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)";
protected String ruleText;
protected AlternativeCost2Impl alternateCosts = new AlternativeCost2Impl(ABILITY_KEYWORD, REMINDER_TEXT, new GenericManaCost(3));
protected Costs morphCosts;
diff --git a/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java b/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java
index 8c3deef0095..df70c1df60b 100644
--- a/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java
+++ b/Mage/src/main/java/mage/abilities/keyword/ReinforceAbility.java
@@ -10,6 +10,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.target.common.TargetCreaturePermanent;
+import mage.util.CardUtil;
public class ReinforceAbility extends SimpleActivatedAbility {
private DynamicValue count;
@@ -44,8 +45,13 @@ public class ReinforceAbility extends SimpleActivatedAbility {
StringBuilder sb = new StringBuilder("Reinforce ");
sb.append(count.toString()).append(" - ");
sb.append(cost.getText());
- sb.append(" (").append(cost.getText()).append("Discard this card: Put ");
- sb.append(count.toString()).append(" +1/+1 counters on target creature.");
+ sb.append(" (").append(cost.getText()).append(", Discard this card: Put ");
+ if (count.toString().equals("1")) {
+ sb.append("a +1/+1 counter");
+ } else {
+ sb.append(CardUtil.numberToText(count.toString())).append(" +1/+1 counters");
+ }
+ sb.append(" on target creature.)");
return sb.toString();
}
}