From da1dbfc9cf560c30ac918dd586c7777c4e2b7a6a Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Wed, 16 Jun 2021 16:05:01 +0200 Subject: [PATCH 1/2] Add AI hint --- forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java | 1 - forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java | 6 +----- forge-gui/res/cardsfolder/d/dauthi_voidwalker.txt | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java b/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java index edf02ab304b..5a53f738a26 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChooseCardAi.java @@ -246,7 +246,6 @@ public class ChooseCardAi extends SpellAbilityAi { return true; } }); - System.out.println("Tangle Wire" + options + " - " + betterList); if (!betterList.isEmpty()) { choice = betterList.get(0); } else { diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java index 3c931b7df66..b02e4a3a395 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java @@ -29,7 +29,6 @@ import forge.util.collect.FCollection; public class CountersMoveAi extends SpellAbilityAi { @Override protected boolean checkApiLogic(final Player ai, final SpellAbility sa) { - if (sa.usesTargeting()) { sa.resetTargets(); if (!moveTgtAI(ai, sa)) { @@ -83,8 +82,7 @@ public class CountersMoveAi extends SpellAbilityAi { return true; } - // something you can't block, try to reduce its - // attack + // something you can't block, try to reduce its attack if (!ComputerUtilCard.canBeBlockedProfitably(ai, cpy)) { return true; } @@ -119,7 +117,6 @@ public class CountersMoveAi extends SpellAbilityAi { @Override protected boolean doTriggerAINoCost(final Player ai, SpellAbility sa, boolean mandatory) { - if (sa.usesTargeting()) { sa.resetTargets(); @@ -237,7 +234,6 @@ public class CountersMoveAi extends SpellAbilityAi { } private boolean moveTgtAI(final Player ai, final SpellAbility sa) { - final Card host = sa.getHostCard(); final Game game = ai.getGame(); final String type = sa.getParam("CounterType"); diff --git a/forge-gui/res/cardsfolder/d/dauthi_voidwalker.txt b/forge-gui/res/cardsfolder/d/dauthi_voidwalker.txt index b31f71e1e2d..e2152b052a9 100644 --- a/forge-gui/res/cardsfolder/d/dauthi_voidwalker.txt +++ b/forge-gui/res/cardsfolder/d/dauthi_voidwalker.txt @@ -6,7 +6,7 @@ K:Shadow R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.nonToken+OppOwn | ReplaceWith$ Exile | Description$ If a card would be put into an opponent's graveyard from anywhere, instead exile it with a void counter on it. SVar:Exile:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard | SubAbility$ DBPutCounter SVar:DBPutCounter:DB$ PutCounter | Defined$ ReplacedCard | CounterType$ VOID | CounterNum$ 1 -A:AB$ ChooseCard | Cost$ T Sac<1/CARDNAME> | Defined$ You | Amount$ 1 | Mandatory$ True | ChoiceTitle$ Choose an exiled card an opponent owns with a void counter on it | Choices$ Card.OppOwn+counters_GE1_VOID | ChoiceZone$ Exile | RememberChosen$ True | SubAbility$ DBEffect | SpellDescription$ Choose an exiled card an opponent owns with a void counter on it. You may play it this turn without paying its mana cost. +A:AB$ ChooseCard | Cost$ T Sac<1/CARDNAME> | Defined$ You | AILogic$ AtLeast1 | Amount$ 1 | Mandatory$ True | ChoiceTitle$ Choose an exiled card an opponent owns with a void counter on it | Choices$ Card.OppOwn+counters_GE1_VOID | ChoiceZone$ Exile | RememberChosen$ True | SubAbility$ DBEffect | SpellDescription$ Choose an exiled card an opponent owns with a void counter on it. You may play it this turn without paying its mana cost. SVar:DBEffect:DB$ Effect | StaticAbilities$ MayPlay | RememberObjects$ Remembered | ForgetOnMoved$ Exile | SubAbility$ DBCleanup SVar:MayPlay:Mode$ Continuous | MayPlay$ True | MayPlayWithoutManaCost$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until end of turn, you may play this card without paying its mana cost. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True From 410ceb2bfc3e7d55a4b40d2e80db75e7772b2f8c Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Wed, 16 Jun 2021 16:32:43 +0200 Subject: [PATCH 2/2] Fix facedown reveal --- forge-game/src/main/java/forge/game/card/CardUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index 6c00b9158a7..69bee0fc573 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -221,9 +221,9 @@ public final class CardUtil { newCopy.getCurrentState().copyFrom(in.getState(in.getFaceupCardStateName()), true); if (in.isFaceDown()) { - // prevent StackDescription from revealing face - newCopy.setName(in.toString()); newCopy.turnFaceDownNoUpdate(); + // prevent StackDescription from revealing face + newCopy.updateStateForView(); } if (in.isAdventureCard() && in.getFaceupCardStateName().equals(CardStateName.Original)) {