mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
CounterRemove: move remember to SA
This commit is contained in:
@@ -152,9 +152,10 @@ public class CountersRemoveEffect extends SpellAbilityEffect {
|
||||
game.updateLastStateForCard(gameCard);
|
||||
if (rememberRemoved) {
|
||||
for (int i = 0; i < chosenAmount; i++) {
|
||||
card.addRemembered(Pair.of(chosenType, i));
|
||||
sa.addRemembered(Pair.of(chosenType, i));
|
||||
}
|
||||
}
|
||||
//TODO add RememberNumber too?
|
||||
cntToRemove -= chosenAmount;
|
||||
}
|
||||
}
|
||||
@@ -175,9 +176,10 @@ public class CountersRemoveEffect extends SpellAbilityEffect {
|
||||
gameCard.subtractCounter(counterType, cntToRemove);
|
||||
if (rememberRemoved) {
|
||||
for (int i = 0; i < cntToRemove; i++) {
|
||||
card.addRemembered(Pair.of(counterType, i));
|
||||
sa.addRemembered(Pair.of(counterType, i));
|
||||
}
|
||||
}
|
||||
//TODO add RememberNumber too?
|
||||
game.updateLastStateForCard(gameCard);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,7 @@ PT:1/1
|
||||
A:AB$ PutCounter | Cost$ 1 R | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ StoreNum | StackDescription$ SpellDescription | SpellDescription$ Put a +1/+1 counter on CARDNAME. If this is the third time this ability has resolved this turn, remove all +1/+1 counters from CARDNAME, and it deals that much damage to each creature and each player.
|
||||
SVar:StoreNum:DB$ StoreSVar | SVar$ AshlingNum | Type$ CountSVar | Expression$ AshlingNum/Plus.1 | SubAbility$ DBRemoveCounter
|
||||
SVar:DBRemoveCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBDmg | ConditionCheckSVar$ AshlingNum | ConditionSVarCompare$ EQ3 | StackDescription$ None
|
||||
SVar:DBDmg:DB$ DamageAll | NumDmg$ X | References$ X | ValidCards$ Creature | ValidPlayers$ Player | ValidDescription$ each creature and each player. | SubAbility$ DBCleanup | ConditionCheckSVar$ AshlingNum | ConditionSVarCompare$ EQ3 | StackDescription$ None
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:DBDmg:DB$ DamageAll | NumDmg$ X | References$ X | ValidCards$ Creature | ValidPlayers$ Player | ValidDescription$ each creature and each player. | ConditionCheckSVar$ AshlingNum | ConditionSVarCompare$ EQ3 | StackDescription$ None
|
||||
SVar:AshlingNum:Number$0
|
||||
SVar:X:Count$RememberedSize
|
||||
T:Mode$ Phase | Phase$ Cleanup | Execute$ TrigReset | Static$ True
|
||||
|
||||
@@ -2,11 +2,12 @@ Name:Bounty of the Luxa
|
||||
ManaCost:2 G U
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ Main1 | PreCombatMain$ True | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your precombat main phase, remove all flood counters from CARDNAME. If no counters were removed this way, put a flood counter on CARDNAME and draw a card. Otherwise, add {C}{G}{U}.
|
||||
SVar:TrigRemove:DB$ RemoveCounter | CounterType$ FLOOD | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBPutCounter
|
||||
SVar:DBPutCounter:DB$PutCounter | Defined$ Self | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ0 | CounterType$ FLOOD | CounterNum$ 1 | SubAbility$ DBDraw
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBGetMana
|
||||
SVar:DBGetMana:DB$ Mana | Produced$ C G U | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:TrigRemove:DB$ RemoveCounter | CounterType$ FLOOD | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBBranch
|
||||
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | References$ X | TrueSubAbility$ DBGetMana | FalseSubAbility$ DBPutCounter
|
||||
SVar:DBPutCounter:DB$PutCounter | Defined$ Self | CounterType$ FLOOD | CounterNum$ 1 | SubAbility$ DBDraw
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ 1
|
||||
SVar:DBGetMana:DB$ Mana | Produced$ C G U
|
||||
SVar:X:Count$RememberedSize
|
||||
DeckHas:Ability$Counters
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/bounty_of_the_luxa.jpg
|
||||
Oracle:At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa. If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card. Otherwise, add {C}{G}{U}.
|
||||
@@ -6,9 +6,9 @@ K:etbCounter:P1P1:4
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigClockworkRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks or blocks, remove a +1/+1 counter from it. If you do, CARDNAME deals 1 damage to any target.
|
||||
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigClockworkRemoveCounter | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks or blocks, remove a +1/+1 counter from it. If you do, CARDNAME deals 1 damage to any target.
|
||||
SVar:TrigClockworkRemoveCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBClockworkDamage
|
||||
SVar:DBClockworkDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | References$ ClockworkX | ConditionCheckSVar$ ClockworkX | ConditionSVarCompare$ GE1 | SubAbility$ DBClockworkCleanup
|
||||
SVar:DBClockworkDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | References$ ClockworkX | ConditionCheckSVar$ ClockworkX | ConditionSVarCompare$ GE1
|
||||
A:AB$ PutCounter | Cost$ T | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME.
|
||||
SVar:DBClockworkCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:ClockworkX:Count$RememberedSize
|
||||
DeckHas:Ability$Counters
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/clockwork_hydra.jpg
|
||||
Oracle:Clockwork Hydra enters the battlefield with four +1/+1 counters on it.\nWhenever Clockwork Hydra attacks or blocks, remove a +1/+1 counter from it. If you do, Clockwork Hydra deals 1 damage to any target.\n{T}: Put a +1/+1 counter on Clockwork Hydra.
|
||||
|
||||
@@ -5,8 +5,7 @@ A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one man
|
||||
A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME.
|
||||
T:Mode$ Phase | Phase$ Main1 | PreCombatMain$ True | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your precombat main phase, remove all charge counters from CARDNAME. Add one mana of any color for each charge counter removed this way.
|
||||
SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ All | RememberRemoved$ True | SubAbility$ TrigGetMana
|
||||
SVar:TrigGetMana:DB$ Mana | Produced$ Combo Any | Amount$ NumRemoved | References$ NumRemoved | AILogic$ MostProminentInComputerHand | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:TrigGetMana:DB$ Mana | Produced$ Combo Any | Amount$ NumRemoved | References$ NumRemoved | AILogic$ MostProminentInComputerHand
|
||||
SVar:NumRemoved:Count$RememberedSize
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/coalition_relic.jpg
|
||||
Oracle:{T}: Add one mana of any color.\n{T}: Put a charge counter on Coalition Relic.\nAt the beginning of your precombat main phase, remove all charge counters from Coalition Relic. Add one mana of any color for each charge counter removed this way.
|
||||
|
||||
@@ -8,13 +8,14 @@ SVar:TrigTap:DB$ Tap | Defined$ Enchanted | SubAbility$ DBPutCounter
|
||||
SVar:DBPutCounter:DB$ PutCounter | CounterType$ PUPA | CounterNum$ 3
|
||||
S:Mode$ Continuous | Affected$ Creature.AttachedBy | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | IsPresent$ Card.Self+counters_GE1_PUPA | Description$ Enchanted creature doesn't untap during your untap step if CARDNAME has a pupa counter on it.
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ At the beginning of your upkeep, remove a pupa counter from CARDNAME. If you can't, sacrifice it, put a +1/+1 counter on enchanted creature, and that creature gains flying. (This effect lasts indefinitely.)
|
||||
SVar:TrigRemoveCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ PUPA | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ TrigPutCounter
|
||||
SVar:TrigRemoveCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ PUPA | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBBranch
|
||||
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | References$ X | FalseSubAbility$ TrigPutCounter
|
||||
# TODO need EnchantedLKI because it isn't enchanted anymore if this is sacrificed
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Enchanted | CounterType$ P1P1 | CounterNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | References$ X | SubAbility$ TrigPump
|
||||
SVar:TrigPump:DB$ Pump | Defined$ Enchanted | KW$ Flying | Permanent$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | References$ X | SubAbility$ TrigSac
|
||||
SVar:TrigSac:DB$ Sacrifice | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | References$ X | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Enchanted | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ TrigPump
|
||||
SVar:TrigPump:DB$ Pump | Defined$ Enchanted | KW$ Flying | Permanent$ True | SubAbility$ TrigSac
|
||||
SVar:TrigSac:DB$ Sacrifice | Defined$ Self
|
||||
SVar:X:Count$RememberedSize
|
||||
AI:RemoveDeck:Random
|
||||
DeckHas:Ability$Counters
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/cocoon.jpg
|
||||
Oracle:Enchant creature you control\nWhen Cocoon enters the battlefield, tap enchanted creature and put three pupa counters on Cocoon.\nEnchanted creature doesn't untap during your untap step if Cocoon has a pupa counter on it.\nAt the beginning of your upkeep, remove a pupa counter from Cocoon. If you can't, sacrifice it, put a +1/+1 counter on enchanted creature, and that creature gains flying.
|
||||
|
||||
@@ -6,9 +6,8 @@ SVar:Counters:DB$ PutCounter | CounterType$ DELAY | CounterNum$ NumDamage | Refe
|
||||
SVar:NumDamage:ReplaceCount$DamageAmount
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters_GE1_DELAY | Execute$ RemoveCounters | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, remove all delay counters from CARDNAME. For each delay counter removed this way, you lose 1 life unless you pay {1}{W}.
|
||||
SVar:RemoveCounters:DB$ RemoveCounter | CounterType$ DELAY | CounterNum$ All | RememberRemoved$ True | SubAbility$ RepeatOnUpkeep
|
||||
SVar:RepeatOnUpkeep:DB$ Repeat | MaxRepeat$ NumRemoved | References$ NumRemoved | RepeatSubAbility$ DBLoseLife | SubAbility$ DBCleanup
|
||||
SVar:RepeatOnUpkeep:DB$ Repeat | MaxRepeat$ NumRemoved | References$ NumRemoved | RepeatSubAbility$ DBLoseLife
|
||||
SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ 1 | Defined$ You | UnlessCost$ 1 W | UnlessPayer$ You
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:NumRemoved:Count$RememberedSize
|
||||
AI:RemoveDeck:Random
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/delaying_shield.jpg
|
||||
|
||||
@@ -6,8 +6,8 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S
|
||||
SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ M1M1 | IsCurse$ True | CounterNum$ 3
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, remove a -1/-1 counter from it. If you do, you gain 1 life.
|
||||
SVar:TrigRemoveCounter:DB$ RemoveCounter | CounterType$ M1M1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBGainLife
|
||||
SVar:DBGainLife:DB$GainLife | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | LifeAmount$ 1 | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:DBGainLife:DB$GainLife | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | LifeAmount$ 1
|
||||
SVar:X:Count$RememberedSize
|
||||
DeckHas:Ability$Counters
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/exemplar_of_strength.jpg
|
||||
Oracle:When Exemplar of Strength enters the battlefield, put three -1/-1 counters on target creature you control.\nWhenever Exemplar of Strength attacks, remove a -1/-1 counter from it. If you do, you gain 1 life.
|
||||
@@ -14,8 +14,7 @@ Name:Take
|
||||
ManaCost:2 U
|
||||
Types:Sorcery
|
||||
A:SP$ RemoveCounter | Cost$ 2 U | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to remove counters | CounterType$ P1P1 | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBDraw | SpellDescription$ Remove all +1/+1 counters from target creature you control. Draw that many cards.
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X
|
||||
SVar:X:Count$RememberedSize
|
||||
AI:RemoveDeck:All
|
||||
Oracle:Remove all +1/+1 counters from target creature you control. Draw that many cards.\nFuse (You may cast one or both halves of this card from your hand.)
|
||||
|
||||
@@ -3,8 +3,7 @@ ManaCost:1
|
||||
Types:Artifact Creature Insect
|
||||
PT:1/1
|
||||
A:AB$ RemoveCounter | Cost$ X PB | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ Any | CounterNum$ X | RememberRemoved$ True | SubAbility$ DBPump | References$ X | SpellDescription$ Remove up to X counters from target permanent. For each counter removed this way, CARDNAME gets +1/+0 until end of turn.
|
||||
SVar:DBPump:DB$Pump | NumAtt$ +Y | Defined$ Self | SubAbility$ DBCleanup | References$ Y
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:DBPump:DB$Pump | NumAtt$ +Y | Defined$ Self | References$ Y
|
||||
SVar:X:Count$xPaid
|
||||
SVar:Y:Count$RememberedSize
|
||||
AI:RemoveDeck:All
|
||||
|
||||
@@ -5,9 +5,8 @@ T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$
|
||||
SVar:TrigPutCounter:DB$PutCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 | ConditionPresent$ Card.StrictlySelf
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters_GE5_CHARGE | Execute$ DBRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, if CARDNAME has five or more charge counters on it, remove all of them from it and create that many 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step.
|
||||
SVar:DBRemoveCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBToken
|
||||
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenImage$ r 3 1 elemental MRD | TokenName$ Elemental | TokenColors$ Red | TokenTypes$ Creature,Elemental | TokenKeywords$ Haste | TokenSVars$ EOTExile | TokenPower$ 3 | TokenToughness$ 1 | AtEOT$ Exile | References$ X | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ r_3_1_elemental_haste | TokenSVars$ EOTExile | TokenPower$ 3 | TokenToughness$ 1 | AtEOT$ Exile | References$ X
|
||||
SVar:EOTExile:SVar:EndOfTurnLeavePlay:True
|
||||
SVar:X:Count$RememberedSize
|
||||
DeckHas:Ability$Counters & Ability$Token
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/lightning_coils.jpg
|
||||
Oracle:Whenever a nontoken creature you control dies, put a charge counter on Lightning Coils.\nAt the beginning of your upkeep, if Lightning Coils has five or more charge counters on it, remove all of them from it and create that many 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step.
|
||||
|
||||
@@ -5,8 +5,8 @@ PT:0/0
|
||||
K:etbCounter:P1P1:5
|
||||
T:Mode$ SpellCast | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ Whenever a player casts a spell, remove a +1/+1 counter from CARDNAME. If you do, create a 2/2 black Zombie creature token.
|
||||
SVar:TrigRemoveCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBToken
|
||||
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenName$ Zombie | TokenTypes$ Creature,Zombie | TokenColors$ Black | TokenPower$ 2 | TokenToughness$ 2 | TokenImage$ b 2 2 zombie SOI | TokenOwner$ You | ConditionCheckSVar$ CounterX | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ b_2_2_zombie | TokenOwner$ You | ConditionCheckSVar$ CounterX | ConditionSVarCompare$ GE1
|
||||
SVar:CounterX:Count$RememberedSize
|
||||
DeckHas:Ability$Counters & Ability$Token
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/noosegraf_mob.jpg
|
||||
Oracle:Noosegraf Mob enters the battlefield with five +1/+1 counters on it.\nWhenever a player casts a spell, remove a +1/+1 counter from Noosegraf Mob. If you do, create a 2/2 black Zombie creature token.
|
||||
@@ -3,8 +3,7 @@ ManaCost:5 W
|
||||
Types:Creature Elemental
|
||||
PT:3/5
|
||||
A:AB$ RemoveCounter | Cost$ W T | ValidTgts$ Creature | AITgts$ Creature.counters_GE1_M1M1 | TgtPrompt$ Select target creature | CounterType$ M1M1 | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ DBGainLife | SpellDescription$ Remove a -1/-1 counter from target creature. If you do, you gain 2 life.
|
||||
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditonSVarCompare$ GE1 | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditonSVarCompare$ GE1
|
||||
SVar:X:Count$RememberedSize
|
||||
DeckHas:Ability$LifeGain
|
||||
DeckHints:Keyword$Persist
|
||||
|
||||
7
forge-gui/res/tokenscripts/r_3_1_elemental_haste.txt
Normal file
7
forge-gui/res/tokenscripts/r_3_1_elemental_haste.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Elemental
|
||||
ManaCost:no cost
|
||||
Types:Creature Elemental
|
||||
Colors:red
|
||||
PT:3/1
|
||||
K:Haste
|
||||
Oracle:Haste
|
||||
Reference in New Issue
Block a user