From 2cf197e9debb0ce2e01be61038bf09489e2a2839 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 10:53:57 -0400 Subject: [PATCH 01/30] thirst_for_discovery.txt --- forge-gui/res/cardsfolder/upcoming/thirst_for_discovery.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/thirst_for_discovery.txt diff --git a/forge-gui/res/cardsfolder/upcoming/thirst_for_discovery.txt b/forge-gui/res/cardsfolder/upcoming/thirst_for_discovery.txt new file mode 100644 index 00000000000..fea1b0a56b2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/thirst_for_discovery.txt @@ -0,0 +1,6 @@ +Name:Thirst for Discovery +ManaCost:2 U +Types:Instant +A:SP$ Draw | NumCards$ 3 | SubAbility$ DBDiscard | SpellDescription$ Draw three cards. +SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ 2 | Mode$ TgtChoose | UnlessType$ Basic Land | StackDescription$ SpellDescription | SpellDescription$ Then discard two cards unless you discard a basic land card. +Oracle:Draw three cards. Then discard two cards unless you discard a basic land card. From 4875ae5d8f3c2213b968effe9288964bb5398ae0 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 10:55:22 -0400 Subject: [PATCH 02/30] support Basic Land as uType --- .../src/main/java/forge/player/PlayerControllerHuman.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index a2960771422..6546810ffb0 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1191,6 +1191,10 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont for (String part : splitUTypes) { if (c.getType().hasStringType(part)) { return true; + } else if (part.equals("Basic Land")) { + if (c.isBasicLand()) { + return true; + } } } } @@ -1201,9 +1205,9 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont StringBuilder promptType = new StringBuilder(); for (String part : splitUTypes) { if (n==1) { - promptType.append(part); + promptType.append(part.toLowerCase()); } else { - promptType.append(" or ").append(part); + promptType.append(" or ").append(part.toLowerCase()); } n++; } From 445a99ebd0bd761567a7f46fccd117d619c1708e Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 18:57:48 -0400 Subject: [PATCH 03/30] remove unneeded Mandatory param --- forge-gui/res/cardsfolder/d/disciple_of_bolas.txt | 3 +-- forge-gui/res/cardsfolder/e/empty_the_laboratory.txt | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/d/disciple_of_bolas.txt b/forge-gui/res/cardsfolder/d/disciple_of_bolas.txt index d0fb8037c54..baf6532dd52 100644 --- a/forge-gui/res/cardsfolder/d/disciple_of_bolas.txt +++ b/forge-gui/res/cardsfolder/d/disciple_of_bolas.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Creature Human Wizard PT:2/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice another creature. You gain X life and draw X cards, where X is that creature's power. -SVar:TrigSac:DB$ Sacrifice | Amount$ 1 | SacValid$ Creature.Other | RememberSacrificed$ True | Mandatory$ True | SubAbility$ GainLife +SVar:TrigSac:DB$ Sacrifice | Amount$ 1 | SacValid$ Creature.Other | RememberSacrificed$ True | SubAbility$ GainLife SVar:GainLife:DB$ GainLife | LifeAmount$ X | SubAbility$ DBDraw SVar:DBDraw:DB$ Draw | NumCards$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True @@ -11,5 +11,4 @@ SVar:X:RememberedLKI$CardPower SVar:NeedsToPlay:Creature.YouCtrl DeckHas:Ability$LifeGain AI:RemoveDeck:All -SVar:Picture:http://www.wizards.com/global/images/magic/general/disciple_of_bolas.jpg Oracle:When Disciple of Bolas enters the battlefield, sacrifice another creature. You gain X life and draw X cards, where X is that creature's power. diff --git a/forge-gui/res/cardsfolder/e/empty_the_laboratory.txt b/forge-gui/res/cardsfolder/e/empty_the_laboratory.txt index 8abd999bacb..08aa3265c47 100644 --- a/forge-gui/res/cardsfolder/e/empty_the_laboratory.txt +++ b/forge-gui/res/cardsfolder/e/empty_the_laboratory.txt @@ -1,7 +1,7 @@ Name:Empty the Laboratory ManaCost:X U U Types:Sorcery -A:SP$ Sacrifice | Defined$ You | Amount$ X | Mandatory$ True | SacValid$ Zombie | RememberSacrificed$ True | SubAbility$ DBDigUntil | StackDescription$ SpellDescription | SpellDescription$ Sacrifice X Zombies, then reveal cards from the top of your library until you reveal a number of Zombie creature cards equal to the number of Zombies sacrificed this way. Put those cards onto the battlefield and the rest on the bottom of your library in a random order. +A:SP$ Sacrifice | Defined$ You | Amount$ X | SacValid$ Zombie | RememberSacrificed$ True | SubAbility$ DBDigUntil | StackDescription$ SpellDescription | SpellDescription$ Sacrifice X Zombies, then reveal cards from the top of your library until you reveal a number of Zombie creature cards equal to the number of Zombies sacrificed this way. Put those cards onto the battlefield and the rest on the bottom of your library in a random order. SVar:DBDigUntil:DB$ DigUntil | Amount$ Y | Valid$ Creature.Zombie | FoundDestination$ Library | NoMoveFound$ True | ImprintFound$ True | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | SubAbility$ DBChangeZone SVar:DBChangeZone:DB$ ChangeZone | Defined$ Imprinted | Origin$ Library | Destination$ Battlefield | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True From b0f87d9da1ed920ee83221325389541e859503e3 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 20:21:10 -0400 Subject: [PATCH 04/30] stensia_uprising.txt --- .../res/cardsfolder/upcoming/stensia_uprising.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/stensia_uprising.txt diff --git a/forge-gui/res/cardsfolder/upcoming/stensia_uprising.txt b/forge-gui/res/cardsfolder/upcoming/stensia_uprising.txt new file mode 100644 index 00000000000..424786baf8b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/stensia_uprising.txt @@ -0,0 +1,11 @@ +Name:Stensia Uprising +ManaCost:2 R R +Types:Enchantment +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your end step, create a 1/1 red Human creature token. Then if you control exactly thirteen permanents, you may sacrifice Stensia Uprising. When you do, it deals 7 damage to any target. +SVar:TrigToken:DB$ Token | TokenScript$ r_1_1_human | SubAbility$ DBSacrifice +SVar:DBSacrifice:DB$ Sacrifice | ConditionPresent$ Permanent.YouCtrl | ConditionCompare$ EQ13 | SacValid$ Self | Optional$ True | RememberSacrificed$ True | SubAbility$ DBImmediateTrig +SVar:DBImmediateTrig:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | Execute$ TrigDamage | SubAbility$ DBCleanup | TriggerDescription$ When you sacrifice CARDNAME, it deals 7 damage to any target. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 7 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Token & Ability$Sacrifice +Oracle:At the beginning of your end step, create a 1/1 red Human creature token. Then if you control exactly thirteen permanents, you may sacrifice Stensia Uprising. When you do, it deals 7 damage to any target. From e25de294faa82f95a7f51e110d20004380358bc5 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 20:21:41 -0400 Subject: [PATCH 05/30] SacrificeEffect streamline optional --- .../game/ability/effects/SacrificeEffect.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java index da413a82838..231e417cacc 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java @@ -100,15 +100,19 @@ public class SacrificeEffect extends SpellAbilityEffect { final boolean destroy = sa.hasParam("Destroy"); final boolean remSacrificed = sa.hasParam("RememberSacrificed"); + final boolean optional = sa.hasParam("Optional"); CardZoneTable table = new CardZoneTable(); Map params = AbilityKey.newMap(); params.put(AbilityKey.LastStateBattlefield, game.copyLastStateBattlefield()); if (valid.equals("Self") && game.getZoneOf(card) != null) { if (game.getZoneOf(card).is(ZoneType.Battlefield)) { - if (game.getAction().sacrifice(card, sa, table, params) != null) { - if (remSacrificed) { - card.addRemembered(card); + if (!optional || activator.getController().confirmAction(sa, null, + Localizer.getInstance().getMessage("lblDoYouWantSacrificeThis"), card.getName())) { + if (game.getAction().sacrifice(card, sa, table, params) != null) { + if (remSacrificed) { + card.addRemembered(card); + } } } } @@ -147,12 +151,11 @@ public class SacrificeEffect extends SpellAbilityEffect { if (sa.hasParam("Random")) { choosenToSacrifice = Aggregates.random(validTargets, Math.min(amount, validTargets.size()), new CardCollection()); - } else if (sa.hasParam("OptionalSacrifice") && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantSacrifice"))) { + } else if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantSacrifice"))) { choosenToSacrifice = CardCollection.EMPTY; } else { - boolean isOptional = sa.hasParam("Optional"); boolean isStrict = sa.hasParam("StrictAmount"); - int minTargets = isOptional ? 0 : amount; + int minTargets = optional ? 0 : amount; boolean notEnoughTargets = isStrict && validTargets.size() < minTargets; if (!notEnoughTargets) { From 295f34bdd7862e4f84ca6fc78a3b4da13336e2f0 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 20:24:02 -0400 Subject: [PATCH 06/30] giant_opportunity.txt refactor param --- forge-gui/res/cardsfolder/g/giant_opportunity.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/g/giant_opportunity.txt b/forge-gui/res/cardsfolder/g/giant_opportunity.txt index bfc1a755929..2442c4b1d57 100644 --- a/forge-gui/res/cardsfolder/g/giant_opportunity.txt +++ b/forge-gui/res/cardsfolder/g/giant_opportunity.txt @@ -1,7 +1,7 @@ Name:Giant Opportunity ManaCost:2 G Types:Sorcery -A:SP$ Sacrifice | Cost$ 2 G | SacValid$ Food | Defined$ You | Amount$ 2 | OptionalSacrifice$ True | StrictAmount$ True | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ You may sacrifice two Foods. If you do, create a 7/7 green Giant creature token. Otherwise, create three Food tokens. (They're artifacts with "{2}, {T}, Sacrifice this artifact: You gain 3 life.") +A:SP$ Sacrifice | Cost$ 2 G | SacValid$ Food | Defined$ You | Amount$ 2 | Optional$ True | StrictAmount$ True | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ You may sacrifice two Foods. If you do, create a 7/7 green Giant creature token. Otherwise, create three Food tokens. (They're artifacts with "{2}, {T}, Sacrifice this artifact: You gain 3 life.") SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_7_7_giant | TokenOwner$ You | ConditionDefined$ RememberedLKI | ConditionPresent$ Food | ConditionCompare$ EQ2 | SubAbility$ DBToken2 SVar:DBToken2:DB$ Token | TokenAmount$ 3 | TokenScript$ c_a_food_sac | TokenOwner$ You | ConditionDefined$ RememberedLKI | ConditionPresent$ Food | ConditionCompare$ EQ0 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True From 520c9fb28f52bd228adfce2a4cd5a5bd26f6b0e9 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 20:24:16 -0400 Subject: [PATCH 07/30] new Sac prompt --- forge-gui/res/languages/de-DE.properties | 1 + forge-gui/res/languages/en-US.properties | 1 + forge-gui/res/languages/es-ES.properties | 1 + forge-gui/res/languages/it-IT.properties | 1 + forge-gui/res/languages/ja-JP.properties | 1 + forge-gui/res/languages/zh-CN.properties | 1 + 6 files changed, 6 insertions(+) diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 04e44b97f85..d23907801ea 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -1989,6 +1989,7 @@ lblPlayerRolledResult={0} würfelte {1}? lblDoYouWantPayEcho=Möchtest du die Echokosten zahlen lblPayEcho=Zahle Echokosten lblDoYouWantSacrifice=Opfern durchführen? +lblDoYouWantSacrificeThis=Do you want to sacrifice {0}? #SetStateEffect.java lblFaceDownCardCantTurnFaceUp=Verdeckte Karte kann nicht umgedreht werden #ShuffleEffect.java diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 50d4eb03552..086f64dfd3d 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -1990,6 +1990,7 @@ lblPlayerRolledResult={0} rolled {1} lblDoYouWantPayEcho=Do you want to pay Echo lblPayEcho=Pay Echo lblDoYouWantSacrifice=Do you want to sacrifice? +lblDoYouWantSacrificeThis=Do you want to sacrifice {0}? #SetStateEffect.java lblFaceDownCardCantTurnFaceUp=Face-down card can''t turn face up #ShuffleEffect.java diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 6660d6da765..e9fb223b9a0 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -1988,6 +1988,7 @@ lblPlayerRolledResult={0} lanzó {1} lblDoYouWantPayEcho=¿Quieres pagar Eco lblPayEcho=Pagar Eco lblDoYouWantSacrifice=¿Quieres sacrificar? +lblDoYouWantSacrificeThis=¿Quieres sacrificar {0}? #SetStateEffect.java lblFaceDownCardCantTurnFaceUp=La carta boca abajo no se puede girar boca arriba #ShuffleEffect.java diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index b2361fa154d..1191cd414f2 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -1987,6 +1987,7 @@ lblPlayerRolledResult={0} ha ottenuto {1} col dado lblDoYouWantPayEcho=Vuoi pagare Eco lblPayEcho=Paga Eco lblDoYouWantSacrifice=Vuoi sacrificare? +lblDoYouWantSacrifice=Vuoi sacrificare {0}? #SetStateEffect.java lblFaceDownCardCantTurnFaceUp=La carta a faccia in giù non può essere girata a faccia in su #ShuffleEffect.java diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index 8cf6a18b242..d3c850f7b1f 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -1987,6 +1987,7 @@ lblPlayerRolledResult={0}が {1}をロールしました lblDoYouWantPayEcho=エコーコストを支払いますか: lblPayEcho=エコーコストを支払います lblDoYouWantSacrifice=生け贄にしますか? +lblDoYouWantSacrificeThis=Do you want to sacrifice {0}? #SetStateEffect.java lblFaceDownCardCantTurnFaceUp=裏向きのカードが表向きにできません #ShuffleEffect.java diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 304b7d07bd1..cc468c7df1f 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -1991,6 +1991,7 @@ lblPlayerRolledResult={0}掷骰结果为{1} lblDoYouWantPayEcho=你想支付返响费用 lblPayEcho=支付返响费用 lblDoYouWantSacrifice=你想牺牲吗? +lblDoYouWantSacrificeThis=Do you want to sacrifice {0}? #SetStateEffect.java lblFaceDownCardCantTurnFaceUp=面朝下的牌不能面朝上 #ShuffleEffect.java From bb8252fe449cd22b018bde62ab77871e54f58c5a Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 5 Nov 2021 21:21:52 -0400 Subject: [PATCH 08/30] fixup bad () --- .../main/java/forge/game/ability/effects/SacrificeEffect.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java index 231e417cacc..e09f48a01b6 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java @@ -108,7 +108,7 @@ public class SacrificeEffect extends SpellAbilityEffect { if (valid.equals("Self") && game.getZoneOf(card) != null) { if (game.getZoneOf(card).is(ZoneType.Battlefield)) { if (!optional || activator.getController().confirmAction(sa, null, - Localizer.getInstance().getMessage("lblDoYouWantSacrificeThis"), card.getName())) { + Localizer.getInstance().getMessage("lblDoYouWantSacrificeThis", card.getName()))) { if (game.getAction().sacrifice(card, sa, table, params) != null) { if (remSacrificed) { card.addRemembered(card); From 7828a9318c5301b860afbe26a285be513c381689 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 10:05:08 -0500 Subject: [PATCH 09/30] flourishing_hunter.txt --- .../res/cardsfolder/upcoming/flourishing_hunter.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/flourishing_hunter.txt diff --git a/forge-gui/res/cardsfolder/upcoming/flourishing_hunter.txt b/forge-gui/res/cardsfolder/upcoming/flourishing_hunter.txt new file mode 100644 index 00000000000..dc80d276dbf --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/flourishing_hunter.txt @@ -0,0 +1,9 @@ +Name:Flourishing Hunter +ManaCost:4 G G +Types:Creature Wolf Spirit +PT:6/6 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain life equal to the greatest toughness among other creatures you control. +SVar:TrigGainLife:DB$ GainLife | LifeAmount$ X +SVar:X:Count$GreatestToughness_Creature.YouCtrl+Other +DeckHas:Ability$LifeGain +Oracle:When Flourishing Hunter enters the battlefield, you gain life equal to the greatest toughness among other creatures you control. From a14616fad446c49e0ecc1f9b769a2f902698f3e4 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 10:06:28 -0500 Subject: [PATCH 10/30] dawnhart_disciple.txt --- forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt b/forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt new file mode 100644 index 00000000000..b820d5c1e81 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt @@ -0,0 +1,8 @@ +Name:Dawnhart Disciple +ManaCost:1 G +Types:Creature Human Warlock +PT:2/2 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Human.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever another Human enters the battlefield under your control, CARDNAME gets +1/+1 until end of turn. +SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +1 | NumDef$ +1 +DeckHints:Type$Human +Oracle:Whenever another Human enters the battlefield under your control, Dawnhart Disciple gets +1/+1 until end of turn. From 81ef90055a04092fd4815eef4e9f3bbfcaa69127 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 10:22:28 -0500 Subject: [PATCH 11/30] hungry_ridgewolf.txt --- forge-gui/res/cardsfolder/upcoming/hungry_ridgewolf.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/hungry_ridgewolf.txt diff --git a/forge-gui/res/cardsfolder/upcoming/hungry_ridgewolf.txt b/forge-gui/res/cardsfolder/upcoming/hungry_ridgewolf.txt new file mode 100644 index 00000000000..c4c42694897 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/hungry_ridgewolf.txt @@ -0,0 +1,7 @@ +Name:Hungry Ridgewolf +ManaCost:1 R +Types:Creature Wolf +PT:2/2 +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddKeyword$ Trample | IsPresent$ Wolf.Other+YouCtrl,Werewolf.Other+YouCtrl | Description$ As long as you control another Wolf or Werewolf, CARDNAME gets +1/+0 and has trample. +DeckHints:Type$Wolf|Werewolf +Oracle:As long as you control another Wolf or Werewolf, Hungry Ridgewolf gets +1/+0 and has trample. From 9faff7a7bdcfddf625931b863f64e306da918916 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 10:31:30 -0500 Subject: [PATCH 12/30] kessig_flamebreather.txt --- .../res/cardsfolder/upcoming/kessig_flamebreather.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/kessig_flamebreather.txt diff --git a/forge-gui/res/cardsfolder/upcoming/kessig_flamebreather.txt b/forge-gui/res/cardsfolder/upcoming/kessig_flamebreather.txt new file mode 100644 index 00000000000..7193a5f5f79 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/kessig_flamebreather.txt @@ -0,0 +1,8 @@ +Name:Kessig Flamebreather +ManaCost:1 R +Types:Creature Human Shaman +PT:1/3 +T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a noncreature spell, CARDNAME deals 1 damage to each opponent. +SVar:TrigDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 1 +SVar:BuffedBy:Card.nonLand+nonCreature +Oracle:Whenever you cast a noncreature spell, Kessig Flamebreather deals 1 damage to each opponent. From 1adec9457c2769c1d3160fa346cad0687b6a2346 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 10:48:00 -0500 Subject: [PATCH 13/30] daybreak_combatants.txt --- .../res/cardsfolder/upcoming/daybreak_combatants.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/daybreak_combatants.txt diff --git a/forge-gui/res/cardsfolder/upcoming/daybreak_combatants.txt b/forge-gui/res/cardsfolder/upcoming/daybreak_combatants.txt new file mode 100644 index 00000000000..df753d3951c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/daybreak_combatants.txt @@ -0,0 +1,9 @@ +Name:Daybreak Combatants +ManaCost:2 R +Types:Creature Human Warrior +PT:2/2 +K:Haste +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters the battlefield, target creature gets +2/+0 until end of turn. +SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Pump | NumAtt$ +2 +SVar:PlayMain1:TRUE +Oracle:Haste\nWhen Daybreak Combatants enters the battlefield, target creature gets +2/+0 until end of turn. From 284befd9f0966d785a7779d3c770762ff32ce238 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 10:53:31 -0500 Subject: [PATCH 14/30] courier_bat.txt (Svaldan) --- forge-gui/res/cardsfolder/upcoming/courier_bat.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/courier_bat.txt diff --git a/forge-gui/res/cardsfolder/upcoming/courier_bat.txt b/forge-gui/res/cardsfolder/upcoming/courier_bat.txt new file mode 100644 index 00000000000..d20740bbe80 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/courier_bat.txt @@ -0,0 +1,12 @@ +Name:Courier Bat +ManaCost:2 B +Types:Creature Bat +PT:2/2 +K:Flying +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, if you gained life this turn, return up to one target creature card from your graveyard to your hand. +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Choose up to one target creature card in your graveyard | ValidTgts$ Creature.YouOwn +SVar:X:Count$LifeYouGainedThisTurn +SVar:NeedsToPlayVar:X GE1 +DeckHas:Ability$Graveyard +DeckHints:Ability$LifeGain +Oracle:Flying\nWhen CARDNAME enters the battlefield, if you gained life this turn, return up to one target creature card from your graveyard to your hand. From 62be0b004f02d7dbd315fd2aed8144ca0599128c Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 12:11:14 -0500 Subject: [PATCH 15/30] wretched_throng.txt --- forge-gui/res/cardsfolder/upcoming/wretched_throng.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/wretched_throng.txt diff --git a/forge-gui/res/cardsfolder/upcoming/wretched_throng.txt b/forge-gui/res/cardsfolder/upcoming/wretched_throng.txt new file mode 100644 index 00000000000..81f3d86d2d0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/wretched_throng.txt @@ -0,0 +1,8 @@ +Name:Wretched Throng +ManaCost:1 U +Types:Creature Zombie Horror +PT:2/1 +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME dies, you may search your library for a card named Wretched Throng, reveal it, put it into your hand, then shuffle. +SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.namedWretched Throng | ChangeNum$ 1 | ShuffleNonMandatory$ True +DeckHints:Name$Wretched Throng +Oracle:When Wretched Throng dies, you may search your library for a card named Wretched Throng, reveal it, put it into your hand, then shuffle. From c068d60acbcb338d3d6022b9de96a58c01f9f1b9 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 12:13:16 -0500 Subject: [PATCH 16/30] heron_of_hope.txt --- forge-gui/res/cardsfolder/upcoming/heron_of_hope.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/heron_of_hope.txt diff --git a/forge-gui/res/cardsfolder/upcoming/heron_of_hope.txt b/forge-gui/res/cardsfolder/upcoming/heron_of_hope.txt new file mode 100644 index 00000000000..f9bb88cb89b --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/heron_of_hope.txt @@ -0,0 +1,11 @@ +Name:Heron of Hope +ManaCost:3 W +Types:Creature Bird +PT:2/3 +K:Flying +R:Event$ GainLife | ActiveZones$ Battlefield | ValidPlayer$ You | ReplaceWith$ GainLife | AiLogic$ DoubleLife | Description$ If you would gain life, you gain that much life plus 1 instead. +SVar:GainLife:DB$ ReplaceEffect | VarName$ LifeGained | VarValue$ X +SVar:X:ReplaceCount$LifeGained/Plus.1 +A:AB$ Pump | Cost$ 1 W | Defined$ Self | KW$ Lifelink | SpellDescription$ CARDNAME gains lifelink until end of turn. +DeckHas:Ability$LifeGain +Oracle:Flying\nIf you would gain life, you gain that much life plus 1 instead.\n{1}{W}: Heron of Hope gains lifelink until end of turn. From 654b7dd113e5594acbd41dab4fb5049e3067de8e Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 12:13:24 -0500 Subject: [PATCH 17/30] militia_rallier.txt --- forge-gui/res/cardsfolder/upcoming/militia_rallier.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/militia_rallier.txt diff --git a/forge-gui/res/cardsfolder/upcoming/militia_rallier.txt b/forge-gui/res/cardsfolder/upcoming/militia_rallier.txt new file mode 100644 index 00000000000..e9ecf7aee80 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/militia_rallier.txt @@ -0,0 +1,9 @@ +Name:Militia Rallier +ManaCost:2 W +Types:Creature Human Soldier +PT:3/3 +K:CARDNAME can't attack alone. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigUntap | TriggerDescription$ Whenever CARDNAME attacks, untap target creature. +SVar:TrigUntap:DB$ Untap | ValidTgts$ Creature | TgtPrompt$ Select target creature +SVar:HasAttackEffect:TRUE +Oracle:Militia Rallier can't attack alone.\nWhenever Militia Rallier attacks, untap target creature. From 7b2e0afdcbe4928eed2270f83418b8359834b992 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 14:10:00 -0500 Subject: [PATCH 18/30] wretched_throng.txt remove unneeded --- forge-gui/res/cardsfolder/upcoming/wretched_throng.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/upcoming/wretched_throng.txt b/forge-gui/res/cardsfolder/upcoming/wretched_throng.txt index 81f3d86d2d0..70b3e012793 100644 --- a/forge-gui/res/cardsfolder/upcoming/wretched_throng.txt +++ b/forge-gui/res/cardsfolder/upcoming/wretched_throng.txt @@ -3,6 +3,6 @@ ManaCost:1 U Types:Creature Zombie Horror PT:2/1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME dies, you may search your library for a card named Wretched Throng, reveal it, put it into your hand, then shuffle. -SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.namedWretched Throng | ChangeNum$ 1 | ShuffleNonMandatory$ True +SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.namedWretched Throng | ChangeNum$ 1 DeckHints:Name$Wretched Throng Oracle:When Wretched Throng dies, you may search your library for a card named Wretched Throng, reveal it, put it into your hand, then shuffle. From e203cca97e74eb708be1abdaca1c2e339c666bfa Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 19:44:59 -0500 Subject: [PATCH 19/30] infestation_expert_infested_werewolf.txt --- .../infestation_expert_infested_werewolf.txt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/infestation_expert_infested_werewolf.txt diff --git a/forge-gui/res/cardsfolder/upcoming/infestation_expert_infested_werewolf.txt b/forge-gui/res/cardsfolder/upcoming/infestation_expert_infested_werewolf.txt new file mode 100644 index 00000000000..4a166d768ca --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/infestation_expert_infested_werewolf.txt @@ -0,0 +1,27 @@ +Name:Infestation Expert +ManaCost:4 G +Types:Creature Human Werewolf +PT:3/4 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, create a 1/1 green Insect creature token. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | Secondary$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, create a 1/1 green Insect creature token. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_1_1_insect +K:Daybound +AlternateMode:DoubleFaced +DeckHas:Ability$Token +SVar:HasAttackEffect:TRUE +Oracle:Whenever Infestation Expert enters the battlefield or attacks, create a 1/1 green Insect creature token.\nDaybound (If a player casts no spells during their own turn, it becomes night next turn.) + +ALTERNATE + +Name:Infested Werewolf +ManaCost:no cost +Colors:green +Types:Creature Werewolf +PT:4/5 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, create two 1/1 green Insect creature tokens. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | Secondary$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, create two 1/1 green Insect creature tokens. +SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenScript$ g_1_1_insect +K:Nightbound +DeckHas:Ability$Token +SVar:HasAttackEffect:TRUE +Oracle:Whenever Infested Werewolf enters the battlefield or attacks, create two 1/1 green Insect creature tokens.\nNightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) \ No newline at end of file From 7a1d2a2ce76f3ebc063b279fc2975bcb637be506 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 19:45:13 -0500 Subject: [PATCH 20/30] bloodcrazed_socialite.txt (Svaldan) --- .../cardsfolder/upcoming/bloodcrazed_socialite.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/bloodcrazed_socialite.txt diff --git a/forge-gui/res/cardsfolder/upcoming/bloodcrazed_socialite.txt b/forge-gui/res/cardsfolder/upcoming/bloodcrazed_socialite.txt new file mode 100644 index 00000000000..29da220ad87 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/bloodcrazed_socialite.txt @@ -0,0 +1,13 @@ +Name:Bloodcrazed Socialite +ManaCost:3 B +Types:Creature Vampire +PT:3/3 +K:Menace +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ DBToken | TriggerDescription$ When CARDNAME enters the battlefield, create a Blood token. +SVar:DBToken:DB$ Token | TokenScript$ c_a_blood_draw +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, you may sacrifice a Blood token. If you do, it gets +2/+2 until end of turn. +SVar:TrigPump:AB$ Pump | Cost$ Sac<1/Blood.token/Blood token> | Defined$ Self | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ CARDNAME gets +2/+2 until end of turn. +DeckHas:Ability$Token & Ability$Sacrifice & Type$Blood +DeckHints:Type$Blood +SVar:HasAttackEffect:TRUE +Oracle:Menace\nWhen Bloodcrazed Socialite enters the battlefield, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.")\nWhenever Bloodcrazed Socialite attacks, you may sacrifice a Blood token. If you do, it gets +2/+2 until end of turn. From 43374a3bc272d35031409ed5c11f0efc80fae7a2 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 19:46:30 -0500 Subject: [PATCH 21/30] lambholt_raconteur_lambholt_ravager.txt --- .../lambholt_raconteur_lambholt_ravager.txt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/lambholt_raconteur_lambholt_ravager.txt diff --git a/forge-gui/res/cardsfolder/upcoming/lambholt_raconteur_lambholt_ravager.txt b/forge-gui/res/cardsfolder/upcoming/lambholt_raconteur_lambholt_ravager.txt new file mode 100644 index 00000000000..2f98f74fdf5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/lambholt_raconteur_lambholt_ravager.txt @@ -0,0 +1,23 @@ +Name:Lambholt Raconteur +ManaCost:3 R +Types:Creature Human Werewolf +PT:2/4 +T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever you cast a noncreature spell, CARDNAME deals 1 damage to each opponent. +SVar:TrigDamage:DB$ DealDamage | NumDmg$ 1 | Defined$ Player.Opponent +K:Daybound +AlternateMode:DoubleFaced +SVar:BuffedBy:Card.nonCreature+nonLand +Oracle:Whenever you cast a noncreature spell, Lambholt Raconteur deals 1 damage to each opponent.\nDaybound (If a player casts no spells during their own turn, it becomes night next turn.) + +ALTERNATE + +Name:Lambholt Ravager +ManaCost:no cost +Colors:red +Types:Creature Werewolf +PT:4/4 +T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever you cast a noncreature spell, CARDNAME deals 2 damage to each opponent. +SVar:TrigDamage:DB$ DealDamage | NumDmg$ 2 | Defined$ Player.Opponent +K:Nightbound +SVar:BuffedBy:Card.nonCreature+nonLand +Oracle:Whenever you cast a noncreature spell, Lambholt Ravager deals 2 damage to each opponent.\nNightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) From 9ad5d7f233b1c89d83c4fc8dbef957af46c891b4 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 19:48:36 -0500 Subject: [PATCH 22/30] oakshade_stalker_moonlit_ambusher.txt --- .../oakshade_stalker_moonlit_ambusher.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/oakshade_stalker_moonlit_ambusher.txt diff --git a/forge-gui/res/cardsfolder/upcoming/oakshade_stalker_moonlit_ambusher.txt b/forge-gui/res/cardsfolder/upcoming/oakshade_stalker_moonlit_ambusher.txt new file mode 100644 index 00000000000..505eff46835 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/oakshade_stalker_moonlit_ambusher.txt @@ -0,0 +1,19 @@ +Name:Oakshade Stalker +ManaCost:2 G +Types:Creature Human Ranger Werewolf +PT:3/3 +K:MayFlashCost:2 +K:Daybound +AlternateMode:DoubleFaced +Oracle:You may cast this spell as though it had flash if you pay {2} more to cast it.\nDaybound (If a player casts no spells during their own turn, it becomes night next turn.) + +ALTERNATE + +Name:Moonlit Ambusher +ManaCost:no cost +Colors:green +Types:Creature Werewolf +PT:6/3 +K:Nightbound +Oracle:Nightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) + From 68b04936d6f3296344b4d76f0da7c514cdec44c2 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 19:52:37 -0500 Subject: [PATCH 23/30] wash_away.txt --- forge-gui/res/cardsfolder/upcoming/wash_away.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/wash_away.txt diff --git a/forge-gui/res/cardsfolder/upcoming/wash_away.txt b/forge-gui/res/cardsfolder/upcoming/wash_away.txt new file mode 100644 index 00000000000..63fff204db5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/wash_away.txt @@ -0,0 +1,6 @@ +Name:Wash Away +ManaCost:U +Types:Instant +A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell that wasn't cast from its owner's hand | ValidTgts$ Card.wasNotCastFromHand | SpellDescription$ Counter target spell [that wasn't cast from its owner's hand]. +A:SP$ Counter | Cost$ 1 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | PrecostDesc$ Cleave | CostDesc$ {1}{U}{U} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.) +Oracle:Cleave {1}{U}{U} (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.)\nCounter target spell [that wasn't cast from its owner's hand]. From 00ee1781c2706b5e22b4a8f95d74260788ecfa37 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 19:54:11 -0500 Subject: [PATCH 24/30] ballista_watcher_ballista_wielder.txt (Svaldan) --- .../ballista_watcher_ballista_wielder.txt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/ballista_watcher_ballista_wielder.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ballista_watcher_ballista_wielder.txt b/forge-gui/res/cardsfolder/upcoming/ballista_watcher_ballista_wielder.txt new file mode 100644 index 00000000000..e96b4771c92 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ballista_watcher_ballista_wielder.txt @@ -0,0 +1,21 @@ +Name:Ballista Watcher +ManaCost:2 R R +Types:Creature Human Soldier Werewolf +PT:4/3 +K:Daybound +A:AB$ DealDamage | Cost$ 2 R T | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to any target. +AlternateMode:DoubleFaced +Oracle:{2}{R}, {T}: Ballista Watcher deals 1 damage to any target.\nDaybound (If a player casts no spells during their own turn, it becomes night next turn.) + +ALTERNATE + +Name:Ballista Wielder +ManaCost:no cost +Colors:red +Types:Creature Werewolf +PT:5/5 +K:Nightbound +A:AB$ DealDamage | Cost$ 2 R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 | RememberDamaged$ True | SubAbility$ DBNoBlock | SpellDescription$ CARDNAME deals 1 damage to any target. A creature dealt damage this way can't block this turn. +SVar:DBNoBlock:DB$ Pump | ConditionDefined$ Remembered | ConditionPresent$ Creature | KW$ HIDDEN CARDNAME can't block. | Defined$ Remembered | SubAbility$ DBCleanup | StackDescription$ A creature dealt damage this way can't block this turn. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:{2}{R}: Ballista Wielder deals 1 damage to any target. A creature dealt damage this way can't block this turn.\nNightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) From 851fd355a3b4c80a28defab5352fdf009ee357e3 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 20:33:16 -0500 Subject: [PATCH 25/30] restless_bloodseeker_bloodsoaked_reveler.txt (Svaldan) --- ...stless_bloodseeker_bloodsoaked_reveler.txt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/restless_bloodseeker_bloodsoaked_reveler.txt diff --git a/forge-gui/res/cardsfolder/upcoming/restless_bloodseeker_bloodsoaked_reveler.txt b/forge-gui/res/cardsfolder/upcoming/restless_bloodseeker_bloodsoaked_reveler.txt new file mode 100644 index 00000000000..9704d0d76f1 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/restless_bloodseeker_bloodsoaked_reveler.txt @@ -0,0 +1,27 @@ +Name:Restless Bloodseeker +ManaCost:1 B +Types:Creature Vampire +PT:1/3 +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | CheckSVar$ X | SVarCompare$ GE1 | Execute$ DBToken | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, if you gained life this turn, create a Blood token. +SVar:X:Count$LifeYouGainedThisTurn +SVar:DBToken:DB$ Token | TokenScript$ c_a_blood_draw +A:AB$ SetState | Cost$ Sac<2/Blood.token/Blood token> | Defined$ Self | SorcerySpeed$ True | Mode$ Transform | SpellDescription$ Transform CARDNAME. Activate only as a sorcery. +DeckHas:Ability$Token & Ability$Sacrifice & Type$Blood +DeckNeeds:Ability$LifeGain +AlternateMode:DoubleFaced +Oracle:At the beginning of your end step, if you gained life this turn, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.")\nSacrifice two Blood tokens: Transform Restless Bloodseeker. Activate only as a sorcery. + +ALTERNATE + +Name:Bloodsoaked Reveler +ManaCost:no cost +Colors:black +Types:Creature Vampire +PT:3/3 +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | CheckSVar$ X | Execute$ DBToken | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, if you gained life this turn, create a Blood token. +SVar:X:Count$LifeYouGainedThisTurn +SVar:DBToken:DB$ Token | TokenScript$ c_a_blood_draw +A:AB$ LoseLife | Cost$ 4 B | Defined$ Player.Opponent | LifeAmount$ 2 | SubAbility$ DBGainLife | SpellDescription$ Each opponent loses 2 life and you gain 2 life. +SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 +DeckHas:Ability$LifeGain & Ability$Token & Ability$Sacrifice & Type$Blood +Oracle:At the beginning of your end step, if you gained life this turn, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.")\nSacrifice two Blood tokens: Transform Restless Bloodseeker. Activate only as a sorcery.\n{4}{B}: Each opponent loses 2 life and you gain 2 life. From c1a42f30b9028c673709a3fbb6adf6aec80cf44e Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 20:36:00 -0500 Subject: [PATCH 26/30] katilda_dawnhart_martyr_katildas_rising_dawn.txt (Svaldan) --- ...a_dawnhart_martyr_katildas_rising_dawn.txt | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/katilda_dawnhart_martyr_katildas_rising_dawn.txt diff --git a/forge-gui/res/cardsfolder/upcoming/katilda_dawnhart_martyr_katildas_rising_dawn.txt b/forge-gui/res/cardsfolder/upcoming/katilda_dawnhart_martyr_katildas_rising_dawn.txt new file mode 100644 index 00000000000..997999778c1 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/katilda_dawnhart_martyr_katildas_rising_dawn.txt @@ -0,0 +1,32 @@ +Name:Katilda, Dawnhart Martyr +ManaCost:1 W W +Types:Legendary Creature Spirit Warlock +PT:*/* +K:Flying +K:Lifelink +K:Protection from Vampires +K:Disturb:3 W W +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of permanents you control that are Spirits and/or enchantments. +SVar:X:Count$Valid Spirit.YouCtrl,Enchantment.YouCtrl +SVar:NeedsToPlayVar:X GE2 +SVar:BuffedBy:Enchantment,Spirit +DeckHints:Type$Spirit|Enchantment +DeckHas:Ability$LifeGain & Ability$Graveyard +AlternateMode:DoubleFaced +Oracle:Flying, lifelink, protection from Vampires\nKatilda, Dawnhart Martyr's power and toughness are each equal to the number of permanents you control that are Spirits and/or enchantments.\nDisturb {3}{W}{W} (You may cast this card from your graveyard transformed for its disturb cost.) + +ALTERNATE + +Name:Katilda's Rising Dawn +ManaCost:no cost +Colors:white +Types:Legendary Enchantment Aura +K:Enchant creature +A:SP$ Attach | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Pump +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | AddKeyword$ Flying & Lifelink & Protection from Vampires | Description$ Enchanted creature has flying, lifelink, and protection from Vampires, and it gets +X/+X, where X is the number of permanents you control that are Spirits and/or enchantments. +SVar:X:Count$Valid Spirit.YouCtrl,Enchantment.YouCtrl +SVar:BuffedBy:Enchantment,Spirit +R:Event$ Moved | ValidCard$ Card.Self | Destination$ Graveyard | ReplaceWith$ Exile | Description$ If CARDNAME would be put into a graveyard from anywhere, exile it instead. +SVar:Exile:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard +DeckHas:Ability$LifeGain +Oracle:Enchant creature\nEnchanted creature has flying, lifelink, and protection from Vampires, and it gets +X/+X, where X is the number of permanents you control that are Spirits and/or enchantments.\nIf Katilda's Rising Dawn would be put into a graveyard from anywhere, exile it instead. From 6188b215e49bb0c6a3a25d7205dbaca0e270630e Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 20:36:14 -0500 Subject: [PATCH 27/30] fleeting_spirit.txt (Svaldan) --- .../res/cardsfolder/upcoming/fleeting_spirit.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/fleeting_spirit.txt diff --git a/forge-gui/res/cardsfolder/upcoming/fleeting_spirit.txt b/forge-gui/res/cardsfolder/upcoming/fleeting_spirit.txt new file mode 100644 index 00000000000..69b0fcbd216 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/fleeting_spirit.txt @@ -0,0 +1,11 @@ +Name:Fleeting Spirit +ManaCost:1 W +Types:Creature Spirit +PT:3/1 +A:AB$ Pump | Cost$ W ExileFromGrave<3/Card> | Defined$ Self | KW$ First strike | SpellDescription$ CARDNAME gains first strike until end of turn. +A:AB$ ChangeZone | Cost$ Discard<1/Card> | Defined$ Self | Origin$ Battlefield | Destination$ Exile | SubAbility$ DelTrig | SpellDescription$ Exile CARDNAME. Return it to the battlefield under its owner's control at the beginning of the next end step. +SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | TriggerDescription$ Return CARDNAME to the battlefield under its owner's control at the beginning of the next end step. +SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ Self +AI:RemoveDeck:All +DeckHas:Ability$Discard & Ability$Graveyard +Oracle:{W}, Exile three cards from your graveyard: Fleeting Spirit gains first strike until end of turn.\nDiscard a card: Exile Fleeting Spirit. Return it to the battlefield under its owner's control at the beginning of the next end step. From 44d340ce5d7505718662858c551d319ed74cc0e6 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 22:02:20 -0500 Subject: [PATCH 28/30] cartographers_survey.txt --- forge-gui/res/cardsfolder/upcoming/cartographers_survey.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/cartographers_survey.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cartographers_survey.txt b/forge-gui/res/cardsfolder/upcoming/cartographers_survey.txt new file mode 100644 index 00000000000..fd8e263d25f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cartographers_survey.txt @@ -0,0 +1,5 @@ +Name:Cartographer's Survey +ManaCost:3 G +Types:Sorcery +A:SP$ Dig | DigNum$ 7 | ChangeNum$ 2 | Optional$ True | PrimaryPrompt$ You may choose up to two land cards | ChangeValid$ Land | DestinationZone$ Battlefield | Tapped$ True | RestRandomOrder$ True | StackDescription$ SpellDescription | SpellDescription$ Look at the top seven cards of your library. Put up to two land cards from among them onto the battlefield tapped. Put the rest on the bottom of your library in a random order. +Oracle:Look at the top seven cards of your library. Put up to two land cards from among them onto the battlefield tapped. Put the rest on the bottom of your library in a random order. From 6193445df1980ead43cd0275eb06d5e23df479f0 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 8 Nov 2021 22:02:29 -0500 Subject: [PATCH 29/30] winged_portent.txt --- forge-gui/res/cardsfolder/upcoming/winged_portent.txt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/winged_portent.txt diff --git a/forge-gui/res/cardsfolder/upcoming/winged_portent.txt b/forge-gui/res/cardsfolder/upcoming/winged_portent.txt new file mode 100644 index 00000000000..23ccf101c91 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/winged_portent.txt @@ -0,0 +1,8 @@ +Name:Winged Portent +ManaCost:1 U U +Types:Instant +A:SP$ Draw | NumCards$ X | SpellDescription$ Draw a card for each creature [with flying] you control. +A:SP$ Draw | Cost$ 4 G U | NumCards$ Y | PrecostDesc$ Cleave | CostDesc$ {4}{G}{U} | NonBasicSpell$ True | SpellDescription$ (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.) +SVar:X:Count$Valid Creature.withFlying+YouCtrl +SVar:Y:Count$Valid Creature.YouCtrl +Oracle:Cleave {4}{G}{U} (You may cast this spell for its cleave cost. If you do, remove the words in square brackets.)\nDraw a card for each creature [with flying] you control. From a96d7c81d33bc50ef82994c88678c5a89f951d42 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Tue, 9 Nov 2021 09:07:21 -0500 Subject: [PATCH 30/30] dawnhart_disciple.txt add BuffedBy --- forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt b/forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt index b820d5c1e81..f5b7c088418 100644 --- a/forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt +++ b/forge-gui/res/cardsfolder/upcoming/dawnhart_disciple.txt @@ -5,4 +5,5 @@ PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Human.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever another Human enters the battlefield under your control, CARDNAME gets +1/+1 until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +1 | NumDef$ +1 DeckHints:Type$Human +SVar:BuffedBy:Human Oracle:Whenever another Human enters the battlefield under your control, Dawnhart Disciple gets +1/+1 until end of turn.