From c6bf9e3c6d67d173ed132cc948f56ef91cb78f7f Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Mon, 18 Oct 2021 10:21:28 +0200 Subject: [PATCH] Clean up --- forge-ai/src/main/java/forge/ai/ComputerUtil.java | 10 +++++----- forge-ai/src/main/java/forge/ai/ComputerUtilCard.java | 2 -- forge-ai/src/main/java/forge/ai/ability/GoadAi.java | 1 - .../src/main/java/forge/ai/ability/MustAttackAi.java | 1 - .../src/main/java/forge/ai/ability/MustBlockAi.java | 1 - .../java/forge/ai/ability/PermanentNoncreatureAi.java | 3 +-- .../src/main/java/forge/ai/ability/RestartGameAi.java | 5 ----- forge-gui/res/cardsfolder/b/bounding_wolf.txt | 2 +- 8 files changed, 7 insertions(+), 18 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index b5a129a85d2..87e20e84099 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -1910,11 +1910,7 @@ public class ComputerUtil { * @return true if the creature dies according to current board position. */ public static boolean predictCreatureWillDieThisTurn(final Player ai, final Card creature, final SpellAbility excludeSa) { - final Game game = creature.getGame(); - - // a creature will die as a result of combat - boolean willDieInCombat = game.getPhaseHandler().inCombat() - && ComputerUtilCombat.combatantWouldBeDestroyed(creature.getController(), creature, game.getCombat()); + final Game game = ai.getGame(); // a creature will [hopefully] die from a spell on stack boolean willDieFromSpell = false; @@ -1933,6 +1929,10 @@ public class ComputerUtil { } willDieFromSpell = !noStackCheck && predictThreatenedObjects(creature.getController(), excludeSa).contains(creature); + // a creature will die as a result of combat + boolean willDieInCombat = !willDieFromSpell && game.getPhaseHandler().inCombat() + && ComputerUtilCombat.combatantWouldBeDestroyed(creature.getController(), creature, game.getCombat()); + return willDieInCombat || willDieFromSpell; } diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java index ec4399f9a09..5604582d97e 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java @@ -750,7 +750,6 @@ public class ComputerUtilCard { for (final Entry entry : map.entrySet()) { final String type = entry.getKey(); - // Log.debug(type + " - " + entry.getValue()); if (max < entry.getValue()) { max = entry.getValue(); @@ -784,7 +783,6 @@ public class ComputerUtilCard { // TODO JAVA 8 use getOrDefault for (final Card c : list) { - // Changeling are all creature types, they are not interesting for // counting creature types if (c.hasStartOfKeyword(Keyword.CHANGELING.toString())) { diff --git a/forge-ai/src/main/java/forge/ai/ability/GoadAi.java b/forge-ai/src/main/java/forge/ai/ability/GoadAi.java index 74bb91e6b61..b2d8b30b9ef 100644 --- a/forge-ai/src/main/java/forge/ai/ability/GoadAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/GoadAi.java @@ -19,7 +19,6 @@ public class GoadAi extends SpellAbilityAi { @Override protected boolean checkApiLogic(final Player ai, final SpellAbility sa) { - final Card source = sa.getHostCard(); final Game game = source.getGame(); diff --git a/forge-ai/src/main/java/forge/ai/ability/MustAttackAi.java b/forge-ai/src/main/java/forge/ai/ability/MustAttackAi.java index 9916e09314a..000a25ded94 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MustAttackAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MustAttackAi.java @@ -25,7 +25,6 @@ public class MustAttackAi extends SpellAbilityAi { */ @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { - boolean chance; // TODO - implement AI diff --git a/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java b/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java index 36d271634d3..4e6a51dcfde 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MustBlockAi.java @@ -160,7 +160,6 @@ public class MustBlockAi extends SpellAbilityAi { private List determineGoodBlockers(final Card attacker, final Player ai, Player defender, SpellAbility sa, final boolean onlyLethal, final boolean testTapped) { - List list = Lists.newArrayList(); list = CardLists.filter(defender.getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.CREATURES); diff --git a/forge-ai/src/main/java/forge/ai/ability/PermanentNoncreatureAi.java b/forge-ai/src/main/java/forge/ai/ability/PermanentNoncreatureAi.java index be358b2b6ea..c9c2b049e7e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PermanentNoncreatureAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PermanentNoncreatureAi.java @@ -42,8 +42,7 @@ public class PermanentNoncreatureAi extends PermanentAi { CardCollection targets = CardLists.getTargetableCards(game.getCardsIn(origin), effectExile); if (sourceName.equals("Suspension Field") || sourceName.equals("Detention Sphere")) { - // existing "exile until leaves" enchantments only target - // opponent's permanents + // existing "exile until leaves" enchantments only target opponent's permanents // TODO: consider replacing the condition with host.hasSVar("OblivionRing") targets = CardLists.filterControlledBy(targets, ai.getOpponents()); } diff --git a/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java b/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java index f32afba4a81..ac35bf1d0c2 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RestartGameAi.java @@ -38,9 +38,4 @@ public class RestartGameAi extends SpellAbilityAi { return false; } - @Override - protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { - // This trigger AI is completely unused, but return true just in case - return true; - } } diff --git a/forge-gui/res/cardsfolder/b/bounding_wolf.txt b/forge-gui/res/cardsfolder/b/bounding_wolf.txt index f4004c4dc8c..c233e217d5f 100644 --- a/forge-gui/res/cardsfolder/b/bounding_wolf.txt +++ b/forge-gui/res/cardsfolder/b/bounding_wolf.txt @@ -1,6 +1,6 @@ Name:Bounding Wolf ManaCost:2 G -Types:Creature wolf +Types:Creature Wolf PT:3/2 K:Flash K:Reach