From 2b941bcbfbfbcea26c862e8f4545f10eebdcf4db Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sun, 24 Sep 2023 12:20:20 +0200 Subject: [PATCH 1/6] LTC 8 cards (#3803) --- .../java/forge/game/ability/AbilityUtils.java | 14 +++++++++++--- .../StaticAbilityCantGainLosePayLife.java | 5 +++-- .../upcoming/anduril_narsil_reforged.txt | 12 ++++++++++++ .../upcoming/aragorn_hornburg_hero.txt | 10 ++++++++++ .../cardsfolder/upcoming/arboreal_alliance.txt | 11 +++++++++++ .../upcoming/call_forth_the_tempest.txt | 8 ++++++++ .../cardsfolder/upcoming/courageous_resolve.txt | 10 ++++++++++ .../cardsfolder/upcoming/fell_beast_of_mordor.txt | 15 +++++++++++++++ .../cardsfolder/upcoming/fell_beasts_shriek.txt | 11 +++++++++++ .../cardsfolder/upcoming/galadhrim_brigade.txt | 9 +++++++++ 10 files changed, 100 insertions(+), 5 deletions(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/anduril_narsil_reforged.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/aragorn_hornburg_hero.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/arboreal_alliance.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/call_forth_the_tempest.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/courageous_resolve.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/fell_beast_of_mordor.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/fell_beasts_shriek.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/galadhrim_brigade.txt diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index 03aeea78abc..15d9a8c98e8 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -2672,17 +2672,25 @@ public class AbilityUtils { // Count$ThisTurnCast // Count$LastTurnCast if (sq[0].startsWith("ThisTurnCast") || sq[0].startsWith("LastTurnCast")) { - final String[] workingCopy = l[0].split("_"); + String[] paidparts = l[0].split("\\$", 2); + final String[] workingCopy = paidparts[0].split("_"); final String validFilter = workingCopy[1]; - List res = Lists.newArrayList(); + List res; if (workingCopy[0].contains("This")) { res = CardUtil.getThisTurnCast(validFilter, c, ctb, player); } else { res = CardUtil.getLastTurnCast(validFilter, c, ctb, player); } - return doXMath(res.size(), expr, c, ctb); + int num; + if (paidparts.length > 1) { + num = handlePaid(res, paidparts[1], c, ctb); + } else { + num = res.size(); + } + + return doXMath(num, expr, c, ctb); } // Count$ThisTurnEntered [from ] diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantGainLosePayLife.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantGainLosePayLife.java index 6932981cb0f..18b61e12e7f 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantGainLosePayLife.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantGainLosePayLife.java @@ -9,6 +9,7 @@ import forge.game.zone.ZoneType; public class StaticAbilityCantGainLosePayLife { static String MODE_CANT_GAIN_LIFE = "CantGainLife"; + static String MODE_CANT_LOSE_LIFE = "CantLoseLife"; static String MODE_CANT_CHANGE_LIFE = "CantChangeLife"; static String MODE_CANT_PAY_LIFE = "CantPayLife"; @@ -36,7 +37,7 @@ public class StaticAbilityCantGainLosePayLife { final Game game = player.getGame(); for (final Card ca : game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) { for (final StaticAbility stAb : ca.getStaticAbilities()) { - if (!stAb.checkConditions(MODE_CANT_CHANGE_LIFE)) { + if (!(stAb.checkMode(MODE_CANT_LOSE_LIFE) || stAb.checkMode(MODE_CANT_CHANGE_LIFE))) { continue; } @@ -53,7 +54,7 @@ public class StaticAbilityCantGainLosePayLife { final Game game = player.getGame(); for (final Card ca : game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) { for (final StaticAbility stAb : ca.getStaticAbilities()) { - if (!(stAb.checkMode(MODE_CANT_PAY_LIFE) || stAb.checkMode(MODE_CANT_CHANGE_LIFE))) { + if (!(stAb.checkMode(MODE_CANT_PAY_LIFE) || stAb.checkMode(MODE_CANT_LOSE_LIFE) || stAb.checkMode(MODE_CANT_CHANGE_LIFE))) { continue; } diff --git a/forge-gui/res/cardsfolder/upcoming/anduril_narsil_reforged.txt b/forge-gui/res/cardsfolder/upcoming/anduril_narsil_reforged.txt new file mode 100644 index 00000000000..2dadc75eb60 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/anduril_narsil_reforged.txt @@ -0,0 +1,12 @@ +Name:Anduril, Narsil Reforged +ManaCost:2 +Types:Legendary Artifact Equipment +K:Ascend +T:Mode$ Attacks | ValidCard$ Creature.EquippedBy | Execute$ TrigCounter | TriggerDescription$ Whenever equipped creature attacks, put a +1/+1 counter on each creature you control. If you have the city's blessing, put two +1/+1 counters on each creature you control instead. +SVar:TrigCounter:DB$ PutCounterAll | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ X +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ AE +SVar:X:Count$Blessing.2.1 +K:Equip:3 +SVar:AE:SVar:HasAttackEffect:TRUE +DeckHas:Ability$Counters +Oracle:Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.)\nWhenever equipped creature attacks, put a +1/+1 counter on each creature you control. If you have the city's blessing, put two +1/+1 counters on each creature you control instead.\nEquip {3} \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/aragorn_hornburg_hero.txt b/forge-gui/res/cardsfolder/upcoming/aragorn_hornburg_hero.txt new file mode 100644 index 00000000000..c605777c9c4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/aragorn_hornburg_hero.txt @@ -0,0 +1,10 @@ +Name:Aragorn, Hornburg Hero +ManaCost:1 R G W +Types:Legendary Creature Human Soldier +PT:4/4 +S:Mode$ Continuous | Affected$ Creature.attacking+YouCtrl | AddKeyword$ First Strike & Renown:1 | Description$ Attacking creatures you control have first strike and renown 1. (When a creature with renown 1 deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) +T:Mode$ DamageDone | ValidSource$ Creature.IsRenowned+YouCtrl | Execute$ TrigDouble | CombatDamage$ True | ValidTarget$ Player | TriggerZones$ Battlefield | TriggerDescription$ Whenever a renowned creature you control deals combat damage to a player, double the number of +1/+1 counters on it. +SVar:TrigDouble:DB$ MultiplyCounter | Defined$ TriggeredSourceLKICopy | CounterType$ P1P1 +DeckHas:Ability$Counters +DeckHints:Ability$Counters +Oracle:Attacking creatures you control have first strike and renown 1. (When a creature with renown 1 deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.)\nWhenever a renowned creature you control deals combat damage to a player, double the number of +1/+1 counters on it. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/arboreal_alliance.txt b/forge-gui/res/cardsfolder/upcoming/arboreal_alliance.txt new file mode 100644 index 00000000000..449ae779037 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/arboreal_alliance.txt @@ -0,0 +1,11 @@ +Name:Arboreal Alliance +ManaCost:X G G +Types:Enchantment +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create an X/X green Treefolk creature token. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_x_x_treefolk | TokenPower$ X | TokenToughness$ X +SVar:X:Count$xPaid +T:Mode$ AttackersDeclared | ValidAttackers$ Creature.Elf+YouCtrl | Execute$ TrigPopulate | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack with one or more Elves, populate. (Create a token that's a copy of a creature token you control.) +SVar:TrigPopulate:DB$ CopyPermanent | Choices$ Creature.token+YouCtrl | Populate$ True +DeckHas:Ability$Token & Type$Treefolk +DeckHints:Type$Elf +Oracle:When Arboreal Alliance enters the battlefield, create an X/X green Treefolk creature token.\nWhenever you attack with one or more Elves, populate. (Create a token that's a copy of a creature token you control.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/call_forth_the_tempest.txt b/forge-gui/res/cardsfolder/upcoming/call_forth_the_tempest.txt new file mode 100644 index 00000000000..a924f80286d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/call_forth_the_tempest.txt @@ -0,0 +1,8 @@ +Name:Call Forth the Tempest +ManaCost:5 R R R +Types:Sorcery +K:Cascade +K:Cascade +A:SP$ DamageAll | NumDmg$ X | ValidCards$ Creature.OppCtrl | ValidDescription$ each creature your opponents controls | SpellDescription$ CARDNAME deals damage to each creature your opponents control equal to the total mana value of other spells you've cast this turn. +SVar:X:Count$ThisTurnCast_Card.YouCtrl+Other$SumCMC +Oracle:Cascade, cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order. Then do it again.)\nCall Forth the Tempest deals damage to each creature your opponents control equal to the total mana value of other spells you've cast this turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/courageous_resolve.txt b/forge-gui/res/cardsfolder/upcoming/courageous_resolve.txt new file mode 100644 index 00000000000..959634edac5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/courageous_resolve.txt @@ -0,0 +1,10 @@ +Name:Courageous Resolve +ManaCost:2 W +Types:Instant +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select up to one target creature you control | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBDraw | KW$ Protection:Card.ControlledBy Player.PlayerUID_ChosenPlayerUID,Emblem.ControlledBy Player.PlayerUID_ChosenPlayerUID:Protection from ChosenPlayerName | DefinedKW$ Opponent | SpellDescription$ Up to one target creature you control gains protection from each of your opponents until end of turn. Draw a card. (It can't be blocked, targeted, dealt damage, enchanted, or equipped by anything controlled by those players.) +SVar:DBDraw:DB$ Draw | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | StaticAbilities$ STKeepLife,STCantLose | ConditionCheckSVar$ FatefulHour | ConditionSVarCompare$ LE5 | AILogic$ Fog | SpellDescription$ Fateful hour — If you have 5 or less life, you can't lose life this turn, you can't lose the game this turn, and your opponents can't win the game this turn. +SVar:STKeepLife:Mode$ CantLoseLife | ValidPlayer$ You | Description$ You can't lose life this turn. +SVar:STCantLose:Mode$ Continuous | Affected$ You | AddKeyword$ You can't lose the game. & Your opponents can't win the game. | Description$ You can't lose the game. Your opponents can't win the game. +SVar:FatefulHour:Count$YourLifeTotal +Oracle:Up to one target creature you control gains protection from each of your opponents until end of turn. Draw a card. (It can't be blocked, targeted, dealt damage, enchanted, or equipped by anything controlled by those players.)\nFateful hour — If you have 5 or less life, you can't lose life this turn, you can't lose the game this turn, and your opponents can't win the game this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/fell_beast_of_mordor.txt b/forge-gui/res/cardsfolder/upcoming/fell_beast_of_mordor.txt new file mode 100644 index 00000000000..3bd86ddb45d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/fell_beast_of_mordor.txt @@ -0,0 +1,15 @@ +Name:Fell Beast of Mordor +ManaCost:2 B B +Types:Creature Drake Beast +PT:3/3 +K:Flying +K:Devour:1 +T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, target opponent loses X life and you gain X life, where X is the number of +1/+1 counters on it. +T:Mode$ Attacks | ValidCard$ Card.Self | Secondary$ True | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME enters the battlefield or attacks, target opponent loses X life and you gain X life, where X is the number of +1/+1 counters on it. +SVar:TrigLoseLife:DB$ LoseLife | LifeAmount$ X | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBGainLife +SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | Defined$ You +SVar:X:Count$CardCounters.P1P1 +DeckHas:Ability$Sacrifice|Counters|LifeGain +DeckHints:Ability$Counters +SVar:HasAttackEffect:TRUE +Oracle:Flying\nDevour 1 (As this enters the battlefield, you may sacrifice any number of creatures. This creature enters the battlefield with that many +1/+1 counters on it.)\nWhenever Fell Beast of Mordor enters the battlefield or attacks, target opponent loses X life and you gain X life, where X is the number of +1/+1 counters on it. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/fell_beasts_shriek.txt b/forge-gui/res/cardsfolder/upcoming/fell_beasts_shriek.txt new file mode 100644 index 00000000000..887c84c23ae --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/fell_beasts_shriek.txt @@ -0,0 +1,11 @@ +Name:Fell Beast's Shriek +ManaCost:U R +Types:Sorcery +K:Splice:Instant,Sorcery:2 U R +A:SP$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBChoose | SubAbility$ DBTapAll | SpellDescription$ Each opponent chooses a creature they control. Tap and goad the chosen creatures. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.) +SVar:DBChoose:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.RememberedPlayerCtrl | Mandatory$ True | RememberChosen$ True +SVar:DBTapAll:DB$ TapAll | ValidCards$ Creature.IsRemembered | SubAbility$ DBGoad +SVar:DBGoad:DB$ Goad | Defined$ Remembered | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHints:Type$Instant|Sorcery +Oracle:Each opponent chooses a creature they control. Tap and goad the chosen creatures. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.)\nSplice onto instant or sorcery {2}{U}{R} (As you cast an instant or sorcery spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/galadhrim_brigade.txt b/forge-gui/res/cardsfolder/upcoming/galadhrim_brigade.txt new file mode 100644 index 00000000000..0481e24dfef --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/galadhrim_brigade.txt @@ -0,0 +1,9 @@ +Name:Galadhrim Brigade +ManaCost:2 G +Types:Creature Elf Soldier +PT:2/2 +K:Squad:1 G +S:Mode$ Continuous | Affected$ Elf.Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Elves you control get +1/+1. +DeckHas:Ability$Token +DeckHints:Type$Elf +Oracle:Squad {1}{G} (As an additional cost to cast this spell, you may pay any number of times. When this creature enters the battlefield, create that many tokens that are copies of it.)\nOther Elves you control get +1/+1. \ No newline at end of file From 56daed431e502ffd1a1b110b62cb5b31521ff7dc Mon Sep 17 00:00:00 2001 From: paulsnoops Date: Sun, 24 Sep 2023 11:20:44 +0100 Subject: [PATCH 2/6] Edition updates: LTC, LTR, SLD --- .../res/editions/Secret Lair Drop Series.txt | 54 +++ ... Rings Tales of Middle-earth Commander.txt | 121 ++++++ ...ord of the Rings Tales of Middle-earth.txt | 345 ++++++++++++++++++ 3 files changed, 520 insertions(+) diff --git a/forge-gui/res/editions/Secret Lair Drop Series.txt b/forge-gui/res/editions/Secret Lair Drop Series.txt index 869999c7bcf..ddbfb4868d5 100644 --- a/forge-gui/res/editions/Secret Lair Drop Series.txt +++ b/forge-gui/res/editions/Secret Lair Drop Series.txt @@ -709,6 +709,16 @@ ScryfallCode=SLD 734 R Grima Wormtongue @Bakshi Productions 735 R Gaea's Blessing @Ryan Alexander Lee 737 R Mountain Goat @John Darnielle +745 M Ajani Goldmane @Fay Dalton & Scott Okumura +745b M Ajani Goldmane @Fay Dalton & Scott Okumura +746 M Jace Beleren @Fay Dalton & Scott Okumura +746b M Jace Beleren @Fay Dalton & Scott Okumura +747 M Liliana Vess @Fay Dalton & Scott Okumura +747b M Liliana Vess @Fay Dalton & Scott Okumura +748 M Chandra Nalaar @Fay Dalton & Scott Okumura +748b M Chandra Nalaar @Fay Dalton & Scott Okumura +749 M Garruk Wildspeaker @Fay Dalton & Scott Okumura +749b M Garruk Wildspeaker @Fay Dalton & Scott Okumura 900 M The Scarab God @Barely Human 901 R Lightning Bolt @Christopher Rush 1001 M Elspeth, Knight-Errant @Volkan Baǵa @@ -1038,6 +1048,11 @@ ScryfallCode=SLD 1349 C Plains @Rob Alexander 1350 C Plains @Rob Alexander 1351 C Plains @Rob Alexander +1352 R Puresteel Paladin @Fay Dalton +1353 R Vanquish the Horde @Josh Newton +1354 R Zombie Apocalypse @Warren Mahy +1355 M Varina, Lich Queen @Fay Dalton +1356 R Field of the Dead @Warren Mahy 1358 R Mountain @Darrell Riche 1359 R Mountain @Victor Adame Minguez 1360 R Mountain @Mark Zug @@ -1052,6 +1067,16 @@ ScryfallCode=SLD 1369 M Food Chain @Chris Seaman & Scott Okumura 1370 R Rampant Growth @David Robert Hovey & Scott Okumura 1371 M The First Sliver @Svetlin Velinov & Scott Okumura +1372 R Concealed Courtyard @Nino Is +1373 R Spirebluff Canal @Nino Is +1374 R Blooming Marsh @Shahab Alizadeh +1375 R Inspiring Vantage @Shahab Alizadeh +1376 R Botanical Sanctum @Nino Is +1377 M Angel of Serenity @Nephelomancer +1378 R Angel of the Ruins @Fang Xinyu +1379 R Blinding Angel @Helge C. Balzer +1380 R Restoration Angel @Fang Xinyu +1381 M Sublime Archangel @Nephelomancer 1382 R Plains @Gary Baseman 1383 R Island @Gary Baseman 1384 R Swamp @Gary Baseman @@ -1059,6 +1084,11 @@ ScryfallCode=SLD 1386 R Forest @Gary Baseman 1387 M Gisela, the Broken Blade @Scott M. Fischer 1388 R Bruna, the Fading Light @Scott M. Fischer +1399 R Plains @JungShan +1400 R Island @JungShan +1401 R Swamp @JungShan +1402 R Mountain @JungShan +1403 R Forest @JungShan 1404 R Bottomless Pit @Ryan Quickfall 1405 R Necrogen Mists @Ryan Quickfall 1406 R Reassembling Skeleton @Ryan Quickfall @@ -1078,6 +1108,15 @@ ScryfallCode=SLD 1425 R Abrade @TOMO77 1426 R Mass Hysteria @TOMO77 1427 R Terminate @TOMO77 +1444 R Sisay, Weatherlight Captain @Marta Nael +1445 R Silence @Sam Hogg +1446 R Battle of Wits @Anna Pavleeva +1447 R Baral, Chief of Compliance @Dmitry Burmak +1448 R Pack Rat @Nestor Ossandon Leal +1449 R Fynn, the Fangbearer @Magali Villeneuve +1450 R Brion Stoutarm @Lius Lasahido +1451 M Samut, Voice of Dissent @Ekaterina Burmak +1452 R Marchesa, the Black Rose @Andreas Zafiratos 1453 M Ajani Goldmane @Fay Dalton & Scott Okumura 1453b M Ajani Goldmane @Fay Dalton & Scott Okumura 1454 M Jace Beleren @Fay Dalton & Scott Okumura @@ -1088,6 +1127,21 @@ ScryfallCode=SLD 1456b M Chandra Nalaar @Fay Dalton & Scott Okumura 1457 M Garruk Wildspeaker @Fay Dalton & Scott Okumura 1457b M Garruk Wildspeaker @Fay Dalton & Scott Okumura +1458 R Death Baron @Michael Walsh & Scott Okumura +1458b R Death Baron @Michael Walsh & Scott Okumura +1459 R Noxious Ghoul @Jarel Threat & Scott Okumura +1459b R Noxious Ghoul @Jarel Threat & Scott Okumura +1460 R Zombie Master @Andrea De Dominicis & Scott Okumura +1460b R Zombie Master @Andrea De Dominicis & Scott Okumura +1461 M Grimgrin, Corpse-Born @Greg Staples & Scott Okumura +1461b M Grimgrin, Corpse-Born @Greg Staples & Scott Okumura +1462 R Unholy Grotto @Cabrol & Scott Okumura +1462b R Unholy Grotto @Cabrol & Scott Okumura +1468 R Plains @Jubilee +1469 R Island @Jubilee +1470 R Swamp @Jubilee +1471 R Mountain @Jubilee +1472 R Forest @Jubilee F1537 M Applejack @John Thacker F1538 M Fluttershy @Anna Steinbauer F1539 M Pinkie Pie @Rudy Siswanto diff --git a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt index b785373bdf1..76339b6a84e 100644 --- a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt +++ b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt @@ -416,6 +416,86 @@ ScryfallCode=LTC 408 M Sol Ring @Randy Gallegos 409 M Sol Ring @Erikas Perl 410 M Sol Ring @Anastasia Balakchina +411 R Beregond of the Guard @Campbell White +412 R Champions of Minas Tirith @Tatiana Kirgetova +413 R Field-Tested Frying Pan @Nino Is +414 R The Gaffer @Tomas Duchek +415 R Gilraen, Dunedain Protector @Marie Magny +416 R Grey Host Reinforcements @Patrik Hell +417 R Gwaihir, Greatest of the Eagles @Jesper Ejsing +418 R Lossarnach Captain @Justine Cruz +419 R Of Herbs and Stewed Rabbit @Dan Scott +420 R Archivist of Gondor @Wisnu Tan +421 R Corsairs of Umbar @Narendra Bintara Adi +422 R Denethor, Stone Seer @Bruno Biazotto +423 R Fealty to the Realm @Lorenzo Mastroianni +424 R Monstrosity of the Lake @Ben Wootten +425 R Raise the Palisade @Jason Kang +426 R Subjugate the Hobbits @Chris Cold +427 R Trap the Trespassers @Tatiana Kirgetova +428 R Gollum, Obsessed Stalker @John Di Giovanni +429 R Lobelia, Defender of Bag End @Caroline Gariba +430 R Rapacious Guest @Bartłomiej Gaweł +431 R Shelob, Dread Weaver @Warren Mahy +432 R Call for Aid @Nino Is +433 R Cavern-Hoard Dragon @Antonio José Manzanedo +434 R Gimli of the Glittering Caves @Sidharth Chaturvedi +435 R Orcish Siegemaster @Anton Solovianchyk +436 R Rampaging War Mammoth @Simon Dominic +437 R Arwen, Weaver of Hope @Axel Sauerwald +438 R Assemble the Entmoot @Alex Brock +439 R Feasting Hobbit @Lorenzo Mastroianni +440 R Galadhrim Ambush @John Di Giovanni +441 R Haldir, Lorien Lieutenant @Syd Mills +442 R Legolas Greenleaf @Anna Steinbauer +443 R Mirkwood Elk @Christina Kraus +444 R Motivated Pony @Claudiu-Antoniu Magherusan +445 R Prize Pig @Bartłomiej Gaweł +446 R Travel Through Caradhras @Constantin Marin +447 R Windswift Slice @Narendra Bintara Adi +448 M Aragorn, King of Gondor @Eli +449 R The Balrog of Moria @Rudy Siswanto +450 R Banquet Guests @Viko Menezes +451 R Bilbo, Birthday Celebrant @Billy Christian +452 R Boromir, Gondor's Hope @Campbell White +453 R Cirdan the Shipwright @Filipe Pagliuso +454 R Elrond of the White Council @Javier Charro +455 R Eomer, King of Rohan @Leonardo Borazio +456 M Eowyn, Shieldmaiden @Craig Elliott +457 R Erestor of the Council @Syd Mills +458 R Faramir, Steward of Gondor @Anna Podedworna +459 R Farmer Cotton @Tomas Duchek +460 R Forth Eorlingas! @Filipe Pagliuso +461 M Frodo, Adventurous Hobbit @Axel Sauerwald +462 M Galadriel, Elven-Queen @Axel Sauerwald +463 M Gandalf, Westward Voyager @Sidharth Chaturvedi +464 R Grima, Saruman's Footman @Matt Stewart +465 R In the Darkness Bind Them @Lack +466 R Lidless Gaze @Yigit Koroglu +467 R Lord of the Nazgul @Anton Solovianchyk +468 R Merry, Warden of Isengard @Viko Menezes +469 R Mirkwood Trapper @John Di Giovanni +470 R Moria Scavenger @Igor Krstic +471 R Oath of Eorl @Randy Gallegos +472 R Pippin, Warden of Isengard @Viko Menezes +473 R Radagast, Wizard of Wilds @Tomas Duchek +474 R Riders of Rohan @Stanislav Sherbakov +475 R Sail into the West @Leonardo Borazio +476 M Sam, Loyal Attendant @Campbell White +477 M Saruman, the White Hand @Leonardo Borazio +478 M Sauron, Lord of the Rings @Alex Brock +479 R Song of Earendil @Torgeir Fjereide +480 R Summons of Saruman @Svetlin Velinov +481 R Taunt from the Rampart @Lorenzo Mastroianni +482 R Too Greedily, Too Deep @Anton Solovianchyk +483 R Treebeard, Gracious Host @Campbell White +484 R Wake the Dragon @Henry Peters +485 R Crown of Gondor @Jarel Threat +486 R Hithlain Rope @Josu Solano +487 R Lothlorien Blade @Zuzanna Wużyk +488 R Model of Unity @Yuriy Chemezov +489 R Relic of Sauron @Anton Solovianchyk +490 R The Black Gate @Marc Simonetti 491 R Anduril, Narsil Reforged @Jason Rainville 492 M Aragorn, Hornburg Hero @Jason Rainville 493 R Legolas's Quick Reflexes @Jason Rainville @@ -440,9 +520,50 @@ ScryfallCode=LTC 512 R Mordor on the March @Campbell White 513 R Fell Beast of Mordor @Campbell White 514 R Minas Morgul, Dark Fortress @Campbell White +515 R Kenrith, the Returned King @Greg Hildebrandt & Tim Hildebrandt +516 M Ishkanah, Grafwidow @Greg Hildebrandt & Tim Hildebrandt +517 R Doran, the Siege Tower @Greg Hildebrandt & Tim Hildebrandt +518 R Hammerheim @Greg Hildebrandt & Tim Hildebrandt +519 R Urborg @Greg Hildebrandt & Tim Hildebrandt +520 U Soul's Attendant @Greg Hildebrandt & Tim Hildebrandt +521 R Stonehewer Giant @Greg Hildebrandt & Tim Hildebrandt +522 R Worship @Tim Hildebrandt & Greg Hildebrandt 523 R Pact of Negation @Greg Hildebrandt & Tim Hildebrandt +524 R River Kelpie @Greg Hildebrandt & Tim Hildebrandt +525 M Abyssal Persecutor @Greg Hildebrandt & Tim Hildebrandt +526 M Diabolic Intent @Greg Hildebrandt & Tim Hildebrandt +527 U Elvish Harbinger @Greg Hildebrandt & Tim Hildebrandt +528 U Explore @Greg Hildebrandt & Tim Hildebrandt 529 M Seasons Past @Greg Hildebrandt & Tim Hildebrandt +530 R Second Harvest @Greg Hildebrandt & Tim Hildebrandt 531 M Sylvan Tutor @Greg Hildebrandt & Tim Hildebrandt +532 U Tempt with Discovery @Greg Hildebrandt & Tim Hildebrandt +533 R Timber Protector @Greg Hildebrandt & Tim Hildebrandt +534 U Myriad Landscape @Greg Hildebrandt & Tim Hildebrandt +535 R Anduril, Narsil Reforged @Jason Rainville +536 M Aragorn, Hornburg Hero @Jason Rainville +537 R Legolas's Quick Reflexes @Jason Rainville +538 R Gimli's Reckless Might @Jason Rainville +539 R Isengard Unleashed @Jason Rainville +540 R Rohirrim Chargers @Jason Rainville +541 R Arboreal Alliance @Alexander Mokhov +542 M Galadriel, Light of Valinor @Alexander Mokhov +543 R Rally the Galadhrim @Alexander Mokhov +544 R Galadriel's Dismissal @Alexander Mokhov +545 R Mists of Lorien @Alexander Mokhov +546 R Galadhrim Brigade @Alexander Mokhov +547 R Olorin's Searing Light @Matt Stewart +548 R Sorcerous Squall @Matt Stewart +549 R Rammas Echor, Ancient Shield @Matt Stewart +550 R Courageous Resolve @Matt Stewart +551 M Gandalf of the Secret Fire @Matt Stewart +552 R Fell Beast's Shriek @Matt Stewart +553 R Call Forth the Tempest @Campbell White +554 R Nazgul Battle-Mace @Campbell White +555 M Witch-king, Sky Scourge @Campbell White +556 R Mordor on the March @Campbell White +557 R Fell Beast of Mordor @Campbell White +558 R Minas Morgul, Dark Fortress @Campbell White [tokens] b_3_3_wraith_menace diff --git a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt index b6a6451b5e7..44a33775c3e 100644 --- a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt +++ b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt @@ -308,6 +308,11 @@ ScryfallCode=LTR 826 R Warg Rider @Pascal Quidault 827 R Riders of the Mark @Antonio José Manzanedo 828 R Mirkwood Channeler @Irina Nordsol +829 R Eagle of Deliverance @Sidharth Chaturvedi +830 R Minas Tirith Garrison @Irina Nordsol +831 R Warg Rider @Pascal Quidault +832 R Riders of the Mark @Antonio José Manzanedo +833 R Mirkwood Channeler @Irina Nordsol [bundle] 287 M Aragorn and Arwen, Wed @Magali Villeneuve @@ -355,12 +360,277 @@ ScryfallCode=LTR 329 M Sauron, the Dark Lord @Dominik Mayer & Anato Finnstark 330 R Smeagol, Helpful Guide @Andreas Rocha 331 M Tom Bombadil @Marko Manev +452 C Banish from Edoras @Veli Nyström +453 R The Battle of Bywater @Tomas Duchek +454 U Bill the Pony @Christina Kraus +455 R Boromir, Warden of the Tower @Yigit Koroglu +456 M Dawn of a New Age @Anato Finnstark +457 C Dunedain Blade @Jarel Threat +458 C Eagles of the North @Axel Sauerwald +459 C Eastfarthing Farmer @Iga Oliwiak +460 C East-Mark Cavalier @Viko Menezes +461 U Eowyn, Lady of Rohan @Sean Vo +462 C Errand-Rider of Gondor @YW Tang +463 C Escape from Orthanc @Anthony Devine +464 C Esquire of the King @Tyukina Tatiana +465 U Faramir, Field Commander @Sidharth Chaturvedi +466 R Flowering of the White Tree @Erikas Perl +467 C Fog on the Barrow-Downs @Marco Gorlei +468 R Forge Anew @Craig J Spearing +469 R Frodo, Sauron's Bane @Dmitry Burmak 470 M Gandalf the White @Magali Villeneuve +471 C Hobbit's Sting @Viko Menezes +472 U Landroval, Horizon Witness @John Tedrick +473 U Lost to Legend @Kasia 'Kafis' Zielińska +474 C Nimble Hobbit @JB Casacop +475 C Now for Wrath, Now for Ruin! @Valera Lutfullina +476 C Protector of Gondor @Ilker Yildiz +477 U Reprieve @Justyna Dura +478 U Rosie Cotton of South Lane @Claudiu-Antoniu Magherusan +479 U Samwise the Stouthearted @Irvin Rodriguez +480 C Second Breakfast @Christina Kraus +481 U Shire Shirriff @Craig J Spearing +482 C Slip On the Ring @Iga Oliwiak +483 C Soldier of the Grey Host @Chris Cold +484 C Stalwarts of Osgiliath @Lixin Yin +485 U Tale of Tinuviel @Eli +486 C Took Reaper @Tatiana Veryayskaya +487 R War of the Last Alliance @Alexander Forssberg +488 C Westfold Rider @Anastasia Balakchina +489 U You Cannot Pass! @Leonardo Borazio +490 C Arwen's Gift @Wangjie Li +491 U The Bath Song @JB Casacop +492 C Bewitching Leechcraft @Wei Guan +493 U Bill Ferny, Bree Swindler @Hristo D. Chukov +494 C Birthday Escape @David Álvarez +495 R Borne Upon a Wind @Alexander Mokhov +496 C Captain of Umbar @Wei Guan +497 U Council's Deliberation @Viko Menezes +498 C Deceive the Messenger @Tomas Duchek +499 C Dreadful as the Storm @Daniel Correia +500 U Elrond, Lord of Rivendell @Ryan Yee +501 U Gandalf, Friend of the Shire @Dmitry Burmak +502 C Glorious Gale @Ekaterina Burmak +503 R Goldberry, River-Daughter @Marie Magny +504 C Grey Havens Navigator @Henry Peters +505 C Hithlain Knots @Viko Menezes +506 U Horses of the Bruinen @Kasia 'Kafis' Zielińska +507 U Ioreth of the Healing House @Wei Guan +508 C Isolation at Orthanc @Erikas Perl +509 C Ithilien Kingfisher @Alexander Ostrowski +510 C Knights of Dol Amroth @Eelis Kyttanen +511 C Lorien Revealed @Randy Gallegos +512 R Lost Isle Calling @Wangjie Li +513 U Meneldor, Swift Savior @Axel Sauerwald +514 C Nimrodel Watcher @Justyna Dura +515 C Pelargir Survivor @Craig J Spearing +516 R Press the Enemy @Valera Lutfullina +517 R Rangers of Ithilien @Torgeir Fjereide +518 U Saruman the White @Matt Stewart +519 U Saruman's Trickery @Yongjae Choi +520 R Scroll of Isildur @Audrey Benjaminsen +521 C Soothing of Smeagol @Lixin Yin +522 U Stern Scolding @Valera Lutfullina +523 M Storm of Saruman @Lorenzo Lanfranconi +524 C Surrounded by Orcs @Anna Pavleeva +525 C Treason of Isengard @Pavel Kolomeyets +526 M The Watcher in the Water @Chris Cold +527 C Willow-Wind @Ignis Bruno +528 U Bitter Downfall @John Di Giovanni +529 C The Black Breath @Chris Cold +530 R Call of the Ring @Anato Finnstark +531 C Cirith Ungol Patrol @Bruno Biazotto +532 C Claim the Precious @Artur Treffner +533 C Dunland Crebain @Alexander Ostrowski +534 C Easterling Vanguard @Javier Charro +535 U Gollum, Patient Plotter @Lorenzo Mastroianni +536 U Gollum's Bite @Anton Solovianchyk +537 U Gorbag of Minas Morgul @Alex Brock +538 U Gothmog, Morgul Lieutenant @Ilker Yildiz +539 U Grima Wormtongue @Alex Brock +540 U Grond, the Gatebreaker @Ramazan Kazaliev +541 C Haunt of the Dead Marshes @Miklós Ligeti +542 R Isildur's Fateful Strike @John Di Giovanni +543 C Lash of the Balrog @Antonio José Manzanedo +544 R Lobelia Sackville-Baggins @Hristo D. Chukov +545 U March from the Black Gate @Victor Harmatiuk +546 C Mirkwood Bats @John Tedrick +547 C Mordor Muster @Pavel Kolomeyets +548 C Mordor Trebuchet @Alexander Forssberg +549 C Morgul-Knife Wound @Axel Sauerwald +550 C Nasty End @Valera Lutfullina 551 U Nazgul @Igor Krstic +552 U Oath of the Grey Host @Miklós Ligeti +553 R One Ring to Rule Them All @Nino Is 554 R Orcish Bowmasters @Maxim Kostin +555 C Orcish Medicine @Irvin Rodriguez +556 C Sam's Desperate Rescue @Lixin Yin +557 R Sauron, the Necromancer @Yongjae Choi +558 M Shadow of the Enemy @Shahab Alizadeh +559 C Shelob's Ambush @Simon Dominic +560 C Snarling Warg @Tomas Duchek +561 C The Torment of Gollum @Nino Is +562 C Troll of Khazad-dum @Simon Dominic +563 C Uruk-hai Berserker @Victor Harmatiuk +564 U Voracious Fell Beast @John Tedrick +565 M Witch-king of Angmar @Anato Finnstark +566 C Battle-Scarred Goblin @Hristo D. Chukov +567 U Book of Mazarbul @Randy Gallegos +568 C Breaking of the Fellowship @Randy Gallegos +569 C Cast into the Fire @Aurore Folny +570 R Display of Power @Shahab Alizadeh +571 R Eomer, Marshal of Rohan @Jesper Ejsing +572 U Eomer of the Riddermark @John Di Giovanni +573 C Erebor Flamesmith @L J Koh +574 U Erkenbrand, Lord of Westfold @Alexander Mokhov +575 R Fall of Cair Andros @Shahab Alizadeh +576 U Fear, Fire, Foes! @Hristo D. Chukov +577 U Fiery Inscription @John Di Giovanni +578 C Fire of Orthanc @Jeremy Paillotin +579 U Foray of Orcs @Yuriy Chemezov +580 U Gimli, Counter of Kills @Viko Menezes +581 C Gimli's Axe @Pablo Mendoza +582 C Gimli's Fury @John Di Giovanni +583 R Gloin, Dwarf Emissary @Tomas Duchek +584 U Goblin Fireleaper @Javier Charro +585 U Grishnakh, Brash Instigator @Victor Harmatiuk +586 C Haradrim Spearmaster @Maxim Kostin +587 M Hew the Entwood @Manuel Castañón +588 C Improvised Club @Pablo Mendoza +589 R Moria Marauder @Andrea Piparo +590 C Oliphaunt @John Di Giovanni +591 C Olog-hai Crusher @Andrea Piparo +592 C Quarrel's End @Javier Charro +593 C Rally at the Hornburg @Ekaterina Burmak +594 U Ranger's Firebrand @Pavel Kolomeyets +595 C Relentless Rohirrim @John Di Giovanni +596 U Rising of the Day @Wei Guan +597 C Rohirrim Lancer @Anastasia Balakchina +598 C Rush the Room @Warren Mahy +599 C Smite the Deathless @Alexander Mokhov +600 M Spiteful Banditry @Manuel Castañón +601 C Swarming of Moria @Pavel Kolomeyets +602 R There and Back Again @Jarel Threat +603 C Warbeast of Gorgoroth @Oleg Shekhovtsov +604 C Bag End Porter @Daniel Correia +605 C Bombadil's Song @Marie Magny +606 C Brandywine Farmer @Yuriy Chemezov +607 U Celeborn the Wise @Wangjie Li +608 C Chance-Met Elves @Irvin Rodriguez +609 R Delighted Halfling @Inka Schulz +610 U Dunedain Rangers @Eric Wilkerson +611 R Elven Chorus @Anato Finnstark +612 C Elven Farsight @Irina Nordsol +613 C Enraged Huorn @David Álvarez +614 U Entish Restoration @Calder Moore +615 C Ent's Fury @Hristo D. Chukov +616 R Fall of Gil-galad @Craig Elliott +617 R Fangorn, Tree Shepherd @Jesper Ejsing +618 C Galadhrim Bow @Daniel Correia +619 C Galadhrim Guide @Inka Schulz +620 C Generous Ent @Simon Dominic +621 U Gift of Strands @Ignis Bruno +622 U Glorfindel, Dauntless Rescuer @Viko Menezes +623 M Last March of the Ents @John Tedrick +624 R Legolas, Master Archer @Campbell White +625 U Long List of the Ents @Logan Feliciano +626 C Lothlorien Lookout @Daniel Correia +627 C Many Partings @Dmitry Burmak +628 U Meriadoc Brandybuck @Marie Magny +629 C Mirkwood Spider @Alexander Ostrowski +630 C Mirrormere Guardian @Anton Solovianchyk +631 C Mushroom Watchdogs @Alexander Ostrowski +632 U Peregrin Took @Campbell White +633 C Pippin's Bravery @John Tedrick +634 U Quickbeam, Upstart Ent @Tomas Duchek +635 M Radagast the Brown @Alexander Mokhov +636 C Revive the Shire @Craig Elliott +637 R The Ring Goes South @Wangjie Li +638 U Shortcut to Mushrooms @Jonas De Ro +639 C Shower of Arrows @Manuel Castañón +640 U Stew the Coneys @Eelis Kyttanen +641 C Wose Pathfinder @Iga Oliwiak +642 R Aragorn, Company Leader @Eli 643 M Aragorn, the Uniter @Javier Charro +644 M Arwen, Mortal Queen @Miranda Meeks +645 U Arwen Undomiel @Yongjae Choi +646 R The Balrog, Durin's Bane @Kekai Kotaki +647 U Bilbo, Retired Burglar @Anna Pavleeva +648 U Butterbur, Bree Innkeeper @Ryan Yee 649 U Denethor, Ruling Steward @Campbell White +650 R Doors of Durin @Marc Simonetti +651 R Elrond, Master of Healing @Wangjie Li +652 R Eowyn, Fearless Knight @Magali Villeneuve +653 R Faramir, Prince of Ithilien @Tomas Duchek +654 R Flame of Anor @Yigit Koroglu +655 U Friendly Rivalry @Marc Simonetti +656 U Frodo Baggins @Ekaterina Burmak +657 R Galadriel of Lothlorien @Magali Villeneuve +658 R Gandalf the Grey @Aaron Miller +659 U Gandalf's Sanction @Tatiana Veryayskaya +660 R Gimli, Mournful Avenger @Bartłomiej Gaweł +661 U Gwaihir the Windlord @Axel Sauerwald +662 R King of the Oathbreakers @Tatiana Veryayskaya +663 U Legolas, Counter of Kills @Yongjae Choi +664 R Lotho, Corrupt Shirriff @Ilker Yildiz +665 U Mauhur, Uruk-hai Captain @Javier Charro +666 R Merry, Esquire of Rohan @Tomas Duchek +667 U The Mouth of Sauron @Alex Brock +668 U Old Man Willow @Miklós Ligeti +669 R Pippin, Guard of the Citadel @Bartłomiej Gaweł +670 U Prince Imrahil the Fair @Justyna Dura +671 U Ringsight @Campbell White +672 U Rise of the Witch-king @Andrea Piparo +673 R Samwise Gamgee @Ekaterina Burmak +674 M Saruman of Many Colors @Alexander Mokhov +675 M Sauron, the Dark Lord @Kieran Yanner +676 R Sauron's Ransom @Alex Brock +677 U Shadow Summoning @Campbell White +678 U Shadowfax, Lord of Horses @Valera Lutfullina +679 R Shagrat, Loot Bearer @Tatiana Veryayskaya +680 R Sharkey, Tyrant of the Shire @Matt Stewart +681 R Shelob, Child of Ungoliant @Lorenzo Mastroianni +682 R Smeagol, Helpful Guide @Campbell White +683 U Strider, Ranger of the North @Jarel Threat +684 U Theoden, King of Rohan @Kieran Yanner +685 M Tom Bombadil @Dmitry Burmak +686 U Ugluk of the White Hand @Bartłomiej Gaweł +687 M Anduril, Flame of the West @Irvin Rodriguez +688 U Barrow-Blade @Alexander Mokhov +689 U Ent-Draught Basin @Torgeir Fjereide +690 M Glamdring @Andrea Piparo +691 R Horn of Gondor @Yigit Koroglu +692 R Horn of the Mark @Anastasia Balakchina +693 C Inherited Envelope @Ramazan Kazaliev +694 C Lembas @Viko Menezes +695 U Mirror of Galadriel @Kasia 'Kafis' Zielińska +696 R Mithril Coat @Igor Krstic 697 M The One Ring @Veli Nyström +698 M Palantir of Orthanc @Tatiana Veryayskaya +699 R Phial of Galadriel @Andrea Piparo +700 C Shire Scarecrow @Alexander Mokhov +701 R Sting, the Glinting Dagger @Nino Is +702 U Stone of Erech @Jonas De Ro +703 C Wizard's Rockets @Yuriy Chemezov +704 R Barad-dur @Sean Vo +705 C Great Hall of the Citadel @Campbell White +706 U The Grey Havens @Alayna Danner +707 R Minas Tirith @Arthur Yuan +708 R Mines of Moria @Arthur Yuan +709 M Mount Doom @Jonas De Ro +710 R Rivendell @Jonas De Ro +711 R The Shire @Jonas De Ro +712 C Shire Terrace @Jeremy Paillotin +713 L Plains @Deven Rue +714 L Plains @Deven Rue +715 L Island @Deven Rue +716 L Island @Deven Rue +717 L Swamp @Deven Rue +718 L Swamp @Deven Rue +719 L Mountain @Deven Rue +720 L Mountain @Deven Rue +721 L Forest @Deven Rue +722 L Forest @Deven Rue 723 U Nazgul @Wonchun Choi 724 U Nazgul @Chris Cold 725 U Nazgul @Nino Is @@ -369,6 +639,36 @@ ScryfallCode=LTR 728 U Nazgul @Miklós Ligeti 729 U Nazgul @Antonio José Manzanedo 730 U Nazgul @Lorenzo Mastroianni +794 R Boromir, Warden of the Tower @Anato Finnstark +795 U Faramir, Field Commander @Dominik Mayer +796 R Frodo, Sauron's Bane @Andreas Rocha +797 M Gandalf the White @Dominik Mayer +798 U Samwise the Stouthearted @Marko Manev +799 U Elrond, Lord of Rivendell @Anato Finnstark +800 U Gandalf, Friend of the Shire @Marko Manev +801 U Gollum, Patient Plotter @Dominik Mayer +802 R Sauron, the Necromancer @Anato Finnstark +803 M Witch-king of Angmar @Marko Manev +804 U Gimli, Counter of Kills @Dominik Mayer +805 R Legolas, Master Archer @Dominik Mayer +806 U Meriadoc Brandybuck @Marko Manev +807 U Peregrin Took @Anato Finnstark +808 R Aragorn, Company Leader @Eli +809 M Aragorn, the Uniter @Dominik Mayer +810 R Elrond, Master of Healing @Andreas Rocha +811 R Faramir, Prince of Ithilien @Andreas Rocha +812 U Frodo Baggins @Dominik Mayer +813 R Galadriel of Lothlorien @Anato Finnstark +814 R Gandalf the Grey @Anato Finnstark +815 R Gimli, Mournful Avenger @Marko Manev +816 U Legolas, Counter of Kills @Anato Finnstark +817 R Merry, Esquire of Rohan @Dominik Mayer +818 R Pippin, Guard of the Citadel @Anato Finnstark +819 R Samwise Gamgee @Marko Manev +820 M Saruman of Many Colors @Marko Manev +821 M Sauron, the Dark Lord @Dominik Mayer & Anato Finnstark +822 R Smeagol, Helpful Guide @Andreas Rocha +823 M Tom Bombadil @Marko Manev [alternate art] 332 U Nazgul @Wonchun Choi @@ -440,14 +740,32 @@ ScryfallCode=LTR 449 U Samwise the Stouthearted @Marta Nael 450 U Gollum, Patient Plotter @Marta Nael 451 M The One Ring @Marta Nael +731 M Dawn of a New Age @Marlene Yui 732 M Gandalf the White @Micha Huigen +733 M Storm of Saruman @Pedro Correa +734 M The Watcher in the Water @Pedro Correa +735 M Shadow of the Enemy @Davor Gromilović +736 M Witch-king of Angmar @Marlene Yui +737 M Hew the Entwood @ +738 M Spiteful Banditry @ +739 M Last March of the Ents @ +740 M Radagast the Brown @Micha Huigen 741 M Aragorn, the Uniter @Daniel Correia 742 M Arwen, Mortal Queen @Marlene Yui 743 M Saruman of Many Colors @Scott Balmer 744 M Sauron, the Dark Lord @Justine Jones +745 M Tom Bombadil @Micha Huigen +746 M Anduril, Flame of the West @Micha Huigen +747 M Glamdring @ 748 M The One Ring @Justine Jones +749 M Palantir of Orthanc @Marlene Yui 750 M Mount Doom @Justine Jones +751 R Barad-dur @Jonas De Ro +752 R Minas Tirith @Sean Vo 753 R Mines of Moria @Lucas Terryn +754 M Mount Doom @Logan Feliciano +755 R Rivendell @Josu Solano +756 R The Shire @Calder Moore [extended art] 346 R The Battle of Bywater @Tomas Duchek @@ -497,16 +815,43 @@ ScryfallCode=LTR 395 R The Balrog, Flame of Udun @John Tedrick 396 M Sauron, the Lidless Eye @Yigit Koroglu 397 R Bilbo's Ring @Randy Gallegos +757 R The Battle of Bywater @Tomas Duchek +758 M Dawn of a New Age @Anato Finnstark +759 R Flowering of the White Tree @Erikas Perl 760 R Forge Anew @Craig J Spearing +761 R Borne Upon a Wind @Alexander Mokhov +762 R Goldberry, River-Daughter @Marie Magny 763 R Press the Enemy @Valera Lutfullina 764 R Rangers of Ithilien @Torgeir Fjereide 765 M The Watcher in the Water @Chris Cold +766 R Call of the Ring @Anato Finnstark 767 R Isildur's Fateful Strike @John Di Giovanni +768 R Lobelia Sackville-Baggins @Hristo D. Chukov +769 R Display of Power @Shahab Alizadeh 770 R Fall of Cair Andros @Shahab Alizadeh +771 R Gloin, Dwarf Emissary @Tomas Duchek +772 M Hew the Entwood @Manuel Castañón +773 R Moria Marauder @Andrea Piparo +774 R Delighted Halfling @Inka Schulz +775 R Elven Chorus @Anato Finnstark +776 M Radagast the Brown @Alexander Mokhov +777 R The Ring Goes South @Wangjie Li +778 M Arwen, Mortal Queen @Miranda Meeks +779 R Doors of Durin @Marc Simonetti 780 R King of the Oathbreakers @Tatiana Veryayskaya +781 R Lotho, Corrupt Shirriff @Ilker Yildiz +782 R Sauron's Ransom @Alex Brock +783 R Shagrat, Loot Bearer @Tatiana Veryayskaya +784 R Sharkey, Tyrant of the Shire @Matt Stewart 785 R Shelob, Child of Ungoliant @Lorenzo Mastroianni +786 M Anduril, Flame of the West @Irvin Rodriguez 787 M Glamdring @Andrea Piparo +788 R Horn of Gondor @Yigit Koroglu +789 R Horn of the Mark @Anastasia Balakchina +790 R Mithril Coat @Igor Krstic 791 M The One Ring @Veli Nyström +792 M Palantir of Orthanc @Tatiana Veryayskaya +793 R Phial of Galadriel @Andrea Piparo [buy a box] 398 R Trailblazer's Boots @Alexander Gering From 694e085343ee37c93be06c52259262c24eff9464 Mon Sep 17 00:00:00 2001 From: paulsnoops Date: Sun, 24 Sep 2023 11:59:20 +0100 Subject: [PATCH 3/6] artists --- .../The Lord of the Rings Tales of Middle-earth.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt index 44a33775c3e..70cc3665684 100644 --- a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt +++ b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt @@ -746,9 +746,9 @@ ScryfallCode=LTR 734 M The Watcher in the Water @Pedro Correa 735 M Shadow of the Enemy @Davor Gromilović 736 M Witch-king of Angmar @Marlene Yui -737 M Hew the Entwood @ -738 M Spiteful Banditry @ -739 M Last March of the Ents @ +737 M Hew the Entwood @Davor Gromilović +738 M Spiteful Banditry @Micha Huigen +739 M Last March of the Ents @Ian Jepson 740 M Radagast the Brown @Micha Huigen 741 M Aragorn, the Uniter @Daniel Correia 742 M Arwen, Mortal Queen @Marlene Yui @@ -756,7 +756,7 @@ ScryfallCode=LTR 744 M Sauron, the Dark Lord @Justine Jones 745 M Tom Bombadil @Micha Huigen 746 M Anduril, Flame of the West @Micha Huigen -747 M Glamdring @ +747 M Glamdring @Zeb Love 748 M The One Ring @Justine Jones 749 M Palantir of Orthanc @Marlene Yui 750 M Mount Doom @Justine Jones From 8b4881c316ee8ec9eb103c1fbf280d0d3244b3de Mon Sep 17 00:00:00 2001 From: paulsnoops Date: Sun, 24 Sep 2023 12:04:41 +0100 Subject: [PATCH 4/6] token --- forge-gui/res/editions/Secret Lair Drop Series.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/editions/Secret Lair Drop Series.txt b/forge-gui/res/editions/Secret Lair Drop Series.txt index ddbfb4868d5..21cb760132b 100644 --- a/forge-gui/res/editions/Secret Lair Drop Series.txt +++ b/forge-gui/res/editions/Secret Lair Drop Series.txt @@ -1160,6 +1160,7 @@ b_1_1_faerie_rogue_flying b_1_1_faerie_rogue_flying b_1_1_faerie_rogue_flying b_1_1_faerie_rogue_flying +b_2_2_zombie c_a_clue_draw c_a_treasure_sac g_1_1_saproling From 03d5070a74b2825826d03196472f24f0033a61a5 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sun, 24 Sep 2023 16:06:45 +0300 Subject: [PATCH 5/6] - Added puzzle PS_WOE1. (#3813) --- forge-gui/res/puzzle/PS_WOE1.pzl | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 forge-gui/res/puzzle/PS_WOE1.pzl diff --git a/forge-gui/res/puzzle/PS_WOE1.pzl b/forge-gui/res/puzzle/PS_WOE1.pzl new file mode 100644 index 00000000000..1677d78adf8 --- /dev/null +++ b/forge-gui/res/puzzle/PS_WOE1.pzl @@ -0,0 +1,19 @@ +[metadata] +Name:Possibility Storm - Wilds of Eldraine #01 +URL:https://i0.wp.com/www.possibilitystorm.com/wp-content/uploads/2023/09/latest-scaled.jpg?ssl=1 +Goal:Win +Turns:1 +Difficulty:Mythic +Description:Win this turn. Your opponent's Cursed Courtier does not have a Cursed Role attached to it. Begin the puzzle with both graveyards empty. You know the remaining seven cards (it's one of each of the cards you already have access to) in your library, but not their order. Assume your opponent has no creatures remaining in their library. Assume your opponent has no cards in hand. Good luck! +[state] +turn=1 +activeplayer=p0 +activephase=MAIN1 +p0life=20 +p0hand=Bone Splinters;Sleight of Hand;Sleight of Hand;Cruel Somnophage +p0library=Talion, the Kindly Lord;Haunted Ridge;Furnace Strider;Island;Bone Splinters;Sleight of Hand;Cruel Somnophage +p0battlefield=Talion, the Kindly Lord|NoETBTrigs;Furnace Strider|Counters:OIL=2;Island;Island;Island;Island;Haunted Ridge;Haunted Ridge;Haunted Ridge +p1life=8 +p1battlefield=Cursed Courtier +# Randomize the order of cards in the library +humanprecast=Ancestral Knowledge:TrigShuffle From f9fd4ddbd7fea1e0d9035dc9dbe1ccd1de804f1b Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Mon, 25 Sep 2023 05:18:19 +0200 Subject: [PATCH 6/6] LTC 8 cards 23/09 (#3808) * update * Update minas_morgul_dark_fortress.txt * update * Update mists_of_lorien.txt * Update minas_morgul_dark_fortress.txt * Update gandalf_of_the_secret_fire.txt --- .../main/java/forge/game/ability/AbilityUtils.java | 2 +- .../upcoming/galadriel_light_of_valinor.txt | 13 +++++++++++++ .../cardsfolder/upcoming/galadriels_dismissal.txt | 9 +++++++++ .../upcoming/gandalf_of_the_secret_fire.txt | 12 ++++++++++++ .../cardsfolder/upcoming/gimlis_reckless_might.txt | 12 ++++++++++++ .../res/cardsfolder/upcoming/isengard_unleashed.txt | 11 +++++++++++ .../upcoming/legolass_quick_reflexes.txt | 11 +++++++++++ .../upcoming/minas_morgul_dark_fortress.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/mists_of_lorien.txt | 8 ++++++++ 9 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/galadriel_light_of_valinor.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/galadriels_dismissal.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/gandalf_of_the_secret_fire.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/gimlis_reckless_might.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/isengard_unleashed.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/legolass_quick_reflexes.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/minas_morgul_dark_fortress.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/mists_of_lorien.txt diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index 15d9a8c98e8..73c2aa47e7f 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -926,7 +926,7 @@ public class AbilityUtils { if (index >= 0) { char reference = valid.charAt(index + 2); // take whatever goes after EQ if (Character.isLetter(reference)) { - String varName = valid.split(",")[0].split(t)[1].split("\\+")[0]; + String varName = valid.substring(index).split(",")[0].split(t)[1].split("\\+")[0]; if (!sa.getSVar(varName).isEmpty() || source.hasSVar(varName)) { valid = TextUtil.fastReplace(valid, TextUtil.concatNoSpace(t, varName), TextUtil.concatNoSpace(t, Integer.toString(calculateAmount(source, varName, sa)))); diff --git a/forge-gui/res/cardsfolder/upcoming/galadriel_light_of_valinor.txt b/forge-gui/res/cardsfolder/upcoming/galadriel_light_of_valinor.txt new file mode 100644 index 00000000000..abc8637c488 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/galadriel_light_of_valinor.txt @@ -0,0 +1,13 @@ +Name:Galadriel, Light of Valinor +ManaCost:2 G W U +Types:Legendary Creature Elf Noble +PT:3/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigCharm | TriggerDescription$ Alliance — Whenever another creature enters the battlefield under your control, ABILITY +SVar:TrigCharm:DB$ Charm | Choices$ DBRamp,DBPutCounterAll,DBScry | ChoiceRestriction$ ThisTurn | CharmNum$ 1 +SVar:DBRamp:DB$ Mana | Produced$ G | Amount$ 3 | SpellDescription$ Add {G}{G}{G}. +SVar:DBPutCounterAll:DB$ PutCounterAll | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on each creature you control. +SVar:DBScry:DB$ Scry | ScryNum$ 2 | SubAbility$ DBDraw | SpellDescription$ Scry 2, then draw a card. +SVar:DBDraw:DB$ Draw | NumCards$ 1 +SVar:BuffedBy:Creature +DeckHas:Ability$Counters +Oracle:Alliance — Whenever another creature enters the battlefield under your control, choose one that hasn't been chosen this turn —\n• Add {G}{G}{G}.\n• Put a +1/+1 counter on each creature you control.\n• Scry 2, then draw a card. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/galadriels_dismissal.txt b/forge-gui/res/cardsfolder/upcoming/galadriels_dismissal.txt new file mode 100644 index 00000000000..9d5e0a50a71 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/galadriels_dismissal.txt @@ -0,0 +1,9 @@ +Name:Galadriel's Dismissal +ManaCost:W +Types:Instant +K:Kicker:2 W +A:SP$ Phases | ValidTgts$ Creature | TargetMin$ X | TargetMax$ X | IsCurse$ True | SubAbility$ DBPhaseOutAll | SpellDescription$ Target creature phases out. If this spell was kicked, each creature target player controls phases out instead. (Treat phased-out creatures and anything attached to them as though they don't exist until their controller's next turn.) +SVar:DBPhaseOutAll:DB$ Phases | ValidTgts$ Player | TargetMin$ Y | TargetMax$ Y | AllValid$ Creature.TargetedPlayerCtrl | Condition$ Kicked +SVar:X:Count$Kicked.0.1 +SVar:Y:Count$Kicked.1.0 +Oracle:Kicker {2}{W} (You may pay an additional {2}{W} as you cast this spell.)\nTarget creature phases out. If this spell was kicked, each creature target player controls phases out instead. (Treat phased-out creatures and anything attached to them as though they don't exist until their controller's next turn.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/gandalf_of_the_secret_fire.txt b/forge-gui/res/cardsfolder/upcoming/gandalf_of_the_secret_fire.txt new file mode 100644 index 00000000000..49b9cd1d0ab --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/gandalf_of_the_secret_fire.txt @@ -0,0 +1,12 @@ +Name:Gandalf of the Secret Fire +ManaCost:1 U R W +Types:Legendary Creature Avatar Wizard +PT:3/4 +T:Mode$ SpellCast | ValidCard$ Card.wasCastFromYourHandByYou | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OpponentTurn$ True | Execute$ TrigEffect | TriggerDescription$ Whenever you cast an instant or sorcery spell from your hand during an opponent's turn, exile that card with three time counters on it instead of putting it into your graveyard as it resolves. Then if the exiled card doesn't have suspend, it gains suspend. (At the beginning of your upkeep, remove a time counter from that card. When the last is removed, play it without paying its mana cost.) +SVar:TrigEffect:DB$ Effect | ReplacementEffects$ MoveToExileReplace | RememberObjects$ TriggeredCard | ConditionDefined$ TriggeredCard | ConditionPresent$ Card.inZoneStack | ExileOnMoved$ Stack +SVar:MoveToExileReplace:Event$ Moved | ValidCard$ Card.IsRemembered+YouOwn | Origin$ Stack | Destination$ Graveyard | Fizzle$ False | ReplaceWith$ ReplaceExile +SVar:ReplaceExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Stack | Destination$ Exile | RememberChanged$ True | WithCountersType$ TIME | WithCountersAmount$ 3 | SubAbility$ DBPump +SVar:DBPump:DB$ Pump | Defined$ Remembered | ConditionDefined$ Remembered | ConditionPresent$ Card.withoutSuspend | PumpZone$ Exile | KW$ Suspend | Duration$ Permanent | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHints:Type$Instant +Oracle:Whenever you cast an instant or sorcery spell from your hand during an opponent's turn, exile that card with three time counters on it instead of putting it into your graveyard as it resolves. Then if the exiled card doesn't have suspend, it gains suspend. (At the beginning of your upkeep, remove a time counter from that card. When the last is removed, play it without paying its mana cost.) diff --git a/forge-gui/res/cardsfolder/upcoming/gimlis_reckless_might.txt b/forge-gui/res/cardsfolder/upcoming/gimlis_reckless_might.txt new file mode 100644 index 00000000000..644e0f3dfcb --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/gimlis_reckless_might.txt @@ -0,0 +1,12 @@ +Name:Gimli's Reckless Might +ManaCost:3 R +Types:Enchantment +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddKeyword$ Haste | Description$ Creatures you control have haste. +T:Mode$ AttackersDeclared | AttackingPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE8 | Execute$ TrigFight | TriggerDescription$ Formidable — Whenever you attack, if creatures you control have total power 8 or greater, target attacking creature you control fights up to one target creature you don't control. +SVar:TrigFight:DB$ Pump | ValidTgts$ Creature.YouCtrl+attacking | AILogic$ Fight | TgtPrompt$ Select target attacking creature you control | SubAbility$ DBFight +SVar:DBFight:DB$ Fight | Defined$ ParentTarget | ValidTgts$ Creature.YouDontCtrl | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target creature you don't control +SVar:X:Count$SumPower_Creature.YouCtrl +SVar:BuffedBy:Creature +SVar:NonStackingEffect:True +SVar:PlayMain1:TRUE +Oracle:Creatures you control have haste.\nFormidable — Whenever you attack, if creatures you control have total power 8 or greater, target attacking creature you control fights up to one target creature you don't control. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/isengard_unleashed.txt b/forge-gui/res/cardsfolder/upcoming/isengard_unleashed.txt new file mode 100644 index 00000000000..a499e6945de --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/isengard_unleashed.txt @@ -0,0 +1,11 @@ +Name:Isengard Unleashed +ManaCost:2 R R R +Types:Sorcery +A:SP$ Effect | ReplacementEffects$ DamageEvent | StaticAbilities$ STCantPrevent | SpellDescription$ Damage can't be prevented this turn. If a source you control would deal damage this turn to an opponent or a permanent an opponent controls, it deals triple that damage instead. +SVar:STCantPrevent:Mode$ CantPreventDamage | EffectZone$ Command | Description$ Damage can't be prevented this turn. +SVar:DamageEvent:Event$ DamageDone | ValidSource$ Card.YouCtrl,Emblem.YouCtrl | ValidTarget$ Permanent.OppCtrl,Opponent | ReplaceWith$ DmgTrice | Description$ If a source you control would deal damage this turn to an opponent or a permanent an opponent controls, it deals triple that damage instead. +SVar:DmgTrice:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ X +SVar:X:ReplaceCount$DamageAmount/Thrice +SVar:PlayMain1:TRUE +K:Flashback:4 R R R +Oracle:Damage can't be prevented this turn. If a source you control would deal damage this turn to an opponent or a permanent an opponent controls, it deals triple that damage instead.\nFlashback {4}{R}{R}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/legolass_quick_reflexes.txt b/forge-gui/res/cardsfolder/upcoming/legolass_quick_reflexes.txt new file mode 100644 index 00000000000..face7812cfd --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/legolass_quick_reflexes.txt @@ -0,0 +1,11 @@ +Name:Legolas's Quick Reflexes +ManaCost:G +Types:Instant +K:Split Second +A:SP$ Untap | ValidTgts$ Creature | SubAbility$ DBEffect | SpellDescription$ Untap target creature. Until end of turn, it gains hexproof, reach, and "Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature." +SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | StaticAbilities$ PumpStatic +SVar:PumpStatic:Mode$ Continuous | AddKeyword$ Hexproof & Reach | AddTrigger$ BecomesTapped | Affected$ Card.IsRemembered | EffectZone$ Command | Description$ Until end of turn, it gains hexproof, reach, and "Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature.”" +SVar:BecomesTapped:Mode$ Taps | ValidCard$ Card.Self | Execute$ TrigFight | TriggerDescription$ Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature +SVar:TrigFight:DB$ DealDamage | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | AILogic$ PowerDmg | NumDmg$ X | DamageSource$ Self +SVar:X:Count$CardPower +Oracle:Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.)\nUntap target creature. Until end of turn, it gains hexproof, reach, and "Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature." \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/minas_morgul_dark_fortress.txt b/forge-gui/res/cardsfolder/upcoming/minas_morgul_dark_fortress.txt new file mode 100644 index 00000000000..b13dae6e487 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/minas_morgul_dark_fortress.txt @@ -0,0 +1,10 @@ +Name:Minas Morgul, Dark Fortress +ManaCost:no cost +Types:Legendary Land +K:CARDNAME enters the battlefield tapped. +A:AB$ Mana | Cost$ T | Produced$ B | SpellDescription$ Add {B}. +A:AB$ PutCounter | Cost$ 3 B T | ValidTgts$ Creature | CounterType$ Shadow | CounterNum$ 1 | SubAbility$ DBEffect | SpellDescription$ Put a shadow counter on target creature. For as long as that creature has a shadow counter on it, it’s a Wraith in addition to its other types. (A creature with shadow can block or be blocked by only creatures with shadow.) +SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | StaticAbilities$ ShadowStatic | ForgetOnMoved$ Battlefield | ForgetCounter$ Shadow | Duration$ Permanent +SVar:ShadowStatic:Mode$ Continuous | Affected$ Card.IsRemembered | AddType$ Wraith | Description$ For as long as this creature has a shadow counter on it, it's a Wraith in addition to its other types. +DeckHas:Ability$Counters & Type$Wraith +Oracle:Minas Morgul, Dark Fortress enters the battlefield tapped.\n{T}: Add {B}.\n{3}{B}, {T}: Put a shadow counter on target creature. For as long as that creature has a shadow counter on it, it's a Wraith in addition to its other types. (A creature with shadow can block or be blocked by only creatures with shadow.) diff --git a/forge-gui/res/cardsfolder/upcoming/mists_of_lorien.txt b/forge-gui/res/cardsfolder/upcoming/mists_of_lorien.txt new file mode 100644 index 00000000000..7a63e3171b5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mists_of_lorien.txt @@ -0,0 +1,8 @@ +Name:Mists of Lorien +ManaCost:2 U +Types:Sorcery +K:Replicate:U +A:SP$ Pump | ValidTgts$ Permanent.nonLand | StackDescription$ REP target nonland permanent_{c:Targeted} | TgtPrompt$ Select target nonland permanent | SubAbility$ DBChangeZoneAll | SpellDescription$ Return target nonland permanent and each other nonland permanent with the same mana value as that permanent to their owners' hands. +SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Hand | ChangeType$ TargetedCard.Self,Permanent.nonLand+NotDefinedTargeted+cmcEQX +SVar:X:Targeted$CardManaCost +Oracle:Replicate {U} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.)\nReturn target nonland permanent and each other nonland permanent with the same mana value as that permanent to their owners' hands. \ No newline at end of file