From 2326fcc0d1dd623cd1530c084e4f316a0e340ded Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 14 Aug 2014 15:27:33 +0200 Subject: [PATCH] * Trickbind and Stiffle - Fixed that the spells could wronly also counter spells. --- .../src/mage/sets/timespiral/Trickbind.java | 5 +--- .../common/CreateTokenTargetEffect.java | 6 +--- Mage/src/mage/game/match/MatchOptions.java | 2 +- .../TargetActivatedOrTriggeredAbility.java | 29 ++++++++++++------- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Mage.Sets/src/mage/sets/timespiral/Trickbind.java b/Mage.Sets/src/mage/sets/timespiral/Trickbind.java index 475a43653bd..bedf24772f2 100644 --- a/Mage.Sets/src/mage/sets/timespiral/Trickbind.java +++ b/Mage.Sets/src/mage/sets/timespiral/Trickbind.java @@ -116,10 +116,7 @@ class TrickbindCantActivateEffect extends RestrictionEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { - if (getTargetPointer().getFirst(game, source).equals(permanent.getId())) { - return true; - } - return false; + return getTargetPointer().getFirst(game, source).equals(permanent.getId()); } @Override diff --git a/Mage/src/mage/abilities/effects/common/CreateTokenTargetEffect.java b/Mage/src/mage/abilities/effects/common/CreateTokenTargetEffect.java index f86d5f6a915..5b28dc3e8f2 100644 --- a/Mage/src/mage/abilities/effects/common/CreateTokenTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/CreateTokenTargetEffect.java @@ -80,11 +80,7 @@ public class CreateTokenTargetEffect extends OneShotEffect { return staticText; } StringBuilder sb = new StringBuilder("put "); - if (amount.toString().equals("1")) { - sb.append("a"); - } else { - sb.append(amount.toString()); - } + sb.append(CardUtil.numberToText(amount.toString(), "a")); sb.append(" ").append(token.getDescription()).append(" onto the battlefield"); if (tapped) { sb.append(" tapped"); diff --git a/Mage/src/mage/game/match/MatchOptions.java b/Mage/src/mage/game/match/MatchOptions.java index 89381cf9ea7..9308319144b 100644 --- a/Mage/src/mage/game/match/MatchOptions.java +++ b/Mage/src/mage/game/match/MatchOptions.java @@ -49,7 +49,7 @@ public class MatchOptions implements Serializable { protected String gameType; protected String deckType; protected boolean limited; - protected List playerTypes = new ArrayList(); + protected List playerTypes = new ArrayList<>(); /** * Time each player has during the game to play using his\her priority. */ diff --git a/Mage/src/mage/target/common/TargetActivatedOrTriggeredAbility.java b/Mage/src/mage/target/common/TargetActivatedOrTriggeredAbility.java index 4b4f4ae499d..51c5d1a3372 100644 --- a/Mage/src/mage/target/common/TargetActivatedOrTriggeredAbility.java +++ b/Mage/src/mage/target/common/TargetActivatedOrTriggeredAbility.java @@ -33,8 +33,7 @@ import java.util.Set; import java.util.UUID; import mage.constants.Zone; import mage.abilities.Ability; -import mage.abilities.ActivatedAbility; -import mage.abilities.TriggeredAbility; +import mage.constants.AbilityType; import mage.filter.Filter; import mage.filter.FilterAbility; import mage.game.Game; @@ -69,10 +68,7 @@ public class TargetActivatedOrTriggeredAbility extends TargetObject { } StackObject stackObject = game.getStack().getStackObject(id); - if (stackObject.getStackAbility() != null && (stackObject.getStackAbility() instanceof ActivatedAbility || stackObject.getStackAbility() instanceof TriggeredAbility)) { - return true; - } - return false; + return isActivatedOrTriggeredAbility(stackObject); } @Override @@ -82,11 +78,11 @@ public class TargetActivatedOrTriggeredAbility extends TargetObject { @Override public boolean canChoose(UUID sourceControllerId, Game game) { - for (StackObject stackObject : game.getStack()) { - if (stackObject.getStackAbility() != null && (stackObject.getStackAbility() instanceof ActivatedAbility || stackObject.getStackAbility() instanceof TriggeredAbility) && game.getPlayer(sourceControllerId).getInRange().contains(stackObject.getStackAbility().getControllerId())) { - return true; - } + for (StackObject stackObject : game.getStack()) { + if (isActivatedOrTriggeredAbility(stackObject)) { + return true; } + } return false; } @@ -99,7 +95,7 @@ public class TargetActivatedOrTriggeredAbility extends TargetObject { public Set possibleTargets(UUID sourceControllerId, Game game) { Set possibleTargets = new HashSet<>(); for (StackObject stackObject : game.getStack()) { - if (stackObject.getStackAbility() != null && (stackObject.getStackAbility() instanceof ActivatedAbility || stackObject.getStackAbility() instanceof TriggeredAbility) && game.getPlayer(sourceControllerId).getInRange().contains(stackObject.getStackAbility().getControllerId())) { + if (isActivatedOrTriggeredAbility(stackObject)) { possibleTargets.add(stackObject.getStackAbility().getId()); } } @@ -116,4 +112,15 @@ public class TargetActivatedOrTriggeredAbility extends TargetObject { return new FilterAbility(); } + static boolean isActivatedOrTriggeredAbility(StackObject stackObject) { + if (stackObject == null) { + return false; + } + if (stackObject instanceof Ability) { + Ability ability = (Ability)stackObject; + return ability.getAbilityType().equals(AbilityType.TRIGGERED) + || ability.getAbilityType().equals(AbilityType.ACTIVATED); + } + return false; + } }