diff --git a/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java b/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java index 5029184f207..72a752e21a3 100644 --- a/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/counter/AddCountersSourceEffect.java @@ -33,6 +33,7 @@ import mage.abilities.Ability; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; import mage.counters.Counter; import mage.game.Game; import mage.game.permanent.Permanent; @@ -44,8 +45,9 @@ import mage.players.Player; public class AddCountersSourceEffect extends OneShotEffect { private Counter counter; - protected boolean informPlayers; - protected DynamicValue amount; + private boolean informPlayers; + private DynamicValue amount; + private boolean putOnCard; public AddCountersSourceEffect(Counter counter) { this(counter, false); @@ -55,17 +57,23 @@ public class AddCountersSourceEffect extends OneShotEffect { public SuspendAbility(int suspend, ManaCost cost, Card card) { super(Zone.HAND, new SuspendExileEffect(suspend), cost); this.usesStack = false; - ruleText = new StringBuilder("Suspend ").append(suspend).append(" - ").append(cost.getText()) - .append(" (Rather than cast this card from your hand, pay ") - .append(cost.getText()) - .append(" and exile it with ") - .append(suspend == 1 ? "a time counter":suspend + " time counters") - .append(" on it.") - .append(" At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.") - .append(card.getCardType().contains(CardType.CREATURE)? " If you play it this way and it's a creature, it gains haste until you lose control of it.":"") - .append(")") - .toString(); + StringBuilder sb = new StringBuilder("Suspend "); + if (cost != null) { + sb.append(suspend).append(" - ").append(cost.getText()) + .append(" (Rather than cast this card from your hand, pay ") + .append(cost.getText()) + .append(" and exile it with ") + .append(suspend == 1 ? "a time counter":suspend + " time counters") + .append(" on it.") + .append(" At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.") + .append(card.getCardType().contains(CardType.CREATURE)? " If you play it this way and it's a creature, it gains haste until you lose control of it.":"") + .append(")"); + } + ruleText = sb.toString(); if (card.getManaCost().isEmpty()) { setRuleAtTheTop(true); - } - + } // add triggered ability to remove the counter from the card Ability ability = new ConditionalTriggeredAbility( new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), TargetController.YOU, false), @@ -167,11 +171,11 @@ public class SuspendAbility extends ActivatedAbilityImpl { // add triggered ability that casts the suspended card, if all counters are removed card.addAbility(new SuspendPlayCardAbility(card.getCardType().contains(CardType.CREATURE))); // if it's a creature card, add Haste ability - if (card.getCardType().contains(CardType.CREATURE)) { - ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainHasteEffect(Duration.WhileOnBattlefield)); - ability.setRuleVisible(false); - card.addAbility(ability); - } +// if (card.getCardType().contains(CardType.CREATURE)) { +// ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainHasteEffect(Duration.WhileOnBattlefield)); +// ability.setRuleVisible(false); +// card.addAbility(ability); +// } } public SuspendAbility(SuspendAbility ability) { @@ -252,6 +256,11 @@ class SuspendPlayCardAbility extends TriggeredAbilityImpl { public SuspendPlayCardEffect(boolean isCreature) { super(Outcome.PutCardInPlay); - this.staticText = new StringBuilder("play it without paying its mana cost if able. If you can't, it remains removed from the game") - .append(isCreature ? ". If you play it this way and it's a creature, it gains haste until you lose control of it":"").toString(); + this.staticText = "play it without paying its mana cost if able. If you can't, it remains removed from the game"; + } public SuspendPlayCardEffect(final SuspendPlayCardEffect effect) {