From e099d1409699add329d5f5147d02a1e07afe1910 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 24 Sep 2023 14:55:23 +0200 Subject: [PATCH 1/8] update --- .../game/ability/effects/DigUntilEffect.java | 21 +++++++++++++++++++ .../upcoming/mordor_on_the_march.txt | 12 +++++++++++ .../upcoming/nazgul_battle_mace.txt | 10 +++++++++ .../upcoming/olorins_searing_light.txt | 11 ++++++++++ .../upcoming/rally_the_galadhrim.txt | 7 +++++++ .../upcoming/rammas_echor_ancient_shield.txt | 11 ++++++++++ .../upcoming/rohirrim_chargers.txt | 9 ++++++++ .../cardsfolder/upcoming/sorcerous_squall.txt | 8 +++++++ .../upcoming/witch_king_sky_scourge.txt | 15 +++++++++++++ 9 files changed, 104 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/rally_the_galadhrim.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java index e31e6f9670c..99dd4659d78 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java @@ -11,6 +11,8 @@ import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.card.CardCollectionView; +import forge.game.card.CardLists; +import forge.game.card.CardPredicates; import forge.game.card.CardZoneTable; import forge.game.event.GameEventCombatChanged; import forge.game.player.Player; @@ -22,6 +24,8 @@ import forge.util.Localizer; import forge.util.MyRandom; import org.apache.commons.lang3.StringUtils; +import com.google.common.collect.Maps; + public class DigUntilEffect extends SpellAbilityEffect { /* (non-Javadoc) @@ -214,6 +218,23 @@ public class DigUntilEffect extends SpellAbilityEffect { if (sa.hasParam("GainControl")) { c.setController(sa.getActivatingPlayer(), game.getNextTimestamp()); } + if (sa.hasParam("AttachedTo")) { + CardCollection list = AbilityUtils.getDefinedCards(c, sa.getParam("AttachedTo"), sa); + if (list.isEmpty()) { + list = CardLists.getValidCards(lastStateBattlefield, sa.getParam("AttachedTo"), c.getController(), c, sa); + } + if (!list.isEmpty()) { + list = CardLists.filter(list, CardPredicates.canBeAttached(c, sa)); + } + if (!list.isEmpty()) { + Map params = Maps.newHashMap(); + params.put("Attach", c); + Card attachedTo = p.getController().chooseSingleEntityForEffect(list, sa, Localizer.getInstance().getMessage("lblSelectACardAttachSourceTo", c.toString()), params); + c.attachToEntity(game.getCardState(attachedTo), sa, true); + } else { + continue; + } + } if (sa.hasParam("Tapped")) { c.setTapped(true); } diff --git a/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt b/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt new file mode 100644 index 00000000000..ef26d543106 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt @@ -0,0 +1,12 @@ +Name:Mordor on the March +ManaCost:3 B R +Types:Sorcery +K:Storm +A:SP$ ChooseCard | Mandatory$ True | Choices$ Creature.YouCtrl | ChoiceZone$ Graveyard | SubAbility$ DBChangeZone | RememberChosen$ True | SpellDescription$ Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step. +SVar:DBChangeZone:DB$ ChangeZone | Defined$ Remembered | Origin$ Graveyard | Destination$ Exile | ChangeNum$ 1 | SubAbility$ DBCopy +SVar:DBCopy:DB$ CopyPermanent | Defined$ Remembered | PumpKeywords$ Haste | PumpDuration$ UntilYourNextTurn | AtEOT$ Exile | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:PlayMain1:TRUE +DeckHas:Ability$Token +DeckHints:Ability$Graveyard|Mill +Oracle:Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step.\nStorm (When you cast this spell, copy it for each spell cast before it this turn.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt b/forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt new file mode 100644 index 00000000000..556c8fd435a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt @@ -0,0 +1,10 @@ +Name:Nazgul Battle-Mace +ManaCost:5 +Types:Artifact Equipment +K:Equip:3 +S:Mode$ Continuous | AddTrigger$ SacrificeStatic | Affected$ Creature.EquippedBy | AddKeyword$ Menace & Deathtouch & Annihilator:1 | Description$ Equipped creature has menace, deathtouch, annihilator 1, and "Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life." (Whenever a creature with annihilator 1 attacks, defending player sacrifices a permanent.) +SVar:SacrificeStatic:Mode$ Sacrificed | ValidCard$ Permanent.nonToken+OppCtrl | Execute$ TrigReturn | TriggerZones$ Battlefield | TriggerDescription$ Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life. +SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | Defined$ TriggeredCard | UnlessCost$ 3 | UnlessPayer$ TriggeredCardController +SVar:PlayMain1:TRUE +DeckHas:Ability$Sacrifice +Oracle:Equipped creature has menace, deathtouch, annihilator 1, and "Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life." (Whenever a creature with annihilator 1 attacks, defending player sacrifices a permanent.)\nEquip {3} \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt new file mode 100644 index 00000000000..4bf6483cec1 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt @@ -0,0 +1,11 @@ +Name:Olorin's Searing Light +ManaCost:2 R W +Types:Instant +A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | DamageMap$ True | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled. +SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True | SubAbility$ DBExile +SVar:DBExile:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBDamage | RememberChanged$ True | StackDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls. +SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | RepeatPlayers$ Opponent | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True +SVar:X:Remembered$CardPower +DeckHints:Ability$Graveyard|Mill +Oracle:Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Olorin's Searing Light deals damage to each opponent equal to the power of the creature they exiled. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/rally_the_galadhrim.txt b/forge-gui/res/cardsfolder/upcoming/rally_the_galadhrim.txt new file mode 100644 index 00000000000..9bd073a904d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rally_the_galadhrim.txt @@ -0,0 +1,7 @@ +Name:Rally the Galadhrim +ManaCost:2 G U +Types:Sorcery +A:SP$ CopyPermanent | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SpellDescription$ Create a token that's a copy of target creature you control. +K:Conspire +DeckHas:Ability$Token +Oracle:Create a token that's a copy of target creature you control.\nConspire (As you cast this spell, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt b/forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt new file mode 100644 index 00000000000..496690239de --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt @@ -0,0 +1,11 @@ +Name:Rammas Echor, Ancient Shield +ManaCost:3 W +Types:Legendary Artifact +T:Mode$ SpellCast | ValidCard$ Card.YouCtrl | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDaw | ActivatorThisTurnCast$ EQ2 | TriggerDescription$ Whenever you cast your second spell each turn, draw a card, then create a 0/3 white Wall creature token with defender. +SVar:TrigDaw:DB$ Draw | SubAbility$ DBToken +SVar:DBToken:DB$ Token | TokenScript$ w_0_3_wall_defender +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, creatures you control with defender gain exalted until end of turn. (Whenever a creature you control attacks alone, it gets +1/+1 until end of turn for each instance of exalted among permanents you control.) +SVar:TrigPump:DB$ PumpAll | ValidTgts$ Creature.withDefender+YouCtrl | KW$ Exalted +DeckHas:Ability$Token & Type$Wall +DeckHints:Keyword$Defender & Type$Wall +Oracle:Whenever you cast your second spell each turn, draw a card, then create a 0/3 white Wall creature token with defender.\nAt the beginning of combat on your turn, creatures you control with defender gain exalted until end of turn. (Whenever a creature you control attacks alone, it gets +1/+1 until end of turn for each instance of exalted among permanents you control.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt b/forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt new file mode 100644 index 00000000000..d926782e672 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt @@ -0,0 +1,9 @@ +Name:Rohirrim Chargers +ManaCost:2 R W +Types:Creature Human Knight +PT:4/4 +S:Mode$ OptionalAttackCost | ValidCard$ Card.Self | Cost$ Exert<1/CARDNAME> | Description$ You may exert CARDNAME as it attacks. (It won't untap during your next untap step.) +T:Mode$ Exerted | ValidCard$ Creature.YouCtrl | Execute$ TrigDig | TriggerZones$ Battlefield | TriggerDescription$ Whenever you exert a creature, reveal cards from the top of your library until you reveal an Equipment card. Put that card onto the battlefield attached to that creature, then put the rest on the bottom of your library in a random order. +SVar:TrigDig:DB$ DigUntil | Defined$ You | Valid$ Equipment | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | AttachedTo$ TriggeredCard | StackDescription$ None +DeckHints:Type$Equipment +Oracle:You may exert Rohirrim Chargers as it attacks. (It won't untap during your next untap step.)\nWhenever you exert a creature, reveal cards from the top of your library until you reveal an Equipment card. Put that card onto the battlefield attached to that creature, then put the rest on the bottom of your library in a random order. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt b/forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt new file mode 100644 index 00000000000..f26cf9ff872 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt @@ -0,0 +1,8 @@ +Name:Sorcerous Squall +ManaCost:6 U U U +Types:Sorcery +K:Delve +A:SP$ Mill | NumCards$ 9 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to mill | SubAbility$ FishyCast | SpellDescription$ Target opponent mills nine cards, then you may cast an instant or sorcery spell from that player's graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. +SVar:FishyCast:DB$ Play | ValidZone$ Graveyard | Valid$ Instant.TargetedPlayerCtrl,Sorcery.TargetedPlayerCtrl | Controller$ You | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | Amount$ 1 +DeckHints:Ability$Mill|Graveyard +Oracle:Delve (Each card you exile from your graveyard while casting this spell pays for {1}.)\nTarget opponent mills nine cards, then you may cast an instant or sorcery spell from that player's graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt b/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt new file mode 100644 index 00000000000..7af40e6f5cb --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt @@ -0,0 +1,15 @@ +Name:Witch-king, Sky Scourge +ManaCost:5 B R +Types:Legendary Creature Wraith Noble +PT:5/5 +K:Flying +K:Undying +T:Mode$ AttackersDeclared | ValidAttackers$ Wraith | AttackingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ Whenever you attack with one or more Wraiths, exile the top X cards of your library, where X is their total power. You may play those cards this turn. +SVar:TrigExile:DB$ Dig | Defined$ You | DigNum$ X | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ForgetOnMoved$ Exile | RememberObjects$ RememberedCard | SubAbility$ DBCleanup +SVar:STPlay:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered | MayPlay$ True | AffectedZone$ Exile | Description$ you may play those cards this turn +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Count$SumPower_Wraith.attacking+YouCtrl +DeckHas:Ability$Counters +DeckHints:Type$Wraith +Oracle:Flying\nWhenever you attack with one or more Wraiths, exile the top X cards of your library, where X is their total power. You may play those cards this turn.\nUndying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.) \ No newline at end of file From b912b2fc9e961943825db4554d9ec9971829277f Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Mon, 25 Sep 2023 20:13:09 +0200 Subject: [PATCH 2/8] update --- forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt | 3 +-- forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt | 2 +- .../res/cardsfolder/upcoming/olorins_searing_light.txt | 7 ++++--- .../cardsfolder/upcoming/rammas_echor_ancient_shield.txt | 2 +- forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt b/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt index ef26d543106..8124eec0e1a 100644 --- a/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt +++ b/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt @@ -2,8 +2,7 @@ Name:Mordor on the March ManaCost:3 B R Types:Sorcery K:Storm -A:SP$ ChooseCard | Mandatory$ True | Choices$ Creature.YouCtrl | ChoiceZone$ Graveyard | SubAbility$ DBChangeZone | RememberChosen$ True | SpellDescription$ Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step. -SVar:DBChangeZone:DB$ ChangeZone | Defined$ Remembered | Origin$ Graveyard | Destination$ Exile | ChangeNum$ 1 | SubAbility$ DBCopy +A:SP$ ChangeZone | ChangeType$ Creature.YouCtrl | ChangeNum$ 1 | RememberChosen$ True | Origin$ Graveyard | Destination$ Exile | ChangeNum$ 1 | SubAbility$ DBCopy | SpellDescription$ Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step. SVar:DBCopy:DB$ CopyPermanent | Defined$ Remembered | PumpKeywords$ Haste | PumpDuration$ UntilYourNextTurn | AtEOT$ Exile | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:PlayMain1:TRUE diff --git a/forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt b/forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt index 556c8fd435a..fb431e1df02 100644 --- a/forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt +++ b/forge-gui/res/cardsfolder/upcoming/nazgul_battle_mace.txt @@ -4,7 +4,7 @@ Types:Artifact Equipment K:Equip:3 S:Mode$ Continuous | AddTrigger$ SacrificeStatic | Affected$ Creature.EquippedBy | AddKeyword$ Menace & Deathtouch & Annihilator:1 | Description$ Equipped creature has menace, deathtouch, annihilator 1, and "Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life." (Whenever a creature with annihilator 1 attacks, defending player sacrifices a permanent.) SVar:SacrificeStatic:Mode$ Sacrificed | ValidCard$ Permanent.nonToken+OppCtrl | Execute$ TrigReturn | TriggerZones$ Battlefield | TriggerDescription$ Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life. -SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | Defined$ TriggeredCard | UnlessCost$ 3 | UnlessPayer$ TriggeredCardController +SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | Defined$ TriggeredCard | UnlessCost$ PayLife<3> | UnlessPayer$ TriggeredCardController SVar:PlayMain1:TRUE DeckHas:Ability$Sacrifice Oracle:Equipped creature has menace, deathtouch, annihilator 1, and "Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life." (Whenever a creature with annihilator 1 attacks, defending player sacrifices a permanent.)\nEquip {3} \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt index 4bf6483cec1..7dce9016889 100644 --- a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt +++ b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt @@ -2,10 +2,11 @@ Name:Olorin's Searing Light ManaCost:2 R W Types:Instant A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | DamageMap$ True | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled. -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True | SubAbility$ DBExile -SVar:DBExile:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBDamage | RememberChanged$ True | StackDescription$ Each opponent exiles 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 +SVar:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.ChosenCard | Origin$ Battlefield | Destination$ Exile | SubAbility$ RepeatBis | RememberChanged$ True | StackDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls. +SVar:RepeatBis:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBDamage | DamageMap$ True | SubAbility$ DBCleanup SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | RepeatPlayers$ Opponent | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True -SVar:X:Remembered$CardPower +SVar:X:RememberedLKI$FilterControlledByRemembered_CardPower DeckHints:Ability$Graveyard|Mill Oracle:Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Olorin's Searing Light deals damage to each opponent equal to the power of the creature they exiled. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt b/forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt index 496690239de..e33c04982b2 100644 --- a/forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt +++ b/forge-gui/res/cardsfolder/upcoming/rammas_echor_ancient_shield.txt @@ -5,7 +5,7 @@ T:Mode$ SpellCast | ValidCard$ Card.YouCtrl | ValidActivatingPlayer$ You | Trigg SVar:TrigDaw:DB$ Draw | SubAbility$ DBToken SVar:DBToken:DB$ Token | TokenScript$ w_0_3_wall_defender T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, creatures you control with defender gain exalted until end of turn. (Whenever a creature you control attacks alone, it gets +1/+1 until end of turn for each instance of exalted among permanents you control.) -SVar:TrigPump:DB$ PumpAll | ValidTgts$ Creature.withDefender+YouCtrl | KW$ Exalted +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.withDefender+YouCtrl | KW$ Exalted DeckHas:Ability$Token & Type$Wall DeckHints:Keyword$Defender & Type$Wall Oracle:Whenever you cast your second spell each turn, draw a card, then create a 0/3 white Wall creature token with defender.\nAt the beginning of combat on your turn, creatures you control with defender gain exalted until end of turn. (Whenever a creature you control attacks alone, it gets +1/+1 until end of turn for each instance of exalted among permanents you control.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt b/forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt index f26cf9ff872..d501afcf3a5 100644 --- a/forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt +++ b/forge-gui/res/cardsfolder/upcoming/sorcerous_squall.txt @@ -3,6 +3,6 @@ ManaCost:6 U U U Types:Sorcery K:Delve A:SP$ Mill | NumCards$ 9 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to mill | SubAbility$ FishyCast | SpellDescription$ Target opponent mills nine cards, then you may cast an instant or sorcery spell from that player's graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. -SVar:FishyCast:DB$ Play | ValidZone$ Graveyard | Valid$ Instant.TargetedPlayerCtrl,Sorcery.TargetedPlayerCtrl | Controller$ You | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | Amount$ 1 +SVar:FishyCast:DB$ Play | ValidZone$ Graveyard | Valid$ Instant.TargetedPlayerCtrl,Sorcery.TargetedPlayerCtrl | Controller$ You | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | Amount$ 1 | ReplaceGraveyard$ Exile DeckHints:Ability$Mill|Graveyard Oracle:Delve (Each card you exile from your graveyard while casting this spell pays for {1}.)\nTarget opponent mills nine cards, then you may cast an instant or sorcery spell from that player's graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. \ No newline at end of file From 310e14a2359043407f57bfb71a6c2a86644bc514 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Mon, 25 Sep 2023 21:06:58 +0200 Subject: [PATCH 3/8] update --- forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt | 4 ++-- forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt b/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt index 8124eec0e1a..11704aa643a 100644 --- a/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt +++ b/forge-gui/res/cardsfolder/upcoming/mordor_on_the_march.txt @@ -2,8 +2,8 @@ Name:Mordor on the March ManaCost:3 B R Types:Sorcery K:Storm -A:SP$ ChangeZone | ChangeType$ Creature.YouCtrl | ChangeNum$ 1 | RememberChosen$ True | Origin$ Graveyard | Destination$ Exile | ChangeNum$ 1 | SubAbility$ DBCopy | SpellDescription$ Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step. -SVar:DBCopy:DB$ CopyPermanent | Defined$ Remembered | PumpKeywords$ Haste | PumpDuration$ UntilYourNextTurn | AtEOT$ Exile | SubAbility$ DBCleanup +A:SP$ ChangeZone | ChangeType$ Creature.YouCtrl | Hidden$ True | ChangeNum$ 1 | RememberChanged$ True | Origin$ Graveyard | Destination$ Exile | ChangeNum$ 1 | SubAbility$ DBCopy | SpellDescription$ Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step. +SVar:DBCopy:DB$ CopyPermanent | Defined$ Remembered | PumpKeywords$ Haste | PumpDuration$ EOT | AtEOT$ Exile | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:PlayMain1:TRUE DeckHas:Ability$Token diff --git a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt index 7dce9016889..f08d9388543 100644 --- a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt +++ b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt @@ -2,8 +2,8 @@ Name:Olorin's Searing Light ManaCost:2 R W Types:Instant A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | DamageMap$ True | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled. -SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True -SVar:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.ChosenCard | Origin$ Battlefield | Destination$ Exile | SubAbility$ RepeatBis | RememberChanged$ True | StackDescription$ Each opponent exiles 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:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ RepeatBis | Imprint$ True | StackDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls. SVar:RepeatBis:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBDamage | DamageMap$ True | SubAbility$ DBCleanup SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | RepeatPlayers$ Opponent | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True From cb95c5df4de4884dbc3335e09405486c77f44cab Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Mon, 25 Sep 2023 21:24:10 +0200 Subject: [PATCH 4/8] update --- .../res/cardsfolder/upcoming/olorins_searing_light.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt index f08d9388543..95f2b9ac262 100644 --- a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt +++ b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt @@ -3,9 +3,9 @@ ManaCost:2 R W Types:Instant A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | DamageMap$ True | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled. 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:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ RepeatBis | Imprint$ True | StackDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls. -SVar:RepeatBis:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBDamage | DamageMap$ True | SubAbility$ DBCleanup -SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | RepeatPlayers$ Opponent | SubAbility$ DBCleanup +SVar:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ RepeatBis | StackDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls. +SVar:RepeatBis:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBDamage | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True SVar:X:RememberedLKI$FilterControlledByRemembered_CardPower DeckHints:Ability$Graveyard|Mill From 8d56ef4118702ed210efe3b0fb9e17b9d0343dad Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Mon, 25 Sep 2023 21:55:24 +0200 Subject: [PATCH 5/8] Update olorins_searing_light.txt --- .../res/cardsfolder/upcoming/olorins_searing_light.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt index 95f2b9ac262..1b1941f2dad 100644 --- a/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt +++ b/forge-gui/res/cardsfolder/upcoming/olorins_searing_light.txt @@ -1,12 +1,12 @@ Name:Olorin's Searing Light ManaCost:2 R W Types:Instant -A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | DamageMap$ True | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled. +A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled. 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:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ RepeatBis | StackDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls. -SVar:RepeatBis:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBDamage | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | SubAbility$ DBCleanup +SVar:RepeatBis:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | DamageMap$ True | RepeatSubAbility$ DBDamage | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | SubAbility$ DBCleanup SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:RememberedLKI$FilterControlledByRemembered_CardPower DeckHints:Ability$Graveyard|Mill Oracle:Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Olorin's Searing Light deals damage to each opponent equal to the power of the creature they exiled. \ No newline at end of file From 656789d4e2c3bc347a39eb26d1a1540c5e00f9b1 Mon Sep 17 00:00:00 2001 From: tool4ever Date: Wed, 27 Sep 2023 09:10:39 +0200 Subject: [PATCH 6/8] Update rohirrim_chargers.txt --- forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt b/forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt index d926782e672..7f2e7766236 100644 --- a/forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt +++ b/forge-gui/res/cardsfolder/upcoming/rohirrim_chargers.txt @@ -4,6 +4,6 @@ Types:Creature Human Knight PT:4/4 S:Mode$ OptionalAttackCost | ValidCard$ Card.Self | Cost$ Exert<1/CARDNAME> | Description$ You may exert CARDNAME as it attacks. (It won't untap during your next untap step.) T:Mode$ Exerted | ValidCard$ Creature.YouCtrl | Execute$ TrigDig | TriggerZones$ Battlefield | TriggerDescription$ Whenever you exert a creature, reveal cards from the top of your library until you reveal an Equipment card. Put that card onto the battlefield attached to that creature, then put the rest on the bottom of your library in a random order. -SVar:TrigDig:DB$ DigUntil | Defined$ You | Valid$ Equipment | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | AttachedTo$ TriggeredCard | StackDescription$ None +SVar:TrigDig:DB$ DigUntil | Defined$ You | Valid$ Equipment | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | AttachedTo$ TriggeredCard DeckHints:Type$Equipment -Oracle:You may exert Rohirrim Chargers as it attacks. (It won't untap during your next untap step.)\nWhenever you exert a creature, reveal cards from the top of your library until you reveal an Equipment card. Put that card onto the battlefield attached to that creature, then put the rest on the bottom of your library in a random order. \ No newline at end of file +Oracle:You may exert Rohirrim Chargers as it attacks. (It won't untap during your next untap step.)\nWhenever you exert a creature, reveal cards from the top of your library until you reveal an Equipment card. Put that card onto the battlefield attached to that creature, then put the rest on the bottom of your library in a random order. From db8a38b82af9cb0aad329e4fa305aa5b12b2c6ca Mon Sep 17 00:00:00 2001 From: tool4ever Date: Wed, 27 Sep 2023 20:44:35 +0000 Subject: [PATCH 7/8] Update witch_king_sky_scourge.txt --- forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt b/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt index 7af40e6f5cb..16ae3e16f89 100644 --- a/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt +++ b/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt @@ -9,7 +9,7 @@ SVar:TrigExile:DB$ Dig | Defined$ You | DigNum$ X | ChangeNum$ All | Destination SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ForgetOnMoved$ Exile | RememberObjects$ RememberedCard | SubAbility$ DBCleanup SVar:STPlay:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered | MayPlay$ True | AffectedZone$ Exile | Description$ you may play those cards this turn SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:X:Count$SumPower_Wraith.attacking+YouCtrl +SVar:X:TriggerObjectsAttackers$CardPower DeckHas:Ability$Counters DeckHints:Type$Wraith -Oracle:Flying\nWhenever you attack with one or more Wraiths, exile the top X cards of your library, where X is their total power. You may play those cards this turn.\nUndying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.) \ No newline at end of file +Oracle:Flying\nWhenever you attack with one or more Wraiths, exile the top X cards of your library, where X is their total power. You may play those cards this turn.\nUndying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.) From bf2752c87390626bfd0deaf7e6e7c37b1ffd312b Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Wed, 27 Sep 2023 22:45:12 +0200 Subject: [PATCH 8/8] Update witch_king_sky_scourge.txt --- forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt b/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt index 7af40e6f5cb..8af28b7972d 100644 --- a/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt +++ b/forge-gui/res/cardsfolder/upcoming/witch_king_sky_scourge.txt @@ -9,7 +9,7 @@ SVar:TrigExile:DB$ Dig | Defined$ You | DigNum$ X | ChangeNum$ All | Destination SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ForgetOnMoved$ Exile | RememberObjects$ RememberedCard | SubAbility$ DBCleanup SVar:STPlay:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered | MayPlay$ True | AffectedZone$ Exile | Description$ you may play those cards this turn SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:X:Count$SumPower_Wraith.attacking+YouCtrl +SVar:X:TriggerObjectsAttackers$CardPower DeckHas:Ability$Counters DeckHints:Type$Wraith Oracle:Flying\nWhenever you attack with one or more Wraiths, exile the top X cards of your library, where X is their total power. You may play those cards this turn.\nUndying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.) \ No newline at end of file