diff --git a/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java b/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java index 17a02642c6e..e6f6261ae95 100644 --- a/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java +++ b/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java @@ -1,7 +1,6 @@ package mage.cards.c; import mage.abilities.Mode; -import mage.abilities.costs.Cost; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -35,9 +34,7 @@ public final class CollectiveBrutality extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}"); // Escalate - Discard a card. - Cost cost = new DiscardCardCost(); - cost.setText("— Discard a card"); - this.addAbility(new EscalateAbility(cost)); + this.addAbility(new EscalateAbility(new DiscardCardCost())); // Choose one or more — this.getSpellAbility().getModes().setMinModes(1); diff --git a/Mage.Sets/src/mage/cards/c/CollectiveEffort.java b/Mage.Sets/src/mage/cards/c/CollectiveEffort.java index d5e86128201..ccff1b45ca4 100644 --- a/Mage.Sets/src/mage/cards/c/CollectiveEffort.java +++ b/Mage.Sets/src/mage/cards/c/CollectiveEffort.java @@ -2,7 +2,6 @@ package mage.cards.c; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.costs.Cost; import mage.abilities.costs.common.TapTargetCost; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -16,10 +15,8 @@ import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.FilterPlayer; import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.PowerPredicate; -import mage.filter.predicate.permanent.TappedPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -35,12 +32,10 @@ import java.util.UUID; */ public final class CollectiveEffort extends CardImpl { - private static final FilterControlledCreaturePermanent filterUntapped = new FilterControlledCreaturePermanent("untapped creature you control"); private static final FilterCreaturePermanent filterDestroyCreature = new FilterCreaturePermanent("creature with power 4 or greater"); private static final FilterPlayer filterPlayer = new FilterPlayer("player whose creatures get +1/+1 counters"); static { - filterUntapped.add(TappedPredicate.UNTAPPED); filterDestroyCreature.add(new PowerPredicate(ComparisonType.MORE_THAN, 3)); } @@ -48,9 +43,7 @@ public final class CollectiveEffort extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{W}{W}"); // Escalate — Tap an untapped creature you control. - Cost cost = new TapTargetCost(new TargetControlledCreaturePermanent(filterUntapped)); - cost.setText("— Tap an untapped creature you control"); - this.addAbility(new EscalateAbility(cost)); + this.addAbility(new EscalateAbility(new TapTargetCost(new TargetControlledCreaturePermanent(StaticFilters.FILTER_CONTROLLED_UNTAPPED_CREATURE)))); // Choose one or more — this.getSpellAbility().getModes().setMinModes(1); diff --git a/Mage.Sets/src/mage/cards/r/RydiasReturn.java b/Mage.Sets/src/mage/cards/r/RydiasReturn.java index acc39e0bd2e..00318ea1af2 100644 --- a/Mage.Sets/src/mage/cards/r/RydiasReturn.java +++ b/Mage.Sets/src/mage/cards/r/RydiasReturn.java @@ -26,7 +26,7 @@ public final class RydiasReturn extends CardImpl { // * Return up to two target permanent cards from your graveyard to your hand. this.getSpellAbility().addMode(new Mode(new ReturnFromGraveyardToHandTargetEffect()) - .addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_PERMANENTS))); + .addTarget(new TargetCardInYourGraveyard(0, 2, StaticFilters.FILTER_CARD_PERMANENTS))); } private RydiasReturn(final RydiasReturn card) { diff --git a/Mage.Sets/src/mage/cards/t/TerraMagicalAdept.java b/Mage.Sets/src/mage/cards/t/TerraMagicalAdept.java index 4913d04db81..2b3d125cd26 100644 --- a/Mage.Sets/src/mage/cards/t/TerraMagicalAdept.java +++ b/Mage.Sets/src/mage/cards/t/TerraMagicalAdept.java @@ -38,7 +38,7 @@ public final class TerraMagicalAdept extends CardImpl { // When Terra enters, mill five cards. Put up to one enchantment milled this this way into your hand. this.addAbility(new EntersBattlefieldTriggeredAbility(new MillThenPutInHandEffect( 5, StaticFilters.FILTER_CARD_ENCHANTMENT, true - ).setText("mill five cards. Put up to one enchantment milled this this way into your hand"))); + ).setText("mill five cards. Put up to one enchantment card milled this way into your hand"))); // Trance -- {4}{R}{G}, {T}: Exile Terra, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery. this.addAbility(new TransformAbility()); diff --git a/Mage.Sets/src/mage/cards/v/VincentsLimitBreak.java b/Mage.Sets/src/mage/cards/v/VincentsLimitBreak.java index 1a49967f2ff..af68f437d12 100644 --- a/Mage.Sets/src/mage/cards/v/VincentsLimitBreak.java +++ b/Mage.Sets/src/mage/cards/v/VincentsLimitBreak.java @@ -73,7 +73,7 @@ class VincentsLimitBreakEffect extends OneShotEffect { VincentsLimitBreakEffect(int power, int toughness) { super(Outcome.Benefit); - staticText = power + "/" + toughness; + staticText = power + "/" + toughness + '.'; this.power = power; this.toughness = toughness; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityAttachedEffect.java index 16d95141250..76afce20dce 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityAttachedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityAttachedEffect.java @@ -151,7 +151,7 @@ public class GainAbilityAttachedEffect extends ContinuousEffectImpl { if (quotes) { sb.append('"'); } - sb.append(CardUtil.stripReminderText(ability.getRule("This " + targetObjectName))); + sb.append(CardUtil.stripReminderText(ability.getRule("this " + targetObjectName))); if (quotes) { sb.append('"'); } diff --git a/Mage/src/main/java/mage/abilities/keyword/EscalateAbility.java b/Mage/src/main/java/mage/abilities/keyword/EscalateAbility.java index 38db09dc2a0..4fe3b2cacb9 100644 --- a/Mage/src/main/java/mage/abilities/keyword/EscalateAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/EscalateAbility.java @@ -2,15 +2,18 @@ package mage.abilities.keyword; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.SpellAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; +import mage.abilities.costs.mana.ManaCost; import mage.abilities.effects.common.cost.CostModificationEffectImpl; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; +import mage.util.CardUtil; /** * @author emerald000 @@ -39,7 +42,6 @@ class EscalateEffect extends CostModificationEffectImpl { EscalateEffect(Cost cost) { super(Duration.WhileOnBattlefield, Outcome.Detriment, CostModificationType.INCREASE_COST); this.cost = cost; - this.staticText = "Escalate " + cost.getText() + " (Pay this cost for each mode chosen beyond the first.)"; } private EscalateEffect(final EscalateEffect effect) { @@ -68,4 +70,19 @@ class EscalateEffect extends CostModificationEffectImpl { public EscalateEffect copy() { return new EscalateEffect(this); } + + @Override + public String getText(Mode mode) { + StringBuilder sb = new StringBuilder("Escalate"); + if (cost instanceof ManaCost) { + sb.append(' '); + sb.append(cost.getText()); + } else { + sb.append("—"); + sb.append(CardUtil.getTextWithFirstCharUpperCase(cost.getText())); + sb.append('.'); + } + sb.append(" (Pay this cost for each mode chosen beyond the first.)"); + return sb.toString(); + } }