diff --git a/projects/mtg/Android/src/org/libsdl/app/SDLActivity.java b/projects/mtg/Android/src/org/libsdl/app/SDLActivity.java index d7fb72d06..593ee1c35 100644 --- a/projects/mtg/Android/src/org/libsdl/app/SDLActivity.java +++ b/projects/mtg/Android/src/org/libsdl/app/SDLActivity.java @@ -110,6 +110,7 @@ public class SDLActivity extends Activity implements OnKeyListener { public static final String kSaveDataPathPreference = "StorageDataLocation"; public static final String kWagicDataStorageOptionsKey = "dataStorageOptions"; public static final int kStorageDataOptionsMenuId = 2000; + public static final int kdownloadResOptionsMenuId = 4000; public static final int kOtherOptionsMenuId = 3000; static { @@ -170,6 +171,7 @@ public class SDLActivity extends Activity implements OnKeyListener { MenuItem downloader; MenuItem about; MenuItem storage; + MenuItem resource; // Handler for the messages Handler commandHandler = new Handler() { @@ -951,6 +953,9 @@ public class SDLActivity extends Activity implements OnKeyListener { about = menu.add(Menu.NONE, 4, 4, "About"); storage = settingsMenu.add(kStorageDataOptionsMenuId, kStorageDataOptionsMenuId, Menu.NONE, "Storage Data Options"); + resource = settingsMenu.add(kdownloadResOptionsMenuId, + kdownloadResOptionsMenuId, Menu.NONE, "Download Core & Quit"); + } @Override @@ -966,6 +971,10 @@ public class SDLActivity extends Activity implements OnKeyListener { if (itemId == kStorageDataOptionsMenuId) { displayStorageOptions(); + } else if (itemId == kdownloadResOptionsMenuId) { + File oldRes = new File(getSystemStorageLocation() + RES_FILENAME); + oldRes.delete(); + startDownload(); } else if (itemId == 2) { importDeckOptions(); } else if (itemId == 3) { @@ -1000,7 +1009,7 @@ public class SDLActivity extends Activity implements OnKeyListener { public void showSettingsSubMenu() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Settings Menu"); - String[] choices = { "Storage Data Options" }; + String[] choices = { "Storage Data Options", "Download Core & Quit" }; builder.setItems(choices, new DialogInterface.OnClickListener() { @Override @@ -1009,6 +1018,9 @@ public class SDLActivity extends Activity implements OnKeyListener { case 0: onOptionsItemSelected(storage); break; + case 1: + onOptionsItemSelected(resource); + break; } } }); @@ -1122,13 +1134,41 @@ public class SDLActivity extends Activity implements OnKeyListener { prepareOptionMenu(null); } + public void forceResDownload(final File oldRes) { + AlertDialog.Builder resChooser = new AlertDialog.Builder(this); + final SDLActivity parent = this; + + resChooser.setTitle("Do you want to download latest core file?"); + + resChooser.setPositiveButton("Yes", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + FrameLayout _videoLayout = new FrameLayout(parent); + setContentView(_videoLayout, + new LayoutParams(LayoutParams.FILL_PARENT, + LayoutParams.FILL_PARENT)); + oldRes.delete(); + startDownload(); + } + }); + + resChooser.setNegativeButton("No", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + mainDisplay(); + } + }); + + resChooser.create().show(); + } + public void initializeGame() { String coreFileLocation = getSystemStorageLocation() + RES_FILENAME; File file = new File(coreFileLocation); if (file.exists()) { - mainDisplay(); + forceResDownload(file); } else { FrameLayout _videoLayout = new FrameLayout(this); setContentView(_videoLayout, diff --git a/projects/mtg/CardImageLinks.csv b/projects/mtg/CardImageLinks.csv index aa758bdbc..658557cd0 100644 --- a/projects/mtg/CardImageLinks.csv +++ b/projects/mtg/CardImageLinks.csv @@ -54829,6 +54829,10 @@ AFR;null;https://cards.scryfall.io/large/front/1/a/1accce8c-7ca4-4cc5-bd8a-26b19 AFR;null;https://cards.scryfall.io/large/front/f/3/f3febf51-6f40-478c-8b71-c529be420ff7.jpg AFR;null;https://cards.scryfall.io/large/front/c/1/c13045ec-27e4-497a-bbc4-134cf46b7b89.jpg AFR;null;https://cards.scryfall.io/large/front/e/a/ea414698-5f87-461b-b1b2-b317b929280f.jpg +CLB;57018400t;https://cards.scryfall.io/large/back/2/c/2c65185b-6cf0-451d-985e-56aa45d9a57d.jpg +CLB;57018401t;https://cards.scryfall.io/large/front/2/c/2c65185b-6cf0-451d-985e-56aa45d9a57d.jpg +CLB;57018400;https://cards.scryfall.io/large/back/2/c/2c65185b-6cf0-451d-985e-56aa45d9a57d.jpg +CLB;57018401;https://cards.scryfall.io/large/front/2/c/2c65185b-6cf0-451d-985e-56aa45d9a57d.jpg CLB;570184;https://cards.scryfall.io/large/front/2/5/25564fba-5765-457b-8dd3-f26b877221b8.jpg CLB;562885;https://cards.scryfall.io/large/front/3/9/396f9198-67b6-45d8-91b4-dc853bff9623.jpg CLB;562886;https://cards.scryfall.io/large/front/4/2/421395b1-2694-42fd-bb90-0007e78adefc.jpg @@ -65837,7 +65841,6 @@ MOC;612494;https://cards.scryfall.io/large/front/d/5/d560c996-ef80-4117-8642-a63 MOC;612495;https://cards.scryfall.io/large/front/7/1/7165a9ac-3f44-4d14-93bb-d4d4970ab41b.jpg MOC;612496;https://cards.scryfall.io/large/front/3/2/323c8de1-f09b-45c5-8942-81cb3a09c803.jpg MOC;612497;https://cards.scryfall.io/large/front/4/6/4676c019-886c-4b0d-9849-c044c0e03da3.jpg -MOC;612497;https://cards.scryfall.io/large/front/4/6/4676c019-886c-4b0d-9849-c044c0e03da3.jpg MOC;612498;https://cards.scryfall.io/large/front/5/4/5446e1ba-c745-45b2-ad05-b22abf04daec.jpg MOC;612499;https://cards.scryfall.io/large/front/b/7/b7bb405a-3643-4b3a-95d2-ea7ac9c6a2ff.jpg MOC;612500;https://cards.scryfall.io/large/front/7/e/7e7d463b-e74e-4ebe-9f92-02ccdeadbf96.jpg @@ -65847,11 +65850,9 @@ MOC;612503;https://cards.scryfall.io/large/front/e/6/e60aaa4e-267c-4909-8abe-414 MOC;612504;https://cards.scryfall.io/large/front/f/c/fce002dc-5fb5-465b-935e-042121f1119d.jpg MOC;612505;https://cards.scryfall.io/large/front/f/a/fad2b56b-bedf-4d8e-8e0c-733946e0731b.jpg MOC;612506;https://cards.scryfall.io/large/front/8/0/80fffad3-2486-4350-8dff-54a215ebfc28.jpg -MOC;612506;https://cards.scryfall.io/large/front/8/0/80fffad3-2486-4350-8dff-54a215ebfc28.jpg MOC;612507;https://cards.scryfall.io/large/front/2/2/221c82a2-b558-4c3a-b7ad-4452ef8e9067.jpg MOC;612508;https://cards.scryfall.io/large/front/3/6/36b1e963-9b8c-4103-abbc-580866f144e7.jpg MOC;612509;https://cards.scryfall.io/large/front/8/4/84c63c27-6095-4fbc-9064-0ef602e1ced8.jpg -MOC;612509;https://cards.scryfall.io/large/front/8/4/84c63c27-6095-4fbc-9064-0ef602e1ced8.jpg MOC;612510;https://cards.scryfall.io/large/front/2/8/281ad1ca-307b-4382-865a-bd2c16ca608f.jpg MOC;612511;https://cards.scryfall.io/large/front/8/6/86f6f3e9-b594-49da-b0af-75a672590da1.jpg MOC;612512;https://cards.scryfall.io/large/front/4/3/43752240-10b1-4920-bb89-e4a4a1e78219.jpg @@ -65859,7 +65860,6 @@ MOC;612513;https://cards.scryfall.io/large/front/a/9/a9861fb3-6722-43b8-bf0a-af6 MOC;612514;https://cards.scryfall.io/large/front/0/9/09bb74d7-dd61-4cce-b88c-ee4d656a97f4.jpg MOC;612515;https://cards.scryfall.io/large/front/b/4/b40aa855-bfa9-4dc8-ab9e-b78385185b81.jpg MOC;612516;https://cards.scryfall.io/large/front/1/c/1cd477f5-53e9-446a-b717-5796d87672ba.jpg -MOC;612516;https://cards.scryfall.io/large/front/1/c/1cd477f5-53e9-446a-b717-5796d87672ba.jpg MOC;612517;https://cards.scryfall.io/large/front/0/3/03f16bbd-00d6-43ed-9a11-ebe7fc65933a.jpg MOC;612518;https://cards.scryfall.io/large/front/5/4/54b5c19e-f50a-4cd1-bf42-e545da7a6b0f.jpg MOC;612519;https://cards.scryfall.io/large/front/3/1/31825ceb-d795-4ad7-81d8-77ab34c272f9.jpg @@ -65920,7 +65920,6 @@ MOC;612573;https://cards.scryfall.io/large/front/c/0/c0ee001b-6ddb-478e-a407-58b MOC;612574;https://cards.scryfall.io/large/front/a/9/a9c61721-3f80-44e6-8a75-08ff609e4470.jpg MOC;612575;https://cards.scryfall.io/large/front/f/4/f402e6d9-8c72-4b31-bec5-4a1b3ffb39ae.jpg MOC;612576;https://cards.scryfall.io/large/front/8/2/82202ac9-7281-4d12-af4e-a8147cc38296.jpg -MOC;612576;https://cards.scryfall.io/large/front/8/2/82202ac9-7281-4d12-af4e-a8147cc38296.jpg MOC;612577;https://cards.scryfall.io/large/front/2/9/29ab3610-342d-4a67-9be8-a7efb89a4b46.jpg MOC;612578;https://cards.scryfall.io/large/front/9/f/9f299f1e-2694-44e6-aad4-1f29c2ee5553.jpg MOC;612579;https://cards.scryfall.io/large/front/1/4/1438d850-1e08-4d75-a79c-d6a4738d5a67.jpg @@ -65932,12 +65931,10 @@ MOC;612584;https://cards.scryfall.io/large/front/e/8/e8c8f35e-faa8-4537-b320-c84 MOC;612585;https://cards.scryfall.io/large/front/9/d/9dbb8991-1b2c-4045-be1f-54286027d4a1.jpg MOC;612586;https://cards.scryfall.io/large/front/7/6/76f344e7-a3a9-44e1-832b-f51dd4ad02f2.jpg MOC;612587;https://cards.scryfall.io/large/front/b/f/bf909dbb-6e49-4556-a37a-2738889915d1.jpg -MOC;612587;https://cards.scryfall.io/large/front/b/f/bf909dbb-6e49-4556-a37a-2738889915d1.jpg MOC;612588;https://cards.scryfall.io/large/front/1/c/1cd2026d-140c-4ad2-8589-9e5e7c23f207.jpg MOC;612589;https://cards.scryfall.io/large/front/b/8/b8a702e4-0d5c-428b-b490-64fe6701f6d4.jpg MOC;612590;https://cards.scryfall.io/large/front/1/d/1dea34d8-c68f-41b5-8476-fd6128d69576.jpg MOC;612591;https://cards.scryfall.io/large/front/e/0/e01cc65a-0e38-4f41-b9ed-796ef0355d0b.jpg -MOC;612591;https://cards.scryfall.io/large/front/e/0/e01cc65a-0e38-4f41-b9ed-796ef0355d0b.jpg MOC;612592;https://cards.scryfall.io/large/front/9/0/90e72f86-9f09-40af-838c-3d344c50f607.jpg MOC;612593;https://cards.scryfall.io/large/front/4/1/414a25b5-2b4f-4935-8564-4b507db12dbc.jpg MOC;612594;https://cards.scryfall.io/large/front/f/9/f9c55add-d621-4477-95ec-f2b691c0bdae.jpg diff --git a/projects/mtg/bin/Res/ai/baka/deck140.txt b/projects/mtg/bin/Res/ai/baka/deck140.txt index f9d77223b..b50a6e567 100644 --- a/projects/mtg/bin/Res/ai/baka/deck140.txt +++ b/projects/mtg/bin/Res/ai/baka/deck140.txt @@ -1,93 +1,81 @@ -#NAME:Golgari ramp -#DESC:The first Commander Format Deck +#NAME:Belbe Commander 2023 +#DESC:Deck by apparently (tappedout.net) +#DESC:Refined for Wagic by Bob #HINT:castpriority(commander,*) -Mardu Shadowspear (*) *1 -Night Market Lookout (*) *1 -Pulse Tracker (*) *1 -Thornbow Archer (*) *1 -Vicious Conquistador (*) *1 -Archers' Parapet (*) *1 -Shepherd of Rot (*) *1 -Loyal Subordinate (*) *1 -Crypt Ghast (*) *1 -Rankle, Master of Pranks (*) *1 -Spawn of Mayhem (*) *1 -Twilight Prophet (*) *1 -Conduit of Ruin (*) *1 -Duplicant (*) *1 -Oblivion Sower (*) *1 -Wurmcoil Engine (*) *1 -World Breaker (*) *1 -Platinum Emperion (*) *1 -Apex Devastator (*) *1 -Blightsteel Colossus (*) *1 -Ugin, the Ineffable (*) *1 -Malakir Rebirth (*) *1 -Nature's Claim (*) *1 -Veil of Summer (*) *1 -Vicious Rumors (*) *1 -Worldly Tutor (*) *1 -Assassin's Trophy (*) *1 -Damnable Pact (*) *1 -Demonic Tutor (*) *1 -Exsanguinate (*) *1 -Farseek (*) *1 -Heroic Intervention (*) *1 -Rampant Growth (*) *1 -Three Visits (*) *1 -Torment of Hailfire (*) *1 -Agadeem's Awakening (*) *1 -Barrier Breach (*) *1 -Beast Within (*) *1 -Cultivate (*) *1 -Grim Tutor (*) *1 -Kodama's Reach (*) *1 -Toxic Deluge (*) *1 -Skyshroud Claim (*) *1 -Return of the Wildspeaker (*) *1 -Beseech the Queen (*) *1 -Turntimber Symbiosis (*) *1 -Decree of Pain (*) *1 -In Garruk's Wake (*) *1 -Sol Ring (*) *1 -Arcane Signet (*) *1 -Lightning Greaves (*) *1 -Swiftfoot Boots (*) *1 -Talisman of Resilience (*) *1 -Thought Vessel (*) *1 -God-Pharaoh's Statue (*) *1 -Staff of Nin (*) *1 -The Immortal Sun (*) *1 -Ward of Bones (*) *1 -Cryptolith Rite (*) *1 -Sanctum of Stone Fangs (*) *1 -Phyrexian Arena (*) *1 -Retreat to Hagra (*) *1 -Court of Ambition (*) *1 -Eldrazi Conscription (*) *1 -Sandwurm Convergence (*) *1 -Ancient Tomb (*) *1 -Blast Zone (*) *1 -Bojuka Bog (*) *1 -Cabal Coffers (*) *1 -Castle Garenbrig (*) *1 -Castle Locthwain (*) *1 -Command Tower (*) *1 -Crawling Barrens (*) *1 -Forest (*) *7 -Leechridden Swamp (*) *1 -Llanowar Wastes (*) *1 -Nurturing Peatland (*) *1 -Overgrown Tomb (*) *1 -Phyrexian Tower (*) *1 -Prismatic Vista (*) *1 -Reliquary Tower (*) *1 -Sanctum of Ugin (*) *1 -Swamp (*) *5 -Twilight Mire (*) *1 -Undergrowth Stadium (*) *1 -Urborg, Tomb of Yawgmoth (*) *1 -Verdant Catacombs (*) *1 -War Room (*) *1 -Woodland Cemetery (*) *1 +Ancient Stone Idol +Apex Devastator +Archetype of Endurance +Artisan of Kozilek +Bane of Bala Ged +Beacon of Unrest +Bellowing Tanglewurm +Cabal Conditioning +Caller of the Pack +Colossus of Akros +Command Tower +Conduit of Ruin +Copper Myr +Court of Ambition +Cultivate +Dread Defiler +Eldrazi Conscription +Exsanguinate +Farseek +Fierce Empath +Forest (4ED) *4 +Forest (NEO) *4 +Forest (ONE) *4 +Forest (SNC) *4 +Garruk's Uprising +Gilanra, Caller of Wirewood +God-Pharaoh's Statue +Grave Betrayal +Helm of the Host +Hooded Blightfang +Horizon Stone +In Garruk's Wake +Josu Vess, Lich Knight +Kodama's Reach (CMD) +Leaden Myr +Leechridden Swamp +Lim-Dul's Hex +Loxodon Warhammer (10E) +Loyal Subordinate +Mardu Shadowspear +Mirror Shield +Night Market Lookout +Oblivion Sower +Pathrazer of Ulamog +Phyrexian Juggernaut +Phyrexian Triniform +Plague Spitter +Planar Bridge +Platinum Emperion +Polyraptor +Pulse Tracker +Rampant Growth +Return of the Wildspeaker +Sanctum of Stone Fangs +Sandstone Oracle +Sandwurm Convergence +Skull Storm +Skyclave Relic +Sol Ring +Staff of Nin +Swamp (ONE) *4 +Swamp (NEO) *4 +Swamp (SNC) *4 +Swamp (4ED) *3 +The Immortal Sun +Thornbow Archer +Thought Vessel +Three Visits +Thunderfoot Baloth +Torment of Hailfire +Ulamog's Crusher +Undergrowth Stadium +Urborg, Tomb of Yawgmoth +Vicious Conquistador +Yavimaya, Cradle of Growth +Zendikar Resurgent #CMD:Belbe, Corrupted Observer (*) *1 \ No newline at end of file diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/CLB.txt b/projects/mtg/bin/Res/missing_cards_by_sets/CLB.txt index 35f16adb5..e8ec715a7 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/CLB.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/CLB.txt @@ -1,4 +1,203 @@ [card] +name=Volo, Itinerant Scholar +abilities=backgroundpartner +text=When Volo enters the battlefield, create Volo's Journal, a legendary colorless artifact token with hexproof and "Whenever you cast a creature spell, note one of its creature types that hasn't been noted for this artifact." -- {2}, {T}: Draw a card for each creature type noted for target permanent you control named Volo's Journal. -- Choose a Background +mana={2}{U} +type=Legendary Creature +subtype=Human Wizard +power=2 +toughness=3 +[/card] +[card] +name=Raggadragga, Goreguts Boss +text=Each creature you control with a mana ability gets +2/+2. -- Whenever a creature you control with a mana ability attacks, untap it. -- Whenever you cast a spell, if at least seven mana was spent to cast it, untap target creature. It gets +7/+7 and gains trample until end of turn. +mana={2}{R}{G} +type=Legendary Creature +subtype=Human Boar +power=4 +toughness=4 +[/card] +[card] +name=Lae'zel, Vlaakith's Champion +abilities=backgroundpartner +text=If you would put one or more counters on a creature or planeswalker you control or on yourself, put that many plus one of each of those kinds of counters on that permanent or player instead. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{W} +type=Legendary Creature +subtype=Gith Warrior +power=3 +toughness=3 +[/card] +[card] +name=Lae'zel's Acrobatics +text=Exile all nontoken creatures you control, then roll a d20. -- 1-9 | Return those cards to the battlefield under their owner's control at the beginning of the next end step. -- 10-20 | Return those cards to the battlefield under their owner's control, then exile them again. Return those cards to the battlefield under their owner's control at the beginning of the next end step. +mana={3}{W} +type=Instant +[/card] +[card] +name=Noble Heritage +text=Commander creatures you own have "When this creature enters the battlefield and at the beginning of your upkeep, each player may put two +1/+1 counters on a creature they control. For each opponent who does, you gain protection from that player until your next turn." (You can't be targeted, dealt damage, or enchanted by anything controlled by that player.) +mana={1}{W} +type=Legendary Enchantment +subtype=Background +[/card] +[card] +name=Archivist of Oghma +abilities=flash +text=Flash -- Whenever an opponent searches their library, you gain 1 life and draw a card. +mana={1}{W} +type=Creature +subtype=Halfling Cleric +power=2 +toughness=2 +[/card] +[card] +name=Fraying Line +text=When Fraying Line enters the battlefield, put a rope counter on target creature you control. -- At the beginning of each player's upkeep, that player may pay {2}. If they do, they put a rope counter on a creature they control. Otherwise, exile Fraying Line and each creature without a rope counter on it, then remove all rope counters from all creatures. +mana={4} +type=Artifact +[/card] +[card] +name=Lae'zel's Acrobatics +text=Exile all nontoken creatures you control, then roll a d20. -- 1-9 | Return those cards to the battlefield under their owner's control at the beginning of the next end step. -- 10-20 | Return those cards to the battlefield under their owner's control, then exile them again. Return those cards to the battlefield under their owner's control at the beginning of the next end step. +mana={3}{W} +type=Instant +[/card] +[card] +name=Green Slime +abilities=flash +text=Flash -- When Green Slime enters the battlefield, counter target activated or triggered ability from an artifact or enchantment source. If a permanent's ability is countered this way, destroy that permanent. -- Foretell {G} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) +mana={2}{G} +type=Creature +subtype=Ooze +power=2 +toughness=2 +[/card] +[card] +name=Aboleth Spawn +abilities=flash +auto=_WARD_(2) +text=Flash -- Ward {2} -- Probing Telepathy - Whenever a creature entering the battlefield under an opponent's control causes a triggered ability of that creature to trigger, you may copy that ability. You may choose new targets for the copy. +mana={2}{U} +type=Creature +subtype=Fish Horror +power=2 +toughness=3 +[/card] +[card] +name=Stick Together +text=Each player chooses a party from among creatures they control, then sacrifices the rest. (To choose a party, choose up to one each of Cleric, Rogue, Warrior, and Wizard.) +mana={3}{W}{W} +type=Sorcery +[/card] +[card] +name=Mighty Servant of Leuk-o +abilities=trample +text=Trample -- Ward-Discard a card. -- Whenever Mighty Servant of Leuk-o becomes crewed for the first time each turn, if it was crewed by exactly two creatures, it gains "Whenever this creature deals combat damage to a player, draw two cards" until end of turn. -- Crew 4 +mana={3} +type=Artifact +subtype=Vehicle +power=6 +toughness=6 +[/card] +[card] +name=Grell Philosopher +text=Aberrant Tinkering - When Grell Philosopher enters the battlefield and at the beginning of your upkeep, each Horror you control gains all activated abilities of target artifact an opponent controls until end of turn. You may spend blue mana as though it were mana of any color to activate those abilities. +mana={2}{U} +type=Creature +subtype=Horror Wizard +power=1 +toughness=4 +[/card] +[card] +name=Wyll's Reversal +target=*|stack +text=Choose target spell or ability with one or more targets. Roll a d20 and add the greatest power among creatures you control. -- 1-14 | You may choose new targets for that spell or ability. -- 15+ | You may choose new targets for that spell or ability. Then copy it. You may choose new targets for the copy. +mana={2}{R} +type=Instant +[/card] +[card] +name=Mighty Servant of Leuk-o +abilities=trample +text=Trample -- Ward-Discard a card. -- Whenever Mighty Servant of Leuk-o becomes crewed for the first time each turn, if it was crewed by exactly two creatures, it gains "Whenever this creature deals combat damage to a player, draw two cards" until end of turn. -- Crew 4 +mana={3} +type=Artifact +subtype=Vehicle +power=6 +toughness=6 +[/card] +[card] +name=Fraying Line +text=When Fraying Line enters the battlefield, put a rope counter on target creature you control. -- At the beginning of each player's upkeep, that player may pay {2}. If they do, they put a rope counter on a creature they control. Otherwise, exile Fraying Line and each creature without a rope counter on it, then remove all rope counters from all creatures. +mana={4} +type=Artifact +[/card] +[card] +name=Lae'zel, Vlaakith's Champion +abilities=backgroundpartner +text=If you would put one or more counters on a creature or planeswalker you control or on yourself, put that many plus one of each of those kinds of counters on that permanent or player instead. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{W} +type=Legendary Creature +subtype=Gith Warrior +power=3 +toughness=3 +[/card] +[card] +name=Volo, Itinerant Scholar +abilities=backgroundpartner +text=When Volo enters the battlefield, create Volo's Journal, a legendary colorless artifact token with hexproof and "Whenever you cast a creature spell, note one of its creature types that hasn't been noted for this artifact." -- {2}, {T}: Draw a card for each creature type noted for target permanent you control named Volo's Journal. -- Choose a Background +mana={2}{U} +type=Legendary Creature +subtype=Human Wizard +power=2 +toughness=3 +[/card] +[card] +name=Archivist of Oghma +abilities=flash +text=Flash -- Whenever an opponent searches their library, you gain 1 life and draw a card. +mana={1}{W} +type=Creature +subtype=Halfling Cleric +power=2 +toughness=2 +[/card] +[card] +name=Aboleth Spawn +abilities=flash +auto=_WARD_(2) +text=Flash -- Ward {2} -- Probing Telepathy - Whenever a creature entering the battlefield under an opponent's control causes a triggered ability of that creature to trigger, you may copy that ability. You may choose new targets for the copy. +mana={2}{U} +type=Creature +subtype=Fish Horror +power=2 +toughness=3 +[/card] +[card] +name=Stick Together +text=Each player chooses a party from among creatures they control, then sacrifices the rest. (To choose a party, choose up to one each of Cleric, Rogue, Warrior, and Wizard.) +mana={3}{W}{W} +type=Sorcery +[/card] +[card] +name=Grell Philosopher +text=Aberrant Tinkering - When Grell Philosopher enters the battlefield and at the beginning of your upkeep, each Horror you control gains all activated abilities of target artifact an opponent controls until end of turn. You may spend blue mana as though it were mana of any color to activate those abilities. +mana={2}{U} +type=Creature +subtype=Horror Wizard +power=1 +toughness=4 +[/card] +[card] +name=Green Slime +abilities=flash +text=Flash -- When Green Slime enters the battlefield, counter target activated or triggered ability from an artifact or enchantment source. If a permanent's ability is countered this way, destroy that permanent. -- Foretell {G} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) +mana={2}{G} +type=Creature +subtype=Ooze +power=2 +toughness=2 +[/card] +[card] name=Bloodthirsty Blade auto=teach(creature) 2/0 auto=teach(creature) mustattack @@ -17,6 +216,32 @@ power=0 toughness=4 [/card] [card] +name=Wyll's Reversal +target=*|stack +text=Choose target spell or ability with one or more targets. Roll a d20 and add the greatest power among creatures you control. -- 1-14 | You may choose new targets for that spell or ability. -- 15+ | You may choose new targets for that spell or ability. Then copy it. You may choose new targets for the copy. +mana={2}{R} +type=Instant +[/card] +[card] +name=Dynaheir, Invoker Adept +abilities=haste +text=Haste -- You may activate abilities of other creatures you control as though those creatures had haste. -- {T}: When you next activate an ability that isn't a mana ability this turn by spending four or more mana to activate it, copy that ability. You may choose new targets for the copy. +mana={1}{U}{R}{W} +type=Legendary Creature +subtype=Human Wizard +power=4 +toughness=4 +[/card] +[card] +name=Jon Irenicus, Shattered One +text=At the beginning of your end step, target opponent gains control of up to one target creature you control. Put two +1/+1 counters on it and tap it. It's goaded for the rest of the game and it gains "This creature can't be sacrificed." (It attacks each combat if able and attacks a player other than you if able.) -- Whenever a creature you own but don't control attacks, you draw a card. +mana={2}{U}{B} +type=Legendary Creature +subtype=Elf Wizard +power=3 +toughness=3 +[/card] +[card] name=Valiant Changeling abilities=changeling,double strike text=This spell costs {1} less to cast for each creature type among creatures you control. This effect can't reduce the amount of mana this spell costs by more than {5}. -- Changeling (This card is every creature type.) -- Double strike @@ -26,3 +251,31 @@ subtype=Shapeshifter power=3 toughness=3 [/card] +[card] +name=Raggadragga, Goreguts Boss +text=Each creature you control with a mana ability gets +2/+2. -- Whenever a creature you control with a mana ability attacks, untap it. -- Whenever you cast a spell, if at least seven mana was spent to cast it, untap target creature. It gets +7/+7 and gains trample until end of turn. +mana={2}{R}{G} +type=Legendary Creature +subtype=Human Boar +power=4 +toughness=4 +[/card] +[card] +name=Dynaheir, Invoker Adept +abilities=haste +text=Haste -- You may activate abilities of other creatures you control as though those creatures had haste. -- {T}: When you next activate an ability that isn't a mana ability this turn by spending four or more mana to activate it, copy that ability. You may choose new targets for the copy. +mana={1}{U}{R}{W} +type=Legendary Creature +subtype=Human Wizard +power=4 +toughness=4 +[/card] +[card] +name=Jon Irenicus, Shattered One +text=At the beginning of your end step, target opponent gains control of up to one target creature you control. Put two +1/+1 counters on it and tap it. It's goaded for the rest of the game and it gains "This creature can't be sacrificed." (It attacks each combat if able and attacks a player other than you if able.) -- Whenever a creature you own but don't control attacks, you draw a card. +mana={2}{U}{B} +type=Legendary Creature +subtype=Elf Wizard +power=3 +toughness=3 +[/card] diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/DMR.txt b/projects/mtg/bin/Res/missing_cards_by_sets/DMR.txt index f840b11b1..2e96183dd 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/DMR.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/DMR.txt @@ -17,13 +17,6 @@ mana={3} type=Artifact [/card] [card] -name=Lightning Reflexes -text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike. -mana={1}{R} -type=Enchantment -subtype=Aura -[/card] -[card] name=Crawlspace text=No more than two creatures can attack you each combat. mana={3} diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/IKO.txt b/projects/mtg/bin/Res/missing_cards_by_sets/IKO.txt index f7edaedea..3aca547ce 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/IKO.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/IKO.txt @@ -44,15 +44,6 @@ power=6 toughness=6 [/card] [card] -name=Umori, the Collector -text=Companion - Each nonland card in your starting deck shares a card type. (If this card is your chosen companion, you may cast it once from outside the game.) -- As Umori, the CollectorUmori, the Collector enters the battlefield, choose a card type. -- Spells you cast of the chosen type cost 1 less to cast. -mana={2}{BG}{BG} -type=Legendary Creature -subtype=Ooze -power=4 -toughness=5 -[/card] -[card] name=Zirda, the Dawnwaker text=Companion - Each permanent card in your starting deck has an activated ability. (If this card is your chosen companion, you may cast it once from outside the game.) -- Abilities you activate that aren't mana abilities cost {2} less to activate. This effect can't reduce the mana in that cost to less than one mana. -- {1}, {T}: Target creature can't block this turn. mana={1}{RW}{RW} diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/MIR.txt b/projects/mtg/bin/Res/missing_cards_by_sets/MIR.txt index 20dd52139..6dacff4ef 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/MIR.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/MIR.txt @@ -68,13 +68,6 @@ mana={1}{U} type=Instant [/card] [card] -name=Lightning Reflexes -text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike. -mana={1}{R} -type=Enchantment -subtype=Aura -[/card] -[card] name=Energy Vortex text=As Energy Vortex enters the battlefield, choose an opponent. -- At the beginning of your upkeep, remove all energy counters from Energy Vortex. -- At the beginning of the chosen player's upkeep, Energy Vortex deals 3 damage to that player unless he or she pays {1} for each energy counter on Energy Vortex. -- {X}: Put X energy counters on Energy Vortex. Activate this ability only during your upkeep. mana={3}{U}{U} @@ -111,13 +104,6 @@ mana={4} type=Artifact [/card] [card] -name=Soar -text=You may cast Soar as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +0/+1 and has flying. -mana={1}{U} -type=Enchantment -subtype=Aura -[/card] -[card] name=Celestial Dawn text=Lands you control are Plains. -- Nonland cards you own that aren't on the battlefield, spells you control, and nonland permanents you control are white. -- You may spend white mana as though it were mana of any color. You may spend other mana only as though it were colorless mana. mana={1}{W}{W} @@ -139,13 +125,6 @@ power=1 toughness=2 [/card] [card] -name=Armor of Thorns -text=You may cast Armor of Thorns as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant nonblack creature -- Enchanted creature gets +2/+2. -mana={1}{G} -type=Enchantment -subtype=Aura -[/card] -[card] name=Mangara's Tome text=When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library. -- {2}: The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand. mana={5} @@ -158,13 +137,6 @@ mana={1}{G}{G} type=World Enchantment [/card] [card] -name=Grave Servitude -text=You may cast Grave Servitude as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +3/-1 and is black. -mana={1}{B} -type=Enchantment -subtype=Aura -[/card] -[card] name=Noble Elephant abilities=trample,banding text=Trample; banding (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/MUL.txt b/projects/mtg/bin/Res/missing_cards_by_sets/MUL.txt index 1a3799eb6..720d0d0fa 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/MUL.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/MUL.txt @@ -70,12 +70,3 @@ subtype=Elemental Horror power=3 toughness=5 [/card] -[card] -name=Umori, the Collector -text=Companion - Each nonland card in your starting deck shares a card type. (If this card is your chosen companion, you may cast it once from outside the game.) -- As Umori, the CollectorUmori, the Collector enters the battlefield, choose a card type. -- Spells you cast of the chosen type cost 1 less to cast. -mana={2}{BG}{BG} -type=Legendary Creature -subtype=Ooze -power=4 -toughness=5 -[/card] diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/VIS.txt b/projects/mtg/bin/Res/missing_cards_by_sets/VIS.txt index f9b1fbb48..b46dab750 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/VIS.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/VIS.txt @@ -15,13 +15,6 @@ power=2 toughness=2 [/card] [card] -name=Mystic Veil -text=You may cast Mystic Veil as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature has shroud. (It can't be the target of spells or abilities.) -mana={1}{U} -type=Enchantment -subtype=Aura -[/card] -[card] name=Three Wishes text=Exile the top three cards of your library face down. You may look at those cards for as long as they remain exiled. Until your next turn, you may play those cards. At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard. mana={1}{U}{U} @@ -62,13 +55,6 @@ mana={2}{W} type=Enchantment [/card] [card] -name=Spider Climb -text=You may cast Spider Climb as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +0/+3 and has reach. (It can block creatures with flying.) -mana={G} -type=Enchantment -subtype=Aura -[/card] -[card] name=Honorable Passage text=The next time a source of your choice would deal damage to target creature or player this turn, prevent that damage. If damage from a red source is prevented this way, Honorable Passage deals that much damage to the source's controller. mana={1}{W} @@ -100,19 +86,6 @@ mana={3}{R} type=World Enchantment [/card] [card] -name=Parapet -text=You may cast Parapet as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Creatures you control get +0/+1. -mana={1}{W} -type=Enchantment -[/card] -[card] -name=Relic Ward -text=You may cast Relic Ward as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant artifact -- Enchanted artifact has shroud. (It can't be the target of spells or abilities.) -mana={1}{W} -type=Enchantment -subtype=Aura -[/card] -[card] name=Desolation text=At the beginning of each end step, each player who tapped a land for mana this turn sacrifices a land. If a Plains is sacrificed this way, Desolation deals 2 damage to that Plains's controller. mana={1}{B}{B} diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/VMA.txt b/projects/mtg/bin/Res/missing_cards_by_sets/VMA.txt index c5c19c1b9..5056e150c 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/VMA.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/VMA.txt @@ -1,11 +1,4 @@ [card] -name=Armor of Thorns -text=You may cast Armor of Thorns as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant nonblack creature -- Enchanted creature gets +2/+2. -mana={1}{G} -type=Enchantment -subtype=Aura -[/card] -[card] name=Magister of Worth abilities=flying text=Flying -- Will of the council - When Magister of Worth enters the battlefield, starting with you, each player votes for grace or condemnation. If grace gets more votes, each player returns each creature card from his or her graveyard to the battlefield. If condemnation gets more votes or the vote is tied, destroy all creatures other than Magister of Worth. diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt b/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt index 84014827e..d8fb427b2 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt @@ -1,7 +1,6 @@ Primal Command Rowan Kenrith Kitsune Ace -Professional Face-Breaker Pyre-Sledge Arsonist Sokenzan Smelter Hotshot Mechanic @@ -138,7 +137,6 @@ Venser, Corpse Puppet Slobad, Iron Goblin Solphim, Mayhem Dominus Capricious Hellraiser -Tyrranax Rex Phyrexian Vindicator Skrelv, Defector Mite Drivnod, Carnage Dominus @@ -155,7 +153,6 @@ Tamiyo's Logbook Maze's Mantle Lattice-Blade Mantis Noxious Assault -Paladin of Predation Plague Nurse Porcelain Zealot Vanish into Eternity @@ -202,7 +199,6 @@ Anoint with Affliction Hall of the Bandit Lord Boseiju, Who Shelters All Chief Engineer -Oracle's Vault Conqueror's Flail Cryptic Spires Thromok the Insatiable @@ -223,57 +219,40 @@ Unite the Coalition Verrak, Warped Sengir Gerrard's Hourglass Pendant The Mana Rig -Shalai and Hallar Saint Traft and Rem Karolus Rashmi and Ragavan -Moira and Teshar Elenda and Azor -Firemane Commando Elspeth's Talent -Infernal Sovereign Teferi's Talent Rowan's Talent Liliana's Talent Begin the Invasion Vivien's Talent -Sidar Jabari of Zhalfir Kasla, the Broken Halo Gimbal, Gremlin Prodigy Brimaz, Blight of Oreskos Bright-Palm, Soul Awakener Ichor Elixir -Bitterthorn, Nissa's Animus Wildfire Awakener -Vodalian Wave-Knight -Mistmeadow Vanisher Flockchaser Phantom Cutthroat Negotiator Sandsteppe War Riders Path of the Animist Emergent Woodwurm -Exsanguinator Cavalry Conclave Sledge-Captain Uncivil Unrest Path of the Pyromancer -Pain Distributor Mirror-Style Master -Hedron Detonator -Death-Greeter's Champion Dance with Calamity Path of the Schemer -Locthwain Lancer Guardian Scalelord -Filigree Vector Blight Titan -Schema Thief Path of the Enigma -Herald of Hoofbeats Deluxe Dragster Foulmire Knight Wand of the Worldsoul Vulpine Harvester Path of the Ghosthunter -Nesting Dovehawk Stensia Krosa Sokenzan @@ -296,13 +275,7 @@ Murderous Rider The Caldaia Enigma Ridges Esper -Slimefoot and Squee -Katilda and Lier -Goro-Goro and Satoru Excise the Imperfect -Darksteel Splicer -Conjurer's Mantle -Chivalric Alliance Wear Struggle Heaven @@ -355,9 +328,6 @@ Invasion of Dominaria Borborygmos and Fblthp Baral and Kari Zev Invasion of Theros -Surrak and Goreclaw -Pile On -Orthion, Hero of Lavabrink Zurgo and Ojutai Sandstalker Moloch Zimone and Dina @@ -368,21 +338,15 @@ Hoarding Broodlord Seed of Hope Enduring Bondwarden Invasion of Fiora -Axgard Artisan -Terror of Towashi Invasion of Eldraine Tangled Skyline Seer of Stolen Sight Elesh Norn Ichor Shade Injector Crocodile -Zephyr Winder Referee Squad Invasion of Innistrad -Interdisciplinary Mascot -Vengeant Earth Seedpod Caretaker -Phyrexian Pegasus Essence of Orthodoxy Invasion of Ravnica Overgrown Pest @@ -393,7 +357,6 @@ Kogla and Yidaro Ozolith, the Shattered Spire Attentive Skywarden Gift of Compleation -Angelic Intervention Flitting Guerrilla Urabrask Invasion of Ikoria @@ -406,7 +369,6 @@ Invasion of Shandalar Rona, Herald of Invasion Jin-Gitaxias Invasion of Belenon -Fertilid's Favor Wicked Slumber Doomskar Warrior Deeproot Wayfinder @@ -421,7 +383,6 @@ Converter Beast Realmbreaker, the Invasion Tree Searing Barb Voldaren Thrillseeker -Volcanic Spite Nahiri's Warcrafting Sculpted Perfection Scrappy Bruiser @@ -553,212 +514,9 @@ Tear Asunder Rona's Vortex The Weatherseed Treaty The World Spell -Sailors' Bane -Sea Hag // Aquatic Ingress -Sapphire Dragon // Psionic Pulse -Shameless Charlatan -Sword Coast Sailor -Stunning Strike -Tomb of Horrors Adventurer -Sword Coast Serpent // Capsizing Wave -Vhal, Candlekeep Researcher -Volo, Itinerant Scholar -Young Blue Dragon // Sand Augury -Agent of the Iron Throne -Altar of Bhaal // Bone Offering -Agent of the Shadow Thieves -Ancient Brass Dragon -Astarion's Thirst -Passionate Archaeologist -Undercellar Sweep -White Plume Adventurer -Zevlor, Elturel Exile -Veteran Soldier -Rilsa Rael, Kingpin -Windshaper Planetar -Raggadragga, Goreguts Boss -Aarakocra Sneak -Durnan of the Yawning Portal -Bane's Contingency -Candlekeep Sage -Candlekeep Inspiration -Stonespeaker Crystal -Cone of Cold -Dungeon Delver -Feywild Caretaker -Feywild Visitor -Gale's Redirection -Illithid Harvester // Plant Tadpoles -Imoen, Mystic Trickster -Lapis Orb of Dragonkind -Moonshae Pixie // Pixie Dust -Modify Memory -Firkraag, Cunning Instigator -Flaming Fist -Far Traveler -Goliath Paladin -Guardian Naga // Banishing Coils -Horn of Valhalla // Ysgard's Call -Lae'zel, Vlaakith's Champion -Inspiring Leader -Legion Loyalty -Lae'zel's Acrobatics -Noble Heritage -Pegasus Guardian // Rescue the Foal -Neera, Wild Mage -Nine-Fingers Keene -Minthara, Merciless Soul -Myrkul, Lord of Bones -Recruitment Drive -Mazzy, Truesword Paladin -Rasaad yn Bashir -Lozhan, Dragons' Legacy -Sculpted Sunburst -Clan Crafter -Folk Hero -Baeloth Barrityl, Entertainer -Haunted One -Zellix, Sanity Flayer -Archivist of Oghma -Dungeoneer's Pack -Fraying Line Dusk Mangler -Call to the Void -Elder Brain -Caves of Chaos Adventurer -Intellect Devourer -Pact Weapon -Ravenloft Adventurer -Balor -Storm King's Thunder -Wand of Wonder -Captain N'ghathrod -Passageway Seer -Sarevok, Deathbringer -Safana, Calimport Cutthroat -Scion of Halaster -Sigil of Myrkul -Sivriss, Nightmare Speaker -Topaz Dragon // Entropic Cloud -Vicious Battlerager -Underdark Explorer -Amethyst Dragon // Explosive Crystal -Bloodboil Sorcerer -Carnelian Orb of Dragonkind -Dragon Cultist -Fang Dragon // Forktail Sweep -Gnoll War Band -Guild Artisan -Inspired Tinkering -Trailblazer's Torch -Green Slime -Spectacular Showdown -Vexing Puzzlebox -Venture Forth -Tlincalli Hunter // Retrieve Prey -Journey to the Lost City -Gond Gate -Sarevok's Tome -Multiclass Baldric -Criminal Past -Cloudkill -Cultist of the Absolute -Gray Slaad // Entropic Decay -Ghost Lantern // Bind Spirit -Hezrou // Demonic Stench -Guildsworn Prowler -Myrkul's Edict -Nothic -Nefarious Imp -Nautiloid Ship -Deep Gnome Terramancer -Harper Recruiter -Seasoned Dungeoneer -Lantern of Revealing -Iron Mastiff -Astral Dragon -Aboleth Spawn -Stick Together -Marut -Psionic Ritual -Mocking Doppelganger -Mighty Servant of Leuk-o -Grell Philosopher -Endless Evil -Mirror of Life Trapping -Brainstealer Dragon -Navigation Orb -Solemn Doomguide -From the Catacombs -Death Kiss -Bothersome Quasit -Rug of Smothering -Nalfeshnee -Loot Dispute -Delayed Blast Fireball -Tasha, the Witch Queen -Minsc & Boo, Timeless Heroes -Elminster -Faceless One -Battle Angels of Tyr -Undermountain Adventurer -Abdel Adrian, Gorion's Ward -Owlbear Cub -Majestic Genesis -Barroom Brawl -Earthquake Dragon -Wrathful Red Dragon -Wyll's Reversal -Ellyn Harbreeze, Busybody -Astral Confrontation -Banishment -Artificer Class -Livaan, Cultist of Tiamat -Popular Entertainer -Stirring Bard -Swashbuckler Extraordinaire -Street Urchin -Tavern Brawler -Thunderwave -Two-Handed Axe // Sweeping Cleave -Wild Magic Surge -Wyll, Blade of Frontiers -Young Red Dragon // Bathe in Gold -Ambitious Dragonborn -Acolyte of Bahamut -Avenging Hunter -Alaundo the Seer -Baba Lysaga, Night Witch -Bhaal, Lord of Murder -Bane, Lord of Darkness -Commander Liara Portyr Mage's Attendant -Dynaheir, Invoker Adept -Gorion, Wise Mentor -Gluntch, the Bestower -Kagha, Shadow Archdruid -Jon Irenicus, Shattered One Rumor Gatherer -Cloakwood Hermit -Colossal Badger // Dig Deep -Dread Linnorm // Scale Deflection -Druid of the Emerald Grove -Druidic Ritual -Emerald Dragon // Dissonant Wave -Explore the Underdark -Ettercap // Web Shot -Jade Orb of Dragonkind -Hardy Outlander -Master Chef -Monster Manual // Zoological Study -Overwhelming Encounter -Raised by Giants -Scaled Nurturer -Skanos Dragonheart -Split the Spoils -Contraband Livestock -Blessed Hippogriff // Tyr's Blessing -Crystal Dragon // Rob the Hoard Induced Amnesia Naban, Dean of Iteration Goblin Bangchuckers @@ -1169,7 +927,6 @@ Arbalest Engineers Hulking Metamorph The Temporal Anchor Urza's Command -Rootwire Amalgam Gix's Caress Legions to Ashes Mishra, Tamer of Mak Fawa @@ -1197,7 +954,6 @@ Gwenna, Eyes of Gaea Overwhelming Remorse Urza's Sylex Mishra's Research Desk -Steel Seraph Hurkyl, Master Wizard Forging the Anchor Involuntary Cooldown @@ -1235,7 +991,6 @@ Tower Worker Thran Power Suit Thran Spider Symmetry Matrix -Titania, Voice of Gaea Mishra, Claimed by Gix The Mightstone and Weakstone Recommission diff --git a/projects/mtg/bin/Res/sets/CLB/_cards.dat b/projects/mtg/bin/Res/sets/CLB/_cards.dat index fcec72d75..48f0d9e36 100644 --- a/projects/mtg/bin/Res/sets/CLB/_cards.dat +++ b/projects/mtg/bin/Res/sets/CLB/_cards.dat @@ -5,6 +5,16 @@ year=2022-06-10 total=849 [/meta] [card] +primitive=Undercity +id=57018400 +rarity=T +[/card] +[card] +primitive=The Initiative +id=57018401 +rarity=T +[/card] +[card] primitive=Faceless One id=570184 rarity=S diff --git a/projects/mtg/bin/Res/sets/MOC/_cards.dat b/projects/mtg/bin/Res/sets/MOC/_cards.dat index 1c1599b10..5435128fe 100644 --- a/projects/mtg/bin/Res/sets/MOC/_cards.dat +++ b/projects/mtg/bin/Res/sets/MOC/_cards.dat @@ -2,7 +2,7 @@ author=Wagic Team name=March of the Machine Commander year=2023-04-21 -total=457 +total=451 [/meta] [card] primitive=Bright-Palm, Soul Awakener @@ -1245,16 +1245,11 @@ id=612496 rarity=C [/card] [card] -primitive=Foulmire Knight +primitive=Foulmire Knight // Profane Insight id=612497 rarity=U [/card] [card] -primitive=Profane Insight -id=612497 -rarity=T -[/card] -[card] primitive=Go for the Throat id=612498 rarity=U @@ -1295,16 +1290,11 @@ id=612505 rarity=R [/card] [card] -primitive=Murderous Rider +primitive=Murderous Rider // Swift End id=612506 rarity=R [/card] [card] -primitive=Swift End -id=612506 -rarity=T -[/card] -[card] primitive=Night's Whisper id=612507 rarity=C @@ -1355,16 +1345,11 @@ id=612515 rarity=C [/card] [card] -primitive=Smitten Swordmaster +primitive=Smitten Swordmaster // Curry Favor id=612516 rarity=C [/card] [card] -primitive=Curry Favor -id=612516 -rarity=T -[/card] -[card] primitive=Syr Konrad, the Grim id=612517 rarity=U @@ -1660,16 +1645,11 @@ id=612575 rarity=U [/card] [card] -primitive=Heaven +primitive=Heaven // Earth id=612576 rarity=R [/card] [card] -primitive=Earth -id=612576 -rarity=T -[/card] -[card] primitive=Improbable Alliance id=612577 rarity=U @@ -1720,16 +1700,11 @@ id=612586 rarity=U [/card] [card] -primitive=Struggle +primitive=Struggle // Survive id=612587 rarity=U [/card] [card] -primitive=Survive -id=612587 -rarity=T -[/card] -[card] primitive=Time Wipe id=612588 rarity=R @@ -1745,16 +1720,11 @@ id=612590 rarity=M [/card] [card] -primitive=Wear +primitive=Wear // Tear id=612591 rarity=U [/card] [card] -primitive=Tear -id=612591 -rarity=T -[/card] -[card] primitive=Whirlwind of Thought id=612592 rarity=R diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index 3403fd280..d6938e95e 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -4,7 +4,7 @@ # it means that if you have a macro named MACRO and a macro named MACRO2, you'll run into trouble because MACRO2 will match MACRO # Because of that, you need to use a unique delimiter at the beginning and the end of a macro, I personally use "__" # -# Limitations: parameter inside macro must not contain ")" +# Limitations: parameter inside macro must not contain "()" # Standard Cycling #AUTO_DEFINE __CYCLING__($cost) $cost{cycle}:name(cycling) draw:1 @@ -59,6 +59,11 @@ # Scry, Evergreen #AUTO_DEFINE _SCRY_($c) scry:$c scrycore delayed dontshow donothing scrycoreend scryend +#AUTO_DEFINE _SCRY1_ scry:1 scrycore delayed dontshow donothing scrycoreend scryend +#AUTO_DEFINE _SCRY2_ scry:2 scrycore delayed dontshow donothing scrycoreend scryend +#AUTO_DEFINE _SCRY3_ scry:3 scrycore delayed dontshow donothing scrycoreend scryend +#AUTO_DEFINE _SCRY4_ scry:4 scrycore delayed dontshow donothing scrycoreend scryend +#AUTO_DEFINE _SCRY5_ scry:5 scrycore delayed dontshow donothing scrycoreend scryend # Fabricate #AUTO_DEFINE _FABRICATE_($c) transforms((,newability[choice counter(1/1.$c)],newability[choice create(Servo:Artifact Creature Servo:1/1)*$c])) ueot @@ -93,17 +98,17 @@ # Ripple #AUTO_DEFINE _RIPPLE_($c) autostack=if casted(this) then reveal:$c optionone name(Cast Card) target([share!name!]|reveal) moveTo(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<$c>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveTo(myLibrary) and!( activate castcard(normal) )! afterrevealedend revealend -# Recover +# Recover #AUTO_DEFINE _RECOVER_($cost) @movedTo(creature|myGraveyard) from(Battlefield):may pay{$cost} name(Return to owner Hand) moveTo(ownerHand) all(this) donothing?moveTo(exile) all(this) # Clash, not implemented -$AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Erratic Explosion. Meaby it would work with a few fix +#AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Erratic Explosion. Meaby it would work with a few fix # Proliferate #AUTO_DEFINE _PROLIFERATE_ name(Proliferate) notatarget(proliferation) proliferate # Scavenge -#AUTO_DEFINE _SCAVENGE_($cost) {$cost}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery +#AUTO_DEFINE _SCAVENGE_($power) name(scavenge) counter(1/1,$power) target(creature) asSorcery # Monstrosity, not implemented #AUTO_DEFINE _MONSTROSITY_($cost,$c) name(Monstrosity) this(cantargetcard(*[-monstrous]) {$cost}:becomes(monstrous) forever && counter(1/1.$c) @@ -122,7 +127,11 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati # Monarch #AUTO_DEFINE _MONARCH_CONTROLLER_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) else all(The Monarch|battlefield) moveto(mybattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )! -#AUTO_DEFINE _MONARCH_OPPONENT_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) opponent else all(The Monarch|battlefield) moveto(opponentbattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )! +#AUTO_DEFINE _MONARCH_OPPONENT_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) opponent else all(The Monarch|battlefield) moveto(opponentbattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )! + +# Initiative +#AUTO_DEFINE _INITIATIVE_CONTROLLER_ if type(The Initiative|battlefield)~lessthan~1 then token(The Initiative) else all(The Initiative|battlefield) moveto(mybattlefield) and!( transforms((,newability[takesinitiative controller])) forever )! +#AUTO_DEFINE _INITIATIVE_OPPONENT_ if type(The Initiative|battlefield)~lessthan~1 then token(The Initiative) opponent else all(The Initiative|battlefield) moveto(opponentbattlefield) and!( transforms((,newability[takesinitiative controller])) forever )! # Explore, not implemented #AUTO_DEFINE _EXPLORE_ reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) optiontwoend revealend limit:1 @@ -142,11 +151,11 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati # Undergrowth, not implemented #AUTO_DEFINE _UNDERGROWTH_ foreach(creature|myGraveyard) -# Afterlife, not implemented -#AUTO_DEFINE _AFTERLIFE_($c) @movedTo(this|graveyard) from(battlefield):create(Spirit:Creature Spirit:1/1:white,black:flying)*$c +# Afterlife +#AUTO_DEFINE _AFTERLIFETOKEN_ create(Spirit:Creature Spirit:1/1:white:black:flying) # Riot -#AUTO_DEFINE _RIOT_ movedTo(this|myBattlefield):transforms((,newability[ability$! name(Choose counter or ability) choice name(Put a +1/+1 counter) counter(1/1,1) target(creature) _ choice name(Gains Haste) haste target(creature) forever !$ controller])) +#AUTO_DEFINE _RIOT_ movedTo(this|myBattlefield):transforms((,newability[ability$! name(Choose counter or ability) choice name(Put a +1/+1 counter) counter(1/1) target(creature) _ choice name(Gains Haste) haste target(creature) forever !$ controller])) # Learn #AUTO_DEFINE _LEARN_ name(Learn) transforms((,newability[if type(*[lesson]|mysideboard)~morethan~0 then choice name(Put lesson in hand) name(Put lesson in hand) target(*[lesson]|mysideboard) moveto(myhand)],newability[if type(*|myhand)~morethan~0 then choice name(Discard and draw) name(Discard and draw) target(*|myhand) reject and!(draw:1)!],newability[if type(Retriever Phoenix|mygraveyard)~morethan~0 then choice name(Return a Retriever Phoenix) name(Return a Retriever Phoenix) target(Retriever Phoenix|mygraveyard) moveto(myBattlefield)],newability[choice name(Don't learn) donothing])) oneshot @@ -176,11 +185,23 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati #AUTO_DEFINE _RENOWN_($c) this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.$c) && becomes(renown) forever])) # Exile card. Return it to the battlefield under its owner's control at the beginning of the next end step. -#AUTO_DEFINE _BLINK_UEOT_ name(Blink ueot) all(this) transforms((,newability[moveto(exile)],newability[phaseactionmulti[endofturn once] moveto(ownerbattlefield)])) +#AUTO_DEFINE _BLINK_UEOT_ name(Blink ueot) all(this) transforms((,newability[moveto(exile)],newability[if cantargetcard(*[-token]|*) then phaseactionmulti[endofturn once] moveto(ownerbattlefield)])) # Connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.) #AUTO_DEFINE _CONNIVES_ draw:1 && transforms((,newability[if type(*[-land]|myhand)~morethan~0 then choice name(Discard a nonland) name(Discard a nonland) target(*[-land]|myhand) reject && counter(1/1) all(this)],newability[if type(land|myhand)~morethan~0 then choice name(Discard a land) name(Discard a land) target(land|myhand) reject])) oneshot +# Eternalize +#AUTO_DEFINE _ETERNALIZE_ name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery + +# Discard a card. If you do, draw a card +#AUTO_DEFINE _DISCARD&DRAW_ reject notatarget(*|myhand) and!(draw:1 controller)! + +# Target creature deals damage equal to its power to target creature you don't control. +#AUTO_DEFINE _PUNCH_ transforms((,newability[dynamicability target(creature|opponentbattlefield)])) oneshot + +# Must be blocked this turn if able +#AUTO_DEFINE _MUST_BE_BLOCKD_ newability[@combat(attacking) source(this):ability$! notatarget(creature|myBattlefield) transforms((,newability[mustblock])) ueot!$ opponent] + # Angel Token #AUTO_DEFINE _ANGELTOKEN_ create(Angel:Creature Angel:4/4:white:flying) @@ -222,9 +243,9 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati # Thopter Token #AUTO_DEFINE _THOPTERTOKEN_ create(Thopter:Artifact Creature Thopter:1/1:flying) - + # Wolf Token #AUTO_DEFINE _WOLFTOKEN_ create(Wolf:creature Wolf:2/2:green) # Zombie Token -#AUTO_DEFINE _ZOMBIETOKEN_ create(zombie:creature zombie:2/2:black) +#AUTO_DEFINE _ZOMBIETOKEN_ create(zombie:creature zombie:2/2:black) \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index ae3220a07..13c4fcbbd 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,6 +1,6 @@ #Bordeline Primitives Pack for Wagic the Homebrew. #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#I sorted this programmatically - Thanks to Vitty85 23-04-2023 +#I sorted this programmatically - Thanks to Vitty85 04-05-2023 [card] name=+2 Mace auto={3}:equip @@ -11,6 +11,17 @@ type=Artifact subtype=Equipment [/card] [card] +name=Aarakocra Sneak +auto=_INITIATIVE_CONTROLLER_ +abilities=flying +text=Flying -- When Aarakocra Sneak enters the battlefield, you take the initiative. +mana={3}{U} +type=Creature +subtype=Bird Rogue +power=1 +toughness=4 +[/card] +[card] name=Abandon Hope target=*|myhand auto=reject && ability$!name(Choose a card) name(Choose a card) reject notatarget(*|opponenthand)!$ controller @@ -21,7 +32,7 @@ type=Sorcery [card] name=Abandon the Post flashback={3}{R} -auto=may name(Creatures can't block) target(upto:2>creature) transforms((,newability[cantblock])) ueot +auto=may name(Creatures can't block) target(creature) transforms((,newability[cantblock])) ueot text=Up to two target creatures can't block this turn. -- Flashback {3}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={1}{R} type=Sorcery @@ -35,6 +46,18 @@ mana={3} type=Artifact [/card] [card] +name=Abdel Adrian, Gorion's Ward +abilities=backgroundpartner +auto=may name(Exile nonland permanents) target(other *[-land]|mybattlefield) transforms((,newability[token(Soldier^Creature Soldier^1/1^white)],newability[moveto(exile) and!( counter(0/0.1.AbdelExiled) )!])) oneshot +auto=_DIES_name(Return exiled permanents) all(*[counter{0/0.1.AbdelExiled}]|myexile) moveto(mybattlefield) +text=When Abdel Adrian, Gorion's Ward enters the battlefield, exile any number of other nonland permanents you control until Abdel Adrian leaves the battlefield. Create a 1/1 white Soldier creature token for each permanent exiled this way. -- Choose a Background (You can have a Background as a second commander.) +mana={4}{W} +type=Legendary Creature +subtype=Human Warrior +power=4 +toughness=4 +[/card] +[card] name=Aberrant Mind Sorcerer auto=target(*[instant;sorcery]|mygraveyard) name(Choose instant or sorcery and roll a d20) rolld20 20 winability moveto(myhand) winabilityend loseability if compare(lastrollresult)~lessthan~10 then may name(Put on top) moveTo(mylibrary) else moveto(myhand) loseabilityend rolld20end text=Psionic Spells - When Aberrant Mind Sorcerer enters the battlefield, choose target instant or sorcery card in your graveyard, then roll a d20. -- 1-9 | You may put that card on top of your library. -- 10-20 | Return that card to your hand. @@ -138,16 +161,6 @@ power=0 toughness=1 [/card] [card] -name=Abu Jafar -auto=_DIES_may name(Destroy blocked or blocking creatures) bury target(creature[blocking;blocked]|opponentBattlefield) -text=When Abu Ja'far dies, destroy all creatures blocking or blocked by it. They can't be regenerated. -mana={W} -type=Creature -subtype=Human -power=0 -toughness=1 -[/card] -[card] name=Abuna's Chant other={5}{R} name(Entwine) auto=ifnot paid(alternative) then transforms((,newability[choice life:5 controller],newability[choice prevent:5 target(creature|battlefield)])) @@ -305,6 +318,14 @@ power=2 toughness=3 [/card] [card] +name=Acolyte of Bahamut +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[this(counter{0/0.1.AcolyteEffect}=0) lord(*[dragon]|mycastingzone) altercost(colorless:-2)],newability[@movedto(*[dragon]|mystack):name(Dragon spell casted) counter(0/0.1.AcolyteEffect) notrg],newability[@each endofturn restriction{compare(hascntacolyteffect)~morethan~0}:name(Effect ends) removeallcounters(0/0.1.AcolyteEffect)])) +text=Commander creatures you own have "The first Dragon spell you cast each turn costs {2} less to cast." +mana={1}{G} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Acquisitions Expert aicode=activate reject notatarget(*|opponenthand) auto=reveal:calculateparty revealzone(opponenthand) optionone name(choose discards) notatarget(<1>*|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend @@ -471,7 +492,7 @@ toughness=1 [card] name=Adorned Pouncer abilities=double strike -autograveyard={3}{W}{W}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={3}{W}{W}{E}:_ETERNALIZE_ text=Double strike -- Eternalize {3}{W}{W} ({3}{W}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Cat with no mana cost. Eternalize only as a sorcery.) mana={1}{W} type=Creature @@ -584,7 +605,7 @@ name=Aerial Boost other={convoke} name(Convoke) target=creature auto=2/2 -auto=flying +auto=flying text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Target creature gets +2/+2 and gains flying until end of turn. mana={1}{W} type=Instant @@ -891,6 +912,22 @@ power=2 toughness=3 [/card] [card] +name=Agent of the Iron Throne +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@movedto(graveyard) from(*[creature;artifact]|mybattlefield):name(Opponent looses life) life:-1 opponent])) +text=Commander creatures you own have "Whenever an artifact or creature you control is put into a graveyard from the battlefield, each opponent loses 1 life." +mana={2}{B} +type=Legendary Enchantment +subtype=Background +[/card] +[card] +name=Agent of the Shadow Thieves +auto=@combat(attacking) source(*[iscommander]|mybattlefield):name(Put counter, deathtouch and indestructible) all(trigger[to]) transforms((,newability[deathtouch],newability[indestructible],newability[counter(1/1)])) ueot +text=Commander creatures you own have "Whenever this creature attacks a player, if no opponent has more life than that player, put a +1/+1 counter on this creature. It gains deathtouch and indestructible until end of turn." +mana={1}{B} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Aggression target=creature[-wall] auto=first strike @@ -1146,7 +1183,7 @@ toughness=3 [/card] [card] name=Akki Ronin -auto=@combat(attackedalone) source(*[Samurai;Warrior]|myBattlefield):may reject notatarget(*|myhand) and!( draw:1 controller )! +auto=@combat(attackedalone) source(*[Samurai;Warrior]|myBattlefield):may _DISCARD&DRAW_ text=Whenever a Samurai or Warrior you control attacks alone, you may discard a card. If you do, draw a card. mana={1}{R} type=Creature @@ -1286,6 +1323,16 @@ mana={10} type=Artifact [/card] [card] +name=Alaundo the Seer +auto={T}:name(Draw and exile) all(*[zpos=1]|mylibrary) moveto(myhand) and!( transforms((,newability[name(Exile a card) target(*|myhand) moveto(myexile) and!( transforms((,newability[counter(0/0.manacost.Time)],newability[name(Remove time counter) name(Remove time counter) all(other *[counter{0/0.1.Time}]|myexile) counter(0/0.-1.Time)],newability[@counterremoved(0/0.1.Time) from(this|myexile) restriction{compare(hascnttime)~equalto~0}:may name(Cast from exile) name(Cast from exile) all(this|mygraveyard) moveto(myexile) and!( if cantargetcard(*[-creature]|*) then activate castcard(normal) else moveto(myBattlefield) and!( transforms((,newability[haste])) ueot )! )!])) forever])) forever )! +text={T}: Draw a card, then exile a card from your hand and put a number of time counters on it equal to its mana value. It gains "When the last time counter is removed from this card, if it's exiled, you may cast it without paying its mana cost. If you cast a creature spell this way, it gains haste until end of turn." Then remove a time counter from each other card you own in exile. +mana={2}{G}{U} +type=Legendary Creature +subtype=Human Shaman +power=3 +toughness=5 +[/card] +[card] name=Alchemist's Gambit #MISSING:Damage can't be prevented abilities=exiledeath @@ -1354,8 +1401,8 @@ toughness=4 [card] name=Alhammarret's Archive abilities=lifefaker -auto=@lifeof(player) from(*[-Alhammarret's Archive]):life:thatmuch -auto=replacedraw draw:2 noreplace +auto=@lifeof(player) from(*[-lifefaker]|*):life:thatmuch +auto=replacedraw if compare(currentphase)~equalto~3 then draw:1 noreplace else draw:2 noreplace text=If you would gain life, you gain twice that much life instead. -- If you would draw a card except the first one you draw in each of your draw steps, draw two cards instead. mana={5} type=Legendary Artifact @@ -1515,7 +1562,7 @@ toughness=2 [card] name=Alpha Status target=creature -auto=teach(creature) foreach(other creature[share!subtype!]|battlefield) 2/2 +auto=teach(creature) transforms((,newability[foreach(other *[creature;share!types!]|battlefield) 2/2])) text=Enchant creature -- Enchanted creature gets +2/+2 for each other creature on the battlefield that shares a creature type with it. mana={2}{G} type=Enchantment @@ -1617,6 +1664,18 @@ power=1 toughness=1 [/card] [card] +name=Altar of Bhaal // Bone Offering +abilities=adventure +restriction=can play creature +other={2}{B} name(Adventure) +auto=if paid(alternative) then name(Create Skeleton) name(Create Skeleton) token(Skeleton,Creature Skeleton,4/1,black,menace) and!( tap(noevent) )! +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto={2}{B}{T}{E(creature|myBattlefield)}:name(Return creature) target(creature|mygraveyard) moveTo(mybattlefield) asSorcery +text={2}{B}, {T}, Exile a creature you control: Return target creature card from your graveyard to the battlefield. Activate only as a sorcery. // Create a tapped 4/1 black Skeleton creature token with menace. (Then exile this card. You may cast the artifact later from exile.) +mana={1}{B} +type=Artifact +[/card] +[card] name=Altar of Dementia auto={S(creature|mybattlefield)}:name(deplete player) target(player) deplete:storedpower text=Sacrifice a creature: Target player puts a number of cards equal to the sacrificed creature's power from the top of their library into their graveyard. @@ -1699,6 +1758,16 @@ power=3 toughness=3 [/card] [card] +name=Ambitious Dragonborn +auto=if compare(power:highest:*:mybattlefield)~morethan~compare(power:highest:*:mygraveyard) then name(Add 1/1 counters) counter(1/1,power:highest:*:mybattlefield) else name(Add 1/1 counters) counter(1/1,power:highest:*:mygraveyard) +text=Ambitious Dragonborn enters the battlefield with X +1/+1 counters on it, where X is the greatest power among creatures you control and creature cards in your graveyard. +mana={3}{G} +type=Creature +subtype=Dragon Barbarian +power=0 +toughness=0 +[/card] +[card] name=Ambitious Farmhand backside=Seasoned Cathar restriction=compare(isflipped)~equalto~0 @@ -1733,6 +1802,20 @@ power=1 toughness=2 [/card] [card] +name=Amethyst Dragon // Explosive Crystal +abilities=flying,haste,adventure +restriction=can play creature +other={4}{R} name(Adventure) +auto=if paid(alternative) then name(Deal 4 damage) name(Deal 4 damage) thisforeach(variable{4}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(player,creature,planeswalker) damage:1!$ controller +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +text=Flying, haste // Explosive Crystal deals 4 damage divided as you choose among any number of targets. (Then exile this card. You may cast the creature later from exile.) +mana={4}{R}{R} +type=Creature +subtype=Dragon +power=4 +toughness=4 +[/card] +[card] name=Ammit Eternal auto=@combatdamaged(player) from(this):removeallcounters(-1/-1) auto=@movedTo(*|opponentstack):counter(-1/-1) @@ -1845,7 +1928,7 @@ toughness=3 name=Ancestor Dragon abilities=flying auto=@each blockers:life:type:creature[attacking]:mybattlefield controller -text=Flying. -- Whenever one o more creatures you control attack, you gain 1 life for each attacking creature. +text=Flying. -- Whenever one or more creatures you control attack, you gain 1 life for each attacking creature. mana={4}{W}{W} type=Creature subtype=Dragon @@ -1887,7 +1970,7 @@ subtype=Equipment [card] name=Ancient Animus target=creature|myBattlefield -auto=counter(1/1) +auto=if cantargetcard(legendary) then counter(1/1) auto=transforms((,newability[target(creature|opponentbattlefield) dynamicability])) ueot restriction=type(creature|opponentbattlefield)~morethan~0 text=Put a +1/+1 counter on target creature you control if it's legendary. Then it fights target creature an opponent controls. (Each deals damage equal to its power to the other.) @@ -1895,6 +1978,18 @@ mana={1}{G} type=Instant [/card] [card] +name=Ancient Brass Dragon +abilities=flying +auto=@combatdamaged(player) from(this):name(Roll a d20) rolld20 20 winability donothing winabilityend rolld20end +auto=@dierolled(this) from(controller):name(Return creatures) target(creature[manacost<=lastrollresult]|mygraveyard) moveto(myBattlefield) +text=Flying -- Whenever Ancient Brass Dragon deals combat damage to a player, roll a d20. When you do, put any number of target creature cards with total mana value X or less from graveyards onto the battlefield under your control, where X is the result. +mana={5}{B}{B} +type=Creature +subtype=Elder Dragon +power=7 +toughness=6 +[/card] +[card] name=Ancient Brontodon mana={6}{G}{G} type=Creature @@ -2266,6 +2361,20 @@ power=5 toughness=5 [/card] [card] +name=Angelic Intervention +target=creature,planeswalker|myBattlefield +auto=choice name(colorless) transforms((,newability[protection from colorless])) ueot +auto=choice name(white) transforms((,newability[protection from white])) ueot +auto=choice name(blue) transforms((,newability[protection from blue])) ueot +auto=choice name(black) transforms((,newability[protection from black])) ueot +auto=choice name(red) transforms((,newability[protection from red])) ueot +auto=choice name(green) transforms((,newability[protection from green])) ueot +auto=if cantargetcard(creature) then counter(1/1) +text=Target creature or planeswalker you control gains protection from colorless or from the color of your choice until end of turn. If it's a creature, put a +1/+1 counter on it. (It can't be blocked, targeted, dealt damage, enchanted, or equipped by anything with that quality.) +mana={1}{W} +type=Instant +[/card] +[card] name=Angelic Observer abilities=flying anyzone=foreach(Citizen|myBattlefield) changecost(colorless:-1) forcedalive @@ -2419,7 +2528,7 @@ toughness=2 [/card] [card] name=Animation Module -auto=@counteradded(1/1) from(*|mybattlefield):name(pay 1 for 1/1 Servo) pay[[{1}]] name(pay 1 for 1/1 Servo) token(Servo,Artifact Creature Servo,1/1) +auto=@counteradded(1/1) from(*|mybattlefield):name(pay 1 for 1/1 Servo) pay[[{1}]] name(pay 1 for 1/1 Servo) _SERVOTOKEN_ auto={3}{T}:name(Add a counter) name(Add a counter) target(proliferation) duplicatecounters(single) text=Whenever one or more +1/+1 counters are placed on a permanent you control, you may pay {1}. If you do, create a 1/1 colorless Servo artifact creature token. -- {3}, {T}: Choose a counter on target permanent or player. Give that permanent or player another counter of that kind. mana={1} @@ -2568,7 +2677,7 @@ name=Anowon, the Ruin Thief auto=lord(other creature[rogue]|mybattlefield) 1/1 auto=@combatdamagefoeof(player) from(creature[rogue]|myBattlefield) restriction{type(creature[zpos<=thatmuch]|opponentlibrary)~lessthan~1}:deplete:thatmuch opponent auto=@combatdamagefoeof(player) from(creature[rogue]|myBattlefield) restriction{type(creature[zpos<=thatmuch]|opponentlibrary)~morethan~0}:deplete:thatmuch opponent && draw:1 controller -text=Other Rogues you control get +1/+1. -- Whenever one or more Rogues you control deal combat damage to a player, that player mills a card for each 1 damage dealt to them. If the player mills at least one creature card this way, you draw a card. (To mill a card, a player puts the top card of their library into their graveyard.) +text=Other Rogues you control get +1/+1. -- Whenever one or more Rogues you control deal combat damage to a player, that player mills a card for each 1 damage dealt to them. If the player mills at least one creature card this way, you draw a card. (To mill a card, a player mills a card.) mana={2}{U}{B} type=Legendary Creature subtype=Vampire Rogue @@ -2618,7 +2727,7 @@ name=Anticognition target=*[creature;planeswalker]|stack aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) forever -auto=if type(*|opponentGraveyard)~morethan~7 then _SCRY_(2) +auto=if type(*|opponentGraveyard)~morethan~7 then _SCRY2_ text=Counter target creature or planeswalker spell unless its controller pays {2}. If an opponent has eight or more cards in their graveyard, instead counter that spell, then scry 2. mana={1}{U} type=Instant @@ -3193,7 +3302,7 @@ name=Archangel Elspeth auto=counter(0/0,4,loyalty) auto={C(0/0,+1,Loyalty)}:create(soldier:creature soldier:1/1:white:lifelink) auto={C(0/0,-2,Loyalty)}:target(creature) counter(1/1,2) && transforms((Angel,newability[flying])) forever -auto={C(0/0,-6,Loyalty)}:moveTo(mybattlefield) all(*[-land;-instant;-sorcery;manacost<=3]|myGraveyard) +auto={C(0/0,-6,Loyalty)}:moveTo(mybattlefield) all(*[-land;-instant;-sorcery;manacost<=3]|myGraveyard) text=[+1]: Create a 1/1 white Soldier creature token with lifelink. -- [-2]: Put two +1/+1 counters on target creature. It becomes an Angel in addition to its other types and gains flying. -- [-6]: Return all nonland permanent cards with mana value 3 or less from your graveyard to the battlefield. mana={2}{W}{W} type=Legendary Planeswalker @@ -3261,7 +3370,7 @@ toughness=5 name=Archfiend of Spite abilities=flying,madness autoexile=restriction{discarded} pay({3}{B}{B}) name(pay 3BB to cast) activate name(pay 2G to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard) -auto=_ENRAGE_life:-thatmuch opponent donothing?sacrifice notatarget(*|mybattlefield)!$ opponent +auto=_ENRAGE_ability$!life:-thatmuch opponent donothing?sacrifice notatarget(*|mybattlefield)!$ opponent text=Flying -- Whenever a source an opponent controls deals damage to Archfiend of Spite, that source's controller loses that much life unless they sacrifice that many permanents. -- Madness {3}{B}{B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) mana={5}{B}{B} type=Creature @@ -3795,6 +3904,19 @@ mana={B} type=Instant [/card] [card] +name=Armor of Thorns +abilities=asflash +other={1}{G} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +target=creature[-black] +auto=teach(creature) +2/+2 +text=You may cast Armor of Thorns as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant nonblack creature -- Enchanted creature gets +2/+2. +mana={1}{G} +type=Enchantment +subtype=Aura +[/card] +[card] name=Armored Skyhunter abilities=flying aicode=activate target(*[aura;equipment;zpos<=6]|mylibrary) moveto(myBattlefield) and!( transforms((,newability[if cantargetcard(*[equipment]|*) then name(Attach to creature) rehook target(creature|mybattlefield)],newability[all(*[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot )! @@ -3971,10 +4093,25 @@ mana={2}{U}{B} type=Instant [/card] [card] +name=Artificer Class +auto=this(counter{0/0.1.ArtificerEffect}=0) lord(artifact|mycastingzone) altercost(colorless, -1) +auto=@movedto(artifact|mystack):counter(0/0,1,ArtificerEffect) +auto=@each endofturn restriction{compare(hascntartificereffect)~morethan~0}:removeallcounters(0/0.1.ArtificerEffect) +auto=counter(0/0,1,Level) +auto=this(variable{hascntlevel}=1) {1}{U}:name(Level 2) counter(0/0,1,Level) asSorcery +auto=this(variable{hascntlevel}=2) {5}{U}:name(Level 3) counter(0/0,1,Level) asSorcery +auto=@counteradded(0/0.1.Level) from(this) restriction{compare(hascntlevel)~equalto~2}:name(Exile cards) name(Exile cards) target(*[zpos=findfirsttypeartifact]|mylibrary) moveto(myexile) and!( moveto(myBattlefield) and!( all(*[zpos<=findfirsttypeartifact]|mylibrary) moveto(exile) and!( bottomoflibrary )! )! )! +auto=@counteradded(0/0.1.Level) from(this) restriction{compare(hascntlevel)~equalto~3}:name(Create a copy) transforms((,newability[@each my endofturn restriction{type(artifact|mybattlefield)~morethan~0}:name(Copy an artifact) target(artifact|mybattlefield) clone])) ueot +text=(Gain the next level as a sorcery to add its ability.) -- The first artifact spell you cast each turn costs {1} less to cast. -- {1}{U}: Level 2 -- When this Class becomes level 2, reveal cards from the top of your library until you reveal an artifact card. Put that card into your hand and the rest on the bottom of your library in a random order. -- {5}{U}: Level 3 -- At the beginning of your end step, create a token that's a copy of target artifact you control. +mana={1}{U} +type=Enchantment +subtype=Class +[/card] +[card] name=Artificer's Assistant abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_CASTHISTORIC__SCRY_(1) +auto=_CASTHISTORIC__SCRY1_ text=Flying -- Whenever you cast a historic spell, scry 1. (Artifacts, legendaries, and Sagas are historic. To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) mana={U} type=Creature @@ -4315,6 +4452,15 @@ mana={GW}{GW} type=Instant [/card] [card] +name=Astarion's Thirst +target=creature|battlefield +auto=moveto(exile) +auto=name(Add counters to commander) target(*[iscommander]|mybattlefield) counter(1/1,storedpower) +text=Exile target creature. Put X +1/+1 counters on a commander creature you control, where X is the power of the creature exiled this way. +mana={3}{B} +type=Instant +[/card] +[card] name=Astarion, the Decadent abilities=deathtouch,lifelink auto=@each my endofturn:ability$!name(Choose one) choice name(Feed) damage:oplifelost opponent _ choice name(Friends) life:lifegain!$ controller @@ -4326,6 +4472,16 @@ power=4 toughness=4 [/card] [card] +name=Astral Confrontation +otherrestriction=myattackersonly +other={3}{W} name(Cost 1 less) +target=creature +auto=moveto(exile) +text=This spell costs {1} less to cast for each opponent you're attacking. -- Exile target creature. +mana={4}{W} +type=Instant +[/card] +[card] name=Astral Cornucopia auto=if paid(kicker) then counter(0/0,kicked,Charge) auto={T}:name(Add X white mana) thisforeach(counter{0/0,1,Charge}) add{W} @@ -4339,6 +4495,20 @@ mana={0} type=Artifact [/card] [card] +name=Astral Dragon +abilities=flying +auto=name(Choose a permanent) target(*[-creature]|battlefield) counter(0/0,1,AstralChoosen) +auto=@counteradded(0/0.1.AstralChoosen) from(*[-creature]|battlefield) once:name(Effect ends) all(*[counter{0/0.1.AstralChoosen}]|battlefield) removeallcounters(0/0,1,AstralChoosen) +auto=@counteradded(0/0.1.AstralChoosen) from(*[-creature]|battlefield) once:name(Clone permanent) all(*[counter{0/0.1.AstralChoosen}]|battlefield) clone and!( transforms((Creature Dragon,setpower=3,settoughness=3,newability[flying])) forever )! +auto=@counteradded(0/0.1.AstralChoosen) from(*[-creature]|battlefield) once:name(Clone permanent) all(*[counter{0/0.1.AstralChoosen}]|battlefield) clone and!( transforms((Creature Dragon,setpower=3,settoughness=3,newability[flying])) forever )! +text=Flying -- Project Image - When Astral Dragon enters the battlefield, create two tokens that are copies of target noncreature permanent, except they're 3/3 Dragon creatures in addition to their other types, and they have flying. +mana={6}{U}{U} +type=Creature +subtype=Dragon +power=4 +toughness=4 +[/card] +[card] name=Astral Drift abilities=cycling auto=@cycled(*|myHand):may (blink)ueot target(creature) @@ -4450,7 +4620,7 @@ type=Sorcery name=Atrocious Experiment target=player auto=deplete:2 && draw:2 && life:-2 -text=Target player mills two cards, draws two cards, and loses 2 life. (To mill a card, a player puts the top card of their library into their graveyard.) +text=Target player mills two cards, draws two cards, and loses 2 life. (To mill a card, a player mills a card.) mana={2}{B} type=Sorcery [/card] @@ -4714,7 +4884,7 @@ toughness=3 [/card] [card] name=Automatic Librarian -auto=_SCRY_(2) +auto=_SCRY2_ text=When Automatic Librarian enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3} type=Artifact Creature @@ -4955,6 +5125,17 @@ power=3 toughness=3 [/card] [card] +name=Avenging Hunter +auto=_INITIATIVE_CONTROLLER_ +abilities=trample +text=Trample -- When Avenging Hunter enters the battlefield, you take the initiative. +mana={4}{G} +type=Creature +subtype=Dragon Ranger +power=5 +toughness=4 +[/card] +[card] name=Avian Oddity abilities=flying,cycling autohand=__CYCLING__({2}{U}) @@ -5072,6 +5253,16 @@ text=Axgard Armory enters the battlefield tapped. -- {T}: Add {W}. -- {1}{R}{R}{ type=Land [/card] [card] +name=Axgard Artisan +auto=@counteradded(1/1) from(this) turnlimited:create(Treasure Sur) +text=Whenever one or more +1/+1 counters are put on Axgard Artisan for the first time each turn, create a Treasure token. (it's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +mana={1}{R} +type=Creature +subtype=Dwarf Artificer +power=2 +toughness=1 +[/card] +[card] name=Axgard Braggart abilities=boast auto={1}{W} restriction{didattack,compare(hascntbstreduce)~equalto~0}:doboast && transforms((,newability[untap],newability[counter(1/1)])) oneshot limit:hasabilitytwoboastplus1plusend @@ -5227,7 +5418,7 @@ toughness=3 [/card] [card] name=Azra Bladeseeker -auto=may reject notatarget(*|myhand) and!( draw:1 controller )! +auto=may _DISCARD&DRAW_ text=When Azra Bladeseeker enters the battlefield, each player on your team may discard a card, then each player who discarded a card this way draws a card. mana={2}{R} type=Creature @@ -5268,6 +5459,29 @@ power=3 toughness=3 [/card] [card] +name=Baba Lysaga, Night Witch +auto={T}{S(land|mybattlefield)}{S(creature|mybattlefield)}{S(artifact|mybattlefield)}:name(Sacrifice land, creature, artifact) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(land|mybattlefield)}{S(enchantment|mybattlefield)}{S(artifact|mybattlefield)}:name(Sacrifice land, enchantment, artifact) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(land|mybattlefield)}{S(planeswalker|mybattlefield)}{S(artifact|mybattlefield)}:name(Sacrifice land, planeswalker, artifact) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(land|mybattlefield)}{S(creature|mybattlefield)}{S(enchantment|mybattlefield)}:name(Sacrifice land, creature, enchantment) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(land|mybattlefield)}{S(planeswalker|mybattlefield)}{S(enchantment|mybattlefield)}:name(Sacrifice land, planeswalker, enchantment) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(land|mybattlefield)}{S(creature|mybattlefield)}{S(planeswalker|mybattlefield)}:name(Sacrifice land, creature, planeswalker) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(artifact|mybattlefield)}{S(planeswalker|mybattlefield)}{S(enchantment|mybattlefield)}:name(Sacrifice artifact, planeswalker, enchantment) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(artifact|mybattlefield)}{S(creature|mybattlefield)}{S(enchantment|mybattlefield)}:name(Sacrifice artifact, creature, enchantment) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(artifact|mybattlefield)}{S(creature|mybattlefield)}{S(planeswalker|mybattlefield)}:name(Sacrifice artifact, creature, planeswalker) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(enchantment|mybattlefield)}{S(creature|mybattlefield)}{S(planeswalker|mybattlefield)}:name(Sacrifice enchantment, creature, planeswalker) life:-3 opponent && life:3 controller && draw:3 controller +auto={T}{S(*|mybattlefield)}{S(*|mybattlefield)}{S(*|mybattlefield)}:name(Sacrifice 3 generic permanent) donothing +auto={T}{S(*|mybattlefield)}{S(*|mybattlefield)}:name(Sacrifice 2 generic permanent) donothing +auto={T}{S(*|mybattlefield)}:name(Sacrifice 1 generic permanent) donothing +auto={T}:name(Don't sacrifice any permanent) donothing +text={T}, Sacrifice up to three permanents: If there were three or more card types among the sacrificed permanents, each opponent loses 3 life, you gain 3 life, and you draw three cards. +mana={1}{B}{G} +type=Legendary Creature +subtype=Human Warlock +power=3 +toughness=3 +[/card] +[card] name=Back for More target=creature|myGraveyard auto=moveTo(myBattlefield) @@ -5309,13 +5523,25 @@ type=Conspiracy name=Bad Deal auto=draw:2 controller auto=ability$!name(discard 2 cards) target(<2>*|myhand) reject!$ opponent -auto=life:-2 opponent -auto=life:-2 controller +auto=all(player) life:-2 text=You draw two cards and each opponent discards two cards. Each player loses 2 life. mana={4}{B}{B} type=Sorcery [/card] [card] +name=Baeloth Barrityl, Entertainer +abilities=backgroundpartner +auto=lord(creature[power<=pminus1minusend]|opponentBattlefield) transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack])) +auto=@movedto(creature[-blocking;attacking;counter{0/0.1.Goaded}]|graveyard) from(battlefield):name(Create treasure) token(Treasure Sur) +auto=@movedto(creature[-attacking;blocking;counter{0/0.1.Goaded}]|graveyard) from(battlefield):name(Create treasure) token(Treasure Sur) +text=Creatures your opponents control with power less than Baeloth Barrityl's power are goaded. (They attack each combat if able and attack a player other than you if able.) -- Whenever a goaded attacking or blocking creature dies, you create a Treasure token. -- Choose a Background (You can have a Background as a second commander.) +mana={4}{R} +type=Legendary Creature +subtype=Elf Shaman +power=2 +toughness=5 +[/card] +[card] name=Baffling Defenses target=creature auto=counter(0/0,1,PerpetualZeroP) @@ -5415,6 +5641,7 @@ type=Land [/card] [card] name=Balan, Wandering Knight +abilities=first strike auto=this(gear > 1) double strike auto={1}{W}:all(equipment|mybattlefield) newhook text=First strike -- Balan, Wandering Knight has double strike as long as two or more Equipment are attached to it. -- {1}{W}: Attach all Equipment you control to Balan. @@ -5523,6 +5750,18 @@ power=1 toughness=3 [/card] [card] +name=Balor +abilities=flying +auto=_ATTACKING_name(Choose one) transforms((,newability[choice name(Opponent draws and discards) draw:3 opponent && discard:3 opponent],newability[choice name(Opponent sacrifices artifact) ability$!name(Sacrifice nontoken artifact) notatarget(artifact[-token]|mybattlefield) sacrifice!$ opponent],newability[choice name(Damage opponent) damage:type:*:opponenthand opponent])) oneshot +auto=_DIES_name(Choose one) transforms((,newability[choice name(Opponent draws and discards) draw:3 opponent && discard:3 opponent],newability[choice name(Opponent sacrifices artifact) ability$!name(Sacrifice nontoken artifact) notatarget(artifact[-token]|mybattlefield) sacrifice!$ opponent],newability[choice name(Damage opponent) damage:type:*:opponenthand opponent])) oneshot +text=Flying -- Whenever Balor attacks or dies, choose one or more. Each mode must target a different player. -- -Target opponent draws three cards, then discards three cards at random. -- -Target opponent sacrifices a nontoken artifact. -- -Balor deals damage to target opponent equal to the number of cards in their hand. +mana={3}{R}{R} +type=Creature +subtype=Demon +power=5 +toughness=5 +[/card] +[card] name=Baloth Gorger kicker={4} auto=if paid(kicker) then counter(1/1,3) @@ -5575,6 +5814,16 @@ power=0 toughness=3 [/card] [card] +name=Bane's Contingency +target=*|stack +aicode=activate transforms((,newability[may draw:1 controller])) oneshot +auto=may name(Scry 2 and draw) scry:2 scrycore delayed draw:1 controller scrycoreend scryend +auto=fizzle +text=Counter target spell. If that spell targets a commander you control, instead counter that spell, scry 2, then draw a card. +mana={1}{U}{U} +type=Instant +[/card] +[card] name=Bane's Invoker auto={8}:name(Wind Walk) target(creature) 2/2 && flying ueot text=Wind Walk - {8}: Up to two target creatures each get +2/+2 and gain flying until end of turn. @@ -5585,6 +5834,37 @@ power=2 toughness=2 [/card] [card] +name=Bane, Lord of Darkness +auto=this(controllerlife <= halfsuptartinglife) indestructible +auto=@movedTo(other creature[-token;toughness=0]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=0]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=1]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=1]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=2]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=2]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=3]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=3]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=4]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=4]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=5]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=5]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=6]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=6]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=7]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=7]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=8]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=8]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=9]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=9]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=10]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=10]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=11]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=11]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=12]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=12]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=13]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=13]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=14]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=14]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=15]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=15]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=16]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=16]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=17]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=17]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=18]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=18]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness=19]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=19]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +auto=@movedTo(other creature[-token;toughness>=20]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=29]|myhand) moveto(mybattlefield)]))oneshot !$ opponent +text=As long as your life total is less than or equal to half your starting life total, Bane, Lord of Darkness has indestructible. -- Whenever another nontoken creature you control dies, target opponent may have you draw a card. If they don't, you may put a creature card with equal or lesser toughness from your hand onto the battlefield. +mana={1}{W}{U}{B} +type=Legendary Creature +subtype=God +power=5 +toughness=2 +[/card] +[card] name=Baneblade Scoundrel abilities=daybound backside=Baneclaw Marauder @@ -5645,14 +5925,24 @@ toughness=2 [/card] [card] name=Banish into Fable -auto=if casted(this) restriction{type(artifact|myBattlefield)~morethan~0} then copy(Banish into Fable) -auto=if casted(this) restriction{type(enchantment|myBattlefield)~morethan~0} then copy(Banish into Fable) -auto=moveTo(ownerhand) target(*[-land]) && _KNIGHTTOKEN_ controller +auto=if casted(this) restriction{type(artifact|myBattlefield)~morethan~0} then ability$!moveTo(ownerhand) target(*[-land])!$ controller && ability$!_KNIGHTTOKEN_ controller!$ controller +auto=if casted(this) restriction{type(enchantment|myBattlefield)~morethan~0} then ability$!moveTo(ownerhand) target(*[-land])!$ controller && ability$!_KNIGHTTOKEN_ controller!$ controller +auto=_KNIGHTTOKEN_ controller +auto=moveTo(ownerhand) target(*[-land]) text=When you cast this spell from your hand, copy it if you control an artifact, then copy it if you control an enchantment. You may choose new targets for the copies. -- Return target nonland permanent to its owner's hand. You create a 2/2 white Knight creature token with vigilance. mana={4}{W}{U} type=Instant [/card] [card] +name=Banishment +abilities=flash +auto=name(Exile nonland permanent) target(other *[-land]|opponentbattlefield) transforms((,newability[moveto(exile) and!( counter(0/0.1.BanishmentExiled) )!],newability[all(other *[share!name!]|mybattlefield) moveto(exile) and!( counter(0/0.1.BanishmentExiled) )!])) oneshot +auto=_DIES_name(Return exiled permanents) all(*[counter{0/0.1.BanishmentExiled}]|opponentexile) moveto(opponentbattlefield) +text=Flash -- When Banishment enters the battlefield, exile target nonland permanent an opponent controls and all other nonland permanents your opponents control with the same name as that permanent until Banishment leaves the battlefield. +mana={3}{W} +type=Enchantment +[/card] +[card] name=Bankrupt in Blood auto=draw:3 text=As an additional cost to cast this spell, sacrifice two creatures. -- Draw three cards. @@ -5663,7 +5953,7 @@ type=Sorcery name=Bannerhide Krushok abilities=trample autohand={1}{G}{discard}:name(Reinforce) counter(1/1,2) target(creature) -autograveyard={5}{G}{G}{E}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery +autograveyard={5}{G}{G}{E}:_SCAVENGE_(storedpower) text=Trample -- Reinforce 2-{1}{G} ({1}{G}, Discard this card: Put two +1/+1 counters on target creature.) -- Scavenge-{5}{G}{G} ({5}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={3}{G} type=Creature @@ -5728,10 +6018,9 @@ subtype=Equipment [/card] [card] name=Barbed Lightning -target=player other={4}{R} name(Entwine) -auto=ifnot paid(alternative) then transforms((,newability[choice damage:3],newability[choice damage:3 target(creature)])) -auto=if paid(alternative) then damage:3 && damage:3 target(creature) +auto=ifnot paid(alternative) then transforms((,newability[choice name(3 damage to target creature) damage:3 target(creature)],newability[choice name(3 damage to target player) damage:3 target(player)])) +auto=if paid(alternative) then name(3 damage to target creature) ability$! damage:3 target(creature)!$ controller && ability$!(name(3 damage to target player) damage:3 target(player))!$ controller text=Choose one Barbed Lightning deals 3 damage to target creature; or Barbed Lightning deals 3 damage to target player. -- Entwine {2} (Choose both if you pay the entwine cost.) mana={2}{R} type=Instant @@ -5889,6 +6178,14 @@ power=2 toughness=2 [/card] [card] +name=Barroom Brawl +target=creature|myBattlefield +auto=transforms((,newability[name(Fights another creature) target(creature|opponentbattlefield) dynamicability],newability[ability$!may name(copy Barroom Brawl) activate name(copy Barroom Brawl) castcard(copied noevent named!:Barroom Brawl:!)!$ opponent])) ueot +text=Target creature you control fights target creature the opponent to your left controls. Then that player may copy this spell and may choose new targets for the copy. +mana={1}{G} +type=Sorcery +[/card] +[card] name=Barrow Witches auto=moveto(myhand) target(creature[knight]|mygraveyard) text=When Barrow Witches enters the battlefield, return target Knight card from your graveyard to your hand. @@ -6111,6 +6408,19 @@ power=2 toughness=2 [/card] [card] +name=Battle Angels of Tyr +abilities=flying +auto=@combatdamaged(player) from(this) restriction{compare(ohandcount)~morethan~compare(phandcount)}:name(Draw a card) name(Draw a card) draw:1 controller +auto=@combatdamaged(player) from(this) restriction{type(land|opponentbattlefield)~morethan~type(land|mybattlefield)}:name(Create Treasure) name(Create Treasure) token(Treasure Sur) +auto=@combatdamaged(player) from(this) restriction{compare(opponentlifetotal)~morethan~compare(lifetotal)}:name(Gain 3 life) name(Gain 3 life) life:3 controller +text=Flying, myriad -- Whenever Battle Angels of Tyr deals combat damage to a player, draw a card if that player has more cards in hand than each other player. Then you create a Treasure token if that player controls more lands than each other player. Then you gain 3 life if that player has more life than each other player. +mana={2}{W}{W} +type=Creature +subtype=Angel Knight +power=4 +toughness=4 +[/card] +[card] name=Battle Cry Goblin auto={1}{R}:name(Goblins get 1/0 and haste) all(goblin|mybattlefield) transforms((,newability[1/0],newability[haste])) ueot auto=@combat(attacking) source(this) restriction{compare(pwrtotatt)~morethan~5}:name(Create goblin) token(Goblin,Creature Goblin,1/1,red,battleready) @@ -6174,7 +6484,7 @@ aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,n auto=@each my firstmain:counter(0/0,1,Lore) auto=all(creature[-giant]|battlefield) damage:3 auto=all(planeswalker|battlefield) damage:3 -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) _SCRY_(3) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) _SCRY3_ auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) emblem transforms((,newability[@movedTo(*[manacost>=5]|mystack):name(Draw and discard) draw:2 && transforms((,newability[target(*|myhand) reject])) forever])) ueot auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this) text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I - Battle of Frost and Fire deals 4 damage to each non-Giant creature and each planeswalker. -- II - Scry 3. -- III - Whenever you cast a spell with mana value 5 or greater this turn, draw two cards, then discard a card. @@ -6213,7 +6523,7 @@ toughness=2 [/card] [card] name=Battlefield Scavenger -auto=@exerted(creature|myBattlefield):may reject notatarget(*|myhand) and!( draw:1 controller )! +auto=@exerted(creature|myBattlefield):may _DISCARD&DRAW_ auto=_ATTACKING_may exert text=You may exert Battlefield Scavenger as it attacks. (It won't untap during your next untap step.) -- Whenever you exert a creature, you may discard a card. If you do, draw a card. mana={1}{R} @@ -6332,7 +6642,7 @@ name=Beamtown Beatstick auto=teach(creature) 1/0 auto=teach(creature) menace auto=teach(creature) transforms((,newability[@combatdamagefoeof(player) from(this):create(Treasure sur)])) -auto={2}:equip +auto={2}:equip text=Equipped creature gets +1/+0 and has menace. (It can't be blocked except by two or more creatures.) -- Whenever equipped creature deals combat damage to a player or battle, create a Treasure token. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) mana={R} type=Artifact @@ -6937,6 +7247,17 @@ power=4 toughness=2 [/card] [card] +name=Bhaal, Lord of Murder +auto=this(controllerlife <= halfsuptartinglife) indestructible +auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):name(Put 1/1 counter and goad) target(creature|battlefield) transforms((,newability[counter(1/1)],newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[phaseaction[endofturn next once sourceinplay] removeallcounters(0/0.-1.Goaded)])) forever +text=As long as your life total is less than or equal to half your starting life total, Bhaal, Lord of Murder has indestructible. -- Whenever another nontoken creature you control dies, put a +1/+1 counter on target creature and goad it. +mana={2}{B}{R}{G} +type=Legendary Creature +subtype=God +power=4 +toughness=4 +[/card] +[card] name=Biblioplex Assistant abilities=flying auto=may name(Return instant or sorcery) target(*[instant;sorcery]|mygraveyard) moveto(mylibrary) @@ -7076,7 +7397,7 @@ abilities=defender restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ auto=@sacrificed(this):name(Return transformed) name(Return transformed) transforms((,newability[@each endofturn:name(Return transformed) flip(backside) forcetype(Creature Serpent)])) ueot text=Defender -- When Biolume Egg enters the battlefield, scry 2. -- When you sacrifice Biolume Egg, return it to the battlefield transformed under its owner's control at the beginning of the next end step. // Biolume Serpent mana={2}{U} @@ -7290,6 +7611,17 @@ power=4 toughness=4 [/card] [card] +name=Bitterthorn, Nissa's Animus +auto=teach(creature) 1/1 +auto=@combat(attacking) source(mytgt):may name(search basic land) notAtarget(land[basic]|myLibrary) moveTo(myBattlefield) and!(tap(noevent))! +auto={3}:equip +auto=livingweapontoken(Phyrexian Germ,Creature Phyrexian Germ,0/0,black) +text=Living weapon (When this Equipment enters the battlefield, create a 0/0 black Phyrexian Germ creature token, then attach this to it.) -- Equipped creature gets +1/+1. -- Whenever equipped creature attacks, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle. -- Equip {3} +mana={3} +type=Legendary Artifact +subtype=Equipment +[/card] +[card] name=Black Dragon abilities=flying auto=name(Creature gets -3/-3) target(creature|opponentbattlefield) -3/-3 ueot @@ -7481,7 +7813,7 @@ abilities=flash auto=rehook target(creature|myBattlefield) auto=indestructible ueot auto=teach(creature) 1/0 -auto={1}:equip +auto={1}:equip text=Flash -- When Bladed Battle-Fan enters the battlefield, attach it to target creature you control. That creature gains indestructible until end of turn. -- Equipped creature gets +1/+0. -- Equip {1} ({1} : Attach to target creature you control. Equip only as a sorcery.) mana={1}{B} type=Artifact @@ -7684,7 +8016,7 @@ auto=if paid(alternative) then untap target(creature) auto=if paid(alternative) then ability$!name(sacrifice) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer auto=ifnot paid(alternative) then choice name(Player gains life) life:4 controller auto=ifnot paid(alternative) then choice name(Untap creatures) untap target(creature) -auto=ifnot paid(alternative) then choice name(Opponent scrifices creature) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer +auto=ifnot paid(alternative) then choice ability$!name(Opponent scrifices creature) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer text=Escalate {2} (Pay this cost for each mode chosen beyond the first.) -- Choose one or more -- Target player gains 4 life. -- Untap up to two target creatures. -- Target opponent sacrifices an attacking creature. mana={1}{W} type=Instant @@ -7698,6 +8030,22 @@ mana={W} type=Instant [/card] [card] +name=Blessed Hippogriff // Tyr's Blessing +abilities=adventure,asflash,flying +restriction=can play creature +otherrestriction=type(creature|battlefield)~morethan~0 +other={W} name(Adventure) +auto=if paid(alternative) then name(Gains indestructible) name(Gains indestructible) target(creature) transforms((,newability[indestructible])) ueot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=_ATTACKING_name(Another creature gains flying) target(creature[attacking;-flying]) transforms((,newability[flying])) ueot +text=Flying -- Whenever Blessed Hippogriff attacks, target attacking creature without flying gains flying until end of turn. // Target creature gains indestructible until end of turn. (Then exile this card. You may cast the creature later from exile.) +mana={3}{W} +type=Creature +subtype=Hippogriff +power=2 +toughness=3 +[/card] +[card] name=Blessed Light target=creature,enchantment. auto=moveto(exile) @@ -8040,6 +8388,7 @@ type=Instant name=Blizzard Brawl target=creature|mybattlefield restriction=type(creature|mybattlefield)~morethan~0,type(creature|opponentbattlefield)~morethan~0 +auto=if type(*[snow]|mybattlefield)~lessthan~3 then transforms((,newability[target(creature|opponentbattlefield) dynamicability])) ueot auto=if type(*[snow]|mybattlefield)~morethan~2 then transforms((,newability[1/0],newability[indestructible],newability[target(creature|opponentbattlefield) dynamicability])) ueot text=Choose target creature you control and target creature you don't control. If you control three or more snow permanents, the creature you control gets +1/+0 and gains indestructible until end of turn. Then those creatures fight each other. (Each deals damage equal to its power to the other.) mana={G} @@ -8312,6 +8661,17 @@ power=3 toughness=3 [/card] [card] +name=Bloodboil Sorcerer +auto=_INITIATIVE_CONTROLLER_ +auto={1}{R}{S(*[artifact;creature]|myBattlefield)}:name(Goad a creature) target(creature|battlefield) _GOAD_ +text=When Bloodboil Sorcerer enters the battlefield, you take the initiative. -- Crown of Madness - {1}{R}, Sacrifice an artifact or creature: Goad target creature. (Until your next turn, that creature attacks each combat if able and attacks a player other than you if able.) +mana={3}{R} +type=Creature +subtype=Human Shaman +power=3 +toughness=3 +[/card] +[card] name=Bloodborn Scoundrels auto=target(opponent) life:-2 auto=life:2 controller @@ -8409,8 +8769,8 @@ type=Instant [card] name=Bloodline Necromancer abilities=lifelink -auto=name(return Vampire) may target(vampire[creature]|mygraveyard) moveTo(mybattlefield) -auto=name(return Wizard) may target(wizard[creature]|mygraveyard) moveTo(mybattlefield) +auto=may name(return Vampire) target(vampire[creature]|mygraveyard) moveTo(mybattlefield) +auto=may name(return Wizard) target(wizard[creature]|mygraveyard) moveTo(mybattlefield) text=Lifelink -- When Bloodline Necromancer enters the battlefield, you may return target Vampire or Wizard creature card from your graveyard to the battlefield. mana={4}{B} type=Creature @@ -9067,11 +9427,10 @@ type=Sorcery [/card] [card] name=Bond of Insight -auto=deplete:4 -auto=deplete:4 opponent +auto=all(player) deplete:4 auto=target(*[instant;sorcery]|mygraveyard) moveto(ownerhand) auto=moveto(exile) -text=Each player puts the top four cards of their library into their graveyard. Return up to two instant and/or sorcery cards from your graveyard to your hand. Exile Bond of Insight. +text=Each player mills four cards. Return up to two instant and/or sorcery cards from your graveyard to your hand. Exile Bond of Insight. mana={3}{U} type=Sorcery [/card] @@ -9320,7 +9679,7 @@ aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,n auto=@movedto(creature|mygraveyard) from(mybattlefield):-cantattack ueot auto=@movedto(creature|mygraveyard) from(mybattlefield):-cantpwattack ueot auto=@movedto(creature|mygraveyard) from(mybattlefield):-cantblock ueot -auto={1}{B}{S(other creature|mybattlefield)}:_SCRY_(1) && life:-1 opponent && life:1 controller +auto={1}{B}{S(other creature|mybattlefield)}:_SCRY1_ && life:-1 opponent && life:1 controller text=Menace, indestructible -- Bontu the Glorified can't attack or block unless a creature died under your control this turn. -- {1}{B}, Sacrifice another creature: Scry 1. Each opponent loses 1 life and you gain 1 life. mana={2}{B} type=Legendary Creature @@ -9569,6 +9928,18 @@ text=Botanical Plaza enters the battlefield tapped. -- {T}: Add {G} or {W}. -- { type=Land [/card] [card] +name=Bothersome Quasit +abilities=menace +auto=@movedTo(*[-creature]|mystack):name(Goad a creature) target(creature|opponentBattlefield) _GOAD_ +auto=lord(creature[counter{0/0.1.Goaded}]|opponentBattlefield) cantblock +text=Menace -- Goaded creatures your opponents control can't block. -- Whenever you cast a noncreature spell, goad target creature an opponent controls. (Until your next turn, that creature attacks each combat if able and attacks a player other than you if able.) +mana={2}{R} +type=Creature +subtype=Demon +power=3 +toughness=2 +[/card] +[card] name=Bottle Golems abilities=trample auto=_DIES_name(Gain life) life:power controller @@ -9705,7 +10076,8 @@ type=Instant [/card] [card] name=Bounty of the Luxa -auto=@each my firstmain:if type(this[counter(flood)])~morethan~0 ability$!thisforeach(counter{0/0,1,flood}) counter(0/0,-1,flood) && add{1}{G}{U}!$ controller else ability$!counter(0/0,1,flood) && draw:1 controller!$ controller +#auto=@each my firstmain:if type(this[counter{0/0.1.flood}])~morethan~0 ability$!thisforeach(counter{0/0,1,flood}) counter(0/0,-1,flood) && add{1}{G}{U}!$ controller else ability$!counter(0/0,1,flood) && draw:1 controller!$ controller +auto=@each my firstmain:if type(this[counter{0/0.1.flood}])~equalto~0 then counter(0/0,1,flood) && draw:1 controller else removeallcounters(0/0,1,flood) && add {1}{G}{U} text=At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa. If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card. Otherwise, add {1}{G}{U} to your mana pool. mana={2}{G}{U} type=Enchantment @@ -9756,6 +10128,20 @@ mana={1}{B} type=Sorcery [/card] [card] +name=Brainstealer Dragon +abilities=flying +auto=@movedto(*[-land]|mybattlefield) from(opponentzones):name(Opponent looses life) all(trigger[to]) transforms((,newability[life:-manacost opponent])) oneshot +auto=@movedto(*[-land;counter{0/0.1.BrainExiled}]|mybattlefield):name(Opponent looses life) all(trigger[to]) transforms((,newability[life:-manacost opponent])) oneshot +auto=@each my endofturn:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(opponentexile) and!( counter(0/0.1.BrainExiled) )! +auto={0}:name(Cast exiled card) target(*[counter{0/0.1.BrainExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[counter(0/0.1.BrainExiled)],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.BrainExiled)])) ueot )! +text=Flying -- At the beginning of your end step, exile the top card of each opponent's library. You may play those cards for as long as they remain exiled. If you cast a spell this way, you may spend mana as though it were mana of any color to cast it. -- Whenever a nonland permanent an opponent owns enters the battlefield under your control, they lose life equal to its mana value. +mana={5}{B}{B} +type=Creature +subtype=Dragon Horror +power=6 +toughness=6 +[/card] +[card] name=Brainstone auto={2}{T}{S}:draw:3 && transforms((,newability[target(<2>*|myhand) moveto(mylibrary)])) forever text={2}, {T}, Sacrifice Brainstone: Draw three cards, then put two cards from your hand on top of your library in any order. @@ -9851,7 +10237,7 @@ type=Instant [/card] [card] name=Branching Evolution -auto=@counteradded(1/1) from(creature):counter(1/1) all(trigger[from]) +auto=@counteradded(1/1) from(creature|mybattlefield):target(creature[counter{1/1}]|Battlefield) counter(1/1) notrg text=If one or more +1/+1 counters would be put on a creature you control, twice that many +1/+1 counters are put on that creature instead. mana={2}{G} type=Enchantment @@ -9960,8 +10346,7 @@ toughness=2 [/card] [card] name=Breach the Multiverse -auto=deplete:10 controller -auto=deplete:10 opponent +auto=all(player) deplete:10 auto=ability$! choice all(creature|myBattlefield) transforms((Phyrexian)) forever !$ controller auto=ability$! target(creature,planeswalker|myGraveyard) moveTo(myBattlefield) !$ controller auto=ability$! target(creature,planeswalker|opponentGraveyard) moveTo(myBattlefield) !$ controller @@ -10529,7 +10914,7 @@ subtype=Equipment [/card] [card] name=Bronze Walrus -auto=_SCRY_(2) +auto=_SCRY2_ auto={T}:Add{W} auto={T}:Add{U} auto={T}:Add{B} @@ -10685,7 +11070,7 @@ toughness=3 [card] name=Bruvac the Grandiloquent auto=@movedTo(*|opponentgraveyard) from(opponentlibrary):deplete:1 opponent -text=If an opponent would mill one or more cards, they mill twice that many cards instead. (To mill a card, a player puts the top card of their library into their graveyard.) +text=If an opponent would mill one or more cards, they mill twice that many cards instead. (To mill a card, a player mills a card.) mana={2}{U} type=Legendary Creature subtype=Human Advisor @@ -10893,7 +11278,7 @@ type=Instant name=Burning Prophet aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=@movedTo(*[-creature]|mystack):1/0 ueot -auto=@movedTo(*[-creature]|mystack):_SCRY_(1) +auto=@movedTo(*[-creature]|mystack):_SCRY1_ text=Whenever you cast a noncreature spell, Burning Prophet gets +1/+0 until end of turn, then scry 1. mana={1}{R} type=Creature @@ -10948,7 +11333,7 @@ toughness=6 name=Burning-Tree Vandal auto=choice counter(1/1) auto=choice aslongas(creature|myBattlefield) haste -auto=_ATTACKING_may reject notatarget(*|myhand) and!( draw:1 controller )! +auto=_ATTACKING_may _DISCARD&DRAW_ text=Riot (This creature enters the battlefield with your choice of a +1/+1 counter or haste.) -- Whenever Burning-Tree Vandal attacks, you may discard a card. If you do, draw a card. mana={2}{R} type=Creature @@ -11246,7 +11631,7 @@ name=Calculated Dismissal target=*|stack aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=transforms((,newability[pay[[{3}]] name(pay 3 mana) donothing?fizzle])) oneshot -auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then _SCRY_(2) +auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then _SCRY2_ text=Counter target spell unless its controller pays {3}. -- Spell mastery - If there are two or more instant and/or sorcery cards in your graveyard, scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={2}{U} type=Instant @@ -11338,6 +11723,16 @@ mana={2}{W}{B} type=Sorcery [/card] [card] +name=Call to the Void +auto=ability$!name(Choose your creature) name(Choose your creature) target(creature|mybattlefield) destroy !$ controller +auto=ability$!name(Choose opponent creature) name(Choose opponent creature) target(creature|opponentbattlefield) destroy !$ controller +auto=ability$!name(Choose your creature) name(Choose your creature) target(creature|mybattlefield) destroy !$ opponent +auto=ability$!name(Choose opponent creature) name(Choose opponent creature) target(creature|opponentbattlefield) destroy !$ opponent +text=Each player secretly chooses a creature they control and a creature they don't control. Then those choices are revealed. Destroy each creature chosen this way. +mana={4}{B} +type=Sorcery +[/card] +[card] name=Callaphe, Beloved of the Sea auto=type:manaU:mybattlefield/3 cdaactive auto=@targeted(*[creature;enchantment]|myBattlefield) from(*[instant;sorcery]|opponentzones):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) oneshot @@ -11455,6 +11850,22 @@ power=2 toughness=2 [/card] [card] +name=Candlekeep Inspiration +auto=all(creature|mybattlefield) transforms((,setpower=type:*[instant;sorcery;adventure]:myexileplustype:*[instant;sorcery;adventure]:mygraveyardplusend,settoughness=type:*[instant;sorcery;adventure]:myexileplustype:*[instant;sorcery;adventure]:mygraveyardplusend)) ueot +text=Until end of turn, creatures you control have base power and toughness X/X, where X is the number of cards you own in exile and in your graveyard that are instant cards, are sorcery cards, and/or have an Adventure. +mana={4}{U} +type=Sorcery +[/card] +[card] +name=Candlekeep Sage +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@movedTo(this|nonbattlezone) from(battlefield):name(Draw a card) draw:1 controller])) +auto=@movedTo(*[iscommander]|myBattlefield):name(Draw a card) draw:1 controller +text=Commander creatures you own have "When this creature enters or leaves the battlefield, draw a card." +mana={2}{U} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Candlelight Vigil target=creature auto=teach(creature) +3/+2 @@ -11614,6 +12025,18 @@ power=2 toughness=2 [/card] [card] +name=Captain N'ghathrod +auto=lord(horror|myBattlefield) menace +auto=@combatdamaged(player) from(horror|myBattlefield):name(Opponent mills cards) deplete:thatmuch opponent +auto=@each my endofturn:name(Choose one) transforms((,newability[if type(creature[fresh]|opponentgraveyard)~morethan~0 then choice name(Put creature in play) name(Put creature in play) target(creature[fresh]|opponentgraveyard) moveto(mybattlefield)],newability[if type(artifact[fresh]|opponentgraveyard)~morethan~0 then choice name(Put artifact in play) name(Put artifact in play) target(artifact[fresh]|opponentgraveyard) moveto(mybattlefield)])) oneshot +text=Horrors you control have menace. -- Whenever a Horror you control deals combat damage to a player, that player mills that many cards. -- At the beginning of your end step, choose target artifact or creature card in an opponent's graveyard that was put there from their library this turn. Put it onto the battlefield under your control. +mana={3}{U}{B} +type=Legendary Creature +subtype=Horror Pirate +power=3 +toughness=6 +[/card] +[card] name=Captain Ripley Vance auto=@movedto(*|mystack) restriction{thisturn(*|mystack)~equalto~2}:name(Counter 1/1) counter(1/1) && transforms((,newability[name(Deals damage) damage:power target(player^creature^planeswalker)])) oneshot text=Whenever you cast your third spell each turn, put a +1/+1 counter on Captain Ripley Vance, then it deals damage equal to its power to any target. @@ -11761,6 +12184,13 @@ power=7 toughness=6 [/card] [card] +name=Carnelian Orb of Dragonkind +auto={T}:name(Add red) transform((,newability[add{R}],newability[@movedTo(dragon|mybattlefield) from(mystack) turnlimited:all(trigger[to]) transforms((,newability[haste])) ueot])) oneshot +text={T}: Add {R}. If that mana is spent on a Dragon creature spell, it gains haste until end of turn. +mana={2}{R} +type=Artifact +[/card] +[card] name=Carnival // Carnage other={2}{B}{R} name(Carnage) otherrestriction=myturnonly @@ -12051,7 +12481,7 @@ name=Castle Vantress aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto={T}:add{U} auto=aslongas(land[island]|myBattlefield) tap(noevent) <1 oneshot -auto={2}{U}{U}{T}:_SCRY_(2) +auto={2}{U}{U}{T}:_SCRY2_ text=Castle Vantress enters the battlefield tapped unless you control an Island. -- {T}: Add {U}. -- {2}{U}{U}, {T}: Scry 2. type=Land [/card] @@ -12329,7 +12759,7 @@ name=Cavalier of Gales abilities=flying aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=draw:3 controller && transforms((,newability[target(<2>*|myhand) moveto(mylibrary)])) oneshot -auto=_DIES_all(trigger[to]) moveTo(mylibrary) and!( transforms((,newability[_SCRY_(2)],newability[shuffle])) oneshot )! +auto=_DIES_all(trigger[to]) moveTo(mylibrary) and!( transforms((,newability[_SCRY2_],newability[shuffle])) oneshot )! text=Flying -- When Cavalier of Gales enters the battlefield, draw three cards, then put two cards from your hand on top of your library in any order. -- When Cavalier of Gales dies, shuffle it into its owner's library, then scry 2. mana={2}{U}{U}{U} type=Creature @@ -12436,6 +12866,19 @@ mana={2}{R}{R} type=World Enchantment [/card] [card] +name=Caves of Chaos Adventurer +abilities=trample +auto=_INITIATIVE_CONTROLLER_ +auto=@combat(attacking) source(this) restriction{compare(pdungeoncompleted)~morethan~0}:name(Exile card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[zerocast])) ueot )! +auto=@combat(attacking) source(this) restriction{compare(pdungeoncompleted)~equalto~0}:name(Exile card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! +text=Trample -- When Caves of Chaos Adventurer enters the battlefield, you take the initiative. -- Whenever Caves of Chaos Adventurer attacks, exile the top card of your library. If you've completed a dungeon, you may play that card this turn without paying its mana cost. Otherwise, you may play that card this turn. +mana={3}{R} +type=Creature +subtype=Human Barbarian +power=5 +toughness=3 +[/card] +[card] name=Cazur, Ruthless Stalker abilities=hiddenface,partner partner=Ukkima, Stalking Shadow @@ -12679,8 +13122,7 @@ toughness=4 [/card] [card] name=Centaur Peacemaker -auto=life:4 controller -auto=life:4 opponent +auto=all(player) life:4 text=When Centaur Peacemaker enters the battlefield, each player gains 4 life. mana={1}{G}{W} type=Creature @@ -12780,7 +13222,7 @@ name=Chain to Memory target=creature aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=-4/-0 -auto=_SCRY_(2) +auto=_SCRY2_ text=Target creature gets -4/-0 until end of turn. Scry 2. mana={U} type=Instant @@ -12956,7 +13398,7 @@ toughness=4 [card] name=Champion of Wits auto=may draw:power controller && && transforms((,newability[target(<2>*|myhand) reject])) ueot -autograveyard={5}{U}{U}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={5}{U}{U}{E}:_ETERNALIZE_ text=When Champion of Wits enters the battlefield, you may draw cards equal to its power. If you do, discard two cards. -- Eternalize {5}{U}{U} ({5}{U}{U}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Naga Wizard with no mana cost. Eternalize only as a sorcery.) mana={2}{U} type=Creature @@ -13541,7 +13983,7 @@ toughness=1 [card] name=Charming Prince aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=choice name(Scry 2) _SCRY_(2) +auto=choice name(Scry 2) _SCRY2_ auto=choice name(Gain 3 life) life:3 auto=choice name(Exile your creature) (blink)ueot target(other *[creature]|mybattlefield) text=When Charming Prince enters the battlefield, Choose one -- Scry 2. -- You gain 3 life. -- Exile another target creature you own. Return it to the battlefield under your control at the beginning of the next end step. @@ -13899,6 +14341,14 @@ mana={2}{G} type=Artifact [/card] [card] +name=Chivalric Alliance +auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1}:draw:1 +auto={2}{D(*|myhand)}:create(knight:creature knight:2/2:white:blue:vigilance) +text=Whenever you attack with two or more creatures, draw a card. -- {2}, Discard a card: Create a 2/2 white and blue Knight creature token with vigilance. +mana={1}{W} +type=Enchantment +[/card] +[card] name=Choking Miasma kicker={G} auto=all(creature) -2/-2 @@ -13969,7 +14419,7 @@ type=Legendary Artifact [/card] [card] name=Chrome Cat -auto=_SCRY_(1) +auto=_SCRY1_ text=When Chrome Cat enters the battlefield, scry 1. mana={3} type=Artifact Creature @@ -14034,7 +14484,8 @@ toughness=7 [card] name=Chronomantic Escape suspend(3)={2}{W} -auto=all(creature|opponentbattlefield) transforms((,newability[cantattack],newability[cantpwattack])) uynt +auto=ifnot paid(alternative) then all(creature|opponentbattlefield) transforms((,newability[cantattack],newability[cantpwattack])) uynt +auto=moveto(myexile) and!( counter(0/0,3,Time) )! text=Until your next turn, creatures can't attack you. Exile Chronomantic Escape with three time counters on it. -- Suspend 3-{2}{W} (Rather than cast this card from your hand, you may pay {2}{W} and exile it with three time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.) mana={4}{W}{W} type=Sorcery @@ -14391,6 +14842,14 @@ power=1 toughness=1 [/card] [card] +name=Clan Crafter +auto=lord(*[iscommander]|myBattlefield) transforms((,newability[{2}{S(artifact|myBattlefield)}:name(Put counter and draw) counter(1/1) && draw:1 controller])) +text=Commander creatures you own have "{2}, Sacrifice an artifact: Put a +1/+1 counter on this creature and draw a card." +mana={1}{U} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Clan Defiance target=player auto=choice name(Player) damage:X @@ -14783,6 +15242,14 @@ power=2 toughness=4 [/card] [card] +name=Cloakwood Hermit +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@each my end restriction{type(creature[fresh]|mygraveyard)~morethan~0}:name(Create 2 squirrels) token(Squirrel^Creature Squirrel^1/1^green)*2 and!( tap(noevent) )!])) +text=Commander creatures you own have "At the beginning of your end step, if a creature card was put into your graveyard from anywhere this turn, create two tapped 1/1 green Squirrel creature tokens." +mana={2}{G} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Cloakwood Swarmkeeper auto=@movedTo(*[token]|myBattlefield):name(Gathered Swarm) counter(1/1) text=Gathered Swarm - Whenever one or more tokens enter the battlefield under your control, put a +1/+1 counter on Cloakwood Swarmkeeper. @@ -14875,6 +15342,13 @@ mana={3}{W}{B} type=Instant [/card] [card] +name=Cloudkill +auto=all(creature|battlefield) -convertedcost:highest:*[iscommander]:mycommandplay/-convertedcost:highest:*[iscommander]:mycommandplay ueot +text=All creatures get -X/-X until end of turn, where X is the greatest mana value of a commander you own on the battlefield or in the command zone. +mana={4}{B}{B} +type=Sorcery +[/card] +[card] name=Cloudkin Seer abilities=flying auto=draw:1 @@ -14897,7 +15371,7 @@ auto=@movedTo(mytgt|sideboard) from(battlefield):all(this) moveTo(mySideboard) auto=@movedTo(mytgt|commandzone) from(battlefield):all(this) moveTo(myCommandzone) auto={9999}:equip other={3}{R} name(Mutate) -auto=transforms((,newability[@mutated(this):may reject notatarget(*|myhand) and!( draw:1 controller )!])) +auto=transforms((,newability[@mutated(this):may _DISCARD&DRAW_])) auto=if paid(alternative) then name(Mutate Over) this(mutations<1) name(Mutate Over) choice name(Mutate Over) mutateover target(other creature[-human]|mybattlefield) auto=if paid(alternative) then name(Mutate Over) this(mutations<1) name(Mutate Under) choice name(Mutate Under) mutateunder target(other creature[-human]|mybattlefield) text=Mutate {3}{R} (If you cast this spell for its mutate cost, put it over or under target non-Human creature you own. They mutate into the creature on top plus all abilities from under it.) -- Reach -- Whenever this creature mutates, you may discard a card. If you do, draw a card. @@ -14911,7 +15385,7 @@ toughness=4 name=Cloudreader Sphinx abilities=flying aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Flying -- When Cloudreader Sphinx enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={4}{U} type=Creature @@ -15198,7 +15672,7 @@ type=Sorcery name=Collective Nightmare other={convoke} name(Convoke) target=creature -auto=-3/-3 +auto=-3/-3 text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Target creature gets -3/-3 until end of turn. mana={2}{B} type=Instant @@ -15244,6 +15718,22 @@ power=1 toughness=3 [/card] [card] +name=Colossal Badger // Dig Deep +abilities=adventure +restriction=can play creature +otherrestriction=type(creature|battlefield)~morethan~0 +other={1}{G} name(Adventure) +auto=if paid(alternative) then name(Choose creature and mill) name(Choose creature and mill) target(creature|battlefield) transforms((,newability[if type(creature[zpos<=4]|mylibrary)~equalto~0 then deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~1 then counter(1/1.1) && deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~2 then counter(1/1.2) && deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~3 then counter(1/1.3) && deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~4 then counter(1/1.4) && deplete:4 controller])) oneshot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=ifnot paid(alternative) then name(Gain 3 life) name(Gain 3 life) life:3 controller +text=When Colossal Badger enters the battlefield, you gain 3 life. // Choose target creature. Mill four cards, then put a +1/+1 counter on that creature for each creature card milled this way. +mana={5}{G} +type=Creature +subtype=Badger +power=6 +toughness=5 +[/card] +[card] name=Colossal Dreadmaw abilities=trample text=Trample @@ -15479,7 +15969,7 @@ name=Coming In Hot target=creature auto=1/0 auto=first strike -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets +1/+0 and gains first strike until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom.) mana={R} type=Instant @@ -15518,6 +16008,17 @@ mana={4}{R} type=Instant [/card] [card] +name=Commander Liara Portyr +auto=@each my blockers:name(Exile card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[canplayfromexile])) ueot )! +auto=aslongas(*[attacking]|mybattlefield) lord(*|myexile) changecost(colorless:-1) +text=Whenever you attack, spells you cast from exile this turn cost {X} less to cast, where X is the number of players being attacked. Exile the top X cards of your library. Until end of turn, you may cast spells from among those exiled cards. +mana={3}{R}{W} +type=Legendary Creature +subtype=Human Soldier +power=5 +toughness=3 +[/card] +[card] name=Commander's Insight auto=choice name(target yourself) draw:X controller && draw:pnumofcommandcast controller auto=choice name(target opponent) draw:X opponent && draw:onumofcommandcast opponent @@ -15631,7 +16132,8 @@ toughness=2 [card] name=Compelled Duel target=creature -auto=transforms((,newability[3/3],newability[_ATTACKING_all(creature|opponentbattlefield) mustblock ueot])) ueot +auto=3/3 +auto=transforms((,_MUST_BE_BLOCKD_)) ueot text=Target creature gets +3/+3 until end of turn and must be blocked this turn if able. mana={1}{G} type=Sorcery @@ -15801,6 +16303,14 @@ mana={R}{R}{R} type=Sorcery [/card] [card] +name=Cone of Cold +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(20) from(controller) once:emblem transforms((,newability[@movedTo(creature|opponentbattlefield):name(Creatures enter tapped) all(trigger[to]) tap(noevent)])) uynt])) oneshot +auto=name(Roll a d20) rolld20 20 winability all(creature|opponentbattlefield) freeze winabilityend loseability if compare(lastrollresult)~lessthan~10 then all(creature|opponentbattlefield) tap else all(creature|opponentbattlefield) freeze loseabilityend rolld20end +text=Roll a d20. -- 1-9 | Tap all creatures your opponents control. -- 10-19 | Tap all creatures your opponents control. Those creatures don't untap during their controllers' next untap steps. -- 20 | Tap all creatures your opponents control. Those creatures don't untap during their controllers' next untap steps. Until your next turn, creatures your opponents control enter the battlefield tapped. +mana={3}{U} +type=Sorcery +[/card] +[card] name=Cone of Flame target=player auto=choice name(1 Player, 2, 3 Creature) damage:1 && damage:2 target(creature) && ability$!name(damage) choice target(other creature) damage:3!$ controller @@ -15925,6 +16435,17 @@ mana={W}{B} type=Sorcery [/card] [card] +name=Conjurer's Mantle +auto=teach(creature) 1/1 +auto=teach(creature) vigilance +auto=teach(creature) transforms((,newability[_ATTACKING_ name(shares a creature type) reveal:6 optionone name(Get card) target(*[share!types!]|reveal) moveto(hand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend])) +auto={1}:equip +text=Equipped creature gets +1/+1 and has vigilance. -- Whenever equipped creature attacks, look at the top six cards of your library. You may reveal a card that shares a creature type with that creature from among them and put it into your hand. Put the rest on the bottom of your library in a random order. -- Equip {1} +mana={1}{W} +type=Artifact +subtype=Equipment +[/card] +[card] name=Connive // Concoct other={3}{U}{B} name(Concoct) aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus3plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot @@ -16228,6 +16749,15 @@ power=0 toughness=0 [/card] [card] +name=Contraband Livestock +target=creature +auto=moveto(exile) +auto=name(Roll a d20) rolld20 20 winability token(Goat,Creature Goat,0/1,white) targetcontroller winabilityend loseability if compare(lastrollresult)~lessthan~10 then token(Ox,Creature Ox,4/4,green) targetcontroller else token(Boar,Creature Boar,2/2,green) targetcontroller loseabilityend rolld20end +text=Exile target creature, then roll a d20. -- 1-9 | Its controller creates a 4/4 green Ox creature token. -- 10-19 | Its controller creates a 2/2 green Boar creature token. -- 20 | Its controller creates a 0/1 white Goat creature token. +mana={1}{W} +type=Instant +[/card] +[card] name=Contract Killing target=creature auto=destroy @@ -16284,7 +16814,7 @@ type=Enchantment name=Coral Colony abilities=defender auto={1}{U}{T}:deplete:type:creature[defender]:mybattlefield target(player) -text=Defender -- {1}{U}, {T}: Target player mills X cards, where X is the number of creatures you control with defender. (To mill a card, a player puts the top card of their library into their graveyard.) +text=Defender -- {1}{U}, {T}: Target player mills X cards, where X is the number of creatures you control with defender. (To mill a card, a player mills a card.) mana={1}{U} type=Creature subtype=Wall @@ -16465,7 +16995,7 @@ toughness=2 [/card] [card] name=Cosi's Trickster -auto=@shuffledfoeof(player):may name(Put 1/1 counter) counter(1/1) +auto=@shuffledfoeof(player) turnlimited:may name(Put 1/1 counter) counter(1/1) text=Whenever an opponent shuffles his or her library, you may put a +1/+1 counter on Cosi's Trickster. mana={U} type=Creature @@ -16643,7 +17173,7 @@ name=Court of Cunning auto=_MONARCH_CONTROLLER_ auto=@each my upkeep restriction{compare(pmonarch)~equalto~0}:ability$!name(Choose one) choice name(Opponent mills cards) deplete:3 opponent _ choice name(You mill cards) deplete:3 controller _ choice name(Both player mill cards) deplete:3 controller && deplete:3 opponent _ choice name(No one mills cards) donothing!$ controller auto=@each my upkeep restriction{compare(pmonarch)~equalto~1}:ability$!name(Choose one) choice name(Opponent mills cards) deplete:10 opponent _ choice name(You mill cards) deplete:10 controller _ choice name(Both player mill cards) deplete:10 controller && deplete:10 opponent _ choice name(No one mills cards) donothing!$ controller -text=When Court of Cunning enters the battlefield, you become the monarch. -- At the beginning of your upkeep, any number of target players each mill two cards. If you're the monarch, each of those players mills ten cards instead. (To mill a card, a player puts the top card of their library into their graveyard.) +text=When Court of Cunning enters the battlefield, you become the monarch. -- At the beginning of your upkeep, any number of target players each mill two cards. If you're the monarch, each of those players mills ten cards instead. (To mill a card, a player mills a card.) mana={1}{U}{U} type=Enchantment [/card] @@ -17140,12 +17670,20 @@ other={X}{B}{G} name(Punishment) auto=if paid(alternative) then destroy all(creature[manacost=X]) auto=if paid(alternative) then destroy all(enchantment[manacost=X]) auto=if paid(alternative) then destroy all(artifact[manacost=X]) -auto=if not paid(alternative) then target(creature,enchantment|opponentgraveyard) moveTo(myBattlefield) +auto=ifnot paid(alternative) then target(creature,enchantment|opponentgraveyard) moveTo(myBattlefield) text=Put target creature or enchantment card from an opponent's graveyard onto the battlefield under your control. -- // -- Destroy each artifact, creature, and enchantment with mana value X. mana={3}{W}{B} type=Sorcery [/card] [card] +name=Criminal Past +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[menace],newability[type:creature:mygraveyard/type:creature:mygraveyard nonstatic])) +text=Commander creatures you own have menace and "This creature gets +X/+0, where X is the number of creature cards in your graveyard." (A creature with menace can't be blocked except by two or more creatures.) +mana={2}{B} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Crimson Fleet Commodore abilities=trample auto=_MONARCH_CONTROLLER_ @@ -17446,8 +17984,7 @@ type=Instant [/card] [card] name=Crushing Disappointment -auto=life:-2 opponent -auto=life:-2 controller +auto=all(player) life:-2 auto=draw:2 controller text=Each player loses 2 life. You draw two cards. mana={3}{B} @@ -17496,9 +18033,9 @@ type=Land [card] name=Cryptic Annelid aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) -auto=_SCRY_(3) -auto=_SCRY_(2) +auto=_SCRY1_ +auto=_SCRY3_ +auto=_SCRY2_ text=When Cryptic Annelid enters the battlefield, scry 1, then scry 2, then scry 3. (To scry X, look at the top X cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3}{U} type=Creature @@ -17569,8 +18106,22 @@ type=Enchantment subtype=Aura [/card] [card] +name=Crystal Dragon // Rob the Hoard +abilities=flying,vigilance,adventure +otherrestriction=type(*[artifact;enchantment;legendary]|mygraveyard)~morethan~0 +other={1}{W} name(Adventure) +auto=if paid(alternative) then name(Return card) name(Return card) target(*[artifact;enchantment;legendary]|mygraveyard) moveto(ownerhand) +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +text=Flying, vigilance // Return target artifact, enchantment, or legendary card from your graveyard to your hand. (Then exile this card. You may cast the creature later from exile.) +mana={4}{W}{W} +type=Creature +subtype=Dragon +power=4 +toughness=4 +[/card] +[card] name=Crystal Grotto -auto=_SCRY_(1) +auto=_SCRY1_ auto={T}:Add{C} auto={1}{T}:Add{W} auto={1}{T}:Add{U} @@ -17688,6 +18239,15 @@ power=5 toughness=4 [/card] [card] +name=Cultist of the Absolute +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[3/3],newability[flying],newability[deathtouch],newability[@each my upkeep:name(Sacrifice a creature) sacrifice notatarget(creature|myBattlefield)])) +auto=@targeted(*[iscommander]|mybattlefield) from(*[instant;sorcery]|opponentzones):choice name(This spell costs 3 life more) name(This spell costs 3 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:3}]] name(pay 3 life) donothing?fizzle])) oneshot +text=Commander creatures you own get +3/+3 and have flying, deathtouch, "Ward-Pay 3 life," and "At the beginning of your upkeep, sacrifice a creature." +mana={B} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Cultivator Colossus abilities=trample anyzone=type:land:mybattlefield/type:land:mybattlefield cdaactive @@ -17772,7 +18332,7 @@ type=Instant name=Curator of Mysteries abilities=flying,cycling aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedto(*|mygraveyard) from(myhand):_SCRY_(1) +auto=@movedto(*|mygraveyard) from(myhand):_SCRY1_ autohand=__CYCLING__({U}) text=Flying -- Whenever you cycle or discard another card, scry 1. -- Cycling {U} ({U}, Discard this card: Draw a card.) mana={2}{U}{U} @@ -17834,7 +18394,7 @@ name=Curious Obsession target=creature auto=teach(creature) 1/1 auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):may draw:1])) forever -auto=all(creature|mybattlefield) transforms((,newability[@each my endofturn restriction{didntattack}:sacrifice target(Curious Obsession|mybattlefield)])) forever +auto=all(creature|mybattlefield) transforms((,newability[@each my endofturn restriction{didntattack}:sacrifice notAtarget(Curious Obsession|mybattlefield)])) forever text=Enchant creature -- Enchanted creature gets +1/+1 and has "Whenever this creature deals combat damage to a player, you may draw a card." -- At the beginning of your end step, if you didn't attack with a creature this turn, sacrifice Curious Obsession. mana={U} type=Enchantment @@ -18559,7 +19119,7 @@ name=Daring Escape target=creature auto=1/0 auto=first strike -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets +1/+0 and gains first strike until end of turn. Scry 1. mana={R} type=Instant @@ -18567,7 +19127,7 @@ type=Instant [card] name=Daring Fiendbonder abilities=haste,mustattack -autograveyard={1}{B}{E}:target(creature) transform((,newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>=1) indestructible])) +autograveyard={1}{B}{E}:target(creature) transforms((,newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>=1) indestructible])) text=Haste -- Daring Fiendbonder attacks each combat if able. -- {1}{B}, Exile Daring Fiendbonder from your graveyard: Put an indestructible counter on target creature. Activate this ability only any time you could cast a sorcery. mana={3}{B} type=Creature @@ -18683,6 +19243,18 @@ type=Enchantment subtype=Aura [/card] [card] +name=Darksteel Splicer +auto=create(phyrexian golem:artifact creature phyrexian golem:3/3) +auto=@movedTo(Phyrexian[-token]|myBattlefield):create(phyrexian golem:artifact creature phyrexian golem:3/3) +auto=lord(golem|myBattlefield) indestructible +text=Whenever Darksteel Splicer or another nontoken Phyrexian enters the battlefield under your control, create X 3/3 colorless Phyrexian Golem artifact creature tokens, where X is the number of opponents you have. -- Golems you control have indestructible. +mana={6}{W} +type=Creature +subtype=Phyrexian Artificer +power=1 +toughness=1 +[/card] +[card] name=Darling of the Masses auto=lord(other citizen|myBattlefield) 1/0 auto=_ATTACKING_create(citizen:creature citizen:1/1:green,white) @@ -19215,7 +19787,8 @@ type=Instant name=Deadly Allure target=creature flashback={G} -auto=transforms((,newability[deathtouch ueot],newability[@combat(attacking,blocking) source(this): all(creature|opponentbattlefield) mustblock ueot])) ueot +auto=deathtouch +auto=transforms((,_MUST_BE_BLOCKD_)) ueot text=Target creature gains deathtouch until end of turn and must be blocked this turn if able. -- Flashback {G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={B} type=Sorcery @@ -19329,6 +19902,16 @@ mana={3}{B} type=Instant [/card] [card] +name=Death Kiss +auto=this(cantargetcard(*[-monstrous]) {X}{X}{R}:becomes(monstrous) forever && counter(1/1,halfpaid) +text=Whenever a creature an opponent controls attacks one of your opponents, double its power until end of turn. -- {X}{X}{R}: Monstrosity X. (If this creature isn't monstrous, put X +1/+1 counters on it and it becomes monstrous.) -- When Death Kiss becomes monstrous, goad up to X target creatures your opponents control. +mana={5}{R} +type=Creature +subtype=Beholder +power=5 +toughness=5 +[/card] +[card] name=Death Tyrant abilities=menace auto=lord(creature[attacking]|mybattlefield) transforms((,newability[_DIES_name(Create zombie) _ZOMBIETOKEN_])) @@ -19370,6 +19953,20 @@ mana={W}{B}{G} type=Enchantment [/card] [card] +name=Death-Greeter's Champion +abilities=double strike +other={3}{R} name(Dash) +auto=if paid(alternative) then transforms((,newability[haste],newability[phaseaction[endofturn sourceinplay] moveto(ownerhand) all(this)])) forever +auto=name(This creature) target(this) counter(1/1) +auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1)],newability[double strike])) ueot +text=Dash {3}{R} (You may cast this spell for its dash cost. If you do, it gains haste, and it's returned from the battlefield to its owner's hand at the beginning of the next end step.) -- Backup 1 (When this creature enters the battlefield, put a +1/+1 counter on target creature. If that's another creature, it gains the following abilities until end of turn.) -- Double strike +mana={2}{R} +type=Creature +subtype=Human Warrior +power=2 +toughness=1 +[/card] +[card] name=Death-Priest of Myrkul auto=lord(*[zombie;vampire;skeleton]|myBattlefield) 1/1 auto=@each my endofturn restriction{morbid}:pay({1}) name(Pay 1 and create skeleton) token(Skeleton,Creature Skeleton,1/1,black) @@ -19523,7 +20120,7 @@ type=Instant [/card] [card] name=Debtors' Transport -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying)*2 +auto=_DIES__AFTERLIFETOKEN_*2 text=Afterlife 2 (When this creature dies, create two 1/1 white and black Spirit creature tokens with flying.) mana={5}{B} type=Creature @@ -19671,6 +20268,17 @@ type=Enchantment subtype=Aura [/card] [card] +name=Deep Gnome Terramancer +abilities=flash +auto=@movedto(land|opponentBattlefield) from(opponentexile,opponentlibrary,opponentgraveyard,opponentreveal,opponentsideboard,opponentcommandzone) turnlimited:may name(Search plains) target(plains|mylibrary) moveto(myBattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle])) oneshot )! +text=Flash -- Mold Earth - Whenever one or more lands enter the battlefield under an opponent's control without being played, you may search your library for a Plains card, put it onto the battlefield tapped, then shuffle. Do this only once each turn. +mana={1}{W} +type=Creature +subtype=Gnome Wizard +power=2 +toughness=2 +[/card] +[card] name=Deep Water auto={U}:name(All lands produce blue mana) ueot loseabilities && losesubtypesof(land) && transforms((island)) target(land|mybattlefield) text={U}: Until end of turn, if you tap a land you control for mana, it produces {U} instead of any other type. @@ -19842,6 +20450,18 @@ power=1 toughness=1 [/card] [card] +name=Delayed Blast Fireball +auto=ifnot exilecast then damage:2 opponent +auto=ifnot exilecast then damage:2 all(creature|opponentbattlefield) +auto=if exilecast then damage:5 opponent +auto=if exilecast then damage:5 all(creature|opponentbattlefield) +autohand=_FORETELL_ +autoexile={4}{R}{R} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) +text=Delayed Blast Fireball deals 2 damage to each opponent and each creature they control. If this spell was cast from exile, it deals 5 damage to each opponent and each creature they control instead. -- Foretell {4}{R}{R} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) +mana={1}{R}{R} +type=Instant +[/card] +[card] name=Deliberate auto=scry:2 scrycore delayed draw:1 controller scrycoreend scryend aicode=activate transforms((,newability[draw:1 controller])) oneshot @@ -19944,7 +20564,7 @@ name=Demogorgon's Clutches auto=deplete:2 opponent auto=life:-2 opponent auto=ability$!name(Discard 2 cards) name(Discard 2 cards) notatarget(<2>*|myhand) reject!$ opponent -text=Target opponent discards two cards, mills two cards, and loses 2 life. (To mill a card, a player puts the top card of their library into their graveyard.) +text=Target opponent discards two cards, mills two cards, and loses 2 life. (To mill a card, a player mills a card.) mana={2}{B} type=Sorcery [/card] @@ -20295,7 +20915,7 @@ type=Enchantment [/card] [card] name=Desecrated Tomb -auto=@movedTo(*[-mygraveyard]) from(mygraveyard):create(bat:creature bat:1/1:black:flying) +auto=@movedto(*|mybattlefield,mystack,myhand,mylibrary,mysideboard,myexile,mycommandzone) from(mygraveyard):create(bat:creature bat:1/1:black:flying) text=Whenever one or more creature cards leave your graveyard, create a 1/1 black Bat creature token with flying. mana={3} type=Artifact @@ -20759,7 +21379,7 @@ type=Sorcery name=Devout Decree target=*[creature;planeswalker;black;red] auto=moveTo(exile) -auto=_SCRY_(1) +auto=_SCRY1_ text=Exile target creature or planeswalker that's black or red. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{W} type=Sorcery @@ -20841,7 +21461,7 @@ type=Enchantment name=Didn't Say Please target=*|stack auto=fizzle && deplete:3 targetcontroller -text=Counter target spell. Its controller puts the top three cards of their library into their graveyard. +text=Counter target spell. Its controller mills three cards. mana={1}{U}{U} type=Instant [/card] @@ -20928,7 +21548,7 @@ subtype=Dihada [card] name=Diligent Excavator auto=_CASTHISTORIC_target(player) deplete:2 -text=Whenever you cast a historic spell, target player puts the top two cards of their library into their graveyard. (Artifacts, legendaries, and Sagas are historic.) +text=Whenever you cast a historic spell, target player mills two cards. (Artifacts, legendaries, and Sagas are historic.) mana={1}{U} type=Creature subtype=Human Artificer @@ -21088,7 +21708,7 @@ toughness=2 [/card] [card] name=Dire Fleet Ravager -abilities=deathtouch, menace +abilities=deathtouch,menace auto=life:-thirdupopponentlifetotal opponent auto=life:-thirduplifetotal controller text=Menace, deathtouch -- When Dire Fleet Ravager enters the battlefield, each player loses a third of his or her life, rounded up. @@ -21341,7 +21961,7 @@ toughness=1 [card] name=Discover the Formula auto=name(Seek a card) moverandom(*[-land]) from(mylibrary) to(myhand) and!( name(Seek a card) moverandom(*[-land]) from(mylibrary) to(myhand) and!( name(Seek a card) moverandom(*[-land]) from(mylibrary) to(myhand) and!( all(*[-land]|myhand) counter(0/0.1.PerpetualCostLess) notrg )! )! )! -auto=emblem transforms((,newability[lord(*[counter{0/0.1.PerpetualCostLess}|myzones) changecost(colorless:-1) forcedalive])) forever dontremove +auto=emblem transforms((,newability[lord(*[counter{0/0.1.PerpetualCostLess}]|myzones) changecost(colorless:-1) forcedalive])) forever dontremove text=Seek three nonland cards, then nonland cards in your hand perpetually gain "This spell costs {1} less to cast." mana={4}{U}{U} type=Instant @@ -21510,8 +22130,7 @@ toughness=2 name=Disturbing Conversion abilities=flash target=creature -auto=deplete:2 controller -auto=deplete:2 opponent +auto=all(player) deplete:2 auto=teach(creature) foreach(*|targetcontrollergraveyard) -1/0 text=Flash -- Enchant creature -- When Disturbing Conversion enters the battlefield, each player mills two cards. -- Enchanted creature gets -X/-0, where X is the number of cards in its controller's graveyard. mana={1}{U} @@ -21576,7 +22195,7 @@ type=Sorcery name=Divine Purge auto=all(creature[manacost<=3]|battlefield) moveto(exile) and!( transforms((,newability[canplayfromexile],newability[counter(0/0.1.PerpetualCost2More) notrg],newability[counter(0/0.1.PerpetualTapped) notrg])) forever )! auto=all(artifact[manacost<=3]|battlefield) moveto(exile) and!( transforms((,newability[canplayfromexile],newability[counter(0/0.1.PerpetualCost2More) notrg],newability[counter(0/0.1.PerpetualTapped) notrg])) forever )! -auto=emblem transforms((,newability[@movedto(*|battlefield):name(Enters tapped) all(trigger[to]) name(Enters tapped) transforms((,newability[if compare(hascntperpetualtapped)~morethan~0 then tap(noevent)])) oneshot],newability[lord(*[counter{0/0.1.PerpetualCost2More}|opponentzones) changecost(colorless:+2) forcedalive],newability[lord(*[counter{0/0.1.PerpetualCost2More}|myzones) changecost(colorless:+2) forcedalive])) forever dontremove +auto=emblem transforms((,newability[@movedto(*|battlefield):name(Enters tapped) all(trigger[to]) name(Enters tapped) transforms((,newability[if compare(hascntperpetualtapped)~morethan~0 then tap(noevent)])) oneshot],newability[lord(*[counter{0/0.1.PerpetualCost2More}]|opponentzones) changecost(colorless:+2) forcedalive],newability[lord(*[counter{0/0.1.PerpetualCost2More}]|myzones) changecost(colorless:+2) forcedalive])) forever dontremove text=Exile all artifacts and creatures with mana value 3 or less. They perpetually gain "This spell costs {2} more to cast" and "This permanent enters the battlefield tapped." For as long as each of them remain exiled, its owner may play it. mana={1}{W}{W} type=Sorcery @@ -21668,26 +22287,26 @@ name=Djinni Windseer abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=transforms((,newability[name(Roll a d20) rolld20 20 winability donothing winabilityend rolld20end])) oneshot -auto=@dierolled(this) result(1) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(2) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(3) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(4) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(5) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(6) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(7) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(8) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(9) from(controller):name(Scry 1) _SCRY_(1) -auto=@dierolled(this) result(10) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(11) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(12) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(13) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(14) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(15) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(16) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(17) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(18) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(19) from(controller):name(Scry 2) _SCRY_(2) -auto=@dierolled(this) result(20) from(controller):name(Scry 3) _SCRY_(3) +auto=@dierolled(this) result(1) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(2) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(3) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(4) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(5) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(6) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(7) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(8) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(9) from(controller):name(Scry 1) _SCRY1_ +auto=@dierolled(this) result(10) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(11) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(12) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(13) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(14) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(15) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(16) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(17) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(18) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(19) from(controller):name(Scry 2) _SCRY2_ +auto=@dierolled(this) result(20) from(controller):name(Scry 3) _SCRY3_ text=Flying -- When Djinni Windseeker enters the battlefield, roll a d20. -- 1-9 | Scry 1. -- 10-19 | Scry 2. -- 20 | Scry 3. mana={3}{U} type=Creature @@ -22204,6 +22823,16 @@ mana={2}{B}{B} type=Instant [/card] [card] +name=Dragon Cultist +auto=@damaged(*[creature;planeswalker]|opponentbattlefield) from(*|myzones) restriction{compare(thatmuch)~morethan~4}:name(A source dealt damage) all(*[iscommander]|mybattlefield) counter(0/0.1.DamageDealt) notrg +auto=@damaged(player) from(*|myzones) restriction{compare(thatmuch)~morethan~4}:name(A source dealt damage) all(*[iscommander]|mybattlefield) counter(0/0.1.DamageDealt) notrg +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@each my endofturn restriction{compare(hascntdamagedealt)~morethan~0}:name(Create Dragon) token(Dragon^Creature Dragon^4/4^red^flying)],newability[@each my endofturn restriction{compare(hascntdamagedealt)~morethan~0}:name(Effect ends) removeallcounters(0/0.1.DamageDealt)])) +text=Commander creatures you own have "At the beginning of your end step, if a source you controlled dealt 5 or more damage this turn, create a 4/4 red Dragon creature token with flying." +mana={4}{R} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Dragon Hell abilities=flying,haste text=Flying, haste @@ -22256,7 +22885,7 @@ type=Sorcery [/card] [card] name=Dragon's Disciple -auto=@targeted(*[dragon]|myBattlefield) from(*[|opponentstack):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentstack) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) oneshot +auto=@targeted(*[dragon]|myBattlefield) from(*|opponentstack):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentstack) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) oneshot auto=if type(*[dragon]|mybattlefield)~morethan~0 then counter(1/1) auto=if type(*[dragon]|mybattlefield)~equalto~0 then if type(*[dragon]|myhand)~morethan~0 then may name(Reveal a dragon) counter(1/1) text=As Dragon's Disciple enters the battlefield, you may reveal a Dragon card from your hand. If you do, or if you control a Dragon, Dragon's Disciple enters the battlefield with a +1/+1 counter on it. -- Dragons you control have ward {1}. (Whenever a Dragon you control becomes the target of a spell or ability an opponent controls, counter it unless that player pays {1}.) @@ -22629,7 +23258,7 @@ toughness=2 [/card] [card] name=Draugr's Helm -autostack=may name(Create zombie and attach) pay({2}{B}) name(Create zombie and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Zombie^Creature Zombie Berserker^2/2^black),newability[rehook target(berserker[token;zombie;fresh]|mybattlefield)])) oneshot )! +autostack=may name(Create zombie and attach) pay({2}{B}) name(Create zombie and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Zombie^Creature Zombie Berserker^2/2^black)],newability[rehook target(berserker[token;zombie;fresh]|mybattlefield)])) oneshot )! auto={4}:equip auto=teach(creature) 2/2 auto=teach(creature) menace @@ -22658,6 +23287,22 @@ mana={B} type=Sorcery [/card] [card] +name=Dread Linnorm // Scale Deflection +abilities=adventure,asflash +restriction=can play creature +otherrestriction=type(creature|battlefield)~morethan~0 +other={3}{G} name(Adventure) +auto=if paid(alternative) then name(Choose creature) name(Choose creature) target(creature|battlefield) transforms((,newability[counter(1/1.2)],newability[opponentshroud],newability[untap])) ueot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=cantbeblockedby(creature[power<=3]) +text=Dread Linnorm can't be blocked by creatures with power 3 or less. // Put two +1/+1 counters on target creature and untap it. It gains hexproof until end of turn. (Then exile this card. You may cast the creature later from exile.) +mana={6}{G} +type=Creature +subtype=Snake Dragon +power=7 +toughness=6 +[/card] +[card] name=Dread Presence auto=@movedTo(Swamp|myBattlefield):name(Choose one) ability$!name(Choose one) choice name(Draw and lose life) draw:1 controller && life:-1 controller _ choice name(Damage player and gain life) damage:2 target(player) && life:2 controller _ choice name(Damage creature and gain life) damage:2 target(creature) && life:2 controller _ choice name(Damage planeswalker and gain life) damage:2 target(planeswalker) && life:2 controller!$ controller text=Whenever a Swamp enters the battlefield under your control, Choose one -- You draw a card and you lose 1 life. -- Dread Presence deals 2 damage to any target and you gain 2 life. @@ -22690,7 +23335,7 @@ toughness=3 [card] name=Dread Summons auto=@movedTo(creature|graveyard) from(library):all(trigger[to]) (_ZOMBIETOKEN_ tap(noevent)) controller)! -auto=deplete:X opponent && deplete:X controller +auto=all(player) deplete:X text=Each player puts the top X cards of their library into their graveyard. For each creature card put into a graveyard this way, you create a tapped 2/2 black Zombie creature token. mana={X}{B}{B} type=Sorcery @@ -22889,7 +23534,7 @@ toughness=2 [card] name=Dream Tides auto=lord(creature) doesnotuntap -auto=lord(creature[-green]) transforms((,newability[@each my upkeep:{2}:untap])) +auto=lord(creature[-green]) transforms((,newability[@each my upkeep:{2}:untap myupkeeponly])) text=Creatures don't untap during their controllers' untap steps. -- At the beginning of each player's upkeep, that player may choose any number of tapped nongreen creatures he or she controls and pay {2} for each creature chosen this way. If the player does, untap those creatures. mana={2}{U}{U} type=Enchantment @@ -22971,7 +23616,7 @@ toughness=2 name=Dreamstealer abilities=menace auto=@combatdamaged(player) from(this):ability$!name(discard) target(*|myhand) reject!$ opponent -autograveyard={4}{B}{B}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={4}{B}{B}{E}:_ETERNALIZE_ text=Menace -- Whenever Dreamstealer deals combat damage to a player, that player discards that many cards. -- Eternalize {4}{B}{B} ({4}{B}{B}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Wizard with no mana cost. Eternalize only as a sorcery.) mana={2}{B} type=Creature @@ -23238,7 +23883,7 @@ type=Instant [card] name=Drowned Secrets auto=@movedTo(*[blue]|mystack):deplete:2 target(player) -text=Whenever you cast a blue spell, target player puts the top two cards of their library into their graveyard. +text=Whenever you cast a blue spell, target player mills two cards. mana={1}{U} type=Enchantment [/card] @@ -23309,6 +23954,18 @@ power=2 toughness=3 [/card] [card] +name=Druid of the Emerald Grove +auto=choice name(Don't search any land) donothing +auto=if type(land[basic]|mylibrary)~morethan~0 then choice name(Search 1 basic land) name(Search 1 basic land) target(land[basic]|mylibrary) moveto(myhand) and!( transforms((,newability[shuffle],newability[name(Roll a d20) rolld20 20 winability moveto(mybattlefield) and!( tap(noevent) )! winabilityend loseability if compare(lastrollresult)~lessthan~10 then donothing else moveto(mybattlefield) and!( tap(noevent) )! loseabilityend rolld20end])) oneshot )! +auto=if type(land[basic]|mylibrary)~morethan~1 then choice name(Search 2 basic lands) name(Search 2 basic lands) target(<2>land[basic]|mylibrary) moveto(myhand) and!( all(*[zpos=1]|myhand) transforms((,newability[shuffle],newability[name(Roll a d20) rolld20 20 winability target(<2>land[basic;fresh]|myhand) moveto(mybattlefield) and!( tap(noevent) )! winabilityend loseability if compare(lastrollresult)~lessthan~10 then donothing else target(land[fresh]|myhand) moveto(mybattlefield) and!( tap(noevent) )! loseabilityend rolld20end])) oneshot )! +text=When Druid of the Emerald Grove enters the battlefield, search your library for up to two basic land cards and reveal them, then roll a d20. -- 1-9 | Put those cards into your hand, then shuffle. -- 10-19 | Put one of those cards onto the battlefield tapped and the other into your hand, then shuffle. -- 20+ | Put those cards onto the battlefield tapped, then shuffle. +mana={3}{G} +type=Creature +subtype=Dwarf Druid +power=2 +toughness=2 +[/card] +[card] name=Druid of the Sacred Beaker auto={T}:foreach(Crossbreed Labs watermark|myBattlefield) add{G} text={T}: Add {G} for each Crossbreed Labs watermark among permanents you control. @@ -23319,6 +23976,17 @@ power=2 toughness=2 [/card] [card] +name=Druidic Ritual +aicode=activate transforms((,newability[if type(creature[zpos<=3]|mylibrary)~morethan~0 then if type(land[zpos<=3]|mylibrary)~morethan~0 then target(creature[zpos<=3]|mylibrary) moveto(myhand) and!( transforms((,newability[target(land[zpos<=3]|mylibrary) moveto(myhand) and!( all(other *[zpos<=3]|mylibrary) moveto(mygraveyard) )!])) oneshot )!],newability[if type(creature[zpos<=3]|mylibrary)~morethan~0 then if type(land[zpos<=3]|mylibrary)~equalto~0 then target(creature[zpos<=3]|mylibrary) moveto(myhand) and!( all(other *[zpos<=3]|mylibrary) moveto(mygraveyard) )!],newability[if type(creature[zpos<=3]|mylibrary)~equalto~0 then if type(land[zpos<=3]|mylibrary)~morethan~0 then target(land[zpos<=3]|mylibrary) moveto(myhand) and!( all(other *[zpos<=3]|mylibrary) moveto(mygraveyard) )!],newability[if type(creature[zpos<=3]|mylibrary)~equalto~0 then if type(land[zpos<=3]|mylibrary)~equalto~0 then all(*[zpos<=3]|mylibrary) moveto(mygraveyard)])) ueot +auto=if type(creature[zpos<=3]|mylibrary)~morethan~0 then if type(land[zpos<=3]|mylibrary)~morethan~0 then name(Mill 3 cards) name(Mill 3 cards) name(Mill 3 cards) reveal:3 optionone name(Put land in hand) target(land|reveal) moveto(myhand) optiononeend optiontwo choice name(Put creature in hand) target(creature|reveal) moveto(myhand) and!( all(other *|reveal) moveto(mygraveyard) )! optiontwoend revealend +auto=if type(creature[zpos<=3]|mylibrary)~morethan~0 then if type(land[zpos<=3]|mylibrary)~equalto~0 then name(Mill 3 cards) name(Mill 3 cards) name(Mill 3 cards) reveal:3 optionone name(Put creature in hand) target(creature|reveal) moveto(myhand) optiononeend optiontwo choice name(Put in graveyard) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +auto=if type(creature[zpos<=3]|mylibrary)~equalto~0 then if type(land[zpos<=3]|mylibrary)~morethan~0 then name(Mill 3 cards) name(Mill 3 cards) name(Mill 3 cards) reveal:3 optionone name(Put land in hand) target(land|reveal) moveto(myhand) optiononeend optiontwo choice name(Put in graveyard) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +auto=if type(creature[zpos<=3]|mylibrary)~equalto~0 then if type(land[zpos<=3]|mylibrary)~equalto~0 then name(Mill 3 cards) name(Mill 3 cards) name(Mill 3 cards) reveal:3 optionone name(Put graveyard) target(<3>land|reveal) moveto(mygraveyard) optiononeend optiontwo choice name(Put in graveyard) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +text=You may mill three cards. Then return up to one creature card and up to one land card from your graveyard to your hand. (To mill a card, put the top card of your library into your graveyard.) +mana={2}{G} +type=Sorcery +[/card] +[card] name=Drumbellower abilities=flying auto=@each opponent untap:untap all(creature|mybattlefield) @@ -23504,6 +24172,14 @@ power=2 toughness=1 [/card] [card] +name=Dungeon Delver +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[twodngtrg])) +text=Commander creatures you own have "Room abilities of dungeons you own trigger an additional time." +mana={1}{U} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Dungeon Descent auto=tap(noevent) auto={T}:Add{C} @@ -23525,17 +24201,25 @@ restriction=never aicode=activate target(*[zpos<=3]|mylibrary) moveto(myhand) and!( transforms((,newability[zerocast],newability[draw:2 controller])) forever )! autocommandzone=transforms((,newability[shroud],newability[indestructible])) forever autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Yawning Portal) name(Yawning Portal) life:1 controller!$ controller -autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~2}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Dungeon Level) name(Dungeon Level) _SCRY_(1)!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~2}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Dungeon Level) name(Dungeon Level) _SCRY1_!$ controller autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~3}:ability$!name(Goblin Bazaar or Twisted Caverns) all(Dungeon of the Mad Mage|mycommandzone) transforms((,newability[choice name(Goblin Bazaar) token(Treasure Sur)*type:*[twodngtrg]:mybattlefieldplus1plusend],newability[if type(creature|battlefield)~morethan~0 then choice name(Twisted Caverns) name(Twisted Caverns) target(creature|battlefield) transforms((,newability[cantattack],newability[cantpwattack])) uynt])) oneshot!$ controller -autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~4}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Lost Level) name(Lost Level) _SCRY_(2)!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~4}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Lost Level) name(Lost Level) _SCRY2_!$ controller autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~5}:ability$!name(Runestone Caverns or Muiral's Graveyard) transforms((,newability[choice name(Muiral's Graveyard) token(Skeleton Mad)*twicetype:*[twodngtrg]:mybattlefieldplus1plusend],newability[choice name(Runestone Caverns) all(*[zpos<=twicecardcountabiltwodngtrgplus1plusend]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) oneshot!$ controller -autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~6}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Deep Mines) name(Deep Mines) _SCRY_(3)!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~6}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Deep Mines) name(Deep Mines) _SCRY3_!$ controller autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~7}:choice name(Dungeon completed) all(Dungeon of the Mad Mage|mycommandzone) completedungeon:1 controller autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~7}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Mad Wizard's Lair) name(Mad Wizard's Lair) reveal:3 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( transforms((,newability[zerocast])) forever )! optiononeend optiontwo all(*|reveal) moveto(myhand) optiontwoend revealend!$ controller text=Yawning Portal - You gain 1 life. -- Dungeon Level - Scry 1. -- Goblin Bazaar - Create a Treasure token. -- Twisted Caverns - Target creature can't attack until your next turn. -- Lost Level - Scry 2. -- Runestone Caverns - Exile the top two cards of your library. You may play them. -- Muiral's Graveyard - Create two 1/1 black Skeleton creature tokens. -- Deep Mines - Scry 3. -- Mad Wizard's Lair - Draw three cards and reveal them. You may cast one of them without paying its mana cost. type=Dungeon [/card] [card] +name=Dungeoneer's Pack +auto=tap(noevent) +auto={2}{T}{S}:name(Create treasure, draw and life) transforms((,newability[_INITIATIVE_CONTROLLER_],newability[token(Treasure Sur)],newability[draw:1 controller],newability[life:3 life])) oneshot asSorcery +text=Dungeoneer's Pack enters the battlefield tapped. -- {2}, {T}, Sacrifice Dungeoneer's Pack: You take the initiative, gain 3 life, draw a card, and create a Treasure token. Activate only as a sorcery. (A Treasure token is an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +mana={3} +type=Artifact +[/card] +[card] name=Duplicant auto=if type(creature[-token]|battlefield)~morethan~0 then may name(Exile non-token creature) name(Exile non-token creature) imprint target(creature[-token]) && all(this) transforms((,newability[evictpw/evictth cdaactive])) forever auto=this(variable{hasevict}>=1) transforms((evicttypes)) @@ -23558,6 +24242,18 @@ power=2 toughness=2 [/card] [card] +name=Durnan of the Yawning Portal +abilities=backgroundpartner +aicode=activate transforms((,newability[if type(creature[zpos<=4]|myLibrary)~morethan~0 then target(creature[zpos<=4]|myLibrary) moveTo(myexile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:-1) forcedalive],newability[all(other *[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) forever )! else all(*[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! ])) oneshot +auto=_ATTACKING_name(Look top 4 cards) reveal:4 optionone name(Exile creature) target(*[creature]|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:-1) forcedalive])) forever )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +text=Whenever Durnan attacks, look at the top four cards of your library. You may exile a creature card from among them. Put the rest on the bottom of your library in any order. For as long as that card remains exiled, you may cast it. That spell has undaunted. (It costs {1} less to cast for each opponent.) -- Choose a Background (You can have a Background as a second commander.) +mana={3}{G} +type=Legendary Creature +subtype=Human Warrior +power=3 +toughness=3 +[/card] +[card] name=Dusk // Dawn abilities=hasaftermath flashback={3}{W}{W} name(Dawn) @@ -23824,8 +24520,8 @@ toughness=2 [card] name=Eager Construct aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=may name(Scry 1) _SCRY_(1) -auto=ability$!name(Scry 1) may name(Scry 1) _SCRY_(1)!$ opponent +auto=may name(Scry 1) _SCRY1_ +auto=ability$!name(Scry 1) may name(Scry 1) _SCRY1_!$ opponent text=When Eager Construct enters the battlefield, each player may scry 1. mana={2} type=Artifact Creature @@ -23883,6 +24579,37 @@ power=2 toughness=4 [/card] [card] +name=Earthquake Dragon +abilities=flying,trample +anyzone=foreach(dragon[manacost=1]|mybattlefield) changecost(colorless:-1) forcedalive +anyzone=foreach(dragon[manacost=2]|mybattlefield) changecost(colorless:-2) forcedalive +anyzone=foreach(dragon[manacost=3]|mybattlefield) changecost(colorless:-3) forcedalive +anyzone=foreach(dragon[manacost=4]|mybattlefield) changecost(colorless:-4) forcedalive +anyzone=foreach(dragon[manacost=5]|mybattlefield) changecost(colorless:-5) forcedalive +anyzone=foreach(dragon[manacost=6]|mybattlefield) changecost(colorless:-6) forcedalive +anyzone=foreach(dragon[manacost=7]|mybattlefield) changecost(colorless:-7) forcedalive +anyzone=foreach(dragon[manacost=8]|mybattlefield) changecost(colorless:-8) forcedalive +anyzone=foreach(dragon[manacost=9]|mybattlefield) changecost(colorless:-9) forcedalive +anyzone=foreach(dragon[manacost=10]|mybattlefield) changecost(colorless:-10) forcedalive +anyzone=foreach(dragon[manacost=11]|mybattlefield) changecost(colorless:-11) forcedalive +anyzone=foreach(dragon[manacost=12]|mybattlefield) changecost(colorless:-12) forcedalive +anyzone=foreach(dragon[manacost=13]|mybattlefield) changecost(colorless:-13) forcedalive +anyzone=foreach(dragon[manacost=14]|mybattlefield) changecost(colorless:-14) forcedalive +anyzone=foreach(dragon[manacost=15]|mybattlefield) changecost(colorless:-15) forcedalive +anyzone=foreach(dragon[manacost=16]|mybattlefield) changecost(colorless:-16) forcedalive +anyzone=foreach(dragon[manacost=17]|mybattlefield) changecost(colorless:-17) forcedalive +anyzone=foreach(dragon[manacost=18]|mybattlefield) changecost(colorless:-18) forcedalive +anyzone=foreach(dragon[manacost=19]|mybattlefield) changecost(colorless:-19) forcedalive +anyzone=foreach(dragon[manacost>=20]|mybattlefield) changecost(colorless:-20) forcedalive +autograveyard={2}{G}{S(land|myBattlefield)}:name(Return Earthquake Dragon) moveto(myhand) all(this) +text=This spell costs {X} less to cast, where X is the total mana value of Dragons you control. -- Flying, trample -- {2}{G}, Sacrifice a land: Return Earthquake Dragon from your graveyard to your hand. +mana={14}{G} +type=Creature +subtype=Elemental Dragon +power=10 +toughness=10 +[/card] +[card] name=Earthshaker Giant abilities=trample auto=name(Creatures get 3/3) all(other creature|myBattlefield) transforms((,newability[3/3],newability[trample])) ueot @@ -23897,7 +24624,7 @@ toughness=6 name=Earthshaker Khenra abilities=haste auto=target(creature[power<=p]) cantblock ueot -autograveyard={4}{R}{R}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! asSorcery +autograveyard={4}{R}{R}{E}:_ETERNALIZE_ text=Haste -- When Earthshaker Khenra enters the battlefield, target creature with power less than or equal to Earthshaker Khenra's power can't block this turn. -- Eternalize {4}{R}{R} ({4}{R}{R}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Jackal Warrior with no mana cost. Eternalize only as a sorcery.) mana={1}{R} type=Creature @@ -24245,7 +24972,7 @@ type=Sorcery [/card] [card] name=Elaborate Firecannon -auto=@each my upkeep:frozen +auto=doesnotuntap auto={4}{T}:damage:2 target(creature,player) auto=@each my upkeep:may discard(*|myhand) && untap text=Elaborate Firecannon doesn't untap during your untap step. -- {4}, {T}: Elaborate Firecannon deals 2 damage to target creature or player. -- At the beginning of your upkeep, you may discard a card. If you do, untap Elaborate Firecannon. @@ -24265,6 +24992,18 @@ power=2 toughness=2 [/card] [card] +name=Elder Brain +abilities=menace +auto=_ATTACKING_name(Exile all cards) all(*|opponenthand) moveto(exile) and!( transforms((,newability[counter(0/0.1.ElderExiled) notrg],newability[draw:1 controller])) forever )! +auto={0}:name(Cast from opponent exile) target(*[counter{0/0.1.ElderExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.ElderExiled)],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.ElderExiled)])) ueot )! +text=Menace -- Whenever Elder Brain attacks a player, exile all cards from that player's hand, then they draw that many cards. You may play lands and cast spells from among the exiled cards for as long as they remain exiled. If you cast a spell this way, you may spend mana as though it were mana of any color to cast it. +mana={5}{B}{B} +type=Creature +subtype=Horror +power=6 +toughness=6 +[/card] +[card] name=Elder Gargaroth abilities=vigilance,reach,trample auto=@combat(attacking,blocking) source(this):ability$!name(Choose one) choice name(Create token) _BEASTTOKEN_ _ choice name(Gain life) life:3 controller _ choice name(Draw card) draw:1 controller!$ controller @@ -24461,7 +25200,7 @@ subtype=Lesson [card] name=Elemental Uprising target=land|mybattlefield -auto=transforms((Creature Elemental,setpower=4,settoughness=4,newability[haste],newability[_ATTACKING_all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) ueot +auto=transforms((Creature Elemental,setpower=4,settoughness=4,newability[haste],_MUST_BE_BLOCKD_)) ueot text=Target land you control becomes a 4/4 Elemental creature with haste until end of turn. it's still a land. It must be blocked this turn if able. mana={1}{G} type=Instant @@ -24640,6 +25379,17 @@ mana={3} type=Artifact [/card] [card] +name=Ellyn Harbreeze, Busybody +abilities=backgroundpartner +auto={T}:name(Look top X cards) reveal:type:*[token;fresh]:mybattlefield optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend +text={T}: Look at the top X cards of your library, where X is the number of tokens you created this turn. Put one of those cards into your hand and the rest on the bottom of your library in a random order. -- Choose a Background (You can have a Background as a second commander.) +mana={3}{W} +type=Legendary Creature +subtype=Human Peasant +power=2 +toughness=4 +[/card] +[card] name=Elminster's Simulacrum auto=may name(Copy target creature) clone target(creature|opponentBattlefield) text=For each opponent, you create a token that's a copy of up to one target creature that player controls. @@ -24712,7 +25462,7 @@ subtype=Saga [card] name=Elspeth's Smite target=*[attacking;blocking] -auto=exiledeath +auto=exiledeath auto=damage:3 text=Elspeth's Smite deals 3 damage to target attacking or blocking creature. If that creature would die this turn, exile it instead. mana={W} @@ -24989,6 +25739,21 @@ power=4 toughness=4 [/card] [card] +name=Emerald Dragon // Dissonant Wave +#Counter target activated or triggered ability not implemented ATM +abilities=flying,trample,adventure,asflash +restriction=can play creature +otherrestriction=never +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +other={2}{G} name(Adventure) +text=Flying, trample // Counter target activated or triggered ability from a noncreature source. (Then exile this card. You may cast the creature later from exile.) +mana={4}{G}{G} +type=Creature +subtype=Dragon +power=4 +toughness=4 +[/card] +[card] name=Emergence Zone auto={T}:Add{C} auto={1}{T}{S}:all(*|mycastingzone) transforms((,newability[asflash])) ueot @@ -25021,7 +25786,7 @@ type=Sorcery [card] name=Emergent Growth target=creature -auto=transforms((,newability[5/5],newability[_ATTACKING_all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) ueot +auto=transforms((,newability[5/5],_MUST_BE_BLOCKD_)) ueot text=Target creature gets +5/+5 until end of turn and must be blocked this turn if able. mana={3}{G} type=Sorcery @@ -25074,8 +25839,8 @@ type=Land [card] name=Emiel the Blessed auto={3}:name(Move to exile) target(other creature|mybattlefield) moveto(exile) and!(moveto(ownerbattlefield))! -auto=@movedto(other creature[-unicorn]|mybattlefield):may all(trigger[to]) counter(1/1) -auto=@movedto(other creature[unicorn]|mybattlefield):may counter(1/1,2) all(trigger[to]) +auto=@movedto(other creature[-unicorn]|mybattlefield):all(trigger[to]) pay[[{GW}]] counter(1/1) +auto=@movedto(other creature[unicorn]|mybattlefield):all(trigger[to]) pay[[{GW}]] counter(1/1,2) text={3}: Exile another target creature you control, then return it to the battlefield under its owner's control. -- Whenever another creature enters the battlefield under your control, you may pay {G} or {W}. If you do, put a +1/+1 counter on it. If it's a Unicorn, put two +1/+1 counters on it instead. ( {G} or {W} can be paid with either {G} or {W}.) mana={2}{W}{W} type=Legendary Creature @@ -25276,6 +26041,16 @@ mana={2} type=Artifact [/card] [card] +name=Endless Evil +target=creature|myBattlefield +auto=teach(creature[horror]) transforms((,newability[@movedto(this|graveyard) from(myBattlefield):name(Return to hand) target(Endless Evil) moveTo(ownerhand)])) +auto=@each my upkeep:name(Clone enchanted creature) clone(mytgt) and!( transforms((,setpower=1,settoughness=1)) forever )! +text=Enchant creature you control -- At the beginning of your upkeep, create a token that's a copy of enchanted creature, except the token is 1/1. -- When enchanted creature dies, if that creature was a Horror, return Endless Evil to its owner's hand. +mana={2}{U} +type=Enchantment +subtype=Aura +[/card] +[card] name=Endless Sands auto={T}:Add{1} auto={2}{T}:(blink)forsrc target(creature|myBattlefield) @@ -25328,7 +26103,7 @@ toughness=3 [/card] [card] name=Enduring Renewal -auto=replacedraw if type(creature[zpos=1|mylibrary)~morethan~0 then moveto(ownergraveyard) all(*[zpos=1|mylibrary) else draw:1 controller +auto=replacedraw if type(creature[zpos=1]|mylibrary)~morethan~0 then moveto(ownergraveyard) all(*[zpos=1]|mylibrary) else draw:1 controller auto=@movedTo(creature|mygraveyard) from(battlefield):all(trigger[to]) moveTo(myhand) text=Play with your hand revealed. -- If you would draw a card, reveal the top card of your library instead. If it's a creature card, put it into your graveyard. Otherwise, draw a card. -- Whenever a creature is put into your graveyard from the battlefield, return it to your hand. mana={2}{W}{W} @@ -25443,7 +26218,7 @@ name=Enlarge target=creature auto=trample ueot auto=7/7 ueot -auto=transform((,newability[_ATTACKING_ all(creature|opponentbattlefield) mustblock ueot])) ueot +auto=transforms((,_MUST_BE_BLOCKD_)) ueot text=Target creature gets +7/+7 and gains trample until end of turn. It must be blocked this turn if able. (If a creature with trample would assign enough damage to its blockers to destroy them, you may have it assign the rest of its damage to defending player or planeswalker.) mana={3}{G}{G} type=Sorcery @@ -25483,7 +26258,7 @@ auto=damage:4 auto=life:4 auto=deplete:4 target(player) auto=_AMASS_(4) -text=Enter the God-Eternals deals 4 damage to target creature and you gain life equal to the damage dealt this way. Target player puts the top four cards of their library into their graveyard. Amass 4. (Put four +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) +text=Enter the God-Eternals deals 4 damage to target creature and you gain life equal to the damage dealt this way. Target player mills four cards. Amass 4. (Put four +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) mana={2}{U}{U}{B} type=Sorcery [/card] @@ -25849,7 +26624,7 @@ toughness=3 [card] name=Esix, Fractal Bloom abilities=flying -auto=@movedto(*[token]|mybattlefield) turnlimited:all(trigger[to] transforms((,newability[may name(Copy a creature) target(creature[-Esix^ Fractal Bloom]|battlefield) copy])) oneshot +auto=@movedto(*[token]|mybattlefield) turnlimited:all(trigger[to]) transforms((,newability[may name(Copy a creature) target(creature[-Esix^ Fractal Bloom]|battlefield) copy])) oneshot text=Flying -- The first time you would create one or more tokens during each of your turns, you may instead choose a creature other than Esix, Fractal Bloom and create that many tokens that are copies of that creature. mana={4}{G}{U} type=Legendary Creature @@ -25981,7 +26756,7 @@ toughness=5 [/card] [card] name=Etchings of the Chosen -auto=chooseatype transforms((,newability[lord(creature[chosentype]|mybattlefield) 1/1],newability[{1}{S(creature[chosentype]|mybattlefield)}:name(Creature gains indestructible) target(creature) indestructible ueot])) chooseend +auto=chooseatype transforms((,newability[lord(creature[chosentype]|mybattlefield) 1/1],newability[{1}{S(creature[chosentype]|mybattlefield)}:name(Creature gains indestructible) target(creature|myBattlefield) indestructible ueot])) chooseend text=As Etchings of the Chosen enters the battlefield, choose a creature type. -- Creatures you control of the chosen type get +1/+1. -- {1}, Sacrifice a creature of the chosen type: Target creature you control gains indestructible until end of turn. mana={1}{W}{B} type=Enchantment @@ -26032,7 +26807,7 @@ name=Ethereal Absolution auto=lord(creature|myBattlefield) +1/+1 auto=lord(creature|opponentBattlefield) -1/-1 auto={2}{W}{B}:name(exile non-creature card) moveTo(exile) target(*[-creature]|opponentGraveyard) -auto={2}{W}{B}:name(exile creature card) moveTo(exile) target(creature|opponentGraveyard) && create(Spirit:creature Spirit:1/1:white,black:flying) +auto={2}{W}{B}:name(exile creature card) moveTo(exile) target(creature|opponentGraveyard) && _AFTERLIFETOKEN_ text=Creatures you control get +1/+1. -- Creatures your opponents control get -1/-1. -- {2}{W}{B}: Exile target card from an opponent's graveyard. If it was a creature card, you create a 1/1 white and black Spirit creature token with flying. mana={4}{W}{B} type=Enchantment @@ -26054,7 +26829,6 @@ name=Ethereal Escort abilities=lifelink auto=name(Creature perpetually gains lifelink) target(*|myhand) transforms((,newability[perpetuallifelink])) forever auto=_ATTACKING_name(Creature perpetually gains lifelink) target(*|myhand) transforms((,newability[perpetuallifelink])) forever -auto=@Ethereal Escort enters the battlefield or attackschoose a card in your handperpetually) lifelink text=Lifelink -- Whenever Ethereal Escort enters the battlefield or attacks, choose a card in your hand. It perpetually gains lifelink. mana={2}{W} type=Creature @@ -26133,7 +26907,7 @@ toughness=4 [card] name=Etrata, the Silencer abilities=unblockable -auto=@damagefoeof(player) from(this): transforms((,newability[moveTo(opponentExile) target(creature|opponentBattlefield) with counter{0/0.1.Hit}],newability[if restriction{type(creature[counter{0/0.1.Hit}]|opponentExile)~morethan~2} wingame controller)) && moveTo(ownerlibrary) all(this) && shuffle +auto=@damagefoeof(player) from(this): transforms((,newability[moveTo(opponentExile) target(creature|opponentBattlefield) with counter{0/0.1.Hit}],newability[if restriction{type(creature[counter{0/0.1.Hit}]|opponentExile)~morethan~2} wingame controller])) && moveTo(ownerlibrary) all(this) && shuffle text=Etrata, the Silencer can't be blocked. -- Whenever Etrata deals combat damage to a player, exile target creature that player controls and put a hit counter on that card. That player loses the game if they own three or more exiled cards with hit counters on them. Etrata's owner shuffles Etrata into their library. mana={2}{U}{B} type=Legendary Creature @@ -26142,6 +26916,21 @@ power=3 toughness=5 [/card] [card] +name=Ettercap // Web Shot +abilities=adventure,asflash,reach +restriction=can play creature +otherrestriction=type(creature[flying]|battlefield)~morethan~0 +other={2}{G} name(Adventure) +auto=if paid(alternative) then name(Destroy flying creature) name(Destroy flying creature) target(creature[flying]|battlefield) destroy +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +text=Reach // Destroy target creature with flying. (Then exile this card. You may cast the creature later from exile.) +mana={4}{G} +type=Creature +subtype=Spider Beast +power=2 +toughness=5 +[/card] +[card] name=Eureka auto=moveto(ownerbattlefield) notatarget(*[creature;artifact;enchantment;land;planeswalker]|myhand) auto=ability$! moveto(ownerbattlefield) notatarget(*[creature;artifact;enchantment;land;planeswalker]|myhand) !$ opponent @@ -26286,7 +27075,7 @@ toughness=1 [card] name=Evra, Halcyon Witness abilities=lifelink -auto={4}:count(lifetotal) && transforms((,newability[lifeset:p controller})) forever && all(this) transforms((,setpower=countedamount)) forever +auto={4}:count(lifetotal) && transforms((,newability[lifeset:p controller])) forever && all(this) transforms((,setpower=countedamount)) forever text=Lifelink -- {4}: Exchange your life total with Evra, Halcyon Witness's power. mana={4}{W}{W} type=Legendary Creature @@ -26474,12 +27263,11 @@ toughness=3 [/card] [card] name=Exotic Orchard -auto=this(variable{olandg}>0) {t}:out{g} -auto=this(variable{olandu}>0) {t}:out{u} -auto=this(variable{olandr}>0) {t}:out{r} -auto=this(variable{olandb}>0) {t}:out{b} auto=this(variable{olandw}>0) {t}:out{w} -auto=this(variable{olandc}>0) {t}:out{1} +auto=this(variable{olandu}>0) {t}:out{u} +auto=this(variable{olandb}>0) {t}:out{b} +auto=this(variable{olandr}>0) {t}:out{r} +auto=this(variable{olandg}>0) {t}:out{g} text={T}: Add one mana of any color that a land an opponent controls could produce. type=Land [/card] @@ -26559,7 +27347,7 @@ toughness=2 [card] name=Expedition Supplier auto=name(Conjure a card) conjure cards(Utility Knife) zone(mybattlefield) -auto=movedTo(other *[human]|myBattlefield) turnlimited:name(Conjure a card) conjure cards(Utility Knife) zone(mybattlefield) +auto=@movedTo(other *[human]|myBattlefield) turnlimited:name(Conjure a card) conjure cards(Utility Knife) zone(mybattlefield) text=Whenever Expedition Supplier or another Human enters the battlefield under your control, conjure a card named Utility Knife onto the battlefield. This ability triggers only once each turn. mana={2}{W} type=Creature @@ -26614,6 +27402,14 @@ mana={2}{U}{R} type=Sorcery [/card] [card] +name=Explore the Underdark +auto=_INITIATIVE_CONTROLLER_ +auto=name(search 2 lands or gates) target(land[basic;gate]|myLibrary) moveTo(myBattlefield) and!( tap(noevent) )! +text=Search your library for up to two basic land cards and/or Gate cards, put them onto the battlefield tapped, then shuffle. -- You take the initiative. +mana={4}{G} +type=Sorcery +[/card] +[card] name=Explore the Vastlands abilities=doublefacedeath aicode=activate transforms((,newability[if type(*[land;instant;sorcery;zpos<=5]|mylibrary)~equalto~0 then all(*[zpos<=5]|mylibrary) bottomoflibrary else target(*[zpos<=1]|mylibrary) transforms((,newability[target(*[land;instant;sorcery;zpos<=5]|mylibrary) moveto(myhand) and!( all(*[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot])) oneshot @@ -26693,7 +27489,7 @@ name=Expose to Daylight target=artifact,enchantment auto=destroy aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Destroy target artifact or enchantment. Scry 1. mana={2}{W} type=Instant @@ -26741,6 +27537,17 @@ power=4 toughness=2 [/card] [card] +name=Exsanguinator Cavalry +abilities=lifelink,menace +auto=@combatdamaged(player) from(Knight|myBattlefield):all(trigger[from]) counter(1/1) && create(blood) +text=Menace, lifelink -- Whenever a Knight you control deals combat damage to a player, put a +1/+1 counter on that creature and create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") +mana={2}{B} +type=Creature +subtype=Vampire Knight +power=2 +toughness=3 +[/card] +[card] name=Extinguish the Light target=creature,planeswalker auto=destroy and!( if cantargetcard(*[manacost<=3]) then life:3 controller )! @@ -26829,9 +27636,8 @@ toughness=3 [card] name=Eye Collector abilities=flying -auto=@combatdamaged(player) from(this):deplete:1 controller -auto=@combatdamaged(player) from(this):deplete:1 opponent -text=Flying -- Whenever Eye Collector deals combat damage to a player, each player puts the top card of their library into their graveyard. +auto=@combatdamaged(player) from(this):all(player) deplete:1 +text=Flying -- Whenever Eye Collector deals combat damage to a player, each player mills a card. mana={B} type=Creature subtype=Faerie @@ -26840,7 +27646,7 @@ toughness=1 [/card] [card] name=Eye of Malcator -auto=_SCRY_(2) +auto=_SCRY2_ auto=@movedTo(other artifact|myBattlefield):becomes(Artifact Creature Phyrexian Eye,4/4) ueot text=When Eye of Malcator enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom and the rest on top in any order.) -- Whenever another artifact enters the battlefield under your control, Eye of Malcator becomes a 4/4 Phyrexian Eye artifact creature until end of turn. mana={2}{U} @@ -26880,7 +27686,7 @@ toughness=2 name=Eyes Everywhere aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto={5}{U}:moveto(mybattlefield) target(*[-land]|opponentbattlefield) and!( moveto(opponentbattlefield) all(this) )! asSorcery -auto=@each my upkeep:_SCRY_(1) +auto=@each my upkeep:_SCRY1_ text=At the beginning of your upkeep, scry 1. -- {5}{U}: Exchange control of Eyes Everywhere and target nonland permanent. Activate this ability only any time you could cast a sorcery. mana={2}{U} type=Enchantment @@ -26987,6 +27793,22 @@ text={T}: Add {C}. -- {S}i}{S}i}{S}i}: Faceless Haven becomes a 4/3 creature wit type=Snow Land [/card] [card] +name=Faceless One +abilities=backgroundpartner +autocommandzone=emblem transforms((,newability[lord(*[counter{0/0.1.PerpetualWhite}]|myzones) becomes(^white)],newability[lord(*[counter{0/0.1.PerpetualBlack}]|myzones) becomes(^black)],newability[lord(*[counter{0/0.1.PerpetualBlue}]|myzones) becomes(^blue)],newability[lord(*[counter{0/0.1.PerpetualGreen}]|myzones) becomes(^green)],newability[lord(*[counter{0/0.1.PerpetualRed}]|myzones) becomes(^red)],)) forever dontremove +autocommandzone=if cantargetcard(*[colorless;iscommander]|*) then choice name(Choose White) name(Choose White) counter(0/0.1.PerpetualWhite) notrg +autocommandzone=if cantargetcard(*[colorless;iscommander]|*) then choice name(Choose Black) name(Choose Black) counter(0/0.1.PerpetualBlack) notrg +autocommandzone=if cantargetcard(*[colorless;iscommander]|*) then choice name(Choose Blue) name(Choose Blue) counter(0/0.1.PerpetualBlue) notrg +autocommandzone=if cantargetcard(*[colorless;iscommander]|*) then choice name(Choose Green) name(Choose Green) counter(0/0.1.PerpetualGreen) notrg +autocommandzone=if cantargetcard(*[colorless;iscommander]|*) then choice name(Choose Red) name(Choose Red) counter(0/0.1.PerpetualRed) notrg +text=If Faceless One is your commander, choose a color before the game begins. Faceless One is the chosen color. -- Choose a Background (You can have a Background as a second commander.) +mana={5} +type=Legendary Enchantment Creature +subtype=Background +power=3 +toughness=3 +[/card] +[card] name=Facet Reader auto={1}{T}:_LOOT_ text={1}, {T}: Draw a card, then discard a card. @@ -27005,8 +27827,8 @@ type=Instant [/card] [card] name=Fade Away -auto=foreach(creature|myBattlefield) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?sacrifice target(*|mybattlefield) controller])) -auto=foreach(creature|opponentBattlefield) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?sacrifice target(*|mybattlefield) opponent])) +auto=foreach(creature|myBattlefield) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?sacrifice notAtarget(*|mybattlefield) controller])) +auto=foreach(creature|opponentBattlefield) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?sacrifice notAtarget(*|mybattlefield) opponent])) text=For each creature, its controller sacrifices a permanent unless he or she pays {1}. mana={2}{U} type=Sorcery @@ -27024,7 +27846,7 @@ type=Sorcery name=Fading Hope target=creature aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=moveto(ownerhand) and!( if cantargetcard(*[manacost<=3]|*) then _SCRY_(1) )! +auto=moveto(ownerhand) and!( if cantargetcard(*[manacost<=3]|*) then _SCRY1_ )! text=Return target creature to its owner's hand. If its mana value was 3 or less, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={U} type=Instant @@ -27067,7 +27889,7 @@ toughness=0 [card] name=Faerie Artisans abilities=flying -auto=@movedto(creature[-token]|opponentBattlefield):name(Copy creature) all(trigger[to]) clone addtype(artifact) and!( transform((,newability[counter(0/0.1.ArtisanCreated)])) oneshot )! +auto=@movedto(creature[-token]|opponentBattlefield):name(Copy creature) all(trigger[to]) clone addtype(artifact) and!( transforms((,newability[counter(0/0.1.ArtisanCreated)])) oneshot )! auto=@movedto(creature[-token]|opponentBattlefield):name(Exile other tokens) all(creature[counter(0/0.1.ArtisanCreated)]|myBattlefield) moveTo(exile) text=Flying -- Whenever a nontoken creature enters the battlefield under an opponent's control, create a token that's a copy of that creature except it's an artifact in addition to its other types. Then exile all other tokens created with Faerie Artisans. mana={3}{U} @@ -27115,7 +27937,7 @@ toughness=1 name=Faerie Mastermind abilities=flash,flying auto=@drawfoeof(player) restriction{compare(pdrewcount)~equalto~2}:draw:1 -auto={3}{U}:draw:1 controller && draw:1 opponent +auto={3}{U}:all(player) draw:1 text=Flash -- Flying -- Whenever an opponent draws their second card each turn, you draw a card. -- {3}{U}: Each player draws a card. mana={1}{U} type=Creature @@ -27127,7 +27949,7 @@ toughness=1 name=Faerie Seer abilities=flying aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Flying -- When Faerie Seer enters the battlefield, scry 2. mana={U} type=Creature @@ -27246,7 +28068,7 @@ type=Instant [/card] [card] name=Faithless Salvaging -auto=target(*|myHand) reject and!( transforms((,newability[name(Draw 1 card) draw:1 controller])) oneshot )! +auto=_DISCARD&DRAW_ auto=_REBOUND_ text=Discard a card, then draw a card. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) mana={1}{R} @@ -27332,6 +28154,7 @@ toughness=1 name=Fall from Favor target=creature auto=tap +auto=_MONARCH_CONTROLLER_ auto=this(variable{omonarch}<1) doesnotuntap text=Enchant creature -- When Fall from Favor enters the battlefield, tap enchanted creature and you become the monarch. -- Enchanted creature doesn't untap during its controller's untap step unless that player is the monarch. mana={2}{U} @@ -27497,6 +28320,20 @@ power=1 toughness=1 [/card] [card] +name=Fang Dragon // Forktail Sweep +abilities=flying,adventure +restriction=can play creature +other={1}{R} name(Adventure) +auto=if paid(alternative) then name(Deal 1 damage) name(Deal 1 damage) all(creature|opponentBattlefield) damage:1 +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +text=Flying // Forktail Sweep deals 1 damage to each creature you don't control. (Then exile this card. You may cast the creature later from exile.) +mana={5}{R}{R} +type=Creature +subtype=Dragon +power=6 +toughness=3 +[/card] +[card] name=Fang of Shigeki abilities=deathtouch text=Deathtouch @@ -27560,6 +28397,14 @@ mana={1}{U} type=Instant [/card] [card] +name=Far Traveler +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@each my endofturn:may name(Exile a creature) target(creature[tapped]|mybattlefield) moveto(myexile) and!( moveto(ownerbattlefield) )!])) +text=Commander creatures you own have "At the beginning of your end step, exile up to one target tapped creature you control, then return it to the battlefield under its owner's control." +mana={2}{W} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Farewell auto=ability$!name(Exile all graveyards) may name(Exile all graveyards) moveto(exile) all(*|graveyard)!$ controller auto=ability$!name(Exile all enchantments) may name(Exile all enchantments) moveto(exile) all(enchantment)!$ controller @@ -27669,7 +28514,7 @@ name=Fateful End target=player,creature,plansewalker auto=damage:3 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Fateful End deals 3 damage to any target. Scry 1. mana={2}{R} type=Instant @@ -28251,6 +29096,15 @@ power=1 toughness=1 [/card] [card] +name=Fertilid's Favor +target=player +auto=ability$!name(Search a land) name(Search a land) target(land[basic]|mylibrary) moveTo(myBattlefield) and!(tap(noevent))! !$ targetedPlayer +auto=ability$!may counter(1/1,2) target(artifact,creature)!$ controller +text=Target player searches their library for a basic land card, puts it onto the battlefield tapped, then shuffles. Put two +1/+1 counters on up to one target artifact or creature. +mana={3}{G} +type=Instant +[/card] +[card] name=Fervent Mastery other={2}{R}{R} name(Cast for 1 less) aicode=activate transforms((,newability[target(<3>*|mylibrary) moveto(myhand) and!( discard:1 controller )!])) oneshot @@ -28352,6 +29206,17 @@ power=4 toughness=4 [/card] [card] +name=Feywild Caretaker +auto=_INITIATIVE_CONTROLLER_ +auto=@each my endofturn restriction{compare(pinitiative)~morethan~0}:name(Create Faerie) token(Faerie,Creature Faerie Dragon,1/1,blue,flying) +text=When Feywild Caretaker enters the battlefield, you take the initiative. -- At the beginning of your end step, if you have the initiative, create a 1/1 blue Faerie Dragon creature token with flying. +mana={4}{U} +type=Creature +subtype=Orc Wizard +power=3 +toughness=4 +[/card] +[card] name=Feywild Trickster auto=@dierolled(*|mybattlefield) from(controller):name(Create Faerie) token(Faerie Dragon,Creature Faerie Dragon,1/1,blue,flying) text=Whenever you roll one or more dice, create a 1/1 blue Faerie Dragon creature token with flying. @@ -28362,9 +29227,17 @@ power=2 toughness=2 [/card] [card] +name=Feywild Visitor +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@combatdamagefoeof(player) from(creature[-token]|mybattlefield):name(Create Faerie) token(Faerie Dragon^Creature Faerie Dragon^1/1^blue^flying)],newability[@combatdamageof(player) from(creature[-token]|mybattlefield):name(Create Faerie) token(Faerie Dragon^Creature Faerie Dragon^1/1^blue^flying)])) +text=Commander creatures you own have "Whenever one or more nontoken creatures you control deal combat damage to a player, you create a 1/1 blue Faerie Dragon creature token with flying." +mana={2}{U} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Fibrous Entangler abilities=vigilance -auto=_ATTACKING_all(creature|opponentbattlefield) mustblock ueot +auto=transforms((,_MUST_BE_BLOCKD_)) text=Vigilance -- Fibrous Entangler must be blocked if able. -- Fibrous Entangler can block an additional creature each combat. mana={2}{G}{G} type=Creature @@ -28576,11 +29449,8 @@ type=Artifact [/card] [card] name=Fight as One -target=creature|mybattlefield -other={W} name(Both) -auto=if paid(alternative) then target(creature[human]) 1/1 && indestructible ueot -auto=if paid(alternative) then target(creature[-human]) 1/1 && indestructible ueot -auto=ifnot paid(alternative) then 1/1 && indestructible ueot +auto=ability$!name(Target Human) may name(Target Human) target(creature[human]|mybattlefield) transforms((,newability[1/1],newability[indestructible])) ueot!$ controller +auto=ability$!name(Target non-Human) may name(Target non-Human) target(creature[-human]|mybattlefield) transforms((,newability[1/1],newability[indestructible])) ueot!$ controller text=Choose one or both -- Target Human creature you control gets +1/+1 and gains indestructible until end of turn. -- Target non-Human creature you control gets +1/+1 and gains indestructible until end of turn. mana={W} type=Instant @@ -28619,6 +29489,17 @@ power=* toughness=3 [/card] [card] +name=Filigree Vector +auto=ability$! may target(creature|mybattlefield) counter(1/1) !$ controller && ability$! may target(artifact|mybattlefield) counter(0/0,1,Charge) !$ controller +auto={1}{T}{S(other artifact|mybattlefield)}:_PROLIFERATE_ +text=When Filigree Vector enters the battlefield, put a +1/+1 counter on each of any number of target creatures and a charge counter on each of any number of target artifacts. -- {1}, {T}, Sacrifice another artifact: Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) +mana={3}{W} +type=Artifact Creature +subtype=Phyrexian Construct +power=1 +toughness=1 +[/card] +[card] name=Fin-Clade Fugitives auto=cantbeblockedby(creature[power<=2]) autograveyard={4}{G}:name(Activate Encore) name(Activate Encore) moveto(exile) and!(clone with(treason,haste,mustattack))! asSorcery @@ -28831,7 +29712,7 @@ type=Sorcery name=Fire Prophecy target=creature auto=damage:3 -auto=may bottomoflibrary target(*|myHand) && draw:1 controller +auto=may bottomoflibrary notAtarget(*|myHand) and!(draw:1 controller)! text=Fire Prophecy deals 3 damage to target creature. You may put a card from your hand on the bottom of your library. If you do, draw a card. mana={1}{R} type=Instant @@ -28975,6 +29856,17 @@ power=4 toughness=3 [/card] [card] +name=Firemane Commando +abilities=flying +auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1}:draw:1 +text=Flying -- Whenever you attack with two or more creatures, draw a card. -- Whenever another player attacks with two or more creatures, they draw a card if none of those creatures attacked you. +mana={3}{W} +type=Creature +subtype=Angel Soldier +power=4 +toughness=3 +[/card] +[card] name=Firemind Vessel auto=tapped(noevent) auto={T}:Add{W}{U} @@ -29124,6 +30016,18 @@ power=2 toughness=4 [/card] [card] +name=Firkraag, Cunning Instigator +abilities=flying,haste +auto=@combat(attacking) source(dragon|myBattlefield):name(Goad creature) target(creature|opponentbattlefield) _GOAD_ +auto=@combatdamagefoeof(player) from(creature[mustattack]|mybattlefield):name(Put counter and draw) transforms((,newability[counter(1/1)],newability[draw:1 controller])) oneshot +text=Flying, haste -- Whenever one or more Dragons you control attack an opponent, goad target creature that player controls. -- Whenever a creature deals combat damage to one of your opponents, if that creature had to attack this combat, you put a +1/+1 counter on Firkraag, Cunning Instigator and you draw a card. +mana={3}{U}{R} +type=Legendary Creature +subtype=Dragon +power=3 +toughness=3 +[/card] +[card] name=Firmament Sage auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) auto=@transformed(*[day;night]|battlefield):name(Draw a card) draw:1 controller @@ -29136,7 +30040,7 @@ toughness=3 [/card] [card] name=First Day of Class -auto=emblem transforms((,newability[@movedto(creature|mybattlefield):name(Gains 1/1 counter and haste) all(trigger[to]) transforms((,newability[counter(1/1),newability[haste])) ueot])) ueot +auto=emblem transforms((,newability[@movedto(creature|mybattlefield):name(Gains 1/1 counter and haste) all(trigger[to]) transforms((,newability[counter(1/1)],newability[haste])) ueot])) ueot text=Whenever a creature enters the battlefield under your control this turn, put a +1/+1 counter on it and it gains haste until end of turn. -- Learn. (You may reveal a Lesson card you own from outside the game and put it into your hand, or discard a card to draw a card.) mana={1}{R} type=Instant @@ -29191,7 +30095,7 @@ type=Sorcery [/card] [card] name=Fissure Wizard -auto=if type(*|myhand)~morethan~0 then ability$!may reject notatarget(*|myhand) and!(draw:1)! !$ controller +auto=if type(*|myhand)~morethan~0 then ability$!may _DISCARD&DRAW_ !$ controller text=When Fissure Wizard enters the battlefield, you may discard a card. If you do, draw a card. mana={1}{R} type=Creature @@ -29467,6 +30371,14 @@ power=2 toughness=1 [/card] [card] +name=Flaming Fist +auto=@combat(attacking) source(*[iscommander]|mybattlefield):name(Commander gains double strike) all(trigger[to]) transforms((,newability[double strike])) ueot +text=Commander creatures you own have "Whenever this creature attacks, it gains double strike until end of turn." +mana={2}{W} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Flaming Fist Officer auto=@movedTo(other creature|nonbattlezone) from(mybattlefield):counter(1/1) text=Whenever another creature you control leaves the battlefield, put a +1/+1 counter on Flaming Fist Officer. @@ -29508,7 +30420,7 @@ type=Instant name=Flawless Maneuver auto=all(creature|myBattlefield) indestructible ueot other={0} name(Cast without Paying its Mana Cost) -otherrestriction=type(*[iscommander|mybattlefield)~morethan~0 +otherrestriction=type(*[iscommander]|mybattlefield)~morethan~0 text=If you control a commander, you may cast this spell without paying its mana cost. -- Creatures you control gain indestructible until end of turn. mana={2}{W} type=Instant @@ -29592,7 +30504,7 @@ type=Sorcery [card] name=Fleshtaker aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@sacrificed(other creature|myBattlefield):name(Gain life and scry) life:1 controller && _SCRY_(1) +auto=@sacrificed(other creature|myBattlefield):name(Gain life and scry) life:1 controller && _SCRY1_ auto={1}{S(other creature|myBattlefield)}:name(Gets 2/2) 2/2 ueot text=Whenever you sacrifice another creature, you gain 1 life and scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {1}, Sacrifice another creature: Fleshtaker gets +2/+2 until end of turn. type=Creature @@ -29796,7 +30708,7 @@ type=Instant [card] name=Flusterstorm abilities=storm -target=*[-creature;-planeswalker;-artifact;-enchantment]|stack +target=*[instant;sorcery]|stack auto=transforms((,newability[pay[[{1}]] name(pay {1} mana) donothing?fizzle])) forever text=Counter target instant or sorcery spell unless its controller pays {1}. -- Storm (When you cast this spell, copy it for each spell cast before it this turn. You may choose new targets for the copies.) mana={U} @@ -29899,6 +30811,14 @@ mana={1}{U} type=Artifact [/card] [card] +name=Folk Hero +auto=lord(*[iscommander]|myBattlefield) transforms((,newability[@movedTo(*[creature;share!types!]|mystack) turnlimited:name(Draw a card) draw:1 controller])) +text=Commander creatures you own have "Whenever you cast a spell that shares a creature type with this creature, draw a card. This ability triggers only once each turn." +mana={1}{W} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Font of Agonies auto=@lifelostof(player):counter(0/0,Blood,thatmuch) all(this) auto={1}{B}{C(0/0,-4,Blood)}:target(creature) destroy @@ -30250,7 +31170,7 @@ type=Instant name=Forsaken Crossroads aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=tap(noevent) -auto=chooseacolor transforms((,newability[{T}:add{chosencolor}],newability[if compare(startingplayer)~morethan~0 then may name(Untap card) name(Untap card) untap],newability[name(Scry 1) _SCRY_(1)])) forever chooseend +auto=chooseacolor transforms((,newability[{T}:add{chosencolor}],newability[if compare(startingplayer)~morethan~0 then may name(Untap card) name(Untap card) untap],newability[name(Scry 1) _SCRY1_])) forever chooseend text=Forsaken Crossroads enters the battlefield tapped. -- As Forsaken Crossroads enters the battlefield, choose a color. -- When Forsaken Crossroads enters the battlefield, scry 1. If you weren't the starting player, you may untap Forsaken Crossroads instead. -- {T}: Add one mana of the chosen color. type=Land [/card] @@ -30693,6 +31613,16 @@ type=Enchantment subtype=Aura [/card] [card] +name=From the Catacombs +target=creature|graveyard +auto=_INITIATIVE_CONTROLLER_ +auto=moveto(myBattlefield) and!( transforms((,newability[counter(0/0.1.Corpse)],newability[exiledeath])) forever )! +retrace={3}{B}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape) +text=Put target creature card from a graveyard onto the battlefield under your control with a corpse counter on it. If that creature would leave the battlefield, exile it instead of putting it anywhere else. -- You take the initiative. -- Escape-{3}{B}{B}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) +mana={3}{B}{B} +type=Sorcery +[/card] +[card] name=Frondland Felidar abilities=vigilance auto=lord(creature[vigilance]|myBattlefield) transforms((,newability[{1}{T}:tap target(creature)])) @@ -30962,7 +31892,7 @@ toughness=5 [card] name=Furious Bellow target=creature -auto=3/0 && _SCRY_(1) +auto=3/0 && _SCRY1_ text=Target creature gets +3/+0 and gains first strike until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{R} type=Instant @@ -31162,7 +32092,7 @@ toughness=1 [/card] [card] name=Gaea's Protector -auto=_ATTACKING_ all(creature|opponentbattlefield) mustblock ueot +auto=transforms((,_MUST_BE_BLOCKD_)) text=Gaea's Protector must be blocked if able. mana={3}{G} type=Creature @@ -31223,6 +32153,15 @@ power=3 toughness=2 [/card] [card] +name=Gale's Redirection +target=*|stack +auto=fizzleto(exile) +auto=name(Roll a d20) rolld20 20 winability all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile],newability[zerocast])) forever winabilityend loseability if compare(lastrollresultplusmanacostplusend)~lessthan~15 then all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever else all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile],newability[zerocast])) forever loseabilityend rolld20end +text=Exile target spell, then roll a d20 and add that spell's mana value. -- 1-14 | You may cast the exiled card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell. -- 15+ | You may cast the exiled card without paying its mana cost for as long as it remains exiled. +mana={3}{U}{U} +type=Instant +[/card] +[card] name=Gale, Waterdeep Prodigy abilities=chooseabackground auto=@movedTo(instant|mystack) from(myhand):may name(Cast sorcery) target(sorcery|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) oneshot @@ -31448,7 +32387,7 @@ toughness=5 name=Gargos, Vicious Watcher abilities=vigilance auto=lord(hydra|mycastingzone) altercost(colorless,-4) -auto=@targeted(creature|mybattlefield):transforms((,newability[target(creature|opponentbattlefield) dynamicability])) +auto=@targeted(creature|mybattlefield) from(*|stack):may transforms((,newability[target(creature|opponentbattlefield) dynamicability])) text=Vigilance -- Hydra spells you cast cost {4} less to cast. -- Whenever a creature you control becomes the target of a spell, Gargos, Vicious Watcher fights up to one target creature you don't control. mana={3}{G}{G}{G} type=Legendary Creature @@ -31738,7 +32677,7 @@ toughness=5 [card] name=Geistchanneler auto=name(Choose instant or sorcery) target(*[instant;sorcery;manacost<=3]|myhand) counter(0/0.1.PerpetualCost2Less) notrg -auto=emblem transforms((,newability[lord(*[counter{0/0.1.PerpetualCost2Less}|myzones) changecost(colorless:-2) forcedalive])) forever dontremove +auto=emblem transforms((,newability[lord(*[counter{0/0.1.PerpetualCost2Less}]|myzones) changecost(colorless:-2) forcedalive])) forever dontremove text=When Geistchanneler enters the battlefield, choose an instant or sorcery card in your hand with mana value 3 or greater. It perpetually gains "This spell costs {2} less to cast." mana={1}{U} type=Creature @@ -32093,7 +33032,7 @@ name=Get the Point target=creature auto=destroy aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Destroy target creature. Scry 1. mana={3}{B}{R} type=Instant @@ -32226,7 +33165,7 @@ toughness=3 name=Ghitu Fire target=creature,player abilities=flash -restriction=myturnonly +restriction=can play sorcery other={X}{2}{R} name(Cast as Instant) auto=paidmana damage:X auto=alternative damage:X @@ -32268,6 +33207,21 @@ power=2 toughness=2 [/card] [card] +name=Ghost Lantern // Bind Spirit +abilities=adventure,asflash +other={1}{B} name(Adventure) +restriction=can play creature +otherrestriction=type(creature|mygraveyard)~morethan~0 +auto=if paid(alternative) then name(Return creature) name(Return creature) target(creature|mygraveyard) moveto(myhand) +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto={1}:equip +auto=teach(creature) @movedto(creature|graveyard) from(creature|mybattlefield):name(Put 1/1 counter) counter(1/1) +text=Whenever a creature you control dies, put a +1/+1 counter on equipped creature. -- Equip {1} // Return target creature card from your graveyard to your hand. (Then exile this card. You may cast the artifact later from exile.) +mana={B} +type=Artifact +subtype=Equipment +[/card] +[card] name=Ghost of Ramirez DePietro abilities=partner auto=cantbeblockedby(creature[power>=3]) @@ -32456,7 +33410,7 @@ toughness=4 [/card] [card] name=Giant's Amulet -autostack=may name(Create giant and attach) pay({3}{U}) name(Create giant and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Giant^Creature Giant Wizard^4/4^blue),newability[rehook target(warrior[token;giant;fresh]|mybattlefield)])) oneshot )! +autostack=may name(Create giant and attach) pay({3}{U}) name(Create giant and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Giant^Creature Giant Wizard^4/4^blue)],newability[rehook target(warrior[token;giant;fresh]|mybattlefield)])) oneshot )! auto={2}:equip auto=teach(creature) 0/1 auto=teach(creature) transforms((,newability[this(variable{tapped}<1) opponentshroud])) @@ -32783,7 +33737,7 @@ toughness=4 [card] name=Gisa, Glorious Resurrector auto=@movedto(creature|graveyard) from(opponentbattlefield):name(Exile creature) all(trigger[to]) moveto(opponentexile) and!( counter(0/0.1.GisaExiled) )! -auto=@each my upkeep restriction{type(creature|opponentexile)~morethan~0}:name(Put exile creatures in play) name(Put exile creatures in play) all(creature[counter[{0/0.1.GisaExiled}]|opponentexile) moveto(mybattlefield) and!( transforms((,newability[decayed],newability[cantblock],newability[_ATTACKING_counter(0/0.1.Decayed)],newability[_ATTACKING_phaseaction[combatends sourceinplay] sacrifice])) forever )! +auto=@each my upkeep restriction{type(creature|opponentexile)~morethan~0}:name(Put exile creatures in play) name(Put exile creatures in play) all(creature[counter[{0/0.1.GisaExiled}]]|opponentexile) moveto(mybattlefield) and!( transforms((,newability[decayed],newability[cantblock],newability[_ATTACKING_counter(0/0.1.Decayed)],newability[_ATTACKING_phaseaction[combatends sourceinplay] sacrifice])) forever )! text=If a creature an opponent controls would die, exile it instead. -- At the beginning of your upkeep, put all creature cards exiled with Gisa, Glorious Resurrector onto the battlefield under your control. They gain decayed. (A creature with decayed can't block. When it attacks, sacrifice it at end of combat.) mana={2}{B}{B} type=Legendary Creature @@ -33232,7 +34186,7 @@ toughness=2 [card] name=Glistener Seer auto=counter(0/0,3,oil) -auto={T}{C(0/0,-1,oil)}:_SCRY_(1) +auto={T}{C(0/0,-1,oil)}:_SCRY1_ text=Glistener Seer enters the battlefield with three oil counters on it. -- {T}, Remove an oil counter from Glistener Seer: Scry 1. (Look at the top card of your library. You may put that card on the bottom.) mana={U} type=Creature @@ -33466,6 +34420,17 @@ power=2 toughness=3 [/card] [card] +name=Gluntch, the Bestower +abilities=flying +auto=@each my endofturn:name(Choose options) transforms((,newability[choice name(Players put counters and opponent draws) draw:2 opponent && target(creature|mybattlefield) counter(1/1.2)],newability[choice name(Players put counters and opponent creates treasure) token(Treasure Sur)*2 opponent && target(creature|mybattlefield) counter(1/1.2)],newability[choice name(Players draws and opponent creates treasure) token(Treasure Sur)*2 opponent && draw:2 controller],newability[choice name(Players draws and opponent put counters) draw:2 controller && ability$!name(Put 1/1 counters) target(creature|mybattlefield) counter(1/1.2)!$ opponent],newability[choice name(Players creates treasure and opponent draws) token(Treasure Sur)*2 controller && draw:2 opponent],newability[choice name(Players creates treasure and opponent put counters) token(Treasure Sur)*2 controller && ability$!name(Put 1/1 counters) target(creature|mybattlefield) counter(1/1.2)!$ opponent])) oneshot +text=Flying -- At the beginning of your end step, choose a player. They put two +1/+1 counters on a creature they control. Choose a second player to draw a card. Then choose a third player to create two Treasure tokens. +mana={1}{G}{W} +type=Legendary Creature +subtype=Jellyfish +power=0 +toughness=5 +[/card] +[card] name=Gluttonous Guest abilities=deathtouch auto=name(Create a blood) token(Blood) @@ -33630,6 +34595,19 @@ power=2 toughness=2 [/card] [card] +name=Gnoll War Band +abilities=menace +restriction=compare(opponentdamagecount)~equalto~0 +otherrestriction=compare(opponentdamagecount)~morethan~0 +other={4}{R} name(Cast 1 less) +text=This spell costs {1} less to cast for each opponent who was dealt damage this turn. -- Menace -- Myriad (Whenever this creature attacks, for each opponent other than defending player, you may create a token that's a copy of this creature that's tapped and attacking that player or a planeswalker they control. Exile the tokens at end of combat.) +mana={5}{R} +type=Creature +subtype=Gnoll +power=5 +toughness=5 +[/card] +[card] name=Gnome-Made Engine auto=token(Gnome,Artifact Creature Gnome,1/1) text=When this creature enters the battlefield, create a 1/1 colorless Gnome artifact creature token. @@ -33752,9 +34730,9 @@ toughness=2 [/card] [card] name=Goblin Assassin -auto=flipacoin loseability sacrifice target(creature|mybattlefield) loseabilityend flipend +auto=flipacoin loseability sacrifice notAtarget(creature|mybattlefield) loseabilityend flipend auto=ability$!name(flip a coin) flipacoin loseability sacrifice notatarget(creature|mybattlefield) loseabilityend flipend!$ opponent -auto=@movedto(other creature[goblin]|battlefield):flipacoin loseability sacrifice target(creature|mybattlefield) loseabilityend flipend +auto=@movedto(other creature[goblin]|battlefield):flipacoin loseability sacrifice notAtarget(creature|mybattlefield) loseabilityend flipend auto=@movedto(other creature[goblin]|battlefield):ability$!name(flip a coin) flipacoin loseability sacrifice notatarget(creature|mybattlefield) loseabilityend flipend!$ opponent text=Whenever Goblin Assassin or another Goblin enters the battlefield, each player flips a coin. Each player whose coin comes up tails sacrifices a creature. mana={3}{R}{R} @@ -33880,7 +34858,7 @@ type=Enchantment [card] name=Goblin Fire Fiend abilities=haste -auto=_ATTACKING_all(creature|opponentBattlefield) mustblock ueot +auto=transforms((,_MUST_BE_BLOCKD_)) auto={R}:1/0 ueot text=Haste -- Goblin Fire Fiend must be blocked if able. -- {R}: Goblin Fire Fiend gets +1/+0 until end of turn. mana={3}{R} @@ -34382,7 +35360,7 @@ toughness=3 [/card] [card] name=Goldenhide Ox -auto=name(Creature must be blocked) target(creature) transforms((,newability[_ATTACKING_all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) ueot +auto=name(Creature must be blocked) target(creature) transforms((,_MUST_BE_BLOCKD_)) ueot auto=@movedto(enchantment|myBattlefield):name(Creature must be blocked) target(creature) transforms((,newability[_ATTACKING_all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) ueot text=Constellation - Whenever Goldenhide Ox or another enchantment enters the battlefield under your control, target creature must be blocked this turn if able. mana={5}{G} @@ -34529,6 +35507,17 @@ power=0 toughness=0 [/card] [card] +name=Goliath Paladin +auto=_INITIATIVE_CONTROLLER_ +abilities=vigilance +text=Vigilance -- When Goliath Paladin enters the battlefield, you take the initiative. +mana={4}{W} +type=Creature +subtype=Giant Knight +power=3 +toughness=6 +[/card] +[card] name=Golos, Tireless Pilgrim auto=may name(Search land) target(land|myLibrary) moveTo(myBattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle])) oneshot )! auto={2}{W}{U}{B}{R}{G}:name(Exile top 3 cards) all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot )! @@ -34561,6 +35550,19 @@ power=0 toughness=3 [/card] [card] +name=Gond Gate +auto=@movedto(gate|myBattlefield):name(Untap gate) all(trigger[to]) transforms((,newability[untap])) oneshot +auto={T}:add{C} +auto=this(variable{plandg}>0) {T}:out{G} +auto=this(variable{plandu}>0) {T}:out{U} +auto=this(variable{plandr}>0) {T}:out{R} +auto=this(variable{plandb}>0) {T}:out{B} +auto=this(variable{plandw}>0) {T}:out{W} +text=Gates you control enter the battlefield untapped. -- {T}: Add {C}. -- {T}: Add one mana of any color that a Gate you control could produce. +type=Land +subtype=Gate +[/card] +[card] name=Gonti, Lord of Luxury abilities=deathtouch aicode=activate target(*[zpos<=4]|opponentlibrary) moveto(opponentexile) and!( transforms((,newability[counter(0/0.1.GontiExiled)],newability[all(*[zpos<=3]|opponentlibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot )! @@ -34683,11 +35685,23 @@ power=5 toughness=4 [/card] [card] +name=Gorion, Wise Mentor +abilities=vigilance +auto=@movedTo(instant[adventure]|mystack):may name(Copy adventure spell) all(trigger[to]) activate castcard(alternative copied) +auto=@movedTo(sorcery[adventure]|mystack):may name(Copy adventure spell) all(trigger[to]) activate castcard(alternative copied) +text=Vigilance -- Whenever you cast an Adventure spell, you may copy it. You may choose new targets for the copy. +mana={G}{W}{U} +type=Legendary Creature +subtype=Human Wizard +power=3 +toughness=4 +[/card] +[card] name=Gorm the Great abilities=vigilance,menace,partner partner=Virtus the Veiled auto=_PARTNER_ -auto=_ATTACKING_all(creature|opponentbattlefield) mustblock ueot +auto=transforms((,_MUST_BE_BLOCKD_)) text=Partner with Virtus the Veiled (When this creature enters the battlefield, target player may put Virtus into their hand from their library, then shuffle.) -- Vigilance -- Gorm the Great must be blocked if able, and Gorm must be blocked by two or more creatures if able. mana={3}{G} type=Legendary Creature @@ -34696,6 +35710,17 @@ power=2 toughness=7 [/card] [card] +name=Goro-Goro and Satoru +auto=@combatdamaged(player) from(creature[fresh]|myBattlefield) turnlimited:create(dragon spirit:creature dragon spirit:5/5:red:flying) +auto={1}{R}:all(creature|myBattlefield) haste +text=Whenever one or more creatures you control that entered the battlefield this turn deal combat damage to a player, create a 5/5 red Dragon Spirit creature token with flying. -- {1}{R}: Creatures you control gain haste until end of turn. +mana={U}{B}{R} +type=Legendary Creature +subtype=Goblin Human +power=3 +toughness=4 +[/card] +[card] name=Gossamer Chains auto={H}:name(prevent all combat damage that would be dealt by target creature) donothing target(creature[attacking]) && fog to(mytgt) oneshot && fog from(mytgt) oneshot text=Return Gossamer Chains to its owner's hand: Prevent all combat damage that would be dealt by target unblocked creature this turn. @@ -35020,6 +36045,20 @@ mana={5}{B}{B} type=Instant [/card] [card] +name=Grave Servitude +abilities=asflash +other={1}{B} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +target=creature +auto=teach(creature) +3/-1 +auto=teach(creature) transforms((,black)) +text=You may cast Grave Servitude as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +3/-1 and is black. +mana={1}{B} +type=Enchantment +subtype=Aura +[/card] +[card] name=Grave Sifter auto=chooseatype transforms((,newability[target(creature[chosentype]|mygraveyard) moveto(myhand)])) oneshot chooseend auto=ability$!transforms((,newability[chooseatype transforms((,newability[target(creature[chosentype]|mygraveyard) moveto(myhand)])) oneshot chooseend])) oneshot!$ opponent @@ -35090,11 +36129,11 @@ toughness=4 name=Graven Lore restriction=compare(mysnowpoolcount)~equalto~0 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -autohand={2}{i}{U}{U} restriction{compare(mysnowpoolcount)~equalto~1}:name(Cast with 1 snow mana) name(Cast with 1 snow mana) _SCRY_(1) && activate castcard(alternative) -autohand={1}{i}{i}{U}{U} restriction{compare(mysnowpoolcount)~equalto~2}:name(Cast with 2 snow mana) name(Cast with 2 snow mana) _SCRY_(2) && activate castcard(alternative) -autohand={i}{i}{i}{U}{U} restriction{compare(mysnowpoolcount)~morethan~2}:name(Cast with 3 snow mana) name(Cast with 3 snow mana) _SCRY_(3) && activate castcard(alternative) -autohand={i}{i}{i}{i}{U} restriction{compare(mysnowpoolcount)~morethan~3,compare(mysnowbluepoolcount)~morethan~0}:name(Cast with 4 snow mana) name(Cast with 4 snow mana) _SCRY_(4) && activate castcard(alternative) -autohand={i}{i}{i}{i}{i} restriction{compare(mysnowpoolcount)~morethan~4,compare(mysnowbluepoolcount)~morethan~1}:name(Cast with 5 snow mana) name(Cast with 5 snow mana) _SCRY_(5) && activate castcard(alternative) +autohand={2}{i}{U}{U} restriction{compare(mysnowpoolcount)~equalto~1}:name(Cast with 1 snow mana) name(Cast with 1 snow mana) _SCRY1_ && activate castcard(alternative) +autohand={1}{i}{i}{U}{U} restriction{compare(mysnowpoolcount)~equalto~2}:name(Cast with 2 snow mana) name(Cast with 2 snow mana) _SCRY2_ && activate castcard(alternative) +autohand={i}{i}{i}{U}{U} restriction{compare(mysnowpoolcount)~morethan~2}:name(Cast with 3 snow mana) name(Cast with 3 snow mana) _SCRY3_ && activate castcard(alternative) +autohand={i}{i}{i}{i}{U} restriction{compare(mysnowpoolcount)~morethan~3,compare(mysnowbluepoolcount)~morethan~0}:name(Cast with 4 snow mana) name(Cast with 4 snow mana) _SCRY4_ && activate castcard(alternative) +autohand={i}{i}{i}{i}{i} restriction{compare(mysnowpoolcount)~morethan~4,compare(mysnowbluepoolcount)~morethan~1}:name(Cast with 5 snow mana) name(Cast with 5 snow mana) _SCRY5_ && activate castcard(alternative) auto=draw:3 controller text=Scry X, where is the amount of {S}i} spent to cast this spell, then draw three cards. ({S}i} is mana from a snow source.) mana={3}{U}{U} @@ -35195,8 +36234,24 @@ power=0 toughness=3 [/card] [card] +name=Gray Slaad // Entropic Decay +abilities=adventure +other={1}{B} name(Adventure) +restriction=can play creature +auto=if paid(alternative) then name(Mill 4 cards) name(Mill 4 cards) deplete:4 controller +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=aslongas(creature|mygraveyard) menace >3 +auto=aslongas(creature|mygraveyard) deathtouch >3 +text=As long as there are four or more creature cards in your graveyard, Gray Slaad has menace and deathtouch. // Mill four cards. (Then exile this card. You may cast the creature later from exile.) +mana={2}{B} +type=Creature +subtype=Frog Horror +power=4 +toughness=1 +[/card] +[card] name=Grazilaxx, Illithid Scholar -auto=@combat(blocked,turnlimited) source(creature|myBattlefield):may name(Return to hand) all(trigger[to]) moveto(ownerhand) +auto=@combat(blocked) source(creature|myBattlefield):may name(Return to hand) all(trigger[to]) moveto(ownerhand) auto=@each combatdamage restriction{opponentdamagedbycombat}:name(Draw card) draw:1 controller text=Whenever a creature you control becomes blocked, you may return it to its owner's hand. -- Whenever one or more creatures you control deal combat damage to a player, draw a card. mana={1}{U}{U} @@ -35735,7 +36790,7 @@ type=Sorcery [/card] [card] name=Growing Rites of Itlimoc -auto=reveal:4 optionone name(Get a creature card) may target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +auto=reveal:4 optionone name(Get a creature card) target(<1>creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend auto=@each my endofturn restriction{type(creature|mybattlefield)~morethan~3}:flip(Itlimoc, Cradle of the Sun) text=When Growing Rites of Itlimoc enters the battlefield, look at the top four cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order. -- At the beginning of your end step, if you control four or more creatures, transform Growing Rites of Itlimoc. mana={2}{G} @@ -35952,6 +37007,22 @@ power=2 toughness=3 [/card] [card] +name=Guardian Naga // Banishing Coils +abilities=vigilance,adventure,asflash +restriction=can play creature +otherrestriction=type(*[artifact;enchantment]|battlefield)~morethan~0 +other={2}{W} name(Adventure) +auto=if paid(alternative) then name(Exile artifact or enchantment) name(Exile artifact or enchantment) target(*[artifact;enchantment]|battlefield) moveto(exile) +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=this(variable{controllerturn}>0) transforms((,newability[preventalldamage to(this)])) +text=Vigilance -- As long as it's your turn, prevent all damage that would be dealt to Guardian Naga. // Exile target artifact or enchantment. (Then exile this card. You may cast the creature later from exile.) +mana={5}{W}{W} +type=Creature +subtype=Naga +power=5 +toughness=6 +[/card] +[card] name=Guardian Project auto=@movedto(creature[-token]|mybattlefield):all(trigger[to]) transforms((,newability[if type(creature[share!name!]|mybattlefield)~lessthan~2 then if type(creature[share!name!]|mygraveyard)~lessthan~1 then draw:1 controller])) ueot text=Whenever a nontoken creature enters the battlefield under your control, if it doesn't have the same name as another creature you control or a creature card in your graveyard, draw a card. @@ -36016,7 +37087,7 @@ toughness=4 name=Guiding Bolt target=creature[power>=4] auto=destroy -auto=_SCRY_(2) +auto=_SCRY2_ text=Destroy target creature with power 4 or greater. -- Scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={2}{W} type=Instant @@ -36025,7 +37096,7 @@ type=Instant name=Guiding Spirit abilities=flying aicode=activate target(creature[zpos<=1]|mygraveyard) moveto(mylibrary) -auto={T}:name(Controller) target(creature[zpos=1|mygraveyard) moveto(mylibrary) +auto={T}:name(Controller) target(creature[zpos=1]|mygraveyard) moveto(mylibrary) auto={T}:name(Opponent) target(creature[zpos=1|opponentgraveyard) moveto(opponenthand) text=Flying -- {T}: If the top card of target player's graveyard is a creature card, put that card on top of that player's library. mana={1}{W}{U} @@ -36044,6 +37115,14 @@ mana={W} type=Sorcery [/card] [card] +name=Guild Artisan +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[_ATTACKING_name(Create treasure) token(Treasur Sur)*2])) +text=Commander creatures you own have "Whenever this creature attacks a player, if no opponent has more life than that player, you create two Treasure tokens." (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.") +mana={1}{R} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Guild Globe auto=draw:1 auto={2}{T}{S}:Add{W}{U} @@ -36110,6 +37189,17 @@ power=1 toughness=1 [/card] [card] +name=Guildsworn Prowler +abilities=deathtouch +auto=_DIES_may name(Draw a card) draw:1 controller +text=Deathtouch -- When Guildsworn Prowler dies, if it wasn't blocking, draw a card. +mana={1}{B} +type=Creature +subtype=Tiefling Rogue Assassin +power=2 +toughness=1 +[/card] +[card] name=Guile abilities=threeblockers,shufflelibrarydeath auto={D(instant|myhand)}:target(*|stack) fizzleto(exile) && may activate castcard(copied noevent) @@ -36435,8 +37525,8 @@ toughness=3 name=Hakka, Whispering Raven abilities=flying aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@combatdamagefoeof(player) from(this):name(Return to hand and scry 2) name(Return to hand and scry 2) moveTo(ownerhand) and!( _SCRY_(2) )! -auto=@combatdamageof(player) from(this):name(Return to hand and scry 2) name(Return to hand and scry 2) moveTo(ownerhand) and!( _SCRY_(2) )! +auto=@combatdamagefoeof(player) from(this):name(Return to hand and scry 2) name(Return to hand and scry 2) moveTo(ownerhand) and!( _SCRY2_ )! +auto=@combatdamageof(player) from(this):name(Return to hand and scry 2) name(Return to hand and scry 2) moveTo(ownerhand) and!( _SCRY2_ )! text=Flying -- Whenever Hakka, Whispering Raven deals combat damage to a player, return it to its owner's hand, then scry 2. // {3}{U}{U} Alrund, God of the Cosmos mana={1}{U} type=Legendary Creature @@ -36477,7 +37567,7 @@ toughness=3 [card] name=Halana, Kessig Ranger abilities=reach,partner -auto=@movedTo(other creature|mybattlefield):pay({2}) name(Pay 2) all(trigger[to]) transforms((,newability[dynamicability target(creature)])) oneshot +auto=@movedTo(other creature|mybattlefield):all(trigger) transforms((,newability[pay[[{2}]] dynamicability target(creature)])) oneshot text=Reach -- Whenever another creature enters the battlefield under your control, you may pay {2}. When you do, that creature deals damage equal to its power to target creature. -- Partner (You can have two commanders if both have partner.) mana={3}{G} type=Legendary Creature @@ -36646,10 +37736,9 @@ toughness=1 [/card] [card] name=Halo-Charged Skaab -auto=deplete:2 controller -auto=deplete:2 opponent +auto=all(player) deplete:2 auto=may target(instant,sorcery,battle|mygraveyard) moveTo(mylibrary) -text=When Halo-Charged Skaab enters the battlefield, each player mills two cards. Then you may put an instant, sorcery, or battle card from your graveyard on top of your library. (To mill two cards, a player puts the top two cards of their library into their graveyard.) +text=When Halo-Charged Skaab enters the battlefield, each player mills two cards. Then you may put an instant, sorcery, or battle card from your graveyard on top of your library. (To mill two cards, a player mills two cards.) mana={4}{U} type=Creature subtype=Zombie @@ -36823,8 +37912,8 @@ type=Enchantment [card] name=Hangar Scrounger auto=name(This creature) target(this) counter(1/1) -auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1)],newability[@tapped(this):may reject notatarget(*|myhand) and!( draw:1 controller )!])) ueot -auto=@tapped(this):may reject notatarget(*|myhand) and!( draw:1 controller )! +auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1)],newability[@tapped(this):may _DISCARD&DRAW_])) ueot +auto=@tapped(this):may _DISCARD&DRAW_ text=Backup 1 (When this creature enters the battlefield, put a +1/+1 counter on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature becomes tapped, you may discard a card. If you do, draw a card. mana={2}{R} type=Creature @@ -36866,7 +37955,7 @@ toughness=4 [/card] [card] name=Hapatra's Mark -target=creature +target=creature|myBattlefield auto=opponentshroud auto=counter(-1/-1,-20) text=Target creature you control gains hexproof until end of turn. Remove all -1/-1 counters from it. (A creature with hexproof can't be the target of spells or abilities your opponents control.) @@ -36997,6 +38086,14 @@ type=Enchantment subtype=Aura [/card] [card] +name=Hardy Outlander +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@combat(attacking) source(this):name(Creature gains X/X) target(creature|mybattlefield) power/power ueot])) +text=Commander creatures you own have "Whenever this creature attacks a player, if no opponent has more life than that player, another target creature you control gets +X/+X until end of turn, where X is this creature's power." +mana={1}{G} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Hardy Veteran auto=this(variable{controllerturn}>0) 0/2 text=As long as it's your turn, Hardy Veteran gets +0/+2. @@ -37084,6 +38181,18 @@ mana={4}{R} type=Legendary Artifact [/card] [card] +name=Harper Recruiter +abilities=flying +aicode=activate target(<4>*[cleric;rogue;warrior;wizard]|mylibrary) moveto(myhand) and!( all(*[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! +auto=_ATTACKING_name(Look top 4 cards) reveal:4 optionone name(Get cards) target(*[cleric;rogue;warrior;wizard]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +text=Flying -- Whenever Harper Recruiter attacks, look at the top four cards of your library. You may reveal a Cleric card, a Rogue card, a Warrior card, and/or a Wizard card from among them and put those cards into your hand. Put the rest on the bottom of your library in a random order. +mana={2}{W} +type=Creature +subtype=Human Warrior +power=3 +toughness=1 +[/card] +[card] name=Harried Artisan abilities=haste backside=Phyrexian Skyflayer @@ -37287,6 +38396,14 @@ type=Land subtype=Swamp Forest [/card] [card] +name=Haunted One +auto=@tapped(*[iscommander]|myBattlefield):name(Gains 2/0 and undying) all(trigger) transforms((,newability[undying],newability[2/0],newability[name(Other creature gains 2/0 and undying) target(other creature[share!subtype!]|myBattlefield) transforms((,newability[2/0],newability[undying])) ueot ])) ueot +text=Commander creatures you own have "Whenever this creature becomes tapped, it and other creatures you control that share a creature type with it each get +2/+0 and gain undying until end of turn." (When a creature with undying dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.) +mana={2}{B} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Haunted Ridge auto=if type(other land|mybattlefield)~lessthan~2 then tap(noevent) auto={T}:add{B} @@ -37389,8 +38506,8 @@ toughness=5 [card] name=Haywire Mite auto=_DIES_life:2 -auto={G}{S}:moveto(exile) target(artifact[-creature]) -auto={G}{S}:moveto(exile) target(enchantment[-creature]) +auto={G}{S}:name(Exile noncreature artifact) moveto(exile) target(artifact[-creature]) +auto={G}{S}:name(Exile noncreature enchantment) moveto(exile) target(enchantment[-creature]) text=When Haywire Mite dies, you gain 2 life. -- {G}, Sacrifice Haywire Mite: Exile target noncreature artifact or noncreature enchantment. mana={1} type=Artifact Creature @@ -37558,7 +38675,7 @@ subtype=Gate [card] name=Heart Wolf abilities=first strike -auto={T}:restriction{during battle} name(Choose dwarf) name(Choose dwarf) target(creature[dwarf]|mybattlefield) transforms((,newability[2/0],newability[first strike],newability[@movedto(this|nonbattlezone) from(mybattlefield):sacrifice target(Heart Wolf[tapped]|mybattlefield)])) ueot +auto={T}:restriction{during battle} name(Choose dwarf) name(Choose dwarf) target(creature[dwarf]|mybattlefield) transforms((,newability[2/0],newability[first strike],newability[@movedto(this|nonbattlezone) from(mybattlefield):sacrifice notAtarget(Heart Wolf[tapped]|mybattlefield)])) ueot text=First strike -- {T}: Target Dwarf creature gets +2/+0 and gains first strike until end of turn. When that creature leaves the battlefield this turn, sacrifice Heart Wolf. Activate this ability only during combat. mana={3}{R} type=Creature @@ -37722,6 +38839,17 @@ type=Artifact subtype=Equipment [/card] [card] +name=Hedron Detonator +auto=@movedTo(artifact|myBattlefield):damage:1 target(opponent) +auto={T}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:__PLAY_TOP_FROM_EXILE__ +text=Whenever an artifact enters the battlefield under your control, Hedron Detonator deals 1 damage to target opponent. -- {T}, Sacrifice two artifacts: Exile the top card of your library. You may play that card this turn. +mana={2}{R} +type=Creature +subtype=Goblin Artificer +power=2 +toughness=3 +[/card] +[card] name=Heightened Reflexes target=creature auto=1/0 ueot @@ -37733,7 +38861,7 @@ type=Instant [card] name=Heirloom Blade auto=teach(creature) 3/1 -auto=teach(creature) transforms((,newability[@movedto(mygraveyard) from(this|mybattlefield):Reveal:1 revealzone(mylibrary) revealuntil(creature[share!subtype!]|mylibrary) optionone name(Get Creature) target(creature|myreveal) moveto(myHand) optiononeend optiontwo choice name(Shuffle) all(*|myreveal) bottomoflibrary && shuffle controller optiontwoend revealend])) +auto=teach(creature) transforms((,newability[@movedto(mygraveyard) from(this|mybattlefield):Reveal:1 revealzone(mylibrary) revealuntil(*[creature;share!types!]|mylibrary) optionone name(Get Creature) target(creature|myreveal) moveto(myHand) optiononeend optiontwo choice name(Shuffle) all(*|myreveal) bottomoflibrary && shuffle controller optiontwoend revealend])) auto={1}:equip text=Equipped creature gets +3/+1. -- Whenever equipped creature dies, you may reveal cards from the top of your library until you reveal a creature card that shares a creature type with it. Put that card into your hand and the rest on the bottom of your library in a random order. -- Equip {1} mana={3} @@ -37815,7 +38943,7 @@ name=Heliod, the Radiant Dawn backside=Heliod, the Warped Eclipse restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) -auto=moveTo(myhand) target(*[enchantment;-god]|mygraveyard) +auto=moveTo(myhand) target(*[enchantment;-god]|mygraveyard) auto={3}{p(U)}:flip(backside) asSorcery text=When Heliod, the Radiant Dawn enters the battlefield, return target enchantment card that isn't a God from your graveyard to your hand. -- {3}{U/P}: Transform Heliod, the Radiant Dawn. Activate only as a sorcery. ({U/P} can be paid with either {U} or 2 life.) mana={2}{W}{W} @@ -38014,6 +39142,17 @@ power=4 toughness=4 [/card] [card] +name=Herald of Hoofbeats +abilities=horsemanship +auto=lord(other knight|myBattlefield) horsemanship +text=Horsemanship (This creature can't be blocked except by creatures with horsemanship.) -- Other Knights you control have horsemanship. +mana={3}{U} +type=Creature +subtype=Human Knight +power=3 +toughness=3 +[/card] +[card] name=Herald of Secret Streams auto=lord(creature[counter{1/1}]|mybattlefield) unblockable text=Creatures you control with +1/+1 counters on them can't be blocked. @@ -38346,6 +39485,21 @@ type=Artifact subtype=Equipment [/card] [card] +name=Hezrou // Demonic Stench +abilities=adventure,asflash +other={B} name(Adventure) +restriction=can play creature +auto=if paid(alternative) then name(Blocking creatures get -1/-1) name(Blocking creatures get -1/-1) all(creature[blocking]|battlefield) -1/-1 ueot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=@each blockers:name(Blocking creatures get -1/-1) transforms((,newability[lord(creature[blocking]|opponentbattlefield) -1/-1])) ueot +text=Whenever one or more creatures you control become blocked, each blocking creature gets -1/-1 until end of turn. // Each creature that blocked this turn gets -1/-1 until end of turn. (Then exile this card. You may cast the creature later from exile.) +mana={5}{B}{B} +type=Creature +subtype=Frog Demon +power=6 +toughness=6 +[/card] +[card] name=Hidden Stag auto=@movedTo(land|opponentbattlefield) from(opponenthand):transforms((removetypes)) forever && transforms((Elk Beast Creature,setpower=3,settoughness=2)) forever auto=@movedTo(land|mybattlefield) from(myhand):transforms((removetypes,newability[becomes(Enchantment)])) forever @@ -38512,7 +39666,7 @@ toughness=1 name=Hinterland Scourge auto=@each upkeep restriction{lastturn(*|mystack)~morethan~1,lastturn(*|opponentstack)~lessthan~2}:name(Transform Werewolf) flip(Hinterland Hermit) auto=@each upkeep restriction{lastturn(*|opponentstack)~morethan~1}:name(Transform Werewolf) flip(Hinterland Hermit) -auto=_ATTACKING_all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot +auto=transforms((,_MUST_BE_BLOCKD_)) forever text=Hinterland Scourge must be blocked if able. -- At the beginning of each upkeep, if a player cast two or more spells last turn, transform Hinterland Scourge. // Hinterland Hermit type=Creature subtype=Werewolf @@ -38686,7 +39840,7 @@ toughness=3 [card] name=Hobblefiend abilities=trample -auto={1}{S(other creature|myBattlefield}:counter(1/1) all(this) +auto={1}{S(other creature|myBattlefield)}:counter(1/1) all(this) text=Trample (This creature can deal excess combat damage to the player or planeswalker it's attacking.) -- {1}, Sacrifice another creature: Put a +1/+1 counter on Hobblefiend. mana={1}{R} type=Creature @@ -38874,7 +40028,7 @@ subtype=Equipment [card] name=Homarid Explorer auto=target(player) deplete:4 -text=When Homarid Explorer enters the battlefield, target player puts the top four cards of their library into their graveyard. +text=When Homarid Explorer enters the battlefield, target player mills four cards. mana={3}{U} type=Creature subtype=Homarid Scout @@ -38968,7 +40122,7 @@ auto={T}:add{W} auto={T}:add{B} auto={T}:add{G} auto={T}:add{U} -auto={2}{T}:name)Exile a card) target(*|graveyard) moveto(exile) +auto={2}{T}:target(*|graveyard) moveto(exile) text={T}: Add one mana of any color. -- {2}, {T}: Exile target card from a graveyard. mana={3} type=Artifact @@ -39170,6 +40324,19 @@ mana={6} type=Artifact [/card] [card] +name=Horn of Valhalla // Ysgard's Call +other={X}{W}{W} name(Adventure) +restriction=can play artifact +auto=if paid(alternative) then name(Create Soldiers) name(Create Soldiers) token(Soldier,Creature Soldier,1/1,white)*X +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=teach(creature) type:creature:mybattlefield/type:creature:mybattlefield nonstatic +auto={3}:equip +text=Equipped creature gets +1/+1 for each creature you control. -- Equip {3} // Create X 1/1 white Soldier creature tokens. (Then exile this card. You may cast the artifact later from exile.) +mana={1}{W} +type=Artifact +subtype=Equipment +[/card] +[card] name=Hornbash Mentor auto=name(Put trample counter) target(creature[-human]|myBattlefield) transforms((,newability[counter(0/0.1.Trample)],newability[this(counter{0/0.1.Trample}>=1) trample])) forever auto={2}{G}{T}:counter(1/1) all(creature[trample]|myBattlefield) @@ -39369,10 +40536,7 @@ toughness=5 [/card] [card] name=Howling Golem -auto=_ATTACKING_draw:1 -auto=@combat(blocking) source(this):draw:1 -auto=_ATTACKING_draw:1 opponent -auto=@combat(blocking) source(this):draw:1 opponent +auto=@combat(attacking,blocking) source(this):all(player) draw:1 text=Whenever Howling Golem attacks or blocks, each player draws a card. mana={3} type=Artifact Creature @@ -40089,7 +41253,7 @@ color=white [card] name=Icingdeath, Frost Tyrant abilities=vigilance,flying -auto=_DIES_name(Icingdeath, Frost Tongue) activate castcard(copied named!:icingdeath, frost tongue:!) +auto=_DIES_name(Icingdeath, Frost Tongue) create(-527307) text=Flying, vigilance -- When Icingdeath, Frost Tyrant dies, create Icingdeath, Frost Tongue, a legendary white Equipment artifact token with "Equipped creature gets +2/+0", "Whenever equipped creature attacks, tap target creature defending player controls" and equip {2}. mana={2}{W}{W} type=Legendary Creature @@ -40180,9 +41344,8 @@ toughness=2 [/card] [card] name=Igneous Elemental -target=creature -autohand=if type(land|mygraveyard)~morethan~0 then reduce({1}) -auto=may damage:2 +anyzone=aslongas(land|mygraveyard) changecost(colorless:-2) forcedalive +auto=may damage:2 target(creature) text=This spell costs {2} less to cast if there is a land card in your graveyard. -- When Igneous Elemental enters the battlefield, you may have it deal 2 damage to target creature. mana={4}{R}{R} type=Creature @@ -40285,6 +41448,22 @@ power=3 toughness=3 [/card] [card] +name=Illithid Harvester // Plant Tadpoles +abilities=adventure +other={X}{U}{U} name(Adventure) +restriction=can play creature +otherrestriction=type(creature|battlefield)~morethan~0 +auto=if paid(alternative) then name(Tap X creatures) name(Tap X creatures) target(creature|Battlefield) freeze +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=ifnot paid(alternative) then may name(Turn creatures) name(Turn creatures) target(creature[-token;tapped]|battlefield) flip(Soldier Bas) and!( transforms((Artifact Creature Horror,setpower=2,settoughness=2)) forever )! +text=Ceremorphosis - When Illithid Harvester enters the battlefield, turn any number of target tapped nontoken creatures face down. They're 2/2 Horror creatures. // Tap X target creatures. They don't untap during their controllers' next untap steps. (Then exile this card. You may cast the creature later from exile.) +mana={4}{U} +type=Creature +subtype=Horror +power=4 +toughness=4 +[/card] +[card] name=Illuminate abilities=hasotherkicker target=creature @@ -40473,7 +41652,7 @@ auto={17}{U}{U}{T}:name(X=7) all(*[zpos<=17]|mylibrary) moveto(myexile) and!( tr auto={18}{U}{U}{T}:name(X=8) all(*[zpos<=18]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )! auto={19}{U}{U}{T}:name(X=9) all(*[zpos<=19]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )! auto={20}{U}{U}{T}:name(X=10) all(*[zpos<=20]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )! -auto={0}:name(Put exiled card in hand) target(*[counter{0/0.1.study}|myexile) moveto(myhand) limit:1 +auto={0}:name(Put exiled card in hand) target(*[counter{0/0.1.study}]|myexile) moveto(myhand) limit:1 text=Flying -- {X}{U}{U}, {T}: Exile the top X cards of your library and put a study counter on each of them. Then you may put a card you own in exile with a study counter on it into your hand. // {2}{G} Kianne, Dean of Substance mana={2}{U}{U} type=Legendary Creature @@ -40512,7 +41691,7 @@ toughness=3 [/card] [card] name=Immersturm Raider -auto=if type(*|myhand)~morethan~0 then ability$!may reject notatarget(*|myhand) and!(draw:1)! !$ controller +auto=if type(*|myhand)~morethan~0 then ability$!may _DISCARD&DRAW_ !$ controller text=When Immersturm Raider enters the battlefield, you may discard a card. If you do, draw a card. mana={1}{R} type=Creature @@ -40625,6 +41804,19 @@ mana={W} type=Artifact [/card] [card] +name=Imoen, Mystic Trickster +abilities=backgroundpartner +auto=_WARD_(2) +auto=@each my endofturn restriction{compare(pdungeoncompleted)~morethan~0}:name(Draw 1 card) draw:1 controller +auto=@each my endofturn restriction{compare(pinitiative)~morethan~0}:name(Draw 1 card) draw:1 controller +text=Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- At the beginning of your end step, if you have the initiative, draw a card. Draw another card if you've completed a dungeon. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{U} +type=Legendary Creature +subtype=Human Rogue Wizard +power=2 +toughness=3 +[/card] +[card] name=Imoti, Celebrant of Bounty autostack=if casted(this) then cascade:plibrarycount text=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.) -- Spells you cast with mana value 6 or greater have cascade. @@ -40697,7 +41889,7 @@ toughness=1 [card] name=Imperial Oath auto=create(Samurai:creature Samurai:2/2:white:vigilance)*3 -auto=_SCRY_(3) +auto=_SCRY3_ text=Create three 2/2 white Samurai creature tokens with vigilance. Scry 3. mana={5}{W} type=Sorcery @@ -40744,7 +41936,7 @@ toughness=4 [card] name=Imperious Oligarch abilities=vigilance -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying) +auto=_DIES__AFTERLIFETOKEN_ text=Vigilance -- Afterlife 1 (When this creature dies, create a 1/1 white and black Spirit creature token with flying.) mana={W}{B} type=Creature @@ -40875,8 +42067,8 @@ type=Instant [card] name=In Search of Greatness aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@each my upkeep restriction{type(*[-instant;-sorcery;manacost=convertedcost:highest:*:mybattlefieldplus1plusend]|myhand)~morethan~0}:ability$!name(Choose one) choice name(Cast permanent) target(*[-instant;-sorcery;manacost=convertedcost:highest:*:mybattlefieldplus1plusend]|myhand) activate castcard(normal) _ choice name(Scry 1) _SCRY_(1)!$ controller -auto=@each my upkeep restriction{type(*[-instant;-sorcery;manacost=convertedcost:highest:*:mybattlefieldplus1plusend]|myhand)~equalto~0}:name(Scry 1) _SCRY_(1) +auto=@each my upkeep restriction{type(*[-instant;-sorcery;manacost=convertedcost:highest:*:mybattlefieldplus1plusend]|myhand)~morethan~0}:ability$!name(Choose one) choice name(Cast permanent) target(*[-instant;-sorcery;manacost=convertedcost:highest:*:mybattlefieldplus1plusend]|myhand) activate castcard(normal) _ choice name(Scry 1) _SCRY1_!$ controller +auto=@each my upkeep restriction{type(*[-instant;-sorcery;manacost=convertedcost:highest:*:mybattlefieldplus1plusend]|myhand)~equalto~0}:name(Scry 1) _SCRY1_ text=At the beginning of your upkeep, you may cast a permanent spell from your hand with mana value equal to 1 plus the highest mana value among other permanents you control without paying its mana cost. If you don't, scry 1. mana={G}{G} type=Enchantment @@ -41129,7 +42321,7 @@ type=Instant [card] name=Inescapable Brute abilities=wither -auto=_ATTACKING_all(creature|opponentBattlefield) mustblock ueot +auto=transforms((,_MUST_BE_BLOCKD_)) forever text=Wither (This deals damage to creatures in the form of -1/-1 counters.) -- Inescapable Brute must be blocked if able. mana={5}{R} type=Creature @@ -41167,6 +42359,7 @@ type=Instant [/card] [card] name=Infectious Curse +target=player auto=lord(*[instant;sorcery]|mycastingzone) altercost(colorless, -1) auto=@each opponent upkeep:life:-1 opponent && life:1 controller text=Enchant player -- Spells you cast that target enchanted player cost {1} less to cast. -- At the beginning of enchanted player's upkeep, that player loses 1 life and you gain 1 life. @@ -41265,6 +42458,19 @@ mana={B} type=Instant [/card] [card] +name=Infernal Sovereign +abilities=flying,trample +auto=phasealter(remove,draw,controller) +auto=@movedTo(land|mybattlefield):draw:1 && life:-1 +auto=@movedto(*|mystack):draw:1 && life:-1 +text=Flying, trample -- Skip your draw step. -- Whenever you play a land or cast a spell, you draw a card and you lose 1 life. +mana={4}{B}{B} +type=Creature +subtype=Demon +power=6 +toughness=6 +[/card] +[card] name=Inferno Hellion abilities=trample auto=_ATTACKING_phaseaction[endofturn once] moveTo(ownerlibrary) and!(shuffle)! @@ -41420,7 +42626,7 @@ type=Instant [card] name=Inga Rune-Eyes aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(3) +auto=_SCRY3_ auto=@movedto(creature|graveyard) from(battlefield):counter(0/0,1,IngaEffect) auto=_DIES_this(counter{0/0.1.IngaEffect}>=3) draw:3 controller auto=@each endofturn:this(counter{0/0.1.IngaEffect}>=1) removeallcounters(0/0,1,IngaEffect) @@ -41458,7 +42664,7 @@ other={2}{U} name(Cast without X) aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=if paid(alternative) then draw:3 controller auto=if paid(alternative) then token(Treasure Sur)*2 opponent -auto=if paid(alternative) then ability$!name(Scry 2) name(Scry 2) _SCRY_(2)!$ opponent +auto=if paid(alternative) then ability$!name(Scry 2) name(Scry 2) _SCRY2_!$ opponent auto=ifnot paid(alternative) then draw:x controller text=You may pay {2}{U} rather than pay this spell's mana cost. -- If the {2}{U} cost was paid, you draw three cards, then an opponent creates two Treasure tokens and they scry 2. If that cost wasn't paid, you draw X cards. mana={X}{2}{U} @@ -41596,7 +42802,7 @@ name=Inordinate Rage target=creature auto=3/2 ueot aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets +3/+2 until end of turn. Scry 1. mana={1}{R} type=Instant @@ -41604,7 +42810,7 @@ type=Instant [card] name=Inquisitive Puppet aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ auto={E}:create(Human:creature Human:1/1:white) text=When Inquisitive Puppet enters the battlefield, scry 1. -- Exile Inquisitive Puppet: Create a 1/1 white Human creature token. mana={1} @@ -41768,7 +42974,7 @@ type=Sorcery name=Inspire Awe auto=preventallcombatdamage from(creature[-enchantment;-enchanted]|battlefield) ueot aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Prevent all combat damage that would be dealt this turn except by enchanted creatures and enchantment creatures. Scry 2. mana={3}{G} type=Instant @@ -41795,6 +43001,15 @@ power=5 toughness=5 [/card] [card] +name=Inspired Tinkering +auto=name(Exile top 3 cards) all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )! +auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent +auto=name(Create 3 treasures) token(Treasure Sur)*3 +text=Exile the top three cards of your library. Until the end of your next turn, you may play those cards. -- Create three Treasure tokens. (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.") +mana={4}{R} +type=Sorcery +[/card] +[card] name=Inspired Ultimatum target=player,creature,planeswalker auto=damage:5 @@ -41836,6 +43051,14 @@ power=1 toughness=4 [/card] [card] +name=Inspiring Leader +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[lord(creature[token]|mybattlefield) 2/2])) +text=Commander creatures you own have "Creature tokens you control get +2/+2." +mana={2}{W} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Inspiring Overseer abilities=flying auto=life:1 && draw:1 @@ -41897,6 +43120,7 @@ type=Legendary Artifact [/card] [card] name=Insubordination +target=creature auto=teach(creature) transforms((,newability[@each my endofturn:while(restriction{didntattack}) damage:2 controller])) forever text=Enchant creature -- At the beginning of the end step of enchanted creature's controller, Insubordination deals 2 damage to that player unless that creature attacked this turn. mana={B}{B} @@ -41936,6 +43160,18 @@ mana={RW} type=Instant [/card] [card] +name=Intellect Devourer +auto=ability$!name(Exile a card) name(Exile a card) target(*|myhand) moveto(exile) and!( counter(0/0.1.IntellectExiled) )! !$ opponent +auto={0}:name(Cast from opponent exile) target(*[counter{0/0.1.IntellectExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.IntellectExiled)],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.IntellectExiled)])) ueot )! +auto=_DIES_name(Return exiled card) all(*[counter{0/0.1.IntellectExiled}]|opponentexile) moveto(ownerhand) +text=Devour Intellect - When Intellect Devourer enters the battlefield, each opponent exiles a card from their hand until Intellect Devourer leaves the battlefield. -- Body Thief - You may play lands and cast spells from among cards exiled with Intellect Devourer. If you cast a spell this way, you may spend mana as though it were mana of any color to cast it. +mana={3}{B} +type=Creature +subtype=Horror +power=2 +toughness=4 +[/card] +[card] name=Intellectual Offering auto=draw:3 all(player) auto=untap all(*[-land]) @@ -41957,6 +43193,18 @@ type=Enchantment subtype=Aura [/card] [card] +name=Interdisciplinary Mascot +other={convoke} name(Convoke) +auto=_WARD_(3) +auto=name(Reveal 4 cards) reveal:4 optionone name(Get a card) target(*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend +text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Ward {3} -- When Interdisciplinary Mascot enters the battlefield, look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in a random order. +mana={6}{U}{U} +type=Creature +subtype=Elemental Fractal +power=5 +toughness=5 +[/card] +[card] name=Interplanar Beacon auto=@movedTo(planeswalker|mystack):life:1 auto={T}:Add{C} @@ -42133,7 +43381,7 @@ name=Invasion of the Giants auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) transforms((,newability[draw:1 controller],newability[if type(giant|myhand)~morethan~0 then damage:2 target(player^planeswalker)])) oneshot auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Next giant costs 2 less) target(giant|mycastingzone) transforms((,newability[changecost(colorless:-2)])) ueot auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this) @@ -42227,7 +43475,7 @@ name=Ipnu Rivulet auto={1}{U}{T}{S(desert|mybattlefield)}:deplete:4 target(player) auto={T}:Add{1} auto={T}{L:1}:Add{U} -text={T}: Add {1} to your mana pool. -- {T}, Pay 1 life: Add {U} to your mana pool. -- {1}{U}, {T}, Sacrifice a Desert: Target player puts the top four cards of his or her library into his or her graveyard. +text={T}: Add {1} to your mana pool. -- {T}, Pay 1 life: Add {U} to your mana pool. -- {1}{U}, {T}, Sacrifice a Desert: Target player mills four cards. type=Land subtype=Desert [/card] @@ -42319,6 +43567,16 @@ power=5 toughness=3 [/card] [card] +name=Iron Mastiff +auto=_ATTACKING_name(Roll d20) rolld20 20 winability damage:power opponent winabilityend loseability if compare(lastrollresult)~lessthan~10 then damage:power controller else damage:power loseabilityend rolld20end +text=Whenever Iron Mastiff attacks, roll a d20 for each player being attacked and ignore all but the highest roll. -- 1-9 | Iron Mastiff deals damage equal to its power to you. -- 10-19 | Iron Mastiff deals damage equal to its power to defending player. -- 20 | Iron Mastiff deals damage equal to its power to each opponent. +mana={4} +type=Artifact Creature +subtype=Dog +power=4 +toughness=4 +[/card] +[card] name=Iron Verdict target=creature[tapped]|battlefield abilities=foretell @@ -42417,7 +43675,7 @@ toughness=2 [card] name=Irresistible Prey target=creature -auto=transforms((,newability[_ATTACKING_all(creature|opponentbattlefield) mustblock ueot])) ueot +auto=transforms((,_MUST_BE_BLOCKD_)) ueot auto=draw:1 controller text=Target creature must be blocked this turn if able. -- Draw a card. mana={G} @@ -42650,7 +43908,7 @@ name=Jace's Defeat target=*[blue]|stack auto=fizzle aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if casted(this) then if type(jace|opponentstack)~morethan~0 then _SCRY_(2) +auto=if casted(this) then if type(jace|opponentstack)~morethan~0 then _SCRY2_ text=Counter target blue spell. If it was a Jace planeswalker spell, scry 2. mana={1}{U} type=Instant @@ -42815,6 +44073,13 @@ power=2 toughness=2 [/card] [card] +name=Jade Orb of Dragonkind +auto={T}:name(Add green mana) transforms((,newability[add{G}],newability[@movedto(creature[dragon]|mybattlefield) from(mystack) turnlimited:all(trigger[to]) transforms((,newability[counter(1/1)],newability[opponentshroud])) uynt])) ueot +text={T}: Add {G}. When you spend this mana to cast a Dragon creature spell, it enters the battlefield with an additional +1/+1 counter on it and gains hexproof until your next turn. (It can't be the target of spells or abilities your opponents control.) +mana={2}{G} +type=Artifact +[/card] +[card] name=Jadecraft Artisan auto=target(creature) 2/2 ueot text=When Jadecraft Artisan enters the battlefield, target creature gets +2/+2 until end of turn. @@ -43048,7 +44313,7 @@ toughness=3 [card] name=Jaya's Firenado target=creature,planeswalker -auto=damage:5 && _SCRY_(1) +auto=damage:5 && _SCRY1_ text=Jaya's Firenado deals 5 damage to target creature or planeswalker. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={4}{R} type=Sorcery @@ -43058,7 +44323,7 @@ name=Jaya's Greeting target=creature auto=damage:3 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Jaya's Greeting deals 3 damage to target creature. Scry 1. mana={1}{R} type=Instant @@ -43084,7 +44349,7 @@ toughness=4 [/card] [card] name=Jenson Carthalion, Druid Exile -auto=@movedTo(*[multicolor]|mystack):_SCRY_(1) +auto=@movedTo(*[multicolor]|mystack):_SCRY1_ auto=@movedTo(*[white&blue&black&red&green]|mystack):create(angel:creature angel:4/4:white:flying,vigilance) auto={5}{T}:Add{W}{U}{B}{R}{G} text=Whenever you cast a multicolored spell, scry 1. If that spell was all colors, create a 4/4 white Angel creature token with flying and vigilance. -- {5}, {T}: Add {W}{U}{B}{R}{G}. @@ -43327,7 +44592,7 @@ toughness=2 [card] name=Joraga Invocation auto=all(creature|mybattlefield) 3/3 ueot -auto=all(creature|opponentbattlefield) mustblock ueot +auto=transforms((,_MUST_BE_BLOCKD_)) text=Each creature you control gets +3/+3 until end of turn and must be blocked this turn if able. mana={4}{G}{G} type=Sorcery @@ -43399,6 +44664,75 @@ mana={4}{W} type=Enchantment [/card] [card] +name=Journey to the Lost City +auto=@each my upkeep:name(Roll a d20) rolld20 20 winability donothing winabilityend rolld20end +auto=@each my upkeep:name(Exile top 4 cards) all(*[zpos<=4]|mylibrary) moveto(exile) and!( counter(0/0.1.JourneyExiled) notrg )! +auto=@dierolled(this) result(1) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(2) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(3) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(4) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(5) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(6) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(7) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(8) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(9) from(controller):if type(land[counter{0/0.1.JourneyExiled}]|myexile)~morethan~0 then may name(Choose land card) name(Choose land card) target(land[counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield) +auto=@dierolled(this) result(10) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(10) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(10) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(10) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(10) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(11) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(11) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(11) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(11) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(11) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(12) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(12) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(12) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(12) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(12) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(13) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(13) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(13) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(13) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(13) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(14) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(14) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(14) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(14) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(14) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(15) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(15) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(15) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(15) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(15) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(16) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(16) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(16) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(16) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(16) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(17) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(17) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(17) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(17) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(17) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(18) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(18) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(18) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(18) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(18) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(19) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~0 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) +auto=@dierolled(this) result(19) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~1 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1) )! +auto=@dierolled(this) result(19) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~2 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,2) )! +auto=@dierolled(this) result(19) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~3 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,3) )! +auto=@dierolled(this) result(19) from(controller):if type(creature[counter{0/0.1.JourneyExiled}]|myexile)~equalto~4 then name(Create wolf) name(Create wolf) name(Create wolf) token(Wolf,Creature Wolf,2/2,green) and!( counter(1/1,4) )! +auto=@dierolled(this) result(20) from(controller):name(Sacrifice and put in play) name(Sacrifice and put in play) sacrifice and!( transforms((,newability[name(Put permanents in play) all(*[-instant;-sorcery;counter{0/0.1.JourneyExiled}]|myexile) moveto(mybattlefield)],newability[name(Effect ends) all(sorcery[counter{0/0.1.JourneyExiled}]|myexile) removeallcounters(0/0.1.JourneyExiled)],newability[name(Effect ends) all(instant[counter{0/0.1.JourneyExiled}]|myexile) removeallcounters(0/0.1.JourneyExiled)])) oneshot )! +auto=@each my endofturn:name(Effect ends) all(*[counter{0/0.1.JourneyExiled}]|myexile) removeallcounters(0/0.1.JourneyExiled) +text=At the beginning of your upkeep, exile the top four cards of your library, then roll a d20. -- 1-9 | You may put a land card from among those cards onto the battlefield. -- 10-19 | Create a 2/2 green Wolf creature token, then put a +1/+1 counter on it for each creature card among those cards. -- 20 | Put all permanent cards exiled with Journey to the Lost City onto the battlefield, then sacrifice it. +mana={3}{G} +type=Enchantment +[/card] +[card] name=Journey to the Oracle abilities=doublefacedeath auto=target(land|myhand) moveto(myBattlefield) and!( if type(land|mybattlefield)~morethan~7 then may name(Discard and return jadzi) ability$!name(Discard and return jadzi) name(Discard and return jadzi) target(*|myhand) transforms((,newability[reject],newability[name(Discard and return jadzi) target(*[Jadzi^ Oracle of Arcavios;fresh]|mygraveyard) moveto(ownerhand)])) oneshot!$ controller )! @@ -43734,6 +45068,18 @@ power=3 toughness=2 [/card] [card] +name=Kagha, Shadow Archdruid +auto=_ATTACKING_name(Gains deathtouch) transforms((,newability[deathtouch],newability[deplete:2 controller])) ueot +auto=@movedto(*|mygraveyard) from(mylibrary):name(Milled card) all(trigger[to]) transforms((,newability[counter(0/0.1.KaghaMilled)],newability[@each my endofturn:name(Effect ends) removeallcounters(0/0.1.KaghaMilled)])) ueot +auto={0}:name(Playble from graveyard) target(*[counter{0/0.1.KaghaMilled}]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[name(Effect ends) all(*[counter{0/0.1.KaghaMilled}]|mygraveyard) removeallcounters(0/0.1.KaghaMilled)])) ueot limit:1 +text=Whenever Kagha, Shadow Archdruid attacks, it gains deathtouch until end of turn. Mill two cards. (Put the top two cards of your library into your graveyard.) -- Once during each of your turns, you may play a land or cast a permanent spell from among cards in your graveyard that were put there from your library this turn. +mana={2}{B}{G} +type=Legendary Creature +subtype=Elf Druid +power=1 +toughness=4 +[/card] +[card] name=Kaheera, the Orphanguard auto=lord(other Cat, Elemental, Nightmare, Dinosaur,Beast|myBattlefield) 1/1 auto=lord(other Cat, Elemental, Nightmare, Dinosaur,Beast|myBattlefield) vigilance @@ -44200,6 +45546,16 @@ type=Enchantment subtype=Aura [/card] [card] +name=Katilda and Lier +auto=@movedTo(Human|mystack):target(instant,sorcery|mygraveyard) tempflashback ueot +text=Whenever you cast a Human spell, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. (You may cast that card from your graveyard for its flashback cost. Then exile it.) +mana={G}{W}{U} +type=Legendary Creature +subtype=Human +power=3 +toughness=3 +[/card] +[card] name=Katilda's Rising Dawn abilities=exiledeath backside=Katilda, Dawnhart Martyr @@ -44268,14 +45624,14 @@ subtype=Aura name=Kaya's Guile other={4}{W}{B} name(Entwine) auto=ifnot paid(alternative) then choice name(Choose 1 and 2):ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent && moveto(exile) all(creature|opponentbattlefield) -auto=ifnot paid(alternative) then choice name(Choose 1 and 3):ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent && create(Spirit:creature Spirit:1/1:white,black:flying) +auto=ifnot paid(alternative) then choice name(Choose 1 and 3):ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent && _AFTERLIFETOKEN_ auto=ifnot paid(alternative) then choice name(Choose 1 and 4):ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent && life:4 controller -auto=ifnot paid(alternative) then choice name(Choose 2 and 3):moveto(exile) all(creature|opponentbattlefield) && create(Spirit:creature Spirit:1/1:white,black:flying) +auto=ifnot paid(alternative) then choice name(Choose 2 and 3):moveto(exile) all(creature|opponentbattlefield) && _AFTERLIFETOKEN_ auto=ifnot paid(alternative) then choice name(Choose 2 and 4):moveto(exile) all(creature|opponentbattlefield) && life:4 controller -auto=ifnot paid(alternative) then choice name(Choose 3 and 4):create(Spirit:creature Spirit:1/1:white,black:flying) && life:4 controller +auto=ifnot paid(alternative) then choice name(Choose 3 and 4):_AFTERLIFETOKEN_ && life:4 controller auto=if paid(alternative) then ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent auto=if paid(alternative) then moveto(exile) all(creature|opponentbattlefield) -auto=if paid(alternative) then create(Spirit:creature Spirit:1/1:white,black:flying) +auto=if paid(alternative) then _AFTERLIFETOKEN_ auto=if paid(alternative) then life:4 controller text=Choose two -- Each opponent sacrifices a creature. -- Exile all cards from each opponent's graveyard. -- Create a 1/1 white and black Spirit creature token with flying. -- You gain 4 life. -- Entwine 3 (Choose all if you pay the entwine cost.) mana={1}{W}{B} @@ -44543,7 +45899,7 @@ toughness=1 [/card] [card] name=Keldon Raider -auto=may reject notatarget(*|myhand) and!(draw:1 controller)! +auto=may _DISCARD&DRAW_ text=When Keldon Raider enters the battlefield, you may discard a card. If you do, draw a card. mana={2}{R}{R} type=Creature @@ -44801,11 +46157,12 @@ type=Artifact [/card] [card] name=Khalni Ambush +target=creature|mybattlefield restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(Khalni Territory) autohand={0}:restriction{can play land,compare(isflipped)~equalto~1} name(Khalni Territory) name(Khalni Territory) flip(Khalni Territory) forcetype(land) restriction=type(creature|opponentbattlefield)~morethan~0,type(creature|myBattlefield)~morethan~0 -auto=name(fights target creature you don't control) name(fights target creature you don't control) target(creature|mybattlefield) transforms((,newability[target(creature|opponentbattlefield) dynamicability])) ueot +auto=name(fights target creature you don't control) name(fights target creature you don't control) transforms((,newability[target(creature|opponentbattlefield) dynamicability])) ueot text=Target creature you control fights target creature you don't control. (Each deals damage equal to its power to the other.) // Khalni Territory mana={2}{G} type=Instant @@ -45035,7 +46392,7 @@ type=Instant [/card] [card] name=Kindred Discovery -auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|mybattlefield)}:draw:1], newability[@combat(attacking) source(creature[chosentype]|mybattlefield)}:draw:1])) forever chooseend +auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|mybattlefield):draw:1],newability[@combat(attacking) source(creature[chosentype]|mybattlefield):draw:1])) forever chooseend text=As Kindred Discovery enters the battlefield, choose a creature type. -- Whenever a creature you control of the chosen type enters the battlefield or attacks, draw a card. mana={3}{U}{U} type=Enchantment @@ -45082,7 +46439,7 @@ toughness=3 name=King Harald's Revenge target=creature auto=foreach(creature|myBattlefield) 1/1 -auto=transforms((,newability[trample],newability[_ATTACKING_all(creature|opponentbattlefield) mustblock ueot])) ueot +auto=transforms((,newability[trample],_MUST_BE_BLOCKD_)) ueot text=Until end of tun, target creature gets +1/+1 for each creature you control and gains trample. It must be blocked this turn if able. mana={2}{G} type=Sorcery @@ -45091,11 +46448,11 @@ type=Sorcery name=King Narfi's Betrayal auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) -auto=transforms((,newability[deplete:4 opponent],newability[deplete:4 controller],newability[may name(Exile creature or planeswalker) target(*[creature;planeswalker]|opponentgraveyard) moveto(myexile) and!( counter(KingOppExiled) )!],newability[ability$!name(Exile creature or planeswalker) may name(Exile creature or planeswalker) target(*[creature;planeswalker]|mygraveyard) moveto(exile) and!( counter(0/0.1.KingExiled) )! !$ controller])) oneshot -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) all(*[counter{KingOppExiled}]!myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) all(*[counter{KingExiled}]!myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) all(*[counter{KingOppExiled}]!myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveto(ownerexile)])) ueot -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) all(*[counter{KingExiled}]!myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] counter(0/0.-1.KingExiled)])) ueot +auto=transforms((,newability[all(player) deplete:4],newability[may name(Exile creature or planeswalker) target(*[creature;planeswalker]|opponentgraveyard) moveto(myexile) and!( counter(0/0.1.KingOppExiled) )!],newability[ability$!name(Exile creature or planeswalker) may name(Exile creature or planeswalker) target(*[creature;planeswalker]|mygraveyard) moveto(exile) and!( counter(0/0.1.KingExiled) )! !$ controller])) oneshot +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) all(*[counter{0/0.1.KingOppExiled}]|myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) all(*[counter{0/0.1.KingExiled}]|myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) all(*[counter{0/0.1.KingOppExiled}]|myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveto(ownerexile)])) ueot +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) all(*[counter{0/0.1.KingExiled}]|myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] counter(0/0.-1.KingExiled)])) ueot auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this) text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I - Each player mills four cards. Then you may exile a creature or planeswalker card from each graveyard. -- II, III - Until end of turn, you may cast spells from among cards exiled with King Narfi's Betrayal, and you may spend mana as though it were mana of any color to cast those spells. mana={1}{U}{B} @@ -45466,7 +46823,7 @@ toughness=3 [/card] [card] name=Knight of Sorrows -auto=_DIES_token(Spirit,Creature Spirit,1/1,white,black,flying) +auto=_DIES__AFTERLIFETOKEN_ text=Knight of Sorrows can block an additional creature each combat. -- Afterlife 1 (When this creature dies, create a 1/1 white and black Spirit creature token with flying.) mana={4}{W} type=Creature @@ -45508,8 +46865,8 @@ toughness=2 [card] name=Knight of the Last Breath abilities=flying -auto={3}{S(other creature[-token]|mybattlefield)}:create(Spirit:creature Spirit:1/1:white,black:flying) -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying) +auto={3}{S(other creature[-token]|mybattlefield)}:_AFTERLIFETOKEN_ +auto=_DIES__AFTERLIFETOKEN_*3 text={3}, Sacrifice another nontoken creature: Create a 1/1 white and black Spirit creature token with flying. -- Afterlife 3 (When this creature dies, create three 1/1 white and black Spirit creature tokens with flying.) mana={5}{W}{B} type=Creature @@ -45698,8 +47055,8 @@ toughness=4 [card] name=Koma's Faithful abilities=lifelink -auto=_DIES_deplete:3 opponent && deplete:3 controller -text=Lifelink -- When Koma's Faithful dies, each player mills three cards. (To mill a card, a player puts the top card of their library into their graveyard.) +auto=_DIES_all(player) deplete:3 +text=Lifelink -- When Koma's Faithful dies, each player mills three cards. (To mill a card, a player mills a card.) mana={2}{B} type=Creature subtype=Elf Cleric @@ -45755,7 +47112,7 @@ toughness=4 name=Kor Halberd auto=teach(creature) 1/1 auto=teach(creature) vigilance -auto={1}:equip +auto={1}:equip text=Equipped creature gets +1/+1 and has vigilance. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={W} type=Artifact @@ -45775,8 +47132,8 @@ toughness=4 [card] name=Korvold, Fae-Cursed King abilities=flying -auto=sacrifice target(*|mybattlefield) -auto=_ATTACKING_sacrifice target(*|mybattlefield) +auto=sacrifice notatarget(other *|mybattlefield) +auto=_ATTACKING_sacrifice notatarget(other *|mybattlefield) auto=@sacrificed(other *|mybattlefield):counter(1/1) all(this) && draw:1 text=Flying -- Whenever Korvold, Fae-Cursed King enters the battlefield or attacks, sacrifice another permanent. -- Whenever you sacrifice a permanent, put a +1/+1 counter on Korvold and draw a card. mana={2}{B}{R}{G} @@ -46027,8 +47384,8 @@ toughness=5 [card] name=Kroxa and Kunoros abilities=lifelink,menace,vigilance -auto=may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! -auto=_ATTACKING_may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! +auto=may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! restriction{type(*|mygraveyard)~morethan~5} +auto=_ATTACKING_may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! restriction{type(*|mygraveyard)~morethan~5} text=Vigilance, menace, lifelink -- Whenever Kroxa and Kunoros enters the battlefield or attacks, you may exile five cards from your graveyard. When you do, return target creature card from your graveyard to the battlefield. mana={3}{R}{W}{B} type=Legendary Creature @@ -46045,7 +47402,7 @@ auto=if type(*[-land]|opponenthand)~equalto~0 then if type(land|opponenthand)~mo auto=if type(*[-land]|opponenthand)~morethan~0 then if type(land|opponenthand)~morethan~0 then ability$!name(Choose one) choice name(Discard non-land card) reject notatarget(*[-land]|myhand) _ choice name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent auto=@combat(attacking) source(this) restriction{type(*|opponenthand)~equalto~0}:life:-3 opponent auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~morethan~0,type(land|opponenthand)~equalto~0}:ability$!name(Discard non-land) card name(Discard non-land card) reject notatarget(*[-land]|myhand)!$ opponent -auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~equalto~0,type(land|opponenthand)~morethan~0}:ability$!name(Discard land card) name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! $ opponent +auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~equalto~0,type(land|opponenthand)~morethan~0}:ability$!name(Discard land card) name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~morethan~0,type(land|opponenthand)~morethan~0}:ability$!name(Choose one) choice name(Discard non-land card) reject notatarget(*[-land]|myhand) _ choice name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent retrace={B}{B}{R}{R}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)} name(Escape) text=When Kroxa enters the battlefield, sacrifice it unless it escaped. -- Whenever Kroxa enters the battlefield or attacks, each opponent discards a card, then each opponent who didn't discard a nonland card this way loses 3 life. -- Escape-{B}{B}{R}{R}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) @@ -46122,7 +47479,7 @@ toughness=7 [/card] [card] name=Krydle of Baldur's Gate -auto=@combatdamaged(player) from(this):name(Gain life and scry) life:-1 opponent && deplete:1 opponent && life:1 controller && _SCRY_(1) +auto=@combatdamaged(player) from(this):name(Gain life and scry) life:-1 opponent && deplete:1 opponent && life:1 controller && _SCRY1_ auto=@each my blockers:name(Pay 2 for unblockable) pay({2}) name(Pay 2 for unblockable) target(creature|myBattlefield) transforms((,newability[unblockable])) ueot text=Whenever Krydle of Baldur's Gate deals combat damage to a player, that player loses 1 life and mills a card, then you gain 1 life and scry 1. -- Whenever you attack, you may pay {2}. If you do, target creature can't be blocked this turn. mana={U}{B} @@ -46524,6 +47881,18 @@ mana={1}{W} type=Instant [/card] [card] +name=Lantern of Revealing +auto={T}:Add{W} +auto={T}:Add{U} +auto={T}:Add{B} +auto={T}:Add{R} +auto={T}:Add{G} +auto={4}{T}:name(Look top card) all(*[zpos=1]|mylibrary) moveto(myhand) and!( transforms((,newability[choice name(Put back) moveto(mylibrary)],newability[choice name(Put on bottom) bottomoflibrary],newability[if cantargetcard(*[land]|*) then choice name(Put in play) name(Put in play) moveto(myBattlefield) and!( tap(noevent) )!] )) oneshot )! +text={T}: Add one mana of any color. -- {4}, {T}: Look at the top card of your library. If it's a land card, you may put it onto the battlefield tapped. If you don't put the card onto the battlefield, you may put it on the bottom of your library. +mana={3} +type=Artifact +[/card] +[card] name=Lantern of the Lost auto=name(Exile a card) moveto(exile) target(*|graveyard) auto={1}{T}{E}:name(Exile cards and draw) transforms((,newability[all(*|graveyard) moveto(exile)],newability[draw:1 controller])) oneshot @@ -46542,6 +47911,13 @@ type=Enchantment subtype=Aura [/card] [card] +name=Lapis Orb of Dragonkind +auto={T}:name(Add blue mana) transforms((,newability[add{U}],newability[@movedto(creature[dragon]|mystack) turnlimited:name(Scry 2)_SCRY2_])) ueot +text={T}: Add {U}. When you spend this mana to cast a Dragon creature spell, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) +mana={2}{U} +type=Artifact +[/card] +[card] name=Laquatus's Disdain target=*|stack auto=transforms((,newability[if gravecast then fizzle])) forever @@ -47134,6 +48510,12 @@ power=2 toughness=2 [/card] [card] +name=Legion Loyalty +text=Creatures you control have myriad. (Whenever a creature with myriad attacks, for each opponent other than defending player, you may create a token that's a copy of that creature that's tapped and attacking that player or a planeswalker they control. Exile the tokens at end of combat.) +mana={6}{W}{W} +type=Enchantment +[/card] +[card] name=Legion Vanguard aicode=activate transforms((,newability[explores],newability[if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)])) oneshot auto={1}{S(other creature|mybattlefield)}:name(Explores) reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend afterrevealed explores afterrevealedend revealend @@ -47480,7 +48862,7 @@ name=Lich abilities=cantlifelose auto=lifeset:0 controller auto=@lifeof(player):draw:thatmuch controller && life:-thatmuch controller -auto=@damageof(player):if type(creature[-token]|mybattlefield)~lessthan~thatmuch then winGame opponent else sacrifice target(creature[-token]|mybattlefield) +auto=@damageof(player):if type(creature[-token]|mybattlefield)~lessthan~thatmuch then winGame opponent else sacrifice notAtarget(creature[-token]|mybattlefield) auto=_DIES_winGame opponent text=As Lich enters the battlefield, you lose life equal to your life total. -- You don't lose the game for having 0 or less life. -- If you would gain life, draw that many cards instead. -- Whenever you're dealt damage, sacrifice that many nontoken permanents. If you can't, you lose the game. -- When Lich is put into a graveyard from the battlefield, you lose the game. mana={B}{B}{B}{B} @@ -47528,7 +48910,7 @@ toughness=4 [card] name=Lier, Disciple of the Drowned auto=lord(*|stack) nofizzle -auto=lord(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) forever +auto=lord(instant,sorcery|mygraveyard) tempflashback text=Spells can't be countered. -- Each instant and sorcery card in your graveyard has flashback. The flashback cost is equal to that card's mana cost. type=Legendary Creature subtype=Human Wizard @@ -47720,6 +49102,20 @@ power=2 toughness=2 [/card] [card] +name=Lightning Reflexes +abilities=asflash +other={1}{R} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +target=creature +auto=teach(creature) +1/+0 +auto=teach(creature) first strike +text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike. +mana={1}{R} +type=Enchantment +subtype=Aura +[/card] +[card] name=Lightning Skelemental abilities=trample,haste,treason auto=@combatdamaged(player) from(this):ability$!target(<2>*|myhand) reject!$ @@ -48089,7 +49485,7 @@ toughness=3 name=Littjara Kinseekers abilities=changeling aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if compare(sametypecreatures)~morethan~2 then counter(1/1) && _SCRY_(1) +auto=if compare(sametypecreatures)~morethan~2 then counter(1/1) && _SCRY1_ text=Changeling (This card is every creature type.) -- When Littjara Kinseekers enters the battlefield, if you control three or more creatures that share a creature type, put a +1/+1 counter on Littjara Kinseekers, then scry 1. mana={3}{U} type=Creature @@ -48106,6 +49502,36 @@ text=Littjara Mirrorlake enters the battlefield tapped. -- {T}: Add {U}. -- {2}{ type=Land [/card] [card] +name=Livaan, Cultist of Tiamat +abilities=backgroundpartner +auto=@movedTo(*[-creature;manacost=1]|mystack):name(Creature gains 1/0) target(creature) 1/0 ueot +auto=@movedTo(*[-creature;manacost=2]|mystack):name(Creature gains 2/0) target(creature) 2/0 ueot +auto=@movedTo(*[-creature;manacost=3]|mystack):name(Creature gains 3/0) target(creature) 3/0 ueot +auto=@movedTo(*[-creature;manacost=4]|mystack):name(Creature gains 4/0) target(creature) 4/0 ueot +auto=@movedTo(*[-creature;manacost=5]|mystack):name(Creature gains 5/0) target(creature) 5/0 ueot +auto=@movedTo(*[-creature;manacost=6]|mystack):name(Creature gains 6/0) target(creature) 6/0 ueot +auto=@movedTo(*[-creature;manacost=7]|mystack):name(Creature gains 7/0) target(creature) 7/0 ueot +auto=@movedTo(*[-creature;manacost=8]|mystack):name(Creature gains 8/0) target(creature) 8/0 ueot +auto=@movedTo(*[-creature;manacost=9]|mystack):name(Creature gains 9/0) target(creature) 9/0 ueot +auto=@movedTo(*[-creature;manacost=10]|mystack):name(Creature gains 10/0) target(creature) 10/0 ueot +auto=@movedTo(*[-creature;manacost=11]|mystack):name(Creature gains 11/0) target(creature) 11/0 ueot +auto=@movedTo(*[-creature;manacost=12]|mystack):name(Creature gains 12/0) target(creature) 12/0 ueot +auto=@movedTo(*[-creature;manacost=13]|mystack):name(Creature gains 13/0) target(creature) 13/0 ueot +auto=@movedTo(*[-creature;manacost=14]|mystack):name(Creature gains 14/0) target(creature) 14/0 ueot +auto=@movedTo(*[-creature;manacost=15]|mystack):name(Creature gains 15/0) target(creature) 15/0 ueot +auto=@movedTo(*[-creature;manacost=16]|mystack):name(Creature gains 16/0) target(creature) 16/0 ueot +auto=@movedTo(*[-creature;manacost=17]|mystack):name(Creature gains 17/0) target(creature) 17/0 ueot +auto=@movedTo(*[-creature;manacost=18]|mystack):name(Creature gains 18/0) target(creature) 18/0 ueot +auto=@movedTo(*[-creature;manacost=19]|mystack):name(Creature gains 19/0) target(creature) 19/0 ueot +auto=@movedTo(*[-creature;manacost>=20]|mystack):name(Creature gains 20/0) target(creature) 20/0 ueot +text=Whenever you cast a noncreature spell, target creature gets +X/+0 until end of turn, where X is that spell's mana value. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{R} +type=Legendary Creature +subtype=Dragon Shaman +power=1 +toughness=3 +[/card] +[card] name=Livewire Lash auto={2}:equip auto=teach(creature) 2/0 @@ -48279,7 +49705,7 @@ toughness=6 [/card] [card] name=Loathsome Catoblepas -auto={2}{G}:transforms((,newability[_ATTACKING_all(creature|opponentbattlefield) mustblock ueot])) ueot +auto={2}{G}:transforms((,_MUST_BE_BLOCKD_)) ueot auto=_DIES_target(creature|opponentbattlefield) -3/-3 ueot text={2}{G}: Loathsome Catoblepas must be blocked this turn if able. -- When Loathsome Catoblepas dies, target creature an opponent controls gets -3/-3 until end of turn. mana={5}{B} @@ -48333,7 +49759,7 @@ subtype=Equipment [card] name=Loch Dragon abilities=flying -auto=may ability$!name(discard) reject notatarget(*|myhand) and!(draw:1)! !$ controller +auto=may ability$!name(discard) _DISCARD&DRAW_ !$ controller auto=_ATTACKING_may ability$!name(discard) reject notatarget(*|myhand) and!(draw:1) controller!$ text=Flying -- Whenever Loch Dragon enters the battlefield or attacks, you may discard a card. If you do, draw a card. mana={UR}{UR}{UR}{UR} @@ -48376,6 +49802,17 @@ power=0 toughness=3 [/card] [card] +name=Locthwain Lancer +abilities=menace +auto=@movedTo(Knight[-token]|graveyard) from(mybattlefield):life:-1 opponent && draw:1 +text=Menace -- Whenever a nontoken Knight you control dies, each opponent loses 1 life and you draw a card. +mana={4}{B} +type=Creature +subtype=Human Knight +power=5 +toughness=5 +[/card] +[card] name=Locthwain Paladin abilities=menace auto=if casted(this) then if spent({B}{B}{B}) then counter(1/1) @@ -48510,6 +49947,16 @@ power=1 toughness=7 [/card] [card] +name=Loot Dispute +auto=_INITIATIVE_CONTROLLER_ +auto=name(Create treasure) token(Treasure Sur) +auto=@each my blockers restriction{compare(oinitiative)~morethan~0}:name(Create treasure) token(Treasure Sur) +auto=@dungeoncompleted(*[dungeon]|mysideboard) from(controller):name(Create dragon) token(Dragon,Creature Dragon,5/5,red,flying) +text=When Loot Dispute enters the battlefield, you take the initiative and create a Treasure token. -- Whenever you attack the player who has the initiative, create a Treasure token. -- Loud Ruckus - Whenever you complete a dungeon, create a 5/5 red Dragon creature token with flying. +mana={3}{R} +type=Enchantment +[/card] +[card] name=Loran of the Third Path abilities=vigilance auto=may destroy target(artifact,enchantment) @@ -48526,7 +49973,7 @@ name=Loran's Escape target=artifact,creature auto=hexproof auto=indestructible -auto=_SCRY_(1) +auto=_SCRY1_ text=Target artifact or creature gains hexproof and indestructible until end of turn. Scry 1. mana={W} type=Instant @@ -48546,27 +49993,27 @@ toughness=3 name=Lorcan, Warlock Collector abilities=flying auto=lord(warlock|mybattlefield) exiledeath -auto=@movedto(creature[manacost=0]|opponentgraveyard):transforms((,newability[may name(Pay 0 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=1]|opponentgraveyard):transforms((,newability[name(Pay 1 and put on your battlefield) pay({L:1}) name(Pay 1 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=2]|opponentgraveyard):transforms((,newability[name(Pay 2 and put on your battlefield) pay({L:2}) name(Pay 2 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=3]|opponentgraveyard):transforms((,newability[name(Pay 3 and put on your battlefield) pay({L:3}) name(Pay 3 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=4]|opponentgraveyard):transforms((,newability[name(Pay 4 and put on your battlefield) pay({L:4}) name(Pay 4 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=5]|opponentgraveyard):transforms((,newability[name(Pay 5 and put on your battlefield) pay({L:5}) name(Pay 5 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=6]|opponentgraveyard):transforms((,newability[name(Pay 6 and put on your battlefield) pay({L:6}) name(Pay 6 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=7]|opponentgraveyard):transforms((,newability[name(Pay 7 and put on your battlefield) pay({L:7}) name(Pay 7 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=8]|opponentgraveyard):transforms((,newability[name(Pay 8 and put on your battlefield) pay({L:8}) name(Pay 8 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=9]|opponentgraveyard):transforms((,newability[name(Pay 9 and put on your battlefield) pay({L:9}) name(Pay 9 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=10]|opponentgraveyard):transforms((,newability[name(Pay 10 and put on your battlefield) pay({L:10}) name(Pay 10 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=11]|opponentgraveyard):transforms((,newability[name(Pay 11 and put on your battlefield) pay({L:11}) name(Pay 11 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=12]|opponentgraveyard):transforms((,newability[name(Pay 12 and put on your battlefield) pay({L:12}) name(Pay 12 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=13]|opponentgraveyard):transforms((,newability[name(Pay 13 and put on your battlefield) pay({L:13}) name(Pay 13 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=14]|opponentgraveyard):transforms((,newability[name(Pay 14 and put on your battlefield) pay({L:14}) name(Pay 14 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=15]|opponentgraveyard):transforms((,newability[name(Pay 15 and put on your battlefield) pay({L:15}) name(Pay 15 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=16]|opponentgraveyard):transforms((,newability[name(Pay 16 and put on your battlefield) pay({L:16}) name(Pay 16 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=17]|opponentgraveyard):transforms((,newability[name(Pay 17 and put on your battlefield) pay({L:17}) name(Pay 17 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=18]|opponentgraveyard):transforms((,newability[name(Pay 18 and put on your battlefield) pay({L:18}) name(Pay 18 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost=19]|opponentgraveyard):transforms((,newability[name(Pay 19 and put on your battlefield) pay({L:19}) name(Pay 19 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot -auto=@movedto(creature[manacost>=20]|opponentgraveyard):transforms((,newability[name(Pay 20 and put on your battlefield) pay({L:20}) name(Pay 20 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield)])) oneshot +auto=@movedto(creature[manacost=0]|opponentgraveyard):transforms((,newability[may name(Pay 0 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=1]|opponentgraveyard):transforms((,newability[name(Pay 1 and put on your battlefield) pay({L:1}) name(Pay 1 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=2]|opponentgraveyard):transforms((,newability[name(Pay 2 and put on your battlefield) pay({L:2}) name(Pay 2 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=3]|opponentgraveyard):transforms((,newability[name(Pay 3 and put on your battlefield) pay({L:3}) name(Pay 3 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=4]|opponentgraveyard):transforms((,newability[name(Pay 4 and put on your battlefield) pay({L:4}) name(Pay 4 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=5]|opponentgraveyard):transforms((,newability[name(Pay 5 and put on your battlefield) pay({L:5}) name(Pay 5 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=6]|opponentgraveyard):transforms((,newability[name(Pay 6 and put on your battlefield) pay({L:6}) name(Pay 6 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=7]|opponentgraveyard):transforms((,newability[name(Pay 7 and put on your battlefield) pay({L:7}) name(Pay 7 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=8]|opponentgraveyard):transforms((,newability[name(Pay 8 and put on your battlefield) pay({L:8}) name(Pay 8 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=9]|opponentgraveyard):transforms((,newability[name(Pay 9 and put on your battlefield) pay({L:9}) name(Pay 9 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=10]|opponentgraveyard):transforms((,newability[name(Pay 10 and put on your battlefield) pay({L:10}) name(Pay 10 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=11]|opponentgraveyard):transforms((,newability[name(Pay 11 and put on your battlefield) pay({L:11}) name(Pay 11 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=12]|opponentgraveyard):transforms((,newability[name(Pay 12 and put on your battlefield) pay({L:12}) name(Pay 12 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=13]|opponentgraveyard):transforms((,newability[name(Pay 13 and put on your battlefield) pay({L:13}) name(Pay 13 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=14]|opponentgraveyard):transforms((,newability[name(Pay 14 and put on your battlefield) pay({L:14}) name(Pay 14 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=15]|opponentgraveyard):transforms((,newability[name(Pay 15 and put on your battlefield) pay({L:15}) name(Pay 15 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=16]|opponentgraveyard):transforms((,newability[name(Pay 16 and put on your battlefield) pay({L:16}) name(Pay 16 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=17]|opponentgraveyard):transforms((,newability[name(Pay 17 and put on your battlefield) pay({L:17}) name(Pay 17 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=18]|opponentgraveyard):transforms((,newability[name(Pay 18 and put on your battlefield) pay({L:18}) name(Pay 18 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost=19]|opponentgraveyard):transforms((,newability[name(Pay 19 and put on your battlefield) pay({L:19}) name(Pay 19 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot +auto=@movedto(creature[manacost>=20]|opponentgraveyard):transforms((,newability[name(Pay 20 and put on your battlefield) pay({L:20}) name(Pay 20 and put on your battlefield) all(creature[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(mybattlefield) and!(becomes(Warlock) forever)!])) oneshot text=Flying -- Whenever a creature card is put into an opponent's graveyard from anywhere, you may pay life equal to its mana value. If you do, put it onto the battlefield under your control. it's a Warlock in addition to its other types. -- If a Warlock you control would die, exile it instead. mana={5}{B}{B} type=Legendary Creature @@ -48661,7 +50108,7 @@ toughness=2 name=Lorehold Campus aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=tap(noevent) -auto={4}{T}:name(Scry 1) _SCRY_(1) +auto={4}{T}:name(Scry 1) _SCRY1_ auto={T}:add{R} auto={T}:add{W} text=Lorehold Campus enters the battlefield tapped. -- {T}: Add {R} or {W}. -- {4}, {T}: Scry 1. @@ -48732,7 +50179,7 @@ type=Sorcery [card] name=Lost Legion aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=When Lost Legion enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={1}{B}{B} type=Creature @@ -48744,7 +50191,7 @@ toughness=3 name=Lost Mine of Phandelver restriction=never autocommandzone=transforms((,newability[shroud],newability[indestructible])) forever -autocommandzone=@counteradded(0/0,1,Explore) from(Lost Mine of Phandelver|mycommandzone) restriction{compare(hascntexplore)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Cave Entrance) name(Cave Entrance) _SCRY_(1)!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Lost Mine of Phandelver|mycommandzone) restriction{compare(hascntexplore)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Cave Entrance) name(Cave Entrance) _SCRY1_!$ controller autocommandzone=@counteradded(0/0,1,Explore) from(Lost Mine of Phandelver|mycommandzone) restriction{compare(hascntexplore)~equalto~2}:ability$!name(Goblin Lair or Mine Tunnels) all(Lost Mine of Phandelver|mycommandzone) transforms((,newability[choice name(Goblin Lair)*type:*[twodngtrg]:mybattlefieldplus1plusend _GOBLINTOKEN_ and!( all(Lost Mine of Phandelver|mycommandzone) counter(0/0.1.GoblinLiar) notrg )!],newability[choice name(Mine Tunnels) token(Treasure Sur)*type:*[twodngtrg]:mybattlefieldplus1plusend and!( all(Lost Mine of Phandelver|mycommandzone) counter(0/0.1.MineTunnels) notrg )!])) oneshot!$ controller autocommandzone=@counteradded(0/0,1,Explore) from(Lost Mine of Phandelver|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntgoblinliar)~morethan~0}:ability$!name(Storeroom or Dark Pool) all(Lost Mine of Phandelver|mycommandzone) transforms((,newability[if type(creature|battlefield)~morethan~0 then choice name(Storeroom) name(Storeroom) target(creature|battlefield) counter(1/1)],newability[choice name(Dark Pool) life:type:*[twodngtrg]:mybattlefieldplus1plusend controller && life:-type:*[twodngtrg]:mybattlefieldplus1plusend opponent])) oneshot!$ controller autocommandzone=@counteradded(0/0,1,Explore) from(Lost Mine of Phandelver|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntminetunnels)~morethan~0}:ability$!name(Dark Pool or Fungi Cavern) all(Lost Mine of Phandelver|mycommandzone) transforms((,newability[choice name(Dark Pool) life:type:*[twodngtrg]:mybattlefieldplus1plusend controller controller && life:-type:*[twodngtrg]:mybattlefieldplus1plusend controller opponent],newability[if type(creature|battlefield)~morethan~0 then choice name(Fungi Cavern) name(Fungi Cavern) target(creature|battlefield) transforms((,newability[-4/0])) uynt])) oneshot!$ controller @@ -48921,6 +50368,56 @@ power=3 toughness=1 [/card] [card] +name=Lozhan, Dragons' Legacy +abilities=flying +auto=@movedTo(*[-adventure;dragon;manacost=1]|mystack):name(Deals 1 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:1 target(player)],newability[choice name(Damage non-commander) damage:1 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=2]|mystack):name(Deals 2 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:2 target(player)],newability[choice name(Damage non-commander) damage:2 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=3]|mystack):name(Deals 3 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:3 target(player)],newability[choice name(Damage non-commander) damage:3 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=4]|mystack):name(Deals 4 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:4 target(player)],newability[choice name(Damage non-commander) damage:4 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=5]|mystack):name(Deals 5 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:5 target(player)],newability[choice name(Damage non-commander) damage:5 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=6]|mystack):name(Deals 6 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:6 target(player)],newability[choice name(Damage non-commander) damage:6 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=7]|mystack):name(Deals 7 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:7 target(player)],newability[choice name(Damage non-commander) damage:7 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=8]|mystack):name(Deals 8 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:8 target(player)],newability[choice name(Damage non-commander) damage:8 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=9]|mystack):name(Deals 9 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:9 target(player)],newability[choice name(Damage non-commander) damage:9 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=10]|mystack):name(Deals 10 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:10 target(player)],newability[choice name(Damage non-commander) damage:10 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=11]|mystack):name(Deals 11 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:11 target(player)],newability[choice name(Damage non-commander) damage:11 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=12]|mystack):name(Deals 12 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:12 target(player)],newability[choice name(Damage non-commander) damage:12 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=13]|mystack):name(Deals 13 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:13 target(player)],newability[choice name(Damage non-commander) damage:13 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=14]|mystack):name(Deals 14 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:14 target(player)],newability[choice name(Damage non-commander) damage:14 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=15]|mystack):name(Deals 15 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:15 target(player)],newability[choice name(Damage non-commander) damage:15 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=16]|mystack):name(Deals 16 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:16 target(player)],newability[choice name(Damage non-commander) damage:16 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=17]|mystack):name(Deals 17 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:17 target(player)],newability[choice name(Damage non-commander) damage:17 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=18]|mystack):name(Deals 18 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:18 target(player)],newability[choice name(Damage non-commander) damage:18 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost=19]|mystack):name(Deals 19 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:19 target(player)],newability[choice name(Damage non-commander) damage:19 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[-adventure;dragon;manacost>=20]|mystack):name(Deals 20 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:20 target(player)],newability[choice name(Damage non-commander) damage:20 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=1]|mystack):name(Deals 1 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:1 target(player)],newability[choice name(Damage non-commander) damage:1 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=2]|mystack):name(Deals 2 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:2 target(player)],newability[choice name(Damage non-commander) damage:2 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=3]|mystack):name(Deals 3 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:3 target(player)],newability[choice name(Damage non-commander) damage:3 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=4]|mystack):name(Deals 4 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:4 target(player)],newability[choice name(Damage non-commander) damage:4 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=5]|mystack):name(Deals 5 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:5 target(player)],newability[choice name(Damage non-commander) damage:5 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=6]|mystack):name(Deals 6 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:6 target(player)],newability[choice name(Damage non-commander) damage:6 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=7]|mystack):name(Deals 7 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:7 target(player)],newability[choice name(Damage non-commander) damage:7 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=8]|mystack):name(Deals 8 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:8 target(player)],newability[choice name(Damage non-commander) damage:8 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=9]|mystack):name(Deals 9 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:9 target(player)],newability[choice name(Damage non-commander) damage:9 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=10]|mystack):name(Deals 10 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:10 target(player)],newability[choice name(Damage non-commander) damage:10 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=11]|mystack):name(Deals 11 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:11 target(player)],newability[choice name(Damage non-commander) damage:11 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=12]|mystack):name(Deals 12 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:12 target(player)],newability[choice name(Damage non-commander) damage:12 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=13]|mystack):name(Deals 13 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:13 target(player)],newability[choice name(Damage non-commander) damage:13 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=14]|mystack):name(Deals 14 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:14 target(player)],newability[choice name(Damage non-commander) damage:14 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=15]|mystack):name(Deals 15 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:15 target(player)],newability[choice name(Damage non-commander) damage:15 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=16]|mystack):name(Deals 16 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:16 target(player)],newability[choice name(Damage non-commander) damage:16 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=17]|mystack):name(Deals 17 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:17 target(player)],newability[choice name(Damage non-commander) damage:17 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=18]|mystack):name(Deals 18 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:18 target(player)],newability[choice name(Damage non-commander) damage:18 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost=19]|mystack):name(Deals 19 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:19 target(player)],newability[choice name(Damage non-commander) damage:19 target(*[-iscommander]|battlefield)])) oneshot +auto=@movedTo(*[adventure;-dragon;manacost>=20]|mystack):name(Deals 20 damage) all(trigger[to]) transforms((,newability[choice name(Damage player) damage:20 target(player)],newability[choice name(Damage non-commander) damage:20 target(*[-iscommander]|battlefield)])) oneshot +text=Flying -- Whenever you cast an Adventure or Dragon spell, Lozhan, Dragons' Legacy deals damage equal to that spell's mana value to any target that isn't a commander. +mana={3}{U}{R} +type=Legendary Creature +subtype=Dragon Shaman +power=4 +toughness=2 +[/card] +[card] name=Lucid Dreams auto=draw:mygravecardtypes controller text=Draw X cards, where X is the number of card types among cards in your graveyard. @@ -49037,26 +50534,26 @@ toughness=2 name=Lumbering Battlement abilities=vigilance auto=choice name(Exile 0 creatures) name(Exile 0 creatures) donothing -auto=if type(creature[-token]|mybattlefield)~morethan~0 then choice name(Exile 1 creature) name(Exile 1 creature) transforms((,newability[target(creature[-token|mybattlefield) (blink)forsrc],newability[2/2])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~1 then choice name(Exile 2 creatures) name(Exile 2 creatures) transforms((,newability[target(<2>creature[-token|mybattlefield) (blink)forsrc],newability[4/4])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~2 then choice name(Exile 3 creatures) name(Exile 3 creatures) transforms((,newability[target(<3>creature[-token|mybattlefield) (blink)forsrc],newability[6/6])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~3 then choice name(Exile 4 creatures) name(Exile 4 creatures) transforms((,newability[target(<4>creature[-token|mybattlefield) (blink)forsrc],newability[8/8])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~4 then choice name(Exile 5 creatures) name(Exile 5 creatures) transforms((,newability[target(<5>creature[-token|mybattlefield) (blink)forsrc],newability[10/10])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~5 then choice name(Exile 6 creatures) name(Exile 6 creatures) transforms((,newability[target(<6>creature[-token|mybattlefield) (blink)forsrc],newability[12/12])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~6 then choice name(Exile 7 creatures) name(Exile 7 creatures) transforms((,newability[target(<7>creature[-token|mybattlefield) (blink)forsrc],newability[14/14])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~7 then choice name(Exile 8 creatures) name(Exile 8 creatures) transforms((,newability[target(<8>creature[-token|mybattlefield) (blink)forsrc],newability[16/16])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~8 then choice name(Exile 9 creatures) name(Exile 9 creatures) transforms((,newability[target(<9>creature[-token|mybattlefield) (blink)forsrc],newability[18/18])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~9 then choice name(Exile 10 creatures) name(Exile 10 creatures) transforms((,newability[target(<10>creature[-token|mybattlefield) (blink)forsrc],newability[20/20])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~10 then choice name(Exile 11 creatures) name(Exile 11 creatures) transforms((,newability[target(<11>creature[-token|mybattlefield) (blink)forsrc],newability[22/22])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~11 then choice name(Exile 12 creatures) name(Exile 12 creatures) transforms((,newability[target(<12>creature[-token|mybattlefield) (blink)forsrc],newability[24/24])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~12 then choice name(Exile 13 creatures) name(Exile 13 creatures) transforms((,newability[target(<13>creature[-token|mybattlefield) (blink)forsrc],newability[26/26])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~13 then choice name(Exile 14 creatures) name(Exile 14 creatures) transforms((,newability[target(<14>creature[-token|mybattlefield) (blink)forsrc],newability[28/28])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~14 then choice name(Exile 15 creatures) name(Exile 15 creatures) transforms((,newability[target(<15>creature[-token|mybattlefield) (blink)forsrc],newability[30/30])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~15 then choice name(Exile 16 creatures) name(Exile 16 creatures) transforms((,newability[target(<16>creature[-token|mybattlefield) (blink)forsrc],newability[32/32])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~16 then choice name(Exile 17 creatures) name(Exile 17 creatures) transforms((,newability[target(<17>creature[-token|mybattlefield) (blink)forsrc],newability[34/34])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~17 then choice name(Exile 18 creatures) name(Exile 18 creatures) transforms((,newability[target(<18>creature[-token|mybattlefield) (blink)forsrc],newability[36/36])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~18 then choice name(Exile 19 creatures) name(Exile 19 creatures) transforms((,newability[target(<19>creature[-token|mybattlefield) (blink)forsrc],newability[38/38])) forever -auto=if type(creature[-token]|mybattlefield)~morethan~19 then choice name(Exile 20 creatures) name(Exile 20 creatures) transforms((,newability[target(<20>creature[-token|mybattlefield) (blink)forsrc],newability[40/40])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~0 then choice name(Exile 1 creature) name(Exile 1 creature) transforms((,newability[target(creature[-token]|mybattlefield) (blink)forsrc],newability[2/2])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~1 then choice name(Exile 2 creatures) name(Exile 2 creatures) transforms((,newability[target(<2>creature[-token]|mybattlefield) (blink)forsrc],newability[4/4])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~2 then choice name(Exile 3 creatures) name(Exile 3 creatures) transforms((,newability[target(<3>creature[-token]|mybattlefield) (blink)forsrc],newability[6/6])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~3 then choice name(Exile 4 creatures) name(Exile 4 creatures) transforms((,newability[target(<4>creature[-token]|mybattlefield) (blink)forsrc],newability[8/8])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~4 then choice name(Exile 5 creatures) name(Exile 5 creatures) transforms((,newability[target(<5>creature[-token]|mybattlefield) (blink)forsrc],newability[10/10])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~5 then choice name(Exile 6 creatures) name(Exile 6 creatures) transforms((,newability[target(<6>creature[-token]|mybattlefield) (blink)forsrc],newability[12/12])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~6 then choice name(Exile 7 creatures) name(Exile 7 creatures) transforms((,newability[target(<7>creature[-token]|mybattlefield) (blink)forsrc],newability[14/14])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~7 then choice name(Exile 8 creatures) name(Exile 8 creatures) transforms((,newability[target(<8>creature[-token]|mybattlefield) (blink)forsrc],newability[16/16])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~8 then choice name(Exile 9 creatures) name(Exile 9 creatures) transforms((,newability[target(<9>creature[-token]|mybattlefield) (blink)forsrc],newability[18/18])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~9 then choice name(Exile 10 creatures) name(Exile 10 creatures) transforms((,newability[target(<10>creature[-token]|mybattlefield) (blink)forsrc],newability[20/20])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~10 then choice name(Exile 11 creatures) name(Exile 11 creatures) transforms((,newability[target(<11>creature[-token]|mybattlefield) (blink)forsrc],newability[22/22])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~11 then choice name(Exile 12 creatures) name(Exile 12 creatures) transforms((,newability[target(<12>creature[-token]|mybattlefield) (blink)forsrc],newability[24/24])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~12 then choice name(Exile 13 creatures) name(Exile 13 creatures) transforms((,newability[target(<13>creature[-token]|mybattlefield) (blink)forsrc],newability[26/26])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~13 then choice name(Exile 14 creatures) name(Exile 14 creatures) transforms((,newability[target(<14>creature[-token]|mybattlefield) (blink)forsrc],newability[28/28])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~14 then choice name(Exile 15 creatures) name(Exile 15 creatures) transforms((,newability[target(<15>creature[-token]|mybattlefield) (blink)forsrc],newability[30/30])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~15 then choice name(Exile 16 creatures) name(Exile 16 creatures) transforms((,newability[target(<16>creature[-token]|mybattlefield) (blink)forsrc],newability[32/32])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~16 then choice name(Exile 17 creatures) name(Exile 17 creatures) transforms((,newability[target(<17>creature[-token]|mybattlefield) (blink)forsrc],newability[34/34])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~17 then choice name(Exile 18 creatures) name(Exile 18 creatures) transforms((,newability[target(<18>creature[-token]|mybattlefield) (blink)forsrc],newability[36/36])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~18 then choice name(Exile 19 creatures) name(Exile 19 creatures) transforms((,newability[target(<19>creature[-token]|mybattlefield) (blink)forsrc],newability[38/38])) forever +auto=if type(creature[-token]|mybattlefield)~morethan~19 then choice name(Exile 20 creatures) name(Exile 20 creatures) transforms((,newability[target(<20>creature[-token]|mybattlefield) (blink)forsrc],newability[40/40])) forever text=Vigilance -- When Lumbering Battlement enters the battlefield, exile any number of other nontoken creatures you control until it leaves the battlefield. -- Lumbering Battlement gets +2/+2 for each card exiled with it. mana={4}{W} type=Creature @@ -49733,6 +51230,14 @@ power=4 toughness=4 [/card] [card] +name=Majestic Genesis +aicode=activate transforms((,newability[if type(*[-instant;-sorcery;zpos<=convertedcost:highest:*[iscommander]:mycommandplay]|mylibrary)~morethan~0 then target(*[-instant;-sorcery;zpos<=convertedcost:highest:*[iscommander]:mycommandplay]|mylibrary) moveto(mybattlefield) and!( all(other *[zpos<=convertedcost:highest:*[iscommander]:mycommandplay]|mylibrary) bottomoflibrary )!],newability[if type(*[-instant;-sorcery;zpos<=convertedcost:highest:*[iscommander]:mycommandplay]|mylibrary)~equalto~0 then all(*[zpos<=convertedcost:highest:*[iscommander]:mycommandplay]|mylibrary) bottomoflibrary])) ueot +auto=name(Reveal top cards) reveal:convertedcost:highest:*[iscommander]:mycommandplay optionone name(Put permanent in play) target(*[-instant;-sorcery]|reveal) moveto(mybattlefield) optiononeend optiontwo choice name(Bottom of library) target(*|reveal) bottomoflibrary and!( all(other *|reveal) bottomoflibrary )! optiontwoend revealend +text=Reveal the top X cards of your library, where X is the greatest mana value of a commander you own on the battlefield or in the command zone. You may put any number of permanent cards from among them onto the battlefield. Put the rest on the bottom of your library in a random order. +mana={6}{G}{G} +type=Sorcery +[/card] +[card] name=Majestic Heliopterus abilities=flying auto=_ATTACKING_target(other creature[dinosaur]|mybattlefield):flying ueot @@ -49990,9 +51495,9 @@ toughness=5 name=Mana Drain target=*|stack auto=fizzle -anyzone=if casted(this) then if compare(hasstorecard)~morethan~0 then if compare(restriction{opponentturnonly}~morethan~0) then transforms((,newability[becomes(,,blue),newability[thisforeach(variable{storedmanacost}>0) phaseaction[my firstmain once]:add{1}])) oneshot -anyzone=if casted(this) then if compare(hasstorecard)~morethan~0 then if compare(restriction{myturnonly}~morethan~0) then if compare(currentphase)~lessthan~4 then transforms((,newability[becomes(,,blue),newability[thisforeach(variable{storedmanacost}>0) phaseaction[my firstmain once]:add{1}])) oneshot -anyzone=if casted(this) then if compare(hasstorecard)~morethan~0 then if compare(restriction{myturnonly}~morethan~0) then if compare(currentphase)~morethan~3 then if compare(currentphase)~lessthan~10 then transforms((,newability[becomes(,,blue),newability[thisforeach(variable{storedmanacost}>0) phaseaction[my secondmain once]:add{1}])) oneshot +anyzone=if casted(this) then if compare(hasstorecard)~morethan~0 then if compare(restriction{opponentturnonly}~morethan~0) then transforms((,newability[becomes(,,blue)],newability[thisforeach(variable{storedmanacost}>0) phaseaction[my firstmain once]:add{1}])) oneshot +anyzone=if casted(this) then if compare(hasstorecard)~morethan~0 then if compare(restriction{myturnonly}~morethan~0) then if compare(currentphase)~lessthan~4 then transforms((,newability[becomes(,,blue)],newability[thisforeach(variable{storedmanacost}>0) phaseaction[my firstmain once]:add{1}])) oneshot +anyzone=if casted(this) then if compare(hasstorecard)~morethan~0 then if compare(restriction{myturnonly}~morethan~0) then if compare(currentphase)~morethan~3 then if compare(currentphase)~lessthan~10 then transforms((,newability[becomes(,,blue)],newability[thisforeach(variable{storedmanacost}>0) phaseaction[my secondmain once]:add{1}])) oneshot anyzone=if casted(this) then if compare(hasstorecard)~morethan~0 then if compare(restriction{myturnonly}~morethan~0) then if compare(currentphase)~morethan~9 then transforms((,newability[becomes(,,blue),newability[thisforeach(variable{storedmanacost}>0) phaseaction[my firstmain once]:add{1}])) oneshot text=Counter target spell. At the beginning of your next main phase, add {X} to your mana pool, where X is that spell's mana value. mana={U}{U} @@ -50001,7 +51506,7 @@ type=Instant [card] name=Mana Geode aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ auto={T}:Add{W} auto={T}:Add{U} auto={T}:Add{B} @@ -50027,7 +51532,7 @@ type=Artifact [/card] [card] name=Mana Vortex -auto=name(Choose one) ability$!name(Sacrifice land) choice name(Sacrifice land) sacrifice target(land|myBattlefield) _ choice name(Sacrifice mana vortex) sacrifice!$ controller +auto=name(Choose one) ability$!name(Sacrifice land) choice name(Sacrifice land) sacrifice notAtarget(land|myBattlefield) _ choice name(Sacrifice mana vortex) sacrifice!$ controller auto=@each opponent upkeep:ability$!name(sacrifice) notatarget(*[land]|mybattlefield) sacrifice !$ opponent auto=@each my upkeep:notatarget(*[land]|mybattlefield) sacrifice auto=aslongas(land|battlefield) sacrifice <1 @@ -50369,8 +51874,7 @@ type=Enchantment [/card] [card] name=Marching Duodrone -auto=_ATTACKING_token(treasure sur) -auto=_ATTACKING_token(treasure sur) opponent +auto=_ATTACKING_all(player) token(treasure sur) text=Whenever Marching Duodrone attacks, each player creates a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") mana={2} type=Artifact Creature @@ -50390,8 +51894,8 @@ toughness=5 [card] name=Marit Lage's Slumber aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) -auto=@movedTo(*[snow]|mybattlefield):_SCRY_(1) +auto=_SCRY1_ +auto=@movedTo(*[snow]|mybattlefield):_SCRY1_ auto=@each my upkeep restriction{type(*[snow]|myBattlefield)~morethan~9}:may sacrifice all(this) && token(Avatar,creature Avatar,20/20,black,flying,indestructible) controller text=Whenever Marit Lage's Slumber or another snow permanent enters the battlefield under your control, scry 1. -- At the beginning of your upkeep, if you control ten or more snow permanents, sacrifice Marit Lage's Slumber. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible. mana={1}{U} @@ -50607,6 +52111,17 @@ power=3 toughness=2 [/card] [card] +name=Marut +abilities=trample +auto=name(Create treasures) token(Treasure Sur)*type:treasure[fresh]:mygraveyard +text=Trample -- When Marut enters the battlefield, if mana from a Treasure was spent to cast it, create a Treasure token for each mana from a Treasure spent to cast it. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +mana={8} +type=Artifact Creature +subtype=Construct +power=7 +toughness=7 +[/card] +[card] name=Marwyn, the Nurturer auto=@movedTo(Elf|myBattlefield):counter(1/1) auto={T}:thisforeach(power>=1) Add{G} @@ -50744,12 +52259,22 @@ toughness=4 [card] name=Massive Might target=creature -auto=transforms((,newability[2/2],newability[trample])) ueot +auto=2/2 +auto=trample text=Target creature gets +2/+2 and gains trample until end of turn. mana={G} type=Instant [/card] [card] +name=Master Chef +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@movedto(other creature|mybattlefield):name(Put 1/1 counter) all(trigger[to]) counter(1/1)])) +auto=@movedto(creature[iscommander]|mybattlefield):name(Put 1/1 counter) all(trigger[to]) counter(1/1) +text=Commander creatures you own have "This creature enters the battlefield with an additional +1/+1 counter on it" and "Other creatures you control enter the battlefield with an additional +1/+1 counter on them." +mana={2}{G} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Master Skald auto=may name(Exile creature) moveTo(Exile) target(creature|mygraveyard) && ability$!name(Put in hand) name(Put in hand) moveto(myhand) target(*[enchantment;artifact]|mygraveyard)!$ controller text=When Master Skald enters the battlefield, you may exile a creature card from your graveyard. If you do, return target artifact or enchantment card from your graveyard to your hand. @@ -50806,7 +52331,7 @@ toughness=1 name=Master of Winds abilities=flying auto=draw:2 && transforms((,newability[target(*|myhand) reject])) forever -auto=movedTo(*[instant;sorcery;wizard]|myStack):name(Choose one) ability$!name(Choose one) choice name(Do nothing) donothing _ choice name(Becomes 4/1) target(Master of Winds|myBattlefield) transforms((,setpower=4,settoughness=1)) ueot _ choice name(Becomes 1/4) target(Master of Winds|myBattlefield) transforms((,setpower=1,settoughness=4)) ueot!$ controller +auto=@movedTo(*[instant;sorcery;wizard]|myStack):name(Choose one) ability$!name(Choose one) choice name(Do nothing) donothing _ choice name(Becomes 4/1) target(Master of Winds|myBattlefield) transforms((,setpower=4,settoughness=1)) ueot _ choice name(Becomes 1/4) target(Master of Winds|myBattlefield) transforms((,setpower=1,settoughness=4)) ueot!$ controller text=Flying -- When Master of Winds enters the battlefield, draw two cards, then discard a card. -- Whenever you cast an instant, sorcery or Wizard spell, you may have Master of Winds's base power and toughness becomes 4/1 or 1/4 until end of turn. mana={2}{U}{U} type=Creature @@ -50891,8 +52416,8 @@ type=Instant [card] name=Mavinda, Students' Advocate abilities=flying -auto={0} restriction{compare(variable{hascntadvocateeffect)~equalto~0}:name(Cast spell that doesn't target your creatures) target(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath],newability[changecost(colorless:8) forcedalive])) ueot && all(this) counter(0/0,1,AdvocateEffect) -auto={0} restriction{compare(variable{hascntadvocateeffect)~equalto~0}:name(Cast spell that target your creatures) target(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot && all(this) counter(0/0,1,AdvocateEffect) +auto={0} restriction{compare(hascntadvocateeffect)~equalto~0}:name(Cast spell that doesn't target your creatures) target(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath],newability[changecost(colorless:8) forcedalive])) ueot && all(this) counter(0/0,1,AdvocateEffect) +auto={0} restriction{compare(hascntadvocateeffect)~equalto~0}:name(Cast spell that target your creatures) target(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot && all(this) counter(0/0,1,AdvocateEffect) auto=@each end:removeallcounters(0/0,1,AdvocateEffect) text=Flying -- {0}: You may cast target instant or sorcery card from your graveyard this turn. If that spell doesn't target a creature you control, it costs 8 more to cast this way. If that spell would be put into your graveyard, exile it instead. Activate only once each turn. (You still pay the spell's costs. Timing rules for the spell still apply.) mana={2}{W} @@ -50974,7 +52499,7 @@ type=Land [card] name=Mazemind Tome aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={T}{C(0/0,1,Page)}:name(Scry 1) _SCRY_(1) +auto={T}{C(0/0,1,Page)}:name(Scry 1) _SCRY1_ auto={2}{T}{C(0/0,1,Page)}:name(Draw 1) draw:1 controller auto=this(counter{0/0.1.Page}>=4) transforms((,newability[moveTo(myExile) all(this)],newability[life:4 controller])) text={T}, Put a page counter on Mazemind Tome: Scry 1. -- {2], {T}, Put a page counter on Mazemind Tome: Draw a card. -- When there are four or more page counters on Mazemind Tome, exile it. If you do, you gain 4 life. @@ -50982,6 +52507,17 @@ mana={2} type=Artifact [/card] [card] +name=Mazzy, Truesword Paladin +auto=@combat(attacking) source(creature[auras>=1]|mybattlefield):name(Creature gets 2/0 and trample) all(trigger[to]) transforms((,newability[2/0],newability[trample])) ueot +auto=@movedto(aura|mygraveyard) from(mybattlefield):name(Can play from exile) all(trigger[to]) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! +text=Whenever an enchanted creature attacks one of your opponents, it gets +2/+0 and gains trample until end of turn. -- Whenever an Aura you control is put into your graveyard from the battlefield, exile it. Until the end of your next turn, you may cast that card. +mana={1}{R}{G}{W} +type=Legendary Creature +subtype=Halfling Knight +power=3 +toughness=4 +[/card] +[card] name=Meddling Mage auto=chooseanameopp transforms((,newability[maxCast(*[chosenname])0 controller],newability[maxCast(*[chosenname])0 opponent])) forever chooseend nonland text=As Meddling Mage enters the battlefield, name a nonland card. -- The named card can't be cast. @@ -51018,7 +52554,7 @@ name=Medomai's Prophecy auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) aicode=activate donothing -auto=_SCRY_(2) +auto=_SCRY2_ auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) chooseaname donothing chooseend auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) transforms((,newability[@movedto(*[lastnamechosen]|mystack) once:draw:1 controller])) ueot auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.4.Lore}) name(Look your top card) reveal:1 optionone name(Look your top card) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(mylibrary) optiontwoend revealend @@ -51126,7 +52662,7 @@ name=Memory Drain target=*|stack auto=fizzle aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Counter target spell. Scry 2. mana={2}{U}{U} type=Instant @@ -51175,7 +52711,7 @@ type=Instant name=Mentor of Evos Isle abilities=flying auto=name(Creature perpetually gains flying) target(creature|myhand) counter(0/0.1.PerpetualFlying) -auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualFlying}]) transforms((,newability[flying])) forever dontremove +auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualFlying}]) transforms((,newability[flying]))])) forever dontremove text=Flying -- When Mentor of Evos Isle enters the battlefield, choose a creature card in your hand. It perpetually gains flying. mana={2}{U} type=Creature @@ -51326,7 +52862,7 @@ toughness=1 name=Merfolk Falconer abilities=flying aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(*[kicked>=1]|myStack):_SCRY_(2) +auto=@movedTo(*[kicked>=1]|myStack):_SCRY2_ text=Flying -- Whenever you cast a kicked spell, scry 2. mana={3}{U}{U} type=Creature @@ -51351,7 +52887,7 @@ other={U} name(Adventure) auto=if paid(alternative) then choice name(Opponent mills 4 cards) name(Opponent mills 4 cards) deplete:4 opponent auto=if paid(alternative) then choice name(You mill 4 cards) name(You mill 4 cards) deplete:4 controller auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever -text=Target player puts the top four cards of their library into their graveyard. (Then exile this card. You may cast the creature later from exile.) +text=Target player mills four cards. (Then exile this card. You may cast the creature later from exile.) mana={U} type=Creature subtype=Merfolk Wizard @@ -51902,7 +53438,7 @@ auto=ability$!name(Discard 2 cards) reject notatarget(<2>*|myHand)!$ opponent auto=deplete:1 opponent auto=life:-1 opponent auto=life:1 controller -text=Target opponent discards two cards, mills a card, and loses 1 life. You gain 1 life. (To a mill a card, a player puts the top card of their library into their graveyard.) +text=Target opponent discards two cards, mills a card, and loses 1 life. You gain 1 life. (To a mill a card, a player mills a card.) mana={2}{B} type=Sorcery [/card] @@ -51984,9 +53520,8 @@ toughness=5 [card] name=Mindwrack Harpy abilities=Flying -auto=@each my combatbegins:deplete:3 controller -auto=@each my combatbegins:deplete:3 opponent -text=Flying -- At the beginning of combat on your turn, each player puts the top three cards of their library into their graveyard. +auto=@each my combatbegins:all(player) deplete:3 +text=Flying -- At the beginning of combat on your turn, each player mills three cards. mana={3}{B} type=Enchantment Creature subtype=Harpy @@ -52066,7 +53601,7 @@ subtype=Aura [/card] [card] name=Ministrant of Obligation -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying)*2 +auto=_DIES__AFTERLIFETOKEN_*2 text=Afterlife 2 (When this creature dies, create two 1/1 white and black Spirit creature tokens with flying.) mana={2}{W} type=Creature @@ -52136,6 +53671,37 @@ power=3 toughness=3 [/card] [card] +name=Minthara, Merciless Soul +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~1}:choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentzones) transforms((,newability[pay[[1]] name(pay 1 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~2}:choice name(This spell costs 2 more) name(This spell costs 2 more) target(*|opponentzones) transforms((,newability[pay[[2]] name(pay 2 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~3}:choice name(This spell costs 3 more) name(This spell costs 3 more) target(*|opponentzones) transforms((,newability[pay[[3]] name(pay 3 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~4}:choice name(This spell costs 4 more) name(This spell costs 4 more) target(*|opponentzones) transforms((,newability[pay[[4]] name(pay 4 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~5}:choice name(This spell costs 5 more) name(This spell costs 5 more) target(*|opponentzones) transforms((,newability[pay[[5]] name(pay 5 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~6}:choice name(This spell costs 6 more) name(This spell costs 6 more) target(*|opponentzones) transforms((,newability[pay[[6]] name(pay 6 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~7}:choice name(This spell costs 7 more) name(This spell costs 7 more) target(*|opponentzones) transforms((,newability[pay[[7]] name(pay 7 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~8}:choice name(This spell costs 8 more) name(This spell costs 8 more) target(*|opponentzones) transforms((,newability[pay[[8]] name(pay 8 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~9}:choice name(This spell costs 9 more) name(This spell costs 9 more) target(*|opponentzones) transforms((,newability[pay[[9]] name(pay 9 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~10}:choice name(This spell costs 10 more) name(This spell costs 10 more) target(*|opponentzones) transforms((,newability[pay[[10]] name(pay 10 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~11}:choice name(This spell costs 11 more) name(This spell costs 11 more) target(*|opponentzones) transforms((,newability[pay[[11]] name(pay 11 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~12}:choice name(This spell costs 12 more) name(This spell costs 12 more) target(*|opponentzones) transforms((,newability[pay[[12]] name(pay 12 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~13}:choice name(This spell costs 13 more) name(This spell costs 13 more) target(*|opponentzones) transforms((,newability[pay[[13]] name(pay 13 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~14}:choice name(This spell costs 14 more) name(This spell costs 14 more) target(*|opponentzones) transforms((,newability[pay[[14]] name(pay 14 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~15}:choice name(This spell costs 15 more) name(This spell costs 15 more) target(*|opponentzones) transforms((,newability[pay[[15]] name(pay 15 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~16}:choice name(This spell costs 16 more) name(This spell costs 16 more) target(*|opponentzones) transforms((,newability[pay[[16]] name(pay 16 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~17}:choice name(This spell costs 17 more) name(This spell costs 17 more) target(*|opponentzones) transforms((,newability[pay[[17]] name(pay 17 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~18}:choice name(This spell costs 18 more) name(This spell costs 18 more) target(*|opponentzones) transforms((,newability[pay[[18]] name(pay 18 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~19}:choice name(This spell costs 19 more) name(This spell costs 19 more) target(*|opponentzones) transforms((,newability[pay[[19]] name(pay 19 mana) donothing?fizzle])) oneshot +auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~morethan~19}:choice name(This spell costs 20 more) name(This spell costs 20 more) target(*|opponentzones) transforms((,newability[pay[[20]] name(pay 20 mana) donothing?fizzle])) oneshot +auto=@each my endofturn restriction{revolt}:name(Put experience counter) counter(0/0,1,Experience) +auto=thisforeach(counter{0/0.1.Experience}) lord(other creature|mybattlefield) 1/0 +text=Ward {X}, where X is the number of experience counters you have. -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, you get an experience counter. -- Creatures you control get +1/+0 for each experience counter you have. +mana={2}{W}{B} +type=Legendary Creature +subtype=Elf Cleric +power=2 +toughness=2 +[/card] +[card] name=Miracle Worker auto={T}:destroy target(aura) text={T}: Destroy target Aura attached to a creature you control. @@ -52195,7 +53761,7 @@ name=Mirran Banesplitter abilities=flash auto=name(Attach to creature) rehook target(creature|mybattlefield) auto=teach(creature) 2/0 -auto={3}:equip +auto={3}:equip text=Flash -- When Mirran Banesplitter enters the battlefield, attach it to target creature you control. -- Equipped creature gets +2/+0. -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) mana={R} type=Artifact @@ -52271,6 +53837,13 @@ type=Artifact subtype=Equipment [/card] [card] +name=Mirror of Life Trapping +auto=@movedTo(creature|battlefield):name(Exile creature) name(Exile creature) all(trigger[to]) transforms((,newability[if casted(this) then moveto(exile) and!( transforms((,newability[counter(0/0.1.MirrorExiled) notrg],newability[all(other creature[counter{0/0.1.MirrorExiled}]|exile) moveto(ownerbattlefield)])) oneshot )!])) oneshot +text=Whenever a creature enters the battlefield, if it was cast, exile it, then return all other permanent cards exiled with Mirror of Life Trapping to the battlefield under their owners' control. +mana={4} +type=Artifact +[/card] +[card] name=Mirror of the Forebears auto=chooseatype transforms((,newability[{1}:name(Becomes copy) target(creature[chosentype]|myBattlefield) copy and!( all(this) transforms((Artifact,newability[phaseaction[endofturn once] flip(Mirror of the Forebears) undocpy])) forever )!])) forever chooseend text=As Mirror of the Forebears enters the battlefield, choose a creature type. -- {1}: Until end of turn, Mirror of the Forebears becomes a copy of target creature you control of the chosen type, except it's an artifact in addition to its other types. @@ -52349,7 +53922,7 @@ toughness=1 name=Mischievous Chimera abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedto(*|mystack) restriction{opponentturnonly,thisturn(*|mystack)~equalto~0}:damage:1 opponent && _SCRY_(1) +auto=@movedto(*|mystack) restriction{opponentturnonly,thisturn(*|mystack)~equalto~0}:damage:1 opponent && _SCRY1_ text=Flying -- Whenever you cast your first spell during each opponent's turn, Mischievous Chimera deals 1 damage to each opponent. Scry 1. mana={U}{R} type=Enchantment Creature @@ -52516,6 +54089,16 @@ text={T}: Add {U}. // Hengegate Pathway type=Land [/card] [card] +name=Mistmeadow Vanisher +auto=@tapped(this):may (blink)ueot target(*[-land;-token]|battlefield) +text=Whenever Mistmeadow Vanisher becomes tapped, exile up to one target nonland, nontoken permanent. Return that card to the battlefield under its owner's control at the beginning of the next end step. +mana={2}{WU} +type=Creature +subtype=Kithkin Wizard +power=3 +toughness=2 +[/card] +[card] name=Mistmoon Griffin abilities=flying auto=_DIES_moveto(myexile) all(this) @@ -52664,6 +54247,17 @@ text={T}: Add {C}. -- {4}: Mobilized District becomes a 3/3 Citizen creature wit type=Land [/card] [card] +name=Mocking Doppelganger +abilities=flash +auto=may name(Clone a creature) target(creature|opponentBattlefield) clone and!( transforms((,newability[lord(other creature[share!name!]|battlefield) transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack]))])) forever )! +text=Flash -- You may have Mocking Doppelganger enter the battlefield as a copy of a creature an opponent controls, except it has "Other creatures with the same name as this creature are goaded." (They attack each combat if able and attack a player other than you if able.) +mana={3}{U} +type=Creature +subtype=Shapeshifter +power=0 +toughness=0 +[/card] +[card] name=Moderation auto=maxCast(*)1 auto=@movedTo(*|mystack):name(Draw a card) draw:1 controller @@ -52672,6 +54266,15 @@ mana={1}{W}{U} type=Enchantment [/card] [card] +name=Modify Memory +target=creature|opponentbattlefield +restriction=type(creature|mybattlefield)~morethan~0 +auto=moveto(mybattlefield) and!( transforms((,newability[name(Exchange your creature) target(other creature|mybattlefield) moveto(opponentbattlefield)])) oneshot )! +text=Exchange control of two target creatures controlled by different players. If you control neither creature, draw three cards. +mana={4}{U} +type=Sorcery +[/card] +[card] name=Mogg Infestation target=player auto=all(creature|targetedpersonsbattlefield) destroy and!( if cantargetcard(creature|graveyard) then _GOBLINTOKEN_*2 targetedplayerbattlefield)! @@ -52703,6 +54306,17 @@ power=7 toughness=5 [/card] [card] +name=Moira and Teshar +abilities=flying +auto=_CASTHISTORIC_target(*[-land;-instant;-sorcery]|mygraveyard) moveTo(mybattlefield) and!( transforms((,newability[haste],newability[unearth],newability[exiledeath])) forever )! +text=Flying -- Whenever you cast a historic spell, return target nonland permanent card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step. If it would leave the battlefield, exile it instead of putting it anywhere else. (Artifacts, legendaries, and Sagas are historic.) +mana={3}{W}{B} +type=Legendary Creature +subtype=Phyrexian Spirit Bird +power=4 +toughness=5 +[/card] +[card] name=Moira, Urborg Haunt abilities=menace auto=@combatdamaged(player) from(this):moveTo(battlefield) target(creature[fresh]|myGraveyard) @@ -52782,8 +54396,7 @@ type=Instant name=Molten Disaster kicker={R} autostack=if paid(kicker) then transforms((,newability[split second])) forever -auto=damage:x opponent -auto=damage:x controller +auto=damage:x all(player) auto=damage:x all(creature[-flying]|battlefield) text=Kicker {R} (You may pay an additional {R} as you cast this spell.) -- If Molten Disaster was kicked, it has split second. (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.) -- Molten Disaster deals X damage to each creature without flying and each player. mana={X}{R}{R} @@ -52945,6 +54558,18 @@ power=1 toughness=1 [/card] [card] +name=Monster Manual // Zoological Study +abilities=adventure +restriction=can play creature +other={2}{G} name(Adventure) +auto=if paid(alternative) then name(Mill 5 cards) name(Mill 5 cards) transforms((,newability[deplete:5 controller],newability[name(Return creature) target(creature[zpos>=type:*mygraveyardminus5minusend]|mygraveyard) moveto(myhand)])) oneshot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto={1}{G}{T}:name(Put creature in play) target(creature|myhand) moveto(mybattlefield) +text={1}{G}, {T}: You may put a creature card from your hand onto the battlefield. // Mill five cards, then return a creature card milled this way to your hand. (Then exile this card. You may cast the artifact later from exile.) +mana={3}{G} +type=Artifact +[/card] +[card] name=Monstrous Onslaught auto=if compare(power:highest:*:mybattlefield)~equalto~1 then ability$!name(Choose a creature) damage:1 target(creature)!$ controller auto=if compare(power:highest:*:mybattlefield)~equalto~2 then thisforeach(variable{2}) ability$!name(Choose a creature) damage:1 target(creature)!$ controller @@ -53044,7 +54669,7 @@ toughness=2 [card] name=Moonfolk Puzzlemaker abilities=flying -auto=@tapped(this):_SCRY_(1) +auto=@tapped(this):_SCRY1_ text=Flying -- Whenever Moonfolk Puzzlemaker becomes tapped, scry 1. mana={2}{U} type=Artifact Creature @@ -53108,6 +54733,21 @@ mana={2}{R} type=Instant [/card] [card] +name=Moonshae Pixie // Pixie Dust +abilities=flying,adventure,asflash +restriction=can play creature +other={1}{U} name(Adventure) +auto=if paid(alternative) then may name(Creatures gain flying) name(Creatures gain flying) target(creature|battlefield) transforms((,newability[flying])) ueot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=ifnot paid(alternative) then if opponentdamagedbycombat then name(Draw a card) name(Draw a card) name(Draw a card) draw:1 controller +text=Flying -- When Moonshae Pixie enters the battlefield, draw cards equal to the number of opponents who were dealt combat damage this turn. // Up to three target creatures gain flying until end of turn. (Then exile this card. You may cast the creature later from exile.) +mana={3}{U} +type=Creature +subtype=Faerie +power=2 +toughness=2 +[/card] +[card] name=Moonsilver Key auto={1}{T}{S}:name(Search land) target(land[basic]|mylibrary) moveto(myhand) and!( shuffle )! auto={1}{T}{S}:name(Search artifact) target(artifact|mylibrary) moveto(myhand) and!( shuffle )! @@ -53185,7 +54825,7 @@ toughness=6 [/card] [card] name=Morbid Opportunist -auto=@movedto(creature|graveyard) from(battlefield) turnlimited:name(Draw a card) draw:1 controller +auto=@movedto(other creature|graveyard) from(battlefield) turnlimited:name(Draw a card) draw:1 controller text=Whenever one or more other creatures die, draw a card. This ability triggers only once each turn. mana={2}{B} type=Creature @@ -53530,6 +55170,15 @@ power=0 toughness=0 [/card] [card] +name=Multiclass Baldric +auto=teach(creature) transforms((,newability[aslongas(cleric|myBattlefield) lifelink],newability[aslongas(rogue|myBattlefield) deathtouch],newability[aslongas(warrior|myBattlefield) haste],newability[aslongas(wizard|myBattlefield) flying],newability[this(variable{calculateparty}>3) preventalldamage to(this)])) +auto={2}:equip +text=Equipped creature has lifelink if you control a Cleric, deathtouch if you control a Rogue, haste if you control a Warrior, and flying if you control a Wizard. -- As long as you have a full party, prevent all damage that would be dealt to equipped creature. -- Equip {2} +mana={1} +type=Artifact +subtype=Equipment +[/card] +[card] name=Multiple Choice aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=this(X=1) name(Scry 1) scry:1 scrycore delayed dontshow draw:1 controller scrycoreend scryend @@ -53817,7 +55466,7 @@ toughness=1 [/card] [card] name=Myr Custodian -auto=_SCRY_(2) && ability$!name(scry 1) scry:$c scrycore delayed dontshow donothing scrycoreend scryend!$ opponent +auto=_SCRY2_ && ability$!name(scry 1) scry:$c scrycore delayed dontshow donothing scrycoreend scryend!$ opponent text=When Myr Custodian enters the battlefield, scry 2. Then each opponent may scry 1. (To scry X, that player looks at the top X cards of their library, then put any number of them on the bottom and the rest on top in any order.) mana={3} type=Artifact Creature @@ -53867,6 +55516,33 @@ power=4 toughness=4 [/card] [card] +name=Myrkul's Edict +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(1) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(2) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(3) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(4) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(5) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(6) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(7) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(8) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(9) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(10) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(11) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(12) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(13) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(14) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(15) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(16) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(17) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(18) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(19) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent])) oneshot +auto=all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(20) from(controller) once:ability$!name(sacrifice a creature) name(sacrifice a creature) notatarget(creature[power=power:highest:creature:myBattlefield]) sacrifice!$ opponent])) oneshot +auto=name(Roll a d20) rolld20 20 winability donothing controller winabilityend rolld20end +text=Roll a d20. -- 1-9 | Choose an opponent. That player sacrifices a creature. -- 10-19 | Each opponent sacrifices a creature. -- 20 | Each opponent sacrifices a creature with the greatest power among creatures that player controls. +mana={1}{B} +type=Sorcery +[/card] +[card] name=Myrkul's Invoker auto=name(Psychic Blades) {8}:all(creature|myBattlefield) transforms((,newability[2/0],newability[menace])) ueot text=Psychic Blades - {8}: Creatures you control get +2/+0 and gain menace until end of turn. (A creature with menace can't be blocked except by two or more creatures.) @@ -53877,6 +55553,17 @@ power=2 toughness=3 [/card] [card] +name=Myrkul, Lord of Bones +auto=this(controllerlife <= halfsuptartinglife) indestructible +auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):may name(Exile and copy) all(trigger[to]) moveto(myexile) and!( clone and!( transforms((removetypes,newability[becomes(enchantment)])) )! )! +text=As long as your life total is less than or equal to half your starting life total, Myrkul, Lord of Bones has indestructible. -- Whenever another nontoken creature you control dies, you may exile it. If you do, create a token that's a copy of that card, except it's an enchantment and loses all other card types. +mana={4}{W}{B}{G} +type=Legendary Creature +subtype=God +power=7 +toughness=5 +[/card] +[card] name=Mysterious Egg auto=@mutated(this):counter(1/1) text=Whenever this creature mutates, put a +1/+1 counter on it. @@ -53968,7 +55655,7 @@ toughness=6 [card] name=Mystic Redaction aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@each my upkeep:_SCRY_(1) +auto=@each my upkeep:_SCRY1_ auto=@discarded(*|myHand):deplete:2 opponent text=At the beginning of your upkeep, scry 1. -- Whenever you discard a card, each opponent mills two cards. (They put the top two cards of their library into their graveyard.) mana={2}{U} @@ -54034,6 +55721,19 @@ type=Enchantment subtype=Aura [/card] [card] +name=Mystic Veil +abilities=asflash +other={1}{U} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +target=creature +auto=teach(creature) shroud +text=You may cast Mystic Veil as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature has shroud. (It can't be the target of spells or abilities.) +mana={1}{U} +type=Enchantment +subtype=Aura +[/card] +[card] name=Mystical Dispute other={U} name(Counter Blue) auto=if paid(alternative) then name(counter blue spell) target(*[blue]|stack) transforms((,newability[pay[[{3}]] name(pay 3 mana) donothing?fizzle])) forever @@ -54224,6 +55924,18 @@ power=1 toughness=1 [/card] [card] +name=Nalfeshnee +abilities=flying +auto=@movedTo(*[sorcery;instant]|mystack) from(myexile):name(Copy spell) all(trigger[to]) activate castcard(copied noevent) +auto=@movedTo(*[-sorcery;-instant]|mystack) from(myexile):name(Copy spell) all(trigger[to]) clone with(treason,haste) +text=Flying -- Whenever you cast a spell from exile, copy it. You may choose new targets for the copy. If it's a permanent spell, the copy gains haste and "At the beginning of the end step, sacrifice this permanent." (A copy of a permanent spell becomes a token.) +mana={5}{R} +type=Creature +subtype=Beast Demon +power=4 +toughness=6 +[/card] +[card] name=Nalia de'Arnise abilities=showfromtoplibrary auto=aslongas(Cleric[zpos=1]|mylibrary) canplayfromlibrarytop >0 @@ -54365,7 +56077,7 @@ type=Instant [/card] [card] name=Nature's Way -target=creature +target=creature|myBattlefield auto=vigilance ueot auto=trample ueot auto=transforms((,newability[dynamicability target(creature|opponentBattlefield)])) forever @@ -54374,6 +56086,28 @@ mana={1}{G} type=Sorcery [/card] [card] +name=Nautiloid Ship +abilities=flying +auto={crew(other creature[power>=3]|myBattlefield)}:name(crew 3 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=3]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~2} +auto={crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=2]|myBattlefield)}:name(crew 3 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0,type(other creature[-tapped;-cantcrew]|mybattlefield)~morethan~1,compare(crewtotalpower)~morethan~2} +auto={crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=1]|myBattlefield)}:name(crew 3 [3 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~2,compare(crewtotalpower)~morethan~2} +auto=name(Exile graveyard) transforms((,newability[choice name(Exile opponent graveyard) all(*|opponentgraveyard) moveto(exile) and!( counter(0/0.1.NautiloidExiled) )!],newability[choice name(Exile your graveyard) all(*|mygraveyard) moveto(exile) and!( counter(0/0.1.NautiloidExiled) )!])) oneshot +auto=@combatdamaged(player) from(this):may name(Put creature in play) target(creature[counter{0/0.1.NautiloidExiled}]|exile) moveto(mybattlefield) +text=Flying -- When Nautiloid Ship enters the battlefield, exile target player's graveyard. -- Whenever Nautiloid Ship deals combat damage to a player, you may put a creature card exiled with Nautiloid Ship onto the battlefield under your control. -- Crew 3 +mana={4} +type=Artifact +subtype=Vehicle +power=5 +toughness=5 +[/card] +[card] +name=Navigation Orb +auto={2}{T}{S}:name(Put land or gate in play) target(land[basic;gate]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[may name(Put land or gate in hand) target(land[basic;gate]|mylibrary) moveto(myhand)])) oneshot )! +text={2}, {T}, Sacrifice Navigation Orb: Search your library for up to two basic land cards and/or Gate cards, reveal those cards, put one onto the battlefield tapped and the other into your hand, then shuffle. +mana={3} +type=Artifact +[/card] +[card] name=Navigator's Compass auto=life:3 controller auto={T}:ueot name(land becomes a plains) transforms((plains)) target(land|mybattlefield) @@ -54388,7 +56122,7 @@ type=Artifact [card] name=Navigator's Ruin auto=@each my endofturn restriction{raid}:deplete:4 opponent -text=Raid - At the beginning of your end step, if you attacked with a creature this turn, target opponent puts the top four cards of his or her library into his or her graveyard. +text=Raid - At the beginning of your end step, if you attacked with a creature this turn, target opponent mills four cards. mana={2}{U} type=Enchantment [/card] @@ -54673,6 +56407,17 @@ text={T}: Add {R}. // Pillarverge Pathway type=Land [/card] [card] +name=Neera, Wild Mage +aicode=activate transforms((,newability[all(*[zpos=findfirsttypenonland]|mylibrary) activate castcard(normal) and!( all(*[zpos<=findfirsttypenonland]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot +auto=@movedTo(*|mystack) restriction{thisturn(*|mystack)~equalto~0}:may name(Put on bottom) all(trigger[to]) bottomoflibrary and!( transforms((,newability[name(Reveal non-land card) reveal:1 revealzone(mylibrary) revealuntil(*[-land]|mylibrary) optionone choice name(Cast card) target(*[-land]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo choice name(Put on bottom) target(<1>*|reveal) transforms((,newability[all(*|reveal) bottomoflibrary])) oneshot optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!( activate castcard(normal) )! afterrevealedend revealend])) ueot )! +text=Whenever you cast a spell, you may put it on the bottom of its owner's library. If you do, reveal cards from the top of your library until you reveal a nonland card. You may cast that card without paying its mana cost. Then put all revealed cards not cast this way on the bottom of your library in a random order. This ability triggers only once each turn. +mana={4}{U}{R} +type=Legendary Creature +subtype=Human Elf Shaman +power=2 +toughness=7 +[/card] +[card] name=Nef-Crop Entangler abilities=trample auto=@exerted(this):1/2 ueot @@ -54685,6 +56430,17 @@ power=2 toughness=1 [/card] [card] +name=Nefarious Imp +abilities=flying +auto=@movedto(*|nonbattlezone) from(mybattlefield) turnlimited:name(Scry 1) _SCRY1_ +text=Flying -- Whenever one or more permanents you control leave the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) +mana={2}{B} +type=Creature +subtype=Imp +power=2 +toughness=1 +[/card] +[card] name=Neheb, Dreadhorde Champion abilities=trample auto=@combatdamaged(player,planeswalker) from(this):may target(*|myhand) reject && draw:1 controller && Add{R} doesntempty @@ -54712,7 +56468,7 @@ name=Neheb, the Worthy abilities=first strike auto=lord(minotaur|mybattlefield) first strike auto=aslongas(*|myhand) lord(minotaur|mybattlefield) 2/0 <2 -auto=@combatdamaged(player) from(this):ability$!target(*|myhand) reject$! opponent +auto=@combatdamaged(player) from(this):ability$!target(*|myhand) reject!$ opponent auto=@combatdamaged(player) from(this):transforms((,newability[target(*|myhand) reject])) forever text=First strike -- Other Minotaurs you control have first strike. -- As long as you have one or fewer cards in hand, Minotaurs you control get +2/+0. -- Whenever Neheb, the Worthy deals combat damage to a player, each player discards a card. mana={1}{B}{R} @@ -54873,6 +56629,18 @@ power=1 toughness=1 [/card] [card] +name=Nesting Dovehawk +abilities=flying +auto=@each my combatbegins:_POPULATE_ +auto=@movedTo(creature[token]|myBattlefield):counter(1/1) +text=Flying -- At the beginning of combat on your turn, populate. (Create a token that's a copy of a creature token you control.) -- Whenever a creature token enters the battlefield under your control, put a +1/+1 counter on Nesting Dovehawk. +mana={3}{W} +type=Creature +subtype=Bird +power=2 +toughness=2 +[/card] +[card] name=Nesting Dragon abilities=flying auto=_LANDFALL_token(dragon egg) @@ -55099,8 +56867,8 @@ type=Instant [card] name=Neyith of the Dire Hunt auto=@combat(blocked) source(creature|mybattlefield) turnlimited:name(Draw a card) draw:1 controller -auto=@damaged(creature) from(creature[-attacking]|mybattlefield) turnlimited:may name(Draw a card) draw:1 controller -auto=@each my combatbegins:name(Pay and double creature's power) pay({2}{RG}) name(Pay and double creature's power) target(creature) transforms((,newability[p/0],newability[all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) ueot +auto=@damaged(creature) from(creature[-attacking;-blocking]|mybattlefield) turnlimited:may name(Draw a card) draw:1 controller +auto=@each my combatbegins:name(Pay and double creature's power) pay({2}{RG}) name(Pay and double creature's power) target(creature) transforms((,newability[p/0],_MUST_BE_BLOCKD_)) ueot text=Whenever one or more creatures you control fight or become blocked, draw a card. -- At the beginning of combat on your turn, you may pay {2}{R} or {G}. If you do, double target creature's power until end of turn. That creature must be blocked this combat if able. ( {R} or {G} can be paid with either {R} or {G}.) mana={2}{G}{G} type=Legendary Creature @@ -55137,8 +56905,7 @@ abilities=menace backside=Hideous Fleshwheeler restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) -auto=deplete:3 controller -auto=deplete:3 opponent +auto=all(player) deplete:3 auto={5}{p(W)}:flip(backside) asSorcery text=Menace -- When Nezumi Freewheeler enters the battlefield, each player mills three cards. (To mill a card, put the top card of your library into your graveyard.) -- {5}{W/P}: Transform Nezumi Freewheeler. Activate only as a sorcery. ({W/P} can be paid with either {W} or 2 life.) mana={3}{B} @@ -55631,6 +57398,19 @@ mana={1}{W}{W} type=Enchantment [/card] [card] +name=Nine-Fingers Keene +abilities=menace +aicode=activate transforms((,newability[if type(*[gate;zpos<=9]|mylibrary)~morethan~0 then target(*[gate;zpos<=9]|mylibrary) moveto(mybattlefield) and!( if type(*[gate]|mybattlefield)~morethan~8 then all(*[zpos<=9]|mylibrary) moveto(myhand) else all(*[zpos<=9]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!],newability[if type(*[gate;zpos<=9]|mylibrary)~equalto~0 then if type(*[gate]|mybattlefield)~morethan~8 then all(*[zpos<=9]|mylibrary) moveto(myhand) else all(*[zpos<=9]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) ueot +auto=combatdamaged(player) from(this):name(Look top 9 cards) reveal:9 optionone name(Put gate in play) target(*[gate]|reveal) moveto(mybattlefield) optiononeend optiontwo if type(*[gate]|mybattlefield)~morethan~8 then name(Put in hand) all(*|myreveal) moveto(myhand) else name(Put On Bottom) target(*|reveal) bottomoflibrary and!( all(*|myreveal) bottomoflibrary )! bottomoflibrary optiontwoend revealend +auto=@targeted(*[iscommander]|mybattlefield) from(*[instant;sorcery]|opponentzones):choice name(This spell costs 9 life more) name(This spell costs 9 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:9}]] name(pay 9 life) donothing?fizzle])) oneshot +text=Menace -- Ward-Pay 9 life. -- Whenever Nine-Fingers Keene deals combat damage to a player, look at the top nine cards of your library. You may put a Gate card from among them onto the battlefield. Then if you control nine or more Gates, put the rest into your hand. Otherwise, put the rest on the bottom of your library in a random order. +mana={1}{B}{G}{U} +type=Legendary Creature +subtype=Human Rogue +power=4 +toughness=4 +[/card] +[card] name=Nine-Tail White Fox auto=@combatdamaged(player) from(this):draw:1 controller text=Whenever Nine-Tail White Fox deals combate damage to a player, draw a card. @@ -55683,9 +57463,8 @@ toughness=3 [/card] [card] name=Nissa's Defeat -target=Forest, green enchantment,,green planeswalker -auto=destroy -auto=if type(nissa|opponentbattlefield)~morethan~0 draw:1 +auto=choice name(Destroy Forest) destroy target(forest) +auto=choice name(Destroy green enchantment, or green planeswalker) destroy target(*[enchantment;planeswalker;green]) and!(if cantargetcard(*[nissa]|*) then draw:1 controller)! text=Destroy target Forest, green enchantment, or green planeswalker. If that permanent was a Nissa planeswalker, draw a card. mana={2}{G} type=Sorcery @@ -55766,7 +57545,7 @@ name=No Escape target=*[creature;planeswalker]|stack auto=fizzleto(exile) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Counter target creature or planeswalker spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. -- Scry 1. mana={2}{U} type=Instant @@ -55846,7 +57625,7 @@ toughness=4 [card] name=Norn's Wellspring auto=@movedTo(creature|graveyard) from(mybattlefield):counter(0/0,1,oil) -auto=@movedTo(creature|graveyard) from(mybattlefield):_SCRY_(1) +auto=@movedTo(creature|graveyard) from(mybattlefield):_SCRY1_ auto={1}{T}{C(0/0,-2,oil)}:draw:1 text=Whenever a creature you control dies, scry 1 and put an oil counter on Norn's Wellspring. -- {1}, {T}, Remove two oil counters from Norn's Wellspring: Draw a card. mana={1}{W} @@ -55868,6 +57647,36 @@ mana={G}{G} type=Sorcery [/card] [card] +name=Nothic +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(1) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(2) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(3) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(4) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(5) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(6) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(7) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(8) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(9) from(controller) once:name(Draw 1 card) draw:1 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(10) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(11) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(12) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(13) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(14) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(15) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(16) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(17) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(18) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(19) from(controller) once:name(Draw 2 cards) draw:2 controller])) oneshot +auto=all(*[zpos=8]|mylibrary) transforms((,newability[@dierolled(this|mylibrary) result(20) from(controller) once:name(Draw 7 cards) draw:7 controller])) oneshot +auto=_DIES_name(Roll a d20) rolld20 20 winability life:-7 controller winabilityend loseability if compare(lastrollresult)~lessthan~10 then life:-1 controller else life:-2 controller loseabilityend rolld20end +text=Weird Insight - When Nothic dies, roll a d20. -- 1-9 | You draw a card and you lose 1 life. -- 10-19 | You draw two cards and you lose 2 life. -- 20 | You draw seven cards and you lose 7 life. +mana={4}{B} +type=Creature +subtype=Horror +power=4 +toughness=3 +[/card] +[card] name=Notion Rain aicode=activate transforms((,newability[surveil],newability[draw:2 controller],newability[damage:2 controller])) oneshot auto=name(surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed damage:2 controller && draw:2 controller && surveil afterrevealedend revealend @@ -56068,7 +57877,7 @@ toughness=3 [card] name=Nylea's Intervention abilities=hiddenface -aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=X]|mylibrary) && shuffle ueot +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=X]|mylibrary) && shuffle])) ueot auto=Choice name(Look X cards) reveal:X optionone name(Get a card) target(<1>*[land]|reveal) moveto(myhand) optiononeend revealend && shuffle auto=Choice name(Deals X damage) damage:X all(creature[flying]) && damage:X all(creature[flying]) text=Choose one -- Search your library for up to X land cards, reveal them, put them into your hand, then shuffle your library. -- Nylea's Intervention deals twice X damage to each creature with flying. @@ -56565,7 +58374,7 @@ toughness=8 [card] name=Octoprophet aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=When Octoprophet enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3}{U} type=Creature @@ -56666,7 +58475,7 @@ type=Enchantment name=Oggyar Battle-Seer abilities=haste aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={T}:_SCRY_(1) +auto={T}:_SCRY1_ text=Haste -- {T}: Scry 1. mana={3}{U}{R} type=Creature @@ -56762,7 +58571,7 @@ toughness=4 [/card] [card] name=Oji, the Exquisite Blade -auto=life:2 && _SCRY_(2) +auto=life:2 && _SCRY2_ auto=@movedto(*|mystack) restriction{thisturn(*|mystack)~equalto~1}:may target(creature|myBattlefield) moveto(exile) and!(moveto(ownerbattlefield))! text=When Oji, the Exquisite Blade enters the battlefield, you gain 2 life and scry 2. -- Whenever you cast your second spell each turn, exile up to one target creature you control, then return it to the battlefield under its owner's control. mana={2}{W}{U} @@ -56773,9 +58582,9 @@ toughness=3 [/card] [card] name=Ojutai's Command -auto=choice name(Choose 1 and 2) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield && life:4 controller -auto=choice name(Choose 1 and 3) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield and!( transforms((,newability[name(Counter spell) fizzle target(*|stack)])) oneshot )! -auto=choice name(Choose 1 and 4) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield && draw:1 controller +auto=choice name(Choose 1 and 2) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield) && life:4 controller +auto=choice name(Choose 1 and 3) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[name(Counter spell) fizzle target(*|stack)])) oneshot )! +auto=choice name(Choose 1 and 4) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield) && draw:1 controller auto=choice name(Choose 2 and 3) life:4 controller && fizzle target(*|stack) auto=choice name(Choose 2 and 4) life:4 controller && draw:1 controller auto=choice name(Choose 3 and 4) fizzle target(*|stack) && draw:1 controller @@ -56992,8 +58801,8 @@ toughness=5 [card] name=Omen of Fire auto=moveTo(ownerhand) all(island) -auto=foreach(*[white]|mybattlefield) name(Choose one) ability$!name(Sacrifice plains) choice name(Sacrifice plains) sacrifice target(plains|mybattlefield) _ choice name(Sacrifice white permanent) sacrifice notatarget(*[white]|mybattlefield)!$ controller -auto=foreach(*[white]|opponentBattlefield) name(Choose one) ability$!name(Sacrifice plains) choice name(Sacrifice plains) sacrifice target(plains|mybattlefield) _ choice name(Sacrifice white permanent)sacrifice notatarget(*[white]|mybattlefield)!$ opponent +auto=foreach(*[white]|mybattlefield) name(Choose one) ability$!name(Sacrifice plains) choice name(Sacrifice plains) sacrifice notAtarget(plains|mybattlefield) _ choice name(Sacrifice white permanent) sacrifice notatarget(*[white]|mybattlefield)!$ controller +auto=foreach(*[white]|opponentBattlefield) name(Choose one) ability$!name(Sacrifice plains) choice name(Sacrifice plains) sacrifice notAtarget(plains|mybattlefield) _ choice name(Sacrifice white permanent)sacrifice notatarget(*[white]|mybattlefield)!$ opponent text=Return all Islands to their owners' hands. -- Each player sacrifices a Plains or a white permanent for each white permanent he or she controls. mana={3}{R}{R} type=Instant @@ -57003,7 +58812,7 @@ name=Omen of the Dead abilities=flash auto=moveto(myHand) target(creature|myGraveyard) aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={2}{W}{S}:_SCRY_(2) +auto={2}{W}{S}:_SCRY2_ text=Flash -- When Omen of the Dead enters the battlefield, return target creature card from your graveyard to your hand. -- {2}{B}, Sacrifice Omen of the Dead: Scry 2. mana={B} type=Enchantment @@ -57013,7 +58822,7 @@ name=Omen of the Forge abilities=flash aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=damage:2 target(player,creature,planeswalker) -auto={2}{R}{S}:_SCRY_(2) +auto={2}{R}{S}:_SCRY2_ text=Flash -- When Omen of the Forge enters the battlefield, it deals 2 damage to any target. -- {2}{R}, Sacrifice Omen of the Forge: Scry 2. mana={1}{R} type=Enchantment @@ -57023,7 +58832,7 @@ name=Omen of the Hunt abilities=flash aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=may name(Search a basic land) target(land[basic]|mylibrary) moveto(myBattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle])) oneshot )! -auto={2}{G}{S}:_SCRY_(2) +auto={2}{G}{S}:_SCRY2_ text=Flash -- When Omen of the Hunt enters the battlefield, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. -- {2}{G}, Sacrifice Omen of the Hunt: Scry 2. mana={2}{G} type=Enchantment @@ -57033,7 +58842,7 @@ name=Omen of the Sea abilities=flash aicode=activate transforms((,newability[draw:1 controller])) oneshot auto=scry:2 scrycore delayed draw:1 controller scrycoreend scryend -auto={2}{U}{S}:_SCRY_(2) +auto={2}{U}{S}:_SCRY2_ text=Flash -- When Omen of the Sea enters the battlefield, scry 2, then draw a card. -- {2}{U}, Sacrifice Omen of the Sea: Scry 2. mana={1}{U} type=Enchantment @@ -57044,7 +58853,7 @@ abilities=flash auto=token(Soldier,Creature Human Soldier,1/1,white)*2 auto=life:2 controller aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={2}{W}{S}:_SCRY_(2) +auto={2}{W}{S}:_SCRY2_ text=Flash -- When Omen of the Sun enters the battlefield, create two 1/1 white Human Soldier creature tokens and you gain 2 life. -- {2}{W}, Sacrifice Omen of the Sun: Scry 2. mana={2}{W} type=Enchantment @@ -57487,6 +59296,14 @@ power=1 toughness=5 [/card] [card] +name=Oracle's Vault +auto={2}{T}{counter(0/0,1,brick)}:__PLAY_TOP_FROM_EXILE__ +auto=this(counter{0/0.3.brick}) {T}:moveto(exile) and!( transforms((,zerocast,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) +text={2}, {T}: Exile the top card of your library. Until end of turn, you may play that card. Put a brick counter on Oracle's Vault. -- {T}: Exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. Activate this ability only if there are three or more brick counters on Oracle's Vault. +mana={4} +type=Artifact +[/card] +[card] name=Orah, Skyclave Hierophant abilities=lifelink auto=@movedTo(cleric[manacost=1]|myGraveyard) from(myBattlefield):moveTo(myBattlefield) target(cleric[manacost<=0]|myGraveyard) @@ -57631,7 +59448,7 @@ toughness=3 name=Ordeal of Erebos target=creature auto=@combat(attacking) source(mytgt):counter(1/1) -auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice target(Ordeal of Erebos|mybattlefield)])) +auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice notAtarget(Ordeal of Erebos|mybattlefield)])) auto=_DIES_target(player) ability$!target(<2>*|myhand) reject!$ targetedplayer text=Enchant creature -- Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Erebos. -- When you sacrifice Ordeal of Erebos, target player discards two cards. mana={1}{B} @@ -57642,7 +59459,7 @@ subtype=Aura name=Ordeal of Heliod target=creature auto=@combat(attacking) source(mytgt):counter(1/1) -auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice target(Ordeal of Heliod|mybattlefield)])) +auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice notAtarget(Ordeal of Heliod|mybattlefield)])) auto=_DIES_life:10 controller text=Enchant creature -- Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Heliod. -- When you sacrifice Ordeal of Heliod, you gain 10 life. mana={1}{W} @@ -57653,7 +59470,7 @@ subtype=Aura name=Ordeal of Nylea target=creature auto=@combat(attacking) source(mytgt):counter(1/1) -auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice target(Ordeal of Nylea|mybattlefield)])) +auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice notAtarget(Ordeal of Nylea|mybattlefield)])) auto=_DIES_notatarget(land[basic]|mylibrary) transforms((,newability[name(move to battlefield) notatarget(land[basic]|mylibrary) moveTo(myBattlefield) and!(tap(noevent))!],newability[moveTo(myBattlefield) and!(tap(noevent))!])) oneshot text=Enchant creature -- Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Nylea. -- When you sacrifice Ordeal of Nylea, search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library. mana={1}{G} @@ -57664,7 +59481,7 @@ subtype=Aura name=Ordeal of Purphoros target=creature auto=@combat(attacking) source(mytgt):counter(1/1) -auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice target(Ordeal of Purphoros|mybattlefield)])) +auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice notAtarget(Ordeal of Purphoros|mybattlefield)])) auto=_DIES_damage:3 target(creature,player) text=Enchant creature -- Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Purphoros. -- When you sacrifice Ordeal of Purphoros, it deals 3 damage to target creature or player. mana={1}{R} @@ -57675,7 +59492,7 @@ subtype=Aura name=Ordeal of Thassa target=creature auto=@combat(attacking) source(mytgt):counter(1/1) -auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice target(Ordeal of Thassa|mybattlefield)])) +auto=teach(creature) transforms((,newability[this(counter{1/1}>=3) sacrifice notAtarget(Ordeal of Thassa|mybattlefield)])) auto=_DIES_draw:2 controller text=Enchant creature -- Whenever enchanted creature attacks, put a +1/+1 counter on it. Then if it has three or more +1/+1 counters on it, sacrifice Ordeal of Thassa. -- When you sacrifice Ordeal of Thassa, draw two cards. mana={1}{U} @@ -57826,7 +59643,7 @@ type=Artifact [card] name=Ornery Dilophosaur abilities=deathtouch -auto=_ATTACKING_if type(creature[power>=4]|myBattlefield)~morethan~0} then 2/2 ueot +auto=_ATTACKING_if type(creature[power>=4]|myBattlefield)~morethan~0 then 2/2 ueot text=Deathtouch (Any amount of damage this deals to a creature is enough to destroy it.) -- Whenever Ornery Dilophosaur attacks, if you control a creature with power 4 or greater, Ornery Dilophosaur gets +2/+2 until end of turn. mana={3}{G} type=Creature @@ -57870,6 +59687,17 @@ power=0 toughness=2 [/card] [card] +name=Orthion, Hero of Lavabrink +auto={1}{R}{T}:clone with(treason,haste) target(other creature|mybattlefield) asSorcery +auto={6}{R}{R}{R}{T}:name(Create five tokens) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) asSorcery +text={1}{R}, {T}: Create a token that's a copy of another target creature you control. It gains haste. Sacrifice it at the beginning of the next end step. Activate only as a sorcery. -- {6}{R}{R}{R}, {T}: Create five tokens that are copies of another target creature you control. They gain haste. Sacrifice them at the beginning of the next end step. Activate only as a sorcery. +mana={3}{R} +type=Legendary Creature +subtype=Human Soldier +power=3 +toughness=3 +[/card] +[card] name=Orthodoxy Enforcer abilities=vigilance auto=aslongas(artifact|myBattlefield) 2/+0 >1 @@ -57917,7 +59745,7 @@ type=Instant [card] name=Orzhov Enforcer abilities=deathtouch -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying) +auto=_DIES__AFTERLIFETOKEN_ text=Deathtouch -- Afterlife 1 (When this creature dies, create a 1/1 white and black Spirit creature token with flying.) mana={1}{B} type=Creature @@ -57961,7 +59789,7 @@ toughness=1 [card] name=Orzhov Racketeers auto=@combatdamaged(player) from(this):ability$!name(discard) target(*|myhand) reject!$ opponent -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying)*2 +auto=_DIES__AFTERLIFETOKEN_*2 text=Whenever Orzhov Racketeers deals combat damage to a player, that player discards a card. -- Afterlife 2 (When this creature dies, create two 1/1 white and black Spirit creature tokens with flying.) mana={4}{B} type=Creature @@ -58268,8 +60096,8 @@ type=Sorcery name=Overwhelmed Apprentice auto=deplete:2 opponent aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) -text=When Overwhelmed Apprentice enters the battlefield, each opponent puts the top two cards of their library into their graveyard. Then you scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) +auto=_SCRY2_ +text=When Overwhelmed Apprentice enters the battlefield, each opponent mills two cards. Then you scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={U} type=Creature subtype=Human Wizard @@ -58293,6 +60121,14 @@ power=3 toughness=2 [/card] [card] +name=Overwhelming Encounter +auto=all(creature|myBattlefield) transforms((,newability[vigilance],newability[trample])) ueot +auto=name(Roll a d20) rolld20 20 winability all(creature|myBattlefield) counter(1/1.4) winabilityend loseability if compare(lastrollresult)~lessthan~10 then all(creature|myBattlefield) 2/2 ueot else all(creature|myBattlefield) counter(1/1.2) loseabilityend rolld20end +text=Creatures you control gain vigilance and trample until end of turn. Roll a d20. -- 1-9 | Creatures you control get +2/+2 until end of turn. -- 10-19 | Put two +1/+1 counters on each creature you control. -- 20 | Put four +1/+1 counters on each creature you control. +mana={3}{G}{G} +type=Sorcery +[/card] +[card] name=Overwhelming Splendor target=player auto=lord(creature|targetedpersonsbattlefield) transforms((,setpower=1,settoughness=1,newability[noactivatedability])) @@ -58314,6 +60150,16 @@ power=4 toughness=4 [/card] [card] +name=Owlbear Cub +auto=@combat(attacking) source(this) restriction{type(land|opponentbattlefield)~morethan~7}:name(Look top 8 cards) reveal:8 optionone name(Get creature) target(creature|reveal) moveto(mybattlefield) and!( transforms((,newability[ninjutsu])) oneshot )! optiononeend optiontwo name(Put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +text=Mama's Coming - Whenever Owlbear Cub attacks a player who controls eight or more lands, look at the top eight cards of your library. You may put a creature card from among them onto the battlefield tapped and attacking that player. Put the rest on the bottom of your library in a random order. +mana={2}{G} +type=Creature +subtype=Bird Bear +power=3 +toughness=3 +[/card] +[card] name=Owlbear Shepherd auto=@each my endofturn restriction{compare(powertotalinplay)~morethan~7}:draw:1 text=At the beginning of your end step, if creatures you control have total power 8 or greater, draw a card. @@ -58391,7 +60237,7 @@ name=Pack's Betrayal target=creature aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=moveto(mybattlefield) and!( transforms((,newability[haste],newability[untap],newability[phaseaction[endofturn once sourceinplay] moveto(ownerbattlefield)])) ueot )! -auto=if type(*[wolf;werewolf]|mybattlefield)~morethan~0 then name(Scry 2) name(Scry 2) _SCRY_(2) +auto=if type(*[wolf;werewolf]|mybattlefield)~morethan~0 then name(Scry 2) name(Scry 2) _SCRY2_ text=Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. If you control a Wolf or Werewolf, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={2}{R} type=Sorcery @@ -58425,6 +60271,37 @@ mana={1}{B}{B} type=Sorcery [/card] [card] +name=Pact Weapon +auto=teach(creature) cantlifelose +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=0]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller])) oneshot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=1]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:1 controller],newability[1/1])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=2]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:2 controller],newability[2/2])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=3]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:3 controller],newability[3/3])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=4]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:4 controller],newability[4/4])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=5]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:5 controller],newability[5/5])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=6]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:6 controller],newability[6/6])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=7]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:7 controller],newability[7/7])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=8]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:8 controller],newability[8/8])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=9]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:9 controller],newability[9/9])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=10]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:10 controller],newability[10/10])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=11]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:11 controller],newability[11/11])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=12]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:12 controller],newability[12/12])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=13]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:13 controller],newability[13/13])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=14]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:14 controller],newability[14/14])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=15]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:15 controller],newability[15/15])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=16]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:16 controller],newability[16/16])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=17]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:17 controller],newability[17/17])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=18]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:18 controller],newability[18/18])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost=19]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:19 controller],newability[19/19])) ueot +auto=@combat(attacking) source(mytgt) restriction{type(*[zpos=1;manacost>=19]|mylibrary)~morethan~0}:name(Draw and reveal) name(Draw and reveal) all(mytgt) transforms((,newability[draw:1 controller],newability[life:20 controller],newability[20/20])) ueot +auto={9999}:equip +auto=name(Equip discard a card) {D(*|myhand)}:rehook target(creature|mybattlefield) asSorcery +text=As long as Pact Weapon is attached to a creature, you don't lose the game for having 0 or less life. -- Whenever equipped creature attacks, draw a card and reveal it. The creature gets +X/+X until end of turn and you lose X life, where X is that card's mana value. -- Equip-Discard a card. +mana={3}{B} +type=Artifact +subtype=Equipment +[/card] +[card] name=Pain // Suffering other={3}{R} name(Suffering) auto=if paid(alternative) then destroy target(land) @@ -58434,6 +60311,19 @@ mana={B} type=Sorcery [/card] [card] +name=Pain Distributor +abilities=menace +auto=@movedto(*|opponentstack) restriction{thisturn(*|opponentstack)~equalto~1} turnlimited:create(treasure sur) +auto=@movedto(*|mystack) restriction{thisturn(*|mystack)~lessthan~1} turnlimited:create(treasure sur) +auto=@movedto(artifact|graveyard) from(opponentBattlefield):damage:1 opponent +text=Menace -- Whenever a player casts their first spell each turn, they create a Treasure token. -- Whenever an artifact an opponent controls is put into a graveyard from the battlefield, Pain Distributor deals 1 damage to that player. +mana={2}{R} +type=Creature +subtype=Devil Citizen +power=2 +toughness=3 +[/card] +[card] name=Painful Lesson target=player auto=draw:2 targetedplayer @@ -58553,6 +60443,18 @@ power=1 toughness=1 [/card] [card] +name=Paladin of Predation +abilities=toxic +auto=cantbeblockedby(creature[power<=2]) +auto=@combatdamaged(player) from(this):alterpoison:6 opponent +text=Toxic 6 (Players dealt combat damage by -- this creature also get six poison counters.) -- Paladin of Predation can't be blocked by creatures with power 2 or less. +mana={5}{G}{G} +type=Creature +subtype=Phyrexian Knight +power=6 +toughness=7 +[/card] +[card] name=Paladin of the Bloodstained auto=token(Vampire,creature Vampire,1/1,white,lifelink) text=When Paladin of the Bloodstained enters the battlefield, create a 1/1 white Vampire creature token with lifelink. @@ -58739,6 +60641,17 @@ power=2 toughness=2 [/card] [card] +name=Parapet +abilities=asflash +other={1}{W} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +auto=lord(other creature|myBattlefield) +0/+1 +text=You may cast Parapet as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Creatures you control get +0/+1. +mana={1}{W} +type=Enchantment +[/card] +[card] name=Parasitic Grasp other={1}{B}{B} name(Cleave) restriction=type(creature[human]|battlefield)~morethan~0 @@ -58926,6 +60839,26 @@ power=2 toughness=2 [/card] [card] +name=Passageway Seer +auto=_INITIATIVE_CONTROLLER_ +auto=@each my endofturn restriction{compare(pinitiative)~morethan~0}:name(Put 1/1 counter) all(this) counter(1/1) +abilities=lifelink +text=Lifelink -- When Passageway Seer enters the battlefield, you take the initiative. -- At the beginning of your end step, if you have the initiative, put a +1/+1 counter on Passageway Seer. +mana={3}{B} +type=Creature +subtype=Tiefling Warlock +power=2 +toughness=2 +[/card] +[card] +name=Passionate Archaeologist +auto=lord(*[iscommander]|myBattlefield) transforms((,newability[@movedTo(*[manacost=1]|mystack) from(myexile):name(Deals 1 damage) damage:1 opponent],newability[@movedTo(*[manacost=2]|mystack) from(myexile):name(Deals 2 damage) damage:2 opponent],newability[@movedTo(*[manacost=3]|mystack) from(myexile):name(Deals 3 damage) damage:3 opponent],newability[@movedTo(*[manacost=4]|mystack) from(myexile):name(Deals 4 damage) damage:4 opponent],newability[@movedTo(*[manacost=5]|mystack) from(myexile):name(Deals 5 damage) damage:5 opponent],newability[@movedTo(*[manacost=6]|mystack) from(myexile):name(Deals 6 damage) damage:6 opponent],newability[@movedTo(*[manacost=7]|mystack) from(myexile):name(Deals 7 damage) damage:7 opponent],newability[@movedTo(*[manacost=8]|mystack) from(myexile):name(Deals 8 damage) damage:8 opponent],newability[@movedTo(*[manacost=9]|mystack) from(myexile):name(Deals 9 damage) damage:9 opponent],newability[@movedTo(*[manacost=10]|mystack) from(myexile):name(Deals 10 damage) damage:10 opponent],newability[@movedTo(*[manacost=11]|mystack) from(myexile):name(Deals 11 damage) damage:11 opponent],newability[@movedTo(*[manacost=12]|mystack) from(myexile):name(Deals 12 damage) damage:12 opponent],newability[@movedTo(*[manacost=13]|mystack) from(myexile):name(Deals 13 damage) damage:13 opponent],newability[@movedTo(*[manacost=14]|mystack) from(myexile):name(Deals 14 damage) damage:14 opponent],newability[@movedTo(*[manacost=15]|mystack) from(myexile):name(Deals 15 damage) damage:15 opponent],newability[@movedTo(*[manacost=16]|mystack) from(myexile):name(Deals 16 damage) damage:16 opponent],newability[@movedTo(*[manacost=17]|mystack) from(myexile):name(Deals 17 damage) damage:17 opponent],newability[@movedTo(*[manacost=18]|mystack) from(myexile):name(Deals 18 damage) damage:18 opponent],newability[@movedTo(*[manacost=19]|mystack) from(myexile):name(Deals 19 damage) damage:19 opponent],newability[@movedTo(*[manacost>=19]|mystack) from(myexile):name(Deals 20 damage) damage:20 opponent])) +text=Commander creatures you own have "Whenever you cast a spell from exile, this creature deals damage equal to that spell's mana value to target opponent." +mana={1}{R} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Passwall Adept auto={2}{U}:target(creature) unblockable text={2}{U}: Target creature can't be blocked this turn. @@ -58977,7 +60910,7 @@ auto=aslongas(*[iscommander&white]|myzones) {T}:name(Add white mana) name(Add wh auto=aslongas(*[iscommander&green]|myzones) {T}:name(Add green mana) name(Add green mana) transforms((,newability[add{G}],newability[if type(creature|myrestrictedcastingzone)~morethan~0 then counter(0/0.1.PathEffect)])) oneshot auto=aslongas(*[iscommander&blue]|myzones) {T}:name(Add blue mana) name(Add blue mana) transforms((,newability[add{U}],newability[if type(creature|myrestrictedcastingzone)~morethan~0 then counter(0/0.1.PathEffect)])) oneshot auto=aslongas(*[iscommander&black]|myzones) {T}:name(Add black mana) name(Add black mana) transforms((,newability[add{B}],newability[if type(creature|myrestrictedcastingzone)~morethan~0 then counter(0/0.1.PathEffect)])) oneshot -auto=@movedto(creature|mybattlefield) restriction{compare(hascntpatheffect)~morethan~0}:name(Scry if share type) all(trigger[to]) name(Scry if share type) transforms((,newability[if type(*[iscommander&share!types!]|myzones)~morethan~0 then _SCRY_(1)])) oneshot +auto=@movedto(creature|mybattlefield) restriction{compare(hascntpatheffect)~morethan~0}:name(Scry if share type) all(trigger[to]) name(Scry if share type) transforms((,newability[if type(*[iscommander&share!types!]|myzones)~morethan~0 then _SCRY1_])) oneshot auto=@movedto(creature|mybattlefield) restriction{compare(hascntpatheffect)~morethan~0}:name(Effect ends) removeallcounters(0/0.1.PathEffect) auto=@each endofturn restriction{compare(hascntpatheffect)~morethan~0}:name(Effect ends) removeallcounters(0/0.1.PathEffect) text=Path of Ancestry enters the battlefield tapped. -- {T}: Add one mana of any color in your commander's color identity. When that mana is spent to cast a creature spell that shares a creature type with your commander, scry 1. @@ -58998,7 +60931,7 @@ auto=@each my blockers restriction{type(creature[attacking;vigilance]|myBattlefi auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;haste]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;first strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;double strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) -auto=@each my blockers restriction{type(type(creature[attacking;haste]|myBattlefield)~morethan~1}:flip(Metzali, Tower of Triumph) +auto=@each my blockers restriction{type(creature[attacking;haste]|myBattlefield)~morethan~1}:flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;vigilance]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;first strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;double strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) @@ -59027,7 +60960,7 @@ type=Sorcery name=Path to the Festival flashback={4}{G} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Search basic land) target(land[basic]|mylibrary) moveto(myBattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle],newability[if compare(pbasiclandtypes)~morethan~2 then _SCRY_(1)])) oneshot +auto=name(Search basic land) target(land[basic]|mylibrary) moveto(myBattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle],newability[if compare(pbasiclandtypes)~morethan~2 then _SCRY1_])) oneshot text=Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle. Then if there are three or more basic land types among lands you control, scry 1. (Lok at the top card of your library. You may put that card on the bottom of your library.) -- Flashback {4}{G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={2}{G} type=Sorcery @@ -59192,6 +61125,22 @@ power=1 toughness=3 [/card] [card] +name=Pegasus Guardian // Rescue the Foal +abilities=flying,adventure,asflash +restriction=can play creature +otherrestriction=type(creature|mybattlefield)~morethan~0 +other={1}{W} name(Adventure) +auto=if paid(alternative) then name(Exile creature) name(Exile creature) target(creature|myBattlefield) moveto(exile) and!( moveto(ownerbattlefield) )! +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=@each my end restriction{revolt}:name(Create Pegasus) token(Pegasus,Creature Pegasus,1/1,white,flying) +text=Flying -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, create a 1/1 white Pegasus creature token with flying. // Exile target creature you control, then return that card to the battlefield under its owner's control. (Then exile this card. You may cast the creature later from exile.) +mana={5}{W} +type=Creature +subtype=Pegasus +power=3 +toughness=3 +[/card] +[card] name=Pelakka Caverns auto=tap(noevent) auto={T}:add{B} @@ -59282,9 +61231,9 @@ toughness=3 [/card] [card] name=Peregrination -auto=if type(land|myLibrary)~morethan~1 then choice name(Search two lands) name(Search two lands) target(land[basic]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[name(Search another land) target(land[basic]|mylibrary) moveto(myhand) and!( transforms((,newability[name(Scry 1) _SCRY_(1)])) oneshot )!])) oneshot )! -auto=if type(land|myLibrary)~morethan~0 then choice name(Search one land) name(Search one land) target(land[basic]|mylibrary) moveto(mybattlefield) and!( tap(noevent) && _SCRY_(1) )! -auto=choice name(Don't search any land) _SCRY_(1) +auto=if type(land|myLibrary)~morethan~1 then choice name(Search two lands) name(Search two lands) target(land[basic]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[name(Search another land) target(land[basic]|mylibrary) moveto(myhand) and!( transforms((,newability[name(Scry 1) _SCRY1_])) oneshot )!])) oneshot )! +auto=if type(land|myLibrary)~morethan~0 then choice name(Search one land) name(Search one land) target(land[basic]|mylibrary) moveto(mybattlefield) and!( tap(noevent) && _SCRY1_ )! +auto=choice name(Don't search any land) _SCRY1_ text=Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Shuffle your library, then scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3}{G} type=Sorcery @@ -59303,7 +61252,7 @@ toughness=7 [card] name=Perilous Voyage aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if type(*[-land;manacost<=2]|opponentBattlefield)~morethan~0 then choice name(Return permanent with manacost 2 or less) name(Return permanent with manacost 2 or less) target(*[-land;manacost<=2]|opponentBattlefield) moveto(ownerhand) && _SCRY_(2) +auto=if type(*[-land;manacost<=2]|opponentBattlefield)~morethan~0 then choice name(Return permanent with manacost 2 or less) name(Return permanent with manacost 2 or less) target(*[-land;manacost<=2]|opponentBattlefield) moveto(ownerhand) && _SCRY2_ auto=choice name(Return permanent with manacost 3 or more) target(*[-land;manacost>=3]|opponentBattlefield) moveto(ownerhand) text=Return target nonland permanent you don't control to its owner's hand. If its mana value was 2 or less, scry 2. mana={1}{U} @@ -59349,7 +61298,7 @@ type=Sorcery name=Persistent Petitioners auto={1}{T}:target(player) deplete:1 auto={T(Advisor|myBattlefield)}{T(Advisor|myBattlefield)}{T(Advisor|myBattlefield)}{T(Advisor|myBattlefield)}:deplete:12 -text={1}, {T}: Target player puts the top card of their library into their graveyard. -- Tap four untapped Advisors you control: Target player puts the top twelve cards of their library into their graveyard. -- A deck can have any number of cards named Persistent Petitioners. +text={1}, {T}: Target player mills a card. -- Tap four untapped Advisors you control: Target player puts the top twelve cards of their library into their graveyard. -- A deck can have any number of cards named Persistent Petitioners. mana={1}{U} type=Creature subtype=Human Advisor @@ -59488,9 +61437,9 @@ type=Instant [/card] [card] name=Phalanx Tactics -target=creature -auto=target(creature|myBattlefield) 2/1 ueot -auto=all(other creature|mybattlefield) 1/1 ueot +target=creature|myBattlefield +auto=1/0 +auto=all(creature|mybattlefield) 1/1 ueot text=Target creature you control gets +2/+1 until end of turn. Each other creature you control gets +1/+1 until end of turn. mana={1}{W} type=Instant @@ -59687,12 +61636,12 @@ toughness=2 name=Phyrexian Dreadnought abilities=trample auto=choice name(Sacrifice this) sacrifice -auto=choice name(Sacrifice 12 creatures with power 1 or greater) sacrifice target(<12>creature[power>=1]|mybattlefield) -auto=choice name(Sacrifice 6 creatures with power 2 or greater) sacrifice target(<6>creature[power>=2]|mybattlefield) -auto=choice name(Sacrifice 4 creatures with power 3 or greater) sacrifice target(<4>creature[power>=3]|mybattlefield) -auto=choice name(Sacrifice 3 creatures with power 4 or greater) sacrifice target(<3>creature[power>=4]|mybattlefield) -auto=choice name(Sacrifice 2 creatures with power 6 or greater) sacrifice target(<2>creature[power>=6]|mybattlefield) -auto=choice name(Sacrifice 1 creature with power 12 or greater) sacrifice target(creature[power>=12]|mybattlefield) +auto=choice name(Sacrifice 12 creatures with power 1 or greater) sacrifice notAtarget(<12>creature[power>=1]|mybattlefield) +auto=choice name(Sacrifice 6 creatures with power 2 or greater) sacrifice notAtarget(<6>creature[power>=2]|mybattlefield) +auto=choice name(Sacrifice 4 creatures with power 3 or greater) sacrifice notAtarget(<4>creature[power>=3]|mybattlefield) +auto=choice name(Sacrifice 3 creatures with power 4 or greater) sacrifice notAtarget(<3>creature[power>=4]|mybattlefield) +auto=choice name(Sacrifice 2 creatures with power 6 or greater) sacrifice notAtarget(<2>creature[power>=6]|mybattlefield) +auto=choice name(Sacrifice 1 creature with power 12 or greater) sacrifice notAtarget(creature[power>=12]|mybattlefield) text=Trample -- When Phyrexian Dreadnought enters the battlefield, sacrifice it unless you sacrifice any number of creatures with total power 12 or greater. mana={1} type=Artifact Creature @@ -59754,6 +61703,17 @@ power=2 toughness=3 [/card] [card] +name=Phyrexian Pegasus +abilities=flying +auto=_ATTACKING_target(other creature[attacking;-flying]) flying ueot +text=Flying -- Whenever Phyrexian Pegasus attacks, another target attacking creature without flying gains flying until end of turn. +mana={2}{W} +type=Creature +subtype=Phyrexian Pegasus +power=2 +toughness=2 +[/card] +[card] name=Phyrexian Processor auto=choice name(Pay 0 life) transforms((,newability[{4}{T}:name(Create minion) token(Minion^Creature Phyrexian Minion^0/0^black)])) forever auto=if compare(lifetotal)~morethan~0 then choice name(Pay 1 life) name(Pay 1 life) transforms((,newability[life:-1],newability[{4}{T}:name(Create minion) token(Minion^Creature Phyrexian Minion^1/1^black)])) forever @@ -59891,7 +61851,7 @@ toughness=9 [/card] [card] name=Phyrexian Vivisector -auto=@movedTo(creature|graveyard) from(mybattlefield):_SCRY_(1) +auto=@movedTo(creature|graveyard) from(mybattlefield):_SCRY1_ text=Whenever a creature you control dies, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{B} type=Creature @@ -59922,7 +61882,7 @@ type=Instant [card] name=Piercing Light target=creature[attacking;blocking]|battlefield -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ auto=damage:2 text=Piercing Light deals 2 damage to target attacking or blocking creature. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={W} @@ -59950,6 +61910,16 @@ mana={3}{R}{R} type=Sorcery [/card] [card] +name=Pile On +other={convoke} name(Convoke) +target=creature,planeswalker +auto=destroy +auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Destroy target creature or planeswalker. Surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) +mana={3}{B} +type=Instant +[/card] +[card] name=Pilfer target=opponent auto=reject notatarget(*[-land]|targetedpersonshand) @@ -60047,10 +62017,10 @@ type=Instant [card] name=Pious Interdiction target=creature -auto=life:2 controller auto=cantattack auto=cantpwattack auto=cantblock +auto=life:2 controller text=Enchant creature -- When Pious Interdiction enters the battlefield, you gain 2 life. -- Enchanted creature can't attack or block. mana={3}{W} type=Enchantment @@ -60518,7 +62488,7 @@ toughness=2 [/card] [card] name=Platoon Dispenser -auto=@each my endofturn:if type(creature|mybattlefield)~morethan~2 then draw:1 +auto=@each my endofturn:if type(other creature|mybattlefield)~morethan~1 then draw:1 auto={3}{W}:create(soldier:artifact creature soldier:1/1:colorless) autograveyard={2}{W}{W}:_UNEARTH_ text=At the beginning of your end step, if you control two or more other creatures, draw a card. -- {3}{W}: Create a 1/1 colorless Soldier artifact creature token. -- Unearth {2}{W}{W} @@ -60540,7 +62510,7 @@ name=Play with Fire aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=if type(creature|battlefield)~morethan~0 then choice name(Damage creature) name(Damage creature) damage:2 target(creature) auto=if type(planeswalker|battlefield)~morethan~0 then choice name(Damage planeswalker) name(Damage planeswalker) damage:2 target(planeswalker) -auto=choice name(Damage player) damage:2 target(player) && _SCRY_(1) +auto=choice name(Damage player) damage:2 target(player) && _SCRY1_ text=Play with Fire deals 2 damage to any target. If a player is dealt damage this way, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={R} type=Instant @@ -60666,7 +62636,7 @@ aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,n autohand=_FORETELL_ autoexile={1}{B} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=destroy -auto=if paid(alternative) then _SCRY_(2) +auto=if paid(alternative) then _SCRY2_ text=Destroy target creature. If this spell was foretold, scry 2. -- Foretell {1}{B} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) mana={1}{B}{B} type=Instant @@ -60697,7 +62667,7 @@ abilities=hasotherkicker other={W}{S(land|myBattlefield)} name(Pay kicker) auto=if paid(alternative) then thisforeach(variable{6}) ability$!name(Prevent 1 damage) name(Prevent 1 damage) target(player,creature) prevent:1!$ controller auto=ifnot paid(alternative) then thisforeach(variable{3}) ability$!name(Prevent 1 damage) name(Prevent 1 damage) target(player,creature) prevent:1!$ controller -text=Kicker'sacrifice a land. (You may sacrifice a land in addition to any other costs as you cast this spell.) -- Prevent the next 3 damage that would be dealt this turn to any number of target creatures and/or players, divided as you choose. If Pollen Remedy was kicked, prevent the next 6 damage this way instead. +text=Kicker - Sacrifice a land. (You may sacrifice a land in addition to any other costs as you cast this spell.) -- Prevent the next 3 damage that would be dealt this turn to any number of targets, divided as you choose. If this spell was kicked, prevent the next 6 damage this way instead. mana={W} type=Instant [/card] @@ -60900,6 +62870,14 @@ power=2 toughness=3 [/card] [card] +name=Popular Entertainer +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@each combatdamage restriction{myturnonly}:if compare(opponentdamagedbycombat)~morethan~0 then name(Goad a creature) name(Goad a creature) target(creature|opponentbattlefield) _GOAD_])) +text=Commander creatures you own have "Whenever one or more creatures you control deal combat damage to a player, goad target creature that player controls." (Until your next turn, that creature attacks each combat if able and attacks a player other than you if able.) +mana={1}{R} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Porcuparrot abilities=mutate otherrestriction=type(creature[-human]|mybattlefield)~morethan~0 @@ -61270,8 +63248,8 @@ type=Sorcery [card] name=Predatory Impetus target=creature -auto=teach(creature) transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[_ATTACKING_all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) auto=3/3 +auto=teach(creature) transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],_MUST_BE_BLOCKD_)) text=Enchant creature -- Enchanted creature gets +3/+3, must be blocked if able, and is goaded. (It attacks each combat if able and attacks a player other than you if able.) mana={4}{G} type=Enchantment @@ -61529,7 +63507,7 @@ toughness=3 name=Primal Amulet auto=lord(instant,sorcery|myhand) altercost(colorless,-1) auto=@movedto(instant,sorcery|mystack):counter(0/0,1,charge) -auto={0} restriction{type(this[counter{charge}>=4])~morethan~0}:flip(Primal Wellspring) +auto={C(0/0,-4,charge)}:flip(Primal Wellspring) text=Instant and sorcery spells you cast cost {1} less to cast. -- Whenever you cast an instant or sorcery spell, put a charge counter on Primal Amulet. Then if there are four or more charge counters on it, you may remove those counters and transform it. mana={4} type=Artifact @@ -61572,11 +63550,11 @@ type=Enchantment [/card] [card] name=Primal Wellspring -auto={T}:add{G} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent) -auto={T}:add{B} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent) -auto={T}:add{W} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent) -auto={T}:add{R} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent) -auto={T}:add{U} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent) +auto={T}:add{W} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent)])) +auto={T}:add{U} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent)])) +auto={T}:add{B} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent)])) +auto={T}:add{R} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent)])) +auto={T}:add{G} && transforms((,newability[@movedto(instant,sorcery|mystack):all(trigger) castcard(noevent)])) text=(Transforms from Primal Amulet.) -- {T}: Add one mana of any color to your mana pool. When that mana is spent to cast an instant or sorcery spell, copy that spell and you may choose new targets for the copy. type=Land [/card] @@ -61680,7 +63658,7 @@ toughness=2 name=Prismari Campus aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=tap(noevent) -auto={4}{T}:name(Scry 1) _SCRY_(1) +auto={4}{T}:name(Scry 1) _SCRY1_ auto={T}:add{R} auto={T}:add{U} text=Prismari Campus enters the battlefield tapped. -- {T}: Add {U} or {R}. -- {4}, {T}: Scry 1. @@ -61747,7 +63725,7 @@ toughness=1 name=Prison Realm auto=(blink)forsrc target(*[creature;planeswalker]|opponentbattlefield) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=When Prison Realm enters the battlefield, exile target creature or planeswalker an opponent controls until Prison Realm leaves the battlefield. -- When Prison Realm enters the battlefield, scry 1. mana={2}{W} type=Enchantment @@ -61755,7 +63733,7 @@ type=Enchantment [card] name=Prison Sentence target=creature -auto=_SCRY_(2) +auto=_SCRY2_ auto=teach(creature) cantattack auto=teach(creature) cantpwattack auto=teach(creature) cantblock @@ -61852,6 +63830,18 @@ power=3 toughness=3 [/card] [card] +name=Professional Face-Breaker +abilities=menace +auto=@each combatdamage restriction{opponentdamagedbycombat}:token(Treasure Sur) +auto={S(*[Treasure]|myBattlefield)}:__PLAY_TOP_FROM_EXILE__ +text=Menace -- Whenever one or more creatures you control deal combat damage to a player, create a Treasure token. -- Sacrifice a Treasure: Exile the top card of your library. You may play that card this turn. +mana={2}{R} +type=Creature +subtype=Human Warrior +power=2 +toughness=3 +[/card] +[card] name=Professor of Symbology auto=_LEARN_ text=When Professor of Symbology enters the battlefield, learn. (You may reveal a Lesson card you own from outside the game and put it into your hand, or discard a card to draw a card.) @@ -61937,7 +63927,7 @@ toughness=3 [card] name=Prophet of the Peak aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=When Prophet of the Peak enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={6} type=Artifact Creature @@ -62107,7 +64097,7 @@ toughness=3 [/card] [card] name=Proven Combatant -autograveyard={4}{U}{U}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={4}{U}{U}{E}:_ETERNALIZE_ text=Eternalize {4}{U}{U} ({4}{U}{U}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Warrior with no mana cost. Eternalize only as a sorcery.) mana={U} type=Creature @@ -62215,6 +64205,34 @@ power=2 toughness=1 [/card] [card] +name=Psionic Ritual +abilities=exiledeath +auto=choice name(Don't tap any horror) target(*[instant;sorcery]|graveyard) activate castcard(normal) and!( transforms((,newability[gainedexiledeath])) forever )! +auto=if type(horror[-tapped]|mybattlefield)~morethan~0 then choice name(Tap 1 horror) name(Tap 1 horror) target(horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 2 instants or sorcerys) target(<2>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~1 then choice name(Tap 2 horror) name(Tap 2 horror) target(<2>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 3 instants or sorcerys) target(<3>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~2 then choice name(Tap 3 horror) name(Tap 3 horror) target(<3>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 4 instants or sorcerys) target(<4>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~3 then choice name(Tap 4 horror) name(Tap 4 horror) target(<4>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 5 instants or sorcerys) target(<5>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~4 then choice name(Tap 5 horror) name(Tap 5 horror) target(<5>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 6 instants or sorcerys) target(<6>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~5 then choice name(Tap 6 horror) name(Tap 6 horror) target(<6>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 7 instants or sorcerys) target(<7>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~6 then choice name(Tap 7 horror) name(Tap 7 horror) target(<7>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 8 instants or sorcerys) target(<8>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~7 then choice name(Tap 8 horror) name(Tap 8 horror) target(<8>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 9 instants or sorcerys) target(<9>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~8 then choice name(Tap 9 horror) name(Tap 9 horror) target(<9>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 10 instants or sorcerys) target(<10>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~9 then choice name(Tap 10 horror) name(Tap 10 horror) target(<10>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 11 instants or sorcerys) target(<11>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~10 then choice name(Tap 11 horror) name(Tap 11 horror) target(<11>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 12 instants or sorcerys) target(<12>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~11 then choice name(Tap 12 horror) name(Tap 12 horror) target(<12>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 13 instants or sorcerys) target(<13>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~12 then choice name(Tap 13 horror) name(Tap 13 horror) target(<13>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 14 instants or sorcerys) target(<14>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~13 then choice name(Tap 14 horror) name(Tap 14 horror) target(<14>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 15 instants or sorcerys) target(<15>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~14 then choice name(Tap 15 horror) name(Tap 15 horror) target(<15>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 16 instants or sorcerys) target(<16>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~15 then choice name(Tap 16 horror) name(Tap 16 horror) target(<16>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 17 instants or sorcerys) target(<17>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~16 then choice name(Tap 17 horror) name(Tap 17 horror) target(<17>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 18 instants or sorcerys) target(<18>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~17 then choice name(Tap 18 horror) name(Tap 18 horror) target(<18>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 19 instants or sorcerys) target(<19>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~18 then choice name(Tap 19 horror) name(Tap 19 horror) target(<19>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 20 instants or sorcerys) target(<20>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +auto=if type(horror[-tapped]|mybattlefield)~morethan~19 then choice name(Tap 20 horror) name(Tap 20 horror) target(<20>horror[-tapped]|myBattlefield) transforms((,newability[tap],newability[name(Exile 21 instants or sorcerys) target(<21>*[instant;sorcery]|graveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)!])) forever +text=Replicate-Tap an untapped Horror you control. (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Exile target instant or sorcery card from a graveyard and copy it. You may cast the copy without paying its mana cost. -- Exile Psionic Ritual. +mana={4}{U}{U} +type=Sorcery +[/card] +[card] name=Psionic Snoop abilities=flash auto=_CONNIVES_ @@ -62228,7 +64246,7 @@ toughness=3 [card] name=Psychic Corrosion auto=@drawof(player):deplete:2 opponent -text=Whenever you draw a card, each opponent puts the top two cards of their library into their graveyard. +text=Whenever you draw a card, each opponent mills two cards. mana={2}{U} type=Enchantment [/card] @@ -62237,7 +64255,7 @@ name=Psychic Impetus target=creature aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=teach(creature) transforms((,newability[2/2],newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack])) -auto=@combat(attacking) source(mytgt):name(Scry 2) _SCRY_(2) +auto=@combat(attacking) source(mytgt):name(Scry 2) _SCRY2_ text=Enchant creature -- Enchanted creature gets +2/+2 and is goaded. (It attacks each combat if able and attacks a player other than you if able.) -- Whenever enchanted creature attacks, you scry 2. mana={2}{U} type=Enchantment @@ -62272,7 +64290,7 @@ toughness=2 [card] name=Psychic Surgery aicode=activate target(*[zpos<=2]|opponentlibrary) moveto(ownerexile) -auto=@shuffledfoeof(player):may name(Look top 2) reveal:2 revealzone(opponentlibrary) optionone name(Put in exile) target(*|reveal) moveto(ownerexile) optiononeend optiontwo name(put back) target(<2>*|reveal) moveto(ownerlibrary) optiontwoend revealend +auto=@shuffledfoeof(player) turnlimited:may name(Look top 2) reveal:2 revealzone(opponentlibrary) optionone name(Put in exile) target(*|reveal) moveto(ownerexile) optiononeend optiontwo name(put back) target(<2>*|reveal) moveto(ownerlibrary) optiontwoend revealend text=Whenever an opponent shuffles his or her library, you may look at the top two cards of that library. You may exile one of those cards. Then put the rest on top of that library in any order. mana={1}{U} type=Enchantment @@ -62307,7 +64325,7 @@ type=Sorcery [/card] [card] name=Psychogenic Probe -auto=@shuffledfoeof(player):name(Deal 2 damage) damage:2 opponent oneshot +auto=@shuffledfoeof(player) turnlimited:name(Deal 2 damage) damage:2 opponent oneshot auto=@shuffledof(player):name(Deal 2 damage) damage:2 controller oneshot text=Whenever a spell or ability causes a player to shuffle his or her library, Psychogenic Probe deals 2 damage to him or her. mana={2} @@ -62418,7 +64436,7 @@ type=Sorcery name=Puppet Raiser abilities=menace auto=@each my endofturn:may name(Exile a creature) target(creature|mygraveyard) moveto(myexile) and!( transforms((,newability[name(Seek a creature) moverandom(creature[manacost=manacostplus1plusend]) from(mylibrary) to(myhand) and!( counter(0/0.1.PerpetualMenace) notrg )! ])) forever )! -auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualMenace}|battlefield) menace])) forever dontremove +auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualMenace}]|battlefield) menace])) forever dontremove text=At the beginning of your end step, exile up to one target creature card from your graveyard. If you do, seek a creature card with mana value equal to that mana value of that card plus one. That card perpetually gains menace. mana={3}{B} type=Creature @@ -62811,7 +64829,7 @@ toughness=2 name=Quandrix Campus aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=tap(noevent) -auto={4}{T}:name(Scry 1) _SCRY_(1) +auto={4}{T}:name(Scry 1) _SCRY1_ auto={T}:add{G} auto={T}:add{U} text=Quandrix Campus enters the battlefield tapped. -- {T}: Add {G} or {U}. -- {4}, {T}: Scry 1. @@ -63261,7 +65279,7 @@ toughness=3 [/card] [card] name=Raff, Weatherlight Stalwart -auto=@movedTo(instant,sorcery|mystack):may transforms((,newability[tap notatarget(<2>creature[-tapped]|myBattlefield)],newability[draw:1])) oneshot +auto=@movedTo(instant,sorcery|mystack) restriction{type(creature[-tapped]|myBattlefield)~morethan~1}:may transforms((,newability[tap notatarget(<2>creature[-tapped]|myBattlefield)],newability[draw:1])) oneshot auto={3}{W}{W}:all(creature|myBattlefield) transforms((,newability[1/1],newability[vigilance])) ueot text=Whenever you cast an instant or sorcery spell, you may tap two untapped creatures you control. If you do, draw a card. -- {3}{W}{W}: Creatures you control get +1/+1 and gain vigilance until end of turn. mana={W}{U} @@ -63476,7 +65494,7 @@ toughness=2 [/card] [card] name=Raiders' Karve -aicode=activate all(land[zpos=1|mylibrary) moveto(mybattlefield) and!( tap(noevent) )! +aicode=activate all(land[zpos=1]|mylibrary) moveto(mybattlefield) and!( tap(noevent) )! auto=_ATTACKING_reveal:1 optionone target(land|reveal) moveto(ownerbattlefield) and!( tap(noevent) )! optiononeend optiontwo target(*|reveal) moveto(mylibrary) optiontwoend revealend auto={crew(other creature[power>=3]|myBattlefield)}:name(crew 3 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=3]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~2} auto={crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=2]|myBattlefield)}:name(crew 3 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0,type(other creature[-tapped;-cantcrew]|mybattlefield)~morethan~1,compare(crewtotalpower)~morethan~2} @@ -63524,11 +65542,11 @@ type=Instant [/card] [card] name=Rain of Thorns -restriction=type(*[artifact;land]|battlefield)~morethan~0 -auto=if type(artifact|battlefield)~morethan~0 then choice name(Destroy artifact) name(Destroy artifact) destroy target(artifact|battlefield) -auto=if type(land|battlefield)~morethan~0 then choice name(Destroy land) name(Destroy land) destroy target(land|battlefield) -auto=if type(artifact|battlefield)~morethan~0 then if type(land|battlefield)~morethan~0 then choice name(Choose both) name(Choose both) name(Choose both) destroy target(artifact|battlefield) and!( name(Destroy land) destroy target(land|battlefield) )! -text=Choose one or both -- Destroy target artifact. -- Destroy target land. +restriction=type(*[artifact;enchantment;land]|battlefield)~morethan~0 +auto=ability$!name(Destroy artifact) may name(Destroy artifact) destroy target(artifact)!$ controller +auto=ability$!name(Destroy enchantment) may name(Destroy enchantment) destroy target(enchantment)!$ controller +auto=ability$!name(Destroy land) may name(Destroy land) destroy target(land)!$ controller +text=Choose one or more -- Destroy target artifact. -- Destroy target enchantment. -- Destroy target land. mana={4}{G}{G} type=Sorcery [/card] @@ -63542,6 +65560,14 @@ mana={1}{B} type=Instant [/card] [card] +name=Raised by Giants +auto=lord(creature[iscommander]|mybattlefield) transforms((Giant,setpower=10,settoughness=10)) +text=Commander creatures you own have base power and toughness 10/10 and are Giants in addition to their other types. +mana={5}{G} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Raiyuu, Storm's Edge abilities=first strike auto=@combat(attackedalone) source(*[Samurai;Warrior]|myBattlefield):all(trigger[to]) untap @@ -63803,7 +65829,7 @@ type=Instant [card] name=Ram Through target=creature|mybattlefield -auto=transforms((,newability[dynamicability target(creature|opponentbattlefield)])) +auto=transforms((,newability[dynamicability target(creature|opponentbattlefield)])) oneshot text=Target creature you control deals damage equal to its power to target creature you don't control. If the creature you control has trample, excess damage is dealt to that creature's controller instead. mana={1}{G} type=Instant @@ -63839,7 +65865,7 @@ name=Ramosian Greatsword other={convoke} name(Convoke) auto=teach(creature) 3/1 auto=teach(creature) trample -auto={2}:equip +auto={2}:equip text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for 1 or one mana of that creature's color.) -- Equipped creature gets +3/+1 and has trample. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) mana={4}{R} type=Artifact @@ -64148,6 +66174,18 @@ power=1 toughness=1 [/card] [card] +name=Rasaad yn Bashir +abilities=backgroundpartner +auto=lord(creature|myBattlefield) transforms((,newability[combattoughness])) +auto=@combat(attacking) source(this) restriction{compare(pinitiative)~morethan~0}:name(Double the toughness) all(creature|myBattlefield) transforms((,newability[0/t])) ueot +text=Each creature you control assigns combat damage equal to its toughness rather than its power. -- Whenever Rasaad yn Bashir attacks, if you have the initiative, double the toughness of each creature you control until end of turn. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{W} +type=Legendary Creature +subtype=Human Monk +power=0 +toughness=3 +[/card] +[card] name=Rat Colony auto=foreach(rat|myBattlefield) 1/0 text=Rat Colony gets +1/+0 for each other Rat you control. -- A deck can have any number of cards named Rat Colony. @@ -64237,6 +66275,18 @@ mana={1}{U} type=Sorcery [/card] [card] +name=Ravenloft Adventurer +auto=_INITIATIVE_CONTROLLER_ +auto=@combat(attacking) source(this) restriction{compare(pdungeoncompleted)~morethan~0}:name(Opponent loose life) name(Opponent loose life) all(*[counter{0/0.1.Hit}]|opponentexile) transforms((,newability[life:-1 controller])) oneshot +auto=@movedto(creature|opponentgraveyard) from(opponentbattlefield):name(Exile on death) all(*[zpos=type:*opponentgraveyard]|opponentgraveyard) moveto(exile) and!( counter(0/0.1.Hit) )! +text=When Ravenloft Adventurer enters the battlefield, you take the initiative. -- If a creature an opponent controls would die, instead exile it and put a hit counter on it. -- Whenever Ravenloft Adventurer attacks, if you've completed a dungeon, defending player loses 1 life for each card they own in exile with a hit counter on it. +mana={3}{B} +type=Creature +subtype=Human Rogue Assassin +power=3 +toughness=4 +[/card] +[card] name=Ravenous Chupacabra auto=destroy target(creature|opponentBattlefield) text=When Ravenous Chupacabra enters the battlefield, destroy target creature an opponent controls. @@ -64657,7 +66707,7 @@ name=Reason // Believe abilities=hasaftermath flashback={4}{G} name(Believe) aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=ifnot paid(flashback) then _SCRY_(3) +auto=ifnot paid(flashback) then _SCRY3_ auto=if paid(flashback) then all(*[zpos=1]|mylibrary) moveTo(myhand) and!( if cantargetcard(*[creature]|*) then transforms((,newability[may name(Put on battlefield) moveto(myBattlefield)])) oneshot )! text=Scry 3. -- Aftermath (Cast this spell only from your graveyard. Then exile it.) Look at the top card of your library. You may put it onto the battlefield if it's a creature card. If you don't, put it into your hand. mana={U} @@ -64804,7 +66854,7 @@ type=Instant name=Reckless Ringleader abilities=haste auto=name(Creature perpetually gains haste) target(creature|myhand) counter(0/0.1.PerpetualHaste) -auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualHaste}]) transforms((,newability[haste])) forever dontremove +auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualHaste}]) haste)) forever dontremove text=Haste -- When Reckless Ringleader enters the battlefield, choose a creature card in your hand. It perpetually gains haste. mana={R} type=Creature @@ -64919,6 +66969,13 @@ power=1 toughness=1 [/card] [card] +name=Recruitment Drive +auto=name(Roll a d20) rolld20 20 winability token(Knight,Creature Knight,2/2,white)*3 winabilityend loseability if compare(lastrollresult)~lessthan~10 then token(Soldier,Creature Soldier,1/1,white)*2 else token(Knight,Creature Knight,2/2,white)*2 loseabilityend rolld20end +text=Roll a d20. -- 1-9 | Create two 1/1 white Soldier creature tokens. -- 10-19 | Create two 2/2 white Knight creature tokens. -- 20 | Create three 2/2 white Knight creature tokens. +mana={2}{W} +type=Sorcery +[/card] +[card] name=Recruitment Officer auto={3}{W}:name(look) reveal:4 optionone name(Get a card) target(<1>creature[manacost<=3]|reveal) moveto(ownerhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text={3}{W}: Look at the top four cards of your library. You may reveal a creature card with mana value 3 or less from among them and put it into your hand. Put the rest on the bottom of your library in a random order. @@ -65372,6 +67429,19 @@ mana={3} type=Artifact [/card] [card] +name=Relic Ward +abilities=asflash +other={1}{W} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +target=artifact +auto=teach(creature) shroud +text=You may cast Relic Ward as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant artifact -- Enchanted artifact has shroud. (It can't be the target of spells or abilities.) +mana={1}{W} +type=Enchantment +subtype=Aura +[/card] +[card] name=Relic of Legends auto={T}:Add{W} auto={T}:Add{U} @@ -65410,9 +67480,8 @@ type=Instant [/card] [card] name=Remember the Fallen -target=*[creature;artifact]|mygraveyard -auto=choice name(Choose one) moveto(myhand) -auto=choice name(Choose both) moveto(myhand) && moveto(myhand) target(*[creature;artifact]|mygraveyard) +auto=ability$! name(Return target creature) may name(Return target creature) moveto(myhand) target(creature|mygraveyard) !$ controller +auto=ability$! name(Return target artifact) may name(Return target artifact) moveto(myhand) target(artifact|mygraveyard) !$ controller text=Choose one or both Return target creature card from your graveyard to your hand; and/or return target artifact card from your graveyard to your hand. mana={2}{W} type=Sorcery @@ -65669,7 +67738,7 @@ toughness=2 [card] name=Resculpt target=artifact,creature -auto=moveto(exile) and!( transforms((,newability[token(Elemental^Creature Elemental^4/4^blue^red)])) oneshot +auto=moveto(exile) and!( transforms((,newability[token(Elemental^Creature Elemental^4/4^blue^red)])) )! oneshot text=Exile target artifact or creature. Its controller creates a 4/4 blue and red Elemental creature token. mana={1}{U} type=Instant @@ -65686,7 +67755,7 @@ type=Instant [card] name=Research Thief abilities=flash,flying -auto=@combatdamaged(player) from(creature[artifact]|myBattlefield):may draw:1 +auto=@combatdamaged(player) from(creature[artifact]|myBattlefield):draw:1 text=Flash -- Flying -- Whenever an artifact creature you control deals combat damage to a player, draw a card. mana={4}{U} type=Artifact Creature @@ -65704,7 +67773,7 @@ type=Sorcery [card] name=Resilient Khenra auto=may target(creature) dynamicability ueot -autograveyard={4}{G}{G}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={4}{G}{G}{E}:_ETERNALIZE_ text=When Resilient Khenra enters the battlefield, you may have target creature get +X/+X until end of turn, where X is Resilient Khenra's power. -- Eternalize {4}{G}{G} ({4}{G}{G}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Jackal Wizard with no mana cost. Eternalize only as a sorcery.) mana={1}{G} type=Creature @@ -65888,8 +67957,7 @@ type=Sorcery name=Restorative Burst abilities=doublefacedeath auto=name(Return to hand) target(*[creature;land;planeswalker]|mygraveyard) moveto(myhand) -auto=life:4 opponent -auto=life:4 controller +auto=all(player) life:4 text=Return up to two target creature, land, and/or planeswalker cards from your graveyard to your hand. Each player gains 4 life. Exile Restorative Burst. // {2}{B} Pestilent Cauldron mana={3}{G}{G} type=Sorcery @@ -66437,7 +68505,7 @@ subtype=Trap name=Riddleform aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=@movedTo(*[-creature]|mystack):may transforms((Sphinx Creature,setpower=3,settoughness=3,flying)) ueot -auto={2}{U}:_SCRY_(1) +auto={2}{U}:_SCRY1_ text=Whenever you cast a noncreature spell, you may have Riddleform become a 3/3 Sphinx creature with flying in addition to its other types until end of turn. -- {2}{U}: Scry 1. mana={1}{U} type=Enchantment @@ -66578,6 +68646,19 @@ mana={R} type=Sorcery [/card] [card] +name=Rilsa Rael, Kingpin +abilities=deathtouch +auto=_INITIATIVE_CONTROLLER_ +auto=@each my blockers restriction{compare(pdungeoncompleted)~morethan~0}:name(Choose a creature) target(creature[attacking]|myBattlefield) transforms((,newability[deathtouch],newability[first strike],newability[5/0],newability[menace])) ueot +auto=@each my blockers restriction{compare(pdungeoncompleted)~equalto~0}:name(Choose a creature) target(creature[attacking]|myBattlefield) transforms((,newability[deathtouch])) ueot +text=Deathtouch -- When Rilsa Rael, Kingpin enters the battlefield, you take the initiative. -- Whenever you attack, target attacking creature gains deathtouch until end of turn. If you've completed a dungeon, that creature also gets +5/+0 and gains first strike and menace until end of turn. +mana={3}{U}{B} +type=Legendary Creature +subtype=Human Rogue +power=2 +toughness=5 +[/card] +[card] name=Rime Tender auto={T}:untap target(other *[snow]|battlefield) text={T}: Untap another target snow permanent. @@ -67222,6 +69303,7 @@ type=Instant [card] name=Riveteers Decoy other={3}{G}:name(Blitz) +auto=transforms((,_MUST_BE_BLOCKD_)) forever auto=if paid(alternative) then moveto(mybattlefield) and!( transforms((,newability[haste],newability[_DIES_draw:1],newability[treason])) forever )! asSorcery text=Riveteers Decoy must be blocked if able. -- Blitz {3}{G} (If you cast this spell for its blitz cost, it gains haste and "When this creature dies, draw a card." Sacrifice it at the beginning of the next end step.) mana={1}{G} @@ -67254,8 +69336,8 @@ toughness=1 [/card] [card] name=Rix Maadi Reveler -auto=if paid(alternative) then reject all(*|myhand) and!(draw:3)! -auto=if type(*|myhand)~morethan~0 then ability$! reject notatarget(*|myhand) and!(draw:1)! !$ controller +auto=if paid(alternative) then reject all(*|myhand) && draw:3 +auto=ifnot paid(alternative) then if type(*|myhand)~morethan~0 then ability$! _DISCARD&DRAW_ !$ controller text=Spectacle {2}{B}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- When Rix Maadi Reveler enters the battlefield, discard a card, then draw a card. If Rix Maadi Reveler's spectacle cost was paid, instead discard your hand, then draw three cards. other={2}{B}{R} name(Spectacle) otherrestriction=compare(oplifelost)~morethan~0 @@ -67645,7 +69727,7 @@ toughness=2 [/card] [card] name=Root Snare -auto=preventAllcombatDamage ueotauto=preventAllcombatDamage ueot +auto=preventAllcombatDamage ueot text=Prevent all combat damage that would be dealt this turn. mana={1}{G} type=Instant @@ -67727,6 +69809,18 @@ power=2 toughness=1 [/card] [card] +name=Rootwire Amalgam +other={1}{G} name(prototype) +auto=if paid(alternative) then becomes(,2/3,green) +auto={3}{G}{G}{S}:create(golem:artifact creature golem:thricepower/thricepower:haste ueot) asSorcery +text=Prototype {1}{G} - 2/3 (You may cast this spell with different mana cost, color, and size. It keeps its abilities and types.) -- {3}{G}{G}, Sacrifice Rootwire Amalgam: Create an X/X colorless Golem artifact creature token, where X is three times Rootwire Amalgam's power. It gains haste until end of turn. Activate only as a sorcery. +mana={5} +type=Artifact Creature +subtype=Golem +power=5 +toughness=5 +[/card] +[card] name=Rosemane Centaur abilities=vigilance other={convoke} name(Convoke) @@ -67980,7 +70074,7 @@ name=Rubble Reading target=land auto=destroy aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Destroy target land. Scry 2. mana={3}{R} type=Sorcery @@ -68037,9 +70131,59 @@ power=3 toughness=3 [/card] [card] +name=Rug of Smothering +abilities=flying +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~1}:name(Loose 1 life) life:-1 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~2}:name(Loose 2 life) life:-2 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~3}:name(Loose 3 life) life:-3 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~4}:name(Loose 4 life) life:-3 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~5}:name(Loose 5 life) life:-3 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~6}:name(Loose 6 life) life:-3 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~7}:name(Loose 7 life) life:-3 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~8}:name(Loose 8 life) life:-3 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~9}:name(Loose 9 life) life:-3 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~10}:name(Loose 10 life) life:-10 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~11}:name(Loose 11 life) life:-11 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~12}:name(Loose 12 life) life:-12 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~13}:name(Loose 13 life) life:-13 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~14}:name(Loose 14 life) life:-14 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~15}:name(Loose 15 life) life:-15 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~16}:name(Loose 16 life) life:-16 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~17}:name(Loose 17 life) life:-17 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~18}:name(Loose 18 life) life:-18 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~19}:name(Loose 19 life) life:-19 controller +auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~morethan~19}:name(Loose 20 life) life:-20 controller +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~1}:name(Loose 1 life) life:-1 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~2}:name(Loose 2 life) life:-2 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~3}:name(Loose 3 life) life:-3 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~4}:name(Loose 4 life) life:-3 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~5}:name(Loose 5 life) life:-3 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~6}:name(Loose 6 life) life:-3 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~7}:name(Loose 7 life) life:-3 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~8}:name(Loose 8 life) life:-3 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~9}:name(Loose 9 life) life:-3 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~10}:name(Loose 10 life) life:-10 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~11}:name(Loose 11 life) life:-11 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~12}:name(Loose 12 life) life:-12 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~13}:name(Loose 13 life) life:-13 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~14}:name(Loose 14 life) life:-14 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~15}:name(Loose 15 life) life:-15 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~16}:name(Loose 16 life) life:-16 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~17}:name(Loose 17 life) life:-17 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~18}:name(Loose 18 life) life:-18 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~equalto~19}:name(Loose 19 life) life:-19 opponent +auto=@movedTo(*|opponentstack) restriction{thisturn(*[instant;sorcery]|opponentstack)~morethan~19}:name(Loose 20 life) life:-20 opponent +text=Flying -- Whenever a player casts a spell, they lose 1 life for each spell they've cast this turn. +mana={3} +type=Artifact Creature +subtype=Construct +power=1 +toughness=3 +[/card] +[card] name=Ruin Crab auto=_LANDFALL_deplete:3 opponent -text=Landfall - Whenever a land enters the battlefield under your control, each opponent mills three cards. (To mill a card, a player puts the top card of their library into their graveyard.) +text=Landfall - Whenever a land enters the battlefield under your control, each opponent mills three cards. (To mill a card, a player mills a card.) mana={U} type=Creature subtype=Crab @@ -68051,8 +70195,7 @@ name=Ruin Grinder abilities=menace aicode=activate moveTo(myhand) target(mountain|myLibrary) autohand={2}{cycle}:name(search card) reveal:plibrarycount optionone name(choose card) target(mountain|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(myhand))! afterrevealedend revealend -auto=_DIES_draw:7 opponent -auto=_DIES_draw:7 controller +auto=_DIES_all(player) draw:7 auto=_DIES_reject all(*|hand) text=Menace -- When Ruin Grinder dies, each player may discard their hand and draw seven cards. -- Mountaincycling {2} ({2}, Discard this card: Search your library for a Mountain card, reveal it, put it into your hand, then shuffle.) mana={5}{R} @@ -68204,7 +70347,7 @@ toughness=6 [card] name=Rumbling Sentry aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=When Rumbling Sentry enters the battlefield, scry 1. mana={3}{W}{W} type=Creature @@ -68459,7 +70602,7 @@ type=Sorcery [card] name=Runic Shot kicker={U} -auto=if paid(kicker) then _SCRY_(2) +auto=if paid(kicker) then _SCRY2_ target=creature[tapped] auto=destroy text=Kicker {U} (You may pay an additional {U} as you cast this spell.) -- Destroy target tapped creature. If this spell was kicked, scry 2. @@ -68775,6 +70918,18 @@ power=2 toughness=2 [/card] [card] +name=Safana, Calimport Cutthroat +abilities=menace,backgroundpartner +auto=@each my endofturn restriction{compare(pdungeoncompleted)~morethan~0}:name(Create 3 treasure) token(Treasure Sur)*3 +auto=@each my endofturn restriction{compare(pinitiative)~morethan~0,compare(pdungeoncompleted)~equalto~0}:name(Create 1 treasure) token(Treasure Sur) +text=Menace -- At the beginning of your end step, if you have the initiative, create a Treasure token. Create three of those tokens instead if you've completed a dungeon. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{B} +type=Legendary Creature +subtype=Human Rogue +power=3 +toughness=2 +[/card] +[card] name=Sage of Hours auto=_HEROIC_counter(1/1) auto={0}:this(counter{1/1.1}=5) turns:+1 controller && removeallcounters(1/1) @@ -68808,7 +70963,7 @@ toughness=1 [card] name=Sage of Mysteries auto=_CONSTELLATION_deplete:2 target(player) -text=Constellation -- Whenever an enchantment enters the battlefield under your control, target player puts the top two cards of their library into their graveyard. +text=Constellation -- Whenever an enchantment enters the battlefield under your control, target player mills two cards. mana={U} type=Creature subtype=Human Wizard @@ -68846,7 +71001,7 @@ toughness=5 [card] name=Sage's Row Savant aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=When Sage's Row Savant enters the battlefield, scry 2. mana={1}{U} type=Creature @@ -68968,6 +71123,17 @@ power=1 toughness=4 [/card] [card] +name=Sailors' Bane +anyzone=foreach(*[instant;sorcery;adventure]|mygraveyard,myexile) changecost(colorless:-1) forcedalive +auto=_WARD_(4) +text=This spell costs {1} less to cast for each card you own in exile and in your graveyard that's an instant card, a sorcery card, or a card that has an Adventure. -- Ward {4} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {4}.) +mana={7}{U}{U} +type=Creature +subtype=Dragon Turtle +power=7 +toughness=7 +[/card] +[card] name=Sakashima of a Thousand Faces abilities=partner,legendruleremove auto=may copy target(creature|mybattlefield) && all(this) transforms((,newability[partner],newability[legendruleremove])) forever @@ -69059,7 +71225,7 @@ subtype=Aura [/card] [card] name=Samite Herbalist -auto=@tapped(this):name(Scry 1) transforms((,newability[life:1],newability[_SCRY_(1)])) +auto=@tapped(this):name(Scry 1) transforms((,newability[life:1],newability[_SCRY1_])) text=Whenever Samite Herbalist becomes tapped, you gain 1 life and scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{W} type=Creature @@ -69081,7 +71247,7 @@ target=creature auto=+2/+1 auto=haste aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets +2/+1 and gains haste until end of turn. Scry 1. mana={R} type=Instant @@ -69260,7 +71426,7 @@ subtype=Shrine [/card] [card] name=Sanctum of Calm Waters -auto=@each my firstmain:may foreach(*[shrine]|mybattlefield) name(draw a card for each shrine) draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot +auto=@each my firstmain:may foreach(*[shrine]|mybattlefield) name(draw a card for each shrine) _LOOT_ text=At the beginning of your precombat main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card. mana={3}{U} type=Legendary Enchantment @@ -69425,6 +71591,23 @@ mana={U} type=Instant [/card] [card] +name=Sapphire Dragon // Psionic Pulse +abilities=flying,adventure,asflash +restriction=can play creature +otherrestriction=type(*[-creature]|stack)~morethan~0 +other={2}{U} name(Adventure) +auto=if paid(alternative) then name(Counter noncreature spell) name(Counter noncreature spell) target(*[-creature]|stack) fizzle +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=_ATTACKING_name(Scry 2) _SCRY2_ +auto=@combat(blocking) source(this):name(Scry 2) _SCRY2_ +text=Flying -- Whenever Sapphire Dragon attacks or blocks, scry 2. // Counter target noncreature spell. (Then exile this card. You may cast the creature later from exile.) +mana={5}{U}{U} +type=Creature +subtype=Dragon +power=5 +toughness=6 +[/card] +[card] name=Saprazzan Breaker auto={U}:reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[target(<1>*|reveal) moveto(mygraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then transforms((,newability[unblockable ueot],newability[target(<1>*|reveal) moveto(mygraveyard)])) optiontwoend revealend text={U}: Put the top card of your library into your graveyard. If that card is a land card, Saprazzan Breaker is unblockable this turn. @@ -69464,7 +71647,7 @@ type=Enchantment [card] name=Saproling Cluster auto={1}{D(*|myhand)}:token(Saproling,Creature Saproling,1/1,green) -auto=foreach(land[-tapped]|opponentBattlefield) transforms((,newability[if type(*|myhand)~morethan~0 then ability$!name(Pay 1 and discard) pay[[{1}]] name(Pay 1 and discard) discard:1 && token(Saproling^Creature Saproling^1/1^green)?donothing!$ opponent])) forever +auto=foreach(land[-tapped]|opponentBattlefield) transforms((,newability[if type(*|myhand)~morethan~0 then ability$!name(Pay 1 and discard) pay[[{1}]] name(Pay 1 and discard) notatarget(*|myhand) reject && token(Saproling^Creature Saproling^1/1^green)?donothing!$ opponent])) forever text={1}, Discard a card: Put a 1/1 green Saproling creature token onto the battlefield. Any player may activate this ability. mana={1}{G} type=Enchantment @@ -69516,6 +71699,30 @@ power=1 toughness=1 [/card] [card] +name=Sarevok, Deathbringer +abilities=backgroundpartner +auto=@movedto(*|nonbattlezone) from(battlefield):name(Some permanent left) counter(0/0,1,SarevokEffect) +auto=@each opponent end restriction{compare(hascntsarevokeffect)~equalto~0}:name(Opponent loses life) life:-power opponent +auto=@each my end restriction{compare(hascntsarevokeffect)~equalto~0}:name(Player loses life) life:-power controller +auto=@each end restriction{compare(hascntsarevokeffect)~morethan~0}:name(Reset permanent count) removeallcounters(0/0,1,SarevokEffect) +text=At the beginning of each player's end step, if no permanents left the battlefield this turn, that player loses X life, where X is Sarevok's power. -- Choose a Background (You can have a Background as a second commander.) +mana={3}{B} +type=Legendary Creature +subtype=Human Knight +power=3 +toughness=4 +[/card] +[card] +name=Sarevok's Tome +auto=_INITIATIVE_CONTROLLER_ +auto=this(variable{pinitiative}>0) {T}:Add{C}{C} +auto=this(variable{pinitiative}=0) {T}:Add{C} +auto=this(variable{pdungeoncompleted}>0) {3}{T}:name(Exile cards) target(*[zpos=findfirsttypenonland]|mylibrary) moveto(myexile) and!( transforms((,newability[may name(Cast card for zero) activate castcard(normal)],newability[all(*[zpos<=findfirsttypenonland]|mylibrary) moveto(exile)])) oneshot )! +text=When Sarevok's Tome enters the battlefield, you take the initiative. -- {T}: Add {C}. If you have the initiative, add {C}{C} instead. -- {3}, {T}: Exile cards from the top of your library until you exile a nonland card. You may cast that card without paying its mana cost. Activate only if you've completed a dungeon. +mana={4} +type=Artifact +[/card] +[card] name=Sarkhan's Catharsis target=player,planeswalker auto=damage:5 @@ -69641,7 +71848,7 @@ auto=lord(plains|myBattlefield) transforms((,newability[foreach(other plains[sha auto=lord(swamp|myBattlefield) transforms((,newability[foreach(other swamp[share!name!]|mybattlefield) produceextra:{B}])) auto=lord(mountain|myBattlefield) transforms((,newability[foreach(other mountain[share!name!]|mybattlefield) produceextra:{R}])) auto=lord(island|myBattlefield) transforms((,newability[foreach(other island[share!name!]|mybattlefield) produceextra:{U}])) -auto=lord(land[-island;-mountain;-plains;-swamp;forest]|myBattlefield) transforms((,newability[foreach(other land[share!name!]|mybattlefield) produceextra:{1}])) +auto=lord(land[-island;-mountain;-plains;-swamp;-forest]|myBattlefield) transforms((,newability[foreach(other land[share!name!]|mybattlefield) produceextra:{1}])) text=Whenever a land you control is tapped for mana, for each other land you control with the same name, add one mana to your mana pool of any type that land produced. mana={1}{G}{G} type=Legendary Enchantment @@ -69668,7 +71875,7 @@ toughness=2 [/card] [card] name=Satyr Piper -auto={3}{G}:target(creature) transforms((,newability[_ATTACKING_all(creature|opponentbattlefield) mustblock ueot])) ueot +auto={3}{G}:target(creature) transforms((,_MUST_BE_BLOCKD_)) ueot text={3}{G}: Target creature must be blocked this turn if able. mana={2}{G} type=Creature @@ -69995,6 +72202,16 @@ power=1 toughness=3 [/card] [card] +name=Scaled Nurturer +auto={T}:name(Add green mana) transforms((,newability[add{G}],newability[@movedto(creature[dragon]|mystack) turnlimited:name(Gain 2 life) life:2 controller])) ueot +text={T}: Add {G}. When you spend this mana to cast a Dragon creature spell, you gain 2 life. +mana={1}{G} +type=Creature +subtype=Dragon Druid +power=0 +toughness=2 +[/card] +[card] name=Scalelord Reckoner abilities=flying auto=@targeted(dragon|mybattlefield) from(*|opponentbattlefield,opponenthand,opponentstack,opponentgraveyard,opponentexile,opponentlibrary):destroy target(*[-land]|opponentbattlefield) @@ -70168,6 +72385,17 @@ type=Artifact subtype=Equipment [/card] [card] +name=Schema Thief +abilities=flying +auto=@combatdamaged(player) from(this):clone target(artifact|opponentBattlefield) +text=Flying -- Whenever Schema Thief deals combat damage to a player, create a token that's a copy of target artifact that player controls. +mana={3}{U} +type=Creature +subtype=Vedalken Rogue Artificer +power=3 +toughness=3 +[/card] +[card] name=Scheming Symmetry auto=ability$!choice name(search a card) notatarget(*|mylibrary) moveto(mylibrary)!$ controller auto=ability$!choice name(search a card) notatarget(*|mylibrary) moveto(mylibrary)!$ opponent @@ -70245,6 +72473,15 @@ power=4 toughness=4 [/card] [card] +name=Scion of Halaster +aicode=activate transforms((,newability[target(*[zpos<=2]|mylibrary) moveto(myhand) and!( all(*[zpos<=2]|mylibrary) moveto(myreveal) and!( moveto(mygraveyard) )! )!])) oneshot +auto=this(variable{pdrewcount}=0) lord(*[iscommander]|mybattlefield) transforms((,newability[replacedraw reveal:2 optionone name(Put into graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back on top) all(*|reveal) moveto(mylibrary) optiontwoend afterrevealed draw:1 controller afterrevealedend revealend])) +text=Commander creatures you own have "The first time you would draw a card each turn, instead look at the top two cards of your library. Put one of them into your graveyard and the other back on top of your library. Then draw a card." +mana={1}{B} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Scion of Opulence auto=@movedto(vampire|graveyard) from(mybattlefield):name(Create treasure) token(Treasure Sur) auto={R}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! @@ -70418,7 +72655,7 @@ toughness=6 name=Scourge of the Skyclaves anyzone=-highestlifetotal/-highestlifetotal cdaactive kicker={4}{B} -auto=if paid(kicker) then transforms((,newability[life:-halfuplifetotal controller],newability[life:-halfupopponentlifetotal opponent] +auto=if paid(kicker) then transforms((,newability[life:-halfuplifetotal controller],newability[life:-halfupopponentlifetotal opponent])) auto=20/20 text=Kicker {4}{B} -- When you cast this spell, if it was kicked, each player loses half their life, rounded up. -- Scourge of the Skyclaves's power and toughness are each equal to 20 minus the highest life total among players. mana={1}{B} @@ -70508,7 +72745,7 @@ name=Screaming Shield auto=teach(creature) 0/3 auto=teach(creature) {2}{T}:deplete:3 target(player) auto={3}:equip -text=Equipped creature gets +0/+3 and has "{2}, {T}: Target player puts the top three cards of their library into their graveyard." -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) +text=Equipped creature gets +0/+3 and has "{2}, {T}: Target player mills three cards." -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) mana={1} type=Artifact subtype=Equipment @@ -70518,7 +72755,7 @@ name=Screaming Swarm abilities=flying auto=@combat(attacking) source(creature|mybattlefield):name(Opponent mills a card) deplete:1 opponent autograveyard={2}{U}:name(Put in library) placefromthetop(2) -text=Flying -- Whenever you attack with one or more creatures, target player mills that many cards. (To mill a card, a player puts the top card of their library into their graveyard.) -- {2}{U}: Put Screaming Swarm from your graveyard into your library second from the top. +text=Flying -- Whenever you attack with one or more creatures, target player mills that many cards. (To mill a card, a player mills a card.) -- {2}{U}: Put Screaming Swarm from your graveyard into your library second from the top. mana={5}{U} type=Creature subtype=Bird Horror @@ -70576,6 +72813,34 @@ power=3 toughness=4 [/card] [card] +name=Sculpted Sunburst +target=creature|mybattlefield +auto=moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! +auto=if cantargetcard(*[power=1]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=1]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=2]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=2]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=3]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=3]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=4]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=4]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=5]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=5]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=6]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=6]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=7]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=7]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=8]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=8]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=9]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=9]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=10]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=10]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=11]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=11]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=12]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=12]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=13]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=13]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=14]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=14]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=15]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=15]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=16]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=16]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=17]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=17]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=18]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=18]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power=19]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=19]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +auto=if cantargetcard(*[power>=20]|*) then ability$!name(Choose a creature) name(Choose a creature) target(creature[power<=20]|mybattlefield) moveto(mybattlefield) and!( all(other creature[mybattlefield]) moveto(exile) )! !$ opponent +text=Choose a creature you control, then each opponent chooses a creature they control with equal or lesser power. If you chose a creature this way, exile each creature not chosen by any player this way. +mana={3}{W}{W} +type=Sorcery +[/card] +[card] name=Sculptor of Winter auto={T}:target(land[snow]|battlefield) untap text={T}: Untap target snow land. @@ -70730,6 +72995,21 @@ mana={4}{U}{U} type=Sorcery [/card] [card] +name=Sea Hag // Aquatic Ingress +abilities=adventure,asflash +restriction=can play creature +other={2}{U} name(Adventure) +auto=if paid(alternative) then may name(Choose creatures) name(Choose creatures) target(*creature|battlefield) transforms((,newability[1/0],newability[unblockable])) ueot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=ifnot paid(alternative) then name(Opponent's gain creatures -4/-0) name(Opponent's creatures gain -4/-0) all(creature|opponentBattlefield) transforms((,newability[-4/-0])) ueot +text=When Sea Hag enters the battlefield, creatures your opponents control get -4/-0 until end of turn. // Up to two target creatures each get +1/+0 until end of turn and can't be blocked this turn. (Then exile this card. You may cast the creature later from exile.) +mana={4}{U} +type=Creature +subtype=Hag +power=3 +toughness=5 +[/card] +[card] name=Sea Legs abilities=flash target=creature @@ -70908,7 +73188,7 @@ type=Land [card] name=Season of Growth aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedto(creature|mybattlefield):_SCRY_(1) +auto=@movedto(creature|mybattlefield):_SCRY1_ auto=@targeted(creature|myBattlefield) from(instant,sorcery|mystack):draw:1 controller auto=@targeted(creature|mybattlefield) from(*[instant;sorcery]|nonbattlezone,stack):draw:1 controller text=Whenever a creature enters the battlefield under your control, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- Whenever you cast a spell that targets a creature you control, draw a card. @@ -70935,6 +73215,18 @@ power=3 toughness=3 [/card] [card] +name=Seasoned Dungeoneer +auto=_INITIATIVE_CONTROLLER_ +aicode=activate transforms((,newability[explores],newability[if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)])) oneshot +auto=@each my blockers:name(Gains protection) target(*[cleric;rogue;warrior;wizard]|myBattlefield) transforms((,newability[protection from creatures],newability[name(Explores) reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend afterrevealed explores afterrevealedend revealend])) oneshot +text=When Seasoned Dungeoneer enters the battlefield, you take the initiative. -- Whenever you attack, target attacking Cleric, Rogue, Warrior, or Wizard gains protection from creatures until end of turn. It explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on the creature, then put the card back or put it into your graveyard.) +mana={3}{W} +type=Creature +subtype=Human Warrior +power=3 +toughness=4 +[/card] +[card] name=Seasoned Hallowblade auto={D(*|myhand)}:tap(noevent) && indestructible ueot text=Discard a card: Tap Seasoned Hallowblade. It gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.) @@ -70967,7 +73259,7 @@ type=Sorcery name=Second Sight aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=5]|mylibrary) moverandom(*[zpos<=5]) from(mylibrary) to(mylibrary)])) ueot aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=5]|opponentlibrary) moverandom(*[zpos<=5]) from(opponentlibrary) to(opponentlibrary)])) ueot -other={2}{U}[U} name(Entwine) +other={2}{U}{U} name(Entwine) auto=ifnot paid(alternative) then choice name(Look your library) reveal:5 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend auto=ifnot paid(alternative) then choice name(Look opponent library) reveal:5 revealzone(opponentlibrary) optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(opponentlibrary) optiontwoend revealend auto=if paid(alternative) then name(Look opponent library) reveal:5 revealzone(opponentlibrary) optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(opponentlibrary) optiontwoend revealend @@ -71052,7 +73344,7 @@ type=Sorcery name=Security Bypass target=creature auto=teach(creature) transforms((,newability[@combat(attacking) source(this) restriction{type(creature[attacking]|myBattlefield)~lessthan~2}:all(this) unblockable ueot oneShot])) -auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):_CONNIVES_])) forever +auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):_CONNIVES_])) forever text=Enchant creature -- As long as enchanted creature is attacking alone, it can't be blocked. -- Enchanted creature has "Whenever this creature deals combat damage to a player, it connives." (Its controller draws a card, then discards a card. If they discarded a nonland card, they put a +1/+1 counter on this creature.) mana={1}{U} type=Enchantment @@ -71124,7 +73416,7 @@ toughness=2 [card] name=Seer of the Last Tomorrow auto={U}{T}{D(*|myhand)}:deplete:3 target(player) -text={U}, {T}, Discard a card: Target player puts the top three cards of his or her library into his or her graveyard. +text={U}, {T}, Discard a card: Target player mills three cards. mana={2}{U} type=Creature subtype=Naga Cleric @@ -71351,7 +73643,7 @@ toughness=2 [/card] [card] name=Selvala, Explorer Returned -auto={T}:reveal:1 revealzone(mylibrary) optionone if type(land|reveal)~lessthan~1 then transforms(([,newability[add{G}],newability[life:1 controller])) ueot optiononeend optiontwo target(<1>*|reveal) moveto(mylibrary) optiontwoend afterrevealed draw:1 controller afterrevealedend revealend && reveal:1 revealzone(opponentlibrary) optionone if type(land|reveal)~lessthan~1 then transforms(([,newability[add{G}],newability[life:1 controller])) ueot optiononeend optiontwo target(<1>*|reveal) moveto(opponentlibrary) optiontwoend afterrevealed draw:1 opponent afterrevealedend revealend +auto={T}:reveal:1 revealzone(mylibrary) optionone if type(land|reveal)~lessthan~1 then transforms((,newability[add{G}],newability[life:1 controller])) ueot optiononeend optiontwo target(<1>*|reveal) moveto(mylibrary) optiontwoend afterrevealed draw:1 controller afterrevealedend revealend && reveal:1 revealzone(opponentlibrary) optionone if type(land|reveal)~lessthan~1 then transforms(([,newability[add{G}],newability[life:1 controller])) ueot optiononeend optiontwo target(<1>*|reveal) moveto(opponentlibrary) optiontwoend afterrevealed draw:1 opponent afterrevealedend revealend text=Parley-{T}: Each player reveals the top card of his or her library. For each nonland card revealed this way, add {G} to your mana pool and you gain 1 life. Then each player draws a card. mana={1}{G}{W} type=Legendary Creature @@ -71374,7 +73666,7 @@ toughness=3 [card] name=Semester's End target=*[creature;planeswalker]|mybattlefield -auto=moveto(exile) and!( transforms((,newability[phaseaction[endofturn once checkex] moveTo(ownerbattlefield)],newability[@movedto(this|battlefield) from(exile):if cantargetcard(creature|*) then counter(1/1) else counter(0/0.1.Loyalty)])) ueot +auto=moveto(exile) and!( transforms((,newability[phaseaction[endofturn once checkex] moveTo(ownerbattlefield)],newability[@movedto(this|battlefield) from(exile):if cantargetcard(creature|*) then counter(1/1) else counter(0/0.1.Loyalty)])) ueot )! text=Exile any number of target creatures and/or planeswalkers you control. At the beginning of the next end step, return each of them to the battlefield under its owner's control. Each of them enters the battlefield with an additional +1/+1 counter on it if it's a creature and an additional loyalty counter on it if it's a planeswalker. mana={3}{W} type=Instant @@ -71404,7 +73696,7 @@ toughness=4 name=Senate Griffin abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Flying -- When Senate Griffin enters the battlefield, scry 1. mana={2}{WU}{WU} type=Creature @@ -71456,7 +73748,7 @@ type=Conspiracy [card] name=Sentinel Totem aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=When Sentinel Totem enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}, Exile Sentinel Totem: Exile all cards from all graveyards. mana={1} type=Artifact @@ -71581,7 +73873,7 @@ name=Seraph of the Scales abilities=flying auto={W}:vigilance auto={B}:deathtouch -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying)*2 +auto=_DIES__AFTERLIFETOKEN_*2 text=Flying -- {W}: Seraph of the Scales gains vigilance until end of turn. -- {B}: Seraph of the Scales gains deathtouch until end of turn. -- Afterlife 2 (When this creature dies, create two 1/1 white and black Spirit creature tokens with flying.) mana={2}{W}{B} type=Creature @@ -71743,7 +74035,7 @@ toughness=2 name=Serum Sovereign abilities=flying auto=@movedTo(*[-creature]|mystack):counter(0/0,1,oil) -auto={U}{C(0/0,-1,oil)}:draw:1 && _SCRY_(2) +auto={U}{C(0/0,-1,oil)}:draw:1 && _SCRY2_ text=Flying -- Whenever you cast a noncreature spell, put an oil counter on Serum Sovereign. -- {U}, Remove an oil counter from Serum Sovereign: Draw a card, then scry 2. mana={4}{U} type=Creature @@ -72139,6 +74431,17 @@ mana={2}{R} type=Instant [/card] [card] +name=Shalai and Hallar +abilities=flying,vigilance +auto=@counteradded(1/1) source(creature|myBattlefield):damage:1 target(opponent) +text=Flying, vigilance -- Whenever one or more +1/+1 counters are put on a creature you control, Shalai and Hallar deals that much damage to target opponent. +mana={1}{R}{G}{W} +type=Legendary Creature +subtype=Angel Elf +power=3 +toughness=3 +[/card] +[card] name=Shalai's Acolyte abilities=flying kicker={1}{G} @@ -72215,6 +74518,14 @@ power=3 toughness=3 [/card] [card] +name=Shameless Charlatan +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[{2}{U}:name(Copy a creature) target(creature|battlefield) copy])) +text=Commander creatures you own have "{2}{U}: This creature becomes a copy of another target creature." +mana={1}{U} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Shanid, Sleepers' Scourge abilities=menace auto=lord(other legendary[creature]|myBattlefield) menace @@ -72511,7 +74822,7 @@ name=Sheltering Light target=creature auto=indestructible aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gains indestructible until end of turn. Scry 1. (Damage and effects that say "destroy" don't destroy the creature.) mana={W} type=Instant @@ -72822,7 +75133,7 @@ subtype=Aura [/card] [card] name=Shipbreaker Kraken -auto=this(cantargetcard(*[-monstrous]) {6}{U}{U}:becomes(monstrous) forever && counter(1/1,4) && transforms((,newability[aslongas(Shipbreaker Kraken|myBattlefield) tap target(upto<4>[creature]|battlefield)frozen])) forever +auto=this(cantargetcard(*[-monstrous]) {6}{U}{U}:becomes(monstrous) forever && counter(1/1,4) && transforms((,newability[aslongas(Shipbreaker Kraken|myBattlefield) target(creature) transforms((,newability[tap],newability[doesnotuntap]))])) forever text={6}{U}{U}: Monstrosity 4. (If this creature isn't monstrous, put four +1/+1 counters on it and it becomes monstrous.) -- When Shipbreaker Kraken becomes monstrous, tap up to four target creatures. Those creatures don't untap during their controllers' untap steps for as long as you control Shipbreaker Kraken. mana={4}{U}{U} type=Creature @@ -73214,6 +75525,19 @@ power=3 toughness=2 [/card] [card] +name=Sidar Jabari of Zhalfir +abilities=first strike,flying +autocommandzone=@combat(attacking) source(creature[Knight]|mybattlefield) turnlimited:_LOOT_ +auto=@combat(attacking) source(creature[Knight]|mybattlefield) turnlimited:_LOOT_ +auto=@combatdamaged(player) from(this):target(creature[Knight]|mygraveyard) moveTo(mybattlefield) +text=Eminence - Whenever you attack with one or more Knights, if Sidar Jabari of Zhalfir is in the command zone or on the battlefield, draw a card, then discard a card. -- Flying, first strike -- Whenever Sidar Jabari deals combat damage to a player, return target Knight creature card from your graveyard to the battlefield. +mana={1}{W}{U}{B} +type=Legendary Creature +subtype=Human Knight +power=4 +toughness=3 +[/card] +[card] name=Sidar Kondo of Jamuraa abilities=flanking,partner auto=lord(creature[-flying;-reach]|opponentBattlefield) cantbeblockerof(creature[power<=2]) @@ -73493,6 +75817,13 @@ power=3 toughness=3 [/card] [card] +name=Sigil of Myrkul +auto=@each my combatbegins:name(Mill a card) all(*[zpos=1]|mylibrary) moveto(mygraveyard) and!( if type(creature|mygraveyard)~morethan~3 then name(Put counter and deathtouch) name(Put counter and deathtouch) target(creature|myBattlefield) transforms((,newability[deathtouch],newability[counter(1/1)])) ueot )! +text=At the beginning of combat on your turn, mill a card. When you do, if there are four or more creature cards in your graveyard, put a +1/+1 counter on target creature you control and it gains deathtouch until end of turn. (To mill a card, put the top card of your library into your graveyard.) +mana={2}{B} +type=Enchantment +[/card] +[card] name=Sigil of Valor auto={1}:equip auto=teach(creature) transforms((,newability[@combat(attackedalone) source(this):foreach(other creature|myBattlefield) 1/1 ueot])) @@ -73742,7 +76073,7 @@ mana={1} name=Silver Raven abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Flying -- When Silver Raven enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={U} type=Artifact Creature @@ -73839,7 +76170,7 @@ toughness=2 name=Silverquill Campus aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=tap(noevent) -auto={4}{T}:name(Scry 1) _SCRY_(1) +auto={4}{T}:name(Scry 1) _SCRY1_ auto={T}:add{B} auto={T}:add{W} text=Silverquill Campus enters the battlefield tapped. -- {T}: Add {W} or {B}. -- {4}, {T}: Scry 1. @@ -73944,26 +76275,26 @@ type=Artifact [card] name=Simic Manipulator auto=evolve -auto={T}:name(remove 1 Counter) this(counter{1/1}>=1) counter(1/1,-1) target(creature[power<=1]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 2 Counter) this(counter{1/1}>=2) counter(1/1,-2) target(creature[power<=2]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 3 Counter) this(counter{1/1}>=3) counter(1/1,-3) target(creature[power<=3]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 4 Counter) this(counter{1/1}>=4) counter(1/1,-4) target(creature[power<=4]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 5 Counter) this(counter{1/1}>=5) counter(1/1,-5) target(creature[power<=5]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 6 Counter) this(counter{1/1}>=6) counter(1/1,-6) target(creature[power<=6]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 7 Counter) this(counter{1/1}>=7) counter(1/1,-7) target(creature[power<=7]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 8 Counter) this(counter{1/1}>=8) counter(1/1,-8) target(creature[power<=8]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 9 Counter) this(counter{1/1}>=9) counter(1/1,-9) target(creature[power<=9]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 10 Counter) this(counter{1/1}>=10) counter(1/1,-10) target(creature[power<=10]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 11 Counter) this(counter{1/1}>=11) counter(1/1,-11) target(creature[power<=11]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 12 Counter) this(counter{1/1}>=12) counter(1/1,-12) target(creature[power<=12]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 13 Counter) this(counter{1/1}>=13) counter(1/1,-13) target(creature[power<=13]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 14 Counter) this(counter{1/1}>=14) counter(1/1,-14) target(creature[power<=14]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 15 Counter) this(counter{1/1}>=15) counter(1/1,-15) target(creature[power<=15]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 16 Counter) this(counter{1/1}>=16) counter(1/1,-16) target(creature[power<=16]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 17 Counter) this(counter{1/1}>=17) counter(1/1,-17) target(creature[power<=17]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 18 Counter) this(counter{1/1}>=18) counter(1/1,-18) target(creature[power<=18]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 19 Counter) this(counter{1/1}>=19) counter(1/1,-19) target(creature[power<=19]|opponentbattlefield) moveto(mybattlefield) -auto={T}:name(remove 20 Counter) this(counter{1/1}>=20) counter(1/1,-20) target(creature[power<=20]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-1)}:name(remove 1 Counter) target(creature[power<=1]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-2)}:name(remove 2 Counters) target(creature[power<=2]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-3)}:name(remove 3 Counters) target(creature[power<=3]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-4)}:name(remove 4 Counters) target(creature[power<=4]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-5)}:name(remove 5 Counters) target(creature[power<=5]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-6)}:name(remove 6 Counters) target(creature[power<=6]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-7)}:name(remove 7 Counters) target(creature[power<=7]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-8)}:name(remove 8 Counters) target(creature[power<=8]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-9)}:name(remove 9 Counters) target(creature[power<=9]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-10)}:name(remove 10 Counters) target(creature[power<=10]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-11)}:name(remove 11 Counters) target(creature[power<=11]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-12)}:name(remove 12 Counters) target(creature[power<=12]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-13)}:name(remove 13 Counters) target(creature[power<=13]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-14)}:name(remove 14 Counters) target(creature[power<=14]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-15)}:name(remove 15 Counters) target(creature[power<=15]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-16)}:name(remove 16 Counters) target(creature[power<=16]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-17)}:name(remove 17 Counters) target(creature[power<=17]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-18)}:name(remove 18 Counters) target(creature[power<=18]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-19)}:name(remove 19 Counters) target(creature[power<=19]|opponentbattlefield) moveto(mybattlefield) +auto={T}{C(1/1,-20)}:name(remove 20 Counters) target(creature[power<=20]|opponentbattlefield) moveto(mybattlefield) text=Evolve (Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature.) -- {T}, Remove one or more +1/+1 counters from Simic Manipulator: Gain control of target creature with power less than or equal to the number of +1/+1 counters removed this way. mana={1}{U}{U} type=Creature @@ -74079,7 +76410,7 @@ type=Sorcery [card] name=Sinuous Striker auto={U}:1/-1 ueot -autograveyard={3}{U}{U}{D(*|myhand)}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={3}{U}{U}{D(*|myhand)}{E}:_ETERNALIZE_ text={U}: Sinuous Striker gets +1/-1 until end of turn. -- Eternalize-{3}{U}{U}, Discard a card. ({3}{U}{U}, Discard a card, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Naga Warrior with no mana cost. Eternalize only as a sorcery.) mana={2}{U} type=Creature @@ -74211,6 +76542,17 @@ power=7 toughness=5 [/card] [card] +name=Sivriss, Nightmare Speaker +abilities=backgroundpartner +auto={T}{S(other *[creature;artifact]|mybattlefield)}:name(Mill a card) all(*[zpos=1]|mylibrary) moveto(mygraveyard) and!( ability$!name(Choose one) choice name(Don't pay life) all(*[zpos=type:*:opponentgraveyard]|opponentgraveyard) moveto(opponenthand) _ choice name(Pay 3 life) life:-3 controller!$ opponent )! +text={T}, Sacrifice another creature or an artifact: For each opponent, you mill a card, then return that card from your graveyard to your hand unless that player pays 3 life. (To mill a card, put the top card of your library into your graveyard.) -- Choose a Background (You can have a Background as a second commander.) +mana={3}{B} +type=Legendary Creature +subtype=Snake Cleric Warlock +power=3 +toughness=3 +[/card] +[card] name=Sivvi's Valor other={T(creature[-tapped]|mybattlefield)} name(Tap a creature) otherrestriction=type(plains|mybattlefield)~morethan~0,type(creature[-tapped]|mybattlefield)~morethan~0 @@ -74269,6 +76611,19 @@ power=3 toughness=3 [/card] [card] +name=Skanos Dragonheart +abilities=backgroundpartner +auto=@combat(attacking) source(this) restriction{compare(power:highest:*:mybattlefield)~morethan~compare(power:highest:*:mygraveyard)}:name(Gain X/X) transforms((,newability[power:highest:*:mybattlefield/power:highest:*:mybattlefield])) ueot +auto=@combat(attacking) source(this) restriction{compare(power:highest:*:mybattlefield)~equalto~compare(power:highest:*:mygraveyard)}:name(Gain X/X) transforms((,newability[power:highest:*:mybattlefield/power:highest:*:mybattlefield])) ueot +auto=@combat(attacking) source(this) restriction{compare(power:highest:*:mygraveyard)~morethan~compare(power:highest:*:mybattlefield)}:name(Gain X/X) transforms((,newability[highest:*:mygraveyard/highest:*:mygraveyard])) ueot +text=Whenever Skanos Dragonheart attacks, it gets +X/+X until end of turn, where X is the greatest power among other Dragons you control and Dragon cards in your graveyard. -- Choose a Background (You can have a Background as a second commander.) +mana={4}{G} +type=Legendary Creature +subtype=Dragon Ranger +power=4 +toughness=4 +[/card] +[card] name=Skarrgan Hellkite abilities=flying auto=choice counter(1/1) @@ -74837,8 +77192,8 @@ type=Sorcery name=Skyclave Relic abilities=indestructible kicker={3} -auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent]))! -auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent]))! +auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent)])))! +auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent)])))! auto={T}:ability$! name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{U} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G} !$ controller text=Kicker {3} -- Indestructible -- When Skyclave Relic enters the battlefield, if it was kicked, create two tapped tokens that are copies of Skyclave Relic. -- {T}: Add one mana of any color. mana={3} @@ -74963,8 +77318,7 @@ toughness=1 [card] name=Skyrider Patrol abilities=flying -auto=@each my combatbegins:may pay({g}{u}):target(other creature|myBattlefield) counter(1/1) and!(flying)! -#&& flying ueot +auto=@each my combatbegins:may pay({g}{u}):target(other creature|myBattlefield) transforms((,newability[counter(1/1)],newability[flying])) ueot text=Flying -- At the beginning of combat on your turn, you may pay {G}{U}. When you do, put a +1/+1 counter on another target creature you control, and that creature gains flying until end of turn. mana={2}{G}{U} type=Creature @@ -75158,7 +77512,7 @@ subtype=Clue name=Slayer's Cleaver auto={4}:equip auto=teach(creature) 3/1 -auto=@combat(attacking) source(mytgt):all(*[eldrazi]|opponentbattlefield) transforms((,newability[mustblock])) ueot +auto=@combat(attacking) source(mytgt):ability$! notatarget(Eldrazi|myBattlefield) transforms((,newability[mustblock])) ueot!$ opponent text=Equipped creature gets +3/+1 and must be blocked by an Eldrazi if able. -- Equip {4} mana={3} type=Artifact @@ -75211,6 +77565,18 @@ type=Enchantment subtype=Aura [/card] [card] +name=Slimefoot and Squee +auto=_SAPROLINGTOKEN_ +auto=_ATTACKING__SAPROLINGTOKEN_ +autograveyard={1}{B}{R}{G}{S(saproling|myBattlefield)}:moveTo(battlefield) && ability$!may target(other creature|mygraveyard) moveTo(battlefield)!$ controller asSorcery +text=Whenever Slimefoot and Squee enters the battlefield or attacks, create a 1/1 green Saproling creature token. -- {1}{B}{R}{G}, Sacrifice a Saproling: Return Slimefoot and Squee and up to one other target creature card from your graveyard to the battlefield. Activate only as a sorcery. +mana={B}{R}{G} +type=Legendary Creature +subtype=Fungus Goblin +power=3 +toughness=3 +[/card] +[card] name=Slimefoot, the Stowaway auto=@movedTo(saproling|graveyard) from(mybattlefield):damage:1 each opponent && life:1 auto={4}:create(saproling:creature saproling:1/1:green:) @@ -75629,7 +77995,7 @@ target=creature auto=doesnotuntap aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=if type(*[token]|myBattlefield)~morethan~0 then teach(creature) tap -auto=if type(*[token]|myBattlefield)~morethan~0 then _SCRY_(2) +auto=if type(*[token]|myBattlefield)~morethan~0 then _SCRY2_ text=Enchant creature -- When So Shiny enters the battlefield, if you control a token, tap enchanted creature, then scry 2. -- Enchanted creature doesn't untap during its controller's untap step. mana={2}{U} type=Enchantment @@ -75647,6 +78013,20 @@ type=Enchantment subtype=Aura [/card] [card] +name=Soar +abilities=asflash +other={1}{U} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +target=creature +auto=teach(creature) +0/+1 +auto=teach(creature) flying +text=You may cast Soar as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +0/+1 and has flying. +mana={1}{U} +type=Enchantment +subtype=Aura +[/card] +[card] name=Soaring Drake abilities=flying text=Flying @@ -75659,8 +78039,7 @@ toughness=3 [card] name=Soaring Show-Off abilities=flying -auto=draw:1 -auto=draw:1 opponent +auto=all(player) draw:1 text=Flying -- When Soaring Show-Off enters the battlefield, each player draws a card. mana={2}{U} type=Creature @@ -75821,6 +78200,17 @@ toughness=1 color=white [/card] [card] +name=Solemn Doomguide +abilities=flying +auto=lord(*[cleric;rogue;warrior;wizard]|mygraveyard) {1}{B}:name(Unearth) moveto(mybattlefield) and!( transforms((,newability[haste],newability[unearth],newability[exiledeath])) forever )! asSorcery +text=Flying -- Each creature card in your graveyard that's a Cleric, Rogue, Warrior, and/or Wizard has unearth {1}{B}. ({1}{B}: Return the card to the battlefield. The creature gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery.) +mana={3}{B}{B} +type=Creature +subtype=Tiefling Cleric +power=4 +toughness=5 +[/card] +[card] name=Solemnity abilities=poisonshroud,energyshroud,expshroud auto=lord(*|opponentBattlefield) poisonshroud @@ -76116,8 +78506,8 @@ type=Enchantment [/card] [card] name=Soul Diviner -auto={T}:counter(1/1,-1) notATarget(*[artifact;creature;land;counter{1/1.1}]|myBattlefield)} && draw:1 controller -auto={T}:counter(0/0,-1,Loyalty) notATarget(planeswalker|myBattlefield)} && draw:1 controller +auto={T}:counter(1/1,-1) notATarget(*[artifact;creature;land;counter{1/1.1}]|myBattlefield) && draw:1 controller +auto={T}:counter(0/0,-1,Loyalty) notATarget(planeswalker|myBattlefield) && draw:1 controller text={T}, Remove a counter from an artifact, creature, land, or planeswalker you control: Draw a card. mana={U}{B} type=Creature @@ -76727,7 +79117,7 @@ toughness=1 [card] name=Spear Spewer abilities=defender -auto={T}:damage:1 opponent && damage:1 controller +auto={T}:damage:1 all(player) text=Defender -- {T}: Spear Spewer deals 1 damage to each player. mana={R} type=Creature @@ -76737,7 +79127,7 @@ toughness=2 [/card] [card] name=Species Specialist -auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|myGraveyard)}:may draw:1 controller])) forever chooseend +auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|myGraveyard):may draw:1 controller])) forever chooseend text=As Species Specialist enters the battlefield, choose a creature type. -- Whenever a creature of the chosen type dies, you may draw a card. mana={2}{B}{B} type=Creature @@ -76770,6 +79160,16 @@ power=2 toughness=2 [/card] [card] +name=Spectacular Showdown +abilities=overload +auto=Overload {4}{R}{R}{R} +auto=overload name(Put double strike counter) target(creature|battlefield) transforms((,newability[counter(0/0.1.DoubleStrike)],newability[this(counter{0/0.1.DoubleStrike}>=1) double strike],newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[phaseaction[endofturn next once sourceinplay] removeallcounters(0/0.-1.Goaded)])) forever +auto=paidmana name(Put double strike counter) all(creature|battlefield) transforms((,newability[counter(0/0.1.DoubleStrike)],newability[this(counter{0/0.1.DoubleStrike}>=1) double strike],newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[phaseaction[endofturn next once sourceinplay] removeallcounters(0/0.-1.Goaded)])) forever +text=Put a double strike counter on target creature, then goad each creature that had a double strike counter put on it this way. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.) -- Overload {4}{R}{R}{R} (You may cast this spell for its overload cost. If you do, change "target" in its text to "each.") +mana={1}{R} +type=Sorcery +[/card] +[card] name=Spectator Seating auto=tap(noevent) auto={T}:add{R} @@ -76803,8 +79203,8 @@ auto=choice name(Don't add any counter) donothing auto=choice name(Add 1 counter) ability$!may name(Pay to add 1 counter) pay({1}{U}) name(Pay for 1 counter) all(mysource) name(Pay to add 1 counter) transforms((,newability[counter(1/1)],newability[name(Phase out 1 target) target(*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 2 counters) ability$!may name(Pay to add 2 counters) pay({2}{U}{U}) name(Pay for 2 counters) all(mysource) name(Pay to add 2 counters) transforms((,newability[counter(1/1.2)],newability[name(Phase out 2 targets) target(<2>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 3 counters) ability$!may name(Pay to add 3 counters) pay({3}{U}{U}{U}) name(Pay for 3 counters) all(mysource) name(Pay to add 3 counters) transforms((,newability[counter(1/1.3)],newability[name(Phase out 3 targets) target(<3>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller -auto=choice name(Add 4 counters) ability$!may name(Pay to add 4 counters) pay({4}{U}{U}{U}{U}) name(Pay for 4 counters) all(mysource) name(Pay to add 4 counters) transforms((,newability[counter(1/1.4,newability[name(Phase out 4 targets) target(<4>*[artifact;enchantment;creature]|battlefield) phaseout)])) ueot!$ controller -auto=choice name(Add 5 counters) ability$!may name(Pay to add 5 counters) pay({5}{U}{U}{U}{U}{U}) name(Pay for 5 counters) all(mysource) name(Pay to add 5 counters) transforms((,newability[counter(1/1.5)],newability[name(Phase out 5 targets) target(<5>*[artifact;enchantment;creature]|battlefield) phaseout)) ueot!$ controller +auto=choice name(Add 4 counters) ability$!may name(Pay to add 4 counters) pay({4}{U}{U}{U}{U}) name(Pay for 4 counters) all(mysource) name(Pay to add 4 counters) transforms((,newability[counter(1/1.4],newability[name(Phase out 4 targets) target(<4>*[artifact;enchantment;creature]|battlefield) phaseout)])) ueot!$ controller +auto=choice name(Add 5 counters) ability$!may name(Pay to add 5 counters) pay({5}{U}{U}{U}{U}{U}) name(Pay for 5 counters) all(mysource) name(Pay to add 5 counters) transforms((,newability[counter(1/1.5)],newability[name(Phase out 5 targets) target(<5>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 6 counters) ability$!may name(Pay to add 6 counters) pay({6}{U}{U}{U}{U}{U}{U}) name(Pay for 6 counters) all(mysource) name(Pay to add 6 counters) transforms((,newability[counter(1/1.6)],newability[name(Phase out 6 targets) target(<6>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 7 counters) ability$!may name(Pay to add 7 counters) pay({7}{U}{U}{U}{U}{U}{U}{U}) name(Pay for 7 counters) all(mysource) name(Pay to add 7 counters) transforms((,newability[counter(1/1.7)],newability[name(Phase out 7 targets) target(<7>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 8 counters) ability$!may name(Pay to add 8 counters) pay({8}{U}{U}{U}{U}{U}{U}{U}{U}) name(Pay for 8 counters) all(mysource) name(Pay to add 8 counters) transforms((,newability[counter(1/1.8)],newability[name(Phase out 8 targets) target(<8>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller @@ -77166,9 +79566,9 @@ toughness=5 [card] name=Sphinx of Foresight abilities=flying -autohand=@each upkeep restriction{compare(currentturn)~lessthan~2}:may name(Reveal Sphinx of Foresight) _SCRY_(3) +autohand=@each upkeep restriction{compare(currentturn)~lessthan~2}:may name(Reveal Sphinx of Foresight) _SCRY3_ aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@each my upkeep:_SCRY_(1) +auto=@each my upkeep:_SCRY1_ text=You may reveal this card from your opening hand. If you do, scry 3 at the beginning of your first upkeep. -- Flying -- At the beginning of your upkeep, scry 1. mana={2}{U}{U} type=Creature @@ -77239,6 +79639,20 @@ mana={2}{W}{U} type=Instant [/card] [card] +name=Spider Climb +abilities=asflash +other={G} name(Cast with flash) +restriction=can play enchantment +auto=if paid(alternative) then all(this) transforms((,newability[phaseaction[cleanup sourceinplay once] sacrifice all(this)])) +target=creature +auto=teach(creature) +0/+3 +auto=teach(creature) reach +text=You may cast Spider Climb as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +0/+3 and has reach. (It can block creatures with flying.) +mana={G} +type=Enchantment +subtype=Aura +[/card] +[card] name=Spike Cannibal auto=counter(1/1) auto=all(other creature|mybattlefield) transforms((,newability[thisforeach(counter{1/1.1}) counter(1/1) target(Spike Cannibal[fresh]|mybattlefield) && counter(1/1.-1) all(this)])) oneshot @@ -77280,7 +79694,7 @@ name=Spiked Pit Trap abilities=flash auto={5}:name(Roll a d20) target(creature|battlefield) counter(0/0,1,SpikedEffect) && all(this) rolld20 20 winability donothing winabilityend rolld20end auto=@dierolled(this) from(controller):all(this) sacrifice -auto=@dierolled(this) from(controller):ability$!name(Deal 5 damage) all(creature[counter{0/0.1.SpikedEffect}]|battlefield) transforms((,newability[damage:5],newability[removeallcounters(0/0.1.SpikedEffect)])) oneshot!controller +auto=@dierolled(this) from(controller):ability$!name(Deal 5 damage) all(creature[counter{0/0.1.SpikedEffect}]|battlefield) transforms((,newability[damage:5],newability[removeallcounters(0/0.1.SpikedEffect)])) oneshot!$controller auto=@dierolled(this) result(10) from(controller):name(Create treasure) token(Treasure Sur) auto=@dierolled(this) result(11) from(controller):name(Create treasure) token(Treasure Sur) auto=@dierolled(this) result(12) from(controller):name(Create treasure) token(Treasure Sur) @@ -77370,7 +79784,7 @@ toughness=4 name=Spined Megalodon abilities=opponentshroud aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_ATTACKING__SCRY_(1) +auto=_ATTACKING__SCRY1_ text=Hexproof (This creature can't be the target of spells or abilities your opponents control.) -- Whenever Spined Megalodon attacks, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={5}{U}{U} type=Creature @@ -77681,6 +80095,14 @@ mana={3}{U}{U} type=Sorcery [/card] [card] +name=Split the Spoils +target=*[-instant;-sorcery]|mygraveyard +auto=moveto(myreveal) and!( transforms((,newability[if compare(genrand2)~equalto~1 then moveto(myexile) else moveto(myhand)])) oneshot )! +text=Exile up to five target permanent cards from your graveyard and separate them into two piles. An opponent chooses one of those piles. Put that pile into your hand and the other into your graveyard. (Piles can be empty.) +mana={2}{G} +type=Sorcery +[/card] +[card] name=Splitting Slime auto=this(cantargetcard(*[-monstrous]) {4}{G}{G}:becomes(monstrous) forever && counter(1/1,3) && clone all(this) text={4}{G}{G}: Monstrosity 3. (If this creature isn't monstrous, put three +1/+1 counters on it and it becomes monstrous.) -- When Splitting Slime becomes monstrous, create a token that's a copy of Splitting Slime. (The token has no counters and isn't monstrous.) @@ -77710,7 +80132,7 @@ type=Instant [/card] [card] name=Spoils of War -auto=if type(*[artifact;creature]|opponentgraveyard)~equalto~compare(X) then name(Distribute 1/1 counters) thisforeach(X) ability$!name(Put 1/1 counter) name(Put 1/1 counter) target(creature) counter(1/1)!$ controller +auto=if type(*[artifact;creature]|opponentgraveyard)~equalto~compare(X) then name(Distribute 1/1 counters) thisforeach(X) ability$! name(Put 1/1 counter) name(Put 1/1 counter) target(creature) counter(1/1) !$ controller text=X is the number of artifact and/or creature cards in an opponent's graveyard as you cast Spoils of War. -- Distribute X +1/+1 counters among any number of target creatures. mana={X}{B} type=Sorcery @@ -77879,8 +80301,8 @@ toughness=5 [/card] [card] name=Springbloom Druid -aicode=may sacrifice target(land|myBattlefield) && activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) -auto=may name(Sacrifice a land) sacrifice target(land|myBattlefield) && name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend limit:1 +aicode=may sacrifice notAtarget(land|myBattlefield) && activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto=may name(Sacrifice a land) sacrifice notAtarget(land|myBattlefield) && name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend limit:1 text=When Springbloom Druid enters the battlefield, you may sacrifice a land. If you do, search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library. mana={2}{G} type=Creature @@ -78523,7 +80945,7 @@ toughness=2 [card] name=Steadfast Sentinel abilities=vigilance -autograveyard={4}{W}{W}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={4}{W}{W}{E}:_ETERNALIZE_ text=Vigilance -- Eternalize {4}{W}{W} ({4}{W}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Cleric with no mana cost. Eternalize only as a sorcery.) mana={3}{W} type=Creature @@ -78652,6 +81074,19 @@ power=5 toughness=4 [/card] [card] +name=Steel Seraph +abilities=flying,vigilance +other={1}{W}{W} name(prototype) +auto=if paid(alternative) then becomes(,3/3,white) +auto=@each my combatbegins:ability$!choice target(creature|myBattlefield) flying ueot _ choice target(creature|myBattlefield) vigilance ueot _ choice target(creature|myBattlefield) lifelink ueot !$ controller +text=Prototype {1}{W}{W} - 3/3 (You may cast this spell with different mana cost, color, and size. It keeps its abilities and types.) -- Flying -- At the beginning of combat on your turn, target creature you control gains your choice of flying, vigilance, or lifelink until end of turn. +mana={6} +type=Artifact Creature +subtype=Angel +power=5 +toughness=4 +[/card] +[card] name=Steel Squirrel auto={6}:all(this) rolld6 6 winability donothing winabilityend loseability donothing loseabilityend rolld6end auto=@dierolled(*|battlefield) result(5) from(controller):name(Get 5/5) name(Get 5/5) 5/5 ueot @@ -78893,6 +81328,18 @@ mana={1}{W} type=Instant [/card] [card] +name=Stirring Bard +abilities=defender +auto=_INITIATIVE_CONTROLLER_ +auto={T}:name(Creature gains menace and haste) target(creature|battlefield) transforms((,newability[haste],newability[menace])) ueot +text=Defender -- When Stirring Bard enters the battlefield, you take the initiative. -- Mantle of Inspiration - {T}: Target creature gains menace and haste until end of turn. +mana={3}{R} +type=Creature +subtype=Dragon Bard +power=0 +toughness=4 +[/card] +[card] name=Stitched Assistant aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=may name(Exploit a creature) target(creature|mybattlefield) exploits and!( transforms((,newability[scry:1 scrycore delayed draw:1 scrycoreend scryend])) oneshot )! @@ -79012,7 +81459,7 @@ toughness=1 [card] name=Stonebound Mentor aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedto(*|mybattlefield,mystack,myhand,mylibrary,mysideboard,myexile,mycommandzone) from(mygraveyard):name(Scry 1) _SCRY_(1) +auto=@movedto(*|mybattlefield,mystack,myhand,mylibrary,mysideboard,myexile,mycommandzone) from(mygraveyard):name(Scry 1) _SCRY1_ text=Whenever one or more cards leave your graveyard, scry 1. mana={1}{R}{W} type=Creature @@ -79054,6 +81501,14 @@ type=Enchantment subtype=Aura [/card] [card] +name=Stonespeaker Crystal +auto={T}:name(Add 2 mana) add{C}{C} +auto={2}{T}{S}:name(Draw and exile) transforms((,newability[draw:1 controller],newability[choice name(Exile opponent graveyard) all(*|opponentgraveyard) moveto(exile)],newability[choice name(Exile your graveyard) all(*|mygraveyard) moveto(exile)])) oneshot +text={T}: Add {C}{C}. -- {2}, {T}, Sacrifice Stonespeaker Crystal: Exile any number of target players' graveyards. Draw a card. +mana={4} +type=Artifact +[/card] +[card] name=Stonewise Fortifier auto={4}{W}:preventAllDamage to(this) ueot text={4}{W}: Prevent all damage that would be dealt to Stonewise Fortifier by target creature this turn. @@ -79118,7 +81573,7 @@ toughness=2 [/card] [card] name=Storm Fleet Arsonist -auto=if raid then ability$!sacrifice target(creature|mybattlefield)!$ opponent +auto=if raid then ability$!sacrifice notAtarget(creature|mybattlefield)!$ opponent text=Raid - When Storm Fleet Arsonist enters the battlefield, if you attacked with a creature this turn, target opponent sacrifices a permanent. mana={4}{R} type=Creature @@ -79191,6 +81646,32 @@ power=3 toughness=2 [/card] [card] +name=Storm King's Thunder +auto=this(X>=1) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=2) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=3) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=4) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=5) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=6) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=7) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=8) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=9) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=10) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=11) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=12) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=13) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=14) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=15) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=16) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=17) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=18) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=19) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +auto=this(X>=20) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:name(Copy spell) name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot +text=When you cast your next instant or sorcery spell this turn, copy that spell X times. You may choose new targets for the copies. +mana={X}{R}{R}{R} +type=Instant +[/card] +[card] name=Storm Sculptor abilities=unblockable auto=moveto(myhand) target(creature|mybattlefield) @@ -79219,7 +81700,7 @@ target=creature auto=first strike auto=+1/+0 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets +1/+0 and gains first strike until end of turn. Scry 1. mana={R} type=Instant @@ -79339,10 +81820,8 @@ toughness=4 [card] name=Stormfist Crusader abilities=menace -auto=@each my upkeep:life:-1 controller -auto=@each my upkeep:life:-1 opponent -auto=@each my upkeep:draw:1 controller -auto=@each my upkeep:draw:1 opponent +auto=@each my upkeep:all(player) life:-1 +auto=@each my upkeep:all(player) draw:1 text=Menace -- At the beginning of your upkeep, each player draws a card and loses 1 life. mana={B}{R} type=Creature @@ -79394,7 +81873,7 @@ aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,n anyzone=@movedTo(*[instant;sorcery]|mystack) once:changecost(colorless:-2) ueot forcedalive anyzone=@movedTo(*[instant;sorcery]|mystack) once:altercost(blue:-1) ueot forcedalive auto=@movedTo(*[-creature]|mystack):1/1 ueot -auto=_SCRY_(2) +auto=_SCRY2_ text=This spell costs {2}{U} less to cast if you've cast an instant or sorcery spell this turn. -- Flying -- Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- When Stormwing Entity enters the battlefield, scry 2. mana={3}{U}{U} type=Creature @@ -79491,7 +81970,7 @@ kicker=multi{2}{U}{U} name(Replicate) auto=name(Mill 4 cards) deplete:4 auto=may name(Return cards form graveyard) target(*|mygraveyard) moveto(mylibrary) and!( shuffle )! auto=thisforeach(variable{kicked}>0) ability$!name(Copy Stream of Thought) name(Copy Stream of Thought) activate castcard(copied noevent named!:Stream of Thought:!)!$ controller -text=Target player puts the top four cards of their library into their graveyard. You shuffle up to four cards from your graveyard into your library. -- Replicate {2}{U}{U} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) +text=Target player mills four cards. You shuffle up to four cards from your graveyard into your library. -- Replicate {2}{U}{U} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) mana={U} type=Sorcery [/card] @@ -79504,6 +81983,14 @@ mana={4}{R} type=Enchantment [/card] [card] +name=Street Urchin +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[{1}{S(other *[creature;artifact]|mybattlefield)}:name(Deal 1 damage) target(creature^player^planeswalker) damage:1])) +text=Commander creatures you own have "{1}, Sacrifice another creature or an artifact: This creature deals 1 damage to any target." +mana={1}{R} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Streetwise Negotiator abilities=combattoughness auto=name(This creature) target(this) counter(1/1) @@ -79724,6 +82211,18 @@ power=1 toughness=1 [/card] [card] +name=Stunning Strike +abilities=flash +target=creature +auto=teach(creature) tap +auto=teach(creature[-legendary]) doesnotuntap +auto=teach(creature) removefromcombat +text=Flash -- Enchant creature -- When Stunning Strike enters the battlefield, tap enchanted creature and remove it from combat. -- As long as enchanted creature isn't legendary, it doesn't untap during its controller's untap step. +mana={2}{U} +type=Enchantment +subtype=Aura +[/card] +[card] name=Stunt Double abilities=flash auto=may copy NotATarget(creature) @@ -80247,7 +82746,7 @@ subtype=Desert name=Sunscourge Champion auto=transforms((,newability[life:power controller])) ueot ## the transforms is necessary to trigger the lifegain after the eternalize sets power to 4 ## -autograveyard={2}{W}{W}{D}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={2}{W}{W}{D}{E}:_ETERNALIZE_ text=When Sunscourge Champion enters the battlefield, you gain life equal to its power. -- Eternalize-{2}{W}{W}, Discard a card. ({2}{W}{W}, Discard a card, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Wizard with no mana cost. Eternalize only as a sorcery.) mana={2}{W} type=Creature @@ -80260,7 +82759,7 @@ name=Sunset Pyramid aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=counter(0/0,3,brick) auto={2}{T}{counter(0/0,-1,brick)}:name(Draw 1) draw:1 controller -auto={2}{T}:name(Scry 1) _SCRY_(1) +auto={2}{T}:name(Scry 1) _SCRY1_ text=Sunset Pyramid enters the battlefield with three brick counters on it. -- {2}, {T}, Remove a brick counter from Sunset Pyramid: Draw a card. -- {2}, {T}: Scry 1. mana={2} type=Artifact @@ -80510,6 +83009,18 @@ power=6 toughness=6 [/card] [card] +name=Surrak and Goreclaw +abilities=trample +auto=lord(other creature|myBattlefield) trample +auto=@movedTo(other creature[-token]|myBattlefield):all(trigger[to]) counter(1/1) && all(trigger[to]) haste ueot +text=Trample -- Other creatures you control have trample. -- Whenever another nontoken creature enters the battlefield under your control, put a +1/+1 counter on it. It gains haste until end of turn. +mana={4}{G}{G} +type=Legendary Creature +subtype=Human Bear +power=6 +toughness=5 +[/card] +[card] name=Surtland Elementalist other={7}{U}{U} name(Cast wihtout giant) otherrestriction=type(giant|myhand)~equalto~0 @@ -80537,14 +83048,14 @@ name=Surtland Frostpyre auto=tap(noevent) auto={T}:add{R} aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={2}{U}{U}{R}{T}{S}:_SCRY_(2) && damage:2 all(creature|battlefield) asSorcery +auto={2}{U}{U}{R}{T}{S}:_SCRY2_ && damage:2 all(creature|battlefield) asSorcery text=Surtland Frostpyre enters the battlefield tapped. -- {T}: Add {R}. -- {2}{U}{U}{R}, {T}, Sacrifice Surtland Frostpyre: Scry 2. Surtland Frostpyre deals 2 damage to each creature. Activate this ability only any time you could cast a sorcery. type=Land [/card] [card] name=Survivor of Korlis abilities=first strike -autograveyard={1}{W}{E}:_SCRY_(2) +autograveyard={1}{W}{E}:_SCRY2_ text=First strike -- {1}{W}, Exile Survivor of Korlis from your graveyard: Scry 2. mana={W} type=Creature @@ -80651,9 +83162,9 @@ toughness=2 [card] name=Swallow Whole target=creature[tapped] -auto=moveTo(exile) && counter(1/1) target(creature[tapped]|myBattlefield) +auto=moveTo(exile) && ability$!counter(1/1) target(creature[tapped]|myBattlefield)!$ controller text=As an additional cost to cast this spell, tap an untapped creature you control. -- Exile target tapped creature. Put a +1/+1 counter on the creature tapped to pay this spell's additional cost. -mana={W}{T(creature|myBattlefield} +mana={W}{T(creature|myBattlefield)} type=Sorcery [/card] [card] @@ -80709,6 +83220,36 @@ power=4 toughness=3 [/card] [card] +name=Swashbuckler Extraordinaire +auto=name(Create treasure) token(Treasure Sur) +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~1}:may name(Sacrifice 1 treasure) name(Sacrifice 1 treasure) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~2}:may name(Sacrifice 2 treasures) name(Sacrifice 2 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~3}:may name(Sacrifice 3 treasures) name(Sacrifice 3 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~4}:may name(Sacrifice 4 treasures) name(Sacrifice 4 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~5}:may name(Sacrifice 5 treasures) name(Sacrifice 5 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~6}:may name(Sacrifice 6 treasures) name(Sacrifice 6 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~7}:may name(Sacrifice 7 treasures) name(Sacrifice 7 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~8}:may name(Sacrifice 8 treasures) name(Sacrifice 8 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~9}:may name(Sacrifice 9 treasures) name(Sacrifice 9 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~10}:may name(Sacrifice 10 treasures) name(Sacrifice 10 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~11}:may name(Sacrifice 11 treasures) name(Sacrifice 11 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~12}:may name(Sacrifice 12 treasures) name(Sacrifice 12 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~13}:may name(Sacrifice 13 treasures) name(Sacrifice 13 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~14}:may name(Sacrifice 14 treasures) name(Sacrifice 14 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~15}:may name(Sacrifice 15 treasures) name(Sacrifice 15 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~16}:may name(Sacrifice 16 treasures) name(Sacrifice 16 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~17}:may name(Sacrifice 17 treasures) name(Sacrifice 17 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~18}:may name(Sacrifice 18 treasures) name(Sacrifice 18 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~equalto~19}:may name(Sacrifice 19 treasures) name(Sacrifice 19 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +auto=@each my blockers restriction{type(*[treasure]|myBattlefield)~morethan~19}:may name(Sacrifice 20 treasures) name(Sacrifice 20 treasures) target(*[treasure]|mybattlefield) sacrifice and!( transforms((,newability[name(Creature gains double strike) target(creature|battlefield) transforms((,newability[double strike])) ueot])) oneshot )! +text=When Swashbuckler Extraordinaire enters the battlefield, create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") -- Whenever you attack, you may sacrifice one or more Treasures. When you do, up to that many target creatures gain double strike until end of turn. +mana={2}{R} +type=Creature +subtype=Dragon Rogue Warrior +power=2 +toughness=2 +[/card] +[card] name=Swashbuckling target=creature auto=2/2 @@ -80741,7 +83282,7 @@ name=Sweet Oblivion target=player auto=deplete:4 retrace={3}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape) -text=Target player puts the top four cards of their library into their graveyard. -- Escape-{3}{U}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) +text=Target player mills four cards. -- Escape-{3}{U}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) mana={1}{U} type=Sorcery [/card] @@ -80855,6 +83396,30 @@ power=1 toughness=2 [/card] [card] +name=Sword Coast Sailor +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[unblockable])) +text=Commander creatures you own have "Whenever this creature attacks a player, if no opponent has more life than that player, this creature can't be blocked this turn." +mana={1}{U} +type=Legendary Enchantment +subtype=Background +[/card] +[card] +name=Sword Coast Serpent // Capsizing Wave +abilities=adventure,asflash +restriction=can play creature +other={1}{U} name(Adventure) +auto=if paid(alternative) then may name(Return creature) name(Return creature) target(creature|battlefield) moveto(ownerhand) +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=ifnot paid(alternative) then if thisturn(*[-creature]|mystack)~morethan~0 then transforms((,newability[unblockable])) ueot +auto=@movedTo(*[-creature]|mystack) turnlimited:name(Becomes unblockable) transforms((,newability[unblockable])) ueot +text=Sword Coast Serpent can't be blocked as long as you've cast a noncreature spell this turn. // Return target creature to its owner's hand. (Then exile this card. You may cast the creature later from exile.) +mana={5}{U}{U} +type=Creature +subtype=Serpent Dragon +power=6 +toughness=6 +[/card] +[card] name=Sword of Dungeons & Dragons auto={2}:equip auto=teach(creature) protection from(cleric) @@ -80980,7 +83545,7 @@ toughness=3 [card] name=Sylvan Anthem aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(creature[green]|myBattlefield):name(Scry 1) _SCRY_(1) +auto=@movedTo(creature[green]|myBattlefield):name(Scry 1) _SCRY1_ auto=lord(creature[green]|myBattlefield) 1/1 text=Green creatures you control get +1/+1. -- Whenever a green creature enters the battlefield under your control, scry 1. mana={G}{G} @@ -81114,7 +83679,7 @@ toughness=2 [card] name=Syndicate Messenger abilities=flying -auto=_DIES_create(Spirit:creature Spirit:1/1:white,black:flying) +auto=_DIES__AFTERLIFETOKEN_ text=Flying -- Afterlife 1 (When this creature dies, create a 1/1 white and black Spirit creature token with flying.) mana={3}{W} type=Creature @@ -81272,9 +83837,9 @@ auto=@movedTo(myGraveyard) from(other creature|*):damage:1 opponent auto=@movedTo(opponentGraveyard) from(other creature|*):damage:1 opponent auto=@movedTo(myHand) from(creature|myGraveyard):damage:1 opponent auto=@movedTo(myLibrary) from(creature|myGraveyard):damage:1 opponent -auto=@movedTo(exile) from(creature|myGraveyard):damage:1 opponent +auto=@movedTo(creature|anyzone) from(myGraveyard):damage:1 opponent auto={1}{B}:deplete:1 && deplete:1 opponent -text=Whenever another creature dies, or a creature card is put into a graveyard from anywhere other than the battlefield, or a creature card leaves your graveyard, Syr Konrad, the Grim deals 1 damage to each opponent. -- {1}{B}: Each player puts the top card of their library into their graveyard. +text=Whenever another creature dies, or a creature card is put into a graveyard from anywhere other than the battlefield, or a creature card leaves your graveyard, Syr Konrad, the Grim deals 1 damage to each opponent. -- {1}{B}: Each player mills a card. mana={3}{B}{B} type=Legendary Creature subtype=Human Knight @@ -81283,7 +83848,7 @@ toughness=4 [/card] [card] name=Sythis, Harvest's Hand -auto=@movedTo(enchantment|myBattlefield) from(mystack):life:1 controller && draw:1 controller +auto=@movedTo(enchantment|mystack):life:1 controller && draw:1 controller text=Whenever you cast an enchantment spell, you gain 1 life and draw a card. mana={G}{W} type=Legendary Enchantment Creature @@ -82035,6 +84600,14 @@ power=0 toughness=1 [/card] [card] +name=Tavern Brawler +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@each my upkeep:name(Exile top card) name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[name(Commander gets +X/0) target(*[iscommander]|mybattlefield) manacost/0 ueot])) ueot )!])) +text=Commander creatures you own have "At the beginning of your upkeep, exile the top card of your library. This creature gets +X/+0 until end of turn, where X is that card's mana value. You may play that card this turn." +mana={2}{R} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Tavern Ruffian abilities=daybound backside=Tavern Smasher @@ -82073,8 +84646,7 @@ toughness=5 [/card] [card] name=Tawnos, the Toymaker -auto=@movedTo(Beast[creature]|mystack):may name(Copy creature) all(trigger[to]) name(Copy creature) clone and!( transforms((artifact)) forever )! -auto=@movedTo(Bird[creature]|mystack):may name(Copy creature) all(trigger[to]) name(Copy creature) clone and!( transforms((artifact)) forever )! +auto=@movedTo(Beast,Bird|mystack):may name(Copy creature) all(trigger[to]) name(Copy creature) clone and!( transforms((artifact)) forever )! text=Whenever you cast a Beast or Bird creature spell, you may copy it, except the copy is an artifact in addition to its other types. (The copy becomes a token.) mana={3}{G}{U} type=Legendary Creature @@ -82173,7 +84745,7 @@ toughness=4 [card] name=Tectonic Hellion abilities=haste -auto=_ATTACKING_if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then sacrifice target(<2>land|mybattlefield) else ability$!name(Sacrifice 2 lands) notatarget(<2>land|mybattlefield) sacrifice!$ opponent +auto=_ATTACKING_if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then sacrifice notAtarget(<2>land|mybattlefield) else ability$!name(Sacrifice 2 lands) notatarget(<2>land|mybattlefield) sacrifice!$ opponent text=Haste -- Whenever Tectonic Hellion attacks, each player who controls the most lands sacrifices two lands. mana={5}{R}{R} type=Creature @@ -82184,7 +84756,7 @@ toughness=5 [card] name=Tectonic Reformation abilities=cycling -auto=lord(land|myhand) transform((newability[__CYLCLING__({R})])) +auto=lord(land|myhand) transforms((,newability[{R}{cycle}:name(cycling) draw:1])) autohand=__CYCLING__({2}) text=Each land card in your hand has cycling {R}. -- Cycling {2} ({2}, Discard this card: Draw a card.) mana={1}{R} @@ -82230,7 +84802,7 @@ type=Instant [/card] [card] name=Teferi's Protege -auto={1}{U}{T}:draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot +auto={1}{U}{T}:_LOOT_ text={1}{U}, {T}: Draw a card, then discard a card. mana={2}{U} type=Creature @@ -82258,7 +84830,7 @@ type=Instant [/card] [card] name=Teferi's Tutelage -auto=draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot +auto=_LOOT_ auto=@drawof(player):deplete:2 opponent text=When Teferi's Tutelage enters the battlefield, draw a card, then discard a card. -- Whenever you draw a card, target opponent mills two cards. (They put the top two cards of their library into their graveyard.) mana={2}{U} @@ -82555,7 +85127,7 @@ toughness=2 name=Tenth District Legionnaire abilities=haste aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_HEROIC_counter(1/1) && _SCRY_(1) +auto=_HEROIC_counter(1/1) && _SCRY1_ text=Haste -- Whenever you cast a spell that targets Tenth District Legionnaire, put a +1/+1 counter on Tenth District Legionnaire, then scry 1. mana={R}{W} type=Creature @@ -82589,7 +85161,7 @@ toughness=2 name=Tenured Oilcaster abilities=menace auto=aslongas(*|opponentGraveyard) 3/0 >7 -auto=@combat(attacking,blocking) source(this):deplete:1 controller && deplete:1 opponent +auto=@combat(attacking,blocking) source(this):all(player) deplete:1 text=Menace (This creature can't be blocked except by two or more creatures.) -- Tenured Oilcaster gets +3/+0 as long as an opponent has eight or more cards in their graveyard. -- Whenever Tenured Oilcaster attacks or blocks, each player mills a card. mana={3}{B} type=Creature @@ -82675,8 +85247,8 @@ toughness=5 [/card] [card] name=Territorial Boar -auto=@movedTo(creature[power>=4|myBattlefield):+1/+1 ueot -auto=@movedTo(creature[power>=4|myBattlefield):vigilance ueot +auto=@movedTo(creature[power>=4]|myBattlefield):+1/+1 ueot +auto=@movedTo(creature[power>=4]|myBattlefield):vigilance ueot text=Whenever a creature with power 4 or greater enters the battlefield under your control, Territorial Boar gets +1/+1 and gains vigilance until end of turn. mana={1}{G} type=Creature @@ -82761,6 +85333,17 @@ power=5 toughness=5 [/card] [card] +name=Terror of Towashi +abilities=deathtouch +auto=_ATTACKING_pay({3}{B}) target(creature|mygraveyard) moveTo(mybattlefield) and!(becomes(Phyrexian) forever)! +text=Deathtouch -- Whenever Terror of Towashi attacks, you may pay {3}{B}. When you do, return target creature card from your graveyard to the battlefield. It's a Phyrexian in addition to its other types. +mana={2}{B}{B} +type=Creature +subtype=Phyrexian Ogre +power=4 +toughness=3 +[/card] +[card] name=Terror of the Peaks abilities=flying auto=@targeted(this) from(*|opponentzones):life:-3 opponent @@ -82998,7 +85581,7 @@ type=Artifact name=Thaumaturge's Familiar abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Flying -- When Thaumaturge's Familiar enters the battlefield, scry 1. mana={3} type=Artifact Creature @@ -83091,7 +85674,7 @@ auto=deplete:3 controller auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) ability$!name(Choose one) choice name(Don't exile any card) donothing _ choice name(Exile 1 card) moveto(exile) target(<1>*|graveyard) && life:1 controller _ choice name(Exile 2 cards) moveto(exile) target(<2>*|graveyard) && life:2 controller!$ controller auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) moveto(myhand) target(*[land;creature]|mygraveyard) auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this) -text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I - Each player puts the top three cards of their library into their graveyard. -- II - Exile up to two target cards from graveyards. For each creature card exiled this way, you gain 1 life. -- III - Return target creature or land card from your graveyard to your hand. +text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I - Each player mills three cards. -- II - Exile up to two target cards from graveyards. For each creature card exiled this way, you gain 1 life. -- III - Return target creature or land card from your graveyard to your hand. mana={1}{G} type=Enchantment subtype=Saga @@ -83403,6 +85986,20 @@ mana={6} type=Legendary Artifact [/card] [card] +name=The Initiative +abilities=shroud,indestructible,doublefacedeath,nofizzle +auto=taketheinitiative controller +auto=if compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0 then if compare(type:*[dungeon]:mycommandzone)~equalto~0 then name(Venture into Undercity) name(Venture into Undercity) name(Venture into Undercity) activate castcard(noevent named!:undercity:!) and!( moveto(ownercommandzone) and!( counter(0/0.1.Explore) )! )! +auto=if compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0 then if compare(type:*[dungeon]:mycommandzone)~morethan~0 then name(Venture into dungeon) name(Venture into dungeon) all(*[dungeon]|mycommandzone) counter(0/0.1.Explore) +auto=@takeninitiativeof(player) restriction{compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0,compare(type:*[dungeon]:mycommandzone)~equalto~0}:name(Venture into Undercity) name(Venture into Undercity) name(Venture into Undercity) activate castcard(noevent named!:undercity:!) and!( moveto(ownercommandzone) and!( counter(0/0.1.Explore) )! )! +auto=@takeninitiativeof(player) restriction{compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0,compare(type:*[dungeon]:mycommandzone)~morethan~0}:name(Venture into dungeon) name(Venture into dungeon) all(*[dungeon]|mycommandzone) counter(0/0.1.Explore) +auto=@each my upkeep restriction{compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0,compare(type:*[dungeon]:mycommandzone)~equalto~0}:name(Venture into Undercity) name(Venture into Undercity) name(Venture into Undercity) activate castcard(noevent named!:undercity:!) and!( moveto(ownercommandzone) and!( counter(0/0.1.Explore) )! )! +auto=@each my upkeep restriction{compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0,compare(type:*[dungeon]:mycommandzone)~morethan~0}:name(Venture into dungeon) name(Venture into dungeon) all(*[dungeon]|mycommandzone) counter(0/0.1.Explore) +auto=@combatdamageof(player) restriction{compare(pinitiative)~morethan~0} turnlimited:name(Opponent takes the initiative) moveto(opponentBattlefield) and!( transforms((,newability[taketheinitiative controller])) forever )! +text=Whenever one or more creatures a player controls deal combat damage to you, that player takes the initiative. -- Whenever you take the initiative and at the beginning of your upkeep, venture into Undercity. (If you're in a dungeon, advance to the next room. If you're not, enter Undercity. You can take the initiative even if you already have it.) +type=Emblem +[/card] +[card] name=The Legend of Arena abilities=canbecommander auto=counter(0/0,1,Lore) @@ -83498,7 +86095,7 @@ subtype=Sphere [card] name=The Omenkeel auto=@combatdamagefoeof(player) from(vehicle|mybattlefield):transforms((,newability[all(*[-land;zpos<=thatmuch]|opponentlibrary) moveto(opponentexile)],newability[all(land[zpos<=thatmuch]|opponentlibrary) moveto(opponentexile) and!( counter(0/0.1.OmenkeelExiled) )!])) oneshot -auto=@combatdamageof(player) from(vehicle|mybattlefield):transforms((,newability[all(*[-land;zpos<=thatmuch]|mylibrary) moveto(myexile)],newability[all(land[zpos<=thatmuch|mylibrary) moveto(myexile) and!( counter(0/0.1.OmenkeelExiled) )!])) oneshot +auto=@combatdamageof(player) from(vehicle|mybattlefield):transforms((,newability[all(*[-land;zpos<=thatmuch]|mylibrary) moveto(myexile)],newability[all(land[zpos<=thatmuch]|mylibrary) moveto(myexile) and!( counter(0/0.1.OmenkeelExiled) )!])) oneshot auto={0}:restriction{can play land} name(Play land from opponent exile) target(land[counter{0/0.1.OmenkeelExiled}]|opponentexile) moveTo(myexile) and!( transforms((,newability[counter(0/0.1.OmenkeelExiled)],newability[canplayfromexile],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.OmenkeelExiled)])) ueot )! auto=lord(land[counter{0/0.1.OmenkeelExiled}]|myexile) canplayfromexile auto={crew(other creature[power>=1]|myBattlefield)}:name(crew 1 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~0} @@ -83511,7 +86108,7 @@ toughness=3 [/card] [card] name=The Prismatic Bridge -auto=@each upkeep:name(Reveal cards) reveal:1 revealzone(mylibrary) revealuntil(*[creature;planeswalker]|mylibrary) optionone choice name(Put creature in play) target(*[creature;planeswalker]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo all(*|reveal) bottomoflibrary and!(shuffle)! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend +auto=@each my upkeep:name(Reveal cards) reveal:1 revealzone(mylibrary) revealuntil(*[creature;planeswalker]|mylibrary) optionone choice name(Put card onto the battlefield) target(*[creature;planeswalker]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo all(*|reveal) bottomoflibrary and!(shuffle)! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=At the beginning of your upkeep, reveal cards from the top of your library until you reveal a creature or planeswalker card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. // {1}{G}{G} Esika, God of the Tree mana={W}{U}{B}{R}{G} type=Legendary Enchantment @@ -83607,7 +86204,7 @@ subtype=Sphere [/card] [card] name=The Tarrasque -auto=if casted(this) then transforms((,newability[haste],newability[@targeted(this) from(*[|opponentstack):choice name(This spell costs 10 more) name(This spell costs 10 more) target(*|opponentstack) transforms((,newability[pay[[{10}]] name(pay 10 mana) donothing?fizzle])) oneshot])) forever +auto=if casted(this) then transforms((,newability[haste],newability[@targeted(this) from(*|opponentstack):choice name(This spell costs 10 more) name(This spell costs 10 more) target(*|opponentstack) transforms((,newability[pay[[{10}]] name(pay 10 mana) donothing?fizzle])) oneshot])) forever auto=_ATTACKING_name(Fight defending creature) target(creature|opponentbattlefield) dynamicability text=The Tarrasque has haste and ward {10} as long as it was cast. -- Whenever The Tarrasque attacks, it fights target creature defending player controls. mana={6}{G}{G}{G} @@ -83982,7 +86579,7 @@ toughness=4 name=Thought Collapse target=*|stack auto=fizzle && deplete:3 targetcontroller -text=Counter target spell. Its controller puts the top three cards of their library into their graveyard. +text=Counter target spell. Its controller mills three cards. mana={1}{U}{U} type=Instant [/card] @@ -84111,8 +86708,9 @@ toughness=3 [/card] [card] name=Thrasher Brute -auto=@movedTo(Warrior|mybattlefield) life:-1 opponent -auto=@movedTo(Warrior|mybattlefield) life:1 +auto=life:-1 opponent && life:1 +auto=@movedTo(Warrior|mybattlefield):life:-1 opponent +auto=@movedTo(Warrior|mybattlefield):life:1 text=Whenever Thrasher Brute or another Warrior enters the battlefield under your team's control, target opponent loses 1 life and you gain 1 life. mana={3}{B} type=Creature @@ -84276,7 +86874,7 @@ type=Land [/card] [card] name=Throatseeker -auto=all(creature[ninja;-blocked;attacking]|mybattlefield) lifelink ueot +auto=lord(ninja[attacking;-blocked]|mybattlefield) lifelink text=Unblocked attacking Ninjas you control have lifelink. mana={2}{B} type=Creature @@ -84558,6 +87156,13 @@ power=7 toughness=7 [/card] [card] +name=Thunderwave +auto=name(Roll a d20) rolld20 20 winability damage:6 all(creature|opponentbattlefield) winabilityend loseability if compare(lastrollresultplustype:*:myhandplusend)~lessthan~10 then damage:3 all(creature|battlefield) else target(creature|battlefield) damage:3 loseabilityend rolld20end +text=Roll a d20. -- 1-9 | Thunderwave deals 3 damage to each creature. -- 10-19 | You may choose a creature. Thunderwave deals 3 damage to each creature not chosen this way. -- 20 | Thunderwave deals 6 damage to each creature your opponents control. +mana={2}{R}{R} +type=Sorcery +[/card] +[card] name=Thwart the Enemy auto=preventAllCombatDamage from(creature|opponentbattlefield) ueot text=Prevent all damage that would be dealt this turn by creatures your opponents control. @@ -84679,7 +87284,7 @@ type=Land [/card] [card] name=Tidepool Turtle -auto={2}{U}:_SCRY_(1) +auto={2}{U}:_SCRY1_ text={2}{U}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3}{U} type=Creature @@ -84821,7 +87426,7 @@ name=Timeless Dragon abilities=flying aicode=activate target(plains|mylibrary) moveto(myhand) autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend -autograveyard={2}{W}{W}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={2}{W}{W}{E}:_ETERNALIZE_ text=Flying -- Plainscycling {2} ({2}, Discard this card: Search your library for a Plains card, reveal it, put it into your hand, then shuffle.) -- Eternalize {2}{W}{W} ({2}{W}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Dragon with no mana cost. Eternalize only as a sorcery.) mana={3}{W}{W} type=Creature @@ -84840,7 +87445,7 @@ type=Legendary Artifact [card] name=Timeless Witness auto=name(Return card) target(*|myGraveyard) moveTo(myHand) -autograveyard={5}{G}{G}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery +autograveyard={5}{G}{G}{E}:_ETERNALIZE_ text=When Timeless Witness enters the battlefield, return target card from your graveyard to your hand. -- Eternalize {5}{G}{G} ({5}{G}{G}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Human Shaman with no mana cost. Eternalize only as a sorcery.) mana={2}{G}{G} type=Creature @@ -84941,6 +87546,22 @@ power=1 toughness=1 [/card] [card] +name=Tlincalli Hunter // Retrieve Prey +abilities=trample,adventure +restriction=can play creature +otherrestriction=type(creature|mygraveyard)~morethan~0 +other={1}{G} name(Adventure) +auto=if paid(alternative) then name(Exile creature) name(Exile creature) target(creature|mygraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto={0}:name(Cast zero from exile) target(creature|myexile) transforms((,newability[zerocast])) ueot limit:1 +text=Trample -- Once each turn, you may pay {0} rather than pay the mana cost for a creature spell you cast from exile. // Exile target creature card from your graveyard. Until the end of your next turn, you may cast that card. (Then exile this card. You may cast the creature later from exile.) +mana={5}{G}{G} +type=Creature +subtype=Scorpion Scout +power=7 +toughness=7 +[/card] +[card] name=Tinder Wall abilities=defender auto={S}:add{R}{R} @@ -85069,6 +87690,20 @@ mana={3}{G} type=Enchantment [/card] [card] +name=Titania, Gaea Incarnate +auto=meldfrom(Titania, Voice of Gaea|Argoth, Sanctum of Nature) +abilities=haste,reach,trample,vigilance +anyzone=type:land:myBattlefield/type:land:myBattlefield cdaactive +auto=all(land|mygraveyard) moveto(mybattlefield) and!(tap(noevent))! +auto={3}{G}:target(land|mybattlefield) transforms((Elemental Creature,newability[counter(1/1.4)],newability[haste])) forever +text=Vigilance, reach, trample, haste -- Titania, Gaea Incarnate's power and toughness are each equal to the number of lands you control. -- When Titania enters the battlefield, return all land cards from your graveyard to the battlefield tapped. -- {3}{G}: Put four +1/+1 counters on target land you control. It becomes a 0/0 Elemental creature with haste. It's still a land. +color=green +type=Legendary Creature +subtype=Elemental Avatar +power=* +toughness=* +[/card] +[card] name=Titania, Nature's Force auto=lord(Forest|mygraveyard) CanPlayFromGraveyard auto=@movedTo(Forest|myBattlefield):create(elemental:creature elemental:5/3:green) @@ -85081,6 +87716,18 @@ power=6 toughness=6 [/card] [card] +name=Titania, Voice of Gaea +abilities=reach +auto=@movedto(land|mygraveyard):life:2 +auto=@each my upkeep restriction{type(land|mygraveyard)~morethan~3}:notAtarget(Argoth^ Sanctum of Nature|mybattlefield) meld(Titania, Gaea Incarnate) +text=Reach -- Whenever one or more land cards are put into your graveyard from anywhere, you gain 2 life. -- At the beginning of your upkeep, if there are four or more land cards in your graveyard and you both own and control Titania, Voice of Gaea and a land named Argoth, Sanctum of Nature, exile them, then meld them into Titania, Gaea Incarnate. +mana={1}{G}{G} +type=Legendary Creature +subtype=Elemental +power=3 +toughness=4 +[/card] +[card] name=Titanic Brawl target=creature|mybattlefield other={G} name(Target creature with 1/1 counter) @@ -85114,7 +87761,7 @@ toughness=11 [card] name=Titans' Nest aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@each my upkeep:_SCRY_(1) +auto=@each my upkeep:_SCRY1_ auto={E(*|myGraveyard)}:Add{C} text=At the beginning of your upkeep, look at the top card of your library. You may put that card into your graveyard. -- Exile a card from your graveyard: Add Colorless . Spend this mana only to cast a colored spell without Variable Colorless in its mana cost. mana={1}{B}{G}{U} @@ -85352,6 +87999,20 @@ text=Trapped Entry - Each player loses 1 life. -- Veils of Fear - Each player lo type=Dungeon [/card] [card] +name=Tomb of Horrors Adventurer +auto=_INITIATIVE_CONTROLLER_ +auto=@movedto(*[instant;sorcery]|mystack) restriction{thisturn(*|mystack)~equalto~1,compare(pdungeoncompleted)~equalto~0}:name(Copy Spell) all(trigger[to]) activate castcard(copied noevent) +auto=@movedto(*[instant;sorcery]|mystack) restriction{thisturn(*|mystack)~equalto~1,compare(pdungeoncompleted)~morethan~0}:name(Copy Spell) all(trigger[to]) activate castcard(copied noevent) && activate castcard(copied noevent) +auto=@movedto(*[-instant;-sorcery]|mystack) restriction{thisturn(*|mystack)~equalto~1,compare(pdungeoncompleted)~equalto~0}:name(Copy Spell) all(trigger[to]) clone +auto=@movedto(*[-instant;-sorcery]|mystack) restriction{thisturn(*|mystack)~equalto~1,compare(pdungeoncompleted)~morethan~0}:name(Copy Spell) all(trigger[to]) clone && clone +text=When Tomb of Horrors Adventurer enters the battlefield, you take the initiative. -- Whenever you cast your second spell each turn, copy it. If you've completed a dungeon, copy that spell twice instead. You may choose new targets for the copies. (A copy of a permanent spell becomes a token.) +mana={5}{U} +type=Creature +subtype=Elf Monk +power=4 +toughness=4 +[/card] +[card] name=Tomb of the Dusk Rose auto={T}:add{W} auto={T}:add{G} @@ -85472,6 +88133,20 @@ power=1 toughness=1 [/card] [card] +name=Topaz Dragon // Entropic Cloud +abilities=deathtouch,flying,adventure,asflash +restriction=can play creature +other={1}{B} name(Adventure) +auto=if paid(alternative) then name(Creatures gain deathtouch) name(Creatures gain deathtouch) all(creature|myBattlefield) transforms((,newability[deathtouch])) ueot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +text=Flying, deathtouch // Creatures you control gain deathtouch until end of turn. (Then exile this card. You may cast the creature later from exile.) +mana={4}{B}{B} +type=Creature +subtype=Dragon +power=4 +toughness=4 +[/card] +[card] name=Topiary Stomper abilities=vigilance auto=moveto(mybattlefield) target(land[basic]|mylibrary) and!(tap(noevent))! @@ -85996,6 +88671,16 @@ mana={1}{G} type=Enchantment [/card] [card] +name=Trailblazer's Torch +auto=_INITIATIVE_CONTROLLER_ +auto={1}:equip +auto=@combat(blocked) source(mytgt):name(Deals 2 damage) damage:2 target(creature[blocking]|opponentbattlefield) +text=When Trailblazer's Torch enters the battlefield, you take the initiative. -- Whenever equipped creature becomes blocked, it deals 2 damage to each creature blocking it. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) +mana={4} +type=Artifact +subtype=Equipment +[/card] +[card] name=Trailblazing Historian abilities=haste auto={T}:target(other creature) haste ueot @@ -86227,7 +88912,7 @@ type=Land [card] name=Treasure Map aicode=activate transforms((,newability[all(*[zpos<=type:zombie:mybattlefield]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={1}{T}:_SCRY_(1) && counter(0/0,1,landmark) +auto={1}{T}:_SCRY1_ && counter(0/0,1,landmark) auto=@counteradded(0/0,1,landmark) from(this):this(counter{0/0.3.landmark}=) removeallcounters(0/0.1.landmark) && flip(Treasure Cove) && token(Treasure Sur)*3 text={1}, {T}: Scry 1. Put a landmark counter on Treasure Map. Then if there are three or more landmark counters on it, remove those counters, transform Treasure Map, and create three colorless Treasure artifact tokens with "{T}, Sacrifice this artifact: Add one mana of any color to your mana pool." mana={2} @@ -86327,7 +89012,7 @@ toughness=2 [/card] [card] name=Trelasarra, Moon Dancer -auto=@lifeof(player) from(*[-lifefaker]|*):counter(1/1) && _SCRY_(1) +auto=@lifeof(player) from(*[-lifefaker]|*):counter(1/1) && _SCRY1_ text=Whenever you gain life, put a +1/+1 counter on Trelasarra, Moon Dancer and scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={G}{W} type=Legendary Creature @@ -86450,8 +89135,8 @@ type=Enchantment name=Trickster's Talisman auto={2}:equip auto=teach(creature) 1/1 -auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):may name(Sacrifice Talisman and copy) clone and!( target("Talisman of the Trickster"[attached]|mybattlefield) sacrifice )!])) -text=Equipped creature gets +1/+1 and has "Whenever this creature deals combat damage to a player, you may sacrifice "Talisman of the Trickster". If you do, create a token that's a copy of this creature." -- Equip {2} +auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):may name(Sacrifice Talisman and copy) clone and!( target(Trickster's Talisman[attached]|mybattlefield) sacrifice )!])) +text=Equipped creature gets +1/+1 and has "Whenever this creature deals combat damage to a player, you may sacrifice Trickster's Talisman. If you do, create a token that's a copy of this creature." -- Equip {2} mana={U} type=Artifact subtype=Equipment @@ -86613,7 +89298,7 @@ type=Instant name=True Polymorph target=artifact,creature auto=counter(0/0.1.PolymorphEffect) -auto=name(Choose the card to transform) target(other *[creature;artifact]|battlefield) transforms((,newability[all(*[counter{0/0.1.PolymorphEffect}]|battlefield) copy],newability[all(*[counter{0/0.1.PolymorphEffect}]|battlefield) removeallcounters(0/0.1.PolymorphEffect)])) forever +auto=name(becomes the first chosen) target(other *[creature;artifact]|battlefield) transforms((,newability[all(*[counter{0/0.1.PolymorphEffect}]|battlefield) copy],newability[all(*[counter{0/0.1.PolymorphEffect}]|battlefield) removeallcounters(0/0.1.PolymorphEffect)])) forever text=Target artifact or creature becomes a copy of another target artifact or creature. mana={4}{U}{U} type=Instant @@ -87000,8 +89685,8 @@ toughness=4 [/card] [card] name=Twilight's Call -abilities=flash -restriction=myturnonly +abilities=asflash +restriction=can play sorcery other={6}{B}{B} name(Cast as instant) auto=all(creature|mygraveyard) moveto(mybattlefield) auto=all(creature|opponentgraveyard) moveto(opponentbattlefield) @@ -87145,6 +89830,21 @@ mana={1}{U} type=Instant [/card] [card] +name=Two-Handed Axe // Sweeping Cleave +abilities=adventure,asflash +restriction=can play equipment +otherrestriction=type(creature|mybattlefield)~morethan~0 +other={1}{R} name(Adventure) +auto=if paid(alternative) then name(Creature gains double strike) name(Creature gains double strike) target(creature|myBattlefield) transforms((,newability[double strike])) ueot +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +auto=transforms((,newability[_ATTACKING_name(Double power) power/0 ueot])) +auto={1}{R}:equip +text=Whenever equipped creature attacks, double its power until end of turn. -- Equip {1}{R} // Target creature you control gains double strike until end of turn. (Then exile this card. You may cast the artifact later from exile.) +mana={2}{R} +type=Artifact +subtype=Equipment +[/card] +[card] name=Two-Headed Dragon abilities=flying,menace auto={1}{R}:2/0 ueot @@ -87157,7 +89857,7 @@ toughness=4 [/card] [card] name=Two-Headed Giant -auto=_ATTACKING_flipacoin winability transforms((,newability[flipacoin winability double strike winabilityend loseability loseabilityend flipend] winabilityend loseability transforms((,newability[flipacoin winability winabilityend loseability menace loseabilityend flipend] loseabilityend flipend +auto=_ATTACKING_flipacoin winability transforms((,newability[flipacoin winability double strike winabilityend loseability loseabilityend flipend])) winabilityend loseability transforms((,newability[flipacoin winability winabilityend loseability menace loseabilityend flipend])) loseabilityend flipend text=Whenever Two-Headed Giant attacks, flip two coins. If both coins come up heads, Two-Headed Giant gains double strike until end of turn. If both coins come up tails, Two-Headed Giant gains menace until end of turn. mana={2}{R}{R} type=Creature @@ -87295,6 +89995,18 @@ power=4 toughness=4 [/card] [card] +name=Tyrranax Rex +abilities=haste,trample,nofizzle,toxic +auto=_WARD_(4) +auto=@combatdamaged(player) from(this):alterpoison:4 opponent +text=This spell can't be countered. -- Trample, ward {4}, haste -- Toxic 4 (Players dealt combat damage by this creature also get four poison counters.) +mana={4}{G}{G}{G} +type=Creature +subtype=Phyrexian Dinosaur +power=8 +toughness=8 +[/card] +[card] name=Tyvar's Stand target=creature|myBattlefield auto=+X/+X @@ -87470,11 +90182,27 @@ mana={1}{B} type=Instant [/card] [card] +name=Umori, the Collector +auto=choice name(Artifact) transforms((,newability[lord(Artifact|mycastingzone) changecost(colorless:-1)])) forever +auto=choice name(Creature) transforms((,newability[lord(Creature|mycastingzone) changecost(colorless:-1)])) forever +auto=choice name(Enchantment) transforms((,newability[lord(Enchantment|mycastingzone) changecost(colorless:-1)])) forever +auto=choice name(Planeswalker) transforms((,newability[lord(Planeswalker|mycastingzone) changecost(colorless:-1)])) forever +auto=choice name(Tribal) transforms((,newability[lord(Tribal|mycastingzone) changecost(colorless:-1)])) forever +auto=choice name(Instant) transforms((,newability[lord(Instant|mycastingzone) changecost(colorless:-1)])) forever +auto=choice name(Sorcery) transforms((,newability[lord(Sorcery|mycastingzone) changecost(colorless:-1)])) forever +text=Companion ⿿ Each nonland card in your starting deck shares a card type. (If this card is your chosen companion, you may put it into your hand from outside the game for {3} as a sorcery.) -- As Umori, the Collector enters the battlefield, choose a card type. -- Spells you cast of the chosen type cost {1} less to cast. +mana={2}{BG}{BG} +type=Legendary Creature +subtype=Ooze +power=4 +toughness=5 +[/card] +[card] name=Unblinking Bleb facedown={3} autofacedown={2}{U}:morph aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -autofaceup=may name(Scry 2) _SCRY_(2) +autofaceup=may name(Scry 2) _SCRY2_ text=Morph {2}{U} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) -- Whenever Unblinking Bleb or another permanent is turned face up, you may scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3}{U} type=Creature @@ -87499,7 +90227,7 @@ other={3}{W} name(Entwine) auto=ifnot paid(alternative) then if type(creature|battlefield)~morethan~0 then choice name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) target(creature|battlefield) counter(1/1) auto=ifnot paid(alternative) then choice name(Proliferate) _PROLIFERATE_ auto=if paid(alternative) then if type(creature|battlefield)~morethan~0 then name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) target(creature|battlefield) counter(1/1) -auto=if paid(alternative) then ability$!name(Proliferate) _PROLIFERATE_ +auto=if paid(alternative) then _PROLIFERATE_ text=Choose one -- Put a +1/+1 counter on each of up to two target creatures. -- Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) -- Entwine {3}{W} (Choose both if you pay the entwine cost.) mana={1}{W} type=Instant @@ -87632,6 +90360,30 @@ power=1 toughness=2 [/card] [card] +name=Undercellar Sweep +auto=_INITIATIVE_CONTROLLER_ +auto=@each my blockers restriction{compare(pinitiativeplusoinitiativeplusend)~morethan~0}:name(Create 2 soldiers) name(Create 2 soldiers) token(Soldiers,Creature Soldier,1/1,white,battleready) +text=When Undercellar Sweep enters the battlefield, you take the initiative. -- Whenever you attack, if you or a player you're attacking has the initiative, you create two 1/1 white Soldier creature tokens that are tapped and attacking. +mana={4}{W} +type=Enchantment +[/card] +[card] +name=Undercity +restriction=never +autocommandzone=transforms((,newability[shroud],newability[indestructible])) forever +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Secret Entrance) name(Secret Entrance) target(land[basic]|mylibrary) moveto(myhand)!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~2}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Forge or Lost Well) all(Undercity|mycommandzone) transforms((,newability[if type(creature|battlefield)~morethan~0 then choice name(Forge) name(Forge) all(Undercity|mycommandzone) counter(0/0.1.Forge) && target(creature|battlefield) counter(1/1.2)],newability[choice name(Lost Well) all(Undercity|mycommandzone) counter(0/0.1.LostWell) && _SCRY2_])) oneshot!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntforge)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Trap or Arena) name(Trap or Arena) transforms((,newability[choice name(Target player losses 5 life) all(Undercity|mycommandzone) counter(0/0.1.Trap) && target(player) life:-5],newability[if type(creature|battlefield)~morethan~0 then choice name(Goad creature) name(Goad creature) all(Undercity|mycommandzone) counter(0/0.1.Arena) && target(creature|battlefield) _GOAD_])) oneshot!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntlostwell)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Arena or Stash) name(Arena or Stash) transforms((,newability[choice name(Create treasure) all(Undercity|mycommandzone) counter(0/0.1.Stash) && token(Treasure Sur)],newability[if type(creature|battlefield)~morethan~0 then choice name(Goad creature) name(Goad creature) all(Undercity|mycommandzone) counter(0/0.1.Arena) && target(creature|battlefield) _GOAD_])) oneshot!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~4,compare(hascnttrap)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Archives) name(Archives) draw:1 controller!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~4,compare(hascntstash)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Catacombs) name(Catacombs) token(Skeleton^Creature Skeleton^4/1^black^menace)!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~4,compare(hascntarena)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Archives or Catacombs) name(Archives or Catacombs) transforms((,newability[choice name(Draw a card) draw:1 controller],newability[choice name(Create skeleton) name(Create skeleton) token(Skeleton^Creature Skeleton^4/1^black^menace)])) oneshot!$ controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~5}:choice name(Dungeon completed) all(Undercity|mycommandzone) completedungeon:1 controller +autocommandzone=@counteradded(0/0,1,Explore) from(Undercity|mycommandzone) restriction{compare(hascntexplore)~equalto~5}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Throne of the Dead Three) name(Throne of the Dead Three) reveal:10 optionone name(Choose a creature) target(creature|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(Put back) target(*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!( shuffle )! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!( moveTo(myBattlefield) and!( transforms((,newability[counter(1/1.3)],newability[counter(0/0,1,Hexproof)],newability[this(counter{0/0.1.Hexproof}>=1) opponentshroud],newability[phaseaction[my untap once sourceinplay] removeallcounters(0/0.1.Hexproof)])) ueot )! )! afterrevealedend revealend!$ controller +text=You can't enter this dungeon unless you "venture into Undercity." -- Secret Entrance - Search your library for a basic land card, reveal it, put it into your hand, then shuffle. (Leads to: Forge, Lost Well) -- Forge - Put two +1/+1 counters on target creature. (Leads to: Trap!, Arena) -- Lost Well - Scry 2. (Leads to: Arena, Stash) -- Trap! - Target player loses 5 life. (Leads to: Archives) -- Arena - Goad target creature. (Leads to: Archives, Catacombs) -- Stash - Create a Treasure token. (Leads to: Catacombs) -- Archives - Draw a card. (Leads to: Throne of the Dead Three) -- Catacombs - Create a 4/1 black Skeleton creature token with menace. (Leads to: Throne of the Dead Three) -- Throne of the Dead Three - Reveal the top ten cards of your library. Put a creature card from among them onto the battlefield with three +1/+1 counters on it. It gains hexproof until your next turn. Then shuffle. +type=Dungeon +[/card] +[card] name=Undercity Necrolisk auto={1}{S(other creature|mybattlefield)}:counter(1/1) && menace ueot asSorcery text={1}, Sacrifice another creature: Put a +1/+1 counter on Undercity Necrolisk. It gains menace until end of turn. Activate this ability only any time you could cast a sorcery. (It can't be blocked except by two or more creatures.) @@ -87644,7 +90396,7 @@ toughness=3 [card] name=Undercity Scavenger aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=may name(Sacrifice Creature) sacrifice notatarget(other creature|mybattlefield) and!( all(this) counter(1/1,2) && _SCRY_(2) )! +auto=may name(Sacrifice Creature) sacrifice notatarget(other creature|mybattlefield) and!( all(this) counter(1/1,2) && _SCRY2_ )! text=When Undercity Scavenger enters the battlefield, you may sacrifice another creature. If you do, put two +1/+1 counters on Undercity Scavenger, then scry 2. mana={3}{B} type=Creature @@ -87692,6 +90444,17 @@ power=1 toughness=2 [/card] [card] +name=Underdark Explorer +abilities=menace +auto=_INITIATIVE_CONTROLLER_ +text=Menace (This creature can't be blocked except by two or more creatures.) -- When Underdark Explorer enters the battlefield, you take the initiative. +mana={4}{B} +type=Creature +subtype=Lizard Warrior +power=5 +toughness=3 +[/card] +[card] name=Underdark Rift auto={T}:add{C} auto={5}{T}{E}:name(Roll a d10) transforms((,newability[@dierolled(this|myexile) result(1) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(2)],newability[@dierolled(this|myexile) result(2) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(3)],newability[@dierolled(this|myexile) result(3) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(4)],newability[@dierolled(this|myexile) result(4) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(5)],newability[@dierolled(this|myexile) result(5) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(6)],newability[@dierolled(this|myexile) result(6) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(7)],newability[@dierolled(this|myexile) result(7) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(8)],newability[@dierolled(this|myexile) result(8) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(9)],newability[@dierolled(this|myexile) result(1) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(10)],newability[@dierolled(this|myexile) result(10) from(controller) once:name(Put in library) target(*[creature;planeswalkers;artifact]|battlefield) placefromthetop(11)],newability[rolld10 10 winability donothing winabilityend rolld10end])) ueot asSorcery @@ -87707,6 +90470,19 @@ text=Undergrowth Stadium enters the battlefield tapped unless you have two or mo type=Land [/card] [card] +name=Undermountain Adventurer +auto=_INITIATIVE_CONTROLLER_ +abilities=vigilance +auto=this(variable{pdungeoncompleted}>0) {T}:Add{G}{G}{G}{G}{G}{G} +auto=this(variable{pdungeoncompleted}=0) {T}:Add{G}{G} +text=Vigilance -- When Undermountain Adventurer enters the battlefield, you take the initiative. -- {T}: Add {G}{G}. If you've completed a dungeon, add six {G} instead. +mana={3}{G} +type=Creature +subtype=Giant Warrior +power=3 +toughness=4 +[/card] +[card] name=Underrealm Lich auto=replacedraw reveal:3 optionone name(Get card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo all(*|reveal) moveto(mygraveyard) optiontwoend revealend auto={L:4}:indestructible && tap @@ -87887,7 +90663,7 @@ type=Instant [card] name=Unexplained Vision aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if casted(this) then if spent({U}{U}{U}) then _SCRY_(3) +auto=if casted(this) then if spent({U}{U}{U}) then _SCRY3_ auto=draw:3 controller text=Draw three cards. -- Adamant - If at least three blue mana was spent to cast this spell, scry 3. mana={4}{U} @@ -88102,10 +90878,9 @@ toughness=3 [/card] [card] name=Unseal the Necropolis -auto=deplete:3 controller -auto=deplete:3 opponent +auto=all(player) deplete:3 auto=may moveTo(ownerHand) notatarget(creature|myGraveyard) -text=Each player mills three cards. Then you return up to two creature cards from your graveyard to your hand. (To mill three cards, a player puts the top three cards of their library into their graveyard.) +text=Each player mills three cards. Then you return up to two creature cards from your graveyard to your hand. (To mill three cards, a player mills three cards.) mana={2}{B} type=Instant [/card] @@ -88240,7 +91015,7 @@ subtype=Aura [card] name=Urborg Panther auto={B}{S}:destroy target(creature[blocking]) -auto={S(*[Feral Shadow|mybattlefield)}{S(*[Breathstealer]|mybattlefield)}{S(*[Urborg Panther]|mybattlefield)}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[Spirit of the Night]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend +auto={S(*[Feral Shadow]|mybattlefield)}{S(*[Breathstealer]|mybattlefield)}{S(*[Urborg Panther]|mybattlefield)}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[Spirit of the Night]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text={B}, Sacrifice Urborg Panther: Destroy target creature blocking Urborg Panther. -- Sacrifice a creature named Feral Shadow, a creature named Breathstealer, and Urborg Panther: Search your library for a card named Spirit of the Night and put that card onto the battlefield. Then shuffle your library. mana={2}{B} type=Creature @@ -88414,7 +91189,7 @@ toughness=4 [card] name=Urza's Tome auto={3}{T}:_LOOT_ -auto={3}{T} restriction{type(*[artifact;legendary;saga]|mygraveyard)~morethan~0}:draw:1 && exile notatarget(*[artifact;legendary;saga]|mygraveyard) +auto={3}{T} restriction{type(*[artifact;legendary;saga]|mygraveyard)~morethan~0}:name(exile a historic card) draw:1 && transforms((,newability[notatarget(*[artifact;legendary;saga]|mygraveyard) moveto(exile)])) oneShot text={3}, {T}: Draw a card. Then discard a card unless you exile a historic card from your graveyard. (Artifacts, legendaries, and Sagas are historic.) mana={2} type=Artifact @@ -88892,7 +91667,7 @@ type=Instant [card] name=Vance's Blasting Cannons auto=@each my upkeep:all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[counter(0/0.1.BlastingCannons)])) ueot )! -auto=@movedto(*|mystack) restriction{thisturn(*|mystack)~equalto~2}:flip(Spitfire Bastion) +auto=@movedto(*|mystack) restriction{thisturn(*|mystack)~equalto~2}:may flip(Spitfire Bastion) text=At the beginning of your upkeep, exile the top card of your library. If it's a nonland card, you may cast that card this turn. -- Whenever you cast your third spell in a turn, you may transform Vance's Blasting Cannons. mana={3}{R} type=Legendary Enchantment @@ -88976,8 +91751,8 @@ abilities=flying auto=aslongas(*|opponentgraveyard) cantattack <7 auto=aslongas(*|opponentgraveyard) cantpwattack <7 auto=aslongas(*|myHand) cantblock <4 -auto={T}:deplete:1 && deplete:1 opponent -text=Flying -- Vantress Gargoyle can't attack unless defending player has seven or more cards in their graveyard. -- Vantress Gargoyle can't block unless you have four or more cards in hand. -- {T}: Each player puts the top card of their library into their graveyard. +auto={T}:all(player) deplete:1 +text=Flying -- Vantress Gargoyle can't attack unless defending player has seven or more cards in their graveyard. -- Vantress Gargoyle can't block unless you have four or more cards in hand. -- {T}: Each player mills a card. mana={1}{U} type=Artifact Creature subtype=Gargoyle @@ -89348,6 +92123,14 @@ power=4 toughness=4 [/card] [card] +name=Vengeant Earth +target=creature,land|myBattlefield +auto=transforms((Elemental Creature,setpower=4,settoughness=4,haste,newability[_ATTACKING_ability$! notAtarget(creature|myBattlefield) transforms((,newability[mustblock])) ueot!$ opponent])) ueot +text=Target creature or land you control becomes a 4/4 Elemental creature with haste in addition to its other types until end of turn. It must be blocked this turn if able. +mana={1}{G} +type=Instant +[/card] +[card] name=Vengeant Vampire abilities=lifelink auto=_DIES_life:4 controller @@ -89425,27 +92208,27 @@ toughness=3 name=Vengeful Rebirth auto=moveto(myexile) all(this) auto=if type(land|mygraveyard)~morethan~0 then choice name(Return land card):target(land|mygraveyard) moveto(myhand) -auto=if type(*[manacost=0]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 0):target(*[manacost=0] moveto(myhand) -auto=if type(*[manacost=1]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 1):target(*[manacost=1] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:1!$ controller -auto=if type(*[manacost=2]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 2):target(*[manacost=2] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:2!$ controller -auto=if type(*[manacost=3]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 3):target(*[manacost=3] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:3!$ controller -auto=if type(*[manacost=4]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 4):target(*[manacost=4] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:4!$ controller -auto=if type(*[manacost=5]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 5):target(*[manacost=5] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:5!$ controller -auto=if type(*[manacost=6]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 6):target(*[manacost=6] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:6!$ controller -auto=if type(*[manacost=7]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 7):target(*[manacost=7] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:7!$ controller -auto=if type(*[manacost=8]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 8):target(*[manacost=8] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:8!$ controller -auto=if type(*[manacost=9]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 9):target(*[manacost=9] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:9!$ controller -auto=if type(*[manacost=10]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 10):target(*[manacost=10] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:10!$ controller -auto=if type(*[manacost=11]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 11):target(*[manacost=11] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:11!$ controller -auto=if type(*[manacost=12]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 12):target(*[manacost=12] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:12!$ controller -auto=if type(*[manacost=13]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 13):target(*[manacost=13] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:13!$ controller -auto=if type(*[manacost=14]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 14):target(*[manacost=14] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:14!$ controller -auto=if type(*[manacost=15]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 15):target(*[manacost=15] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:15!$ controller -auto=if type(*[manacost=16]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 16):target(*[manacost=16] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:16!$ controller -auto=if type(*[manacost=17]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 17):target(*[manacost=17] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:17!$ controller -auto=if type(*[manacost=18]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 18):target(*[manacost=18] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:18!$ controller -auto=if type(*[manacost=19]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 19):target(*[manacost=19] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:19!$ controller -auto=if type(*[manacost>=20]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 20):target(*[manacost>=20] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:20!$ controller +auto=if type(*[manacost=0]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 0):target(*[manacost=0]|mygraveyard) moveto(myhand) +auto=if type(*[manacost=1]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 1):target(*[manacost=1]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:1!$ controller +auto=if type(*[manacost=2]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 2):target(*[manacost=2]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:2!$ controller +auto=if type(*[manacost=3]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 3):target(*[manacost=3]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:3!$ controller +auto=if type(*[manacost=4]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 4):target(*[manacost=4]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:4!$ controller +auto=if type(*[manacost=5]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 5):target(*[manacost=5]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:5!$ controller +auto=if type(*[manacost=6]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 6):target(*[manacost=6]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:6!$ controller +auto=if type(*[manacost=7]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 7):target(*[manacost=7]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:7!$ controller +auto=if type(*[manacost=8]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 8):target(*[manacost=8]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:8!$ controller +auto=if type(*[manacost=9]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 9):target(*[manacost=9]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:9!$ controller +auto=if type(*[manacost=10]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 10):target(*[manacost=10]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:10!$ controller +auto=if type(*[manacost=11]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 11):target(*[manacost=11]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:11!$ controller +auto=if type(*[manacost=12]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 12):target(*[manacost=12]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:12!$ controller +auto=if type(*[manacost=13]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 13):target(*[manacost=13]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:13!$ controller +auto=if type(*[manacost=14]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 14):target(*[manacost=14]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:14!$ controller +auto=if type(*[manacost=15]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 15):target(*[manacost=15]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:15!$ controller +auto=if type(*[manacost=16]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 16):target(*[manacost=16]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:16!$ controller +auto=if type(*[manacost=17]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 17):target(*[manacost=17]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:17!$ controller +auto=if type(*[manacost=18]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 18):target(*[manacost=18]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:18!$ controller +auto=if type(*[manacost=19]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 19):target(*[manacost=19]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:19!$ controller +auto=if type(*[manacost>=20]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 20):target(*[manacost>=20]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:20!$ controller text=Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card's mana value to target creature or player. -- Exile Vengeful Rebirth. mana={4}{R}{G} type=Sorcery @@ -89516,6 +92299,18 @@ power=2 toughness=2 [/card] [card] +name=Venture Forth +abilities=exiledeath +other={1}{G} name(Suspend 3) +auto=ifnot paid(alternative) then name(Exile cards) name(Exile cards) target(*[zpos=findfirsttypeland]|mylibrary) moveto(myexile) and!( moveto(myBattlefield) and!( all(*[zpos<=findfirsttypeland]|mylibrary) moveto(exile) and!( bottomoflibrary )! )! )! +auto=moveto(myexile) and!( counter(0/0,3,Time) )! +autoexile=@each my upkeep restriction{compare(hascnttime)~morethan~1}:counter(0/0,-1,Time) +autoexile=@each my upkeep restriction{compare(hascnttime)~equalto~1}:activate castcard(normal) +text=Exile cards from the top of your library until you exile a land card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. Exile Venture Forth with three time counters on it. -- Suspend 3-{1}{G} +mana={3}{G} +type=Sorcery +[/card] +[card] name=Verazol, the Split Current auto=if casted(this) then counter(1/1,2) auto=counter(1/1,X) all(this) @@ -89729,6 +92524,14 @@ power=2 toughness=1 [/card] [card] +name=Veteran Soldier +auto=lord(*[iscommander]|mybattlefield) transforms((,newability[@combat(attacking) source(this):name(Create attacking Soldier) token(Soldier,Creature Soldier,1/1,white,battleready)])) +text=Commander creatures you own have "Whenever this creature attacks a player, if no opponent has more life than that player, for each opponent, create a 1/1 white Soldier creature token that's tapped and attacking that opponent." +mana={1}{W} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Veteran's Powerblade auto=teach(creature) 2/0 auto={W}:equip target(Soldier) @@ -89759,6 +92562,19 @@ power=2 toughness=2 [/card] [card] +name=Vexing Puzzlebox +auto=@dierolled(*|mybattlefield) from(controller):name(Put charge counter) counter(0/0,lastrollresult,Charge) +auto={T}:name(Add white and roll d20) rolld20 20 winability add{W} winabilityend loseability add{W} loseabilityend rolld20end +auto={T}:name(Add blue and roll d20) rolld20 20 winability add{U} winabilityend loseability add{U} loseabilityend rolld20end +auto={T}:name(Add black and roll d20) rolld20 20 winability add{B} winabilityend loseability add{B} loseabilityend rolld20end +auto={T}:name(Add red and roll d20) rolld20 20 winability add{R} winabilityend loseability add{R} loseabilityend rolld20end +auto={T}:name(Add green and roll d20) rolld20 20 winability add{G} winabilityend loseability add{G} loseabilityend rolld20end +auto={T}{C(0/0,-100,Charge)}:name(Search artifact) target(artifact|mylibrary) moveto(mybattlefield) and!( shuffle )! +text=Whenever you roll one or more dice, put a number of charge counters on Vexing Puzzlebox equal to the result. -- {T}: Add one mana of any color. Roll a d20. -- {T}, Remove 100 charge counters from Vexing Puzzlebox: Search your library for an artifact card, put that card onto the battlefield, then shuffle. +mana={3} +type=Artifact +[/card] +[card] name=Vexing Shusher abilities=nofizzle auto={RG}: target(*[-land]|stack) nofizzle @@ -89781,6 +92597,17 @@ power=2 toughness=2 [/card] [card] +name=Vhal, Candlekeep Researcher +abilities=vigilance,backgroundpartner +auto={T}:name(Add mana) thisforeach(variable{type:toughness}>0) add{C} +text=Vigilance -- {T}: Add an amount of {C} equal to Vhal, Candlekeep Researcher's toughness. This mana can't be spent to cast spells from your hand. -- Choose a Background (You can have a Background as a second commander.) +mana={3}{U} +type=Legendary Creature +subtype=Human Wizard +power=2 +toughness=3 +[/card] +[card] name=Vial Smasher the Fierce abilities=partner auto=@movedto(*[-land;manacost=1]|mystack) restriction{thisturn(*|mystack)~lessthan~1} turnlimited:ability$!name(Choose one) choice name(Damage opponent) damage:1 opponent _ choice name(Damage planeswalker) damage:1 target(planeswalker|opponentBattlefield)!$ controller @@ -89856,6 +92683,17 @@ power=4 toughness=1 [/card] [card] +name=Vicious Battlerager +auto=_INITIATIVE_CONTROLLER_ +auto=@combat(blocked) source(this) from(creature|opponentbattlefield):name(Deal 5 damage) damage:5 opponent +text=When Vicious Battlerager enters the battlefield, you take the initiative. -- Spiked Retribution - Whenever Vicious Battlerager becomes blocked by a creature, that creature's controller loses 5 life. +mana={3}{B} +type=Creature +subtype=Dwarf Barbarian +power=1 +toughness=5 +[/card] +[card] name=Vicious Betrayal auto=if type(*[creature]|myBattlefield)~morethan~0 then choice name(Sacrifice 1 creature) ability$!sacrifice notatarget(creature|mybattlefield)!$ controller && target(creature) 2/2 ueot auto=if type(*[creature]|myBattlefield)~morethan~1 then choice name(Sacrifice 2 creatures) ability$!sacrifice notatarget(<2>creature|mybattlefield)!$ controller && target(creature) 4/4 ueot @@ -89977,7 +92815,7 @@ toughness=5 [card] name=Vigorspore Wurm abilities=oneblocker -auto=target(creature) transforms((,newability[vigilance],newability[type:creature:mygraveyard/type:creature:mygraveyard]) ueot +auto=target(creature) transforms((,newability[vigilance],newability[type:creature:mygraveyard/type:creature:mygraveyard])) ueot text=Undergrowth - When Vigorspore Wurm enters the battlefield, target creature gains vigilance and gets +X/+X until end of turn, where X is the number of creature cards in your graveyard. -- Vigorspore Wurm can't be blocked by more than one creature. mana={5}{G} type=Creature @@ -90431,7 +93269,7 @@ toughness=3 [card] name=Vivien's Invocation aicode=activate target(creature[zpos<=7]|mylibrary) moveto(mybattlefield) and!(transforms((,newability[target(creature|opponentbattlefield) dynamicability])) oneshot)! -auto=reveal:7 optionone name(Get Creature) target(<1>creature|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,newability[target(creature|opponentbattlefield) dynamicability])) oneshot)! afterrevealedend revealend +auto=reveal:7 optionone name(Get Creature) target(<1>creature|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,newability[target(creature|opponentbattlefield) dynamicability])) oneshot)! )! afterrevealedend revealend text=Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in a random order. When a creature is put onto the battlefield this way, it deals damage equal to its power to target creature an opponent controls. mana={5}{G}{G} type=Sorcery @@ -90439,7 +93277,7 @@ type=Sorcery [card] name=Vivien's Jaguar abilities=reach -autograveyard={2}[G} restriction{type(planeswalker[vivien]|mybattlefield)~morethan~0}:name(Return to hand) name(Return to hand) moveto(myhand) +autograveyard={2}{G} restriction{type(planeswalker[vivien]|mybattlefield)~morethan~0}:name(Return to hand) name(Return to hand) moveto(myhand) text=Reach (This creature can block creatures with flying.) -- {2}{G}: Return Vivien's Jaguar from your graveyard to your hand. Activate this ability only if you control a Vivien planeswalker. mana={2}{G} type=Creature @@ -90566,6 +93404,16 @@ power=1 toughness=1 [/card] [card] +name=Vodalian Wave-Knight +auto=@drawof(player):counter(1/1) all(other *[merfolk;knight]|myBattlefield) +text=Whenever you draw a card, put a +1/+1 counter on each other Merfolk and/or Knight you control. +mana={2}{W}{U} +type=Creature +subtype=Merfolk Knight +power=3 +toughness=3 +[/card] +[card] name=Vogar, Necropolis Tyrant abilities=menace auto=@movedTo(other creature|graveyard) from(battlefield) restriction{myturnonly}:counter(1/1) @@ -90701,6 +93549,15 @@ mana={10}{R}{R} type=Sorcery [/card] [card] +name=Volcanic Spite +target=creature,planeswalker,battle +auto=damage:3 +auto=may bottomoflibrary notAtarget(*|myHand) and!(draw:1 controller)! +text=Volcanic Spite deals 3 damage to target creature, . You may put a card from your hand on the bottom of your library. If you do, draw a card. +mana={1}{R} +type=Instant +[/card] +[card] name=Volcanic Torrent autostack=if casted(this) then cascade:plibrarycount auto=all(creature|opponentBattlefield) damage:pstormcount @@ -91280,7 +94137,7 @@ toughness=5 name=Wall of Lost Thoughts abilities=defender auto=deplete:4 target(player) -text=Defender -- When Wall of Lost Thoughts enters the battlefield, target player puts the top four cards of their library into their graveyard. +text=Defender -- When Wall of Lost Thoughts enters the battlefield, target player mills four cards. mana={1}{U} type=Creature subtype=Wall @@ -91324,7 +94181,7 @@ toughness=5 name=Wall of Runes abilities=defender aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Defender -- When Wall of Runes enters the battlefield, scry 1. mana={U} type=Creature @@ -91361,6 +94218,34 @@ mana={1} type=Artifact [/card] [card] +name=Wand of Wonder +aicode=activate transforms((,newability[all(*[zpos=oppofindfirsttypenonpermanent]|opponentlibrary) moveto(ownerexile) and!( transforms((,newability[counter(0/0.1.WandExiledCast)],newability[all(*[zpos<=findfirsttypenonpermanent]|mylibrary) moveto(reveal) and!( bottomoflibrary and!( shuffle )! )!])) oneshot )!],newability[name(Roll a d20) rolld20 20 winability donothing winabilityend rolld20end])) oneshot +auto={4}{T}:name(Exile top cards) reveal:1 revealzone(opponentlibrary) revealuntil(*[instant;sorcery]|opponentlibrary) optionone choice name(Choose revelead instant or sorcery) target(*[instant;sorcery]|reveal) moveto(ownerexile) and!( transforms((,newability[counter(0/0.1.WandExiledCast)])) forever )! optiononeend optiontwo choice name(Put back and shuffle) target(<1>*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary and!( shuffle )! )! optiontwoend afterrevealed transforms((,newability[name(Roll a d20) rolld20 20 winability donothing winabilityend rolld20end])) oneshot afterrevealedend revealend +auto=@dierolled(*|mybattlefield) result(1) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(2) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(3) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(4) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(5) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(6) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(7) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(8) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(9) from(controller):may name(Cast 1 instant or sorcery) name(Cast 1 instant or sorcery) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(10) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(11) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(12) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(13) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(14) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(15) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(16) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(17) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(18) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(19) from(controller):may name(Cast 2 instants or sorcerys) name(Cast 2 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +auto=@dierolled(*|mybattlefield) result(20) from(controller):may name(Cast 3 instants or sorcerys) name(Cast 3 instants or sorcerys) target(*[-land;-creature;-artifact;-enchantment;-planeswalker;counter{0/0.1.WandExiledCast}]|opponentexile) activate castcard(normal) +text={4}, {T}: Roll a d20. Each opponent exiles cards from the top of their library until they exile an instant or sorcery card, then shuffles the rest into their library. You may cast up to X instant and/or sorcery spells from among cards exiled this way without paying their mana costs. -- 1-9 | X is one. -- 10-19 | X is two. -- 20 | X is three. +mana={3}{R} +type=Artifact +[/card] +[card] name=Wander in Death abilities=cycling target=creature|mygraveyard @@ -91394,7 +94279,7 @@ otherrestriction=can play sorcery,compare(isflipped)~equalto~1 restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(Explore the Vastlands) autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(copied named!:explore the vastlands:!)])) forever -auto=@movedto(*[instant;sorcery]|opponentstack):all(trigger[to]) transforms((,newability[[pay[[{2}]] name(pay 2 mana) donothing?counter(0/0.1.WanderingEffect)])) oneshot +auto=@movedto(*[instant;sorcery]|opponentstack):all(trigger[to]) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?counter(0/0.1.WanderingEffect)])) oneshot auto=@counteradded(0/0,1,WanderingEffect) from(instant|opponentstack):may name(Copy spell) all(instant[counter{0/0.1.WanderingEffect}]|opponentstack) activate castcard(copied) auto=@counteradded(0/0,1,WanderingEffect) from(sorcery|opponentstack):may name(Copy spell) all(sorcery[counter{0/0.1.WanderingEffect}]|opponentstack) activate castcard(copied) text=Whenever an opponent casts an instant or sorcery spell, they may pay {2}. If they don't, you may copy that spell. You may choose new targets for the copy. // {3} Explore the Vastlands @@ -91734,7 +94619,7 @@ toughness=1 [card] name=Warteye Witch aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(creature|graveyard) from(mybattlefield):_SCRY_(1) +auto=@movedTo(creature|graveyard) from(mybattlefield):_SCRY1_ text=Whenever Warteye Witch or another creature you control dies, scry 1. mana={2}{B} type=Creature @@ -92038,7 +94923,7 @@ type=Artifact [/card] [card] name=Weaponize the Monsters -auto={2}{S(creature|myBattlefield}:damage:2 target(player,creature,planeswalker) +auto={2}{S(creature|myBattlefield)}:damage:2 target(player,creature,planeswalker) text={2}, Sacrifice a creature: Weaponize the Monsters deals 2 damage to any target. mana={R} type=Enchantment @@ -92234,7 +95119,7 @@ type=Conspiracy name=Weight of Memory auto=draw:3 auto=deplete:3 target(player) -text=Draw three cards. Target player puts the top three cards of their library into their graveyard. +text=Draw three cards. Target player mills three cards. mana={3}{U}{U} type=Sorcery [/card] @@ -92468,6 +95353,18 @@ power=4 toughness=4 [/card] [card] +name=White Plume Adventurer +auto=_INITIATIVE_CONTROLLER_ +auto=@each opponent upkeep restriction{compare(pdungeoncompleted)~morethan~0}:name(Untap all creatures) all(creature|mybattlefield) untap +auto=@each opponent upkeep restriction{compare(pdungeoncompleted)~equalto~0}:name(Untap target creatures) target(creature|mybattlefield) untap +text=When White Plume Adventurer enters the battlefield, you take the initiative. -- At the beginning of each opponent's upkeep, untap a creature you control. If you've completed a dungeon, untap all creatures you control instead. +mana={2}{W} +type=Creature +subtype=Orc Cleric +power=3 +toughness=3 +[/card] +[card] name=White Sun's Twilight auto=this(X>=5) destroy all(creature) auto=life:X && _PHYREXIANMITETOKEN_*X @@ -92564,6 +95461,18 @@ mana={4}{G}{G} type=Sorcery [/card] [card] +name=Wild Magic Surge +target=*|opponentbattlefield +auto=if cantargetcard(*[creature]|*) then destroy and!( transforms((,newability[name(Put a creature in play) target(*[zpos=findfirsttypecreature]|mylibrary) moveto(mybattlefield) and!( all(other *[zpos<=findfirsttypecreature]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!)!])) oneshot )! +auto=if cantargetcard(*[land]|*) then destroy and!( transforms((,newability[name(Put a land in play) target(*[zpos=findfirsttypeland]|mylibrary) moveto(mybattlefield) and!( all(other *[zpos<=findfirsttypeland]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!)!])) oneshot )! +auto=if cantargetcard(*[artifact]|*) then destroy and!( transforms((,newability[name(Put an artifact in play) target(*[zpos=findfirsttypeartifact]|mylibrary) moveto(mybattlefield) and!( all(other *[zpos<=findfirsttypeartifact]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!)!])) oneshot )! +auto=if cantargetcard(*[planeswalker]|*) then destroy and!( transforms((,newability[name(Put a planeswalker in play) target(*[zpos=findfirsttypeplaneswalker]|mylibrary) moveto(mybattlefield) and!( all(other *[zpos<=findfirsttypeplaneswalker]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!)!])) oneshot )! +auto=if cantargetcard(*[enchantment]|*) then destroy and!( transforms((,newability[name(Put an enchantment in play) target(*[zpos=findfirsttypeenchantment]|mylibrary) moveto(mybattlefield) and!( all(other *[zpos<=findfirsttypeenchantment]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!)!])) oneshot )! +text=Destroy target permanent an opponent controls. Its controller reveals cards from the top of their library until they reveal a permanent card that shares a card type with that permanent. They put that card onto the battlefield and the rest on the bottom of their library in a random order. +mana={R}{R} +type=Instant +[/card] +[card] name=Wild Might target=creature auto=1/1 ueot @@ -92705,7 +95614,7 @@ toughness=2 [card] name=Wildwood Scourge auto=counter(1/1,X) -auto=@counteradded(1/1) from(creature[-hydra]|mybattlefield):counter(1/1) all(this) +auto=@counteradded(1/1) from(other *[creature;-hydra]|mybattlefield):counter(1/1) all(this) text=Wildwood Scourge enters the battlefield with X +1/+1 counters on it. -- Whenever one or more +1/+1 counters are put on another non-Hydra creature you control, put a +1/+1 counter on Wildwood Scourge. mana={X}{G} type=Creature @@ -92905,13 +95814,22 @@ type=Sorcery name=Winds of Rebuke target=*[-land] auto=moveto(ownerhand) -auto=deplete:2 controller -auto=deplete:2 opponent -text=Return target nonland permanent to its owner's hand. Each player puts the top two cards of his or her library into his or her graveyard. +auto=all(player) deplete:2 +text=Return target nonland permanent to its owner's hand. Each player mills two cards. mana={1}{U} type=Instant [/card] [card] +name=Windshaper Planetar +abilities=flash,flying +text=Flash -- Flying -- When Windshaper Planetar enters the battlefield during the declare attackers step, for each attacking creature, you may reselect which player or planeswalker that creature is attacking. (It can't attack its controller or its controller's planeswalkers.) +mana={4}{W} +type=Creature +subtype=Angel +power=4 +toughness=4 +[/card] +[card] name=Windstorm Drake abilities=flying auto=lord(other creature[flying]|myBattlefield) +1/+0 @@ -93234,7 +96152,7 @@ type=Instant [card] name=Witching Well aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ auto={3}{U}{S}:draw:2 controller text=When Witching Well enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) -- {3}{U}, Sacrifice Witching Well: Draw two cards. mana={U} @@ -93262,7 +96180,7 @@ toughness=2 name=Witherbloom Campus aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=tap(noevent) -auto={4}{T}:name(Scry 1) _SCRY_(1) +auto={4}{T}:name(Scry 1) _SCRY1_ auto={T}:add{B} auto={T}:add{G} text=Witherbloom Campus enters the battlefield tapped. -- {T}: Add {B} or {G}. -- {4}, {T}: Scry 1. @@ -93316,7 +96234,7 @@ type=Instant name=Witness of Tomorrows abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={3}{U}:_SCRY_(1) +auto={3}{U}:_SCRY1_ text=Flying -- {3}{U}: Scry 1. mana={4}{U} type=Enchantment Creature @@ -93419,7 +96337,7 @@ toughness=3 name=Woe Strider auto=token(Goat,Creature Goat,0/1,white) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={S(other creature|myBattlefield}:_SCRY_(1) +auto={S(other creature|myBattlefield}:_SCRY1_ retrace={3}{B}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape) auto=if paid(retrace) then counter(1/1,2) text=When Woe Strider enters the battlefield, create a 0/1 white Goat creature token. -- Sacrifice another creature: Scry 1. -- Escape-{3}{B}{B}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Woe Strider escapes with two +1/+1 counters on it. @@ -93804,6 +96722,17 @@ power=6 toughness=6 [/card] [card] +name=Wrathful Red Dragon +abilities=flying +auto=@damaged(*[dragon]|mybattlefield):name(Deals damage) all(trigger[to]) transforms((,newability[choice name(Damage player) target(player) damage:thatmuch],newability[if type(*[-dragon]|battlefield)~morethan~0 then choice name(Damage non-dragon) name(Damage non-dragon) target(*[-dragon]|battlefield) damage:thatmuch])) oneshot +text=Flying -- Whenever a Dragon you control is dealt damage, it deals that much damage to any target that isn't a Dragon. +mana={3}{R}{R} +type=Creature +subtype=Dragon +power=5 +toughness=5 +[/card] +[card] name=Wrecking Beast abilities=trample auto=choice counter(1/1) @@ -93937,6 +96866,19 @@ power=2 toughness=2 [/card] [card] +name=Wyll, Blade of Frontiers +#Ignore the lowest roll is not available ATM. +abilities=backgroundpartner +auto=@dierolled(*|mybattlefield) from(controller):name(Put 1/1 counter) all(trigger[to]) counter(1/1) +auto=@dierolled(*[-Wyll^ Blade of Frontiers]|battlefield) from(controller):name(Roll again) rolld20 20 winability donothing winabilityend loseability donothing loseabilityend rolld20end +text=If you would roll one or more dice, instead roll that many dice plus one and ignore the lowest roll. -- Whenever you roll one or more dice, put a +1/+1 counter on Wyll, Blade of Frontiers. -- Choose a Background (You can have a Background as a second commander.) +mana={1}{R} +type=Legendary Creature +subtype=Human Warlock +power=1 +toughness=1 +[/card] +[card] name=Wyrm's Crossing Patrol text=Myriad (Whenever this creature attacks, for each opponent other than defending player, you may create a token that's a copy of this creature that's tapped and attacking that player or a planeswalker they control. Exile the tokens at end of combat.) mana={W} @@ -93968,7 +96910,7 @@ subtype=Island Swamp Mountain [card] name=Xantcha, Sleeper Agent auto=moveto(opponentBattlefield) -auto=this(cantattack) +auto=cantattack auto={3}:life:-2 controller && draw:1 opponent text=Xantcha, Sleeper Agent enters the battlefield under the control of an opponent of your choice. -- Xantcha attacks each combat if able and can't attack its owner or planeswalkers its owner controls. -- {3}: Xantcha's controller loses 2 life and you draw a card. Any player may activate this ability. mana={1}{B}{R} @@ -94011,7 +96953,8 @@ toughness=2 [card] name=Xyris, the Writhing Storm abilities=flying -auto=@drawfoeof(player):token(Snake Xyr) +auto=@drawfoeof(player) restriction{opponentturnonly,compare(odrewcount)~morethan~1}:token(Snake Xyr) +auto=@drawfoeof(player) restriction{myturnonly}:token(Snake Xyr) auto=@damagefoeof(player) from(this):draw:storedpower controller && draw:storedpower opponent text=Flying -- Whenever an opponent draws a card except the first one they draw in each of their draw steps, create a 1/1 green Snake creature token. -- Whenever Xyris, the Writhing Storm deals combat damage to a player, you and that player each draw that many cards. mana={2}{G}{U}{R} @@ -94219,7 +97162,7 @@ toughness=1 [card] name=Yorion, Sky Nomad abilities=flying -auto=may name(Exile permanents) target(other *[-land]|mybattlefield) transforms((,newability[moveto(myexile),newability[phaseaction[endofturn once] moveto(ownerbattlefield)])) ueot +auto=may name(Exile permanents) target(other *[-land]|mybattlefield) transforms((,newability[moveto(myexile)],newability[phaseaction[endofturn once] moveto(ownerbattlefield)])) ueot text=Companion - Your starting deck contains at least twenty cards more than the minimum deck size. (If this card is your chosen companion, you may cast it once from outside the game.) -- Flying -- When Yorion enters the battlefield, exile any number of other nonland permanents you own and control. Return those cards to the battlefield at the beginning of the next end step. mana={3}{WU}{WU} type=Legendary Creature @@ -94429,8 +97372,23 @@ mana={1}{R} type=Sorcery [/card] [card] +name=Young Blue Dragon // Sand Augury +abilities=flying,adventure +restriction=can play creature +other={1}{U} name(Adventure) +aicode=activate transforms((,newability[draw:1 controller])) oneshot +auto=if paid(alternative) then may name(Scry and draw) name(Scry and draw) scry:1 scrycore delayed draw:1 controller scrycoreend scryend +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +text=Flying // Scry 1, then draw a card. (Then exile this card. You may cast the creature later from exile.) +mana={4}{U} +type=Creature +subtype=Dragon +power=3 +toughness=3 +[/card] +[card] name=Young Necromancer -auto=if type(creature|myGraveyard)~morethan~0 then if type(*|myGraveyard)~morethan~2 then may name(Exile 2 cards) target(*|myGraveyard) moveto(myexile) and!( transforms((,newability[name(Exile second card) target(*|myGraveyard) moveto(myexile) and!( transforms((,newability[[name(Return card on battlefield) target(creature|myGraveyard) moveto(myBattlefield)])) oneshot )!])) oneshot )! +auto=if type(creature|myGraveyard)~morethan~0 then if type(*|myGraveyard)~morethan~2 then may name(Exile 2 cards) target(*|myGraveyard) moveto(myexile) and!( transforms((,newability[name(Exile second card) target(*|myGraveyard) moveto(myexile) and!( transforms((,newability[name(Return card to battlefield) target(creature|myGraveyard) moveto(myBattlefield)])) oneshot )!])) oneshot )! text=When Young Necromancer enters the battlefield, you may exile two cards from your graveyard. When you do, return target creature card from your graveyard to the battlefield. mana={4}{B} type=Creature @@ -94439,6 +97397,20 @@ power=2 toughness=3 [/card] [card] +name=Young Red Dragon // Bathe in Gold +abilities=flying,cantblock,adventure,asflsh +restriction=can play creature +other={1}{R} name(Adventure) +auto=if paid(alternative) then name(Create Treasure) name(Create Treasure) token(Treasure Sur) +auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever +text=Flying -- Young Red Dragon can't block. // Create a Treasure token. (Then exile this card. You may cast the creature later from exile.) +mana={3}{R} +type=Creature +subtype=Dragon +power=3 +toughness=2 +[/card] +[card] name=Your Temple Is Under Attack auto=choice name(Pray for Protection) all(creature|myBattlefield) indestructible auto=choice name(strike a deal) draw:2 target(opponent) && draw:2 controller @@ -94535,7 +97507,7 @@ toughness=9 [card] name=Zaffai, Thunder Conductor aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedto(*[instant;sorcery]|mystack):_SCRY_(1) +auto=@movedto(*[instant;sorcery]|mystack):_SCRY1_ auto=@movedto(instant[manacost>=5]|mystack):token(Elemental,Creature Elemental,4/4,blue,red) auto=@movedto(sorcery[manacost>=5]|mystack):token(Elemental,Creature Elemental,4/4,blue,red) auto=@movedto(instant[manacost>=10]|mystack):damage:10 opponent @@ -94711,6 +97683,19 @@ power=4 toughness=4 [/card] [card] +name=Zellix, Sanity Flayer +abilities=backgroundpartner +auto=@movedto(creature|graveyard) from(library):name(Create horror) token(Horror,Creature Horror,1/1,black) +auto={1}{T}:name(You mill 3 cards) deplete:3 controller +auto={1}{T}:name(Opponent mills 3 cards) deplete:3 opponent +text=Hive Mind - Whenever a player mills one or more creature cards, you create a 1/1 black Horror creature token. -- {1}, {T}: Target player mills three cards. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{U} +type=Legendary Creature +subtype=Horror +power=2 +toughness=3 +[/card] +[card] name=Zenith Chronicler auto=@movedto(*[multicolor]|opponentstack) turnlimited:draw:1 auto=@movedto(*[multicolor]|mystack) turnlimited:draw:1 opponent @@ -94760,6 +97745,17 @@ power=1 toughness=1 [/card] [card] +name=Zephyr Winder +abilities=flying +auto=@combatdamaged(player) from(this):may untap target(creature) +text=Flying -- Whenever Zephyr Winder deals combat damage to a player, untap up to one target creature. +mana={1}{U} +type=Creature +subtype=Elemental +power=2 +toughness=1 +[/card] +[card] name=Zerapa Minotaur abilities=first strike auto={2}:-first strike ueot @@ -94793,6 +97789,16 @@ power=4 toughness=8 [/card] [card] +name=Zevlor, Elturel Exile +abilities=haste +text=Haste -- {2}, {T}: When you next cast an instant or sorcery spell that targets only a single opponent or a single permanent an opponent controls this turn, for each other opponent, choose that player or a permanent they control, copy that spell, and the copy targets the chosen player or permanent. +mana={1}{U}{B}{R} +type=Legendary Creature +subtype=Tiefling Warrior +power=4 +toughness=2 +[/card] +[card] name=Zhalfirin Decoy auto={T}:restriction{thisturn(creature|mybattlefield)~morethan~0} tap(noevent) target(creature) text={T}: Tap target creature. Activate this ability only if you had a creature enter the battlefield under your control this turn. @@ -94816,7 +97822,7 @@ toughness=3 [card] name=Zhalfirin Shapecraft target=creature -auto=auto=becomes(,4/3) ueot +auto=becomes(,4/3) ueot auto=draw:1 controller text=Target creature has base power and toughness 4/3 until end of turn. -- Draw a card. mana={1}{U} @@ -94825,7 +97831,7 @@ type=Instant [card] name=Zhalfirin Void aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ auto={T}:Add{C} text=When Zhalfirin Void enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {C}. type=Land diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index c8c784f26..52e6e3c30 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -508,7 +508,7 @@ toughness=0 [card] name=Academy Raider abilities=intimidate -auto=@combatdamaged(player) from(this):if type(*|myhand)~morethan~0 then ability$!may reject notatarget(*|myhand) and!(draw:1)! !$ controller +auto=@combatdamaged(player) from(this):if type(*|myhand)~morethan~0 then ability$!may _DISCARD&DRAW_ !$ controller text=Intimidate. -- Whenever Academy Raider deals combat damage to a player, you may discard a card. If you do, draw a card. mana={2}{R} type=Creature @@ -1361,7 +1361,7 @@ toughness=2 name=Aether Theorist auto=alterenergy:3 controller aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={t}{e:1}:_SCRY_(1) +auto={t}{e:1}:_SCRY1_ text=When Aether Theorist enters the battlefield, you get {E}{E}{E} (three energy counters). -- {T}, Pay {E}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{U} type=Creature @@ -1751,7 +1751,7 @@ type=Instant [card] name=Aggressive Mining auto=maxPlay(land)-99 controller -auto={S(land|mybattlefield):draw:2 controller limit:1 +auto={S(land|mybattlefield)}:draw:2 controller limit:1 text=You can't play lands. -- Sacrifice a land: Draw two cards. Activate this ability only once each turn. mana={3}{R} type=Enchantment @@ -2120,7 +2120,7 @@ toughness=3 [/card] [card] name=Akoum Flameseeker -auto={T(ally|myBattlefield)}{t}:may name(discard and draw) reject notatarget(*|myhand) and!(draw:1)! +auto={T(ally|myBattlefield)}{t}:may name(discard and draw) _DISCARD&DRAW_ text=Cohort -- {T}, Tap an untapped Ally you control: Discard a card. If you do, draw a card. mana={2}{R} type=Creature @@ -2842,9 +2842,9 @@ toughness=6 [/card] [card] name=Alms of the Vein -abilities=lifelink target=player auto=damage:3 +auto=life:3 controller abilities=madness autoexile=restriction{discarded} pay({B}) name(pay B to cast) activate name(pay B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard) text=Target opponent loses 3 life and you gain 3 life. -- Madness {B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) @@ -2945,7 +2945,7 @@ type=Artifact [card] name=Altar of the Brood auto=@movedTo(other *|myBattlefield):deplete:1 opponent -text=Whenever another permanent enters the battlefield under your control, each opponent puts the top card of his or her library into his or her graveyard. +text=Whenever another permanent enters the battlefield under your control, each opponent mills a card. mana={1} type=Artifact [/card] @@ -3002,7 +3002,7 @@ type=Sorcery [card] name=Ambassador Laquatus auto={3}:deplete:3 target(player) -text={3}: Target player puts the top three cards of his or her library into his or her graveyard. +text={3}: Target player mills three cards. mana={1}{U}{U} type=Legendary Creature subtype=Merfolk Wizard @@ -3467,7 +3467,7 @@ name=Anchor to the Aether target=creature auto=moveto(ownerlibrary) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Put target creature on top of its owner's library. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={2}{U} type=Sorcery @@ -4176,7 +4176,7 @@ type=Instant [/card] [card] name=Animate Wall -target=wall +target=creature[wall] auto=canattack text=Enchant Wall -- Enchanted Wall can attack as though it didn't have defender. mana={W} @@ -4659,7 +4659,7 @@ toughness=0 name=Aqueous Form target=creature aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@combat(attacking) source(mytgt):_SCRY_(1) +auto=@combat(attacking) source(mytgt):_SCRY1_ auto=teach(creature) unblockable text=Enchant creature -- Enchanted creature can't be blocked. -- Whenever enchanted creature attacks, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={U} @@ -6210,7 +6210,7 @@ name=Artisan's Sorrow target=*[artifact;enchantment] auto=destroy aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Destroy target artifact or enchantment. Scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3}{G} type=Instant @@ -6925,7 +6925,7 @@ toughness=2 name=Augury Owl abilities=flying aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(3) +auto=_SCRY3_ text=Flying -- When Augury Owl enters the battlefield, scry 3. (To scry 3, look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={1}{U} type=Creature @@ -7710,9 +7710,9 @@ toughness=3 [/card] [card] name=Aven Shrine -auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller)])) -auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|opponentstack):life:1 opponent)])) -auto=lord(*|mygraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller)])) +auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller])) +auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|opponentstack):life:1 opponent])) +auto=lord(*|mygraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller])) auto=lord(*|mygraveyard) transforms((,newability[@movedTo(*[share!name!]|opponentstack):life:1 opponent])) text=Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell. mana={1}{W}{W} @@ -9893,7 +9893,7 @@ toughness=2 [card] name=Battlewise Hoplite aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_HEROIC_counter(1/1) && _SCRY_(1) +auto=_HEROIC_counter(1/1) && _SCRY1_ text=Heroic -- Whenever you cast a spell that targets Battlewise Hoplite, put a +1/+1 counter on Battlewise Hoplite, then scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) mana={W}{U} type=Creature @@ -9906,7 +9906,7 @@ name=Battlewise Valor target=creature auto=+2/+2 ueot aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets +2/+2 until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{W} type=Instant @@ -12386,7 +12386,7 @@ type=Land [/card] [card] name=Bloodfire Colossus -auto={R}{S}:damage:6 all(creature,player) +auto={R}{S}:damage:6 all(creature) && damage:6 all(player) text={R}, Sacrifice Bloodfire Colossus: Bloodfire Colossus deals 6 damage to each creature and each player. mana={6}{R}{R} type=Creature @@ -12813,8 +12813,7 @@ toughness=1 [card] name=Blood-Toll Harpy abilities=Flying -auto=life:-1 controller -auto=life:-1 opponent +auto=all(player) life:-1 text=Flying. -- When Blood-Toll Harpy enters the battlefield, each player loses 1 life. mana={2}{B} type=Creature @@ -13455,7 +13454,7 @@ name=Bolt of Keranos target=creature,player auto=damage:3 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Bolt of Keranos deals 3 damage to target creature or player. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{R}{R} type=Sorcery @@ -14262,7 +14261,7 @@ toughness=4 [card] name=Brago, King Eternal abilities=flying -auto=@combatdamaged(player) from(this):target(*[-land]|mybattlefield) transforms((,newability[moveto(exile)],newability[phaseactionmulti[endofturn once] moveto(ownerbattlefield)])) +auto=@combatdamaged(player) from(this):target(*[-land]|mybattlefield) transforms((,newability[moveto(exile)],newability[if cantargetcard(*[-token]|*) then phaseactionmulti[endofturn once] moveto(ownerbattlefield)])) text=Flying -- Whenever Brago, King Eternal deals combat damage to a player, exile any number of target nonland permanents you control, then return those cards to the battlefield under their owner's control. mana={2}{W}{U} type=Legendary Creature @@ -14318,7 +14317,7 @@ type=Artifact name=Brain Freeze abilities=storm auto=deplete:3 target(player) -text=Target player puts the top three cards of his or her library into his or her graveyard. -- Storm (When you cast this spell, copy it for each spell cast before it this turn. You may choose new targets for the copies.) +text=Target player mills three cards. -- Storm (When you cast this spell, copy it for each spell cast before it this turn. You may choose new targets for the copies.) mana={1}{U} type=Instant [/card] @@ -14326,16 +14325,16 @@ type=Instant name=Brain in a Jar aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto={1}{T}:counter(0/0,1,Charge) && transforms((,newability[target(*[instant;sorcery;manacost=counter{0%0.1.charge}]|myhand) castcard(normal)])) oneshot -auto={3}{T}{c(0/0,-1,Charge)}:name(Scry 1) _SCRY_(1) -auto={3}{T}{c(0/0,-2,Charge)}:name(Scry 2) _SCRY_(2) -auto={3}{T}{c(0/0,-3,Charge)}:name(Scry 3) _SCRY_(3) -auto={3}{T}{c(0/0,-4,Charge)}:name(Scry 4) _SCRY_(4) -auto={3}{T}{c(0/0,-5,Charge)}:name(Scry 5) _SCRY_(5) -auto={3}{T}{c(0/0,-6,Charge)}:name(Scry 6) _SCRY_(6) -auto={3}{T}{c(0/0,-7,Charge)}:name(Scry 7) _SCRY_(7) -auto={3}{T}{c(0/0,-8,Charge)}:name(Scry 8) _SCRY_(8) -auto={3}{T}{c(0/0,-9,Charge)}:name(Scry 9) _SCRY_(9) -auto={3}{T}{c(0/0,-10,Charge)}:name(Scry 10) _SCRY_(10) +auto={3}{T}{c(0/0,-1,Charge)}:name(Scry 1) _SCRY1_ +auto={3}{T}{c(0/0,-2,Charge)}:name(Scry 2) _SCRY2_ +auto={3}{T}{c(0/0,-3,Charge)}:name(Scry 3) _SCRY3_ +auto={3}{T}{c(0/0,-4,Charge)}:name(Scry 4) _SCRY4_ +auto={3}{T}{c(0/0,-5,Charge)}:name(Scry 5) _SCRY5_ +auto={3}{T}{c(0/0,-6,Charge)}:name(Scry 6) scry:6 scrycore delayed dontshow donothing scrycoreend scryend +auto={3}{T}{c(0/0,-7,Charge)}:name(Scry 7) scry:7 scrycore delayed dontshow donothing scrycoreend scryend +auto={3}{T}{c(0/0,-8,Charge)}:name(Scry 8) scry:8 scrycore delayed dontshow donothing scrycoreend scryend +auto={3}{T}{c(0/0,-9,Charge)}:name(Scry 9) scry:9 scrycore delayed dontshow donothing scrycoreend scryend +auto={3}{T}{c(0/0,-10,Charge)}:name(Scry 10) scry:10 scrycore delayed dontshow donothing scrycoreend scryend text={1}, {T}: Put a charge counter on Brain in a Jar, then you may cast an instant or sorcery card with mana value equal to the number of charge counters on Brain in a Jar from your hand without paying its mana cost. -- {3}, {T}, Remove X charge counters from Brain in a Jar: Scry X. mana={2} type=Artifact @@ -14746,8 +14745,7 @@ auto=damage:1 all(creature[-flying]) auto=damage:1 opponent auto=damage:1 controller auto=if paid(kicker) then damage:3 all(creature[-flying]) -auto=if paid(kicker) then damage:3 opponent -auto=if paid(kicker) then damage:3 controller +auto=if paid(kicker) then damage:3 all(player) text=Kicker {2} (You may pay an additional {2} as you cast this spell.) -- Breath of Darigaaz deals 1 damage to each creature without flying and each player. If Breath of Darigaaz was kicked, it deals 4 damage to each creature without flying and each player instead. mana={1}{R} type=Sorcery @@ -15815,10 +15813,8 @@ type=Sorcery [/card] [card] name=Burning Inquiry -auto=draw:3 opponent -auto=draw:3 controller -auto=discard:3 opponent -auto=discard:3 controller +auto=all(player) draw:3 +auto=all(player) discard:3 text=Each player draws three cards, then discards three cards at random. mana={R} type=Sorcery @@ -16392,7 +16388,7 @@ toughness=4 [/card] [card] name=Caldera Hellion -auto=all(creature) damage:3 +auto=ability$! choice all(creature) damage:3 !$ controller auto=may target(other creature|mybattlefield) sacrifice && counter(1/1) all(this) text=Devour 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.) -- When Caldera Hellion enters the battlefield, it deals 3 damage to each creature. mana={3}{R}{R} @@ -17456,7 +17452,7 @@ name=Catacomb Sifter abilities=devoid auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{C}])) forever )! controller aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(other creature|graveyard) from(myBattlefield):name(Scry 1) _SCRY_(1) +auto=@movedTo(other creature|graveyard) from(myBattlefield):name(Scry 1) _SCRY1_ text=Devoid (This card has no color.) -- When Catacomb Sifter enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." -- Whenever another creature you control dies, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{B}{G} type=Creature @@ -17626,7 +17622,7 @@ subtype=Equipment [card] name=Cathartic Adept auto={T}:deplete:1 target(player) -text={T}: Target player puts the top card of his or her library into his or her graveyard. +text={T}: Target player mills a card. mana={U} type=Creature subtype=Human Wizard @@ -17832,7 +17828,7 @@ toughness=2 [card] name=Cave-In other={E(other *[red]|myhand)} name(Exile Red Card from Hand) -auto=damage:2 all(creature,player) +auto=damage:2 all(creature) && damage:2 all(player) text=You may exile a red card from your hand rather than pay Cave-In's mana cost. -- Cave-In deals 2 damage to each creature and each player. mana={3}{R}{R} type=Sorcery @@ -18679,7 +18675,7 @@ toughness=2 [/card] [card] name=Champion of Lambholt -auto=lord(*[power<=powerminus1minusend]|opponentbattlefield) cantblock +auto=lord(*[power<=pminus1minusend]|opponentbattlefield) cantblock auto=@movedto(other creature|myBattlefield):counter(1/1) text=Creatures with power less than Champion of Lambholt's power can't block creatures you control. -- Whenever another creature enters the battlefield under your control, put a +1/+1 counter on Champion of Lambholt. mana={1}{G}{G} @@ -19311,10 +19307,9 @@ toughness=1 [/card] [card] name=Chill of Foreboding -auto=deplete:5 controller -auto=deplete:5 opponent +auto=all(player) deplete:5 flashback={7}{U} -text=Each player puts the top 5 cards of his or her library into his or her graveyard. -- Flashback {7}{U} +text=Each player mills five cards. -- Flashback {7}{U} mana={2}{U} type=Sorcery [/card] @@ -19583,7 +19578,7 @@ type=Instant name=Chorus of the Tides abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_HEROIC_counter(1/1) && name(Scry 1) _SCRY_(1) +auto=_HEROIC_counter(1/1) && name(Scry 1) _SCRY1_ text=Flying -- Heroic -- Whenever you cast a spell that targets Chorus of the Tides, scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) mana={3}{U} type=Creature @@ -19743,7 +19738,7 @@ toughness=2 name=Chronic Flooding target=land auto=transforms((,newability[@tapped(this):deplete:3 controller])) -text=Enchant land -- Whenever enchanted land becomes tapped, its controller puts the top three cards of his or her library into his or her graveyard. +text=Enchant land -- Whenever enchanted land becomes tapped, its controller mills three cards. mana={1}{U} type=Enchantment subtype=Aura @@ -20296,7 +20291,7 @@ type=Sorcery [/card] [card] name=Clear Shot -target=creature +target=creature|myBattlefield auto=1/1 ueot auto=transforms((,newability[dynamicability target(creature|opponentBattlefield)])) forever text=Target creature you control gets +1/+1 until end of turn. It deals damage equal to its power to target creature you don't control. @@ -21228,7 +21223,7 @@ toughness=4 name=Codex Shredder auto={T}:deplete:1 target(player) auto={5}{T}{S}:moveTo(myhand) target(other *|mygraveyard) -text={T}: Target player puts the top card of his or her library into his or her graveyard. -- {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand. +text={T}: Target player mills a card. -- {5}, {T}, Sacrifice Codex Shredder: Return target card from your graveyard to your hand. mana={1} type=Artifact [/card] @@ -21236,7 +21231,7 @@ type=Artifact name=Coerced Confession target=player auto=transforms((,newability[@movedto(creature|targetedpersonsgraveyard):draw:1],newability[deplete:4 targetedplayer])) -text=Target player puts the top four cards of his or her library into his or her graveyard. You draw a card for each creature card put into that graveyard this way. +text=Target player mills four cards. You draw a card for each creature card put into that graveyard this way. mana={4}{UB} type=Sorcery [/card] @@ -21802,14 +21797,14 @@ name=Condescend target=*|stack auto=transforms((,newability[pay[[{value:storedx}]] name(pay {value} mana) donothing?fizzle])) forever aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Counter target spell unless its controller pays {X}. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={X}{U} type=Instant [/card] [card] name=Conduit of Emrakul -auto=_ATTACKING_transforms((,newability[@next my secondmain:add{c}{c})) forever +auto=_ATTACKING_transforms((,newability[@next my secondmain:add{c}{c}])) forever text=Whenever Conduit of Emrakul attacks, add {C}{C} to your mana pool at the beginning of your next main phase this turn. type=Creature subtype=Eldrazi Werewolf @@ -21831,7 +21826,7 @@ toughness=5 [/card] [card] name=Conduit of Storms -auto=_ATTACKING_transforms((,newability[@next my secondmain:add{R})) +auto=_ATTACKING_transforms((,newability[@next my secondmain:add{R}])) auto={3}{r}{r}:flip(Conduit of Emrakul) text=Whenever Conduit of Storms attacks, add {R} to your mana pool at the beginning of your next main phase this turn. -- {3}{R}{R}: Transform Conduit of Storms. mana={2}{R} @@ -22284,7 +22279,7 @@ type=Sorcery name=Contraband Kingpin abilities=lifelink aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(artifact|mybattlefield):_SCRY_(1) +auto=@movedTo(artifact|mybattlefield):_SCRY1_ text=Lifelink -- Whenever an artifact enters the battlefield under your control, scry 1. mana={U}{B} type=Creature @@ -22966,7 +22961,7 @@ type=Sorcery name=Countermand target=*|stack auto=fizzle && deplete:4 targetcontroller -text=Counter target spell. Its controller puts the top four cards of his or her library into his or her graveyard. +text=Counter target spell. Its controller mills four cards. mana={2}{U}{U} type=Instant [/card] @@ -24163,7 +24158,7 @@ name=Cruel Finality target=creature auto=-2/-2 ueot aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets -2/-2 until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={2}{B} type=Instant @@ -24479,7 +24474,7 @@ type=Land [/card] [card] name=Crypt Rats -auto={X:black}:damage:X all(creature) && damage:X controller && damage:X opponent +auto={X:black}:damage:X all(creature) && damage:X all(player) text={X}: Crypt Rats deals X damage to each creature and each player. Spend only black mana this way. mana={2}{B} type=Creature @@ -24542,13 +24537,13 @@ toughness=3 [/card] [card] name=Cryptolith Fragment -auto={T}:add{G} -auto={T}:add{R} -auto={T}:add{U} -auto={T}:add{B} -auto={T}:add{W} auto=tap(noevent) -auto=@each my upkeep:this(controllerlife < 11) this(opponentlife < 11) flip(Aurora of Emrakul) +auto={T}:add{W} && all(player) life:-1 +auto={T}:add{U} && all(player) life:-1 +auto={T}:add{B} && all(player) life:-1 +auto={T}:add{R} && all(player) life:-1 +auto={T}:add{G} && all(player) life:-1 +auto=@each my upkeep:this(controllerlife < 11) this(opponentlife < 11) flip(Aurora of Emrakul) myupkeeponly text=Cryptolith Fragment enters the battlefield tapped. -- {T}: Add one mana of any color to your mana pool. Each player loses 1 life. -- At the beginning of your upkeep, if each player has 10 or less life, transform Cryptolith Fragment. mana={3} type=Artifact @@ -24580,7 +24575,7 @@ type=Enchantment [card] name=Crystal Ball aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={1}{T}:_SCRY_(2) +auto={1}{T}:_SCRY2_ text={1}, {T}: Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3} type=Artifact @@ -25010,7 +25005,7 @@ subtype=Aura Curse name=Curse of the Bloody Tome target=player auto=@each targetedplayer upkeep:deplete:2 targetedplayer -text=Enchant player -- At the beginning of enchanted player's upkeep, that player puts the top two cards of his or her library into his or her graveyard. +text=Enchant player -- At the beginning of enchanted player's upkeep, that player mills two cards. mana={2}{U} type=Enchantment subtype=Aura Curse @@ -26745,7 +26740,7 @@ type=Enchantment [/card] [card] name=Deadbridge Goliath -autograveyard=_SCAVENGE_({4}{G}{G}{E}) +autograveyard={4}{G}{G}{E}:_SCAVENGE_(storedpower) text=Scavenge {4}{G}{G} ({4}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={2}{G}{G} type=Creature @@ -27196,7 +27191,7 @@ toughness=2 [/card] [card] name=Deathcurse Ogre -auto=_DIES_life:-3 opponent && life:-3 controller +auto=_DIES_all(player) life:-3 text=When Deathcurse Ogre dies, each player loses 3 life. mana={5}{B} type=Creature @@ -28561,7 +28556,7 @@ type=Sorcery name=Depala, Pilot Exemplar auto=lord(other dwarf|mybattlefield) 1/1 auto=lord(creature[vehicle]|mybattlefield) 1/1 -aicode=activate target(*[zpos<=x]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-dwarf;-vehicle]|*) then bottomoflibrary))! +aicode=activate target(*[zpos<=x]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-dwarf;-vehicle]|*) then bottomoflibrary)! auto=@tapped(this):may pay({1}) name(Pay 1) Reveal:1 revealzone(mylibrary) optionone all(*[dwarf;vehicle]|reveal) moveto(ownerhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text=Other Dwarves you control get +1/+1. -- Each Vehicle you control gets +1/+1 as long as it's a creature. -- Whenever Depala, Pilot Exemplar becomes tapped, you may pay {X}. If you do, reveal the top X cards of your library, put all Dwarf and Vehicle cards from among them into your hand, then put the rest on the bottom of your library in a random order. -- mana={1}{R}{W} @@ -29032,7 +29027,7 @@ toughness=6 name=Devastate target=land auto=destroy -auto=damage:1 all(creature,player) +auto=damage:1 all(creature) && damage:1 all(player) text=Destroy target land. Devastate deals 1 damage to each creature and each player. mana={3}{R}{R} type=Sorcery @@ -29275,7 +29270,7 @@ toughness=2 [card] name=Diabolic Edict target=player -auto=ability$!name(sacrifice) target(creature|mybattlefield) sacrifice!$ targetedplayer +auto=ability$!name(sacrifice) notAtarget(creature|mybattlefield) sacrifice!$ targetedplayer text=Target player sacrifices a creature. mana={1}{B} type=Instant @@ -30064,7 +30059,7 @@ type=Instant [card] name=Disowned Ancestor auto={1}{B}{T}:counter(1/1) asSorcery -text=Outlast {1}{B}, {T}: Put a +1/+1 counter on this creature. Outlast only as a sorcery.) +text=Outlast ({1}{B}, {T}: Put a +1/+1 counter on this creature. Outlast only as a sorcery.) mana={B} type=Creature subtype=Spirit Warrior @@ -30209,7 +30204,7 @@ name=Dissolve target=*|stack auto=fizzle aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Counter target spell. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{U}{U} type=Instant @@ -31307,7 +31302,7 @@ toughness=1 [/card] [card] name=Dragonrage -auto=foreach(creature[attacking}|mybattlefield) add{R} +auto=foreach(creature[attacking]|mybattlefield) add{R} auto=all(creature[attacking]|mybattlefield) transforms((,newability[{R}:1/0 ueot])) ueot text=Add {R} to your mana pool for each attacking creature you control. Until end of turn, attacking creatures you control gain "{R}: This creature gets +1/+0 until end of turn." mana={2}{R} @@ -31905,7 +31900,7 @@ name=Dream Twist target=player auto=deplete:3 flashback={1}{U} -text=Target player puts the top three cards of his or her library into his or her graveyard. -- Flashback {1}{U} +text=Target player mills three cards. -- Flashback {1}{U} mana={U} type=Instant [/card] @@ -32000,7 +31995,7 @@ type=Instant [/card] [card] name=Dreg Mangler -autograveyard={3}{B}{G}{E}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery +autograveyard={3}{B}{G}{E}:_SCAVENGE_(storedpower) abilities=haste text=Haste -- Scavenge {3}{B}{G} ({3}{B}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={1}{B}{G} @@ -32480,7 +32475,7 @@ type=Instant name=Drown in Sorrow auto=all(creature) -2/-2 ueot aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=All creatures get -2/-2 until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{B}{B} type=Sorcery @@ -32496,7 +32491,7 @@ type=Land [/card] [card] name=Drowned Rusalka -auto={U}{S(creature|myBattlefield)}:_LOOT_ +auto={U}{S(creature|myBattlefield)}:_DISCARD&DRAW_ text={U}, Sacrifice a creature: Discard a card, then draw a card. mana={U} type=Creature @@ -32517,7 +32512,7 @@ toughness=1 [card] name=Drowner Initiate auto=@movedto(*[blue]|stack):pay({1}) deplete:2 target(player) -text=Whenever a player casts a blue spell, you may pay {1}. If you do, target player puts the top two cards of his or her library into his or her graveyard. +text=Whenever a player casts a blue spell, you may pay {1}. If you do, target player mills two cards. mana={U} type=Creature subtype=Merfolk Wizard @@ -32539,7 +32534,7 @@ toughness=5 [card] name=Drowner of Secrets auto={T(merfolk|mybattlefield)}:deplete:1 target(player) -text=Tap an untapped Merfolk you control: Target player puts the top card of his or her library into his or her graveyard. +text=Tap an untapped Merfolk you control: Target player mills a card. mana={2}{U} type=Creature subtype=Merfolk Wizard @@ -32578,7 +32573,7 @@ type=Land [/card] [card] name=Drudge Beetle -autograveyard=_SCAVENGE_({5}{G}{E}) +autograveyard={5}{G}{E}:_SCAVENGE_(storedpower) text=Scavenge {5}{G} ({5}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={1}{G} type=Creature @@ -32714,7 +32709,7 @@ toughness=1 [/card] [card] name=Dry Spell -auto=damage:1 all(creature,player) +auto=damage:1 all(creature) && damage:1 all(player) text=Dry Spell deals 1 damage to each creature and each player. mana={1}{B} type=Sorcery @@ -33044,7 +33039,7 @@ toughness=1 name=Duskmantle Guildmage auto={1}{U}{B}:name(lifeleech) transforms((,newability[@movedto(*|opponentgraveyard):life:-1 opponent])) ueot auto={2}{U}{B}:deplete:2 target(player) -text={1}{U}{B}: Whenever a card is put into an opponent's graveyard from anywhere this turn, that player loses 1 life. -- {2}{U}{B}: Target player puts the top two cards of his or her library into his or her graveyard. +text={1}{U}{B}: Whenever a card is put into an opponent's graveyard from anywhere this turn, that player loses 1 life. -- {2}{U}{B}: Target player mills two cards. mana={U}{B} type=Creature subtype=Human Wizard @@ -33065,7 +33060,7 @@ toughness=2 name=Duskmantle, House of Shadow auto={T}:Add{1} auto={U}{B}{T}:deplete:1 target(player) -text={T}: Add {1} to your mana pool. -- {U}{B}, {T}: Target player puts the top card of his or her library into his or her graveyard. +text={T}: Add {1} to your mana pool. -- {U}{B}, {T}: Target player mills a card. type=Land [/card] [card] @@ -34292,7 +34287,7 @@ toughness=3 [/card] [card] name=Elder Pine of Jukai -aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-land]|*) then bottomoflibrary))! +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-land]|*) then bottomoflibrary)! auto=@movedTo(arcane,spirit|mystack):reveal:4 optionone name(Get Lands) target(<4>land|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend auto=_DIES_may moveTo(myhand) target(spirit[manacost<=2]|mygraveyard) text=Whenever you cast a Spirit or Arcane spell, reveal the top three cards of your library. Put all land cards revealed this way into your hand and the rest on the bottom of your library in any order. -- Soulshift 2 (When this is put into a graveyard from the battlefield, you may return target Spirit card with mana value 2 or less from your graveyard to your hand.) @@ -36194,7 +36189,7 @@ type=Instant name=Enigma Eidolon auto={U}{S}:deplete:3 target(player) autograveyard=@movedTo(*[multicolor]|mystack):may moveTo(myhand) -text={U}, Sacrifice Enigma Eidolon: Target player puts the top three cards of his or her library into his or her graveyard. -- Whenever you cast a multicolored spell, you may return Enigma Eidolon from your graveyard to your hand. +text={U}, Sacrifice Enigma Eidolon: Target player mills three cards. -- Whenever you cast a multicolored spell, you may return Enigma Eidolon from your graveyard to your hand. mana={3}{U} type=Creature subtype=Spirit @@ -36253,7 +36248,7 @@ toughness=5 [/card] [card] name=Enlistment Officer -aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-soldier]|*) then bottomoflibrary))! +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-soldier]|*) then bottomoflibrary)! auto=reveal:4 optionone name(Get Soldiers) target(<4>soldier|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=First strike -- When Enlistment Officer enters the battlefield, reveal the top four cards of your library. Put all Soldier cards revealed this way into your hand and the rest on the bottom of your library. mana={3}{W} @@ -37417,7 +37412,7 @@ type=Instant name=Evanescent Intellect target=creature auto=teach(creature) {1}{U}{T}:deplete:3 target(player) -text=Enchant creature -- Enchanted creature has "1Blue, Tap: Target player puts the top three cards of his or her library into his or her graveyard." +text=Enchant creature -- Enchanted creature has "1Blue, Tap: Target player mills three cards." mana={U} type=Enchantment subtype=Aura @@ -37577,7 +37572,7 @@ toughness=0 [/card] [card] name=Evincar's Justice -auto=damage:2 all(creature,player) +auto=damage:2 all(creature) && damage:2 all(player) buyback={2}{B}{B}{3} text=Buyback {3} (You may pay an additional {3} as you cast this spell. If you do, put this card into your hand as it resolves.) -- Evincar's Justice deals 2 damage to each creature and each player. mana={2}{B}{B} @@ -38034,7 +38029,7 @@ subtype=Aura name=Extract from Darkness auto=all(player) deplete:2 auto=moveto(mybattlefield) target(creature|graveyard) -text=Each player puts the top two cards of his or her library into his or her graveyard. Then put a creature card from a graveyard onto the battlefield under your control. +text=Each player mills two cards. Then put a creature card from a graveyard onto the battlefield under your control. mana={3}{U}{B} type=Sorcery [/card] @@ -38093,7 +38088,7 @@ name=Extricator of Sin backside=Extricator of Flesh restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) -auto=may name(Sacrifice permanent) sacrifice target(*|mybattlefield) && token(Eldrazi Horror) controller +auto=may name(Sacrifice permanent) sacrifice notAtarget(*|mybattlefield) && token(Eldrazi Horror) controller auto=@each upkeep restriction{delirium}:flip(backside) text=When Extricator of Sin enters the battlefield, you may sacrifice another permanent. If you do, put a 3/2 colorless Eldrazi Horror creature token onto the battlefield. -- Delirium -- At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, transform Extricator of Sin. // Extricator of Flesh mana={2}{W} @@ -38256,7 +38251,7 @@ type=Instant [card] name=Eyes of the Watcher aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedto(*[instant;sorcery]|mystack):target(trigger[to]<1>) pay[[{U}{R}]] _SCRY_(2) +auto=@movedto(*[instant;sorcery]|mystack):target(trigger[to]<1>) pay[[{U}{R}]] _SCRY2_ text=Whenever you cast an instant or sorcery spell, you may pay {1}. If you do, scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={2}{U} type=Enchantment @@ -38891,7 +38886,7 @@ type=Instant [/card] [card] name=Famine -auto=damage:3 all(creature,player) +auto=damage:3 all(creature) && damage:3 all(player) text=Famine deals 3 damage to each creature and each player. mana={3}{B}{B} type=Sorcery @@ -39197,7 +39192,7 @@ name=Fated Conflagration target=creature,planeswalker auto=damage:5 aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY_(2) +auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY2_ text=Fated Conflagration deals 5 damage to target creature or planeswalker. If it's your turn, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={1}{R}{R}{R} type=Instant @@ -39207,7 +39202,7 @@ name=Fated Infatuation target=creature|mybattlefield auto=clone aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY_(2) +auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY2_ text=Create a token that's a copy of target creature you control. If it's your turn, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={U}{U}{U} type=Instant @@ -39216,7 +39211,7 @@ type=Instant name=Fated Intervention auto=token(Centaur,Enchantment Creature Centaur,3/3,green)*2 controller aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY_(2) +auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY2_ text=Put two 3/3 green Centaur enchantment creature tokens onto the battlefield. If it's your turn, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={2}{G}{G}{G} type=Instant @@ -39225,7 +39220,7 @@ type=Instant name=Fated Retribution auto=all(creature,planeswalker) destroy aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY_(2) +auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY2_ text=Destroy all creatures and planeswalkers. If it's your turn, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={4}{W}{W}{W} type=Instant @@ -39236,7 +39231,7 @@ target=creature|mygraveyard auto=moveto(mybattlefield) auto=transforms((,indestructible)) forever aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY_(2) +auto=if compare(restriction{myturnonly}~morethan~0) then _SCRY2_ text=Put target creature card from a graveyard onto the battlefield under your control. It gains indestructible. If it's your turn, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={4}{B}{B}{B} type=Instant @@ -39910,7 +39905,7 @@ name=Ferocious Charge target=creature auto=4/4 aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Target creature gets +4/+4 until end of turn. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={2}{G} type=Instant @@ -40049,8 +40044,8 @@ toughness=3 [/card] [card] name=Festering Evil -auto=@each my upkeep:damage:1 all(creature,player) -auto={B}{B}{S}:damage:3 all(creature,player) +auto=@each my upkeep:damage:1 all(creature) && damage:1 all(player) +auto={B}{B}{S}:damage:3 all(creature) && damage:3 all(player) text=At the beginning of your upkeep, Festering Evil deals 1 damage to each creature and each player. -- {B}{B}, Sacrifice Festering Evil: Festering Evil deals 3 damage to each creature and each player. mana={3}{B}{B} type=Enchantment @@ -40675,7 +40670,7 @@ toughness=1 [/card] [card] name=Fire Tempest -auto=damage:6 all(creature,player) +auto=damage:6 all(creature) && damage:6 all(player) text=Fire Tempest deals 6 damage to each creature and each player. mana={5}{R}{R} type=Sorcery @@ -41157,8 +41152,7 @@ type=Instant [/card] [card] name=Flame Rift -auto=damage:4 opponent -auto=damage:4 controller +auto=all(player) damage:4 text=Flame Rift deals 4 damage to each player. mana={1}{R} type=Sorcery @@ -41723,7 +41717,7 @@ toughness=1 name=Fleeting Memories auto=name(Create clue) token(Clue) controller auto=@sacrificed(clue|mybattlefield):target(player) deplete:3 -text=When Fleeting Memories enters the battlefield, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- Whenever you sacrifice a Clue, target player puts the top three cards of his or her library into his or her graveyard. +text=When Fleeting Memories enters the battlefield, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- Whenever you sacrifice a Clue, target player mills three cards. mana={2}{U} type=Enchantment [/card] @@ -41932,7 +41926,7 @@ type=Instant [card] name=Flint Golem auto=_BLOCKED_deplete:3 opponent -text=Whenever Flint Golem becomes blocked, defending player puts the top three cards of his or her library into his or her graveyard. +text=Whenever Flint Golem becomes blocked, defending player mills three cards. mana={4} type=Artifact Creature subtype=Golem @@ -44607,7 +44601,7 @@ toughness=4 [/card] [card] name=Gangrenous Zombies -auto={T}{S}:damage:1 all(creature,player) && aslongas(swamp[snow]|myBattlefield)damage:1 all(creature,player) +auto={T}{S}:damage:1 all(creature) && damage:1 all(player) && aslongas(swamp[snow]|myBattlefield)damage:1 all(creature) && damage:2 all(player) text={T}, Sacrifice Gangrenous Zombies: Gangrenous Zombies deals 1 damage to each creature and each player. If you control a snow Swamp, Gangrenous Zombies deals 2 damage to each creature and each player instead. mana={1}{B}{B} type=Creature @@ -44988,7 +44982,7 @@ toughness=2 [card] name=Geier Reach Sanitarium auto={T}:Add{C} -auto={2}{T}:name(draw & discard) draw:1 all(player) && transforms((,newability[ability$!notatarget(*|myhand) reject)!$ controller],newability[ability$!notatarget(*|myhand) reject)!$ opponent])) all(this) +auto={2}{T}:name(draw & discard) draw:1 all(player) && transforms((,newability[ability$!notatarget(*|myhand) reject!$ controller],newability[ability$!notatarget(*|myhand) reject!$ opponent])) all(this) text={T}: Add {C} to your mana pool. -- {2}, {T}: Each player draws a card, then discards a card. type=Legendary Land [/card] @@ -45007,7 +45001,7 @@ toughness=2 name=Geist of the Archives abilities=defender aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@each my upkeep:_SCRY_(1) +auto=@each my upkeep:_SCRY1_ text=Defender -- At the beginning of your upkeep, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={2}{U} type=Creature @@ -45388,7 +45382,7 @@ toughness=2 name=Geralf's Mindcrusher abilities=undying auto=deplete:5 target(player) -text=When Geralf's Mindcrusher enters the battlefield, target player puts the top 5 cards of his or her library into his or her graveyard. -- Undying +text=When Geralf's Mindcrusher enters the battlefield, target player mills five cards. -- Undying mana={4}{U}{U} type=Creature subtype=Zombie Horror @@ -45994,8 +45988,8 @@ toughness=2 [/card] [card] name=Ghoulcaller's Bell -auto={T}:deplete:1 controller && deplete:1 opponent -text={T}: Each player puts the top card of his or her library into his or her graveyard. +auto={T}:all(player) deplete:1 +text={T}: Each player mills a card. mana={1} type=Artifact [/card] @@ -46405,7 +46399,7 @@ subtype=Aura [/card] [card] name=Gift of the Gargantuan -aicode=activate target(creature,land[zpos<=4]|mylibrary) moveto(myhand) +aicode=activate target(*[creature;land;zpos<=4]|mylibrary) moveto(myhand) auto=name(look) reveal:4 optionone name(Get a card) target(creature,land|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top four cards of your library. You may reveal a creature card and/or a land card from among them and put the revealed cards into your hand. Put the rest on the bottom of your library in any order. mana={2}{G} @@ -46453,7 +46447,7 @@ subtype=Aura [/card] [card] name=Gigantomancer -auto={1}:target(creature) transforms((,setpower=7,settoughness=7)) ueot +auto={1}:target(creature|myBattlefield) transforms((,setpower=7,settoughness=7)) ueot text={1}: Target creature you control becomes 7/7 until end of turn. mana={7}{G} type=Creature @@ -46753,8 +46747,8 @@ toughness=2 [card] name=Glassblower's Puzzleknot aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) && ability$!choice alterenergy:2 controller!$ controller -auto={2}{U}{S}:_SCRY_(2) && ability$!choice alterenergy:2 controller!$ controller +auto=_SCRY2_ && ability$!choice alterenergy:2 controller!$ controller +auto={2}{U}{S}:_SCRY2_ && ability$!choice alterenergy:2 controller!$ controller text=When Glassblower's Puzzleknot enters the battlefield, scry 2, then you get {E}{E}. (You get two energy counters. To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) -- {2}{U}, Sacrifice Glassblower's Puzzleknot: Scry 2, then you get {E}{E}. mana={2} type=Artifact @@ -48223,8 +48217,8 @@ toughness=1 [/card] [card] name=Goblin Sappers -auto={R}{R}{T}:unblockable target(creature) && phaseaction[combatends once] destroy && all(this) phaseaction[combatends,sourceinplay] destroy -auto={R}{R}{R}{R}{T}:unblockable target(creature) && phaseaction[combatends once] destroy +auto={R}{R}{T}:unblockable target(creature|myBattlefield) && phaseaction[combatends once] destroy && all(this) phaseaction[combatends,sourceinplay] destroy +auto={R}{R}{R}{R}{T}:unblockable target(creature|myBattlefield) && phaseaction[combatends once] destroy text={R}{R}, {T}: Target creature you control is unblockable this turn. Destroy it and Goblin Sappers at end of combat. -- {R}{R}{R}{R}, {T}: Target creature you control is unblockable this turn. Destroy it at end of combat. mana={1}{R} type=Creature @@ -48622,11 +48616,11 @@ type=Legendary Land name=Gods Willing target=creature|mybattlefield aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=choice name(green) transforms((,newability[protection from green],newability[choice _SCRY_(1)])) ueot -auto=choice name(red) transforms((,newability[protection from red],newability[choice _SCRY_(1)])) ueot -auto=choice name(blue) transforms((,newability[protection from blue],newability[choice _SCRY_(1)])) ueot -auto=choice name(black) transforms((,newability[protection from black],newability[choice _SCRY_(1)])) ueot -auto=choice name(white) transforms((,newability[protection from white],newability[choice _SCRY_(1)])) ueot +auto=choice name(green) transforms((,newability[protection from green],newability[choice _SCRY1_])) ueot +auto=choice name(red) transforms((,newability[protection from red],newability[choice _SCRY1_])) ueot +auto=choice name(blue) transforms((,newability[protection from blue],newability[choice _SCRY1_])) ueot +auto=choice name(black) transforms((,newability[protection from black],newability[choice _SCRY1_])) ueot +auto=choice name(white) transforms((,newability[protection from white],newability[choice _SCRY1_])) ueot text=Target creature you control gains protection from the color of your choice until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={W} type=Instant @@ -48869,7 +48863,7 @@ type=Artifact [card] name=Golgari Decoy abilities=lure -autograveyard=_SCAVENGE_({3}{G}{G}{E}) +autograveyard={3}{G}{G}{E}:_SCAVENGE_(storedpower) text=All creatures able to block Golgari Decoy do so. -- Scavenge {3}{G}{G} ({3}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={3}{G} type=Creature @@ -49498,7 +49492,7 @@ toughness=4 [/card] [card] name=Grave Defiler -aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-zombie]|*) then bottomoflibrary))! +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-zombie]|*) then bottomoflibrary)! auto=reveal:4 optionone name(Get Zombie) target(<4>zombie|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=When Grave Defiler enters the battlefield, reveal the top four cards of your library. Put all Zombie cards revealed this way into your hand and the rest on the bottom of your library. -- {1}{B}: Regenerate Grave Defiler. auto={1}{B}:regenerate @@ -50507,7 +50501,7 @@ type=Artifact name=Grinding Station auto=@movedTo(artifact|battlefield):may untap auto={T}{S(artifact|myBattlefield)}:deplete:3 target(player) -text={T}, Sacrifice an artifact: Target player puts the top three cards of his or her library into his or her graveyard. -- Whenever an artifact enters the battlefield, you may untap Grinding Station. +text={T}, Sacrifice an artifact: Target player mills three cards. -- Whenever an artifact enters the battlefield, you may untap Grinding Station. mana={2} type=Artifact [/card] @@ -51865,7 +51859,7 @@ type=Instant [card] name=Hair-Strung Koto auto={T(creature|mybattlefield)}:deplete:1 target(player) -text=Tap an untapped creature you control: Target player puts the top card of his or her library into his or her graveyard. +text=Tap an untapped creature you control: Target player mills a card. mana={6} type=Artifact [/card] @@ -52561,9 +52555,9 @@ type=Sorcery [card] name=Harsh Scrutiny aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=if type(*|opponenthand)~morethan~0 then if type(creature|opponenthand)~equalto~0 then name(Look opponent hand) name(Look opponent hand) name(Look opponent hand) target(*|opponenthand) moveto(myreveal) and!( moveto(opponenthand) and!( name(Scry 1) _SCRY_(1) )! )! -auto=if type(*|opponenthand)~morethan~0 then if type(creature|opponenthand)~morethan~0 then name(Choose a creature) name(Choose a creature) name(Choose a creature) target(creature|opponenthand) reject and!( name(Scry 1) _SCRY_(1) )! -auto=if type(*|opponenthand)~equalto~0 then name(Scry 1) name(Scry 1) _SCRY_(1) +auto=if type(*|opponenthand)~morethan~0 then if type(creature|opponenthand)~equalto~0 then name(Look opponent hand) name(Look opponent hand) name(Look opponent hand) target(*|opponenthand) moveto(myreveal) and!( moveto(opponenthand) and!( name(Scry 1) _SCRY1_ )! )! +auto=if type(*|opponenthand)~morethan~0 then if type(creature|opponenthand)~morethan~0 then name(Choose a creature) name(Choose a creature) name(Choose a creature) target(creature|opponenthand) reject and!( name(Scry 1) _SCRY1_ )! +auto=if type(*|opponenthand)~equalto~0 then name(Scry 1) name(Scry 1) _SCRY1_ text=Target opponent reveals his or her hand. You choose a creature card from it. That player discards that card. Scry 1. mana={B} type=Sorcery @@ -53273,8 +53267,8 @@ toughness=1 [/card] [card] name=Heartless Hidetsugu -text={T}: Heartless Hidetsugu deals damage to each player equal to half that player's life total, rounded down. auto={t}:damage:halfdownlifetotal controller && damage:halfdownopponentlifetotal opponent +text={T}: Heartless Hidetsugu deals damage to each player equal to half that player's life total, rounded down. mana={3}{R}{R} type=Legendary Creature subtype=Ogre Shaman @@ -53501,7 +53495,7 @@ toughness=2 name=Hedron Alignment aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=@each my upkeep:aslongas(Hedron Alignment|myhand) aslongas(Hedron Alignment|mygraveyard) aslongas(Hedron Alignment|myexile) aslongas(Hedron Alignment|mybattlefield) wingame controller -auto={1}{u}:name(Scry 1) _SCRY_(1) +auto={1}{u}:name(Scry 1) _SCRY1_ text=Hexproof -- At the beginning of your upkeep, you may reveal your hand. If you do, you win the game if you own a card named Hedron Alignment in exile, in your hand, in your graveyard, and on the battlefield. -- {1}{U}: Scry 1. mana={2}{U} type=Enchantment @@ -53527,7 +53521,7 @@ subtype=Equipment [card] name=Hedron Crab auto=_LANDFALL_deplete:3 target(player) -text=Landfall - Whenever a land enters the battlefield under your control, target player puts the top three cards of his or her library into his or her graveyard. +text=Landfall - Whenever a land enters the battlefield under your control, target player mills three cards. mana={U} type=Creature subtype=Crab @@ -54191,7 +54185,7 @@ name=Hermit of the Natterknolls backside=Lone Wolf of the Natterknolls restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) -auto=@movedTo(*|opponentstack) restriction{during opponent turn}:name(Draw a card) draw:1 +auto=@movedTo(*|opponentstack) restriction{myturnonly}:name(Draw a card) draw:1 auto=@each upkeep restriction{lastturn(*|stack)~lessthan~1}:name(Transform Human Werewolf) flip(backside) text=Whenever an opponent casts a spell during your turn, draw a card. -- At the beginning of each upkeep, if no spells were cast last turn, transform Hermit of the Natterknolls. // Lone Wolf of the Natterknolls mana={2}{G} @@ -54297,7 +54291,7 @@ name=Hero's Blade auto={4}:equip auto=teach(creature) 3/2 auto=@movedto(creature[legendary]|mybattlefield):may all(trigger[to]) rehook -text=Equipped creature gets +3/+2. -- Whenever a legendary creature enters the battlefield under your control, you may attach Hero's Blade to it. +text=Equipped creature gets +3/+2. -- Whenever a legendary creature enters the battlefield under your control, you may attach Hero's Blade to it. -- Equip {4} ({4}: Attach to target creature you control. Equip only as a sorcery.) mana={2} type=Artifact subtype=Equipment @@ -54481,7 +54475,7 @@ type=Enchantment name=Hidden Stockpile aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=@each my end restriction{revolt}:_SERVOTOKEN_ -auto={1}{S(creature|mybattlefield)}:_SCRY_(1) +auto={1}{S(creature|mybattlefield)}:_SCRY1_ text=Revolt -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, create a 1/1 colorless Servo artifact creature token. -- {1}, Sacrifice a creature: Scry 1. mana={W}{B} type=Enchantment @@ -55172,8 +55166,8 @@ toughness=2 name=Homeward Path auto={T}:add{1} auto={T}:name(revert to owner) moveto(ownerbattlefield) all(creature) -type=Land text={T}: Add {1} to your mana pool. {T}: Each player gains control of all creatures he or she owns. +type=Land [/card] [card] name=Homicidal Brute @@ -55528,7 +55522,7 @@ toughness=1 name=Horizon Scholar abilities=flying aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Flying -- When Horizon Scholar enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={5}{U} type=Creature @@ -55746,7 +55740,7 @@ name=Horrifying Revelation target=player auto=ability$!name(discard) target(*|myhand) reject!$ targetedplayer auto=deplete:1 -text=Target player discards a card, then puts the top card of his or her library into his or her graveyard. +text=Target player discards a card, then mills a card. mana={B} type=Sorcery [/card] @@ -55914,8 +55908,7 @@ toughness=2 [card] name=Howling Banshee abilities=flying -auto=life:-3 controller -auto=life:-3 opponent +auto=all(player) life:-3 text=Flying -- When Howling Banshee enters the battlefield, each player loses 3 life. mana={2}{B}{B} type=Creature @@ -55972,7 +55965,7 @@ toughness=2 [card] name=Howlpack Alpha backside=Mayor of Avabruck -auto=lord(other creature[werewolf;wolf]]|mybattlefield) 1/1 +auto=lord(other *[werewolf;wolf]|mybattlefield) 1/1 auto=@each my endofturn:_WOLFTOKEN_ auto=@each upkeep restriction{lastturn(*|mystack)~morethan~1,lastturn(*|opponentstack)~lessthan~2}:name(Transform Werewolf) flip(backside) auto=@each upkeep restriction{lastturn(*|opponentstack)~morethan~1}:name(Transform Werewolf) flip(backside) @@ -57419,7 +57412,7 @@ type=Enchantment [card] name=Imperial Edict target=opponent -auto=ability$!name(sacrifice) target(creature|mybattlefield) destroy!$ targetedplayer +auto=ability$!name(sacrifice) notAtarget(creature|mybattlefield) destroy!$ targetedplayer text=Target opponent chooses a creature he or she controls. Destroy it. mana={1}{B} type=Sorcery @@ -58027,8 +58020,8 @@ toughness=1 [/card] [card] name=Infected Vermin -auto={2}{B}:damage:1 all(creature,player) -auto=aslongas(*|mygraveyard) {3}{B}:damage:3 all(creature,player) >6 +auto={2}{B}:damage:1 all(creature) && damage:1 all(player) +auto=aslongas(*|mygraveyard) {3}{B}:damage:3 all(creature) && damage:3 all(player) >6 text={2}{B}: Infected Vermin deals 1 damage to each creature and each player. -- Threshold - {3}{B}: Infected Vermin deals 3 damage to each creature and each player. Activate this ability only if seven or more cards are in your graveyard. mana={2}{B} type=Creature @@ -58329,7 +58322,7 @@ toughness=1 name=Ink Dissolver aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(*[creature;share!types!]|*) then deplete:3 opponent )!)! auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(*[creature;share!types!]|reveal)~morethan~0 then deplete:3 opponent optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend -text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Ink Dissolver, you may reveal it. If you do, each opponent puts the top three cards of his or her library into his or her graveyard. +text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Ink Dissolver, you may reveal it. If you do, each opponent mills three cards. mana={1}{U} type=Creature subtype=Merfolk Wizard @@ -59758,7 +59751,7 @@ toughness=1 name=Jace's Sanctum auto=lord(*[instant;sorcery]|mycastingzone) altercost(colorless, -1) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(instant,sorcery|mystack):_SCRY_(1) +auto=@movedTo(instant,sorcery|mystack):_SCRY1_ text=Instant and sorcery spells you cast cost {1} less to cast. -- Whenever you cast an instant or sorcery spell, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3}{U} type=Enchantment @@ -60039,7 +60032,7 @@ toughness=1 name=Jaya Ballard, Task Mage auto={R}{T}{D(*|myHand)}:destroy target(*[blue]) auto={1}{R}{T}{D(*|myHand)}:damage:3 && cantregen target(creature,player) -auto={5}{R}{R}{D(*|myHand)}:damage:6 all(creature,player) +auto={5}{R}{R}{D(*|myHand)}:damage:6 all(creature) && damage:6 all(player) text={R}, {T}, Discard a card: Destroy target blue permanent. -- {1}{R}, {T}, Discard a card: Jaya Ballard, Task Mage deals 3 damage to target creature or player. A creature dealt damage this way can't be regenerated this turn. -- {5}{R}{R}, {T}, Discard a card: Jaya Ballard deals 6 damage to each creature and each player. mana={1}{R}{R} type=Legendary Creature @@ -61078,7 +61071,7 @@ type=Instant [/card] [card] name=Justice -auto=upcost[{W}{W}]) sacrifice +auto=upcost[{W}{W}] sacrifice auto=@damaged(creature,player) from(creature[red]|opponentbattlefield):damage:thatmuch opponent auto=@damaged(creature,player) from(*[red]|opponentstack):damage:thatmuch opponent auto=@damaged(creature,player) from(creature[red]|mybattlefield):damage:thatmuch controller @@ -61568,7 +61561,7 @@ toughness=2 [/card] [card] name=Kami of the Tended Garden -auto=upcost[{G}] sacrifice) +auto=upcost[{G}] sacrifice auto=_DIES_may moveTo(myhand) target(spirit[manacost<=3]|mygraveyard) text=At the beginning of your upkeep, sacrifice Kami of the Tended Garden unless you pay {G}. -- Soulshift 3 (When this dies, you may return target Spirit card with mana value 3 or less from your graveyard to your hand.) mana={3}{G} @@ -62011,7 +62004,7 @@ toughness=1 [/card] [card] name=Kavu Howler -aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-kavu]|*) then bottomoflibrary))! +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-kavu]|*) then bottomoflibrary)! auto=reveal:4 optionone name(Get Kavu) target(<4>kavu|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=When Kavu Howler enters the battlefield, reveal the top four cards of your library. Put all Kavu cards revealed this way into your hand and the rest on the bottom of your library. mana={4}{G}{G} @@ -62022,8 +62015,8 @@ toughness=5 [/card] [card] name=Kavu Lair -auto=@movedTo(creature[power>=4|myBattlefield):draw:1 controller -auto=@movedTo(creature[power>=4|opponentBattlefield):draw:1 opponent +auto=@movedTo(creature[power>=4]|myBattlefield):draw:1 controller +auto=@movedTo(creature[power>=4]|opponentBattlefield):draw:1 opponent text=Whenever a creature with power 4 or greater enters the battlefield, its controller draws a card. mana={2}{G} type=Enchantment @@ -62780,7 +62773,7 @@ type=Legendary Land name=Kheru Bloodsucker auto=@movedTo(graveyard) from(creature[toughness>=4]|mybattlefield):life:-2 opponent && life:2 controller auto={2}{B}{S(other creature|mybattlefield)}:counter(1/1) -text=Whenever a creature you control with toughness 4 or greater dies, each opponent loses 2 life and you gain 2 life. -- (2)(B}, Sacrifice another creature: Put a +1/+1 counter on Kheru Bloodsucker. +text=Whenever a creature you control with toughness 4 or greater dies, each opponent loses 2 life and you gain 2 life. -- {2}{B}, Sacrifice another creature: Put a +1/+1 counter on Kheru Bloodsucker. mana={2}{B} type=Creature subtype=Vampire @@ -63400,7 +63393,7 @@ toughness=1 [/card] [card] name=Kitsune Palliator -auto={T}:prevent:1 all(creature,player) +auto={T}:prevent:1 all(creature) && prevent:1 all(player) text={T}: Prevent the next 1 damage that would be dealt to each creature and each player this turn. mana={2}{W} type=Creature @@ -63463,7 +63456,7 @@ toughness=3 [/card] [card] name=Kjeldoran Home Guard -auto=@combat(attacking,blocking) source(this):phaseactionmulti[combatends once,sourceinplay] counter(0/-1,1) && token(Deserter,Creature Deserter,0/1,white) +auto=@combat(attacking,blocking) source(this):phaseactionmulti[combatends once sourceinplay] counter(0/-1,1) && token(Deserter,Creature Deserter,0/1,white) text=At end of combat, if Kjeldoran Home Guard attacked or blocked this combat, put a -0/-1 counter on Kjeldoran Home Guard and put a 0/1 white Deserter creature token onto the battlefield. mana={3}{W} type=Creature @@ -64257,7 +64250,7 @@ toughness=2 [/card] [card] name=Korozda Monitor -autograveyard=_SCAVENGE_({5}{G}{G}{E}) +autograveyard={5}{G}{G}{E}:_SCAVENGE_(storedpower) abilities=trample text=Trample -- Scavenge {5}{G}{G} ({5}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={2}{G}{G} @@ -64797,7 +64790,7 @@ toughness=1 [card] name=Krovikan Elementalist auto={2}{R}:1/0 target(creature) -auto={U}{U}:flying target(creature) && treason +auto={U}{U}:flying target(creature|myBattlefield) && treason text={2}{R}: Target creature gets +1/+0 until end of turn. -- {U}{U}: Target creature you control gains flying until end of turn. Sacrifice it at the beginning of the next end step. mana={B}{B} type=Creature @@ -65515,7 +65508,7 @@ type=Artifact [card] name=Land Tax aicode=activate target(land[basic]|mylibrary) moveto(myhand) -auto=@each my upkeep restriction{control less lands}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend +auto=@each my upkeep restriction{control less lands}:may name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library. mana={W} type=Enchantment @@ -65736,7 +65729,7 @@ type=Instant [/card] [card] name=Last Laugh -auto=@movedto(other *|graveyard) from(battlefield):damage:1 all(creature,player) +auto=@movedto(other *|graveyard) from(battlefield):damage:1 all(creature) && damage:1 all(player) auto=aslongas(creature|battlefield) all(this) sacrifice while <1 text=Whenever a permanent other than Last Laugh is put into a graveyard from the battlefield, Last Laugh deals 1 damage to each creature and each player. -- When no creatures are on the battlefield, sacrifice Last Laugh. mana={2}{B}{B} @@ -66899,7 +66892,7 @@ toughness=4 [card] name=Lifecrafter's Bestiary aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@each my upkeep:_SCRY_(1) +auto=@each my upkeep:_SCRY1_ auto=@movedto(creature|mystack):pay({G}) draw:1 controller text=At the beginning of your upkeep, scry 1. -- Whenever you cast a creature spell, you may pay {G}. If you do, draw a card. mana={3} @@ -66937,7 +66930,7 @@ type=Instant [/card] [card] name=Lifeline -auto=lord(creature) transforms((,newability[@movedTo(graveyard) from(this|battlefield) restriction{type(creature|battlefield)~morethan~0}:all(trigger[to]) [phaseaction[endofturn once] moveTo(mybattlefield)])) forever +auto=lord(creature) transforms((,newability[@movedTo(graveyard) from(this|battlefield) restriction{type(creature|battlefield)~morethan~0}:all(trigger[to]) [phaseaction[endofturn once] moveTo(mybattlefield)]])) forever text=Whenever a creature dies, if another creature is on the battlefield, return the first card to the battlefield under its owner's control at the beginning of the next end step. mana={5} type=Artifact @@ -67245,7 +67238,7 @@ name=Lightning Javelin target=creature,player auto=damage:3 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Lightning Javelin deals 3 damage to target creature or player. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3}{R} type=Sorcery @@ -68131,7 +68124,7 @@ toughness=1 [card] name=Lone Wolf of the Natterknolls backside=Hermit of the Natterknolls -auto=@movedTo(*|opponentstack) restriction{during opponent turn}:name(Draw 2 cards) draw:2 controller +auto=@movedTo(*|opponentstack) restriction{myturnonly}:name(Draw 2 cards) draw:2 controller auto=@each upkeep restriction{lastturn(*|mystack)~morethan~1,lastturn(*|opponentstack)~lessthan~2}:name(Transform Werewolf) flip(backside) auto=@each upkeep restriction{lastturn(*|opponentstack)~morethan~1}:name(Transform Werewolf) flip(backside) text=Whenever an opponent casts a spell during your turn, draw two cards. -- At the beginning of each upkeep, if a player cast two or more spells last turn, transform Lone Wolf of the Natterknolls. // Hermit of the Natterknolls @@ -68426,7 +68419,7 @@ name=Lose Hope target=creature auto=-1/-1 aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Target creature gets -1/-1 until end of turn. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={B} type=Instant @@ -68447,7 +68440,7 @@ name=Lost in a Labyrinth target=creature auto=-3/-0 ueot aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Target creature gets -3/-0 until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={U} type=Instant @@ -69148,8 +69141,8 @@ toughness=5 name=Lure of Prey target=creature[green]|myhand auto=moveTo(mybattlefield) -restriction=casted(creature[green]|opponentstack) -text=Cast Lure of Prey only if an opponent cast a creature spell this turn. -- You may put a green creature card from your hand onto the battlefield. +restriction=casted(creature|opponentstack) +text=Cast this spell only if an opponent cast a creature spell this turn. -- You may put a green creature card from your hand onto the battlefield. mana={2}{G}{G} type=Instant [/card] @@ -69263,8 +69256,8 @@ subtype=Aura [/card] [card] name=Lux Cannon -auto={T}:counter(0/0,1,Charge) auto={T}{C(0/0,-3,Charge)}:destroy target(*) +auto={T}:counter(0/0,1,Charge) text={T}: Put a charge counter on Lux Cannon. -- {T}, Remove three charge counters from Lux Cannon: Destroy target permanent. mana={4} type=Artifact @@ -69631,8 +69624,7 @@ subtype=Aura [/card] [card] name=Maggot Carrier -auto=life:-1 controller -auto=life:-1 opponent +auto=all(player) life:-1 text=When Maggot Carrier enters the battlefield, each player loses 1 life. mana={B} type=Creature @@ -69689,7 +69681,7 @@ type=Instant [/card] [card] name=Magma Giant -auto=damage:2 all(creature,player) +auto=damage:2 all(creature) && damage:2 all(player) text=When Magma Giant enters the battlefield, it deals 2 damage to each creature and each player. mana={5}{R}{R} type=Creature @@ -69701,7 +69693,7 @@ toughness=5 name=Magma Jet target=creature,player auto=damage:2 -auto=_SCRY_(2) +auto=_SCRY2_ text=Magma Jet deals 2 damage to target creature or player. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={1}{R} type=Instant @@ -69717,7 +69709,7 @@ type=Artifact [card] name=Magma Phoenix abilities=flying -auto=_DIES_damage:3 all(creature,player) +auto=_DIES_damage:3 all(creature) && damage:3 all(player) autograveyard={3}{R}{R}:moveTo(myhand) text=Flying -- When Magma Phoenix dies, it deals 3 damage to each creature and each player. -- {3}{R}{R}: Return Magma Phoenix from your graveyard to your hand. mana={3}{R}{R} @@ -70378,7 +70370,7 @@ type=Enchantment [card] name=Mana Chains target=creature -auto=teach(creature) cumulativeupcost[{1}] sacrifice +auto=teach(creature) transforms((,newability[cumulativeupcost[{1}] sacrifice])) text=Enchant creature -- Enchanted creature has "Cumulative upkeep {1}." (At the beginning of its controller's upkeep, that player puts an age counter on it, then sacrifices it unless he or she pays its upkeep cost for each age counter on it.) mana={U} type=Enchantment @@ -70701,7 +70693,7 @@ subtype=Aura name=Manic Scribe auto=deplete:3 opponent auto=@each opponent upkeep restriction{delirium}:deplete:3 opponent -text=When Manic Scribe enters the battlefield, each opponent puts the top three cards of his or her library into his or her graveyard. -- Delirium At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, that player puts the top three cards of his or her library into his or her graveyard. +text=When Manic Scribe enters the battlefield, each opponent mills three cards. -- Delirium At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, that player mills three cards. mana={1}{U} type=Creature subtype=Human Wizard @@ -72574,7 +72566,7 @@ toughness=1 [card] name=Memory Erosion auto=@movedTo(*|opponentstack):deplete:2 opponent -text=Whenever an opponent casts a spell, that player puts the top two cards of his or her library into his or her graveyard. +text=Whenever an opponent casts a spell, that player mills two cards. mana={1}{U}{U} type=Enchantment [/card] @@ -72608,7 +72600,7 @@ auto=deplete:4 auto=alternative deplete:4 target(player) other={UB}{T(creature[black;blue]|mybattlefield)}{T(creature[black;blue]|mybattlefield)} name(Pay Conspire) otherrestriction=type(creature[black;blue]|myBattlefield)~morethan~1 -text=Target player puts the top four cards of his or her library into his or her graveyard. -- Conspire (As you cast this spell, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy.) +text=Target player mills four cards. -- Conspire (As you cast this spell, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy.) mana={UB} type=Sorcery [/card] @@ -72948,7 +72940,7 @@ toughness=1 [card] name=Merfolk Mesmerist auto={U}{T}:deplete:2 target(player) -text={U}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. +text={U}, {T}: Target player mills two cards. mana={1}{U} type=Creature subtype=Merfolk Wizard @@ -73062,7 +73054,7 @@ toughness=2 [card] name=Merfolk Wayfinder abilities=flying -aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-island]|*) then bottomoflibrary))! +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-island]|*) then bottomoflibrary)! auto=reveal:3 optionone name(Get islands) target(<3>island|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=Flying -- When Merfolk Wayfinder enters the battlefield, reveal the top three cards of your library. Put all Island cards revealed this way into your hand and the rest on the bottom of your library in any order. mana={2}{U} @@ -73147,7 +73139,7 @@ toughness=3 [card] name=Merrow Witsniper auto=deplete:1 target(player) -text=When Merrow Witsniper enters the battlefield, target player puts the top card of his or her library into his or her graveyard. +text=When Merrow Witsniper enters the battlefield, target player mills a card. mana={U} type=Creature subtype=Merfolk Rogue @@ -73190,7 +73182,7 @@ toughness=1 name=Mesmeric Orb auto=@untapped(*|myBattlefield):deplete:1 controller auto=@untapped(*|opponentBattlefield):deplete:1 opponent -text=Whenever a permanent becomes untapped, that permanent's controller puts the top card of his or her library into his or her graveyard. +text=Whenever a permanent becomes untapped, that permanent's controller mills a card. mana={2} type=Artifact [/card] @@ -73251,7 +73243,7 @@ type=Sorcery [/card] [card] name=Metallic Mimic -auto=chooseatype transforms((chosentype,newability[@movedTo(creature[chosentype]|mybattlefield)}:all(trigger[to]) counter(1/1)])) forever chooseend +auto=chooseatype transforms((chosentype,newability[@movedTo(creature[chosentype]|mybattlefield):all(trigger[to]) counter(1/1)])) forever chooseend text=As Metallic Mimic enters the battlefield, choose a creature type. -- Metallic Mimic is the chosen type in addition to its other types. -- Each other creature you control of the chosen type enters the battlefield with an additional +1/+1 counter on it. mana={2} type=Artifact Creature @@ -73738,7 +73730,7 @@ toughness=5 [card] name=Mikokoro, Center of the Sea auto={T}:Add{1} -auto={2}{T}:draw:1 controller && draw:1 opponent +auto={2}{T}:all(player) draw:1 text={T}: Add {1} to your mana pool. -- {2}, {T}: Each player draws a card. type=Legendary Land [/card] @@ -73801,7 +73793,7 @@ toughness=1 [card] name=Millstone auto={2}{T}:deplete:2 target(player) -text={2}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. +text={2}, {T}: Target player mills two cards. mana={2} type=Artifact [/card] @@ -74202,7 +74194,7 @@ toughness=4 name=Mindshrieker abilities=flying auto={2}:name(deplete) target(player) Reveal:1 revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(ownerlibrary) and!( transforms((,newability[deplete:1])) oneshot )! optiononeend afterrevealed all(this) revealedmana/revealedmana afterrevealedend revealend -text=Flying -- {2}: Target player puts the top card of his or her library into his or her graveyard. Mindshrieker gets +X/+X until end of turn, where X is that card's mana value. +text=Flying -- {2}: Target player mills a card. Mindshrieker gets +X/+X until end of turn, where X is that card's mana value. mana={1}{U} type=Creature subtype=Spirit Bird @@ -74312,7 +74304,7 @@ name=Mindwrack Liege auto=lord(other creature[blue]|myBattlefield) 1/1 auto=lord(other creature[red]|myBattlefield) 1/1 auto={UR}{UR}{UR}{UR}:moveTo(myBattlefield) target(creature[blue;red]|myhand) -text=Other blue creatures you control get +1/+1. -- Other red creatures you control get +1/+1. -- {(u/r){(u/r){(u/r){(u/r)}: You may put a blue or red creature card from your hand onto the battlefield. +text=Other blue creatures you control get +1/+1. -- Other red creatures you control get +1/+1. -- {U/R}{U/R}{U/R}{U/R}: You may put a blue or red creature card from your hand onto the battlefield. mana={3}{UR}{UR}{UR} type=Creature subtype=Horror @@ -74403,7 +74395,7 @@ toughness=1 name=Minister of Inquiries auto=alterenergy:2 controller auto={T}{e:1}:deplete:3 target(player) -text=When Minister of Inquiries enters the battlefield, you get {E}{E} (two energy counters). -- {T}, Pay {E}: Target player puts the top three cards of his or her library into his or her graveyard. +text=When Minister of Inquiries enters the battlefield, you get {E}{E} (two energy counters). -- {T}, Pay {E}: Target player mills three cards. mana={U} type=Creature subtype=Vedalken Advisor @@ -76483,8 +76475,8 @@ toughness=4 [/card] [card] name=Morkrut Necropod -auto=_ATTACKING_sacrifice target(other creature,land|mybattlefield) -auto=@combat(blocking) source(this):sacrifice target(other creature,land|mybattlefield) +auto=_ATTACKING_sacrifice notAtarget(other creature,land|mybattlefield) +auto=@combat(blocking) source(this):sacrifice notAtarget(other creature,land|mybattlefield) text=Menace (This creature can't be blocked except by two or more creatures.) -- Whenever Morkrut Necropod attacks or blocks, sacrifice another creature or land. mana={5}{B} abilities=menace @@ -77973,7 +77965,7 @@ toughness=2 name=Mystic Speculation buyback={u}{2} aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(3) +auto=_SCRY3_ text=Buyback {2} (You may pay an additional {2} as you cast this spell. If you do, put this card into your hand as it resolves.) -- Scry 3. (To scry 3, look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={U} type=Sorcery @@ -78803,7 +78795,7 @@ subtype=Aura [/card] [card] name=Necromancer's Stockpile -auto=aslongas(creature|myhand) {1}{B}:notatarget(creature|myhand) and!( if cantargetcard(zombie|*) then _ZOMBIETOKEN_ and!( tap(noevent) )! )! reject && draw:1 +auto=aslongas(creature|myhand) {1}{B}:notatarget(creature|myhand) and!( if cantargetcard(zombie|*) then _ZOMBIETOKEN_ and!( tap(noevent) )! )! reject && draw:1 controller text={1}{B},Discard a creature card: Draw a card. If the discarded card was a Zombie card, put a 2/2 black Zombie creature token onto the battlefield tapped. mana={1}{B} type=Enchantment @@ -78829,7 +78821,7 @@ subtype=Aura name=Necromaster Dragon abilities=flying auto=@combatdamaged(player) from(this):pay({2}) _ZOMBIETOKEN_ controller && deplete:2 all(opponent) -text=Flying -- Whenever Necromaster Dragon deals combat damage to a player, you may pay {2}. If you do, put a 2/2 black Zombie creature token onto the battlefield and each opponent puts the top two cards of his or her library into his or her graveyard. +text=Flying -- Whenever Necromaster Dragon deals combat damage to a player, you may pay {2}. If you do, put a 2/2 black Zombie creature token onto the battlefield and each opponent mills two cards. mana={3}{U}{B} type=Creature subtype=Dragon @@ -79140,7 +79132,7 @@ subtype=Trap name=Nephalia Drownyard auto={T}:Add{1} auto={1}{U}{B}{T}:deplete:3 target(player) -text={T}: Add {1} to your mana pool. -- {1}{U}{B}, {T}, Target player puts the top three cards of his or her library into his or her graveyard. +text={T}: Add {1} to your mana pool. -- {1}{U}{B}, {T}, Target player mills three cards. type=Land [/card] [card] @@ -79497,7 +79489,7 @@ name=New Benalia auto=tap(noevent) auto={T}:add{W} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=New Benalia enters the battlefield tapped. -- When New Benalia enters the battlefield, scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) -- {T}: Add {W} to your mana pool. type=Land [/card] @@ -80581,10 +80573,8 @@ toughness=3 [/card] [card] name=Noggle Ransacker -auto=draw:2 controller -auto=draw:2 opponent -auto=discard:1 controller -auto=discard:1 opponent +auto=all(player) draw:2 +auto=all(player) discard:1 text=When Noggle Ransacker enters the battlefield, each player draws two cards, then discards a card at random. mana={2}{UR} type=Creature @@ -80856,7 +80846,7 @@ toughness=4 [card] name=Noxious Field target=land|myBattlefield -auto=teach(land) {T}:damage:1 all(creature,player) +auto=teach(land) {T}:damage:1 all(creature) && damage:1 all(player) text=Enchant land -- Enchanted land has "{T}: This land deals 1 damage to each creature and each player." mana={1}{B}{B} type=Enchantment @@ -82146,7 +82136,7 @@ type=Sorcery [card] name=Omenspeaker aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=When Omenspeaker enters the battlefield, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={1}{U} type=Creature @@ -82453,7 +82443,7 @@ type=Instant [/card] [card] name=Ooze Garden -auto={1}{G}{S(creature|myBattlefield)}:token(Ooze,Creature Ooze,setpower=storedpower,settoughness=storedpower,green) +auto={1}{G}{S(creature[-ooze]|myBattlefield)}:token(Ooze,Creature Ooze,storedpower/storedpower,green) asSorcery text={1}{G}, Sacrifice a non-Ooze creature: Put an X/X green Ooze creature token onto the battlefield, where X is the sacrificed creature's power. Activate this ability only any time you could cast a sorcery. mana={1}{G} type=Enchantment @@ -82756,7 +82746,7 @@ toughness=1 name=Oran-Rief, the Vastwood auto=tap(noevent) auto={T}:Add{G} -auto={T}:counter(1/1) all(creature[fresh;green|myBattlefield) +auto={T}:counter(1/1) all(creature[fresh;green]|myBattlefield) text=Oran-Rief, the Vastwood enters the battlefield tapped. -- {T}: Add {G} to your mana pool. -- {T}: Put a +1/+1 counter on each green creature that entered the battlefield this turn. type=Land [/card] @@ -83400,7 +83390,7 @@ subtype=Gate [card] name=Orzhov Guildmage auto={2}{W}:life:1 target(player) -auto={2}{B}:life:-1 controller && life:-1 opponent +auto={2}{B}:all(player) life:-1 text=({(w/b)} can be paid with either {W} or {B}.) -- {2}{W}: Target player gains 1 life. -- {2}{B}: Each player loses 1 life. mana={WB}{WB} type=Creature @@ -83477,7 +83467,7 @@ toughness=3 [card] name=Otherworld Atlas auto={T}:counter(0/0,1,Charge) -auto={T}:draw:counter{0%0.1.Charge} controller && draw:counter{0%0.1.Charge} opponent +auto={T}:all(player) draw:counter{0%0.1.Charge} text={T}: Put a charge counter on Otherworld Atlas. -- {T}: Each player draws a card for each charge counter on Otherworld Atlas. mana={4} type=Artifact @@ -83763,7 +83753,7 @@ type=Instant [/card] [card] name=Overwhelming Stampede -auto=notatarget(creature[power=power:highest:creature:mybattlefield]|mybattlefield) transforms((,newability[all(creature|mybattlefield) dynamicability,newability[all(creature|mybattlefield) trample])) +auto=notatarget(creature[power=power:highest:creature:mybattlefield]|mybattlefield) transforms((,newability[all(creature|mybattlefield) dynamicability],newability[all(creature|mybattlefield) trample])) text=Until end of turn, creatures you control gain trample and get +X/+X, where X is the greatest power among creatures you control. (If a creature you control would assign enough damage to its blockers to destroy them, you may have it assign the rest of its damage to defending player or planeswalker.) mana={3}{G}{G} type=Sorcery @@ -84705,7 +84695,7 @@ type=Instant [/card] [card] name=Pathbreaker Ibex -auto=_ATTACKING_notatarget(creature[power=power:highest:creature:mybattlefield]|mybattlefield) transforms((,newability[all(creature|mybattlefield) dynamicability,newability[all(creature|mybattlefield) trample])) +auto=_ATTACKING_notatarget(creature[power=power:highest:creature:mybattlefield]|mybattlefield) transforms((,newability[all(creature|mybattlefield) dynamicability],newability[all(creature|mybattlefield) trample])) text=Whenever Pathbreaker Ibex attacks, creatures you control gain trample and get +X/+X until end of turn, where X is the greatest power among creatures you control. mana={4}{G}{G} type=Creature @@ -85245,7 +85235,7 @@ name=Pentarch Ward abilities=auraward target=creature auto=chooseacolor teach(creature) protection from(*[chosencolor]) chooseend -auto=draw:1 +auto=draw:1 controller text=Enchant creature -- As Pentarch Ward enters the battlefield, choose a color. -- When Pentarch Ward enters the battlefield, draw a card. -- Enchanted creature has protection from the chosen color. This effect doesn't remove Pentarch Ward. mana={2}{W} type=Enchantment @@ -85558,7 +85548,7 @@ toughness=1 [card] name=Pestilence Demon abilities=flying -auto={B}:damage:1 all(creature,player) +auto={B}:damage:1 all(creature) && damage:1 all(player) text=Flying -- {B}: Pestilence Demon deals 1 damage to each creature and each player. mana={5}{B}{B}{B} type=Creature @@ -85579,7 +85569,7 @@ toughness=3 [card] name=Pestilence auto=@each endofturn restriction{type(creature|battlefield)~lessthan~1}:sacrifice -auto={B}:damage:1 all(creature,player) +auto={B}:damage:1 all(creature) && damage:1 all(player) text=At the beginning of the end step, if no creatures are on the battlefield, sacrifice Pestilence. -- {B}: Pestilence deals 1 damage to each creature and each player. mana={2}{B}{B} type=Enchantment @@ -85945,7 +85935,7 @@ toughness=2 name=Phantom Wings target=creature auto=flying -auto={S}:moveTo(ownerhand) notatarget(mytgt) +auto={S}:teach(creature) moveTo(ownerhand) text=Enchant creature -- Enchanted creature has flying. -- Sacrifice Phantom Wings: Return enchanted creature to its owner's hand. mana={1}{U} type=Enchantment @@ -86705,7 +86695,7 @@ name=Pilfered Plans target=player auto=deplete:3 auto=draw:2 controller -text=Target player puts the top three cards of his or her library into his or her graveyard. -- Draw two cards. +text=Target player mills three cards. -- Draw two cards. mana={1}{U}{B} type=Sorcery [/card] @@ -87185,8 +87175,8 @@ toughness=5 [/card] [card] name=Plague Spitter -auto=@each my upkeep:damage:1 all(creature,player) -auto=_DIES_damage:1 all(creature,player) +auto=@each my upkeep:damage:1 all(creature) && damage:1 all(player) +auto=_DIES_damage:1 all(creature) && damage:1 all(player) text=At the beginning of your upkeep, Plague Spitter deals 1 damage to each creature and each player. -- When Plague Spitter dies, Plague Spitter deals 1 damage to each creature and each player. mana={2}{B} type=Creature @@ -87800,7 +87790,7 @@ name=Portent of Betrayal target=creature aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],haste)) ueot)! -auto=_SCRY_(1) +auto=_SCRY1_ text=Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3}{R} type=Sorcery @@ -87992,7 +87982,7 @@ subtype=Aura name=Power Taint abilities=cycling target=enchantment -auto=teach(creature) upcost[{2}] life:-2 controller +auto=teach(enchantment) upcost[{2}] life:-2 controller autohand=__CYCLING__({2}) text=Enchant enchantment -- At the beginning of the upkeep of enchanted enchantment's controller, that player loses 2 life unless he or she pays {2}. -- Cycling {2} ({2}, Discard this card: Draw a card.) mana={1}{U} @@ -88236,7 +88226,7 @@ type=Sorcery name=Prescient Chimera abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(instant,sorcery|mystack):_SCRY_(1) +auto=@movedTo(instant,sorcery|mystack):_SCRY1_ text=Flying -- Whenever you cast an instant or sorcery spell, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3}{U}{U} type=Creature @@ -88757,7 +88747,7 @@ name=Prism Array auto=counter(0/0,converge,crystal) auto={c(0/0,-1,crystal)}:tap target(creature) aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={W}{U}{B}{R}{G}:_SCRY_(3) +auto={W}{U}{B}{R}{G}:_SCRY3_ text=Converge -- Prism Array enters the battlefield with a crystal counter on it for each color of mana spent to cast it. -- Remove a crystal counter from Prism Array: Tap target creature. -- {W}{U}{B}{R}{G}: Scry 3. (Look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={4}{U} type=Enchantment @@ -89113,7 +89103,7 @@ name=Prognostic Sphinx abilities=flying auto={D(*|myhand)}:opponentshroud && tap aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_ATTACKING__SCRY_(3) +auto=_ATTACKING__SCRY3_ text=Flying -- Discard a card: Prognostic Sphinx gains hexproof until end of turn. Tap it. -- Whenever Prognostic Sphinx attacks, scry 3. (Look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3}{U}{U} type=Creature @@ -89250,8 +89240,7 @@ subtype=Aura [/card] [card] name=Prosperity -auto=Draw:X controller -auto=Draw:X opponent +auto=all(player) Draw:X text=Each player draws X cards. mana={X}{U} type=Sorcery @@ -89498,7 +89487,7 @@ type=Instant name=Psychic Strike target=*|stack auto=fizzle && deplete:2 targetcontroller -text=Counter target spell. Its controller puts the top two cards of his or her library into his or her graveyard. +text=Counter target spell. Its controller mills two cards. mana={1}{U}{B} type=Instant [/card] @@ -89551,7 +89540,7 @@ type=Instant name=Psychotic Haze abilities=madness autoexile=restriction{discarded} pay({1}{B}) name(pay 1B to cast) activate name(pay 1B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard) -auto=damage:1 all(creature,player) +auto=damage:1 all(creature) && damage:1 all(player) text=Psychotic Haze deals 1 damage to each creature and each player. -- Madness {1}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.) mana={2}{B}{B} type=Instant @@ -90240,7 +90229,7 @@ type=Enchantment [/card] [card] name=Pyrohemia -auto={R}:damage:1 all(creature,player) +auto={R}:damage:1 all(creature) && damage:1 all(player) auto=@each endofturn restriction{type(creature|battlefield)~lessthan~1}:sacrifice text=At the beginning of the end step, if no creatures are on the battlefield, sacrifice Pyrohemia. -- {R}: Pyrohemia deals 1 damage to each creature and each player. mana={2}{R}{R} @@ -90601,7 +90590,7 @@ type=Instant [/card] [card] name=Quicksmith Genius -auto=@movedto(artifact|mybattlefield):may reject notatarget(*|myhand) and!( draw:1 controller )! +auto=@movedto(artifact|mybattlefield):may _DISCARD&DRAW_ text=Whenever an artifact enters the battlefield under your control, you may discard a card. If you do, draw a card. mana={2}{R} type=Creature @@ -91062,7 +91051,7 @@ name=Rage of Purphoros target=creature auto=cantregen auto=damage:4 -auto=_SCRY_(1) +auto=_SCRY1_ text=Rage of Purphoros deals 4 damage to target creature. It can't be regenerated this turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={4}{R} type=Sorcery @@ -91272,7 +91261,7 @@ type=Sorcery [/card] [card] name=Rain of Embers -auto=damage:1 all(creature,player) +auto=damage:1 all(creature) && damage:1 all(player) text=Rain of Embers deals 1 damage to each creature and each player. mana={1}{R} type=Sorcery @@ -91859,7 +91848,7 @@ toughness=3 name=Rancid Earth target=land auto=destroy -auto=aslongas(*|mygraveyard) lord(creature) damage:1 >6 +auto=aslongas(*|mygraveyard) all(creature) damage:1 >6 auto=aslongas(*|mygraveyard) damage:1 controller >6 auto=aslongas(*|mygraveyard) damage:1 opponent >6 text=Destroy target land. -- Threshold - If seven or more cards are in your graveyard, instead destroy that land and Rancid Earth deals 1 damage to each creature and each player. @@ -91911,7 +91900,7 @@ toughness=2 [/card] [card] name=Ranger's Guile -target=creature +target=creature|myBattlefield auto=1/1 auto=opponentshroud text=Target creature you control gets +1/+1 and gains hexproof until end of turn. @@ -92114,7 +92103,7 @@ toughness=5 [/card] [card] name=Rathi Fiend -auto=life:-3 controller && life:-3 opponent +auto=all(player) life:-3 aicode=activate moveTo(myBattlefield) target(mercenary[manacost<=3]|myLibrary) auto={3}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(mercenary[manacost<=3]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(activate castcard(putinplay))! afterrevealedend revealend text=When Rathi Fiend enters the battlefield, each player loses 3 life. -- {3}, {T}: Search your library for a Mercenary permanent card with mana value 3 or less and put that card onto the battlefield. Then shuffle your library. @@ -92476,7 +92465,7 @@ name=Ray of Erasure target=player auto=deplete:1 auto=@next upkeep:draw:1 controller -text=Target player puts the top card of his or her library into his or her graveyard. -- Draw a card at the beginning of the next turn's upkeep. +text=Target player mills a card. -- Draw a card at the beginning of the next turn's upkeep. mana={U} type=Instant [/card] @@ -92708,7 +92697,7 @@ subtype=Arcane [card] name=Read the Bones aicode=activate transforms((,newability[draw:2 controller],newability[life:-2 controller])) oneshot -auto=scry:2 scrycore delayed draw:2 controller && life:2 controller scrycoreend scryend +auto=scry:2 scrycore delayed draw:2 controller && life:-2 controller scrycoreend scryend text=Scry 2, then draw two cards. You lose 2 life. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={2}{B} type=Sorcery @@ -92856,7 +92845,7 @@ toughness=5 [card] name=Reaper of the Wilds aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(graveyard) from(other creature|battlefield):_SCRY_(1) +auto=@movedTo(graveyard) from(other creature|battlefield):_SCRY1_ auto={B}:deathtouch ueot auto={1}{G}:opponentshroud ueot text=Whenever another creature dies, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {B}: Reaper of the Wilds gains deathtouch until end of turn. -- {1}{G}: Reaper of the Wilds gains hexproof until end of turn. @@ -93105,7 +93094,7 @@ toughness=* [card] name=Reckless Racer abilities=first strike -auto=@tapped(this):may reject notatarget(*|myhand) and!( draw:1 controller )! +auto=@tapped(this):may _DISCARD&DRAW_ text=First strike -- Whenever Reckless Racer becomes tapped, you may discard a card. If you do, draw a card. mana={2}{R} type=Creature @@ -93409,7 +93398,7 @@ toughness=6 [card] name=Reef Pirates auto=@damagefoeof(player) from(this):deplete:1 opponent -text=Whenever Reef Pirates deals damage to an opponent, that player puts the top card of his or her library into his or her graveyard. +text=Whenever Reef Pirates deals damage to an opponent, that player mills a card. mana={1}{U}{U} type=Creature subtype=Zombie Pirate @@ -93472,8 +93461,7 @@ type=Instant [card] name=Reforge the Soul auto=reject all(*|hand) -auto=draw:7 opponent -auto=draw:7 controller +auto=all(player) draw:7 autohand=restriction{miracle} pay[[{1}{R}]] name(Miracle) activate name(Miracle) castcard(restricted) text=Each player discards his or her hand and draws seven cards. -- Miracle {1}{R} (You may cast this card for its miracle cost when you draw it if it's the first card you drew this turn.) mana={3}{R}{R} @@ -94435,7 +94423,7 @@ type=Enchantment name=Restless Apparition abilities=persist auto={WB}{WB}{WB}:3/3 -text={(w/b){(w/b){(w/b)}: Restless Apparition gets +3/+3 until end of turn. -- Persist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) +text={W/B}{W/B}{W/B}: Restless Apparition gets +3/+3 until end of turn. -- Persist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it.) mana={WB}{WB}{WB} type=Creature subtype=Spirit @@ -94625,7 +94613,7 @@ type=Instant [card] name=Retreat to Coralhelm aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_LANDFALL_name(Choose one) transforms((,newability[choice name(Scry 1) _SCRY_(1)],newability[choice name(untap creature) target(creature) untap],newability[choice name(tap creature) target(creature) tap])) ueot +auto=_LANDFALL_name(Choose one) transforms((,newability[choice name(Scry 1) _SCRY1_],newability[choice name(untap creature) target(creature) untap],newability[choice name(tap creature) target(creature) tap])) ueot text=Landfall -- Whenever a land enters the battlefield under your control, choose one -- -- You may tap or untap target creature. -- Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={2}{U} type=Enchantment @@ -94715,7 +94703,7 @@ type=Instant [card] name=Returned Centaur auto=deplete:4 target(player) -text=When Returned Centaur enters the battlefield, target player puts the top four cards of his or her library into his or her graveyard. +text=When Returned Centaur enters the battlefield, target player mills four cards. mana={3}{B} type=Creature subtype=Zombie Centaur @@ -94735,8 +94723,8 @@ toughness=3 [/card] [card] name=Returned Reveler -auto=_DIES_deplete:3 controller && deplete:3 opponent -text=When Returned Reveler dies, each player puts the top three cards of his or her library into his or her graveyard. +auto=_DIES_all(player) deplete:3 +text=When Returned Reveler dies, each player mills three cards. mana={1}{B} type=Creature subtype=Zombie Satyr @@ -95110,7 +95098,7 @@ toughness=2 name=Rhys the Redeemed auto={2}{GW}{T}:token(Elf Warrior,Creature Elf Warrior,1/1,greenwhite) auto={4}{GW}{GW}{T}:clone all(creature[token]|mybattlefield) -text={2}{(g/w)}, {T}: Put a 1/1 green and white Elf Warrior creature token onto the battlefield. -- {4}{(g/w){(g/w)}, {T}: For each creature token you control, put a token that's a copy of that creature onto the battlefield. +text={2}{(g/w)}, {T}: Put a 1/1 green and white Elf Warrior creature token onto the battlefield. -- {4}{(g/w)}{(g/w)}, {T}: For each creature token you control, put a token that's a copy of that creature onto the battlefield. mana={GW} type=Legendary Creature subtype=Elf Warrior @@ -95178,7 +95166,7 @@ type=Instant [card] name=Riddlekeeper auto=@combat(attacking) source(creature|opponentBattlefield):deplete:2 opponent -text=Whenever a creature attacks you or a planeswalker you control, that creature's controller puts the top two cards of his or her library into his or her graveyard. +text=Whenever a creature attacks you or a planeswalker you control, that creature's controller mills two cards. mana={2}{U} type=Creature subtype=Homunculus @@ -95770,7 +95758,7 @@ type=Sorcery name=Rise of Eagles auto=create(Bird:Creature Bird Enchantment:2/2:flying:blue)*2 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Put two 2/2 blue Bird enchantment creature tokens with flying onto the battlefield. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={4}{U}{U} type=Sorcery @@ -96294,7 +96282,7 @@ toughness=0 [/card] [card] name=Rockcaster Platoon -auto={4}{G}:damage:4 all(creature[flying],player) +auto={4}{G}:damage:2 all(creature[flying]) && damage:2 all(player) text={4}{G}: Rockcaster Platoon deals 2 damage to each creature with flying and each player. mana={5}{W}{W} type=Creature @@ -97368,8 +97356,7 @@ type=Enchantment [/card] [card] name=Rumbling Slum -auto=@each my upkeep:damage:1 opponent -auto=@each my upkeep:damage:1 controller +auto=@each my upkeep:damage:1 all(player) text=At the beginning of your upkeep, Rumbling Slum deals 1 damage to each player. mana={1}{R}{G}{G} type=Creature @@ -97431,7 +97418,7 @@ type=Instant name=Rune-Cervin Rider abilities=flying auto={GW}{GW}:1/1 -text=Flying -- {(g/w){(g/w)}: Rune-Cervin Rider gets +1/+1 until end of turn. +text=Flying -- {(g/w)}{(g/w)}: Rune-Cervin Rider gets +1/+1 until end of turn. mana={3}{W} type=Creature subtype=Elf Knight @@ -97483,7 +97470,7 @@ type=Artifact [/card] [card] name=Runed Servitor -auto=_DIES_draw:1 controller && draw:1 opponent +auto=_DIES_all(player) draw:1 text=When Runed Servitor dies, each player draws a card. mana={2} type=Artifact Creature @@ -98363,7 +98350,7 @@ toughness=4 [card] name=Sage's Row Denizen auto=@movedTo(other creature[blue]|mybattlefield):deplete:2 target(player) -text=Whenever another blue creature enters the battlefield under your control, target player puts the top two cards of his or her library into his or her graveyard. +text=Whenever another blue creature enters the battlefield under your control, target player mills two cards. mana={2}{U} type=Creature subtype=Vedalken Wizard @@ -99093,7 +99080,7 @@ toughness=1 [card] name=Sanity Grinding auto=reveal:10 optionone name(Look) target(*|reveal) deplete:type:manau opponent optiononeend optiontwo name(put on bottom) target(<10>*|reveal) bottomoflibrary optiontwoend revealend -text=Chroma - Reveal the top ten cards of your library. For each blue mana symbol in the mana costs of the revealed cards, target opponent puts the top card of his or her library into his or her graveyard. Then put the cards you revealed this way on the bottom of your library in any order. +text=Chroma - Reveal the top ten cards of your library. For each blue mana symbol in the mana costs of the revealed cards, target opponent mills a card. Then put the cards you revealed this way on the bottom of your library in any order. mana={U}{U}{U} type=Sorcery [/card] @@ -100465,7 +100452,7 @@ type=Artifact name=Scouring Sands auto=damage:1 all(creature|opponentbattlefield) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Scouring Sands deals 1 damage to each creature your opponents control. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{R} type=Sorcery @@ -100667,7 +100654,7 @@ toughness=3 [/card] [card] name=Screams of the Damned -auto={1}{B}{E(*|mygraveyard)}:damage:1 all(creature,player) +auto={1}{B}{E(*|mygraveyard)}:damage:1 all(creature) && damage:1 all(player) text={1}{B}, Exile a card from your graveyard: Screams of the Damned deals 1 damage to each creature and each player. mana={3}{B}{B} type=Enchantment @@ -100733,7 +100720,7 @@ name=Screeching Silcaw abilities=flying auto=@combatdamagefoeof(player) from(this) restriction{type(artifact|myBattlefield)~morethan~2}:deplete:4 opponent auto=@combatdamageof(player) from(this) restriction{type(artifact|myBattlefield)~morethan~2}:deplete:4 controller -text=Flying -- Metalcraft - Whenever Screeching Silcaw deals combat damage to a player, if you control three or more artifacts, that player puts the top four cards of his or her library into his or her graveyard. +text=Flying -- Metalcraft - Whenever Screeching Silcaw deals combat damage to a player, if you control three or more artifacts, that player mills four cards. mana={1}{U} type=Creature subtype=Bird @@ -100753,7 +100740,7 @@ toughness=1 [card] name=Screeching Sliver auto=lord(sliver) {T}:deplete:1 target(player) -text=All Slivers have "{T}: Target player puts the top card of his or her library into his or her graveyard." +text=All Slivers have "{T}: Target player mills a card." mana={U} type=Creature subtype=Sliver @@ -101821,7 +101808,7 @@ subtype=Aura name=Seer's Lantern auto={T}:add{C} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={2}{t}:name(Scry 1) _SCRY_(1) +auto={2}{t}:name(Scry 1) _SCRY1_ text={T}: Add {C} to your mana pool. ({C} represents colorless mana.) -- {2}, {T}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3} type=Artifact @@ -102032,7 +102019,7 @@ toughness=3 name=Select for Inspection target=creature[tapped] auto=moveto(ownerhand) -auto=_SCRY_(1) +auto=_SCRY1_ text=Return target tapped creature to its owner's hand. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={U} type=Instant @@ -102191,7 +102178,7 @@ toughness=1 name=Selhoff Occultist auto=@movedTo(other creature|graveyard) from(battlefield):deplete:1 target(player) auto=_DIES_deplete:1 target(player) -text=Whenever Selhoff Occultist or another creature dies, target player puts the top card of his or her library into his or her graveyard. +text=Whenever Selhoff Occultist or another creature dies, target player mills a card. mana={2}{U} type=Creature subtype=Human Rogue @@ -102869,7 +102856,7 @@ type=Artifact name=Serum Visions auto=draw:1 aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 2) _SCRY_(2) +auto=name(Scry 2) _SCRY2_ text=Draw a card. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={U} type=Sorcery @@ -103071,7 +103058,7 @@ toughness=2 name=Sewer Nemesis auto=choice name(opponent) transforms((,newability[type:*:opponentgraveyard/type:*:opponentgraveyard cdaactive],newability[@movedTo(*|opponentstack):deplete:1 opponent])) forever auto=choice name(you) transforms((,newability[type:*:mygraveyard/type:*:mygraveyard cdaactive],newability[@movedTo(*|mystack):deplete:1 controller])) forever -text=As Sewer Nemesis enters the battlefield, choose a player. -- Sewer Nemesis's power and toughness are each equal to the number of cards in the chosen player's graveyard. -- Whenever the chosen player casts a spell, that player puts the top card of his or her library into his or her graveyard. +text=As Sewer Nemesis enters the battlefield, choose a player. -- Sewer Nemesis's power and toughness are each equal to the number of cards in the chosen player's graveyard. -- Whenever the chosen player casts a spell, that player mills a card. mana={3}{B} type=Creature subtype=Horror @@ -103090,7 +103077,7 @@ toughness=1 [/card] [card] name=Sewer Shambler -autograveyard=_SCAVENGE_({2}{B}{E}) +autograveyard={2}{B}{E}:_SCAVENGE_(storedpower) abilities=swampwalk text=Swampwalk (This creature is unblockable as long as defending player controls a Swamp.) -- Scavenge {2}{B} ({2}{B}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={2}{B} @@ -103307,7 +103294,7 @@ toughness=3 [card] name=Shadows of the Past aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(creature|graveyard) from(battlefield):name(Scry 1) _SCRY_(1) +auto=@movedTo(creature|graveyard) from(battlefield):name(Scry 1) _SCRY1_ auto={4}{B}:life:-2 opponent && life:2 controller restriction{type(creature|mygraveyard)~morethan~3} text=Whenever a creature dies, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {4}{B}: Each opponent loses 2 life and you gain 2 life. Activate this ability only if there are four or more creature cards in your graveyard. mana={1}{B} @@ -103831,7 +103818,7 @@ toughness=6 [/card] [card] name=Shepherd of Rot -auto={T}:life:-type:zombie:battlefield opponent && life:-type:zombie:battlefield controller +auto={T}:all(player) life:-type:zombie:battlefield text={T}: Each player loses 1 life for each Zombie on the battlefield. mana={1}{B} type=Creature @@ -104638,7 +104625,7 @@ name=Shriekgeist abilities=flying auto=@combatdamagefoeof(player) from(this):deplete:2 opponent auto=@combatdamageof(player) from(this):deplete:2 controller -text=Flying -- Whenever Shriekgeist deals combat damage to a player, that player puts the top two cards of his or her library into his or her graveyard. +text=Flying -- Whenever Shriekgeist deals combat damage to a player, that player mills two cards. mana={1}{U} type=Creature subtype=Spirit @@ -104649,7 +104636,7 @@ toughness=1 name=Shriekhorn auto=counter(0/0,3,Charge) auto={T}{C(0/0,-1,Charge)}:deplete:2 target(player) -text=Shriekhorn enters the battlefield with three charge counters on it. -- {T}, Remove a charge counter from Shriekhorn: Target player puts the top two cards of his or her library into his or her graveyard. +text=Shriekhorn enters the battlefield with three charge counters on it. -- {T}, Remove a charge counter from Shriekhorn: Target player mills two cards. mana={1} type=Artifact [/card] @@ -104921,7 +104908,7 @@ toughness=6 [card] name=Sibsig Host auto=choice all(player) deplete:3 -text=When Sibsig Host enters the battlefield, each player puts the top three cards of his or her library into his or her graveyard. +text=When Sibsig Host enters the battlefield, each player mills three cards. mana={4}{B} type=Creature subtype=Zombie @@ -105339,7 +105326,7 @@ toughness=2 [card] name=Sigiled Skink aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_ATTACKING__SCRY_(1) +auto=_ATTACKING__SCRY1_ text=Whenever Sigiled Skink attacks, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{R} type=Creature @@ -105350,7 +105337,7 @@ toughness=1 [card] name=Sigiled Starfish aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={T}:_SCRY_(1) +auto={T}:_SCRY1_ text={T}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{U} type=Creature @@ -106244,7 +106231,7 @@ toughness=3 name=Siren of the Silent Song abilities=flying auto=@untapped(this):ability$!notatarget(*|myhand) reject!$ability opponent && deplete:1 opponent -text=Flying -- Inspired -- Whenever Siren of the Silent Song becomes untapped, each opponent discards a card, then puts the top card of his or her library into his or her graveyard. +text=Flying -- Inspired -- Whenever Siren of the Silent Song becomes untapped, each opponent discards a card, then mills a card. mana={1}{U}{B} type=Creature subtype=Zombie Siren @@ -106634,7 +106621,7 @@ toughness=1 [card] name=Skirk Fire Marshal abilities=protection from red -auto={T(goblin|myBattlefield)}{T(goblin|myBattlefield)}{T(goblin|myBattlefield)}{T(goblin|myBattlefield)}{T(goblin|myBattlefield)}:damage:10 all(creature,player) +auto={T(goblin|myBattlefield)}{T(goblin|myBattlefield)}{T(goblin|myBattlefield)}{T(goblin|myBattlefield)}{T(goblin|myBattlefield)}:damage:10 all(creature) && damage:10 all(player) text=Protection from red -- Tap five untapped Goblins you control: Skirk Fire Marshal deals 10 damage to each creature and each player. mana={3}{R}{R} type=Creature @@ -107318,7 +107305,7 @@ toughness=3 name=Skyscribing auto=Draw:X controller auto=Draw:X opponent -autohand={2}{U}:draw:1 controller && draw:1 opponent limit:1 myUpkeepOnly +autohand={2}{U}:all(player) draw:1 limit:1 myUpkeepOnly text=Each player draws X cards. -- Forecast - {2}{U}, Reveal Skyscribing from your hand: Each player draws a card. (Activate this ability only during your upkeep and only once each turn.) mana={X}{U}{U} type=Sorcery @@ -107634,7 +107621,7 @@ toughness=1 name=Skywhaler's Shot target=creature[power>=3] auto=destroy -auto=_SCRY_(1) +auto=_SCRY1_ text=Destroy target creature with power 3 or greater. Scry 1. mana={2}{W} type=Instant @@ -108139,7 +108126,7 @@ toughness=1 [/card] [card] name=Slitherhead -autograveyard={E}:name(scavenge) counter(1/1,storedpower) target(creature) asSorcery +autograveyard={E}:_SCAVENGE_(storedpower) text=Scavenge {0} ({0}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={BG} type=Creature @@ -108243,7 +108230,7 @@ toughness=2 [card] name=Slow Motion target=creature -auto=teach(creature) upcost[{2}] sacrifice +auto=teach(creature) transforms((,newability[upcost[{2}] sacrifice])) autograveyard=_DIES_moveTo(ownerhand) text=Enchant creature -- At the beginning of the upkeep of enchanted creature's controller, that player sacrifices that creature unless he or she pays {2}. -- When Slow Motion is put into a graveyard from the battlefield, return Slow Motion to its owner's hand. mana={2}{U} @@ -108285,7 +108272,7 @@ subtype=Aura [/card] [card] name=Sluiceway Scorpion -autograveyard=_SCAVENGE_({1}{B}{G}{E}) +autograveyard={1}{B}{G}{E}:_SCAVENGE_(storedpower) abilities=deathtouch text=Deathtouch (Any amount of damage this deals to a creature is enough to destroy it.) -- Scavenge {1}{B}{G} ({1}{B}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={2}{B}{G} @@ -109466,7 +109453,7 @@ toughness=1 name=Soratami Mindsweeper abilities=flying auto={H(land|mybattlefield)}{2}:deplete:2 target(player) -text=Flying -- {2}, Return a land you control to its owner's hand: Target player puts the top two cards of his or her library into his or her graveyard. +text=Flying -- {2}, Return a land you control to its owner's hand: Target player mills two cards. mana={3}{U} type=Creature subtype=Moonfolk Wizard @@ -109937,7 +109924,7 @@ toughness=1 [/card] [card] name=Soulcage Fiend -auto=_DIES_life:-3 opponent && life:-3 controller +auto=_DIES_all(player) life:-3 text=When Soulcage Fiend dies, each player loses 3 life. mana={1}{B}{B} type=Creature @@ -110065,7 +110052,7 @@ type=Sorcery [/card] [card] name=Soulshriek -target=creature +target=creature|myBattlefield auto=foreach(creature|mygraveyard) 1/0 auto=treason text=Target creature you control gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard. Sacrifice that creature at the beginning of the next end step. @@ -110174,7 +110161,7 @@ name=Spark Jolt target=creature,player auto=damage:1 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Spark Jolt deals 1 damage to target creature or player. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={R} type=Instant @@ -110918,7 +110905,7 @@ type=Instant name=Sphinx's Tutelage auto=@drawof(player):color deplete:2 opponent auto={u}{5}:_LOOT_ -text=Whenever you draw a card, target opponent puts the top two cards of his or her library into his or her graveyard. If they're both nonland cards that share a color, repeat this process. -- {5}{U}: Draw a card, then discard a card. +text=Whenever you draw a card, target opponent mills two cards. If they're both nonland cards that share a color, repeat this process. -- {5}{U}: Draw a card, then discard a card. mana={2}{U} type=Enchantment [/card] @@ -111686,7 +111673,7 @@ name=Spite of Mogis target=creature auto=damage:type:*[instant;sorcery]:mygraveyard aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Spite of Mogis deals damage to target creature equal to the number of instant and sorcery cards in your graveyard. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={R} type=Sorcery @@ -111705,7 +111692,7 @@ toughness=1 [/card] [card] name=Spiteflame Witch -auto={B}{R}:life:-1 opponent && life:-1 player +auto={B}{R}:all(player) life:-1 text={B}{R}: Each player loses 1 life. mana={1}{BR} type=Creature @@ -112755,7 +112742,7 @@ name=Stand Firm target=creature auto=1/1 aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=Target creature gets +1/+1 until end of turn. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={W} type=Instant @@ -113090,7 +113077,7 @@ toughness=2 [/card] [card] name=Steam Blast -auto=damage:2 all(creature,player) +auto=damage:2 all(creature) && damage:2 all(player) text=Steam Blast deals 2 damage to each creature and each player. mana={2}{R} type=Sorcery @@ -113406,7 +113393,7 @@ toughness=2 name=Stern Mentor auto=soulbond {t}:deplete:2 target(player) abilities=soulbond -text=Soulbond (You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.) -- As long as Stern Mentor is paired with another creature, each of those creatures has "{T}: Target player puts the top two cards of his or her library into his or her graveyard." +text=Soulbond (You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.) -- As long as Stern Mentor is paired with another creature, each of those creatures has "{T}: Target player mills two cards." mana={3}{U} type=Creature subtype=Human Wizard @@ -113585,7 +113572,7 @@ toughness=4 [/card] [card] name=Stitched Mangler -auto=target(creature) freeze +auto=target(creature|opponentBattlefield) freeze auto=tap(noevent) text=Stitched Mangler enters the battlefield tapped. -- When Stitched Mangler enters the battlefield, tap target creature an opponent controls. That creature doesn't untap during its controller's next untap step. mana={2}{U} @@ -114192,7 +114179,7 @@ toughness=4 name=Stormcaller of Keranos abilities=haste aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={1}{u}:_SCRY_(1) +auto={1}{u}:_SCRY1_ text=Haste -- {1}{U}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={2}{R} type=Creature @@ -115045,7 +115032,7 @@ name=Stymied Hopes target=*|stack auto=transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) forever aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(1) +auto=_SCRY1_ text=Counter target spell unless its controller pays {1}. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{U} type=Instant @@ -115228,7 +115215,7 @@ abilities=split second name=Sudden Spoiling abilities=split second target=player -auto=all(creature|targetedpersonsbattlefield) transforms((,newability[loseabilities],setpower=0,settoughness=2)) ueot +auto=all(creature|targetedpersonsbattlefield) transforms((,newability[loseabilities],setpower=0,settoughness=2)) text=Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.) -- Creatures target player controls become 0/2 and lose all abilities until end of turn. mana={1}{B}{B} type=Instant @@ -115314,7 +115301,7 @@ type=Enchantment [/card] [card] name=Sulfurous Blast -auto=if compare(restriction{assorcery}~morethan~0) then damage:3 all(creature,player) else damage:2 all(creature,player) +auto=if compare(restriction{assorcery}~morethan~0) then damage:3 all(creature) && damage:3 all(player) else damage:2 all(creature) && damage:2 all(player) text=Sulfurous Blast deals 2 damage to each creature and each player. If you cast this spell during your main phase, Sulfurous Blast deals 3 damage to each creature and each player instead. mana={2}{R}{R} type=Instant @@ -115494,7 +115481,7 @@ toughness=3 name=Sun Clasp target=creature auto=1/3 -auto={W}:moveTo(ownerhand) +auto={W}:teach(creature) moveTo(ownerhand) text=Enchant creature -- Enchanted creature gets +1/+3. -- {W}: Return enchanted creature to its owner's hand. mana={1}{W} type=Enchantment @@ -117328,7 +117315,7 @@ type=Artifact [card] name=Tainted Specter abilities=flying -auto={1}{B}{B}{T}:name(offer choice) ability$!choice name(discard) target(*|myhand) reject && damage:1 all(creature,player) _ choice name(put on library) target(*|myhand) moveto(library)!$ targetedplayer +auto={1}{B}{B}{T}:name(offer choice) ability$!choice name(discard) target(*|myhand) reject && damage:1 all(creature) && damage:1 all(player) _ choice name(put on library) target(*|myhand) moveto(library)!$ targetedplayer text=Flying -- {1}{B}{B}, {T}: Target player discards a card unless he or she puts a card from his or her hand on top of his or her library. If that player discards a card this way, Tainted Specter deals 1 damage to each creature and each player. Activate this ability only any time you could cast a sorcery. mana={3}{B} type=Creature @@ -118583,7 +118570,7 @@ toughness=1 name=Tel-Jilad Justice target=artifact auto=destroy -auto=_SCRY_(2) +auto=_SCRY2_ text=Destroy target artifact. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={1}{G} type=Instant @@ -118693,7 +118680,7 @@ toughness=3 [/card] [card] name=Temple Bell -auto={T}:draw:1 controller && draw:1 opponent +auto={T}:all(player) draw:1 text={T}:Each player draws a card. mana={3} type=Artifact @@ -118721,7 +118708,7 @@ auto=tap(noevent) auto={t}:add{r} auto={t}:add{g} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Abandon enters the battlefield tapped. -- When Temple of Abandon enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {R} or {G} to your mana pool. type=Land [/card] @@ -118731,7 +118718,7 @@ auto=tap(noevent) auto={t}:add{u} auto={t}:add{b} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Deceit enters the battlefield tapped. -- When Temple of Deceit enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {U} or {B} to your mana pool. type=Land [/card] @@ -118741,7 +118728,7 @@ auto=tap(noevent) auto={t}:add{w} auto={t}:add{u} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Enlightenment enters the battlefield tapped. -- When Temple of Enlightenment enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {W} or {U} to your mana pool. type=Land [/card] @@ -118751,7 +118738,7 @@ auto=tap(noevent) auto={t}:add{u} auto={t}:add{r} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Epiphany enters the battlefield tapped. -- When Temple of Epiphany enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {U} or {R} to your mana pool. type=Land [/card] @@ -118761,7 +118748,7 @@ auto=tap(noevent) auto={t}:add{b} auto={t}:add{g} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Malady enters the battlefield tapped. -- When Temple of Malady enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {B} or {G} to your mana pool. type=Land [/card] @@ -118771,7 +118758,7 @@ auto=tap(noevent) auto={t}:add{b} auto={t}:add{r} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Malice enters the battlefield tapped. -- When Temple of Malice enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {B} or {R} to your mana pool. type=Land [/card] @@ -118781,7 +118768,7 @@ auto=tap(noevent) auto={t}:add{g} auto={t}:add{u} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Mystery enters the battlefield tapped. -- When Temple of Mystery enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {G} or {U} to your mana pool. type=Land [/card] @@ -118791,7 +118778,7 @@ auto=tap(noevent) auto={t}:add{g} auto={t}:add{w} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Plenty enters the battlefield tapped. -- When Temple of Plenty enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {G} or {W} to your mana pool. type=Land [/card] @@ -118801,7 +118788,7 @@ auto=tap(noevent) auto={t}:add{w} auto={t}:add{b} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Silence enters the battlefield tapped. -- When Temple of Silence enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {W} or {B} to your mana pool. type=Land [/card] @@ -118817,7 +118804,7 @@ auto=tap(noevent) auto={t}:add{r} auto={t}:add{w} aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Temple of Triumph enters the battlefield tapped. -- When Temple of Triumph enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {R} or {W} to your mana pool. type=Land [/card] @@ -119014,7 +119001,7 @@ toughness=5 [/card] [card] name=Tenacious Dead -autograveyard=_DIES_all(trigger) transforms((,newability[name(Pay 1B) pay[[{1}{B}]] name(pay 1B mana) moveto(ownerbattlefield} && tap?name(cancel) donothing])) oneshot +autograveyard=_DIES_all(trigger) transforms((,newability[name(Pay 1B) pay[[{1}{B}]] name(pay 1B mana) moveto(ownerbattlefield) && tap?name(cancel) donothing])) oneshot text=When Tenacious Dead dies, you may pay {1}{B}. If you do, return it to the battlefield tapped under its owner's control. mana={B} type=Creature @@ -119356,7 +119343,7 @@ type=Instant [/card] [card] name=Terrus Wurm -autograveyard=_SCAVENGE_({6}{B}{E}) +autograveyard={6}{B}{E}:_SCAVENGE_(storedpower) text=Scavenge {6}{B} ({6}{B}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={6}{B} type=Creature @@ -119699,7 +119686,7 @@ name=Thassa, God of the Sea abilities=Indestructible auto={1}{u}:target(creature|mybattlefield) unblockable ueot aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@each my upkeep:_SCRY_(1) +auto=@each my upkeep:_SCRY1_ auto=this(variable{type:manau}<5) transforms((removetypes,newability[becomes(Legendary Enchantment God)])) auto=this(variable{type:manau}>4) transforms((Legendary Enchantment Creature)) text=Indestructible -- As long as your devotion to blue is less than five, Thassa isn't a creature. (Each {U} in the mana costs of permanents you control counts toward your devotion to blue.) -- At the beginning of your upkeep, scry 1. -- {1}{U}: Target creature you control can't be blocked this turn. @@ -119714,7 +119701,7 @@ name=Thassa's Bounty target=player auto=deplete:3 auto=draw:3 controller -text=Draw three cards. Target player puts the top three cards of his or her library into his or her graveyard. +text=Draw three cards. Target player mills three cards. mana={5}{U} type=Sorcery [/card] @@ -119722,7 +119709,7 @@ type=Sorcery name=Thassa's Devourer auto=deplete:2 target(player) auto=_CONSTELLATION_deplete:2 target(player) -text=Constellation -- Whenever Thassa's Devourer or another enchantment enters the battlefield under your control, target player puts the top two cards of his or her library into his or her graveyard. +text=Constellation -- Whenever Thassa's Devourer or another enchantment enters the battlefield under your control, target player mills two cards. mana={4}{U} type=Enchantment Creature subtype=Elemental @@ -119827,7 +119814,7 @@ name=The Gitrog Monster abilities=deathtouch auto=upcost[{S(land|mybattlefield)}] sacrifice auto=maxPlay(land)+1 -auto=@movedto(land|mygraveyard): draw:1 +auto=@movedto(land|mygraveyard):draw:1 text=Deathtouch -- At the beginning of your upkeep, sacrifice The Gitrog Monster unless you sacrifice a land. -- You may play an additional land on each of your turns. -- Whenever one or more land cards are put into your graveyard from anywhere, draw a card. mana={3}{B}{G} type=Legendary Creature @@ -120485,7 +120472,7 @@ name=Thought Scour target=player auto=deplete:2 auto=draw:1 controller -text=Target player puts the top two cards of his or her library into his or her graveyard. -- Draw a card. +text=Target player mills two cards. -- Draw a card. mana={U} type=Instant [/card] @@ -120829,7 +120816,7 @@ type=Artifact [card] name=Thrashing Mossdog abilities=Reach -autograveyard=_SCAVENGE_({4}{G}{G}{E}) +autograveyard={4}{G}{G}{E}:_SCAVENGE_(storedpower) text=Reach. (This creature can block creatures with flying.) -- Scavenge {4}{G}{G} ({4}{G}{G}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={3}{G} type=Creature @@ -120851,7 +120838,7 @@ toughness=4 [/card] [card] name=Thrashing Wumpus -auto={B}:damage:1 all(creature,player) +auto={B}:damage:1 all(creature) && damage:1 all(player) text={B}: Thrashing Wumpus deals 1 damage to each creature and each player. mana={3}{B}{B} type=Creature @@ -121145,7 +121132,8 @@ toughness=5 [/card] [card] name=Thunder of Hooves -auto=damage:type:beast:battlefield all(player,creature[-flying]) +auto=damage:type:beast:battlefield all(creature[-flying]) +auto=damage:type:beast:battlefield all(player) text=Thunder of Hooves deals X damage to each creature without flying and each player, where X is the number of Beasts on the battlefield. mana={3}{R} type=Sorcery @@ -121776,7 +121764,7 @@ toughness=2 [card] name=Time Bomb auto=@each my upkeep:counter(0/0,1,Time) -auto={1}{T}{S}:thisforeach(counter{0/0.1.Time}) damage:1 all(creature,player) +auto={1}{T}{S}:thisforeach(counter{0/0.1.Time}) damage:1 all(creature) && damage:1 all(player) text=At the beginning of your upkeep, put a time counter on Time Bomb. -- {1}, {T}, Sacrifice Time Bomb: Time Bomb deals damage to each creature and each player equal to the number of time counters on Time Bomb. mana={4} type=Artifact @@ -122102,7 +122090,7 @@ name=Titan's Strength target=creature auto=3/1 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Target creature gets +3/+1 until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={R} type=Instant @@ -122901,7 +122889,7 @@ type=Enchantment name=Tourach's Gate target=land|myBattlefield auto=vanishing:3 -auto={s(thrull|mybattlefield):counter(0/0,3,time) +auto={s(thrull|mybattlefield)}:counter(0/0,3,time) auto=teach(land) {T}:all(creature[attacking]) 2/-1 text=Enchant land you control -- Sacrifice a Thrull: Put three time counters on Tourach's Gate. -- At the beginning of your upkeep, remove a time counter from Tourach's Gate. If there are no time counters on Tourach's Gate, sacrifice it. -- Enchanted land has "{T}: Attacking creatures you control get +2/-1 until end of turn." mana={1}{B}{B} @@ -123789,7 +123777,7 @@ toughness=1 [card] name=Tree of Perdition abilities=defender -auto={t}:count(opponentlifetotal) && transforms((,newability[lifeset:t opponent})) forever && all(this) transforms((,settoughness=countedamount)) forever +auto={t}:count(opponentlifetotal) && transforms((,newability[lifeset:t opponent])) forever && all(this) transforms((,settoughness=countedamount)) forever text=Defender -- {T}: Exchange target opponent's life total with Tree of Perdition's toughness. mana={3}{B} type=Creature @@ -124277,8 +124265,9 @@ type=Sorcery [card] name=Triskaidekaphobia auto=@each my upkeep restriction{compare(opponentlifetotal)~equalto~13}:winGame -auto=@each my upkeep:choice name(gain) life:1 opponent -auto=@each my upkeep:choice name(loss) life:-1 opponent +auto=@each my upkeep restriction{compare(lifetotal)~equalto~13}:winGame opponent +auto=@each my upkeep:choice name(gain) all(player) life:1 +auto=@each my upkeep:choice name(loss) all(player) life:-1 text=At the beginning of your upkeep, choose one -- Each player with exactly 13 life loses the game, then each player gains 1 life. -- Each player with exactly 13 life loses the game, then each player loses 1 life. mana={3}{B} type=Enchantment @@ -127400,7 +127389,7 @@ name=Vanquish the Foul target=creature[power>=4] auto=destroy aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Destroy target creature with power 4 or greater. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={5}{W} type=Sorcery @@ -127698,7 +127687,7 @@ toughness=2 [card] name=Vedalken Entrancer auto={U}{T}:deplete:2 target(player) -text={U}, {T}: Target player puts the top two cards of his or her library into his or her graveyard. +text={U}, {T}: Target player mills two cards. mana={3}{U} type=Creature subtype=Vedalken Wizard @@ -128346,7 +128335,7 @@ type=Enchantment [card] name=Vessel of Paramnesia auto={U}{s}:deplete:3 target(player) && draw:1 controller -text={U}, Sacrifice Vessel of Paramnesia: Target player puts the top three cards of his or her library into his or her graveyard. Draw a card. +text={U}, Sacrifice Vessel of Paramnesia: Target player mills three cards. Draw a card. mana={1}{U} type=Enchantment [/card] @@ -128441,7 +128430,7 @@ toughness=1 name=Veteran Motorist crewbonus=1/1 aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY_(2) +auto=_SCRY2_ text=When Veteran Motorist enters the battlefield, scry 2. -- Whenever Veteran Motorist crews a Vehicle, that Vehicle gets +1/+1 until end of turn. mana={R}{W} type=Creature @@ -128674,7 +128663,7 @@ toughness=3 [/card] [card] name=Viashino Racketeer -auto=if type(*|myhand)~morethan~0 then ability$!may reject notatarget(*|myhand) and!(draw:1)! !$ controller +auto=if type(*|myhand)~morethan~0 then ability$!may _DISCARD&DRAW_ !$ controller text=When Viashino Racketeer enters the battlefield, you may discard a card. If you do, draw a card. mana={2}{R} type=Creature @@ -129541,7 +129530,7 @@ toughness=3 [card] name=Viscera Seer aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={S(creature|myBattlefield)}:name(Scry 1) _SCRY_(1) +auto={S(creature|myBattlefield)}:name(Scry 1) _SCRY1_ text=Sacrifice a creature: Scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) mana={B} type=Creature @@ -129615,8 +129604,7 @@ text=Flying, lifelink Sacrifice a creature: Put X +1/+1 counters on Vish Kal, Bl [/card] [card] name=Vision Skeins -auto=draw:2 opponent -auto=draw:2 controller +auto=all(player) draw:2 text=Each player draws two cards. mana={1}{U} type=Instant @@ -130213,7 +130201,7 @@ toughness=4 [card] name=Volatile Rig auto=_ENRAGE_flipacoin loseability sacrifice all(this) loseabilityend flipend -auto=_DIES_flipacoin loseability damage:4 all(creature,player) loseabilityend flipend +auto=_DIES_flipacoin loseability damage:4 all(creature) && damage:4 all(player) loseabilityend flipend abilities=trample,mustattack text=Trample -- Volatile Rig attacks each turn if able. -- Whenever Volatile Rig is dealt damage, flip a coin. If you lose the flip, sacrifice Volatile Rig. -- When Volatile Rig dies, flip a coin. If you lose the flip, it deals 4 damage to each creature and each player. mana={4} @@ -130243,7 +130231,7 @@ toughness=4 [card] name=Volcanic Eruption target=mountain -auto=destroy && damage:1 all(player) && damage:1 all(creature) +auto=destroy && damage:1 all(creature) && damage:1 all(player) text=Destroy X target Mountains. Volcanic Eruption deals damage to each creature and each player equal to the number of Mountains destroyed this way. mana={X}{U}{U}{U} type=Sorcery @@ -130251,7 +130239,7 @@ type=Sorcery [card] name=Volcanic Fallout abilities=nofizzle -auto=damage:2 all(creature,player) +auto=damage:2 all(creature) && damage:2 all(player) text=Volcanic Fallout can't be countered. -- Volcanic Fallout deals 2 damage to each creature and each player. mana={1}{R}{R} type=Instant @@ -130662,7 +130650,7 @@ name=Voyage's End target=creature auto=moveto(ownerhand) aicode=activate target(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot -auto=name(Scry 1) _SCRY_(1) +auto=name(Scry 1) _SCRY1_ text=Return target creature to its owner's hand. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{U} type=Instant @@ -130835,7 +130823,7 @@ toughness=3 [card] name=Wail of the Nim other={2}{B}{B} name(Entwine) -auto=if paid(alternative) then regenerate all(creature|mybattlefield) && damage:1 all(creature,player) +auto=if paid(alternative) then regenerate all(creature|mybattlefield) && damage:1 all(creature) && damage:1 all(player) auto=ifnot paid(alternative) then transforms((,newability[choice regenerate all(creature|mybattlefield)],newability[choice damage:1 all(creature;player)])) text=Choose one - Regenerate each creature you control; or Wail of the Nim deals 1 damage to each creature and each player. -- Entwine {B} (Choose both if you pay the entwine cost.) mana={2}{B} @@ -132414,7 +132402,7 @@ toughness=2 [card] name=Watchful Automaton aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={2}{U}:name(Scry 1) _SCRY_(1) +auto={2}{U}:name(Scry 1) _SCRY1_ text={2}{U}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3} type=Artifact Creature @@ -132492,7 +132480,7 @@ toughness=1 [/card] [card] name=Waterspout Djinn -auto=upcost[{h(island[-tapped]|mybattlefield)}] sacrifice +auto=upcost[{H(island|mybattlefield)}] sacrifice abilities=flying text=Flying -- At the beginning of your upkeep, sacrifice Waterspout Djinn unless you return an untapped Island you control to its owner's hand. mana={2}{U}{U} @@ -133290,8 +133278,7 @@ type=Instant [card] name=Wheel of Fate auto=reject all(*|hand) -auto=draw:7 opponent -auto=draw:7 controller +auto=all(player) draw:7 text=Wheel of Fate is red. -- Suspend 4 - {1}{R} (Rather than cast this card from your hand, pay {1}{R} and exile it with four time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.) -- Each player discards his or her hand, then draws seven cards. type=Sorcery color=red @@ -133302,8 +133289,7 @@ suspend(4)={1}{r} [card] name=Wheel of Fortune auto=reject all(*|hand) -auto=draw:7 opponent -auto=draw:7 controller +auto=all(player) draw:7 text=Each player discards his or her hand and draws seven cards. mana={2}{R} type=Sorcery @@ -133331,8 +133317,8 @@ type=Enchantment [/card] [card] name=Whetstone -auto={3}:deplete:2 controller && deplete:2 opponent -text={3}: Each player puts the top two cards of his or her library into his or her graveyard. +auto={3}:all(player) deplete:2 +text={3}: Each player mills two cards. mana={3} type=Artifact [/card] @@ -134472,7 +134458,7 @@ toughness=2 name=Windrider Patrol abilities=flying aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@combatdamaged(player) from(this):name(Scry 2) _SCRY_(2) +auto=@combatdamaged(player) from(this):name(Scry 2) _SCRY2_ text=Flying -- Whenever Windrider Patrol deals combat damage to a player, scry 2. (Look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={3}{U}{U} type=Creature @@ -134746,7 +134732,7 @@ type=Sorcery [/card] [card] name=Winter Sky -auto=flipacoin winability damage:1 all(creature,player) winabilityend loseability draw:1 controller && draw:1 opponent loseabilityend flipend +auto=flipacoin winability damage:1 all(creature) && damage:1 all(player) winabilityend loseability all(player) draw:1 loseabilityend flipend text=Flip a coin. If you win the flip, Winter Sky deals 1 damage to each creature and each player. If you lose the flip, each player draws a card. mana={R} type=Sorcery @@ -134989,7 +134975,7 @@ type=Artifact name=Witches' Eye auto={1}:equip aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=teach(creature) {1}{t}:name(Scry 1) _SCRY_(1) +auto=teach(creature) {1}{t}:name(Scry 1) _SCRY1_ text=Equipped creature has "{1}, {T}: Scry 1." (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) -- Equip {1} mana={1} type=Artifact @@ -135082,7 +135068,7 @@ subtype=Aura [/card] [card] name=Withering Wisps -auto={B}:damage:1 all(creature,player) limit:type:swamp[snow]:mybattlefield +auto={B}:damage:1 all(creature) && damage:1 all(player) limit:type:swamp[snow]:mybattlefield auto=@each endofturn restriction{type(creature|battlefield)~lessthan~1}:sacrifice text=At the beginning of the end step, if no creatures are on the battlefield, sacrifice Withering Wisps. -- {B}: Withering Wisps deals 1 damage to each creature and each player. Activate this ability no more times each turn than the number of snow Swamps you control. mana={1}{B}{B} @@ -135913,7 +135899,7 @@ type=Artifact name=Worry Beads auto=@each my upkeep:deplete:1 controller auto=@each opponent upkeep:deplete:1 opponent -text=At the beginning of each player's upkeep, that player puts the top card of his or her library into his or her graveyard. +text=At the beginning of each player's upkeep, that player mills a card. mana={3} type=Artifact [/card] @@ -136908,7 +136894,7 @@ toughness=6 [/card] [card] name=Zanikev Locust -autograveyard=_SCAVENGE_({2}{B}{B}{E}) +autograveyard={2}{B}{B}{E}:_SCAVENGE_(storedpower) abilities=flying text=Flying -- Scavenge {2}{B}{B} ({2}{B}{B}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.) mana={5}{B} diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 35696357c..134e510f9 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -238,7 +238,7 @@ name=Arlinn, Embraced by the Moon backside=Arlinn Kord auto={C(0/0,1,Loyalty)}:name(+1: Creatures gets +1/+1 & trample) all(creature|mybattlefield) 1/1 ueot && all(creature|mybattlefield) trample ueot auto={C(0/0,-1,Loyalty)}:name(-1: Deals 3 damage and transform) ability$!name(Choose one) choice name(Damage player) damage:3 target(player) _ choice name(Damage creature) damage:3 target(creature) _ choice name(Damage planeswalker) damage:3 target(planeswalker)!$ controller && all(this) flip(Arlinn Kord) -auto={C(0/0,-6,Loyalty)}:name(-6: Emblem: Creatures get ability powerstrike) emblem transforms((,newability[lord(creature|mybattlefield) {T}:target(creature,player) dynamicability],newability[lord(creature|mybattlefield) haste])) forever dontremove +auto={C(0/0,-6,Loyalty)}:name(-6: Emblem: Creatures get ability powerstrike) emblem transforms((,newability[lord(creature|mybattlefield) transforms((,newability[{T}:target(creature) dynamicability]))],newability[lord(creature|mybattlefield) haste])) forever dontremove text=+1: Creatures you control get +1/+1 and gain trample until end of turn. -- -1: Arlinn, Embraced by the Moon deals 3 damage to target creature or player. Transform Arlinn, Embraced by the Moon. -- -6: You get an emblem with "Creatures you control have haste and '{T}: This creature deals damage equal to its power to target creature or player.'" type=Legendary Planeswalker subtype=Arlinn @@ -288,7 +288,7 @@ name=Ashiok, Dream Render auto=counter(0/0,5,loyalty) auto=lord(*|opponentlibrary) shroud auto={C(0/0,-1,Loyalty)}:name(-1: Target opponent mils four and exile his or her graveyard) target(player) deplete:4 && moveTo(exile) all(*|opponentgraveyard) -text=Spells and abilities your opponents control can't cause their controller to search their library. -- -1: Target player puts the top four cards of their library into their graveyard. Then exile each opponent's graveyard. +text=Spells and abilities your opponents control can't cause their controller to search their library. -- -1: Target player mills four cards. Then exile each opponent's graveyard. mana={1}{UB}{UB} type=Legendary Planeswalker subtype=Ashiok @@ -338,10 +338,10 @@ subtype=Ashiok [card] name=Ashiok, Sculptor of Fears auto=counter(0/0,5,loyalty) -auto={C(0/0,2,Loyalty)}:name(+2: Draw a card and put two cards...) draw:1 controller && deplete:2 opponent deplete:2 controller +auto={C(0/0,2,Loyalty)}:name(+2: Draw a card and put two cards...) draw:1 controller && all(player) deplete:2 auto={C(0/0,-5,Loyalty)}:name(-5: Return target creature from graveyars) moveTo(myBattlefield) target(creature|Graveyard) auto={C(0/0,-11,Loyalty)}:name(-11: Gain control of all creatures..) moveTo(myBattlefield) all(creature|opponentBattlefield) -text=+2: Draw a card. Each player puts the top two cards of their library into their graveyard. -- -5: Put target creature card from a graveyard onto the battlefield under your control. -- -11: Gain control of all creatures target opponent controls. +text=+2: Draw a card. Each player mills two cards. -- -5: Put target creature card from a graveyard onto the battlefield under your control. -- -11: Gain control of all creatures target opponent controls. mana={4}{U}{B} type=Legendary Planeswalker subtype=Ashiok @@ -351,7 +351,7 @@ name=B.O.B. (Bevy of Beebles) auto=counter(0/0,4,Loyalty) auto=token(Beeble,Creature Beeble,1/1,blue)*4 auto=@counteradded(0/0,1,Loyalty) from(this):token(Beeble,Creature Beeble,1/1,blue) -auto=@counterremoved(0/0,1,Loyalty) from(this):sacrifice target(beeble|myBattlefield) +auto=@counterremoved(0/0,1,Loyalty) from(this):sacrifice notAtarget(beeble|myBattlefield) auto={C(0/0,1,Loyalty)}:name(+1: X Beebles can't be blocked) target(creature[Beeble]|myBattlefield) transforms((,newability[unblockable])) ueot auto={C(0/0,-1,Loyalty)}:name(-1: Draw a card) draw:1 controller text=As B.O.B. enters the battlefield, create four 1/1 blue Beeble creature tokens. -- The number of loyalty counters on B.O.B. is equal to the number of Beebles you control. (Create or sacrifice Beebles whenever B.O.B. gains or loses loyalty.) -- +1: Up to X target Beebles can't be blocked this turn, where X is the number of cards in your hand. -- -1: Draw a card. @@ -625,7 +625,7 @@ subtype=Chandra [card] name=Chandra, Torch of Defiance auto=counter(0/0,4,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Exile Top Card) all(*[zpos=1|mylibrary) moveto(myexile) and!( transforms((,newability[choice name(Deals 2 damage) name(Deals 2 damage) damage:2 opponent],newability[if cantargetcard(*[-land]|*) then choice name(Cast card from exile) name(Cast card from exile) counter(0/0.1.ChandraEffect) notrg])) ueot )! +auto={C(0/0,1,Loyalty)}:name(+1: Exile Top Card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[choice name(Deals 2 damage) name(Deals 2 damage) damage:2 opponent],newability[if cantargetcard(*[-land]|*) then choice name(Cast card from exile) name(Cast card from exile) counter(0/0.1.ChandraEffect) notrg])) ueot )! auto=lord(*[counter{0/0.1.ChandraEffect}]|myexile) canplayfromexile auto=@each endofturn:if type(*[counter{0/0.1.ChandraEffect}]|myexile)~morethan~0 then name(Effect ends) name(Effect ends) all(*[counter{0/0.1.ChandraEffect}]|myexile) removeallcounters(0/0.1.ChandraEffect) auto=@each endofturn:if type(*[counter{0/0.1.ChandraEffect}]|myexile)~morethan~0 then name(Deals 2 damage) name(Deals 2 damage) damage:2 opponent @@ -665,7 +665,7 @@ name=Daretti, Ingenious Iconoclast auto=counter(0/0,3,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 colorless Construct) token(Construct,Artifact Creature Construct,1/1,defender) auto={C(0/0,-1,Loyalty)}{S(artifact|mybattlefield)}:name(-1: Sacrifice artifact to destroy) target(creature,artifact|battlefield) destroy -auto={C(0/0,-6,Loyalty)}:name(-6: Create three copies of an artifact...) target(artifact|graveyard,battlefield) clone && clone && clone +auto={C(0/0,-6,Loyalty)}:name(-6: Create three copies of an artifact) name(Create three tokens) target(artifact|graveyard,battlefield) transforms((,newability[clone controller] ,newability[clone controller],newability[clone controller])) text=+1: Create a 1/1 colorless Construct artifact creature token with defender. -- -1: You may sacrifice an artifact. If you do, destroy target artifact or creature. -- -6: Choose target artifact card in a graveyard or artifact on the battlefield. Create three tokens that are copies of it. mana={1}{B}{R} type=Legendary Planeswalker @@ -724,9 +724,9 @@ name=Domri, Chaos Bringer auto=counter(0/0,5,loyalty) aicode=activate moveto(myHand) target(creature[zpos=2]|myLibrary) auto={C(0/0,1,Loyalty)}:name(+1: Add red if its a creature, Riot) add{R} && if type(creature|myStack)~morethan~0 then ability$!name(Choose one) choice name(Put a +1/1 counter) counter(1/1) target(creature[fresh]|myBattlefield) _ choice name(Gain Haste) haste target(creature[fresh]|myBattlefield)!$ controller -auto={C(0/0,1,Loyalty)}:name(+1: Add green if its a creature, Riot) add{G} && if type(creature|myStack)~morethan~0 then ability$!name(Choose one) choice name(Put a +1/1 counter) counter(1/1) target(creature[fresh]|myBattlefield) _ choice name(Gain Haste) haste target(creature[fresh]|myBattlefield)!$ controller !$ controller +auto={C(0/0,1,Loyalty)}:name(+1: Add green if its a creature, Riot) add{G} && if type(creature|myStack)~morethan~0 then ability$!name(Choose one) choice name(Put a +1/1 counter) counter(1/1) target(creature[fresh]|myBattlefield) _ choice name(Gain Haste) haste target(creature[fresh]|myBattlefield)!$ controller auto={C(0/0,-3,Loyalty)}:name(-3: Reveal four and put up to two creature) name(Look your Library) reveal:4 optionone name(Get a card) target(*[creature]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend -auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "Each end of turn create a 4/4 Beast) emblem transforms((,newability[@each endofturn: token(Beast,Creature Beast,4/4,red,green,trample)])) forever dontrevome +auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "Each end of turn create a 4/4 Beast) emblem transforms((,newability[@each endofturn: create(Beast:Creature Beast:4/4:red:green:trample)])) forever dontrevome text=+1: Add {R} or {G}. If that mana is spent on a creature spell, it gains riot. (It enters the battlefield with your choice of a +1/+1 counter or haste.) -- −3: Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order. -- −8: You get an emblem with "At the beginning of each end step, create a 4/4 red and green Beast creature token with trample." mana={2}{R}{G} type=Legendary Planeswalker @@ -813,6 +813,18 @@ type=Legendary Planeswalker subtype=Ellywick [/card] [card] +name=Elminster +abilities=canbecommander +auto=counter(0/0,5,loyalty) +auto=@scryed(*|mybattlefield,mystack):name(Next spell cost less) target(*[instant;sorcery]|myhand) transforms((,newability[changecost(colorless:-scryedcards) forcedalive])) ueot +auto={C(0/0,+2,Loyalty)}:name(Draw and scry) draw:1 && _SCRY2_ +auto={C(0/0,−3,Loyalty)}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[name(Create faeries) token(Faerie^Creature Faerie Dragon^1/1^blue)*manacost])) oneshot )! +text=Whenever you scry, the next instant or sorcery spell you cast this turn costs {X} less to cast, where X is the number of cards looked at while scrying this way. -- [+2]: Draw a card, then scry 2. -- [−3]: Exile the top card of your library. Create a number of 1/1 blue Faerie Dragon creature tokens with flying equal to that card's mana value. -- Elminster can be your commander. +mana={3}{W}{U} +type=Legendary Planeswalker +subtype=Elminster +[/card] +[card] name=Elspeth, Knight-Errant auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 soldier) _SOLDIERTOKEN_ @@ -1235,7 +1247,7 @@ name=Inzerva, Master of Insights aicode=activate target(*[zpos<=2]|opponentLibrary) moveto(opponentreveal) and!( bottomoflibrary )! auto=counter(0/0,4,loyalty) auto={C(0/0,+2,Loyalty)}:name(+2: Draw 2 cards and discard) draw:2 && transforms((,newability[reject notatarget(*|myhand)])) oneshot -auto={C(0/0,-2,Loyalty)}:name(-2: Look at opponent library and scry 2) reveal:2 revealzone(opponentlibrary) optionone name(Put on top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(Put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed name(Scry 2) _SCRY_(2) afterrevealedend revealend +auto={C(0/0,-2,Loyalty)}:name(-2: Look at opponent library and scry 2) reveal:2 revealzone(opponentlibrary) optionone name(Put on top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(Put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed name(Scry 2) _SCRY2_ afterrevealedend revealend auto={C(0/0,-4,Loyalty)}:name(-4: Emblem: Draw to deal damage) emblem transforms((,newability[lord(*|opponentBattlefield) showcontrollerhand],newability[lord(*|myBattlefield) showopponenthand],newability[@drawfoeof(player):name(Damage opponent) damage:1 opponent] )) forever dontremove text=+2: Draw two cards, then discard a card. -- −2: Look at the top two cards of each other player's library, then put any number of them on the bottom of that library and the rest on top in any order. Scry 2. -- −4: You get an emblem with "Your opponents play with their hands revealed" and "Whenever an opponent draws a card, this emblem deals 1 damage to them." mana={1}{2U}{2R} @@ -1269,7 +1281,7 @@ subtype=Jace [card] name=Jace Beleren auto=counter(0/0,3,loyalty) -auto={C(0/0,2,Loyalty)}:name(+2: Each player draw) draw:1 controller && draw:1 opponent +auto={C(0/0,2,Loyalty)}:name(+2: Each player draw) all(player) draw:1 auto={C(0/0,-1,Loyalty)}:name(-1: Target player draw a card) draw:1 target(player) auto={C(0/0,-10,Loyalty)}:name(-10: Target player mils twenty) deplete:20 target(player) text=+2: Each player draws a card. -- -1: Target player draws a card. -- -10: Target player puts the top twenty cards of his or her library into his or her graveyard. @@ -1307,7 +1319,7 @@ auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Target player mils and draw) deplete:1 target(player) && draw:1 controller auto={C(0/0,0,Loyalty)}:name(+0: Target player mils ten) deplete:10 target(player) auto={C(0/0,-7,Loyalty)}:name(-7: Target players draw twenty cards) target(player) draw:20 -text=+1: Draw a card. Target player puts the top card of his or her library into his or her graveyard. -- 0: Target player puts the top ten cards of his or her library into his or her graveyard. -- -7: Any number of target players each draw twenty cards. +text=+1: Draw a card. Target player mills a card. -- 0: Target player puts the top ten cards of his or her library into his or her graveyard. -- -7: Any number of target players each draw twenty cards. mana={3}{U}{U} type=Legendary Planeswalker subtype=Jace @@ -1319,7 +1331,7 @@ auto=counter(0/0,1,loyalty) auto=if paid(kicker) then clone options(nolegend) auto=if casted(this) then counter(0/0,3,loyalty) aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={C(0/0,1,Loyalty)}:name(+1: Scry 2) _SCRY_(2) +auto={C(0/0,1,Loyalty)}:name(+1: Scry 2) _SCRY2_ auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 restriction{type(*[manacost=0;zpos=1]|mylibrary)~morethan~0} auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-1,loyalty) restriction{type(*[manacost=1;zpos=1]|mylibrary)~morethan~0} auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-2,loyalty) restriction{type(*[manacost=2;zpos=1]|mylibrary)~morethan~0} @@ -1330,7 +1342,7 @@ auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && c auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-7,loyalty) restriction{type(*[manacost=7;zpos=1]|mylibrary)~morethan~0} auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-8,loyalty) restriction{type(*[manacost=8;zpos=1]|mylibrary)~morethan~0} auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-9,loyalty) restriction{type(*[manacost=9;zpos=1]|mylibrary)~morethan~0} -auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-10,loyalty) restriction{type(*[manacost=10;zpos=1]|mylibrary)~morethan~0 +auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-10,loyalty) restriction{type(*[manacost=10;zpos=1]|mylibrary)~morethan~0} auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-11,loyalty) restriction{type(*[manacost=11;zpos=1]|mylibrary)~morethan~0} auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-12,loyalty) restriction{type(*[manacost=12;zpos=1]|mylibrary)~morethan~0} auto={C(0/0,0,Loyalty)}:name(+0: Draw 1 and remove Loyalty counters) draw:1 && counter(0/0,-13,loyalty) restriction{type(*[manacost=13;zpos=1]|mylibrary)~morethan~0} @@ -1402,7 +1414,7 @@ auto=counter(0/0,4,loyalty) auto=@drawof(player) restriction{type(*|mylibrary)~equalto~0}:wingame auto={C(0/0,1,Loyalty)}:name(+1: Target player milss two and draws a card) target(player) deplete:2 && draw:1 auto={C(0/0,-8,Loyalty)}:name(-8: Draw seven cards if no cards are in library win the game) if type(*|mylibrary)~lessthan~8 then wingame else draw:7 -text=If you would draw a card while your library has no cards in it, you win the game instead. -- +1: Target player puts the top two cards of their library into their graveyard. Draw a card. -- -8: Draw seven cards. Then if your library has no cards in it, you win the game. +text=If you would draw a card while your library has no cards in it, you win the game instead. -- +1: Target player mills two cards. Draw a card. -- -8: Draw seven cards. Then if your library has no cards in it, you win the game. mana={1}{U}{U}{U} type=Legendary Planeswalker subtype=Jace @@ -1532,7 +1544,7 @@ subtype=Karn name=Kasmina, Enigma Sage auto=counter(0/0,2,Loyalty) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={C(0/0.2.Loyalty)}:limit:1 name(+2: Scry 1) _SCRY_(1) +auto={C(0/0.2.Loyalty)}:limit:1 name(+2: Scry 1) _SCRY1_ auto={C(0/0.-1.Loyalty)}:limit:1 name(-1: Create fractal with 1 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1) )! auto={C(0/0.-2.Loyalty)}:limit:1 name(-2: Create fractal with 2 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.2) )! auto={C(0/0.-3.Loyalty)}:limit:1 name(-3: Create fractal with 3 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.3) )! @@ -1554,7 +1566,7 @@ auto={C(0/0.-18.Loyalty)}:limit:1 name(-18: Create fractal with 18 counter) toke auto={C(0/0.-19.Loyalty)}:limit:1 name(-19: Create fractal with 19 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.19) )! auto={C(0/0.-20.Loyalty)}:limit:1 name(-20: Create fractal with 20 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.20) )! auto={C(0/0.-8.Loyalty)}:limit:1 name(-8: Search instant or sorcery) target(*[instant;sorcery;share!color!]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[zerocast],newability[@each untap:canplayfromexile],newability[@each untap:zerocast])) forever )! -auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.2.Loyalty)}:limit:1 name(+2: Scry 1) _SCRY_(1)])) +auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.2.Loyalty)}:limit:1 name(+2: Scry 1) _SCRY1_])) auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-1.Loyalty)}:limit:1 name(-1: Create fractal with 1 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1) )!])) auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-2.Loyalty)}:limit:1 name(-2: Create fractal with 2 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.2) )!])) auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-3.Loyalty)}:limit:1 name(-3: Create fractal with 3 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.3) )!])) @@ -1616,7 +1628,7 @@ subtype=Kaya [card] name=Kaya, Ghost Assassin auto=counter(0/0,5,loyalty) -auto={C(0/0,0,Loyalty)}:name(+0: Exile Kaya or creature) ability$!name(Choose creature or this) choice name(Kaya, Ghost Assassin) all(this) (blink)ueot && life:-2 controller _choice name(Creature) target(creature) (blink)ueot && life:-2 controller!$ controller +auto={C(0/0,0,Loyalty)}:name(+0: Exile Kaya or creature) ability$!name(Choose creature or this) choice name(Kaya, Ghost Assassin) all(this) (blink)ueot && life:-2 controller _choice name(Creature) target(creature) (blink)ueot controller!$ controller && life:-2 auto={C(0/0,-1,Loyalty)}:name(-1: Each opponent loses life and you gain) life:-2 opponent && life:2 controller auto={C(0/0,-2,Loyalty)}:name(-2: Each opponent discard and draw) ability$!name(discard a card) notatarget(*|myHand) reject!$ opponent && draw:1 controller text=0: Exile Kaya, Ghost Assassin or up to one target creature. Return that card to the battlefield under its owner's control at the beginning of your next upkeep. You lose 2 life. -- -1: Each opponent loses 2 life and you gain 2 life. -- -2: Each opponent discards a card and you draw a card. @@ -1742,7 +1754,7 @@ auto=counter(0/0,6,loyalty) auto=@movedTo(creature|Graveyard) from(mybattlefield):name(Draw a card) draw:1 controller auto={C(0/0,1,Loyalty)}:name(+1: Create a 2/2 Zombie) _ZOMBIETOKEN_ auto={C(0/0,-4,Loyalty)}:name(-4: Each player sacrifices two creatures) transforms((,newability[name(Sacrifice 2 creatures) target(<2>creature|mybattlefield) sacrifice],newability[ability$!name(Sacrifice 2 creatures) name(Sacrifice 2 creatures) target(<2>creature|mybattlefield) sacrifice!$ opponent])) forever -auto={C(0/0,-9,Loyalty)}:name(-9: Opponent sacrifices permanents) transforms((,newability[if type(land|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all lands except one) name(Sacrifice all lands except one) sacrifice target(land|mybattlefield)!$ opponent],newability[if type(creature|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all creatures except one) name(Sacrifice all creatures except one) sacrifice notatarget(creature|mybattlefield)!$ opponent],newability[if type(enchantment|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all enchantments except one) name(Sacrifice all enchantments except one) sacrifice notatarget(enchantment|mybattlefield)!$ opponent],newability[if type(artifact|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all artifacts except one) name(Sacrifice all artifacts except one) sacrifice notatarget(artifact|mybattlefield)!$ opponent],newability[if type(planeswalker|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all planeswalkers except one) name(Sacrifice all planeswalkers except one) sacrifice notatarget(planeswalker|mybattlefield)!$ opponent])) forever +auto={C(0/0,-9,Loyalty)}:name(-9: Opponent sacrifices permanents) transforms((,newability[if type(land|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all lands except one) name(Sacrifice all lands except one) sacrifice notAtarget(land|mybattlefield)!$ opponent],newability[if type(creature|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all creatures except one) name(Sacrifice all creatures except one) sacrifice notatarget(creature|mybattlefield)!$ opponent],newability[if type(enchantment|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all enchantments except one) name(Sacrifice all enchantments except one) sacrifice notatarget(enchantment|mybattlefield)!$ opponent],newability[if type(artifact|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all artifacts except one) name(Sacrifice all artifacts except one) sacrifice notatarget(artifact|mybattlefield)!$ opponent],newability[if type(planeswalker|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all planeswalkers except one) name(Sacrifice all planeswalkers except one) sacrifice notatarget(planeswalker|mybattlefield)!$ opponent])) forever text=Whenever a creature you control dies, draw a card. -- +1: Create a 2/2 black Zombie creature token. -- -4: Each player sacrifices two creatures. -- -9: Each opponent chooses a permanent they control of each permanent type and sacrifices the rest. mana={4}{B}{B} type=Legendary Planeswalker @@ -1844,7 +1856,7 @@ auto=counter(0/0,5,loyalty) aicode=activate moveto(mylibrary) and!(moveto(mylibrary))! target(*|mylibrary) auto={C(0/0,1,Loyalty)}:name(+1: Target player discards a card) target(player) ability$!name(discard) target(*|myhand) reject!$ targetedplayer auto={C(0/0,-2,Loyalty)}:name(-2: Search a card from library and put on top) reveal:plibrarycount optionone name(choose card) target(*|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!(moveto(mylibrary))! afterrevealedend revealend -auto={C(0/0,-8,Loyalty)}:name(-8: Reanimate all your creatures) moveTo(mybattlefield) all(creature|graveyard) +auto={C(0/0,-8,Loyalty)}:name(-8: Reanimate all creatures) moveTo(mybattlefield) all(creature|graveyard) text=+1: Target player discards a card. -- -2: Search your library for a card, then shuffle your library and put that card on top of it. -- -8: Put all creature cards in all graveyards onto the battlefield under your control. mana={3}{B}{B} type=Legendary Planeswalker @@ -1853,7 +1865,7 @@ subtype=Liliana [card] name=Liliana, Waker of the Dead auto=counter(0/0,4,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Each player discard card or loses 3 life) transforms((,newability[if type(*|opponenthand)~lessthan~1 then life:-3 opponent else ability$!name(Discard a card) target(*|myhand) reject!$ opponent],newability[if type(*|myhand)~lessthan~1 then life:-3 controller else ability$!name(Discard a card) target(*|myhand) reject!$ controller])) oneshot +auto={C(0/0,1,Loyalty)}:name(+1: Each player discard card or loses 3 life) transforms((,newability[if type(*|opponenthand)~lessthan~1 then life:-3 opponent else ability$!name(Discard a card) target(*|myhand) reject!$ opponent],newability[name(Discard a card) target(*|myhand) reject])) oneshot auto={C(0/0,-3,Loyalty)}:name(-3: Target creature gets -X/-X) target(creature) -type:*:myGraveyard/-type:*:myGraveyard ueot auto={C(0/0,-7,Loyalty)}:name(-7: Emblem: "Return target creature from a graveyard") emblem transforms((,newability[@movedTo(creature|mybattlefield) from(graveyard) restriction{combatbeginsonly}:all(trigger) haste],newability[@each my combatbegins:target(creature|graveyard) moveTo(myBattlefield)])) forever dontremove text=+1: Each player discards a card. Each opponent who can't loses 3 life. -- -3: Target creature gets -X/-X until end of turn, where X is the number of cards in your graveyard. -- -7: You get an emblem with "At the beginning of combat on your turn, put target creature card from a graveyard onto the battlefield under your control. It gains haste." @@ -1912,6 +1924,21 @@ type=Legendary Planeswalker subtype=Lukka [/card] [card] +name=Minsc & Boo, Timeless Heroes +abilities=canbecommander +auto=counter(0/0,3,loyalty) +auto=may name(Create Boo) token(Boo,Legendary Creature Hamster,1/1,red,trample,haste) +auto=@each my upkeep:may name(Create Boo) token(Boo,Legendary Creature Hamster,1/1,red,trample,haste) +auto={C(0/0,+1,Loyalty)}:name(Don't put counters) donothing +auto={C(0/0,+1,Loyalty)}:name(Put 1/1 counters) target(creature[trample;haste]) counter(1/1,3) +auto={C(0/0,−2,Loyalty)}{S(creature[-hamster]|mybattlefield)}:name(Sacrifice a non hamster creature) target(player,creature,planeswalker) damage:storedpower +auto={C(0/0,−2,Loyalty)}{S(creature[hamster]|mybattlefield)}:name(Sacrifice a hamster) target(player,creature,planeswalker) damage:storedpower && draw:storedpower controller +text=When Minsc & Boo, Timeless Heroes enters the battlefield and at the beginning of your upkeep, you may create Boo, a legendary 1/1 red Hamster creature token with trample and haste. -- [+1]: Put three +1/+1 counters on up to one target creature with trample or haste. -- [−2]: Sacrifice a creature. When you do, Minsc & Boo, Timeless Heroes deals X damage to any target, where X is that creature's power. If the sacrificed creature was a Hamster, draw X cards. -- Minsc & Boo, Timeless Heroes can be your commander. +mana={2}{R}{G} +type=Legendary Planeswalker +subtype=Minsc +[/card] +[card] name=Mordenkainen auto=counter(0/0,5,Loyalty) auto={C(0/0,2,Loyalty)}:name(+2: Draw 2 cards) draw:2 && transforms((,newability[name(Put on bottom) target(*|myhand) bottomoflibrary])) forever @@ -2087,7 +2114,7 @@ subtype=Bolas [card] name=Nicol Bolas, the Deceiver auto=counter(0/0,5,loyalty) -auto={C(0/0,3,Loyalty)}:name(+3: Loses 3 life unless discard or sacrifices permanent) ability$!choice life:-3 controller choice sacrifice notatarget(*[-land]|mybattlefield) choice target(*|myhand) reject$! opponent +auto={C(0/0,3,Loyalty)}:name(+3: Loses 3 life unless discard or sacrifices permanent) ability$!choice life:-3 controller choice sacrifice notatarget(*[-land]|mybattlefield) choice target(*|myhand) reject!$ opponent auto={C(0/0,-3,Loyalty)}:name(-3: Destroy target creature and draw a card) destroy target(creature) and!(draw:1 controller)! auto={C(0/0,-11,Loyalty)}:name(-11: Deals 7 damage and draw 7) damage:7 opponent and!(draw:7 controller)! text=+3: Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. -- -3: Destroy target creature. Draw a card. -- -11: Nicol Bolas, the Deceiver deals 7 damage to each opponent. You draw seven cards. @@ -2173,7 +2200,7 @@ subtype=Nissa name=Nissa, Steward of Elements auto=counter(0/0,X,loyalty) aicode=activate transforms((,newability[if type(creature[manacost<=hascntloyalty;zpos=1]|mylibrary)~morethan~0 then all(*[zpos<=1]|mylibrary) name(Put on battlefield) moveto(mybattlefield)],newability[if type(land[zpos=1]|mylibrary)~morethan~0 then all(*[zpos<=1]|mylibrary) name(Put on battlefield) moveto(mybattlefield)])) oneshot -auto={C(0/0,2,Loyalty)}:name(+2: Scry 2) _SCRY_(2) +auto={C(0/0,2,Loyalty)}:name(+2: Scry 2) _SCRY2_ auto={C(0/0,0,Loyalty)}: restriction{type(land[zpos=1]|mylibrary)~morethan~0} name(+0: Look top card) reveal:1 optionone name(Put on battlefield) target(land|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend revealend auto={C(0/0,0,Loyalty)}: restriction{type(creature[zpos=1]|mylibrary)~morethan~0} name(+0: Look top card) reveal:1 optionone name(Put on battlefield) target(creature[manacost<=hascntloyalty]|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend revealend auto={C(0/0,0,Loyalty)}: restriction{type(*[-creature;-land;zpos=1]|mylibrary)~morethan~0} name(+0: Look top card)) reveal:1 optionone name(Put back) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(Put back) all(*|reveal) moveto(mylibrary) optiontwoend revealend @@ -2247,7 +2274,7 @@ abilities=canbecommander auto=counter(0/0,3,loyalty) auto={C(0/0,2,Loyalty)}:name(+2: Each opponent loses 1 life...) life:-1 opponent && life:1 controller auto={C(0/0,-2,Loyalty)}:name(-2: Create a 5/5 black Demon with flying...) token(Demon,Creature Demon,5/5,black,flying) && life:-2 controller -auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "{1}{B}, sacrifice a creature: Draw X and gain X life") emblem transforms((,newability[{1}{B}{S(creature|myBattlefield}:draw:storedpower && life:storedpower])) forever dontremove +auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "{1}{B}, sacrifice a creature: Draw X and gain X life") emblem transforms((,newability[{1}{B}{S(creature|myBattlefield)}:draw:storedpower && life:storedpower])) forever dontremove text=+2: Each opponent loses 1 life. You gain life equal to the life lost this way. -- -2: Create a 5/5 black Demon creature token with flying. You lose 2 life. -- -8: You get an emblem with "{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature's power." -- Ob Nixilis of the Black Oath can be your commander. mana={3}{B}{B} type=Legendary Planeswalker @@ -2349,7 +2376,7 @@ name=Ral, Storm Conduit auto=counter(0/0,4,loyalty) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=@movedTo(*[instant;sorcery]|myStack):ability$!name(Choose one) choice name(Damage opponent) damage:1 target(opponent) _ choice name(Damage Planeswalker) damage:1 target(planeswalker)!$ controller -auto={C(0/0,2,Loyalty)}:name(+2: Scry: 1) _SCRY_(1) +auto={C(0/0,2,Loyalty)}:name(+2: Scry: 1) _SCRY1_ auto={C(0/0,-2,Loyalty)}:name(-2: Whenever cast instant or sorcery copy spell) emblem transforms((,newability[@movedto(*[instant;sorcery]|myStack) turnlimited:all(trigger[to]) activate castcard(copied noevent)])) ueot text=Whenever you cast or copy an instant or sorcery spell, Ral, Storm Conduit deals 1 damage to target opponent or planeswalker. -- +2: Scry 1. -- −2: When you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy. mana={3}{U}{R} @@ -2370,7 +2397,7 @@ subtype=Ral [card] name=Rowan, Fearless Sparkmage auto=counter(0/0,5,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: +3/+3 and First Strike) target(creature) 3/0 ueot && first strike ueot +auto={C(0/0,1,Loyalty)}:name(+1: +3/0 and First Strike) target(creature) 3/0 ueot && first strike ueot auto={C(0/0,-2,Loyalty)}:name(-2: Deals 1 damage and can't block) target(creature) damage:1 && cantblock ueot auto={C(0/0,-9,Loyalty)}:name(-9: Gain control of creatures) all(creature|battlefield) moveTo(mybattlefield) && all(creature|battlefield) transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],haste)) ueot oneshot text=+1: Up to one target creature gets +3/+0 and gains first strike until end of turn. -- -2: Rowan, Fearless Sparkmage deals 1 damage to each of up to two target creatures. Those creatures can't block this turn. -- -9: Gain control of all creatures until end of turn. Untap them. They gain haste until end of turn. @@ -2398,7 +2425,7 @@ subtype=Rowan name=Saheeli Rai auto=counter(0/0,3,loyalty) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={C(0/0,1,Loyalty)}:name(+1: Scry and deals 1 damage) _SCRY_(1) && damage:1 opponent +auto={C(0/0,1,Loyalty)}:name(+1: Scry and deals 1 damage) _SCRY1_ && damage:1 opponent auto={C(0/0,-2,Loyalty)}:name(-2: Create a copy of artifact or creature) target(*[creature;artifact]|myBattlefield) clone with(treason,haste) addtype(artifact) auto={C(0/0,-7,Loyalty)}:name(-7: Search three different artifacts) reveal:plibrarycount optionone name(choose cards) target(artifact|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=+1: Scry 1. Saheeli Rai deals 1 damage to each opponent. -- −2: Create a token that's a copy of target artifact or creature you control, except it's an artifact in addition to its other types. That token gains haste. Exile it at the beginning of the next end step. -- −7: Search your library for up to three artifact cards with different names, put them onto the battlefield, then shuffle your library. @@ -2409,7 +2436,7 @@ subtype=Saheeli [card] name=Saheeli, Sublime Artificer auto=counter(0/0,5,loyalty) -auto=@movedTo(*[-creature]|mystack):token(Servo,Artifact Creature Servo,1/1) +auto=@movedTo(*[-creature]|mystack):_SERVOTOKEN_ auto={C(0/0,-2,Loyalty)}:name(-2: Create a copy of target artifact) target(artifact) transforms((,newability[copy target(*[artifact;creature]|mybattlefield)],newability[becomes(artifact)])) ueot text=Whenever you cast a noncreature spell, create a 1/1 colorless Servo artifact creature token. -- -2: Target artifact you control becomes a copy of another target artifact or creature you control until end of turn, except it's an artifact in addition to its other types. mana={1}{UR}{UR} @@ -2420,7 +2447,7 @@ subtype=Saheeli name=Saheeli, the Gifted abilities=canbecommander auto=counter(0/0,4,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 colorless Servo) token(Servo,Artifact Creature Servo,1/1) +auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 colorless Servo) _SERVOTOKEN_ auto={C(0/0,-1,Loyalty)}:name(-1: The next spell has affinity for artifacts) lord(*|mycastingzone):affinityartifacts oneshot auto={C(0/0,-7,Loyalty)}:name(-7: Create a token for each artifact) clone all(artifact|mybattlefield) with (unreath) text=+1: Create a 1/1 colorless Servo artifact creature token. -- +1: The next spell you cast this turn costs {1} less to cast for each artifact you control as you cast it. -- -7: For each artifact you control, create a token that's a copy of it. Those tokens gain haste. Exile those tokens at the beginning of the next end step. -- Saheeli, the Gifted can be your commander. @@ -2445,7 +2472,7 @@ name=Samut, Tyrant Smasher auto=counter(0/0,5,loyalty) auto=lord(other creature|myBattlefield) haste aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto={C(0/0,-1,Loyalty)}:name(-1: Creature gains +2/+1, haste and scry 1) target(creature) transforms((,newability[2/1],newability[haste])) ueot && _SCRY_(1) +auto={C(0/0,-1,Loyalty)}:name(-1: Creature gains +2/+1, haste and scry 1) target(creature) transforms((,newability[2/1],newability[haste])) ueot && _SCRY1_ text=Creatures you control have haste. -- -1: Target creature gets +2/+1 and gains haste until end of turn. Scry 1. mana={2}{RG}{RG} type=Legendary Planeswalker @@ -2465,7 +2492,7 @@ subtype=Sarkhan [card] name=Sarkhan, Fireblood auto=counter(0/0,3,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Discard and draw) ability$!may reject notatarget(*|myhand) and!(draw:1)! !$ controller +auto={C(0/0,1,Loyalty)}:name(+1: Discard and draw) ability$!may _DISCARD&DRAW_ !$ controller auto={C(0/0,1,Loyalty)}:name(+1: Add two mana in any combination of colors) if type(dragon|mycastingzone)~morethan~0 then thisforeach(variable{2}) ability$!name(add mana) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W}!$ controller auto={C(0/0,-7,Loyalty)}:name(-7: Create four 5/5 Dragons) _DRAGONTOKEN_*4 text=+1: You may discard a card. If you do, draw a card. -- +1: Add two mana in any combination of colors. Spend this mana only to cast Dragon spells. -- −7: Create four 5/5 red Dragon creature tokens with flying. @@ -2582,7 +2609,7 @@ subtype=Sorin [card] name=Sorin, Imperious Bloodlord auto=counter(0/0,4,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Deathtouch and Lifelink a Vampire) target(creature[vampire]|myBattlefield) deathtouch ueot && lifelink ueotcounter(1/1) restriction{type(creature[vampire]) +auto={C(0/0,1,Loyalty)}:name(+1: Deathtouch and Lifelink a Vampire) target(creature[vampire]|myBattlefield) deathtouch ueot && lifelink ueotcounter(1/1) restriction{type(creature[vampire])} auto={C(0/0,1,Loyalty)}:name(+1: Deathtouch and Lifelink) target(creature[-vampire]|myBattlefield) deathtouch ueot && lifelink ueot auto={C(0/0,1,Loyalty)}{S(vampire|myBattlefield)}:name(+1: Sacrifice and deals 3 damage) damage:3 target(player,creature,planeswalker) auto={C(0/0,-3,Loyalty)}:name(-3: Put a Vampire from your hand onto the battlefield) moveto(myBattlefield) target(creature[vampire]|myHand) @@ -2716,6 +2743,18 @@ type=Legendary Planeswalker subtype=Tamiyo [/card] [card] +name=Tasha, the Witch Queen +abilities=canbecommander +auto=counter(0/0,4,loyalty) +auto=@movedTo(*|mystack) from(opponentzones):name(Create demon) token(Demon,Creature Demon,3/3,black) +auto={C(0/0,+1,Loyalty)}:name(Draw a card) all(*[zpos=1]|mylibrary) moveto(myhand) and!( transforms((,newability[may name(Exile spell) target(*[instant;sorcery]|opponentgraveyard) moveto(exile) and!( counter(0/0.1.Page) )!])) oneshot )! +auto={C(0/0,−3,Loyalty)}:name(Cast an exiled spell) target(*[-land;counter{0/0.1.Page}]|exile) activate castcard(normal) +text=Whenever you cast a spell you don't own, create a 3/3 black Demon creature token. -- [+1]: Draw a card. For each opponent, exile up to one target instant or sorcery card from that player's graveyard and put a page counter on it. -- [−3]: You may cast a spell from among cards in exile with page counters on them without paying its mana cost. -- Tasha, the Witch Queen can be your commander. +mana={3}{U}{B} +type=Legendary Planeswalker +subtype=Tasha +[/card] +[card] name=Teferi, Hero of Dominaria auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Draw a card and untap two lands) draw:1 controller && phaseaction[endofturn once] untap target(<2>land) @@ -2729,7 +2768,7 @@ subtype=Teferi [card] name=Teferi, Master of Time auto=counter(0/0,3,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Draw a card and discard one) draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot +auto={C(0/0,1,Loyalty)}:name(+1: Draw a card and discard one) _LOOT_ auto={C(0/0,-3,Loyalty)}:name(-3: Target creature you don't control phases out) target(creature|opponentBattlefield) phaseout auto={C(0/0,-10,Loyalty)}:name(-10: Take two extra turns) turns:+2 controller text=You may activate loyalty abilities of Teferi, Master of Time on any player's turn any time you could cast an instant. -- +1: Draw a card, then discard a card. -- −3: Target creature you don't control phases out. (Treat it and anything attached to it as though they don't exist until its controller's next turn.) -- −10: Take two extra turns after this one. @@ -2864,7 +2903,7 @@ name=Tezzeret, Cruel Machinist auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Draw a card) draw:1 controller auto={C(0/0,0,Loyalty)}:name(+0: Target artifact becomes 5/5) target(artifact) transforms((Artifact Creature,setpower=5,settoughness=5)) uynt -auto={C(0/0,-7,Loyalty)}:name(-7: Manifest any number of cards form your hand) manifest notatarget(*|myHand) and!( transforms((Artifact Creature,setpower=5,settoughness=5) forever )! +auto={C(0/0,-7,Loyalty)}:name(-7: Manifest any number of cards form your hand) manifest notatarget(*|myHand) and!( transforms((Artifact Creature,setpower=5,settoughness=5)) forever )! text=+1: Draw a card. -- 0: Until your next turn, target artifact you control becomes a 5/5 creature in addition to its other types. -- −7: Put any number of cards from your hand onto the battlefield face down. They're 5/5 artifact creatures. mana={4}{U}{U} type=Legendary Planeswalker @@ -3288,7 +3327,7 @@ subtype=Wrenn [/card] [card] name=Xenagos, the Reveler -aicode=activate transforms((,newability[all(*[zpos<=7]|mylibrary) moveto(exile) and!( if cantargetcard(*[creature;land]|*) then moveto(ownerbattlefield)])) ueot +aicode=activate transforms((,newability[all(*[zpos<=7]|mylibrary) moveto(exile) and!( if cantargetcard(*[creature;land]|*) then moveto(ownerbattlefield)])!)) ueot auto=counter(0/0,3,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Add X combination of red and green mana for each creature) foreach(creature|mybattlefield) ability$!name(Choose one) choice name(Add Red) add{R} _ choice name(Add Green) add{G}!$ controller auto={C(0/0,0,Loyalty)}:name(+0: Create a 2/2 Satyr) token(Satyr,Creature Satyr,2/2,green,red,haste) diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 877bbd10d..1c81fe634 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -58,6 +58,17 @@ mana={2}{W} type=Instant [/card] [card] +name=Aboleth Spawn +abilities=flash +auto=_WARD_(2) +text=Flash -- Ward {2} -- Probing Telepathy - Whenever a creature entering the battlefield under an opponent's control causes a triggered ability of that creature to trigger, you may copy that ability. You may choose new targets for the copy. +mana={2}{U} +type=Creature +subtype=Fish Horror +power=2 +toughness=3 +[/card] +[card] name=Abstract Iguanart text=Whenever you cast a spell, note the first letter of its artist's name. If that letter wasn't already noted, put a +1/+1 counter on Abstract Iguanart. mana={1}{R} @@ -350,6 +361,16 @@ power=5 toughness=4 [/card] [card] +name=Archivist of Oghma +abilities=flash +text=Flash -- Whenever an opponent searches their library, you gain 1 life and draw a card. +mana={1}{W} +type=Creature +subtype=Halfling Cleric +power=2 +toughness=2 +[/card] +[card] name=Arcum's Whistle text={3}, {T}: Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That player may pay {X}, where X is that creature's converted mana cost. If he or she doesn't, the creature attacks this turn if able, and at the beginning of the next end step, destroy it if it didn't attack. Activate this ability only before attackers are declared. mana={3} @@ -377,13 +398,6 @@ power=6 toughness=6 [/card] [card] -name=Armor of Thorns -text=You may cast Armor of Thorns as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant nonblack creature -- Enchanted creature gets +2/+2. -mana={1}{G} -type=Enchantment -subtype=Aura -[/card] -[card] name=Arms Depot text=Whenever you crank Arms Depot, put two +1/+1 counters on target creature. type=Artifact @@ -2640,6 +2654,16 @@ mana={1}{R}{R} type=Enchantment [/card] [card] +name=Dynaheir, Invoker Adept +abilities=haste +text=Haste -- You may activate abilities of other creatures you control as though those creatures had haste. -- {T}: When you next activate an ability that isn't a mana ability this turn by spending four or more mana to activate it, copy that ability. You may choose new targets for the copy. +mana={1}{U}{R}{W} +type=Legendary Creature +subtype=Human Wizard +power=4 +toughness=4 +[/card] +[card] name=Earl of Squirrel text=Squirrellink (Damage dealt by this creature also causes you to create that many 1/1 green Squirrel creature tokens.) -- Creature tokens you control are Squirrels in addition to their other creature types. -- Other Squirrels you control get +1/+1. mana={4}{G}{G} @@ -3374,6 +3398,12 @@ mana={U}{U}{U}{U} type=Sorcery [/card] [card] +name=Fraying Line +text=When Fraying Line enters the battlefield, put a rope counter on target creature you control. -- At the beginning of each player's upkeep, that player may pay {2}. If they do, they put a rope counter on a creature they control. Otherwise, exile Fraying Line and each creature without a rope counter on it, then remove all rope counters from all creatures. +mana={4} +type=Artifact +[/card] +[card] name=Frazzled Editor text=Protection from wordy (Something is wordy if it has four or more lines of text in its text box.) mana={1}{R} @@ -3960,13 +3990,6 @@ mana={2}{G} type=Instant [/card] [card] -name=Grave Servitude -text=You may cast Grave Servitude as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +3/-1 and is black. -mana={1}{B} -type=Enchantment -subtype=Aura -[/card] -[card] name=Graveyard Busybody text=All graveyards are also your graveyards. -- Graveyard Busybody's power and toughness are each equal to the number of cards with flavor text in your graveyards. mana={4}{U}{U} @@ -3991,6 +4014,25 @@ mana={1}{W} type=Enchantment [/card] [card] +name=Green Slime +abilities=flash +text=Flash -- When Green Slime enters the battlefield, counter target activated or triggered ability from an artifact or enchantment source. If a permanent's ability is countered this way, destroy that permanent. -- Foretell {G} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) +mana={2}{G} +type=Creature +subtype=Ooze +power=2 +toughness=2 +[/card] +[card] +name=Grell Philosopher +text=Aberrant Tinkering - When Grell Philosopher enters the battlefield and at the beginning of your upkeep, each Horror you control gains all activated abilities of target artifact an opponent controls until end of turn. You may spend blue mana as though it were mana of any color to activate those abilities. +mana={2}{U} +type=Creature +subtype=Horror Wizard +power=1 +toughness=4 +[/card] +[card] name=Grim Reminder text=Search your library for a nonland card and reveal it. Each opponent who cast a card this turn with the same name as that card loses 6 life. Then shuffle your library. -- {B}{B}: Return Grim Reminder from your graveyard to your hand. Activate this ability only during your upkeep. mana={2}{B} @@ -4995,6 +5037,15 @@ mana={1} type=Artifact [/card] [card] +name=Jon Irenicus, Shattered One +text=At the beginning of your end step, target opponent gains control of up to one target creature you control. Put two +1/+1 counters on it and tap it. It's goaded for the rest of the game and it gains "This creature can't be sacrificed." (It attacks each combat if able and attacks a player other than you if able.) -- Whenever a creature you own but don't control attacks, you draw a card. +mana={2}{U}{B} +type=Legendary Creature +subtype=Elf Wizard +power=3 +toughness=3 +[/card] +[card] name=Jotun Grunt text=Cumulative upkeep-Put two cards from a single graveyard on the bottom of their owner's library. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) mana={1}{W} @@ -5483,6 +5534,22 @@ mana={4}{R} type=Sorcery [/card] [card] +name=Lae'zel, Vlaakith's Champion +abilities=backgroundpartner +text=If you would put one or more counters on a creature or planeswalker you control or on yourself, put that many plus one of each of those kinds of counters on that permanent or player instead. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{W} +type=Legendary Creature +subtype=Gith Warrior +power=3 +toughness=3 +[/card] +[card] +name=Lae'zel's Acrobatics +text=Exile all nontoken creatures you control, then roll a d20. -- 1-9 | Return those cards to the battlefield under their owner's control at the beginning of the next end step. -- 10-20 | Return those cards to the battlefield under their owner's control, then exile them again. Return those cards to the battlefield under their owner's control at the beginning of the next end step. +mana={3}{W} +type=Instant +[/card] +[card] name=Lash Out text=Lash Out deals 3 damage to target creature. Clash with an opponent. If you win, Lash Out deals 3 damage to that creature's controller. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.) mana={1}{R} @@ -5657,13 +5724,6 @@ mana={2}{W}{W} type=Enchantment [/card] [card] -name=Lightning Reflexes -text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike. -mana={1}{R} -type=Enchantment -subtype=Aura -[/card] -[card] name=Lightning Storm text=Lightning Storm deals X damage to target creature or player, where X is 3 plus the number of charge counters on it. -- Discard a land card: Put two charge counters on Lightning Storm. You may choose a new target for it. Any player may activate this ability but only if Lightning Storm is on the stack. mana={1}{R}{R} @@ -6173,6 +6233,16 @@ mana={5}{R} type=Enchantment [/card] [card] +name=Mighty Servant of Leuk-o +abilities=trample +text=Trample -- Ward-Discard a card. -- Whenever Mighty Servant of Leuk-o becomes crewed for the first time each turn, if it was crewed by exactly two creatures, it gains "Whenever this creature deals combat damage to a player, draw two cards" until end of turn. -- Crew 4 +mana={3} +type=Artifact +subtype=Vehicle +power=6 +toughness=6 +[/card] +[card] name=Minamo's Meddling text=Counter target spell. That spell's controller reveals his or her hand, then discards each card with the same name as a card spliced onto that spell. mana={2}{U}{U} @@ -6623,13 +6693,6 @@ mana={4}{W} type=Enchantment [/card] [card] -name=Mystic Veil -text=You may cast Mystic Veil as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature has shroud. (It can't be the target of spells or abilities.) -mana={1}{U} -type=Enchantment -subtype=Aura -[/card] -[card] name=Mythos of Snapdax text=Each player chooses an artifact, a creature, an enchantment, and a planeswalker from among the nonland permanents they control, then sacrifices the rest. If {B}{R} was spent to cast this spell, you choose the permanents for each player instead. mana={2}{W}{W} @@ -6866,6 +6929,13 @@ power=2 toughness=2 [/card] [card] +name=Noble Heritage +text=Commander creatures you own have "When this creature enters the battlefield and at the beginning of your upkeep, each player may put two +1/+1 counters on a creature they control. For each opponent who does, you gain protection from that player until your next turn." (You can't be targeted, dealt damage, or enchanted by anything controlled by that player.) +mana={1}{W} +type=Legendary Enchantment +subtype=Background +[/card] +[card] name=Nomads en-Kor text={0}: The next 1 damage that would be dealt to Nomads en-Kor this turn is dealt to target creature you control instead. mana={W} @@ -7357,12 +7427,6 @@ mana={U}{B} type=Sorcery [/card] [card] -name=Parapet -text=You may cast Parapet as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Creatures you control get +0/+1. -mana={1}{W} -type=Enchantment -[/card] -[card] name=Pardic Dragon abilities=flying text=Flying -- {R}: Pardic Dragon gets +1/+0 until end of turn. -- Suspend 2-{R}{R} -- Whenever an opponent casts a spell, if Pardic Dragon is suspended, that player may put a time counter on Pardic Dragon. @@ -7903,6 +7967,15 @@ mana={4}{PR} type=Artifact [/card] [card] +name=Raggadragga, Goreguts Boss +text=Each creature you control with a mana ability gets +2/+2. -- Whenever a creature you control with a mana ability attacks, untap it. -- Whenever you cast a spell, if at least seven mana was spent to cast it, untap target creature. It gets +7/+7 and gains trample until end of turn. +mana={2}{R}{G} +type=Legendary Creature +subtype=Human Boar +power=4 +toughness=4 +[/card] +[card] name=Raging River text=Whenever one or more creatures you control attack, each defending player divides all creatures without flying he or she controls into a "left" pile and a "right" pile. Then, for each attacking creature you control, choose "left" or "right." That creature can't be blocked this combat except by creatures with flying and creatures in a pile with the chosen label. mana={R}{R} @@ -8100,13 +8173,6 @@ mana={1}{R} type=Instant [/card] [card] -name=Relic Ward -text=You may cast Relic Ward as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant artifact -- Enchanted artifact has shroud. (It can't be the target of spells or abilities.) -mana={1}{W} -type=Enchantment -subtype=Aura -[/card] -[card] name=Remodel text=If you control two or more green permanents that share an artist, you may play Remodel without paying its mana cost. -- Remove target artifact from the game. mana={2}{G} @@ -9148,13 +9214,6 @@ mana={2}{U} type=Enchantment [/card] [card] -name=Soar -text=You may cast Soar as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +0/+1 and has flying. -mana={1}{U} -type=Enchantment -subtype=Aura -[/card] -[card] name=Socketed Sprocketer text={T}: Uninstall all results from Socketed Sprocketer, then roll a six-sided die. Install the result on Socketed Sprocketer. (Put the die on this card.) -- You may uninstall a result from Socketed Sprocketer to use it for a die you rolled. -- Uninstall a 6 from Socketed Sprocketer: Draw a card. mana={U} @@ -9406,13 +9465,6 @@ power=5 toughness=6 [/card] [card] -name=Spider Climb -text=You may cast Spider Climb as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +0/+3 and has reach. (It can block creatures with flying.) -mana={G} -type=Enchantment -subtype=Aura -[/card] -[card] name=Spire Phantasm text=Reveal Spire Phantasm as you draft it. The next time a player drafts a card from this booster pack, guess that card's name. Then that player reveals the drafted card. -- Flying -- When Spire Phantasm enters the battlefield, if you guessed correctly for a card named Spire Phantasm, draw a card. mana={2}{U}{U} @@ -9668,6 +9720,12 @@ power=4 toughness=4 [/card] [card] +name=Stick Together +text=Each player chooses a party from among creatures they control, then sacrifices the rest. (To choose a party, choose up to one each of Cleric, Rogue, Warrior, and Wizard.) +mana={3}{W}{W} +type=Sorcery +[/card] +[card] name=Stifle text=Counter target activated or triggered ability. (Mana abilities can't be targeted.) mana={U} @@ -10795,15 +10853,6 @@ power=2 toughness=2 [/card] [card] -name=Umori, the Collector -text=Companion - Each nonland card in your starting deck shares a card type. (If this card is your chosen companion, you may cast it once from outside the game.) -- As Umori, the CollectorUmori, the Collector enters the battlefield, choose a card type. -- Spells you cast of the chosen type cost 1 less to cast. -mana={2}{BG}{BG} -type=Legendary Creature -subtype=Ooze -power=4 -toughness=5 -[/card] -[card] name=Unbound Flourishing text=Whenever you cast a permanent spell with a mana cost that contains {X}, double the value of X. -- Whenever you cast an instant or sorcery spell or activate an ability, if that spell's mana cost or that ability's activation cost contains {X}, copy that spell or ability. You may choose new targets for the copy. mana={2}{G} @@ -11089,6 +11138,16 @@ power=6 toughness=5 [/card] [card] +name=Volo, Itinerant Scholar +abilities=backgroundpartner +text=When Volo enters the battlefield, create Volo's Journal, a legendary colorless artifact token with hexproof and "Whenever you cast a creature spell, note one of its creature types that hasn't been noted for this artifact." -- {2}, {T}: Draw a card for each creature type noted for target permanent you control named Volo's Journal. -- Choose a Background +mana={2}{U} +type=Legendary Creature +subtype=Human Wizard +power=2 +toughness=3 +[/card] +[card] name=Volrath's Curse text=Enchant creature -- Enchanted creature can't attack or block, and its activated abilities can't be activated. That creature's controller may sacrifice a permanent for that player to ignore this effect until end of turn. -- {1}{U}: Return Volrath's Curse to its owner's hand. mana={1}{U} @@ -11579,6 +11638,13 @@ mana={2}{U} type=Sorcery [/card] [card] +name=Wyll's Reversal +target=*|stack +text=Choose target spell or ability with one or more targets. Roll a d20 and add the greatest power among creatures you control. -- 1-14 | You may choose new targets for that spell or ability. -- 15+ | You may choose new targets for that spell or ability. Then copy it. You may choose new targets for the copy. +mana={2}{R} +type=Instant +[/card] +[card] name=X text=As long as X is in X's owner's opponent's hand, X's owner may cast X and activate X's abilities. That opponent can't cast X and plays with their hand revealed. -- {U}{B}, {T}: Put X into target opponent's hand. -- {3}{U}{B}: You may play a card in the same hand as X without paying its mana cost. mana={U}{B} diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 56d9bbb2f..4b44c8539 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -607,6 +607,35 @@ public: } }; +class TrplayerInitiative: public Trigger +{ +public: + bool thiscontroller, thisopponent; + TrplayerInitiative(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool thiscontroller = false, bool thisopponent = false) : + Trigger(observer, id, source, once, tc), thiscontroller(thiscontroller), thisopponent(thisopponent) + { + } + + int triggerOnEventImpl(WEvent * event) + { + WEventplayerInitiative * e = dynamic_cast (event); + if (!e) return 0; + if (!tc->canTarget(e->player)) return 0; + if(thiscontroller) + if(e->player != source->controller()) + return 0; + if(thisopponent) + if(e->player == source->controller()) + return 0; + return 1; + } + + TrplayerInitiative * clone() const + { + return NEW TrplayerInitiative(*this); + } +}; + class TrplayerShuffled: public Trigger { public: @@ -4367,6 +4396,18 @@ public: AAAlterMonarch * clone() const; ~AAAlterMonarch(); }; +//Initiative +class AAAlterInitiative: public ActivatedAbilityTP +{ +public: + + AAAlterInitiative(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable * _target, ManaCost * _cost = NULL, + int who = TargetChooser::UNSET); + int resolve(); + const string getMenuText(); + AAAlterInitiative * clone() const; + ~AAAlterInitiative(); +}; //Surveil Offset class AAAlterSurveilOffset: public ActivatedAbilityTP { diff --git a/projects/mtg/include/MTGDefinitions.h b/projects/mtg/include/MTGDefinitions.h index d325e2e48..8076d1c65 100644 --- a/projects/mtg/include/MTGDefinitions.h +++ b/projects/mtg/include/MTGDefinitions.h @@ -17,7 +17,7 @@ typedef enum GAME_TYPE_RANDOM2, GAME_TYPE_RANDOM3, GAME_TYPE_RANDOM5, - GAME_TYPE_RANDOMCOMMANDER, + GAME_TYPE_RANDOMCOMMANDER, GAME_TYPE_HORDE, GAME_TYPE_SET_LIMITED, GAME_TYPE_STORY, @@ -339,7 +339,8 @@ class Constants COUNTERSHROUD = 211, NONIGHT = 212, NODAMAGEREMOVED = 213, - NB_BASIC_ABILITIES = 214, + BACKGROUNDPARTNER = 214, + NB_BASIC_ABILITIES = 215, RARITY_S = 'S', //Special Rarity RARITY_M = 'M', //Mythics diff --git a/projects/mtg/include/Player.h b/projects/mtg/include/Player.h index b9409ab66..0a4f31abc 100644 --- a/projects/mtg/include/Player.h +++ b/projects/mtg/include/Player.h @@ -48,6 +48,7 @@ public: int dungeonCompleted; int numOfCommandCast; int monarch; + int initiative; int surveilOffset; int devotionOffset; int lastShuffleTurn; diff --git a/projects/mtg/include/Rules.h b/projects/mtg/include/Rules.h index e769177a2..68d95eeb9 100644 --- a/projects/mtg/include/Rules.h +++ b/projects/mtg/include/Rules.h @@ -44,7 +44,7 @@ protected: Player * loadPlayerRandom(GameObserver* observer, int isAI, int mode); Player * loadPlayerRandomThree(GameObserver* observer, int isAI); Player * loadPlayerRandomFive(GameObserver* observer, int isAI); - Player * loadPlayerRandomCommander(GameObserver* observer, int isAI); + Player * loadPlayerRandomCommander(GameObserver* observer, int isAI); Player * loadPlayerHorde(GameObserver* observer, int isAI); Player * loadRandomSetLimited(GameObserver* observer, int isAI); Player * initPlayer(GameObserver *observer, int playerId); diff --git a/projects/mtg/include/Subtypes.h b/projects/mtg/include/Subtypes.h index e77d3e54b..ff091e198 100644 --- a/projects/mtg/include/Subtypes.h +++ b/projects/mtg/include/Subtypes.h @@ -33,7 +33,8 @@ public: TYPE_DUNGEON = 18, TYPE_EMBLEM = 19, TYPE_CONSPIRACY = 20, - LAST_TYPE = TYPE_CONSPIRACY, + TYPE_BACKGROUND = 21, + LAST_TYPE = TYPE_BACKGROUND, }; protected: diff --git a/projects/mtg/include/WEvent.h b/projects/mtg/include/WEvent.h index 79d8628ff..236a2fba0 100644 --- a/projects/mtg/include/WEvent.h +++ b/projects/mtg/include/WEvent.h @@ -385,6 +385,14 @@ struct WEventplayerMonarch : public WEvent { virtual Targetable * getTarget(Player * player); }; +//initiative event +struct WEventplayerInitiative : public WEvent { + WEventplayerInitiative(Player * player); + Player * player; + using WEvent::getTarget; + virtual Targetable * getTarget(Player * player); +}; + //shuffle event struct WEventplayerShuffled : public WEvent { WEventplayerShuffled(Player * player); diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index 5ad060a2e..f96d3e52d 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -1370,6 +1370,44 @@ AAAlterMonarch::~AAAlterMonarch() { } +//AA Initiative +AAAlterInitiative::AAAlterInitiative(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable * _target, ManaCost * _cost, + int who) : + ActivatedAbilityTP(observer, _id, _source, _target, _cost, who) +{ +} + +int AAAlterInitiative::resolve() +{ + Damageable * _target = (Damageable *) getTarget(); + if (_target) + { + Player * pTarget = (Player*)_target; + if(pTarget) + { + pTarget->initiative = 1; + pTarget->opponent()->initiative = 0; + WEvent * e = NEW WEventplayerInitiative(pTarget); + game->receiveEvent(e); + } + } + return 0; +} + +const string AAAlterInitiative::getMenuText() +{ + return _("A player takes the Initiative").c_str(); +} + +AAAlterInitiative * AAAlterInitiative::clone() const +{ + return NEW AAAlterInitiative(*this); +} + +AAAlterInitiative::~AAAlterInitiative() +{ +} + //AA Energy Counters AAAlterEnergy::AAAlterEnergy(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable * _target, int energy, ManaCost * _cost, int who) : diff --git a/projects/mtg/src/GameStateShop.cpp b/projects/mtg/src/GameStateShop.cpp index d1981820a..fb643da24 100644 --- a/projects/mtg/src/GameStateShop.cpp +++ b/projects/mtg/src/GameStateShop.cpp @@ -1069,7 +1069,7 @@ bool ShopBooster::unitTest() TestSuite::Log(result); res = false; } - sprintf(result, "==Test Succesful !==
"); + sprintf(result, "==Test Successful !==
"); TestSuite::Log(result); SAFE_DELETE(ddw); SAFE_DELETE(d); diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 2064cae8c..6cf65f8bd 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -344,6 +344,51 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe if(!count) return 0; } + check = restriction[i].find("exilecast"); + if(check != string::npos) + { + int count = 0; + for(unsigned int k = 0; k < player->game->stack->cardsSeenThisTurn.size(); k++) + { + MTGCardInstance * stackCard = player->game->stack->cardsSeenThisTurn[k]; + if(stackCard->next && stackCard->next == card && (card->previousZone == card->controller()->game->exile||card->previousZone == card->controller()->opponent()->game->exile)) + count++; + if(stackCard == card && (card->previousZone == card->controller()->game->exile||card->previousZone == card->controller()->opponent()->game->exile)) + count++; + } + if(!count) + return 0; + } + check = restriction[i].find("sidecast"); + if(check != string::npos) + { + int count = 0; + for(unsigned int k = 0; k < player->game->stack->cardsSeenThisTurn.size(); k++) + { + MTGCardInstance * stackCard = player->game->stack->cardsSeenThisTurn[k]; + if(stackCard->next && stackCard->next == card && (card->previousZone == card->controller()->game->sideboard||card->previousZone == card->controller()->opponent()->game->sideboard)) + count++; + if(stackCard == card && (card->previousZone == card->controller()->game->sideboard||card->previousZone == card->controller()->opponent()->game->sideboard)) + count++; + } + if(!count) + return 0; + } + check = restriction[i].find("commandzonecast"); + if(check != string::npos) + { + int count = 0; + for(unsigned int k = 0; k < player->game->stack->cardsSeenThisTurn.size(); k++) + { + MTGCardInstance * stackCard = player->game->stack->cardsSeenThisTurn[k]; + if(stackCard->next && stackCard->next == card && (card->previousZone == card->controller()->game->commandzone||card->previousZone == card->controller()->opponent()->game->commandzone)) + count++; + if(stackCard == card && (card->previousZone == card->controller()->game->commandzone||card->previousZone == card->controller()->opponent()->game->commandzone)) + count++; + } + if(!count) + return 0; + } check = restriction[i].find("rebound"); if(check != string::npos) { @@ -1275,6 +1320,14 @@ TriggeredAbility * AbilityFactory::parseTrigger(string s, string, int id, Spell if (TargetChooser * tc = parseSimpleTC(s, "becomesmonarchfoeof", card)) return NEW TrplayerMonarch(observer, id, card, tc, once, false, true); + //takes the initiative - controller of card + if (TargetChooser * tc = parseSimpleTC(s, "takeninitiativeof", card)) + return NEW TrplayerInitiative(observer, id, card, tc, once, true, false); + + //takes the initiative - opponent of card controller + if (TargetChooser * tc = parseSimpleTC(s, "takeninitiativeof", card)) + return NEW TrplayerInitiative(observer, id, card, tc, once, false, true); + //shuffled library - controller of card if (TargetChooser * tc = parseSimpleTC(s, "shuffledof", card)) return NEW TrplayerShuffled(observer, id, card, tc, once, true, false); @@ -3912,6 +3965,16 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG return a; } + //takes the initiative + vector splitInitiative = parseBetween(s, "taketheinitiative", " ", false); + if (splitInitiative.size()) + { + Targetable * t = spell ? spell->getNextTarget() : NULL; + MTGAbility * a = NEW AAAlterInitiative(observer, id, card, t, NULL, who); + a->oneShot = 1; + return a; + } + //alter mutation counter on target card with trigger activation vector splitMutated = parseBetween(s, "altermutationcounter:", " ", false); if (splitMutated.size()) diff --git a/projects/mtg/src/MTGDeck.cpp b/projects/mtg/src/MTGDeck.cpp index af1dce120..1af10acd4 100644 --- a/projects/mtg/src/MTGDeck.cpp +++ b/projects/mtg/src/MTGDeck.cpp @@ -995,10 +995,10 @@ MTGDeck::MTGDeck(const string& config_file, MTGAllCards * _allcards, int meta_on MTGCard * newcard = database->getCardById(atoi(s.c_str())); if(!CommandZone.size() && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])) // If no commander has been added you can add one. CommandZone.push_back(s); - else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability. - if(newcard && newcard->data->basicAbilities[Constants::PARTNER]){ + else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability of if one can choose a Background. + if(newcard && (newcard->data->basicAbilities[Constants::PARTNER] || newcard->data->basicAbilities[Constants::BACKGROUNDPARTNER])){ MTGCard * oldcard = database->getCardById(atoi((CommandZone.at(0)).c_str())); - if(oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name))) + if((oldcard && oldcard->data->hasType(Subtypes::TYPE_BACKGROUND) && (oldcard->data->name != newcard->data->name)) || (oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name)))) CommandZone.push_back(s); } } @@ -1012,10 +1012,10 @@ MTGDeck::MTGDeck(const string& config_file, MTGAllCards * _allcards, int meta_on str_id << newcard->getId(); if(!CommandZone.size() && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])) // If no commander has been added you can add one. CommandZone.push_back(str_id.str()); - else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability. - if(newcard->data->basicAbilities[Constants::PARTNER]){ + else if(CommandZone.size() == 1 && newcard->data->hasType("Legendary") && (newcard->data->hasType("Creature") || newcard->data->basicAbilities[Constants::CANBECOMMANDER])){ // If a commander has been added you can add a new one just if both have partner ability of if one can choose a Background. + if(newcard && (newcard->data->basicAbilities[Constants::PARTNER] || newcard->data->basicAbilities[Constants::BACKGROUNDPARTNER])){ MTGCard * oldcard = database->getCardById(atoi((CommandZone.at(0)).c_str())); - if(oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name))) + if((oldcard && oldcard->data->hasType(Subtypes::TYPE_BACKGROUND) && (oldcard->data->name != newcard->data->name)) || (oldcard && oldcard->data->basicAbilities[Constants::PARTNER] && (oldcard->data->name != newcard->data->name) && ((oldcard->data->partner == "" && newcard->data->partner == "") || (oldcard->data->partner == newcard->data->name && newcard->data->partner == oldcard->data->name)))) CommandZone.push_back(str_id.str()); } } diff --git a/projects/mtg/src/MTGDefinitions.cpp b/projects/mtg/src/MTGDefinitions.cpp index b6d834730..1bfc294fd 100644 --- a/projects/mtg/src/MTGDefinitions.cpp +++ b/projects/mtg/src/MTGDefinitions.cpp @@ -244,7 +244,8 @@ const char* Constants::MTGBasicAbilities[] = { "expshroud", //Player can't get experience counters (e.g. "Solemnity"). "countershroud", //Card can't get any kind of counter (e.g. "Solemnity"). "nonight", //It can't become night (e.g. "Angel of Eternal Dawn"). - "nodamageremoved" //Damage is not removed from card (e.g. "Patient Zero"). + "nodamageremoved", //Damage is not removed from card (e.g. "Patient Zero"). + "backgroundpartner" //Can choose a backgorund partner as commander (e.g. "Faceless One"). }; map Constants::MTGBasicAbilitiesMap; diff --git a/projects/mtg/src/Player.cpp b/projects/mtg/src/Player.cpp index 2ae7f23f2..8a748a17c 100644 --- a/projects/mtg/src/Player.cpp +++ b/projects/mtg/src/Player.cpp @@ -40,6 +40,7 @@ Player::Player(GameObserver *observer, string file, string fileSmall, MTGDeck * dungeonCompleted = 0; numOfCommandCast = 0; monarch = 0; + initiative = 0; surveilOffset = 0; devotionOffset = 0; lastShuffleTurn = -1; diff --git a/projects/mtg/src/Rules.cpp b/projects/mtg/src/Rules.cpp index 84796c0c7..9f53e1db6 100644 --- a/projects/mtg/src/Rules.cpp +++ b/projects/mtg/src/Rules.cpp @@ -168,7 +168,7 @@ void Rules::addExtraRules(GameObserver* g) difficultyRating = 0; else if(g->mRules->gamemode == GAME_TYPE_RANDOM1 || g->mRules->gamemode == GAME_TYPE_RANDOM2) difficultyRating = 0; - else if(g->mRules->gamemode == GAME_TYPE_RANDOM3 || g->mRules->gamemode == GAME_TYPE_RANDOM5 || g->mRules->gamemode == GAME_TYPE_RANDOMCOMMANDER) + else if(g->mRules->gamemode == GAME_TYPE_RANDOM3 || g->mRules->gamemode == GAME_TYPE_RANDOM5 || g->mRules->gamemode == GAME_TYPE_RANDOMCOMMANDER) difficultyRating = 0; else if(g->mRules->gamemode == GAME_TYPE_HORDE || g->mRules->gamemode == GAME_TYPE_SET_LIMITED) difficultyRating = 0; @@ -417,54 +417,79 @@ Player * Rules::loadPlayerRandomFive(GameObserver* observer, int isAI) } Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) -{ +{ +#if !defined (PSP) + std::unique_ptr cmdTempDeck(new MTGDeck(MTGCollection())); + std::unique_ptr tempDeck(new MTGDeck(MTGCollection())); +#else MTGDeck * cmdTempDeck = NEW MTGDeck(MTGCollection()); MTGDeck * tempDeck = NEW MTGDeck(MTGCollection()); - tempDeck->meta_commander = true; +#endif + tempDeck->meta_commander = true; - string lands[] = { "", "forest", "island", "mountain", "swamp", "plains", "basic", "basic" }; + string lands[] = { "", "forest", "island", "mountain", "swamp", "plains", "basic", "basic" }; - cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); - DeckDataWrapper * myCommandZone = NEW DeckDataWrapper(cmdTempDeck); - MTGCard * commander = myCommandZone->getCard(0, true); + cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); +#if !defined (PSP) + std::unique_ptr myCommandZone(new DeckDataWrapper(cmdTempDeck.get())); +#else + DeckDataWrapper * myCommandZone = NEW DeckDataWrapper(cmdTempDeck); +#endif + MTGCard * commander = myCommandZone->getCard(0, true); - while(!commander->data->isCreature()) - { - cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); - myCommandZone = NEW DeckDataWrapper(cmdTempDeck); - commander = myCommandZone->getCard(0, true); - } + while(!commander->data->isCreature()) + { + cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); +#if !defined (PSP) + myCommandZone.reset(new DeckDataWrapper(cmdTempDeck.get())); +#else + myCommandZone = NEW DeckDataWrapper(cmdTempDeck); +#endif + commander = myCommandZone->getCard(0, true); + } - stringstream cid; + stringstream cid; cid << commander->getMTGId(); vector newCMD; - newCMD.push_back(cid.str()); - tempDeck->replaceCMD(newCMD); - - std::vector< int > colors; + newCMD.push_back(cid.str()); + tempDeck->replaceCMD(newCMD); - for (int i = 0; i < Constants::NB_Colors; i++) - { - if (commander->data->getManaCost()->hasColor(i)) - colors.push_back(i); - } + std::vector< int > colors; + + for (int i = 0; i < Constants::NB_Colors; i++) + { + if (commander->data->getManaCost()->hasColor(i)) + colors.push_back(i); + } + + if(colors.data()[0] != 0) { colors.insert(colors.begin(),0); } + + // Add basic lands + int numLands = 40; + if(colors.size() > 1) + { + numLands /= colors.size() - 1; + for (unsigned int i = 1; i < colors.size(); i++) + { + tempDeck->addRandomCards(numLands, 0, 0, 'L', lands[colors.data()[i]].c_str()); + } + } + else { tempDeck->addRandomCards(numLands, 0, 0, 'L'); } + + tempDeck->addRandomCards(59, 0, 0, -1, "", colors.data(), colors.size()); - if(colors.data()[0] != 0) { colors.insert(colors.begin(),0); } - - if(colors.size() > 1) - { - for (unsigned int i = 1; i < colors.size(); i++) - { - tempDeck->addRandomCards(40/(colors.size()-1), 0, 0, 'L', lands[colors.data()[i]].c_str()); - } - } - else { tempDeck->addRandomCards(40, 0, 0, -1, "basic"); } - - tempDeck->addRandomCards(59, 0, 0, -1, "", colors.data(), colors.size()); - string deckFile = "random"; string deckFileSmall = "random"; +#if !defined (PSP) + std::unique_ptr player; + if (!isAI) // Human Player + player.reset(new HumanPlayer(observer, deckFile, deckFileSmall, false, tempDeck.release())); + else + player.reset(new AIPlayerBaka(observer, deckFile, deckFileSmall, "", tempDeck.release())); + + return player.release(); +#else Player *player = NULL; if (!isAI) // Human Player player = NEW HumanPlayer(observer, deckFile, deckFileSmall, false, tempDeck); @@ -472,6 +497,7 @@ Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) player = NEW AIPlayerBaka(observer, deckFile, deckFileSmall, "", tempDeck); return player; +#endif } Player * Rules::loadPlayerHorde(GameObserver* observer, int isAI) @@ -565,7 +591,7 @@ Player * Rules::initPlayer(GameObserver *g, int playerId) return loadPlayerRandomThree(g, isAI); case GAME_TYPE_RANDOM5: return loadPlayerRandomFive(g, isAI); - case GAME_TYPE_RANDOMCOMMANDER: + case GAME_TYPE_RANDOMCOMMANDER: return loadPlayerRandomCommander(g, isAI); case GAME_TYPE_HORDE: return loadPlayerHorde(g, isAI); @@ -666,6 +692,7 @@ void Rules::initGame(GameObserver *g, bool currentPlayerSet) p->dungeonCompleted = initState.playerData[i].player->dungeonCompleted; p->numOfCommandCast = initState.playerData[i].player->numOfCommandCast; p->monarch = initState.playerData[i].player->monarch; + p->initiative = initState.playerData[i].player->initiative; p->surveilOffset = initState.playerData[i].player->surveilOffset; p->devotionOffset = initState.playerData[i].player->devotionOffset; p->lastChosenName = initState.playerData[i].player->lastChosenName; @@ -888,7 +915,7 @@ GameType Rules::strToGameMode(string s) if (s.compare("random2") == 0) return GAME_TYPE_RANDOM2; if (s.compare("random3") == 0) return GAME_TYPE_RANDOM3; if (s.compare("random5") == 0) return GAME_TYPE_RANDOM5; - if (s.compare("random_commander") == 0) return GAME_TYPE_RANDOMCOMMANDER; + if (s.compare("random_commander") == 0) return GAME_TYPE_RANDOMCOMMANDER; if (s.compare("horde") == 0) return GAME_TYPE_HORDE; if (s.compare("set_limited") == 0) return GAME_TYPE_SET_LIMITED; if (s.compare("story") == 0) return GAME_TYPE_STORY; diff --git a/projects/mtg/src/TestSuiteAI.cpp b/projects/mtg/src/TestSuiteAI.cpp index 1e1bcc2e9..1b75c94d6 100644 --- a/projects/mtg/src/TestSuiteAI.cpp +++ b/projects/mtg/src/TestSuiteAI.cpp @@ -436,7 +436,7 @@ void TestSuiteGame::assertGame() handleResults(wasAI, error); if(!error) - Log("==Test Succesful !=="); + Log("==Test Successful !=="); else Log("==Test Failed !=="); #ifdef CAPTURE_STDERR diff --git a/projects/mtg/src/WEvent.cpp b/projects/mtg/src/WEvent.cpp index 153d0d6cf..3ee93ffd6 100644 --- a/projects/mtg/src/WEvent.cpp +++ b/projects/mtg/src/WEvent.cpp @@ -307,6 +307,11 @@ WEventplayerMonarch::WEventplayerMonarch(Player * player) : { } +WEventplayerInitiative::WEventplayerInitiative(Player * player) : + player(player) +{ +} + WEventplayerShuffled::WEventplayerShuffled(Player * player) : player(player) { @@ -663,6 +668,12 @@ Targetable * WEventplayerMonarch::getTarget(Player * player) return NULL; } +Targetable * WEventplayerInitiative::getTarget(Player * player) +{ + if (player) return player; + return NULL; +} + Targetable * WEventplayerShuffled::getTarget(Player * player) { if (player) return player; diff --git a/projects/mtg/src/WParsedInt.cpp b/projects/mtg/src/WParsedInt.cpp index 6f7f9e320..299edd8ae 100644 --- a/projects/mtg/src/WParsedInt.cpp +++ b/projects/mtg/src/WParsedInt.cpp @@ -1373,6 +1373,10 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card) { intValue = (s == "pdungeoncompleted")?card->controller()->dungeonCompleted:card->controller()->opponent()->dungeonCompleted; } + else if (s == "pinitiative" || s == "oinitiative") // Which player has the initiative + { + intValue = (s == "pinitiative")?card->controller()->initiative:card->controller()->opponent()->initiative; + } else if (s == "pwrtotatt" || s == "thstotatt")//count Total Power or toughness of attacking creatures (e.g. Battle Cry Goblin) { intValue = 0;