diff --git a/forge-gui-desktop/src/test/java/forge/card/CardDbCardMockTestCase.java b/forge-gui-desktop/src/test/java/forge/card/CardDbCardMockTestCase.java index 4622943cafd..db1c5dc71c6 100644 --- a/forge-gui-desktop/src/test/java/forge/card/CardDbCardMockTestCase.java +++ b/forge-gui-desktop/src/test/java/forge/card/CardDbCardMockTestCase.java @@ -48,7 +48,7 @@ public class CardDbCardMockTestCase extends CardMockTestCase { // Get Card From Editions Test fixtures protected final String originalArtShivanDragonEdition = "LEA"; - protected final String latestArtShivanDragonEdition = "P30H"; + protected final String latestArtShivanDragonEdition = "30A"; protected final String latestArtShivanDragonEditionNoPromo = "M20"; protected final String originalArtLightningDragonEdition = "USG"; @@ -654,7 +654,7 @@ public class CardDbCardMockTestCase extends CardMockTestCase { nullCard = this.cardDb.getCardFromEditions(null, preference); assertNull(nullCard); - //P30H Shivan Dragon had 2 treatments, so bumped artIndex to 3 + //30A Shivan Dragon had 2 treatments, so bumped artIndex to 3 shivanNotExistingDragon = this.cardDb.getCardFromEditions(cardNameShivanDragon, preference, 3); assertNull(shivanNotExistingDragon); @@ -1751,11 +1751,11 @@ public class CardDbCardMockTestCase extends CardMockTestCase { Date alphaReleaseDate = null; Date currentDate = Date.from(Instant.now()); - Date latestShivanDragonReleaseDateToDate = null; // latest print to date for Shivan is in P30H + Date latestShivanDragonReleaseDateToDate = null; // latest print to date for Shivan is in 30A try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); alphaReleaseDate = format.parse(alphaEditionReleaseDate); - latestShivanDragonReleaseDateToDate = format.parse("2022-09-09"); + latestShivanDragonReleaseDateToDate = format.parse("2022-11-28"); } catch (ParseException e) { e.printStackTrace(); fail(); diff --git a/forge-gui-desktop/src/test/java/forge/card/CardEditionCollectionCardMockTestCase.java b/forge-gui-desktop/src/test/java/forge/card/CardEditionCollectionCardMockTestCase.java index 92966cf2965..9a6d1cd14de 100644 --- a/forge-gui-desktop/src/test/java/forge/card/CardEditionCollectionCardMockTestCase.java +++ b/forge-gui-desktop/src/test/java/forge/card/CardEditionCollectionCardMockTestCase.java @@ -41,7 +41,7 @@ public class CardEditionCollectionCardMockTestCase extends CardMockTestCase { CardDb cardDb = FModel.getMagicDb().getCommonCards(); String[] cardNames = { "Shivan Dragon", "Animate Wall", "Balance", "Blessing", "Force of Will" }; - String[] expectedSets = { "P30H", "MED", "SLD", "M14", "DMR" }; + String[] expectedSets = { "30A", "30A", "30A", "30A", "DMR" }; List cards = new ArrayList<>(); for (int i = 0; i < 5; i++) { String cardName = cardNames[i]; diff --git a/forge-gui-desktop/src/test/java/forge/deck/DeckRecognizerTest.java b/forge-gui-desktop/src/test/java/forge/deck/DeckRecognizerTest.java index 54cab8fc918..78dca04311b 100644 --- a/forge-gui-desktop/src/test/java/forge/deck/DeckRecognizerTest.java +++ b/forge-gui-desktop/src/test/java/forge/deck/DeckRecognizerTest.java @@ -1214,7 +1214,7 @@ public class DeckRecognizerTest extends CardMockTestCase { assertEquals(cardToken.getQuantity(), 4); assertEquals(tokenCard.getName(), "Power Sink"); assertFalse(tokenCard.isFoil()); - assertEquals(tokenCard.getEdition(), "VMA"); + assertEquals(tokenCard.getEdition(), "30A"); assertTrue(cardToken.cardRequestHasNoCode()); lineRequest = "4x Power Sink+"; @@ -1226,7 +1226,7 @@ public class DeckRecognizerTest extends CardMockTestCase { assertEquals(cardToken.getQuantity(), 4); assertEquals(tokenCard.getName(), "Power Sink"); assertTrue(tokenCard.isFoil()); - assertEquals(tokenCard.getEdition(), "VMA"); + assertEquals(tokenCard.getEdition(), "30A"); assertTrue(cardToken.cardRequestHasNoCode()); lineRequest = "Power Sink+"; @@ -1238,7 +1238,7 @@ public class DeckRecognizerTest extends CardMockTestCase { assertEquals(cardToken.getQuantity(), 1); assertEquals(tokenCard.getName(), "Power Sink"); assertTrue(tokenCard.isFoil()); - assertEquals(tokenCard.getEdition(), "VMA"); + assertEquals(tokenCard.getEdition(), "30A"); assertTrue(cardToken.cardRequestHasNoCode()); } @@ -1268,7 +1268,7 @@ public class DeckRecognizerTest extends CardMockTestCase { tokenCard = cardToken.getCard(); assertEquals(cardToken.getQuantity(), 2); assertEquals(tokenCard.getName(), "Counterspell"); - assertEquals(tokenCard.getEdition(), "MH2"); + assertEquals(tokenCard.getEdition(), "DMR"); assertTrue(cardToken.cardRequestHasNoCode()); } @@ -1593,7 +1593,7 @@ public class DeckRecognizerTest extends CardMockTestCase { //assertEquals(cardToken.getTokenSection(), DeckSection.Main); //fix test since signature spell is allowed on commander section PaperCard tc = cardToken.getCard(); assertEquals(tc.getName(), "Counterspell"); - assertEquals(tc.getEdition(), "MH2"); + assertEquals(tc.getEdition(), "DMR"); assertTrue(cardToken.cardRequestHasNoCode()); // Setting Original Core @@ -1625,7 +1625,7 @@ public class DeckRecognizerTest extends CardMockTestCase { assertEquals(cardToken.getQuantity(), 4); assertEquals(tokenCard.getName(), "Power Sink"); assertTrue(tokenCard.isFoil()); - assertEquals(tokenCard.getEdition(), "VMA"); + assertEquals(tokenCard.getEdition(), "30A"); assertTrue(cardToken.cardRequestHasNoCode()); recognizer.setArtPreference(CardDb.CardArtPreference.ORIGINAL_ART_CORE_EXPANSIONS_REPRINT_ONLY); @@ -1697,7 +1697,7 @@ public class DeckRecognizerTest extends CardMockTestCase { assertEquals(ancestralCard.getName(), "Ancestral Recall"); assertEquals(StaticData.instance().getCommonCards().getCardArtPreference(), CardDb.CardArtPreference.LATEST_ART_ALL_EDITIONS); - assertEquals(ancestralCard.getEdition(), "VMA"); + assertEquals(ancestralCard.getEdition(), "30A"); assertTrue(cardToken.cardRequestHasNoCode()); recognizer.setDeckFormatConstraint(DeckFormat.TinyLeaders); @@ -2325,7 +2325,7 @@ public class DeckRecognizerTest extends CardMockTestCase { assertNotNull(token.getCard()); PaperCard ancestralRecallCard = token.getCard(); assertEquals(ancestralRecallCard.getName(), "Ancestral Recall"); - assertEquals(ancestralRecallCard.getEdition(), "VMA"); + assertEquals(ancestralRecallCard.getEdition(), "30A"); } // === XMage Format @@ -3077,7 +3077,7 @@ public class DeckRecognizerTest extends CardMockTestCase { token = recognizer.recognizeLine(lineRequest, null); assertNotNull(token); assertEquals(token.getType(), TokenType.LEGAL_CARD); - assertEquals(token.getText(), "Ancestral Recall [VMA] #1"); + assertEquals(token.getText(), "Ancestral Recall [30A] #47"); assertNotNull(token.getCard()); assertNotNull(token.getTokenSection()); assertEquals(token.getTokenSection(), DeckSection.Sideboard); @@ -3087,7 +3087,7 @@ public class DeckRecognizerTest extends CardMockTestCase { token = recognizer.recognizeLine(lineRequest, null); assertNotNull(token); assertEquals(token.getType(), TokenType.LEGAL_CARD); - assertEquals(token.getText(), "Ancestral Recall [VMA] #1"); + assertEquals(token.getText(), "Ancestral Recall [30A] #47"); assertNotNull(token.getCard()); assertNotNull(token.getTokenSection()); assertEquals(token.getTokenSection(), DeckSection.Sideboard); @@ -3097,7 +3097,7 @@ public class DeckRecognizerTest extends CardMockTestCase { token = recognizer.recognizeLine(lineRequest, null); assertNotNull(token); assertEquals(token.getType(), TokenType.LEGAL_CARD); - assertEquals(token.getText(), "Ancestral Recall [VMA] #1"); + assertEquals(token.getText(), "Ancestral Recall [30A] #47"); assertNotNull(token.getCard()); assertTrue(token.cardRequestHasNoCode()); diff --git a/forge-gui/res/editions/30th Anniversary Edition.txt b/forge-gui/res/editions/30th Anniversary Edition.txt new file mode 100644 index 00000000000..3420c289735 --- /dev/null +++ b/forge-gui/res/editions/30th Anniversary Edition.txt @@ -0,0 +1,621 @@ +[metadata] +Code=30A +Date=2022-11-28 +Name=30th Anniversary Edition +Type=Collector_Edition +ScryfallCode=30A + +[cards] +1 R Animate Wall @Dan Frazier +2 R Armageddon @Jesper Myrfors +3 R Balance @Mark Poole +4 C Benalish Hero @Douglas Shuler +5 U Black Ward @Dan Frazier +6 R Blaze of Glory @Richard Thomas +7 R Blessing @Julie Baroh +8 U Blue Ward @Dan Frazier +9 U Castle @Dameon Willich +10 C Circle of Protection: Black @Jesper Myrfors +11 C Circle of Protection: Blue @Dameon Willich +12 C Circle of Protection: Green @Sandra Everingham +13 C Circle of Protection: Red @Mark Tedin +14 C Circle of Protection: White @Douglas Shuler +15 U Consecrate Land @Jeff A. Menges +16 U Conversion @Jesper Myrfors +17 C Death Ward @Mark Poole +18 C Disenchant @Amy Weber +19 R Farmstead @Mark Poole +20 U Green Ward @Dan Frazier +21 C Guardian Angel @Anson Maddocks +22 C Healing Salve @Dan Frazier +23 C Holy Armor @Melissa A. Benson +24 C Holy Strength @Anson Maddocks +25 R Island Sanctuary @Mark Poole +26 U Karma @Richard Thomas +27 U Lance @Rob Alexander +28 C Mesa Pegasus @Melissa A. Benson +29 R Northern Paladin @Douglas Shuler +30 C Pearled Unicorn @Cornelius Brudi +31 R Personal Incarnation @Kev Brockschmidt +32 R Purelace @Sandra Everingham +33 U Red Ward @Dan Frazier +34 U Resurrection @Dan Frazier +35 R Reverse Damage @Dameon Willich +36 R Righteousness @Douglas Shuler +37 C Samite Healer @Tom Wänerstrand +38 R Savannah Lions @Daniel Gelon +39 U Serra Angel @Douglas Shuler +40 U Swords to Plowshares @Jeff A. Menges +41 R Veteran Bodyguard @Douglas Shuler +42 U Wall of Swords @Mark Tedin +43 U White Knight @Daniel Gelon +44 U White Ward @Dan Frazier +45 R Wrath of God @Quinton Hoover +46 U Air Elemental @Richard Thomas +47 R Ancestral Recall @Mark Poole +48 U Animate Artifact @Douglas Shuler +49 C Blue Elemental Blast @Richard Thomas +50 R Braingeyser @Mark Tedin +51 U Clone @Julie Baroh +52 U Control Magic @Dameon Willich +53 R Copy Artifact @Amy Weber +54 U Counterspell @Mark Poole +55 C Creature Bond @Anson Maddocks +56 R Drain Power @Douglas Shuler +57 U Feedback @Quinton Hoover +58 C Flight @Anson Maddocks +59 C Invisibility @Anson Maddocks +60 C Jump @Mark Poole +61 U Lifetap @Anson Maddocks +62 R Lord of Atlantis @Melissa A. Benson +63 R Magical Hack @Julie Baroh +64 R Mahamoti Djinn @Dan Frazier +65 R Mana Short @Dameon Willich +66 C Merfolk of the Pearl Trident @Jeff A. Menges +67 U Phantasmal Forces @Mark Poole +68 C Phantasmal Terrain @Dameon Willich +69 U Phantom Monster @Jesper Myrfors +70 R Pirate Ship @Tom Wänerstrand +71 C Power Leak @Drew Tucker +72 C Power Sink @Richard Thomas +73 C Prodigal Sorcerer @Douglas Shuler +74 U Psionic Blast @Douglas Shuler +75 C Psychic Venom @Brian Snõddy +76 C Sea Serpent @Jeff A. Menges +77 U Siren's Call @Anson Maddocks +78 R Sleight of Mind @Mark Poole +79 C Spell Blast @Brian Snõddy +80 R Stasis @Fay Jones +81 U Steal Artifact @Amy Weber +82 R Thoughtlace @Mark Poole +83 R Time Walk @Amy Weber +84 R Timetwister @Mark Tedin +85 C Twiddle @Rob Alexander +86 C Unsummon @Douglas Shuler +87 R Vesuvan Doppelganger @Quinton Hoover +88 R Volcanic Eruption @Douglas Shuler +89 U Wall of Air @Richard Thomas +90 U Wall of Water @Richard Thomas +91 U Water Elemental @Jeff A. Menges +92 U Animate Dead @Anson Maddocks +93 R Bad Moon @Jesper Myrfors +94 U Black Knight @Jeff A. Menges +95 U Bog Wraith @Jeff A. Menges +96 U Cursed Land @Jesper Myrfors +97 C Dark Ritual @Sandra Everingham +98 U Deathgrip @Anson Maddocks +99 R Deathlace @Sandra Everingham +100 R Demonic Hordes @Jesper Myrfors +101 U Demonic Tutor @Douglas Shuler +102 C Drain Life @Douglas Shuler +103 C Drudge Skeletons @Sandra Everingham +104 U Evil Presence @Sandra Everingham +105 C Fear @Mark Poole +106 C Frozen Shade @Douglas Shuler +107 U Gloom @Dan Frazier +108 C Howl from Beyond @Mark Poole +109 U Hypnotic Specter @Douglas Shuler +110 R Lich @Daniel Gelon +111 R Lord of the Pit @Mark Tedin +112 R Mind Twist @Julie Baroh +113 R Nether Shadow @Christopher Rush +114 U Nettling Imp @Quinton Hoover +115 R Nightmare @Melissa A. Benson +116 C Paralyze @Anson Maddocks +117 C Pestilence @Jesper Myrfors +118 C Plague Rats @Anson Maddocks +119 C Raise Dead @Jeff A. Menges +120 R Royal Assassin @Tom Wänerstrand +121 U Sacrifice @Dan Frazier +122 C Scathe Zombies @Jesper Myrfors +123 U Scavenging Ghoul @Jeff A. Menges +124 U Sengir Vampire @Anson Maddocks +125 U Simulacrum @Mark Poole +126 C Sinkhole @Sandra Everingham +127 C Terror @Ron Spencer +128 C Unholy Strength @Douglas Shuler +129 U Wall of Bone @Anson Maddocks +130 R Warp Artifact @Amy Weber +131 C Sol Ring @Mark Tedin +132 R Will-o'-the-Wisp @Jesper Myrfors +133 R Word of Command @Jesper Myrfors +134 R Zombie Master @Jeff A. Menges +135 U Burrowing @Mark Poole +136 R Chaoslace @Dameon Willich +137 C Disintegrate @Anson Maddocks +138 U Dragon Whelp @Amy Weber +139 U Dwarven Demolition Team @Kev Brockschmidt +140 C Dwarven Warriors @Douglas Shuler +141 U Earth Elemental @Dan Frazier +142 R Earthquake @Dan Frazier +143 C False Orders @Anson Maddocks +144 U Fire Elemental @Melissa A. Benson +145 C Fireball @Mark Tedin +146 C Firebreathing @Dan Frazier +147 U Flashfires @Dameon Willich +148 R Fork @Amy Weber +149 U Goblin Balloon Brigade @Andi Rusu +150 R Goblin King @Jesper Myrfors +151 R Granite Gargoyle @Christopher Rush +152 C Gray Ogre @Dan Frazier +153 C Hill Giant @Dan Frazier +154 C Hurloon Minotaur @Anson Maddocks +155 C Ironclaw Orcs @Anson Maddocks +156 U Keldon Warlord @Kev Brockschmidt +157 C Lightning Bolt @Christopher Rush +158 R Mana Flare @Christopher Rush +159 R Manabarbs @Christopher Rush +160 C Mons's Goblin Raiders @Jeff A. Menges +161 U Orcish Artillery @Anson Maddocks +162 U Orcish Oriflamme @Dan Frazier +163 R Power Surge @Douglas Shuler +164 R Raging River @Sandra Everingham +165 C Red Elemental Blast @Richard Thomas +166 R Roc of Kher Ridges @Andi Rusu +167 R Rock Hydra @Jeff A. Menges +168 R Sedge Troll @Dan Frazier +169 C Shatter @Amy Weber +170 R Shivan Dragon @Melissa A. Benson +171 R Smoke @Jesper Myrfors +172 U Stone Giant @Dameon Willich +173 C Stone Rain @Daniel Gelon +174 U Tunnel @Dan Frazier +175 R Two-Headed Giant of Foriys @Anson Maddocks +176 U Uthden Troll @Douglas Shuler +177 U Wall of Fire @Richard Thomas +178 U Wall of Stone @Dan Frazier +179 R Wheel of Fortune @Daniel Gelon +180 R Aspect of Wolf @Jeff A. Menges +181 U Berserk @Dan Frazier +182 R Birds of Paradise @Mark Poole +183 U Camouflage @Jesper Myrfors +184 U Channel @Richard Thomas +185 R Cockatrice @Dan Frazier +186 C Craw Wurm @Daniel Gelon +187 R Elvish Archers @Anson Maddocks +188 R Fastbond @Mark Poole +189 C Fog @Jesper Myrfors +190 R Force of Nature @Douglas Shuler +191 R Fungusaur @Daniel Gelon +192 R Gaea's Liege @Dameon Willich +193 C Giant Growth @Sandra Everingham +194 C Giant Spider @Sandra Everingham +195 C Grizzly Bears @Jeff A. Menges +196 U Hurricane @Dameon Willich +197 U Ice Storm @Dan Frazier +198 U Instill Energy @Dameon Willich +199 C Ironroot Treefolk @Jesper Myrfors +200 R Kudzu @Mark Poole +201 U Ley Druid @Sandra Everingham +202 U Lifeforce @Dameon Willich +203 R Lifelace @Amy Weber +204 R Living Artifact @Anson Maddocks +205 R Living Lands @Jesper Myrfors +206 C Llanowar Elves @Anson Maddocks +207 U Lure @Anson Maddocks +208 R Natural Selection @Mark Poole +209 C Regeneration @Quinton Hoover +210 U Regrowth @Dameon Willich +211 C Scryb Sprites @Amy Weber +212 C Shanodin Dryads @Anson Maddocks +213 C Stream of Life @Mark Poole +214 U Thicket Basilisk @Dan Frazier +215 R Timber Wolves @Melissa A. Benson +216 C Tranquility @Douglas Shuler +217 U Tsunami @Richard Thomas +218 R Verduran Enchantress @Kev Brockschmidt +219 U Wall of Brambles @Anson Maddocks +220 U Wall of Ice @Richard Thomas +221 C Wall of Wood @Mark Tedin +222 U Wanderlust @Cornelius Brudi +223 C War Mammoth @Jeff A. Menges +224 R Web @Rob Alexander +225 C Wild Growth @Mark Poole +226 R Ankh of Mishra @Amy Weber +227 U Basalt Monolith @Jesper Myrfors +228 R Black Lotus @Christopher Rush +229 U Black Vise @Richard Thomas +230 U Celestial Prism @Amy Weber +231 R Chaos Orb @Mark Tedin +232 R Clockwork Beast @Drew Tucker +233 U Conservator @Amy Weber +234 U Copper Tablet @Amy Weber +235 U Crystal Rod @Amy Weber +236 R Cyclopean Tomb @Anson Maddocks +237 R Dingus Egg @Dan Frazier +238 R Disrupting Scepter @Dan Frazier +239 R Forcefield @Dan Frazier +240 R Gauntlet of Might @Christopher Rush +241 U Glasses of Urza @Douglas Shuler +242 R Helm of Chatzuk @Mark Tedin +243 R The Hive @Sandra Everingham +244 R Howling Mine @Mark Poole +245 U Icy Manipulator @Douglas Shuler +246 R Illusionary Mask @Amy Weber +247 U Iron Star @Dan Frazier +248 U Ivory Cup @Anson Maddocks +249 R Jade Monolith @Anson Maddocks +250 U Jade Statue @Dan Frazier +251 R Jayemdae Tome @Mark Tedin +252 U Juggernaut @Dan Frazier +253 R Kormus Bell @Christopher Rush +254 U Library of Leng @Daniel Gelon +255 U Living Wall @Anson Maddocks +256 R Mana Vault @Mark Tedin +257 R Meekstone @Quinton Hoover +258 R Mox Emerald @Dan Frazier +259 R Mox Jet @Dan Frazier +260 R Mox Pearl @Dan Frazier +261 R Mox Ruby @Dan Frazier +262 R Mox Sapphire @Dan Frazier +263 R Nevinyrral's Disk @Mark Tedin +264 U Obsianus Golem @Jesper Myrfors +265 U Rod of Ruin @Christopher Rush +266 C Sol Ring @Mark Tedin +267 U Soul Net @Dameon Willich +268 R Sunglasses of Urza @Dan Frazier +269 U Throne of Bone @Anson Maddocks +270 R Time Vault @Mark Tedin +271 R Winter Orb @Mark Tedin +272 U Wooden Sphere @Mark Tedin +273 R Badlands @Rob Alexander +274 R Bayou @Jesper Myrfors +275 R Plateau @Drew Tucker +276 R Savannah @Rob Alexander +277 R Scrubland @Jesper Myrfors +278 R Taiga @Rob Alexander +279 R Tropical Island @Jesper Myrfors +280 R Tundra @Jesper Myrfors +281 R Underground Sea @Rob Alexander +282 R Volcanic Island @Brian Snõddy +283 L Plains @Jesper Myrfors +284 L Plains @Jesper Myrfors +285 L Plains @Jesper Myrfors +286 L Island @Mark Poole +287 L Island @Mark Poole +288 L Island @Mark Poole +289 L Swamp @Dan Frazier +290 L Swamp @Dan Frazier +291 L Swamp @Dan Frazier +292 L Mountain @Douglas Shuler +293 L Mountain @Douglas Shuler +294 L Mountain @Douglas Shuler +295 L Forest @Christopher Rush +296 L Forest @Christopher Rush +297 L Forest @Christopher Rush +298 R Animate Wall @Dan Frazier +299 R Armageddon @Jesper Myrfors +300 R Balance @Mark Poole +301 C Benalish Hero @Douglas Shuler +302 U Black Ward @Dan Frazier +303 R Blaze of Glory @Richard Thomas +304 R Blessing @Julie Baroh +305 U Blue Ward @Dan Frazier +306 U Castle @Dameon Willich +307 C Circle of Protection: Black @Jesper Myrfors +308 C Circle of Protection: Blue @Dameon Willich +309 C Circle of Protection: Green @Sandra Everingham +310 C Circle of Protection: Red @Mark Tedin +311 C Circle of Protection: White @Douglas Shuler +312 U Consecrate Land @Jeff A. Menges +313 U Conversion @Jesper Myrfors +314 C Death Ward @Mark Poole +315 C Disenchant @Amy Weber +316 R Farmstead @Mark Poole +317 U Green Ward @Dan Frazier +318 C Guardian Angel @Anson Maddocks +319 C Healing Salve @Dan Frazier +320 C Holy Armor @Melissa A. Benson +321 C Holy Strength @Anson Maddocks +322 R Island Sanctuary @Mark Poole +323 U Karma @Richard Thomas +324 U Lance @Rob Alexander +325 C Mesa Pegasus @Melissa A. Benson +326 R Northern Paladin @Douglas Shuler +327 C Pearled Unicorn @Cornelius Brudi +328 R Personal Incarnation @Kev Brockschmidt +329 R Purelace @Sandra Everingham +330 U Red Ward @Dan Frazier +331 U Resurrection @Dan Frazier +332 R Reverse Damage @Dameon Willich +333 R Righteousness @Douglas Shuler +334 C Samite Healer @Tom Wänerstrand +335 R Savannah Lions @Daniel Gelon +336 U Serra Angel @Douglas Shuler +337 U Swords to Plowshares @Jeff A. Menges +338 R Veteran Bodyguard @Douglas Shuler +339 U Wall of Swords @Mark Tedin +340 U White Knight @Daniel Gelon +341 U White Ward @Dan Frazier +342 R Wrath of God @Quinton Hoover +343 U Air Elemental @Richard Thomas +344 R Ancestral Recall @Mark Poole +345 U Animate Artifact @Douglas Shuler +346 C Blue Elemental Blast @Richard Thomas +347 R Braingeyser @Mark Tedin +348 U Clone @Julie Baroh +349 U Control Magic @Dameon Willich +350 R Copy Artifact @Amy Weber +351 U Counterspell @Mark Poole +352 C Creature Bond @Anson Maddocks +353 R Drain Power @Douglas Shuler +354 U Feedback @Quinton Hoover +355 C Flight @Anson Maddocks +356 C Invisibility @Anson Maddocks +357 C Jump @Mark Poole +358 U Lifetap @Anson Maddocks +359 R Lord of Atlantis @Melissa A. Benson +360 R Magical Hack @Julie Baroh +361 R Mahamoti Djinn @Dan Frazier +362 R Mana Short @Dameon Willich +363 C Merfolk of the Pearl Trident @Jeff A. Menges +364 U Phantasmal Forces @Mark Poole +365 C Phantasmal Terrain @Dameon Willich +366 U Phantom Monster @Jesper Myrfors +367 R Pirate Ship @Tom Wänerstrand +368 C Power Leak @Drew Tucker +369 C Power Sink @Richard Thomas +370 C Prodigal Sorcerer @Douglas Shuler +371 U Psionic Blast @Douglas Shuler +372 C Psychic Venom @Brian Snõddy +373 C Sea Serpent @Jeff A. Menges +374 U Siren's Call @Anson Maddocks +375 R Sleight of Mind @Mark Poole +376 C Spell Blast @Brian Snõddy +377 R Stasis @Fay Jones +378 U Steal Artifact @Amy Weber +379 R Thoughtlace @Mark Poole +380 R Time Walk @Amy Weber +381 R Timetwister @Mark Tedin +382 C Twiddle @Rob Alexander +383 C Unsummon @Douglas Shuler +384 R Vesuvan Doppelganger @Quinton Hoover +385 R Volcanic Eruption @Douglas Shuler +386 U Wall of Air @Richard Thomas +387 U Wall of Water @Richard Thomas +388 U Water Elemental @Jeff A. Menges +389 U Animate Dead @Anson Maddocks +390 R Bad Moon @Jesper Myrfors +391 U Black Knight @Jeff A. Menges +392 U Bog Wraith @Jeff A. Menges +393 U Cursed Land @Jesper Myrfors +394 C Dark Ritual @Sandra Everingham +395 U Deathgrip @Anson Maddocks +396 R Deathlace @Sandra Everingham +397 R Demonic Hordes @Jesper Myrfors +398 U Demonic Tutor @Douglas Shuler +399 C Drain Life @Douglas Shuler +400 C Drudge Skeletons @Sandra Everingham +401 U Evil Presence @Sandra Everingham +402 C Fear @Mark Poole +403 C Frozen Shade @Douglas Shuler +404 U Gloom @Dan Frazier +405 C Howl from Beyond @Mark Poole +406 U Hypnotic Specter @Douglas Shuler +407 R Lich @Daniel Gelon +408 R Lord of the Pit @Mark Tedin +409 R Mind Twist @Julie Baroh +410 R Nether Shadow @Christopher Rush +411 U Nettling Imp @Quinton Hoover +412 R Nightmare @Melissa A. Benson +413 C Paralyze @Anson Maddocks +414 C Pestilence @Jesper Myrfors +415 C Plague Rats @Anson Maddocks +416 C Raise Dead @Jeff A. Menges +417 R Royal Assassin @Tom Wänerstrand +418 U Sacrifice @Dan Frazier +419 C Scathe Zombies @Jesper Myrfors +420 U Scavenging Ghoul @Jeff A. Menges +421 U Sengir Vampire @Anson Maddocks +422 U Simulacrum @Mark Poole +423 C Sinkhole @Sandra Everingham +424 C Terror @Ron Spencer +425 C Unholy Strength @Douglas Shuler +426 U Wall of Bone @Anson Maddocks +427 R Warp Artifact @Amy Weber +428 U Sol Ring @Mark Tedin +429 R Will-o'-the-Wisp @Jesper Myrfors +430 R Word of Command @Jesper Myrfors +431 R Zombie Master @Jeff A. Menges +432 U Burrowing @Mark Poole +433 R Chaoslace @Dameon Willich +434 C Disintegrate @Anson Maddocks +435 U Dragon Whelp @Amy Weber +436 U Dwarven Demolition Team @Kev Brockschmidt +437 C Dwarven Warriors @Douglas Shuler +438 U Earth Elemental @Dan Frazier +439 R Earthquake @Dan Frazier +440 C False Orders @Anson Maddocks +441 U Fire Elemental @Melissa A. Benson +442 C Fireball @Mark Tedin +443 C Firebreathing @Dan Frazier +444 U Flashfires @Dameon Willich +445 R Fork @Amy Weber +446 U Goblin Balloon Brigade @Andi Rusu +447 R Goblin King @Jesper Myrfors +448 R Granite Gargoyle @Christopher Rush +449 C Gray Ogre @Dan Frazier +450 C Hill Giant @Dan Frazier +451 C Hurloon Minotaur @Anson Maddocks +452 C Ironclaw Orcs @Anson Maddocks +453 U Keldon Warlord @Kev Brockschmidt +454 C Lightning Bolt @Christopher Rush +455 R Mana Flare @Christopher Rush +456 R Manabarbs @Christopher Rush +457 C Mons's Goblin Raiders @Jeff A. Menges +458 U Orcish Artillery @Anson Maddocks +459 U Orcish Oriflamme @Dan Frazier +460 R Power Surge @Douglas Shuler +461 R Raging River @Sandra Everingham +462 C Red Elemental Blast @Richard Thomas +463 R Roc of Kher Ridges @Andi Rusu +464 R Rock Hydra @Jeff A. Menges +465 R Sedge Troll @Dan Frazier +466 C Shatter @Amy Weber +467 R Shivan Dragon @Melissa A. Benson +468 R Smoke @Jesper Myrfors +469 U Stone Giant @Dameon Willich +470 C Stone Rain @Daniel Gelon +471 U Tunnel @Dan Frazier +472 R Two-Headed Giant of Foriys @Anson Maddocks +473 U Uthden Troll @Douglas Shuler +474 U Wall of Fire @Richard Thomas +475 U Wall of Stone @Dan Frazier +476 R Wheel of Fortune @Daniel Gelon +477 R Aspect of Wolf @Jeff A. Menges +478 U Berserk @Dan Frazier +479 R Birds of Paradise @Mark Poole +480 U Camouflage @Jesper Myrfors +481 U Channel @Richard Thomas +482 R Cockatrice @Dan Frazier +483 C Craw Wurm @Daniel Gelon +484 R Elvish Archers @Anson Maddocks +485 R Fastbond @Mark Poole +486 C Fog @Jesper Myrfors +487 R Force of Nature @Douglas Shuler +488 R Fungusaur @Daniel Gelon +489 R Gaea's Liege @Dameon Willich +490 C Giant Growth @Sandra Everingham +491 C Giant Spider @Sandra Everingham +492 C Grizzly Bears @Jeff A. Menges +493 U Hurricane @Dameon Willich +494 U Ice Storm @Dan Frazier +495 U Instill Energy @Dameon Willich +496 C Ironroot Treefolk @Jesper Myrfors +497 R Kudzu @Mark Poole +498 U Ley Druid @Sandra Everingham +499 U Lifeforce @Dameon Willich +500 R Lifelace @Amy Weber +501 R Living Artifact @Anson Maddocks +502 R Living Lands @Jesper Myrfors +503 C Llanowar Elves @Anson Maddocks +504 U Lure @Anson Maddocks +505 R Natural Selection @Mark Poole +506 C Regeneration @Quinton Hoover +507 U Regrowth @Dameon Willich +508 C Scryb Sprites @Amy Weber +509 C Shanodin Dryads @Anson Maddocks +510 C Stream of Life @Mark Poole +511 U Thicket Basilisk @Dan Frazier +512 R Timber Wolves @Melissa A. Benson +513 C Tranquility @Douglas Shuler +514 U Tsunami @Richard Thomas +515 R Verduran Enchantress @Kev Brockschmidt +516 U Wall of Brambles @Anson Maddocks +517 U Wall of Ice @Richard Thomas +518 C Wall of Wood @Mark Tedin +519 U Wanderlust @Cornelius Brudi +520 C War Mammoth @Jeff A. Menges +521 R Web @Rob Alexander +522 C Wild Growth @Mark Poole +523 R Ankh of Mishra @Amy Weber +524 U Basalt Monolith @Jesper Myrfors +525 R Black Lotus @Christopher Rush +526 U Black Vise @Richard Thomas +527 U Celestial Prism @Amy Weber +528 R Chaos Orb @Mark Tedin +529 R Clockwork Beast @Drew Tucker +530 U Conservator @Amy Weber +531 U Copper Tablet @Amy Weber +532 U Crystal Rod @Amy Weber +533 R Cyclopean Tomb @Anson Maddocks +534 R Dingus Egg @Dan Frazier +535 R Disrupting Scepter @Dan Frazier +536 R Forcefield @Dan Frazier +537 R Gauntlet of Might @Christopher Rush +538 U Glasses of Urza @Douglas Shuler +539 R Helm of Chatzuk @Mark Tedin +540 R The Hive @Sandra Everingham +541 R Howling Mine @Mark Poole +542 U Icy Manipulator @Douglas Shuler +543 R Illusionary Mask @Amy Weber +544 U Iron Star @Dan Frazier +545 U Ivory Cup @Anson Maddocks +546 R Jade Monolith @Anson Maddocks +547 U Jade Statue @Dan Frazier +548 R Jayemdae Tome @Mark Tedin +549 U Juggernaut @Dan Frazier +550 R Kormus Bell @Christopher Rush +551 U Library of Leng @Daniel Gelon +552 U Living Wall @Anson Maddocks +553 R Mana Vault @Mark Tedin +554 R Meekstone @Quinton Hoover +555 R Mox Emerald @Dan Frazier +556 R Mox Jet @Dan Frazier +557 R Mox Pearl @Dan Frazier +558 R Mox Ruby @Dan Frazier +559 R Mox Sapphire @Dan Frazier +560 R Nevinyrral's Disk @Mark Tedin +561 U Obsianus Golem @Jesper Myrfors +562 U Rod of Ruin @Christopher Rush +563 U Sol Ring @Mark Tedin +564 U Soul Net @Dameon Willich +565 R Sunglasses of Urza @Dan Frazier +566 U Throne of Bone @Anson Maddocks +567 R Time Vault @Mark Tedin +568 R Winter Orb @Mark Tedin +569 U Wooden Sphere @Mark Tedin +570 R Badlands @Rob Alexander +571 R Bayou @Jesper Myrfors +572 R Plateau @Drew Tucker +573 R Savannah @Rob Alexander +574 R Scrubland @Jesper Myrfors +575 R Taiga @Rob Alexander +576 R Tropical Island @Jesper Myrfors +577 R Tundra @Jesper Myrfors +578 R Underground Sea @Rob Alexander +579 R Volcanic Island @Brian Snõddy +580 L Plains @Jesper Myrfors +581 L Plains @Jesper Myrfors +582 L Plains @Jesper Myrfors +583 L Island @Mark Poole +584 L Island @Mark Poole +585 L Island @Mark Poole +586 L Swamp @Dan Frazier +587 L Swamp @Dan Frazier +588 L Swamp @Dan Frazier +589 L Mountain @Douglas Shuler +590 L Mountain @Douglas Shuler +591 L Mountain @Douglas Shuler +592 L Forest @Christopher Rush +593 L Forest @Christopher Rush +594 L Forest @Christopher Rush + + +[tokens] +b_1_1_skeleton +b_5_5_demon_flying +c_a_clue_draw +c_a_clue_draw +c_a_treasure_sac +c_a_treasure_sac +c_a_treasure_sac +g_2_2_wolf +g_3_3_beast +u_1_1_bird_flying +u_1_1_human_wizard +w_1_1_human +w_1_1_human_warrior +w_1_1_soldier +wasp +wb_1_1_human_cleric diff --git a/forge-gui/res/editions/30th Anniversary Promos.txt b/forge-gui/res/editions/30th Anniversary Promos.txt index 2589f40f2e3..3dc3f5debd8 100644 --- a/forge-gui/res/editions/30th Anniversary Promos.txt +++ b/forge-gui/res/editions/30th Anniversary Promos.txt @@ -1,17 +1,39 @@ [metadata] Code=P30A Date=2022-09-02 -Name=30th Anniversary Promos +Name=30th Anniversary Play Promos Type=Promo ScryfallCode=P30A [cards] 1 U Serra Angel @Kev Walker -1F R Arcane Signet @Gaboleps -F1★ R Richard Garfield, Ph.D. @Dave Dorman 2 R Ball Lightning @Trevor Claxton 3 R Fyndhorn Elves @Igor Kieryluk 4 R Wall of Roots @Matt Stewart 5 R Wood Elves @Rebecca Guay 6 R Windfall @Pete Venters 7 R Loyal Retainers @Solomon Au Yeung +8 R Kor Haven @Mark Poole +9 R Vindicate @Karla Ortiz +10 R Exalted Angel @Tyler Jacobson +11 R Temple of the False God @Brian Snõddy +12 R Eternal Witness @Scott M. Fischer +13 R Chord of Calling @Karl Kopinski +14 R Niv-Mizzet, the Firemind @Daarken +15 R Tarmogoyf @Ryan Barger +16 R Glen Elendra Archmage @Warren Mahy +17 U Acidic Slime @Karl Kopinski +18 R Terastodon @Lars Grant-West +19 R Hornet Queen @Martina Pilcerova +20 R Harvester of Souls @Thomas M. Baxa +21 M Kalonian Hydra @Chris Rahn +22 R Goblin Rabblemaster @Svetlin Velinov +23 M Dragonlord Atarka @Greg Staples +24 R Dramatic Reversal @Eric Deschamps +25 R Path of Ancestry @Alayna Danner +26 R Beast Whisperer @Pete Venters +27 R Dovin's Veto @Drew Tucker +28 R Vito, Thorn of the Dusk Rose @Lie Setiawan +29 R Deadly Dispute @Irina Nordsol +1F R Arcane Signet @Gaboleps +F1★ R Richard Garfield, Ph.D. @Dave Dorman diff --git a/forge-gui/res/editions/Alchemy Dominaria.txt b/forge-gui/res/editions/Alchemy Dominaria.txt index 1b116cc8655..73b36748831 100644 --- a/forge-gui/res/editions/Alchemy Dominaria.txt +++ b/forge-gui/res/editions/Alchemy Dominaria.txt @@ -6,14 +6,33 @@ Type=Online ScryfallCode=YDMU [cards] -0 M Oracle of the Alpha @Nino Vecia -0 R Skywriter Djinn @Gaboleps -0 U Diminished Returner @Bruno Biazotto -0 R Smogbelcher Chariot @Michele Giorgi -0 U Goblin Morale Sergent @Inkognit -0 M Marwyyn's Kindred @Alessandra Pisano -0 U Wandering Treefolk @Iris Compiet -0 R Niambi, Beloved Protector @Julia Metzger -0 M Protean Warengine @Ben Wootten -0 R Tiana, Angel Mechanic @Joseph Weston -0 R Slimefoot, Thallid Transplant @Loïc Canavaggia +1 U Benalish Knight-Counselor @Paolo Parente +2 R Priest of Possibility @Nicholas Elias +3 U Pull of the Mist Moon @Titus Lunter +4 M Oracle of the Alpha @Nino Vecia +5 R Skywriter Djinn @Gaboleps +6 U Trove Mage @Nino Vecia +7 U Vesuvan Mist @Monztre +8 U Darigaaz's Whelp @Brian Valeza +9 U Diminished Returner @Bruno Biazotto +10 M Reezug, the Bonecobbler @stoicHua +11 R Smogbelcher Chariot @Michele Giorgi +12 R Ghitu Embercoiler @Jason Rainville +13 R Goblin Influx Array @Jennie Kim +14 U Goblin Morale Sergeant @Inkognit +15 U Spellchain Scatter @Michele Giorgi +16 M Marwyn's Kindred @Alessandra Pisano +17 R Nantuko Slicer @Simon Dominic +18 U Vinesoul Spider @David Astruga +19 U Wandering Treefolk @Iris Compiet +20 R Arvad, Weatherlight Smuggler @Maaz Ali Khan +21 R Bloodsprout Talisman @Pete Venters +22 M Darigaaz, Shivan Champion @Andrew Mar +23 R Juggernaut Peddler @Monztre +24 R Niambi, Beloved Protector @Julia Metzger +25 M Protean War Engine @Ben Wootten +26 R Slimefoot, Thallid Transplant @Loïc Canavaggia +27 R Teferi's Contingency @Milivoj Ćeran +28 R Tiana, Angelic Mechanic @Joseph Weston +29 R Vodalian Tide Mage @Joseph Weston +30 R Coalition Construct @Artur Treffner diff --git a/forge-gui/res/editions/Dominaria Remastered.txt b/forge-gui/res/editions/Dominaria Remastered.txt index 195166d6392..b246f9206d0 100644 --- a/forge-gui/res/editions/Dominaria Remastered.txt +++ b/forge-gui/res/editions/Dominaria Remastered.txt @@ -8,9 +8,24 @@ Type=Reprint ScryfallCode=DMR [cards] +31 U Swords to Plowshares @Jesper Ejsing 50 M Force of Will @Donato Giancola +69 M Time Stretch @Dominik Mayer +139 R Sneak Attack @Jerry Tiritilli 149 R Arboria @Uriah Voth +151 R Birds of Paradise @Mark Poole +227 R Jester's Cap @Jesper Ejsing +275 U Swords to Plowshares @Jesper Ejsing 284 M Force of Will @Donato Giancola +294 M Time Stretch @Dominik Mayer +331 R Sneak Attack @Jerry Tiritilli 335 R Arboria @Uriah Voth +336 R Birds of Paradise @Mark Poole +371 U Tatyova, Benthic Druid @Mathias Kollros +381 R Jester's Cap @Jesper Ejsing 418 M Force of Will @Richard Kane Ferguson +422 M Time Stretch @Dermot Power 438 R Arboria @Dave Kendall +439 R Birds of Paradise @Darrell Riche +449 R Jester's Cap @Matt Cavotta +457 R Counterspell @Mark Poole diff --git a/forge-gui/res/editions/Regional Championship Qualifiers 2023.txt b/forge-gui/res/editions/Regional Championship Qualifiers 2023.txt new file mode 100644 index 00000000000..3779baa2f62 --- /dev/null +++ b/forge-gui/res/editions/Regional Championship Qualifiers 2023.txt @@ -0,0 +1,11 @@ +[metadata] +Code=PR23 +Date=2023-01-01 +Name=Regional Championship Qualifiers 2023 +Type=Promo +ScryfallCode=PR23 + +[cards] +1 R Mystical Dispute @Brigitte Roka +2 M Snapcaster Mage @Jack Hughes +3 R Thing in the Ice @Brandi Milne diff --git a/forge-gui/res/editions/Secret Lair 30th Anniversary Countdown Kit.txt b/forge-gui/res/editions/Secret Lair 30th Anniversary Countdown Kit.txt new file mode 100644 index 00000000000..e97af155170 --- /dev/null +++ b/forge-gui/res/editions/Secret Lair 30th Anniversary Countdown Kit.txt @@ -0,0 +1,15 @@ +[metadata] +Code=SLC +Date=2022-11-01 +Name=Secret Lair 30th Anniversary Countdown Kit +Type=Collector_Edition +ScryfallCode=SLC + +[cards] +1995 M Necropotence @Rafal Wechterowicz +2003 M Chrome Mox @Dan Frazier +2009 U Bloodbraid Elf @Ejiwa "Edge" Ebenebe +2011 R Birthing Pod @Wooden Cyclops +2013 M Elspeth, Sun's Champion @Rebecca Guay +2017 M Nicol Bolas, God-Pharaoh @Uta Natsume +2020 R Shark Typhoon @Edgar Sánchez Hidalgo diff --git a/forge-gui/res/editions/The Brothers War Retro Artifacts.txt b/forge-gui/res/editions/The Brothers War Retro Artifacts.txt index 22340ea441b..d6bc50e4532 100644 --- a/forge-gui/res/editions/The Brothers War Retro Artifacts.txt +++ b/forge-gui/res/editions/The Brothers War Retro Artifacts.txt @@ -7,14 +7,14 @@ ScryfallCode=BRR [cards] 20 R Howling Mine @Mark Poole -21 U Ivory Tower @Jason Chan +23 U Ivory Tower @Jason Chan 24 C Jalum Tome @Jerry Tiritilli 29 R Lodestone Golem @Chris Rahn 40 R Phyrexian Revoker @Kev Walker -61 M Wurmcoil Engine @Raymond Swanland +63 M Wurmcoil Engine @Raymond Swanland 83 R Howling Mine @Mark Poole 86 U Ivory Tower @Irina Nordsol 87 U Jalum Tome @Ben Hill 92 R Lodestone Golem @Chris Rahn -103 R Phyrexian Revoker @Kev Walker -123 M Wurmcoil Engine @Raymond Swanland +103 R Phyrexian Revoker @Yeong-Hao Han +126 M Wurmcoil Engine @Raymond Swanland diff --git a/forge-gui/res/editions/The Brothers War.txt b/forge-gui/res/editions/The Brothers War.txt index 50b0538854d..90348dc29b5 100644 --- a/forge-gui/res/editions/The Brothers War.txt +++ b/forge-gui/res/editions/The Brothers War.txt @@ -10,6 +10,8 @@ ScryfallCode=BRO [cards] 23 U Recruitment Officer @Johan Grenier 81 M Surge Engine @Daarken +163 R Phyrexian Dragon Engine @Chris Rahn +216 M Mishra, Claimed by Gix @Chris Rahn 218 R Queen Kayla bin-Kroog @Cristi Balanescu 225 M Urza, Lord Protector @Ryan Pancoast 238 R The Mightstone and Weakstone @Ryan Pancoast diff --git a/forge-gui/res/editions/Warhammer 40,000.txt b/forge-gui/res/editions/Warhammer 40,000.txt index c570b3a8672..fe6848b7a18 100644 --- a/forge-gui/res/editions/Warhammer 40,000.txt +++ b/forge-gui/res/editions/Warhammer 40,000.txt @@ -270,7 +270,7 @@ ScryfallCode=40K 262 C Wayfarer's Bauble @Ivan Dedov 263 U Worn Powerstone @David Sondered 264 U Arcane Sanctum @Games Workshop -265 C Ash Barrens @Sergei Leoluch Panin +265 U Ash Barrens @Sergei Leoluch Panin 266 U Barren Moor @Rafater 267 C Cave of Temptation @Teodora Dumitriu 268 R Choked Estuary @LiXin Yin