mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
- Fix Jhoira of the Ghitu when activating multiple times in a row.
This commit is contained in:
@@ -86,6 +86,7 @@ public class CountersPutEffect extends SpellAbilityEffect {
|
|||||||
|
|
||||||
final boolean etbcounter = sa.hasParam("ETB");
|
final boolean etbcounter = sa.hasParam("ETB");
|
||||||
final boolean remember = sa.hasParam("RememberCounters");
|
final boolean remember = sa.hasParam("RememberCounters");
|
||||||
|
final boolean rememberCards = sa.hasParam("RememberCards");
|
||||||
int counterAmount = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("CounterNum"), sa);
|
int counterAmount = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("CounterNum"), sa);
|
||||||
final int max = sa.hasParam("MaxFromEffect") ? Integer.parseInt(sa.getParam("MaxFromEffect")) : -1;
|
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();
|
final int value = tgtCard.getTotalCountersToAdd();
|
||||||
tgtCard.addCountersAddedBy(card, counterType, value);
|
tgtCard.addCountersAddedBy(card, counterType, value);
|
||||||
}
|
}
|
||||||
|
if (rememberCards) {
|
||||||
|
card.addRemembered(tgtCard);
|
||||||
|
}
|
||||||
if (sa.hasParam("Evolve")) {
|
if (sa.hasParam("Evolve")) {
|
||||||
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
||||||
runParams.put("Card", tgtCard);
|
runParams.put("Card", tgtCard);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Name:Jhoira of the Ghitu
|
|||||||
ManaCost:1 U R
|
ManaCost:1 U R
|
||||||
Types:Legendary Creature Human Wizard
|
Types:Legendary Creature Human Wizard
|
||||||
PT:2/2
|
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: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:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||||
SVar:RemAIDeck:True
|
SVar:RemAIDeck:True
|
||||||
|
|||||||
@@ -92,6 +92,8 @@ public class HumanPlaySpellAbility {
|
|||||||
ability.setHostCard(game.getAction().moveToStack(c));
|
ability.setHostCard(game.getAction().moveToStack(c));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ability.resetPaidHash();
|
||||||
|
|
||||||
// freeze Stack. No abilities should go onto the stack while I'm filling requirements.
|
// freeze Stack. No abilities should go onto the stack while I'm filling requirements.
|
||||||
game.getStack().freezeStack();
|
game.getStack().freezeStack();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user