From ab2029fb64ab74fae532ba904dbbaf4faa0a5dbc Mon Sep 17 00:00:00 2001 From: Sloth Date: Thu, 24 Nov 2011 17:52:36 +0000 Subject: [PATCH] - Fixed canPlay in AF Clash always returning true (even when it's a sorcery during any phase). - Added a canPlayAI function to AF Clash (for Pulling Teeth). --- .../abilityfactory/AbilityFactoryClash.java | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java index 226980c774b..ab19e875a96 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java @@ -50,12 +50,7 @@ public final class AbilityFactoryClash { @Override public boolean canPlayAI() { - return true; - } - - @Override - public boolean canPlay() { - return true; + return AbilityFactoryClash.clashCanPlayAI(this); } @Override @@ -93,12 +88,7 @@ public final class AbilityFactoryClash { @Override public boolean canPlayAI() { - return true; - } - - @Override - public boolean canPlay() { - return true; + return AbilityFactoryClash.clashCanPlayAI(this); } @Override @@ -139,11 +129,6 @@ public final class AbilityFactoryClash { return true; } - @Override - public boolean canPlay() { - return true; - } - @Override public boolean chkAIDrawback() { return true; @@ -167,6 +152,19 @@ public final class AbilityFactoryClash { return dbClash; } + + private static boolean clashCanPlayAI(final SpellAbility sa) { + final AbilityFactory af = sa.getAbilityFactory(); + final Target tgt = af.getAbTgt(); + if (tgt != null) { + if (!AllZone.getHumanPlayer().canBeTargetedBy(sa)) { + return false; + } + tgt.resetTargets(); + tgt.addTarget(AllZone.getHumanPlayer()); + } + return true; + } /** *