From d2de3da8fbb8fb33d02d6dd1e34637729ea3ed02 Mon Sep 17 00:00:00 2001 From: Agetian Date: Thu, 21 Aug 2025 07:47:43 +0300 Subject: [PATCH] Revert "Ambrosia Whiteheart AI slight improvement (#8473)" This reverts commit ba8a30ebdd1291aec7374ee351b01044ea85c255. --- forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java | 8 +++----- forge-gui/res/cardsfolder/a/ambrosia_whiteheart.txt | 2 +- forge-gui/res/cardsfolder/a/aviary_mechanic.txt | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index 18ffced4d1b..49cf157d4c8 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -1594,9 +1594,7 @@ public class ChangeZoneAi extends SpellAbilityAi { } else if (logic.startsWith("ExilePreference")) { return doExilePreferenceLogic(decider, sa, fetchList); } else if (logic.equals("BounceOwnTrigger")) { - return doBounceOwnTriggerLogic(decider, sa, fetchList, false); - } else if (logic.equals("BounceOwnTriggerOptional")) { - return doBounceOwnTriggerLogic(decider, sa, fetchList, true); + return doBounceOwnTriggerLogic(decider, sa, fetchList); } } if (fetchList.isEmpty()) { @@ -2160,14 +2158,14 @@ public class ChangeZoneAi extends SpellAbilityAi { return AiCardMemory.isRememberedCard(ai, c, AiCardMemory.MemorySet.BOUNCED_THIS_TURN); } - private static Card doBounceOwnTriggerLogic(Player ai, SpellAbility sa, CardCollection choices, boolean preferredOnly) { + private static Card doBounceOwnTriggerLogic(Player ai, SpellAbility sa, CardCollection choices) { CardCollection unprefChoices = CardLists.filter(choices, c -> !c.isToken() && c.getOwner().equals(ai)); // TODO check for threatened cards CardCollection prefChoices = CardLists.filter(unprefChoices, c -> c.hasETBTrigger(false)); if (!prefChoices.isEmpty()) { return ComputerUtilCard.getBestAI(prefChoices); } - if (!preferredOnly && !unprefChoices.isEmpty() && sa.getSubAbility() != null) { + if (!unprefChoices.isEmpty() && sa.getSubAbility() != null) { // some extra benefit like First Responder return ComputerUtilCard.getWorstAI(unprefChoices); } diff --git a/forge-gui/res/cardsfolder/a/ambrosia_whiteheart.txt b/forge-gui/res/cardsfolder/a/ambrosia_whiteheart.txt index d48cb7141ff..c3667cda0d4 100644 --- a/forge-gui/res/cardsfolder/a/ambrosia_whiteheart.txt +++ b/forge-gui/res/cardsfolder/a/ambrosia_whiteheart.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Bird PT:2/2 K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters, you may return another permanent you control to its owner's hand. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Hidden$ True | AILogic$ BounceOwnTriggerOptional | Mandatory$ True | ChangeType$ Permanent.Other+YouCtrl +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Hidden$ True | AILogic$ BounceOwnTrigger | Mandatory$ True | ChangeType$ Permanent.Other+YouCtrl T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Landfall — Whenever a land you control enters, CARDNAME gets +1/+0 until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +1 SVar:BuffedBy:Land diff --git a/forge-gui/res/cardsfolder/a/aviary_mechanic.txt b/forge-gui/res/cardsfolder/a/aviary_mechanic.txt index 52e10ed48b3..6149f499a8e 100644 --- a/forge-gui/res/cardsfolder/a/aviary_mechanic.txt +++ b/forge-gui/res/cardsfolder/a/aviary_mechanic.txt @@ -3,5 +3,5 @@ ManaCost:1 W Types:Creature Dwarf Artificer PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters, you may return another permanent you control to its owner's hand. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Hidden$ True | AILogic$ BounceOwnTriggerOptional | Mandatory$ True | ChangeType$ Permanent.Other+YouCtrl +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Hidden$ True | AILogic$ BounceOwnTrigger | Mandatory$ True | ChangeType$ Permanent.Other+YouCtrl Oracle:When Aviary Mechanic enters, you may return another permanent you control to its owner's hand.