From 0b1acbd71d47d70e4cf3b70fe8cc59619103a08b Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 7 Aug 2024 07:17:46 +0200 Subject: [PATCH] Update AiController.java (#5863) * Update AiController.java Add RepParams for AddCounter * Update check with new required params --------- Co-authored-by: TRT <> --- forge-ai/src/main/java/forge/ai/AiController.java | 6 ++++++ forge-ai/src/main/java/forge/ai/ComputerUtil.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index ab0e69b2fa1..30d01bd9ccc 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -529,6 +529,12 @@ public class AiController { repParams.put(AbilityKey.Destination, ZoneType.Battlefield); repParams.put(AbilityKey.Source, land); + // add Params for AddCounter Replacements + GameEntityCounterTable table = new GameEntityCounterTable(); + repParams.put(AbilityKey.EffectOnly, true); + repParams.put(AbilityKey.CounterTable, table); + repParams.put(AbilityKey.CounterMap, table.column(land)); + boolean foundTapped = false; for (ReplacementEffect re : player.getGame().getReplacementHandler().getReplacementList(ReplacementType.Moved, repParams, ReplacementLayer.Other)) { SpellAbility reSA = re.ensureAbility(); diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index da67f9b11b6..2c79d12111a 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -39,6 +39,7 @@ import forge.game.CardTraitPredicates; import forge.game.Game; import forge.game.GameActionUtil; import forge.game.GameEntity; +import forge.game.GameEntityCounterTable; import forge.game.GameObject; import forge.game.GameType; import forge.game.ability.AbilityKey; @@ -3307,6 +3308,11 @@ public class ComputerUtil { repParams.put(AbilityKey.CardLKI, c); repParams.put(AbilityKey.Origin, c.getLastKnownZone().getZoneType()); repParams.put(AbilityKey.Destination, ZoneType.Battlefield); + // add Params for AddCounter Replacements + GameEntityCounterTable table = new GameEntityCounterTable(); + repParams.put(AbilityKey.EffectOnly, true); + repParams.put(AbilityKey.CounterTable, table); + repParams.put(AbilityKey.CounterMap, table.column(c)); List list = c.getGame().getReplacementHandler().getReplacementList(ReplacementType.Moved, repParams, ReplacementLayer.CantHappen); return !list.isEmpty(); }