From 43968bb3df9c7fa37fbd76bae2478f4460d803aa Mon Sep 17 00:00:00 2001 From: Sloth Date: Tue, 4 Dec 2012 09:37:29 +0000 Subject: [PATCH] - Removed some unnecessary chkAIDrawback overrides. --- .../card/abilityfactory/ai/AddTurnAi.java | 5 -- .../card/abilityfactory/ai/AlwaysPlayAi.java | 8 ---- .../ai/CanPlayAsDrawbackAi.java | 8 ---- .../abilityfactory/ai/ChooseCardNameAi.java | 5 -- .../card/abilityfactory/ai/ChooseColorAi.java | 5 -- .../abilityfactory/ai/ChooseSourceAi.java | 5 -- .../card/abilityfactory/ai/ChooseTypeAi.java | 5 -- .../forge/card/abilityfactory/ai/ClashAi.java | 8 ---- .../abilityfactory/ai/ControlExchangeAi.java | 6 --- .../abilityfactory/ai/CopyPermanentAi.java | 5 -- .../card/abilityfactory/ai/DamageAllAi.java | 47 +++++++++++++++++-- .../abilityfactory/ai/DamagePreventAi.java | 4 -- .../abilityfactory/ai/DamagePreventAllAi.java | 8 ---- .../card/abilityfactory/ai/DebuffAllAi.java | 17 ------- .../card/abilityfactory/ai/DestroyAllAi.java | 1 + .../forge/card/abilityfactory/ai/DigAi.java | 5 -- .../card/abilityfactory/ai/DigUntilAi.java | 5 -- .../forge/card/abilityfactory/ai/FightAi.java | 6 --- .../card/abilityfactory/ai/GameLossAi.java | 5 -- .../card/abilityfactory/ai/GameWinAi.java | 6 --- .../forge/card/abilityfactory/ai/PlayAi.java | 8 ---- .../card/abilityfactory/ai/ProtectAllAi.java | 8 ---- .../card/abilityfactory/ai/RegenerateAi.java | 5 -- .../abilityfactory/ai/RegenerateAllAi.java | 5 -- .../card/abilityfactory/ai/RepeatAi.java | 10 ---- .../card/abilityfactory/ai/RevealAiBase.java | 5 +- .../abilityfactory/ai/SacrificeAllAi.java | 1 + .../card/abilityfactory/ai/StoreSVarAi.java | 7 --- .../card/abilityfactory/ai/TapAllAi.java | 6 --- .../card/abilityfactory/ai/TwoPilesAi.java | 5 -- .../card/abilityfactory/ai/UntapAllAi.java | 5 -- 31 files changed, 49 insertions(+), 180 deletions(-) diff --git a/src/main/java/forge/card/abilityfactory/ai/AddTurnAi.java b/src/main/java/forge/card/abilityfactory/ai/AddTurnAi.java index de58713ce98..d0c4e5edd3b 100644 --- a/src/main/java/forge/card/abilityfactory/ai/AddTurnAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/AddTurnAi.java @@ -63,11 +63,6 @@ public class AddTurnAi extends SpellAiLogic { return true; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility) */ diff --git a/src/main/java/forge/card/abilityfactory/ai/AlwaysPlayAi.java b/src/main/java/forge/card/abilityfactory/ai/AlwaysPlayAi.java index 03328c4bcd7..9284364faa7 100644 --- a/src/main/java/forge/card/abilityfactory/ai/AlwaysPlayAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/AlwaysPlayAi.java @@ -13,12 +13,4 @@ public class AlwaysPlayAi extends SpellAiLogic { protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { return true; } - - /* (non-Javadoc) - * @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player) - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } } diff --git a/src/main/java/forge/card/abilityfactory/ai/CanPlayAsDrawbackAi.java b/src/main/java/forge/card/abilityfactory/ai/CanPlayAsDrawbackAi.java index a9bd903f883..e6ed39beed0 100644 --- a/src/main/java/forge/card/abilityfactory/ai/CanPlayAsDrawbackAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/CanPlayAsDrawbackAi.java @@ -15,14 +15,6 @@ public class CanPlayAsDrawbackAi extends SpellAiLogic { return false; } - /* (non-Javadoc) - * @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player) - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - /** *

* copySpellTriggerAI. diff --git a/src/main/java/forge/card/abilityfactory/ai/ChooseCardNameAi.java b/src/main/java/forge/card/abilityfactory/ai/ChooseCardNameAi.java index 0f5fe9abba4..06832d4bbc8 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ChooseCardNameAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ChooseCardNameAi.java @@ -8,11 +8,6 @@ import forge.game.player.Player; public class ChooseCardNameAi extends SpellAiLogic { - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { diff --git a/src/main/java/forge/card/abilityfactory/ai/ChooseColorAi.java b/src/main/java/forge/card/abilityfactory/ai/ChooseColorAi.java index 92eee704ca6..a556b6c15db 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ChooseColorAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ChooseColorAi.java @@ -16,11 +16,6 @@ public class ChooseColorAi extends SpellAiLogic { return chance; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { return mandatory || canPlayAI(ai, sa); diff --git a/src/main/java/forge/card/abilityfactory/ai/ChooseSourceAi.java b/src/main/java/forge/card/abilityfactory/ai/ChooseSourceAi.java index 0be172b7fa7..f9bc48aa3bf 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ChooseSourceAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ChooseSourceAi.java @@ -123,9 +123,4 @@ public class ChooseSourceAi extends SpellAiLogic { return true; } - - @Override - public boolean chkAIDrawback(SpellAbility sa, Player ai) { - return true; - } } diff --git a/src/main/java/forge/card/abilityfactory/ai/ChooseTypeAi.java b/src/main/java/forge/card/abilityfactory/ai/ChooseTypeAi.java index ca3981f1d63..18fdf02492e 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ChooseTypeAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ChooseTypeAi.java @@ -18,11 +18,6 @@ public class ChooseTypeAi extends SpellAiLogic { return doTriggerAINoCost(aiPlayer, sa, false); } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { final Target tgt = sa.getTarget(); diff --git a/src/main/java/forge/card/abilityfactory/ai/ClashAi.java b/src/main/java/forge/card/abilityfactory/ai/ClashAi.java index 1f98c31ff43..6887d2cf5a3 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ClashAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ClashAi.java @@ -16,14 +16,6 @@ public class ClashAi extends SpellAiLogic { return true; } - /* (non-Javadoc) - * @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player) - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility) */ diff --git a/src/main/java/forge/card/abilityfactory/ai/ControlExchangeAi.java b/src/main/java/forge/card/abilityfactory/ai/ControlExchangeAi.java index 82c3e552f4d..cac01721d7f 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ControlExchangeAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ControlExchangeAi.java @@ -58,12 +58,6 @@ public class ControlExchangeAi extends SpellAiLogic { return false; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - // check AI life before playing this drawback? - return true; - } - /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#doTriggerAINoCost(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility, boolean) */ diff --git a/src/main/java/forge/card/abilityfactory/ai/CopyPermanentAi.java b/src/main/java/forge/card/abilityfactory/ai/CopyPermanentAi.java index 0f9f66b7af9..1fa2e7ae00f 100644 --- a/src/main/java/forge/card/abilityfactory/ai/CopyPermanentAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/CopyPermanentAi.java @@ -44,11 +44,6 @@ public class CopyPermanentAi extends SpellAiLogic { } } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { final Card source = sa.getSourceCard(); diff --git a/src/main/java/forge/card/abilityfactory/ai/DamageAllAi.java b/src/main/java/forge/card/abilityfactory/ai/DamageAllAi.java index dc6a66d34c0..8b783d29465 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DamageAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DamageAllAi.java @@ -103,8 +103,50 @@ public class DamageAllAi extends SpellAiLogic { } @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - // check AI life before playing this drawback? + public boolean chkAIDrawback(SpellAbility sa, Player ai) { + final Card source = sa.getSourceCard(); + String validP = ""; + + final String damage = sa.getParam("NumDmg"); + int dmg = AbilityFactory.calculateAmount(sa.getSourceCard(), damage, sa); + + if (damage.equals("X") && sa.getSVar(damage).equals("Count$xPaid")) { + // Set PayX here to maximum value. + dmg = ComputerUtil.determineLeftoverMana(sa, ai); + source.setSVar("PayX", Integer.toString(dmg)); + } + + if (sa.hasParam("ValidPlayers")) { + validP = sa.getParam("ValidPlayers"); + } + + // Evaluate creatures getting killed + Player enemy = ai.getOpponent(); + final List humanList = this.getKillableCreatures(sa, enemy, dmg); + List computerList = this.getKillableCreatures(sa, ai, dmg); + final Target tgt = sa.getTarget(); + + if (tgt != null && sa.canTarget(enemy)) { + tgt.resetTargets(); + sa.getTarget().addTarget(enemy); + computerList.clear(); + } + // Don't get yourself killed + if (validP.contains("Each") && (ai.getLife() <= ai.predictDamage(dmg, source, false))) { + return false; + } + + // if we can kill human, do it + if ((validP.contains("Each") || validP.contains("EachOpponent") || validP.contains("Targeted")) + && (enemy.getLife() <= enemy.predictDamage(dmg, source, false))) { + return true; + } + + if (!computerList.isEmpty() && CardFactoryUtil.evaluateCreatureList(computerList) > CardFactoryUtil + .evaluateCreatureList(humanList)) { + return false; + } + return true; } @@ -152,7 +194,6 @@ public class DamageAllAi extends SpellAiLogic { final String damage = sa.getParam("NumDmg"); int dmg = AbilityFactory.calculateAmount(sa.getSourceCard(), damage, sa); - if (damage.equals("X") && sa.getSVar(damage).equals("Count$xPaid")) { // Set PayX here to maximum value. dmg = ComputerUtil.determineLeftoverMana(sa, ai); diff --git a/src/main/java/forge/card/abilityfactory/ai/DamagePreventAi.java b/src/main/java/forge/card/abilityfactory/ai/DamagePreventAi.java index 29dcd3e9945..36340cffea9 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DamagePreventAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DamagePreventAi.java @@ -21,10 +21,6 @@ import forge.game.player.Player; import forge.game.zone.ZoneType; public class DamagePreventAi extends SpellAiLogic { - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { diff --git a/src/main/java/forge/card/abilityfactory/ai/DamagePreventAllAi.java b/src/main/java/forge/card/abilityfactory/ai/DamagePreventAllAi.java index f612a092568..a9308143b2c 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DamagePreventAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DamagePreventAllAi.java @@ -12,14 +12,6 @@ import forge.game.player.Player; public class DamagePreventAllAi extends SpellAiLogic { - /* (non-Javadoc) - * @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player) - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility) */ diff --git a/src/main/java/forge/card/abilityfactory/ai/DebuffAllAi.java b/src/main/java/forge/card/abilityfactory/ai/DebuffAllAi.java index 3e4c7086234..c4831dcb31b 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DebuffAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DebuffAllAi.java @@ -63,21 +63,4 @@ public class DebuffAllAi extends SpellAiLogic { protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { return true; } - - /** - *

- * debuffAllChkDrawbackAI. - *

- * @param sa - * a {@link forge.card.spellability.SpellAbility} object. - * @param af - * a {@link forge.card.abilityfactory.AbilityFactory} object. - * - * @return a boolean. - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - } diff --git a/src/main/java/forge/card/abilityfactory/ai/DestroyAllAi.java b/src/main/java/forge/card/abilityfactory/ai/DestroyAllAi.java index c0c14946c2a..de9c26fa0c4 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DestroyAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DestroyAllAi.java @@ -74,6 +74,7 @@ public class DestroyAllAi extends SpellAiLogic { @Override public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { + //TODO: Check for bad outcome return true; } diff --git a/src/main/java/forge/card/abilityfactory/ai/DigAi.java b/src/main/java/forge/card/abilityfactory/ai/DigAi.java index d6230deb118..580adcc97ca 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DigAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DigAi.java @@ -59,11 +59,6 @@ public class DigAi extends SpellAiLogic { return randomReturn; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { final Target tgt = sa.getTarget(); diff --git a/src/main/java/forge/card/abilityfactory/ai/DigUntilAi.java b/src/main/java/forge/card/abilityfactory/ai/DigUntilAi.java index c3f6bdaa3a4..fb00aa6f77b 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DigUntilAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DigUntilAi.java @@ -44,11 +44,6 @@ public class DigUntilAi extends SpellAiLogic { return randomReturn; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { diff --git a/src/main/java/forge/card/abilityfactory/ai/FightAi.java b/src/main/java/forge/card/abilityfactory/ai/FightAi.java index 759b10af9e2..43883b3009c 100644 --- a/src/main/java/forge/card/abilityfactory/ai/FightAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/FightAi.java @@ -82,12 +82,6 @@ public class FightAi extends SpellAiLogic { return false; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - // check AI life before playing this drawback? - return true; - } - /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#doTriggerAINoCost(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility, boolean) */ diff --git a/src/main/java/forge/card/abilityfactory/ai/GameLossAi.java b/src/main/java/forge/card/abilityfactory/ai/GameLossAi.java index a0094417c65..d2711118585 100644 --- a/src/main/java/forge/card/abilityfactory/ai/GameLossAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/GameLossAi.java @@ -27,11 +27,6 @@ public class GameLossAi extends SpellAiLogic { return true; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { diff --git a/src/main/java/forge/card/abilityfactory/ai/GameWinAi.java b/src/main/java/forge/card/abilityfactory/ai/GameWinAi.java index d7801c0a748..39381f31b7b 100644 --- a/src/main/java/forge/card/abilityfactory/ai/GameWinAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/GameWinAi.java @@ -24,12 +24,6 @@ public class GameWinAi extends SpellAiLogic { return true; } - - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { return true; diff --git a/src/main/java/forge/card/abilityfactory/ai/PlayAi.java b/src/main/java/forge/card/abilityfactory/ai/PlayAi.java index 0346c110c6f..7507c58d5bc 100644 --- a/src/main/java/forge/card/abilityfactory/ai/PlayAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/PlayAi.java @@ -20,14 +20,6 @@ import forge.util.MyRandom; public class PlayAi extends SpellAiLogic { - /* (non-Javadoc) - * @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player) - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { final Cost abCost = sa.getPayCosts(); diff --git a/src/main/java/forge/card/abilityfactory/ai/ProtectAllAi.java b/src/main/java/forge/card/abilityfactory/ai/ProtectAllAi.java index 76648c24952..72ce9d468b8 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ProtectAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ProtectAllAi.java @@ -45,12 +45,4 @@ public class ProtectAllAi extends SpellAiLogic { protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { return true; } - - /* (non-Javadoc) - * @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player) - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } // protectAllDrawbackAI() } diff --git a/src/main/java/forge/card/abilityfactory/ai/RegenerateAi.java b/src/main/java/forge/card/abilityfactory/ai/RegenerateAi.java index f0df0466e57..624f9c18130 100644 --- a/src/main/java/forge/card/abilityfactory/ai/RegenerateAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/RegenerateAi.java @@ -167,11 +167,6 @@ public class RegenerateAi extends SpellAiLogic { return chance; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - private static boolean regenMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) { final Card hostCard = sa.getSourceCard(); final Target tgt = sa.getTarget(); diff --git a/src/main/java/forge/card/abilityfactory/ai/RegenerateAllAi.java b/src/main/java/forge/card/abilityfactory/ai/RegenerateAllAi.java index 58d02bad5c8..a17c391dbc4 100644 --- a/src/main/java/forge/card/abilityfactory/ai/RegenerateAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/RegenerateAllAi.java @@ -82,11 +82,6 @@ public class RegenerateAllAi extends SpellAiLogic { return chance; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { boolean chance = true; diff --git a/src/main/java/forge/card/abilityfactory/ai/RepeatAi.java b/src/main/java/forge/card/abilityfactory/ai/RepeatAi.java index f6a30ba12b4..92b606a9ebb 100644 --- a/src/main/java/forge/card/abilityfactory/ai/RepeatAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/RepeatAi.java @@ -21,14 +21,4 @@ public class RepeatAi extends SpellAiLogic { } return true; } - - /* (non-Javadoc) - * @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player) - */ - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - - } diff --git a/src/main/java/forge/card/abilityfactory/ai/RevealAiBase.java b/src/main/java/forge/card/abilityfactory/ai/RevealAiBase.java index 50f2b3c993b..31284f9bb51 100644 --- a/src/main/java/forge/card/abilityfactory/ai/RevealAiBase.java +++ b/src/main/java/forge/card/abilityfactory/ai/RevealAiBase.java @@ -9,7 +9,7 @@ import forge.game.zone.ZoneType; public abstract class RevealAiBase extends SpellAiLogic { - protected boolean revealHandTargetAI(final Player ai, final SpellAbility sa/*, final boolean primarySA, final boolean mandatory*/) { + protected boolean revealHandTargetAI(final Player ai, final SpellAbility sa) { final Target tgt = sa.getTarget(); Player opp = ai.getOpponent(); @@ -38,6 +38,7 @@ public abstract class RevealAiBase extends SpellAiLogic { */ @Override public boolean chkAIDrawback(SpellAbility sa, Player ai) { - return revealHandTargetAI(ai, sa/*, false, false*/); + revealHandTargetAI(ai, sa); + return true; } } diff --git a/src/main/java/forge/card/abilityfactory/ai/SacrificeAllAi.java b/src/main/java/forge/card/abilityfactory/ai/SacrificeAllAi.java index 70b872ae65c..79ff66857a8 100644 --- a/src/main/java/forge/card/abilityfactory/ai/SacrificeAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/SacrificeAllAi.java @@ -77,6 +77,7 @@ public class SacrificeAllAi extends SpellAiLogic { @Override public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { + //TODO: Add checks for bad outcome return true; } } diff --git a/src/main/java/forge/card/abilityfactory/ai/StoreSVarAi.java b/src/main/java/forge/card/abilityfactory/ai/StoreSVarAi.java index 6d5d7edcb18..3b167f58007 100644 --- a/src/main/java/forge/card/abilityfactory/ai/StoreSVarAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/StoreSVarAi.java @@ -23,13 +23,6 @@ public class StoreSVarAi extends SpellAiLogic { return true; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - }; - - - @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { diff --git a/src/main/java/forge/card/abilityfactory/ai/TapAllAi.java b/src/main/java/forge/card/abilityfactory/ai/TapAllAi.java index 838e0e816cb..16879559631 100644 --- a/src/main/java/forge/card/abilityfactory/ai/TapAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/TapAllAi.java @@ -146,10 +146,4 @@ public class TapAllAi extends SpellAiLogic { return false; } - - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - } diff --git a/src/main/java/forge/card/abilityfactory/ai/TwoPilesAi.java b/src/main/java/forge/card/abilityfactory/ai/TwoPilesAi.java index 5e19d20d8f3..f03b646d552 100644 --- a/src/main/java/forge/card/abilityfactory/ai/TwoPilesAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/TwoPilesAi.java @@ -57,11 +57,6 @@ public class TwoPilesAi extends SpellAiLogic { return size > 2; } - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - /* (non-Javadoc) * @see forge.card.abilityfactory.SpellAiLogic#doTriggerAINoCost(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility, boolean) */ diff --git a/src/main/java/forge/card/abilityfactory/ai/UntapAllAi.java b/src/main/java/forge/card/abilityfactory/ai/UntapAllAi.java index bdb5c8581e6..3f2c07204eb 100644 --- a/src/main/java/forge/card/abilityfactory/ai/UntapAllAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/UntapAllAi.java @@ -7,11 +7,6 @@ import forge.game.player.Player; public class UntapAllAi extends SpellAiLogic { - @Override - public boolean chkAIDrawback(SpellAbility sa, Player aiPlayer) { - return true; - } - @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { // check SubAbilities DoTrigger?