From d8a09449bac4f39f0ae74e990a6a6d0988ba3dcd Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 14 Jan 2012 12:05:55 +0000 Subject: [PATCH] - Added canPlayFromEffectAI to AF Pump. - Little fix for Cascade. --- src/main/java/forge/GameActionUtil.java | 1 + .../abilityfactory/AbilityFactoryPump.java | 28 ++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java index e383f8ddd26..1302aaa8894 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/GameActionUtil.java @@ -182,6 +182,7 @@ public final class GameActionUtil { final StringBuilder sb = new StringBuilder(); sb.append(c).append(" - Cascade."); ability.setStackDescription(sb.toString()); + ability.setActivatingPlayer(controller); AllZone.getStack().addSimultaneousStackEntry(ability); diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java index 639ebe71dbc..fe5a36c2cfe 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java @@ -128,6 +128,16 @@ public class AbilityFactoryPump { public void resolve() { AbilityFactoryPump.this.pumpResolve(this); } // resolve + + @Override + public boolean canPlayFromEffectAI(final boolean mandatory, final boolean withOutManaCost) { + if (withOutManaCost) { + return AbilityFactoryPump.this.pumpTriggerAINoCost( + AbilityFactoryPump.this.abilityFactory, this, mandatory); + } + return AbilityFactoryPump.this.pumpTriggerAI( + AbilityFactoryPump.this.abilityFactory, this, mandatory); + } }; // SpellAbility return spPump; @@ -694,7 +704,7 @@ public class AbilityFactoryPump { return true; } // pumpMandatoryTarget() - + /** *

* pumpTriggerAI. @@ -712,7 +722,23 @@ public class AbilityFactoryPump { if (!ComputerUtil.canPayCost(sa)) { return false; } + return pumpTriggerAI(af, sa, mandatory); + } + /** + *

+ * pumpTriggerAI. + *

+ * + * @param af + * a {@link forge.card.abilityfactory.AbilityFactory} object. + * @param sa + * a {@link forge.card.spellability.SpellAbility} object. + * @param mandatory + * a boolean. + * @return a boolean. + */ + private boolean pumpTriggerAINoCost(final AbilityFactory af, final SpellAbility sa, final boolean mandatory) { final Card source = sa.getSourceCard(); int defense;