From ac807c4766b838384c701677cf54424e2de37f05 Mon Sep 17 00:00:00 2001 From: Renato Filipe Vidal Santos <45150760+dracontes@users.noreply.github.com> Date: Thu, 19 Sep 2024 04:56:29 +0100 Subject: [PATCH 1/3] Fixes gleaned from notes: pass #2, Cataclysm-like and other "choose to keep" effects. (#6165) * Add files via upload * Update slaughter_the_strong.txt * Update incriminate.txt * Update a-incriminate.txt * Update phyrexian_dreadnought.txt * Update killing_wave.txt * Update global_ruin.txt * Update barrins_spite.txt * Update szats_will.txt * Update soul_shatter.txt * Update slaughter_the_strong.txt * Update shadowgrange_archfiend.txt * Update professor_onyx.txt * Update phyrexian_dreadnought.txt * Update myrkuls_edict.txt * Update gixs_command.txt * Update flare_of_malice.txt * Update demonic_hordes.txt * Update crackling_doom.txt * Update revival_experiment.txt * Update perilous_predicament.txt * Update regnas_sanction.txt * Update catch_release.txt * Update regnas_sanction.txt * Update regnas_sanction.txt --------- Co-authored-by: tool4ever --- .../a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt | 12 ++++-------- .../res/cardsfolder/a/archfiend_of_depravity.txt | 5 +++-- forge-gui/res/cardsfolder/b/barrins_spite.txt | 1 + forge-gui/res/cardsfolder/c/catch_release.txt | 4 ++-- forge-gui/res/cardsfolder/c/covetous_elegy.txt | 8 +++----- forge-gui/res/cardsfolder/c/crackling_doom.txt | 2 +- forge-gui/res/cardsfolder/d/demonic_hordes.txt | 2 +- forge-gui/res/cardsfolder/f/flare_of_malice.txt | 2 +- forge-gui/res/cardsfolder/g/gixs_command.txt | 2 +- forge-gui/res/cardsfolder/g/global_ruin.txt | 3 ++- forge-gui/res/cardsfolder/i/incriminate.txt | 1 + forge-gui/res/cardsfolder/k/keldon_firebombers.txt | 8 ++++---- forge-gui/res/cardsfolder/k/killing_wave.txt | 1 + .../res/cardsfolder/l/liliana_dreadhorde_general.txt | 8 +++----- forge-gui/res/cardsfolder/l/limited_resources.txt | 10 +++++----- forge-gui/res/cardsfolder/m/myrkuls_edict.txt | 2 +- .../cardsfolder/n/no_one_will_hear_your_cries.txt | 3 +-- forge-gui/res/cardsfolder/p/perilous_predicament.txt | 7 ++----- .../res/cardsfolder/p/phyrexian_dreadnought.txt | 3 ++- forge-gui/res/cardsfolder/p/professor_onyx.txt | 2 +- forge-gui/res/cardsfolder/r/razias_purification.txt | 7 +++---- forge-gui/res/cardsfolder/r/regnas_sanction.txt | 12 +++--------- forge-gui/res/cardsfolder/r/revival_experiment.txt | 9 ++++----- .../res/cardsfolder/rebalanced/a-incriminate.txt | 1 + .../res/cardsfolder/s/shadowgrange_archfiend.txt | 2 +- forge-gui/res/cardsfolder/s/single_combat.txt | 9 ++++----- forge-gui/res/cardsfolder/s/slaughter_the_strong.txt | 3 ++- forge-gui/res/cardsfolder/s/soul_shatter.txt | 2 +- forge-gui/res/cardsfolder/s/stick_together.txt | 2 +- forge-gui/res/cardsfolder/s/szats_will.txt | 2 +- forge-gui/res/cardsfolder/t/the_eternal_wanderer.txt | 2 +- forge-gui/res/cardsfolder/t/tragic_arrogance.txt | 10 ++++------ 32 files changed, 66 insertions(+), 81 deletions(-) diff --git a/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt b/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt index fc71107e14d..aa92355bb34 100644 --- a/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt +++ b/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt @@ -8,7 +8,7 @@ T:Mode$ ChangesZoneAll | TriggerZones$ Battlefield | ValidCards$ Cat.Other+YouCt SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBReturn SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | Transformed$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -DeckHas:Ability$Token +DeckHas:Ability$Sacrifice|Token AlternateMode:DoubleFaced Oracle:When Ajani, Nacatl Pariah enters, create a 2/1 white Cat Warrior creature token.\nWhenever one or more other Cats you control die, you may exile Ajani, then return him to the battlefield transformed under his owner's control. @@ -24,11 +24,7 @@ A:AB$ Token | Cost$ AddCounter<0/LOYALTY> | TokenAmount$ 1 | TokenScript$ w_2_1_ SVar:DBImmediateTrig1:DB$ ImmediateTrigger | TriggerAmount$ Remembered$Amount | ConditionPresent$ Permanent.Red+YouCtrl+Other | Execute$ TrigDamage | TriggerDescription$ When you do, if you control a red permanent other than CARDNAME, he deals damage equal to the number of creatures you control to any target. SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any | ConditionPresent$ Permanent.Red+YouCtrl+Other | SubAbility$ DBCleanup | TgtPrompt$ Select any valid target | SpellDescription$ CARDNAME deals damage equal to the number of creatures you control to any target. SVar:X:Count$Valid Creature.YouCtrl -A:AB$ RepeatEach | Cost$ SubCounter<4/LOYALTY> | Planeswalker$ True | Ultimate$ True | RepeatPlayers$ Opponent | RepeatSubAbility$ ChooseArtf | SubAbility$ SacAllOthers | SpellDescription$ Each opponent chooses an artifact, a creature, an enchantment, and a planeswalker from among the nonland permanents they control, then sacrifices the rest. -SVar:ChooseArtf:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Artifact.nonLand+RememberedPlayerCtrl | ChoiceTitle$ Choose an artifact to keep | SubAbility$ ChooseCrtr | RememberChosen$ True | Mandatory$ True -SVar:ChooseCrtr:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.nonLand+RememberedPlayerCtrl | ChoiceTitle$ Choose a creature to keep | SubAbility$ ChooseEnch | RememberChosen$ True | Mandatory$ True -SVar:ChooseEnch:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Enchantment.nonLand+RememberedPlayerCtrl | ChoiceTitle$ Choose an enchantment to keep | SubAbility$ ChoosePwkr | RememberChosen$ True | Mandatory$ True -SVar:ChoosePwkr:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Planeswalker.nonLand+RememberedPlayerCtrl | ChoiceTitle$ Choose a land to keep | RememberChosen$ True | Mandatory$ True -SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Permanent.nonLand+OppCtrl+IsNotRemembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:AB$ ChooseCard | Cost$ SubCounter<4/LOYALTY> | Planeswalker$ True | Ultimate$ True | Defined$ Opponent | Choices$ Permanent.nonLand | ChooseEach$ Artifact & Creature & Enchantment & Planeswalker | ControlledByPlayer$ Chooser | Mandatory$ True | Reveal$ True | SubAbility$ SacAllOthers | StackDescription$ SpellDescription | SpellDescription$ Each opponent chooses an artifact, a creature, an enchantment, and a planeswalker from among the nonland permanents they control, then sacrifices the rest. +SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Permanent.nonLand+OppCtrl+nonChosenCard | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True Oracle:[+2]: Put a +1/+1 counter on each Cat you control.\n[0]: Create a 2/1 white Cat Warrior creature token. When you do, if you control a red permanent other than Ajani, Nacatl Avenger, he deals damage equal to the number of creatures you control to any target.\n[-4]: Each opponent chooses an artifact, a creature, an enchantment and a planeswalker from among the nonland permanents they control, then sacrifices the rest. diff --git a/forge-gui/res/cardsfolder/a/archfiend_of_depravity.txt b/forge-gui/res/cardsfolder/a/archfiend_of_depravity.txt index 665255b7ee5..fde7c69e384 100644 --- a/forge-gui/res/cardsfolder/a/archfiend_of_depravity.txt +++ b/forge-gui/res/cardsfolder/a/archfiend_of_depravity.txt @@ -3,8 +3,9 @@ ManaCost:3 B B Types:Creature Demon PT:5/4 K:Flying -T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each opponent's end step, that player chooses up to two creature they control, then sacrifices the rest. -SVar:TrigChoose:DB$ ChooseCard | Defined$ TriggeredPlayer | MinAmount$ 0 | Amount$ 2 | TargetControls$ True | Choices$ Creature | ChoiceTitle$ Choose up to two creatures | SubAbility$ DBSacrificeAll +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each opponent's end step, that player chooses up to two creatures they control, then sacrifices the rest. +SVar:TrigChoose:DB$ ChooseCard | Defined$ TriggeredPlayer | MinAmount$ 0 | Amount$ 2 | TargetControls$ True | Choices$ Creature | ChoiceTitle$ Choose up to two creatures to keep | Reveal$ True | SubAbility$ DBSacrificeAll SVar:DBSacrificeAll:DB$ SacrificeAll | ValidCards$ Creature.nonChosenCard | Controller$ TriggeredPlayer | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True +DeckHas:Ability$Sacrifice Oracle:Flying\nAt the beginning of each opponent's end step, that player chooses up to two creatures they control, then sacrifices the rest. diff --git a/forge-gui/res/cardsfolder/b/barrins_spite.txt b/forge-gui/res/cardsfolder/b/barrins_spite.txt index d63bbe917f7..72caa90ac5c 100644 --- a/forge-gui/res/cardsfolder/b/barrins_spite.txt +++ b/forge-gui/res/cardsfolder/b/barrins_spite.txt @@ -6,4 +6,5 @@ SVar:DBChooseSac:DB$ ChooseCard | Choices$ Card.IsRemembered | Defined$ Targeted SVar:DBSac:DB$ SacrificeAll | Defined$ ChosenCard | SubAbility$ DBBounce | StackDescription$ None SVar:DBBounce:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCleanup | StackDescription$ None SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Sacrifice Oracle:Choose two target creatures controlled by the same player. Their controller chooses and sacrifices one of them. Return the other to its owner's hand. diff --git a/forge-gui/res/cardsfolder/c/catch_release.txt b/forge-gui/res/cardsfolder/c/catch_release.txt index fc0922875fa..2bb13219280 100644 --- a/forge-gui/res/cardsfolder/c/catch_release.txt +++ b/forge-gui/res/cardsfolder/c/catch_release.txt @@ -11,6 +11,6 @@ ALTERNATE Name:Release ManaCost:4 R W Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBSac | SpellDescription$ Each player sacrifices an artifact, a creature, an enchantment, a land, and a planeswalker. -SVar:DBSac:DB$ Sacrifice | Defined$ Player.IsRemembered | SacValid$ Artifact & Creature & Enchantment & Land & Planeswalker | SacEachValid$ True +A:SP$ Sacrifice | Defined$ Player | SacValid$ Artifact & Creature & Enchantment & Land & Planeswalker | SacEachValid$ True | SpellDescription$ Each player sacrifices an artifact, a creature, an enchantment, a land, and a planeswalker. +DeckHas:Ability$Sacrifice Oracle:Each player sacrifices an artifact, a creature, an enchantment, a land, and a planeswalker.\nFuse (You may cast one or both halves of this card from your hand.) diff --git a/forge-gui/res/cardsfolder/c/covetous_elegy.txt b/forge-gui/res/cardsfolder/c/covetous_elegy.txt index 41a4ab1a5b0..1ec2f2c1004 100644 --- a/forge-gui/res/cardsfolder/c/covetous_elegy.txt +++ b/forge-gui/res/cardsfolder/c/covetous_elegy.txt @@ -1,11 +1,9 @@ Name:Covetous Elegy ManaCost:4 W B Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChooseSac | SubAbility$ DBSac | SpellDescription$ Each player chooses up to two creatures they control, then sacrifices the rest. Then you create a tapped Treasure token for each creature your opponents control. -SVar:DBChooseSac:DB$ ChooseCard | Defined$ Remembered | Choices$ Creature.RememberedPlayerCtrl | Amount$ 2 | ChoiceTitle$ Choose two creatures not to be sacrificed | RememberChosen$ True -SVar:DBSac:DB$ SacrificeAll | ValidCards$ Creature.IsNotRemembered | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenScript$ c_a_treasure_sac | TokenAmount$ X | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:SP$ ChooseCard | Defined$ Player | Choices$ Creature | ControlledByPlayer$ Chooser | MinAmount$ 0 | Amount$ 2 | ChoiceTitle$ Choose up to two creatures to keep | Reveal$ True | SubAbility$ SacAllOthers | StackDescription$ SpellDescription | SpellDescription$ Each player chooses up to two creatures they control, then sacrifices the rest. Then you create a tapped Treasure token for each creature your opponents control. +SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Creature.nonChosenCard | SubAbility$ DBToken +SVar:DBToken:DB$ Token | TokenScript$ c_a_treasure_sac | TokenAmount$ X SVar:X:Count$Valid Creature.OppCtrl AI:RemoveDeck:All DeckHas:Ability$Token|Sacrifice & Type$Treasure diff --git a/forge-gui/res/cardsfolder/c/crackling_doom.txt b/forge-gui/res/cardsfolder/c/crackling_doom.txt index 245ec142783..7f707124363 100644 --- a/forge-gui/res/cardsfolder/c/crackling_doom.txt +++ b/forge-gui/res/cardsfolder/c/crackling_doom.txt @@ -3,7 +3,7 @@ ManaCost:R W B Types:Instant A:SP$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 | SubAbility$ DBRepeat | SpellDescription$ CARDNAME deals 2 damage to each opponent. Each opponent sacrifices a creature with the greatest power among creatures that player controls. SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBSac -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | Reveal$ True | RememberChosen$ True SVar:DBSac:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup | StackDescription$ Each opponent sacrifices a creature with the greatest power among creatures they control. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:NeedsToPlay:Creature.OppCtrl diff --git a/forge-gui/res/cardsfolder/d/demonic_hordes.txt b/forge-gui/res/cardsfolder/d/demonic_hordes.txt index b114dbf4c0f..ebdf7b754f4 100644 --- a/forge-gui/res/cardsfolder/d/demonic_hordes.txt +++ b/forge-gui/res/cardsfolder/d/demonic_hordes.txt @@ -6,7 +6,7 @@ T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | E A:AB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select target land. | Cost$ T | SpellDescription$ Destroy target land. SVar:DBTap:DB$ Tap | Defined$ Self | UnlessCost$ B B B | UnlessPayer$ You | UnlessResolveSubs$ WhenNotPaid | SubAbility$ DBChooseOpponent SVar:DBChooseOpponent:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent | SubAbility$ DBChooseLand -SVar:DBChooseLand:DB$ ChooseCard | Defined$ ChosenPlayer | Choices$ Land.YouCtrl | Mandatory$ True | ChoiceTitle$ Select a land for opponent to sacrifice | SubAbility$ DBSacLand +SVar:DBChooseLand:DB$ ChooseCard | Defined$ ChosenPlayer | Choices$ Land.YouCtrl | Mandatory$ True | Reveal$ True | ChoiceTitle$ Select a land for opponent to sacrifice | SubAbility$ DBSacLand SVar:DBSacLand:DB$ SacrificeAll | Defined$ ChosenCard SVar:PlayMain1:FALSE DeckHas:Ability$Sacrifice diff --git a/forge-gui/res/cardsfolder/f/flare_of_malice.txt b/forge-gui/res/cardsfolder/f/flare_of_malice.txt index b8f10ae9bb9..cba397a41dd 100644 --- a/forge-gui/res/cardsfolder/f/flare_of_malice.txt +++ b/forge-gui/res/cardsfolder/f/flare_of_malice.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Instant S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Creature.Black+nonToken/a nontoken black creature> | Description$ You may sacrifice a nontoken black creature rather than pay this spell's mana cost. A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBSacAll | SpellDescription$ Each opponent sacrifices a creature or planeswalker with the greatest mana value among creatures and planeswalkers they control. -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.RememberedPlayerCtrl+cmcEQX,Planeswalker.RememberedPlayerCtrl+cmcEQX | ChoiceTitle$ Choose a creature or planeswalker with the greatest mana value among creatures and planeswalkers you control | Mandatory$ True | RememberChosen$ True +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.RememberedPlayerCtrl+cmcEQX,Planeswalker.RememberedPlayerCtrl+cmcEQX | ChoiceTitle$ Choose a creature or planeswalker with the greatest mana value among creatures and planeswalkers you control | Mandatory$ True | Reveal$ True | RememberChosen$ True SVar:X:Count$Valid Creature.RememberedPlayerCtrl,Planeswalker.RememberedPlayerCtrl$GreatestCMC SVar:DBSacAll:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup SVar:DBCleanupChosen:DB$ Cleanup | ClearChosenPlayer$ True diff --git a/forge-gui/res/cardsfolder/g/gixs_command.txt b/forge-gui/res/cardsfolder/g/gixs_command.txt index d091f6ccec8..00e1230b1c3 100644 --- a/forge-gui/res/cardsfolder/g/gixs_command.txt +++ b/forge-gui/res/cardsfolder/g/gixs_command.txt @@ -8,7 +8,7 @@ SVar:DBPump:DB$ Pump | Defined$ ChosenCard | KW$ Lifelink SVar:DBMurder:DB$ DestroyAll | ValidCards$ Creature.powerLE2 | SpellDescription$ Destroy each creature with power 2 or less. SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ChangeNum$ 2 | ChangeType$ Creature.YouOwn | SelectPrompt$ Select up to two creature cards from your graveyard to return to your hand | Hidden$ True | StackDescription$ {p:You} returns up to two creature cards from their graveyard to their hand. | SpellDescription$ Return up to two creature cards from your graveyard to your hand. SVar:DBSacrifice:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBSac | SpellDescription$ Each opponent sacrifices a creature with the highest power among creatures they control. -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | Reveal$ True | RememberChosen$ True SVar:DBSac:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup | StackDescription$ Each opponent sacrifices a creature with the greatest power among creatures they control. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Sacrifice|LifeGain|Counters & Keyword$Lifelink diff --git a/forge-gui/res/cardsfolder/g/global_ruin.txt b/forge-gui/res/cardsfolder/g/global_ruin.txt index e2c17438518..43c26274289 100644 --- a/forge-gui/res/cardsfolder/g/global_ruin.txt +++ b/forge-gui/res/cardsfolder/g/global_ruin.txt @@ -1,7 +1,8 @@ Name:Global Ruin ManaCost:4 W Types:Sorcery -A:SP$ ChooseCard | Defined$ Player | EachBasicType$ Controlled | SubAbility$ DBDestroy | SpellDescription$ Each player chooses from the lands they control a land of each basic land type, then sacrifices the rest. | StackDescription$ SpellDescription +A:SP$ ChooseCard | Defined$ Player | EachBasicType$ Controlled | Reveal$ True | SubAbility$ DBDestroy | SpellDescription$ Each player chooses from the lands they control a land of each basic land type, then sacrifices the rest. | StackDescription$ SpellDescription SVar:DBDestroy:DB$ SacrificeAll | ValidCards$ Land.nonChosenCard | StackDescription$ None AI:RemoveDeck:Random +DeckHas:Ability$Sacrifice Oracle:Each player chooses from the lands they control a land of each basic land type, then sacrifices the rest. diff --git a/forge-gui/res/cardsfolder/i/incriminate.txt b/forge-gui/res/cardsfolder/i/incriminate.txt index b5f89eb3ae9..40823ae765f 100644 --- a/forge-gui/res/cardsfolder/i/incriminate.txt +++ b/forge-gui/res/cardsfolder/i/incriminate.txt @@ -4,4 +4,5 @@ Types:Sorcery A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Choose two target creatures controlled by the same player | TargetMin$ 2 | TargetMax$ 2 | TargetUnique$ True | TargetsWithSameController$ True | IsCurse$ True | SubAbility$ DBChooseSac | StackDescription$ SpellDescription | SpellDescription$ Choose two target creatures controlled by the same player. That player sacrifices one of them. SVar:DBChooseSac:DB$ ChooseCard | DefinedCards$ Targeted | Defined$ TargetedController | ChoiceTitle$ Choose one to sacrifice | SubAbility$ DBSac | StackDescription$ None | AILogic$ WorstCard SVar:DBSac:DB$ SacrificeAll | Defined$ ChosenCard | StackDescription$ None +DeckHas:Ability$Sacrifice Oracle:Choose two target creatures controlled by the same player. That player sacrifices one of them. diff --git a/forge-gui/res/cardsfolder/k/keldon_firebombers.txt b/forge-gui/res/cardsfolder/k/keldon_firebombers.txt index 36201021ac4..f390aa28f7a 100644 --- a/forge-gui/res/cardsfolder/k/keldon_firebombers.txt +++ b/forge-gui/res/cardsfolder/k/keldon_firebombers.txt @@ -3,8 +3,8 @@ ManaCost:3 R R Types:Creature Human Soldier PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChooseThree | TriggerDescription$ When CARDNAME enters, each player sacrifices all lands they control except for three. -SVar:TrigChooseThree:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose | SubAbility$ DBSacrificeAll -SVar:DBChoose:DB$ ChooseCard | Amount$ 3 | Defined$ Remembered | Choices$ Land.RememberedPlayerCtrl | ChoiceZone$ Battlefield | RememberChosen$ True | ChoiceTitle$ Choose three lands that would not be sacrificed -SVar:DBSacrificeAll:DB$ SacrificeAll | ValidCards$ Land.IsNotRemembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigChooseThree:DB$ ChooseCard | Defined$ Player | Choices$ Land | ControlledByPlayer$ Chooser | Amount$ 3 | ChoiceTitle$ Choose three lands to keep | Mandatory$ True | Reveal$ True | SubAbility$ SacAllOthers +SVar:DBSacrificeAll:DB$ SacrificeAll | ValidCards$ Land.nonChosenCard | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True +DeckHas:Ability$Sacrifice Oracle:When Keldon Firebombers enters, each player sacrifices all lands they control except for three. diff --git a/forge-gui/res/cardsfolder/k/killing_wave.txt b/forge-gui/res/cardsfolder/k/killing_wave.txt index 9874fb03955..0331b56dcec 100644 --- a/forge-gui/res/cardsfolder/k/killing_wave.txt +++ b/forge-gui/res/cardsfolder/k/killing_wave.txt @@ -11,4 +11,5 @@ SVar:X:Count$xPaid SVar:Y:SVar$X/Times.Z SVar:Z:Count$Valid Creature.RememberedPlayerCtrl+IsRemembered AI:RemoveDeck:All +DeckHas:Ability$Sacrifice Oracle:For each creature, its controller sacrifices it unless they pay X life. diff --git a/forge-gui/res/cardsfolder/l/liliana_dreadhorde_general.txt b/forge-gui/res/cardsfolder/l/liliana_dreadhorde_general.txt index bf296f7d67e..ba827aaa658 100644 --- a/forge-gui/res/cardsfolder/l/liliana_dreadhorde_general.txt +++ b/forge-gui/res/cardsfolder/l/liliana_dreadhorde_general.txt @@ -6,11 +6,9 @@ T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ SVar:TrigDraw:DB$ Draw A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | TokenScript$ b_2_2_zombie | SpellDescription$ Create a 2/2 black Zombie creature token. A:AB$ Sacrifice | Cost$ SubCounter<4/LOYALTY> | Planeswalker$ True | Amount$ 2 | SacValid$ Creature | Defined$ Player | SpellDescription$ Each player sacrifices two creatures. -A:AB$ RepeatEach | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | RepeatPlayers$ Opponent | RepeatSubAbility$ ChoosePerms | SubAbility$ SacAllOthers | SpellDescription$ Each opponent chooses a permanent they control of each permanent type and sacrifices the rest. -SVar:ChoosePerms:DB$ RepeatEach | RepeatTypesFrom$ Permanent.RememberedPlayerCtrl | ChooseOrder$ RememberedPlayer | RepeatSubAbility$ ChooseCard -SVar:ChooseCard:DB$ ChooseCard | Defined$ RememberedPlayer | Choices$ Card.ChosenType+RememberedPlayerCtrl | ChoiceTitle$ Choose a card of this type to keep | ChoiceTitleAppend$ ChosenType | RememberChosen$ True | Mandatory$ True -SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Permanent.IsNotRemembered+OppCtrl | SubAbility$ DBCleanup | StackDescription$ None -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True +A:AB$ ChooseCard | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | Defined$ Opponent | Choices$ Permanent | ChooseEach$ Artifact & Battle & Creature & Enchantment & Land & Planeswalker | ControlledByPlayer$ Chooser | Mandatory$ True | Reveal$ True | SubAbility$ SacAllOthers | StackDescription$ SpellDescription | SpellDescription$ Each opponent chooses a permanent they control of each permanent type and sacrifices the rest. +SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Permanent.nonChosenCard+OppCtrl | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True DeckHas:Ability$Token|Sacrifice & Type$Zombie SVar:PlayMain1:TRUE Oracle:Whenever a creature you control dies, draw a card.\n[+1]: Create a 2/2 black Zombie creature token.\n[-4]: Each player sacrifices two creatures.\n[-9]: Each opponent chooses a permanent they control of each permanent type and sacrifices the rest. diff --git a/forge-gui/res/cardsfolder/l/limited_resources.txt b/forge-gui/res/cardsfolder/l/limited_resources.txt index 244e5452eaa..8aea385ba81 100644 --- a/forge-gui/res/cardsfolder/l/limited_resources.txt +++ b/forge-gui/res/cardsfolder/l/limited_resources.txt @@ -1,13 +1,13 @@ Name:Limited Resources ManaCost:W Types:Enchantment -T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ DBRepeatResources | TriggerDescription$ When CARDNAME enters, each player chooses five lands they control and sacrifices the rest. -SVar:DBRepeatResources:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ CardChoice -SVar:CardChoice:DB$ ChooseCard | Defined$ Remembered | Amount$ 5 | Choices$ Land.RememberedPlayerCtrl | ChoiceTitle$ Choose a land | RememberChosen$ True | SubAbility$ SacRest -SVar:SacRest:DB$ SacrificeAll | ValidCards$ Land.RememberedPlayerCtrl+IsNotRemembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ DBCardChoice | TriggerDescription$ When CARDNAME enters, each player chooses five lands they control and sacrifices the rest. +SVar:DBCardChoice:DB$ ChooseCard | Defined$ Player | Choices$ Land | ControlledByPlayer$ Chooser | Amount$ 5 | ChoiceTitle$ Choose five lands to keep | Mandatory$ True | Reveal$ True | SubAbility$ SacRest +SVar:SacRest:DB$ SacrificeAll | ValidCards$ Land.nonChosenCard | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True S:Mode$ CantPlayLand | IsPresent$ Land | PresentCompare$ GE10 | Description$ Players can't play lands as long as ten or more lands are on the battlefield. SVar:NonStackingEffect:True AI:RemoveDeck:All AI:RemoveDeck:Random +DeckHas:Ability$Sacrifice Oracle:When Limited Resources enters, each player chooses five lands they control and sacrifices the rest.\nPlayers can't play lands as long as ten or more lands are on the battlefield. diff --git a/forge-gui/res/cardsfolder/m/myrkuls_edict.txt b/forge-gui/res/cardsfolder/m/myrkuls_edict.txt index 62037404491..15cf7651499 100644 --- a/forge-gui/res/cardsfolder/m/myrkuls_edict.txt +++ b/forge-gui/res/cardsfolder/m/myrkuls_edict.txt @@ -6,7 +6,7 @@ SVar:OneOppSac:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | SubA SVar:DBSac:DB$ Sacrifice | Defined$ ChosenPlayer | SacValid$ Creature | SubAbility$ DBCleanupChosen SVar:EachOppSac:DB$ Sacrifice | Defined$ Player.Opponent | SacValid$ Creature | StackDescription$ SpellDescription | SpellDescription$ 10—19 VERT Each opponent sacrifices a creature. SVar:SacTopPower:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBSacAll | StackDescription$ SpellDescription | SpellDescription$ 20 VERT Each opponent sacrifices a creature with the greatest power among creatures that player controls. -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | Reveal$ True | RememberChosen$ True SVar:DBSacAll:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup SVar:DBCleanupChosen:DB$ Cleanup | ClearChosenPlayer$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/n/no_one_will_hear_your_cries.txt b/forge-gui/res/cardsfolder/n/no_one_will_hear_your_cries.txt index b5488eaf509..afd96b191e7 100644 --- a/forge-gui/res/cardsfolder/n/no_one_will_hear_your_cries.txt +++ b/forge-gui/res/cardsfolder/n/no_one_will_hear_your_cries.txt @@ -2,8 +2,7 @@ Name:No One Will Hear Your Cries ManaCost:no cost Types:Scheme T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, each opponent chooses a creature they control, then sacrifices the rest. -SVar:TrigChoose:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ ChooseCreature | SubAbility$ DBSacrificeAll -SVar:ChooseCreature:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.RememberedPlayerCtrl | ChoiceTitle$ Choose a creature | Mandatory$ True +SVar:TrigChoose:DB$ ChooseCard | Defined$ Opponent | Choices$ Creature | ControlledByPlayer$ Chooser | ChoiceTitle$ Choose a creature to keep | Mandatory$ True | Reveal$ True | SubAbility$ DBSacrificeAll SVar:DBSacrificeAll:DB$ SacrificeAll | ValidCards$ Creature.nonChosenCard+OppCtrl | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True Oracle:When you set this scheme in motion, each opponent chooses a creature they control, then sacrifices the rest. diff --git a/forge-gui/res/cardsfolder/p/perilous_predicament.txt b/forge-gui/res/cardsfolder/p/perilous_predicament.txt index e9ef0979e82..af39420a670 100644 --- a/forge-gui/res/cardsfolder/p/perilous_predicament.txt +++ b/forge-gui/res/cardsfolder/p/perilous_predicament.txt @@ -1,13 +1,10 @@ Name:Perilous Predicament ManaCost:4 B Types:Instant -A:SP$ RepeatEach | AILogic$ OpponentHasMultipleCreatures | RepeatPlayers$ Opponent | RepeatSubAbility$ DBChoose | SubAbility$ DBSacAll | SpellDescription$ Each opponent sacrifices an artifact creature and a nonartifact creature. -SVar:DBChoose:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.Artifact+RememberedPlayerCtrl | Mandatory$ True | RememberChosen$ True | ChoiceTitle$ Choose target artifact creature | AILogic$ WorstCard | SubAbility$ DBChoose2 -SVar:DBChoose2:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.nonArtifact+IsNotRemembered+RememberedPlayerCtrl | Mandatory$ True | RememberChosen$ True | ChoiceTitle$ Choose target nonartifact creature | AILogic$ WorstCard -SVar:DBSacAll:DB$ SacrificeAll | ValidCards$ Permanent.IsRemembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:SP$ Sacrifice | Defined$ Opponent | SacValid$ Creature.Artifact & Creature.nonArtifact | AILogic$ WorstCard | Mandatory$ True | SacEachValid$ True | SpellDescription$ Each opponent sacrifices an artifact creature and a nonartifact creature. SVar:NeedsToPlayVar:Z GE2 SVar:Z:SVar$Z1/Plus.Z2 SVar:Z1:Count$Valid Creature.nonArtifact+OppCtrl/LimitMax.1 SVar:Z2:Count$Valid Creature.Artifact+OppCtrl/LimitMax.1 +DeckHas:Ability$Sacrifice Oracle:Each opponent sacrifices an artifact creature and a nonartifact creature. diff --git a/forge-gui/res/cardsfolder/p/phyrexian_dreadnought.txt b/forge-gui/res/cardsfolder/p/phyrexian_dreadnought.txt index 7a60ec0f363..f0f1804287e 100644 --- a/forge-gui/res/cardsfolder/p/phyrexian_dreadnought.txt +++ b/forge-gui/res/cardsfolder/p/phyrexian_dreadnought.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Phyrexian Dreadnought PT:12/12 K:Trample T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ChooseCreatures | TriggerDescription$ When CARDNAME enters, sacrifice it unless you sacrifice any number of creatures with total power 12 or greater. -SVar:ChooseCreatures:DB$ ChooseCard | Defined$ You | Amount$ X | MinAmount$ 0 | Choices$ Creature.YouCtrl | ChoiceTitle$ Sacrifice any number of creatures with total power 12 or greater. | ChoiceZone$ Battlefield | RememberChosen$ True | SubAbility$ SacrificeSelf +SVar:ChooseCreatures:DB$ ChooseCard | Defined$ You | Amount$ X | MinAmount$ 0 | Choices$ Creature.YouCtrl | ChoiceTitle$ Sacrifice any number of creatures with total power 12 or greater. | ChoiceZone$ Battlefield | Reveal$ True | RememberChosen$ True | SubAbility$ SacrificeSelf SVar:SacrificeSelf:DB$ Sacrifice | ConditionCheckSVar$ TotalPower | ConditionSVarCompare$ LT12 | SubAbility$ SacrificeCreatures SVar:SacrificeCreatures:DB$ SacrificeAll | Defined$ Remembered | ConditionCheckSVar$ TotalPower | ConditionSVarCompare$ GE12 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True @@ -13,4 +13,5 @@ SVar:X:Count$Valid Creature.YouCtrl AI:RemoveDeck:Random SVar:NeedsToPlayVar:Y GE12 SVar:Y:Count$SumPower_Creature.YouCtrl+notnamedPhyrexian Dreadnought +DeckHas:Ability$Sacrifice Oracle:Trample\nWhen Phyrexian Dreadnought enters, sacrifice it unless you sacrifice any number of creatures with total power 12 or greater. diff --git a/forge-gui/res/cardsfolder/p/professor_onyx.txt b/forge-gui/res/cardsfolder/p/professor_onyx.txt index f4899c041bb..bf2895c72ea 100644 --- a/forge-gui/res/cardsfolder/p/professor_onyx.txt +++ b/forge-gui/res/cardsfolder/p/professor_onyx.txt @@ -8,7 +8,7 @@ SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 A:AB$ LoseLife | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | LifeAmount$ 1 | SubAbility$ DBDig | SpellDescription$ You lose 1 life. Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. SVar:DBDig:DB$ Dig | DigNum$ 3 | ChangeNum$ 1 | NoReveal$ True | DestinationZone2$ Graveyard | StackDescription$ {p:You} looks at the top three cards of their library. {p:You} puts one of them into their hand and the rest into their graveyard. A:AB$ RepeatEach | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | RepeatPlayers$ Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBSac | SpellDescription$ Each opponent sacrifices a creature with the greatest power among creatures that player controls. -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | Reveal$ True | RememberChosen$ True SVar:DBSac:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup | StackDescription$ Each opponent sacrifices a creature with the greatest power among creatures they control. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True A:AB$ Repeat | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | RepeatSubAbility$ TrigDiscard | MaxRepeat$ 7 | StackDescription$ SpellDescription | SpellDescription$ Each opponent may discard a card. If they don't, they lose 3 life. Repeat this process six more times. diff --git a/forge-gui/res/cardsfolder/r/razias_purification.txt b/forge-gui/res/cardsfolder/r/razias_purification.txt index 113d674d76b..3da870fae22 100644 --- a/forge-gui/res/cardsfolder/r/razias_purification.txt +++ b/forge-gui/res/cardsfolder/r/razias_purification.txt @@ -1,9 +1,8 @@ Name:Razia's Purification ManaCost:4 R W Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChooseSac | SubAbility$ DBSac | SpellDescription$ Each player chooses three permanents they control, then sacrifices the rest. -SVar:DBChooseSac:DB$ ChooseCard | Defined$ Remembered | Choices$ Permanent.RememberedPlayerCtrl | Amount$ 3 | ChoiceTitle$ Choose three cards not to be sacrificed | RememberChosen$ True | Mandatory$ True -SVar:DBSac:DB$ SacrificeAll | ValidCards$ Permanent.IsNotRemembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:SP$ ChooseCard | Defined$ Player | Choices$ Permanent | ControlledByPlayer$ Chooser | Amount$ 3 | ChoiceTitle$ Choose three permanents to keep | Mandatory$ True | Reveal$ True | SubAbility$ DBSac | StackDescription$ SpellDescription | SpellDescription$ Each player chooses three permanents they control, then sacrifices the rest. +SVar:DBSac:DB$ SacrificeAll | ValidCards$ Permanent.nonChosenCard +DeckHas:Ability$Sacrifice AI:RemoveDeck:All Oracle:Each player chooses three permanents they control, then sacrifices the rest. diff --git a/forge-gui/res/cardsfolder/r/regnas_sanction.txt b/forge-gui/res/cardsfolder/r/regnas_sanction.txt index 932592dc583..9bbc69b44da 100644 --- a/forge-gui/res/cardsfolder/r/regnas_sanction.txt +++ b/forge-gui/res/cardsfolder/r/regnas_sanction.txt @@ -2,15 +2,9 @@ Name:Regna's Sanction ManaCost:3 W Types:Sorcery A:SP$ AssignGroup | Defined$ Player | Choices$ FriendRepeat,FoeRepeat | AILogic$ FriendOrFoe | SpellDescription$ For each player, choose friend or foe. Each friend puts a +1/+1 counter on each creature they control. Each foe chooses one untapped creature they control, then taps the rest. -SVar:FriendRepeat:DB$ RepeatEach | RepeatPlayers$ Remembered | RepeatSubAbility$ DBPutCounter | ClearRememberedBeforeLoop$ True | StackDescription$ Each friend puts a +1/+1 counter on each creature they control. | SpellDescription$ Friend puts a +1/+1 counter on each creature they control. -SVar:DBPutCounter:DB$ PutCounterAll | ValidCards$ Creature.RememberedPlayerCtrl | CounterType$ P1P1 | CounterNum$ 1 | Placer$ Remembered -SVar:FoeRepeat:DB$ RepeatEach | AILogic$ OpponentHasMultipleCreatures | RepeatPlayers$ Remembered | ClearRememberedBeforeLoop$ True | RepeatSubAbility$ DBChoose | SubAbility$ DBTapAll | StackDescription$ Each foe chooses one untapped creature they control, then taps the rest. | SpellDescription$ Foe chooses one untapped creature they control, then taps the rest. -SVar:DBChoose:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.untapped+RememberedPlayerCtrl | Mandatory$ True | RememberChosen$ True | SubAbility$ DBImprint -# Need to imprint all non remembered cards -SVar:DBImprint:DB$ Pump | ImprintCards$ Valid Creature.IsNotRemembered+RememberedPlayerCtrl | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True -SVar:DBTapAll:DB$ TapAll | ValidCards$ Creature.IsImprinted | TapperController$ True | SubAbility$ DBCleanupAll -SVar:DBCleanupAll:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True | ClearChosenCard$ True +SVar:FriendRepeat:DB$ PutCounterAll | ValidCards$ Creature.RememberedPlayerCtrl | CounterType$ P1P1 | CounterNum$ 1 | Placer$ Controller | SpellDescription$ Each friend puts a +1/+1 counter on each creature they control. +SVar:FoeRepeat:DB$ ChooseCard | Defined$ Remembered | Choices$ Creature.untapped | ControlledByPlayer$ Chooser | Amount$ 1 | ChoiceTitle$ Choose one creature to keep untapped | Mandatory$ True | Reveal$ True | SubAbility$ DBTapAll | SpellDescription$ Each foe chooses one untapped creature they control, then taps the rest. +SVar:DBTapAll:DB$ TapAll | ValidCards$ Creature.nonChosenCard+RememberedPlayerCtrl | TapperController$ True SVar:NeedsToPlayVar:Z GE3 SVar:Z:SVar$Z1/Plus.Z2 SVar:Z1:Count$Valid Creature.YourTeamCtrl diff --git a/forge-gui/res/cardsfolder/r/revival_experiment.txt b/forge-gui/res/cardsfolder/r/revival_experiment.txt index 3e6e08cb2af..c598759eab6 100644 --- a/forge-gui/res/cardsfolder/r/revival_experiment.txt +++ b/forge-gui/res/cardsfolder/r/revival_experiment.txt @@ -1,11 +1,10 @@ Name:Revival Experiment ManaCost:4 B G Types:Sorcery -A:SP$ RepeatEach | RepeatTypesFrom$ Permanent.YouOwn | TypesFromZone$ Graveyard | RepeatSubAbility$ ChooseCard | SubAbility$ DBReturn | SpellDescription$ For each permanent type, return up to one card of that type from your graveyard to the battlefield. -SVar:ChooseCard:DB$ ChooseCard | Choices$ Card.ChosenType+YouOwn | ChoiceZone$ Graveyard | ChoiceTitle$ Choose up to one card of this type to return | ChoiceTitleAppend$ ChosenType | RememberChosen$ True -SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ Remembered | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBLoseLife -SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | SubAbility$ DBChange | StackDescription$ SpellDescription | SubAbility$ DBExile | SpellDescription$ You lose 3 life for each card returned this way. -SVar:DBExile:DB$ ChangeZone | Origin$ Stack | Destination$ Exile | SubAbility$ DBCleanup | SpellDescription$ Exile CARDNAME. +A:SP$ ChooseCard | Defined$ You | Choices$ Card.Permanent+YouOwn | ChoiceZone$ Graveyard | ChooseEach$ Artifact & Battle & Creature & Enchantment & Land & Planeswalker | ControlledByPlayer$ Chooser | MinAmount$ 0 | Amount$ 1 | Reveal$ True | RememberChosen$ True | SubAbility$ DBReturn | StackDescription$ REP return_{p:You} returns & from your_from their & You lose_{p:You} loses & Exile_{p:You} exiles | SpellDescription$ For each permanent type, return up to one card of that type from your graveyard to the battlefield. You lose 3 life for each card returned this way. Exile CARDNAME. +SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ Remembered | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBLoseLife | StackDescription$ None +SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | SubAbility$ DBChange | SubAbility$ DBExile | StackDescription$ None +SVar:DBExile:DB$ ChangeZone | Origin$ Stack | Destination$ Exile | SubAbility$ DBCleanup | StackDescription$ None SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True SVar:X:Remembered$Amount/Times.3 DeckHas:Ability$Graveyard diff --git a/forge-gui/res/cardsfolder/rebalanced/a-incriminate.txt b/forge-gui/res/cardsfolder/rebalanced/a-incriminate.txt index 2bdb33ba162..6a781388f2a 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-incriminate.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-incriminate.txt @@ -5,4 +5,5 @@ A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Choose two target creatures contro SVar:DBChooseSac:DB$ ChooseCard | Choices$ Card.IsRemembered | Defined$ TargetedController | ChoiceTitle$ Choose one to sacrifice | SubAbility$ DBSac | StackDescription$ None | AILogic$ WorstCard SVar:DBSac:DB$ SacrificeAll | Defined$ ChosenCard | SubAbility$ DBCleanup | StackDescription$ None SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Sacrifice Oracle:Choose two target creatures controlled by the same player. That player sacrifices one of them. diff --git a/forge-gui/res/cardsfolder/s/shadowgrange_archfiend.txt b/forge-gui/res/cardsfolder/s/shadowgrange_archfiend.txt index 8409c6306be..17c9c90beea 100644 --- a/forge-gui/res/cardsfolder/s/shadowgrange_archfiend.txt +++ b/forge-gui/res/cardsfolder/s/shadowgrange_archfiend.txt @@ -4,7 +4,7 @@ Types:Creature Demon PT:8/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigRepeat | TriggerDescription$ When CARDNAME enters, each opponent sacrifices a creature with the greatest power among creatures they control. You gain life equal to the greatest power among creatures sacrificed this way. SVar:TrigRepeat:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBSac -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | ImprintChosen$ True | AILogic$ WorstCard +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | Reveal$ True | ImprintChosen$ True | AILogic$ WorstCard SVar:DBSac:DB$ SacrificeAll | ValidCards$ Card.IsImprinted | RememberSacrificed$ True | SubAbility$ DBLifeGain SVar:DBLifeGain:DB$ GainLife | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True | ClearChosenCard$ True diff --git a/forge-gui/res/cardsfolder/s/single_combat.txt b/forge-gui/res/cardsfolder/s/single_combat.txt index bba9e35fa86..b487f78852d 100644 --- a/forge-gui/res/cardsfolder/s/single_combat.txt +++ b/forge-gui/res/cardsfolder/s/single_combat.txt @@ -1,11 +1,10 @@ Name:Single Combat ManaCost:3 W W Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose | SubAbility$ SacAllOthers | SpellDescription$ Each player chooses a creature or planeswalker they control, then sacrifices the rest. Players can't cast creature or planeswalker spells until the end of your next turn. -SVar:DBChoose:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature,Planeswalker | TargetControls$ True | Mandatory$ True | RememberChosen$ True -SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Creature.IsNotRemembered,Planeswalker.IsNotRemembered | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | StaticAbilities$ STCantBeCast | Duration$ UntilTheEndOfYourNextTurn | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True +A:SP$ ChooseCard | Defined$ Player | Choices$ Creature,Planeswalker | ControlledByPlayer$ Chooser | ChoiceTitle$ Choose a creature or planeswalker to keep | Mandatory$ True | Reveal$ True | SubAbility$ SacAllOthers | StackDescription$ SpellDescription | SpellDescription$ Each player chooses a creature or planeswalker they control, then sacrifices the rest. Players can't cast creature or planeswalker spells until the end of your next turn. +SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Creature.nonChosenCard,Planeswalker.nonChosenCard | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | StaticAbilities$ STCantBeCast | Duration$ UntilTheEndOfYourNextTurn SVar:STCantBeCast:Mode$ CantBeCast | EffectZone$ Command | ValidCard$ Creature,Planeswalker | Description$ Players can't cast creature or planeswalker spells. AI:RemoveDeck:All +DeckHas:Ability$Sacrifice Oracle:Each player chooses a creature or planeswalker they control, then sacrifices the rest. Players can't cast creature or planeswalker spells until the end of your next turn. diff --git a/forge-gui/res/cardsfolder/s/slaughter_the_strong.txt b/forge-gui/res/cardsfolder/s/slaughter_the_strong.txt index fd1d3e31bf6..01105646308 100644 --- a/forge-gui/res/cardsfolder/s/slaughter_the_strong.txt +++ b/forge-gui/res/cardsfolder/s/slaughter_the_strong.txt @@ -2,8 +2,9 @@ Name:Slaughter the Strong ManaCost:1 W W Types:Sorcery A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseCrtr | SubAbility$ SacAllOthers | SpellDescription$ Each player chooses any number of creatures they control with total power 4 or less, then sacrifices all other creatures they control. -SVar:ChooseCrtr:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.RememberedPlayerCtrl | WithTotalPower$ 4 | RememberChosen$ True | AILogic$ NegativePowerFirst +SVar:ChooseCrtr:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.RememberedPlayerCtrl | WithTotalPower$ 4 | Reveal$ True | RememberChosen$ True | AILogic$ NegativePowerFirst SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Creature.IsNotRemembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:All +DeckHas:Ability$Sacrifice Oracle:Each player chooses any number of creatures they control with total power 4 or less, then sacrifices all other creatures they control. diff --git a/forge-gui/res/cardsfolder/s/soul_shatter.txt b/forge-gui/res/cardsfolder/s/soul_shatter.txt index 3e620e83a71..ba7a20060d7 100644 --- a/forge-gui/res/cardsfolder/s/soul_shatter.txt +++ b/forge-gui/res/cardsfolder/s/soul_shatter.txt @@ -2,7 +2,7 @@ Name:Soul Shatter ManaCost:2 B Types:Instant A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChoose | SubAbility$ DBSac | StackDescription$ Each opponent | SpellDescription$ Each opponent sacrifices a creature or planeswalker with the highest mana value among creatures and planeswalkers they control. -SVar:DBChoose:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.RememberedPlayerCtrl+cmcEQX,Planeswalker.RememberedPlayerCtrl+cmcEQX | ChoiceTitle$ Choose a creature or planeswalker with the highest mana value to sacrifice | Mandatory$ True | RememberChosen$ True +SVar:DBChoose:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.RememberedPlayerCtrl+cmcEQX,Planeswalker.RememberedPlayerCtrl+cmcEQX | ChoiceTitle$ Choose a creature or planeswalker with the highest mana value to sacrifice | Mandatory$ True | Reveal$ True | RememberChosen$ True SVar:DBSac:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup | StackDescription$ sacrifices a creature or planeswalker with the highest mana value among creatures and planeswalkers they control. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$Valid Creature.RememberedPlayerCtrl,Planeswalker.RememberedPlayerCtrl$GreatestCMC diff --git a/forge-gui/res/cardsfolder/s/stick_together.txt b/forge-gui/res/cardsfolder/s/stick_together.txt index 948b6415436..82231fab830 100644 --- a/forge-gui/res/cardsfolder/s/stick_together.txt +++ b/forge-gui/res/cardsfolder/s/stick_together.txt @@ -1,7 +1,7 @@ Name:Stick Together ManaCost:3 W W Types:Sorcery -A:SP$ ChooseCard | Defined$ Player | ChooseEach$ Party | SubAbility$ SacAllOthers | StackDescription$ SpellDescription | SpellDescription$ Each player chooses a party from among creatures they control, +A:SP$ ChooseCard | Defined$ Player | Choices$ Creature | ChooseEach$ Party | Reveal$ True | SubAbility$ SacAllOthers | StackDescription$ SpellDescription | SpellDescription$ Each player chooses a party from among creatures they control, SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Creature.nonChosenCard | StackDescription$ then sacrifices the rest. | SpellDescription$ then sacrifices the rest. (To choose a party, choose up to one each of Cleric, Rogue, Warrior, and Wizard.) DeckHas:Ability$Sacrifice DeckHints:Ability$Party diff --git a/forge-gui/res/cardsfolder/s/szats_will.txt b/forge-gui/res/cardsfolder/s/szats_will.txt index 9543a16d11c..b8c91617c87 100644 --- a/forge-gui/res/cardsfolder/s/szats_will.txt +++ b/forge-gui/res/cardsfolder/s/szats_will.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Instant A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ Count$Compare Y GE1.2.1 | Choices$ DBOppSac,DBExile | AdditionalDescription$ . If you control a commander as you cast this spell, you may choose both. SVar:DBOppSac:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBSac | SpellDescription$ Each opponent sacrifices a creature they control with the greatest power. -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | Reveal$ True | RememberChosen$ True SVar:DBSac:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup | StackDescription$ None SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True SVar:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.OppCtrl | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | SubAbility$ DBToken | SpellDescription$ Exile all cards from all opponents' graveyards, then create X 0/1 black Thrull creature tokens, where X is the greatest power among creature cards exiled this way. diff --git a/forge-gui/res/cardsfolder/t/the_eternal_wanderer.txt b/forge-gui/res/cardsfolder/t/the_eternal_wanderer.txt index 94d2f2f9db5..2d1d1671ab6 100644 --- a/forge-gui/res/cardsfolder/t/the_eternal_wanderer.txt +++ b/forge-gui/res/cardsfolder/t/the_eternal_wanderer.txt @@ -9,7 +9,7 @@ SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defi SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True A:AB$ Token | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | TokenScript$ w_2_2_samurai_double_strike | SpellDescription$ Create a 2/2 white Samurai creature token with double strike. A:AB$ RepeatEach | Cost$ SubCounter<4/LOYALTY> | Planeswalker$ True | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose | SubAbility$ DBSacAll | StackDescription$ SpellDescription | SpellDescription$ For each player, choose a creature that player controls. Each player sacrifices all creatures they control not chosen this way. -SVar:DBChoose:DB$ ChooseCard | Defined$ You | Choices$ Creature.RememberedPlayerCtrl | Mandatory$ True | Amount$ 1 | ChoiceTitle$ Choose a creature this player controls | ImprintChosen$ True +SVar:DBChoose:DB$ ChooseCard | Defined$ You | Choices$ Creature | ControlledByPlayer$ Remembered | ChoiceTitle$ Choose a creature this player controls | Mandatory$ True | Reveal$ True | ImprintChosen$ True SVar:DBSacAll:DB$ SacrificeAll | ValidCards$ Creature.IsNotImprinted | SubAbility$ DBCleanup2 | StackDescription$ None SVar:DBCleanup2:DB$ Cleanup | ClearChosenCard$ True | ClearImprinted$ True DeckHas:Ability$Token|Sacrifice & Type$Samurai diff --git a/forge-gui/res/cardsfolder/t/tragic_arrogance.txt b/forge-gui/res/cardsfolder/t/tragic_arrogance.txt index b744841bc8d..594886aa4d6 100644 --- a/forge-gui/res/cardsfolder/t/tragic_arrogance.txt +++ b/forge-gui/res/cardsfolder/t/tragic_arrogance.txt @@ -1,12 +1,10 @@ Name:Tragic Arrogance ManaCost:3 W W Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseArtf | SubAbility$ SacAllOthers | SpellDescription$ For each player, you choose from among the permanents that player controls an artifact, a creature, an enchantment, and a planeswalker. Then each player sacrifices all other nonland permanents they control. -SVar:ChooseArtf:DB$ ChooseCard | Defined$ You | Amount$ 1 | Choices$ Artifact.RememberedPlayerCtrl | ChoiceTitle$ Choose an artifact to keep | SubAbility$ ChooseCrtr | RememberChosen$ True | Mandatory$ True -SVar:ChooseCrtr:DB$ ChooseCard | Defined$ You | Amount$ 1 | Choices$ Creature.RememberedPlayerCtrl | ChoiceTitle$ Choose a creature to keep | SubAbility$ ChooseEnch | RememberChosen$ True | Mandatory$ True -SVar:ChooseEnch:DB$ ChooseCard | Defined$ You | Amount$ 1 | Choices$ Enchantment.RememberedPlayerCtrl | ChoiceTitle$ Choose an enchantment to keep | SubAbility$ ChoosePW | RememberChosen$ True | Mandatory$ True -SVar:ChoosePW:DB$ ChooseCard | Defined$ You | Amount$ 1 | Choices$ Planeswalker.RememberedPlayerCtrl | ChoiceTitle$ Choose a planeswalker to keep | RememberChosen$ True | Mandatory$ True -SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Permanent.nonLand+IsNotRemembered | SubAbility$ DBCleanup +A:SP$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ YouChoose | SubAbility$ SacAllOthers | StackDescription$ SpellDescription | SpellDescription$ For each player, you choose from among the permanents that player controls an artifact, a creature, an enchantment, and a planeswalker. Then each player sacrifices all other nonland permanents they control. +SVar:YouChoose:DB$ ChooseCard | Defined$ You | Choices$ Permanent | ChooseEach$ Artifact & Creature & Enchantment & Planeswalker | ControlledByPlayer$ Remembered | RememberChosen$ True | Mandatory$ True | Reveal$ True +SVar:SacAllOthers:DB$ SacrificeAll | ValidCards$ Permanent.nonLand+IsNotRemembered | SubAbility$ DBCleanup | StackDescription$ None SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:All +DeckHas:Ability$Sacrifice Oracle:For each player, you choose from among the permanents that player controls an artifact, a creature, an enchantment, and a planeswalker. Then each player sacrifices all other nonland permanents they control. From 86294108eb7c82409bea760beb1fdb1a220827b9 Mon Sep 17 00:00:00 2001 From: tool4ever Date: Thu, 19 Sep 2024 09:27:56 +0200 Subject: [PATCH 2/3] Update grist_voracious_larva_grist_the_plague_swarm.txt --- .../g/grist_voracious_larva_grist_the_plague_swarm.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/g/grist_voracious_larva_grist_the_plague_swarm.txt b/forge-gui/res/cardsfolder/g/grist_voracious_larva_grist_the_plague_swarm.txt index 58a2687a0b0..c7243852570 100644 --- a/forge-gui/res/cardsfolder/g/grist_voracious_larva_grist_the_plague_swarm.txt +++ b/forge-gui/res/cardsfolder/g/grist_voracious_larva_grist_the_plague_swarm.txt @@ -22,7 +22,7 @@ A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 SVar:DBMill:DB$ Mill | Defined$ You | NumCards$ 2 | RememberMilled$ True | SubAbility$ DBPutCounter SVar:DBPutCounter:DB$ PutCounter | Defined$ Imprinted | CounterType$ Deathtouch | CounterNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card.Black | ConditionCompare$ EQ1 | SubAbility$ DBCleanup A:AB$ Destroy | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy target artifact or enchantment. -A:AB$ CopyPermanent | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | Defined$ ValidGraveyard Creature.YouOwn | SetPower$ 1 | SetToughness$ 1 | SetColor$ Black & Green | SetCreatureTypes$ Insect | AILogic$ DuplicatePerms | SpellDescription$ For each creature card in your graveyard, create a token that's a copy of it, except it's a 1/1 black and green Insect. +A:AB$ CopyPermanent | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | Defined$ ValidGraveyard Creature.YouOwn | SetPower$ 1 | SetToughness$ 1 | SetColor$ Black,Green | SetCreatureTypes$ Insect | AILogic$ DuplicatePerms | SpellDescription$ For each creature card in your graveyard, create a token that's a copy of it, except it's a 1/1 black and green Insect. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True DeckHas:Ability$Token|Mill Oracle:[+1]: Create a 1/1 black and green Insect creature token, then mill two cards. Put a deathtouch counter on the token if a black card was milled this way.\n[-2]: Destroy target artifact or enchantment.\n[-6]: For each creature card in your graveyard, create a token that's a copy of it, except it's a 1/1 black and green Insect. From 869db7febbafa1dce24d444acb41b292332a8cc7 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Thu, 19 Sep 2024 09:36:13 +0200 Subject: [PATCH 3/3] Impending NonCreature as StaticAbility (#6177) --- .../java/forge/game/card/CardFactoryUtil.java | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index f41c599030b..4d64ee8fb2d 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1415,7 +1415,7 @@ public class CardFactoryUtil { inst.addTrigger(trigger); } else if (keyword.startsWith("Impending")) { // Remove Time counter trigger - final String endTrig = "Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE1_TIME" + + final String endTrig = "Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Card.Self+impended+counters_GE1_TIME" + " | Secondary$ True | TriggerDescription$ At the beginning of your end step, remove a time counter from it."; final String remove = "DB$ RemoveCounter | Defined$ Self | CounterType$ TIME | CounterNum$ 1"; @@ -2354,17 +2354,7 @@ public class CardFactoryUtil { final String effect = "DB$ PutCounter | Defined$ ReplacedCard | CounterType$ TIME | CounterNum$ " + m + " | ETB$ True | SpellDescription$ " + desc; - SpellAbility repAb = AbilityFactory.getAbility(effect, card); - - String staticEffect = "DB$ Effect | StaticAbilities$ NoCreature | ExileOnCounter$ TIME | Duration$ UntilHostLeavesPlay"; - - String staticNoCreature = "Mode$ Continuous | Affected$ Card.EffectSource+counters_GE1_TIME | RemoveType$ Creature | Description$ EFFECTSOURCE isn't a creature."; - - AbilitySub effectAb = (AbilitySub)AbilityFactory.getAbility(staticEffect, card); - effectAb.setSVar("NoCreature", staticNoCreature); - repAb.setSubAbility(effectAb); - - final ReplacementEffect re = createETBReplacement(card, ReplacementLayer.Other, repAb, false, true, intrinsic, "Card.Self+impended", ""); + final ReplacementEffect re = createETBReplacement(card, ReplacementLayer.Other, effect, false, true, intrinsic, "Card.Self+impended", ""); inst.addReplacement(re); } else if (keyword.equals("Jump-start")) { @@ -3998,6 +3988,9 @@ public class CardFactoryUtil { String effect = "Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.withoutHorsemanship | Secondary$ True " + " | Description$ Horsemanship (" + inst.getReminderText() + ")"; inst.addStaticAbility(StaticAbility.create(effect, state.getCard(), state, intrinsic)); + } else if (keyword.startsWith("Impending")) { + String effect = "Mode$ Continuous | Affected$ Card.Self+impended+counters_GE1_TIME | RemoveType$ Creature | Secondary$ True"; + inst.addStaticAbility(StaticAbility.create(effect, state.getCard(), state, intrinsic)); } else if (keyword.equals("Intimidate")) { String effect = "Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.nonArtifact+!SharesColorWith | Secondary$ True " + " | Description$ Intimidate (" + inst.getReminderText() + ")";