From 0584270a94c2db6c91ee898e46d9d1b04c97c171 Mon Sep 17 00:00:00 2001 From: Sol Date: Fri, 3 Apr 2015 16:41:32 +0000 Subject: [PATCH] - Fix Jhoira of the Ghitu when activating multiple times in a row. --- .../java/forge/game/ability/effects/CountersPutEffect.java | 4 ++++ forge-gui/res/cardsfolder/j/jhoira_of_the_ghitu.txt | 2 +- .../src/main/java/forge/player/HumanPlaySpellAbility.java | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java index 9b1a690337e..dc0ac95e6c4 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java @@ -86,6 +86,7 @@ public class CountersPutEffect extends SpellAbilityEffect { final boolean etbcounter = sa.hasParam("ETB"); final boolean remember = sa.hasParam("RememberCounters"); + final boolean rememberCards = sa.hasParam("RememberCards"); int counterAmount = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("CounterNum"), sa); final int max = sa.hasParam("MaxFromEffect") ? Integer.parseInt(sa.getParam("MaxFromEffect")) : -1; @@ -124,6 +125,9 @@ public class CountersPutEffect extends SpellAbilityEffect { final int value = tgtCard.getTotalCountersToAdd(); tgtCard.addCountersAddedBy(card, counterType, value); } + if (rememberCards) { + card.addRemembered(tgtCard); + } if (sa.hasParam("Evolve")) { final HashMap runParams = new HashMap(); runParams.put("Card", tgtCard); diff --git a/forge-gui/res/cardsfolder/j/jhoira_of_the_ghitu.txt b/forge-gui/res/cardsfolder/j/jhoira_of_the_ghitu.txt index c6ea2f2c0f0..9765f504d2b 100644 --- a/forge-gui/res/cardsfolder/j/jhoira_of_the_ghitu.txt +++ b/forge-gui/res/cardsfolder/j/jhoira_of_the_ghitu.txt @@ -2,7 +2,7 @@ Name:Jhoira of the Ghitu ManaCost:1 U R Types:Legendary Creature Human Wizard PT:2/2 -A:AB$ PutCounter | Cost$ 2 ExileFromHand<1/Card.nonLand/nonland card> | CostDesc$ {2}, Exile a nonland card from your hand: | RememberCostCards$ True | Defined$ Remembered | CounterType$ TIME | CounterNum$ 4 | SubAbility$ GiveSuspend | TgtZone$ Exile | StackDescription$ Put four time counters on the exiled card. | SpellDescription$ Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend. (At the beginning of your upkeep, remove a time counter from that card. When the last is removed, cast it without paying its mana cost. If it's a creature, it has haste.) +A:AB$ PutCounter | Cost$ 2 ExileFromHand<1/Card.nonLand/nonland card> | CostDesc$ {2}, Exile a nonland card from your hand: | RememberCards$ True | Defined$ ExiledCards | CounterType$ TIME | CounterNum$ 4 | SubAbility$ GiveSuspend | TgtZone$ Exile | StackDescription$ Put four time counters on the exiled card. | SpellDescription$ Put four time counters on the exiled card. If it doesn't have suspend, it gains suspend. (At the beginning of your upkeep, remove a time counter from that card. When the last is removed, cast it without paying its mana cost. If it's a creature, it has haste.) SVar:GiveSuspend:DB$ PumpAll | ValidCards$ Card.IsRemembered+withoutSuspend | KW$ Suspend | PumpZone$ Exile | Permanent$ True | SubAbility$ DBCleanup | StackDescription$ If it doesn't have suspend, it gains suspend. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemAIDeck:True diff --git a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java index efd9c4e56f0..4075da15424 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java +++ b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java @@ -92,6 +92,8 @@ public class HumanPlaySpellAbility { ability.setHostCard(game.getAction().moveToStack(c)); } + ability.resetPaidHash(); + // freeze Stack. No abilities should go onto the stack while I'm filling requirements. game.getStack().freezeStack();