From 63208c33ed8aa22310c707aa866a809f3540c16c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 26 May 2014 16:58:49 +0200 Subject: [PATCH] Fixed canPlay method to care abou alternate casting costs. --- Mage/src/mage/players/PlayerImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 65f346f52e..d7a6513279 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -57,6 +57,7 @@ import mage.abilities.common.PassAbility; import mage.abilities.common.delayed.AtTheEndOfTurnStepPostDelayedTriggeredAbility; import mage.abilities.costs.AdjustingSourceCosts; import mage.abilities.costs.AlternativeCost; +import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.costs.AlternativeSourceCosts; import mage.abilities.effects.RestrictionEffect; import mage.abilities.effects.RestrictionUntapNotMoreThanEffect; @@ -1834,6 +1835,15 @@ public abstract class PlayerImpl> implements Player, Ser } } + MageObject object = game.getObject(ability.getSourceId()); + for (Ability objectAbility :object.getAbilities()) { + if (objectAbility instanceof AlternativeCostSourceAbility) { + if (objectAbility.getCosts().canPay(ability.getSourceId(), playerId, game)) { + return true; + } + } + } + for (AlternativeCost cost: ability.getAlternativeCosts()) { if (cost.isAvailable(game, ability) && cost.canPay(ability.getSourceId(), playerId, game)) { return true;