From 3da35269afd64341f920680dfc74a17b32146648 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 25 May 2013 15:42:04 +0200 Subject: [PATCH] Some minor changes to framework classes. --- .../costs/OptionalAdditionalCost.java | 2 +- .../costs/OptionalAdditionalCostImpl.java | 3 +- .../effects/common/CantBlockTargetEffect.java | 3 +- ...romGraveyardToBattlefieldTargetEffect.java | 36 ++++++++++++------- .../mage/abilities/keyword/KickerAbility.java | 10 +++--- 5 files changed, 34 insertions(+), 20 deletions(-) diff --git a/Mage/src/mage/abilities/costs/OptionalAdditionalCost.java b/Mage/src/mage/abilities/costs/OptionalAdditionalCost.java index 8f71eb898f1..945f7cdf5e2 100644 --- a/Mage/src/mage/abilities/costs/OptionalAdditionalCost.java +++ b/Mage/src/mage/abilities/costs/OptionalAdditionalCost.java @@ -36,7 +36,7 @@ public interface OptionalAdditionalCost extends Cost { String getName(); /** - * Returns the complete text for the addional coast or if onlyCost is true + * Returns the complete text for the addional cost or if onlyCost is true * only the pure text fore the included native cost * * @param onlyCost diff --git a/Mage/src/mage/abilities/costs/OptionalAdditionalCostImpl.java b/Mage/src/mage/abilities/costs/OptionalAdditionalCostImpl.java index cb8b349f350..90b37805241 100644 --- a/Mage/src/mage/abilities/costs/OptionalAdditionalCostImpl.java +++ b/Mage/src/mage/abilities/costs/OptionalAdditionalCostImpl.java @@ -145,6 +145,7 @@ public class OptionalAdditionalCostImpl * Set if the cost be multiple times activated * */ + @Override public void setRepeatable(boolean repeatable) { this.repeatable = repeatable; } @@ -183,4 +184,4 @@ public class OptionalAdditionalCostImpl public OptionalAdditionalCostImpl copy() { return new OptionalAdditionalCostImpl(this); } -} \ No newline at end of file +} diff --git a/Mage/src/mage/abilities/effects/common/CantBlockTargetEffect.java b/Mage/src/mage/abilities/effects/common/CantBlockTargetEffect.java index 24d2f17627d..770fc925909 100644 --- a/Mage/src/mage/abilities/effects/common/CantBlockTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/CantBlockTargetEffect.java @@ -34,6 +34,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.Target; +import mage.util.CardUtil; /** * @@ -79,7 +80,7 @@ public class CantBlockTargetEffect extends RestrictionEffect 1) { diff --git a/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java b/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java index eb7eb01e099..13b41443624 100644 --- a/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/ReturnFromGraveyardToBattlefieldTargetEffect.java @@ -28,6 +28,7 @@ package mage.abilities.effects.common; +import java.util.UUID; import mage.Constants.Outcome; import mage.Constants.Zone; import mage.abilities.Ability; @@ -37,6 +38,8 @@ import mage.cards.Card; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import mage.target.Target; +import mage.util.CardUtil; /** * @@ -67,28 +70,37 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect< @Override public boolean apply(Game game, Ability source) { - Card card = game.getCard(source.getFirstTarget()); - if (card != null) { - Player player = game.getPlayer(card.getOwnerId()); - if (player != null) { - if (card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getId(), source.getControllerId())) { - if (tapped) { - Permanent permanent = game.getPermanent(card.getId()); - if (permanent != null) { - permanent.setTapped(true); + for (UUID targetId: getTargetPointer().getTargets(game, source)) { + Card card = game.getCard(targetId); + if (card != null) { + Player player = game.getPlayer(card.getOwnerId()); + if (player != null) { + if (card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getId(), source.getControllerId())) { + if (tapped) { + Permanent permanent = game.getPermanent(card.getId()); + if (permanent != null) { + permanent.setTapped(true); + } } } - return true; } } } - return false; + return true; } @Override public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); - sb.append("Return target ").append(mode.getTargets().get(0).getTargetName()).append(" to the battlefield"); + Target target = mode.getTargets().get(0); + sb.append("Return "); + if (target.getMaxNumberOfTargets() > 1) { + if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) { + sb.append("up to "); + } + sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" "); + } + sb.append("target ").append(mode.getTargets().get(0).getTargetName()).append(" to the battlefield"); if (tapped) { sb.append(" tapped"); } diff --git a/Mage/src/mage/abilities/keyword/KickerAbility.java b/Mage/src/mage/abilities/keyword/KickerAbility.java index 2eb231078f7..2364a62529a 100644 --- a/Mage/src/mage/abilities/keyword/KickerAbility.java +++ b/Mage/src/mage/abilities/keyword/KickerAbility.java @@ -80,21 +80,21 @@ import mage.players.Player; */ public class KickerAbility extends StaticAbility implements OptionalAdditionalSourceCosts { - protected static final String KickerKeyword = "Kicker"; - protected static final String KickerReminderMana = "(You may pay an additional {cost} as you cast this spell.)"; - protected static final String KickerReminderCost = "(You may {cost} in addition to any other costs as you cast this spell.)"; + protected static final String KICKER_KEYWORD = "Kicker"; + protected static final String KICKER_REMINDER_MANA = "(You may pay an additional {cost} as you cast this spell.)"; + protected static final String KICKER_REMINDER_COST = "(You may {cost} in addition to any other costs as you cast this spell.)"; protected String keywordText; protected String reminderText; protected List kickerCosts = new LinkedList(); public KickerAbility(String manaString) { - this(KickerKeyword, KickerReminderMana); + this(KICKER_KEYWORD, KICKER_REMINDER_MANA); this.addKickerCost(manaString); } public KickerAbility(Cost cost) { - this(KickerKeyword, KickerReminderCost); + this(KICKER_KEYWORD, KICKER_REMINDER_COST); this.addKickerCost(cost); }