diff --git a/.travis.yml b/.travis.yml index a2d34e4de..2b9cb4a42 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ before_install: - export BUILD_ANDROID=YES - export BUILD_Qt=YES - export BUILD_MAC=NO - - echo -e "machine github.com\n login $GITHUB_TOKEN" > ~/.netrc + - echo -e "machine github.com\n login $GH_TOKEN2" > ~/.netrc - git lfs pull # Only building on Mac when not handling pull request # - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then @@ -54,12 +54,16 @@ install: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64; export PATH=$JAVA_HOME/bin:$PATH; fi -- sudo pip install --upgrade pip -- sudo pip install setuptools-rust -- sudo pip install pyOpenSSL -- sudo pip install pyjavaproperties -- sudo pip install github3.py -- sudo pip install cpp-coveralls + +- curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py +- sudo python2 get-pip.py +- sudo python2 -m pip install --upgrade pip +- sudo python2 -m pip install setuptools-rust +- sudo python2 -m pip install pyOpenSSL +- sudo python2 -m pip install pyjavaproperties +- sudo python2 -m pip install github3.py +- sudo python2 -m pip install cpp-coveralls +- sudo python2 -m pip install certifi before_script: - export REQUESTS_CA_BUNDLE=/usr/local/lib/python2.7/dist-packages/certifi/cacert.pem @@ -67,7 +71,9 @@ script: "tools/travis-script.sh" after_success: - coveralls -b . -e JGE/src -e JGE/include -i projects/mtg/include -i projects/mtg/src --gcov-options '\-lp' -- python tools/upload-binaries.py -t $GITHUB_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH -- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH -- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH -- python tools/upload-binaries.py -t $GITHUB_TOKEN -s $TRAVIS_COMMIT -l qt-gui-build/linuxqtrelease.zip -r Wagic-linux-QT.zip -b $TRAVIS_BRANCH +- export VERSION=$(grep "=" projects/mtg/build.number.properties | sed 's/.*=//' | tr -d '\n\t\r ') +- python2 tools/upload-binaries.py -t $GH_TOKEN2 -s $TRAVIS_COMMIT -l core.zip -r Wagic-core-$VERSION.zip -b $TRAVIS_BRANCH +- python2 tools/upload-binaries.py -t $GH_TOKEN2 -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-$VERSION.apk -b $TRAVIS_BRANCH +- python2 tools/upload-binaries.py -t $GH_TOKEN2 -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r WagicPSP-$VERSION.zip -b $TRAVIS_BRANCH +- python2 tools/upload-binaries.py -t $GH_TOKEN2 -s $TRAVIS_COMMIT -l qt-gui-build/linuxqtrelease.zip -r WagicLinux-$VERSION.zip -b $TRAVIS_BRANCH +- python2 tools/upload-binaries.py -t $GH_TOKEN2 -s $TRAVIS_COMMIT -l projects/mtg/CardImageLinks.csv -r CardImageLinks.csv -b $TRAVIS_BRANCH diff --git a/projects/mtg/Android/src/net/wagic/utils/ImgDownloader.java b/projects/mtg/Android/src/net/wagic/utils/ImgDownloader.java index 78229b535..bb61f3cdd 100644 --- a/projects/mtg/Android/src/net/wagic/utils/ImgDownloader.java +++ b/projects/mtg/Android/src/net/wagic/utils/ImgDownloader.java @@ -2774,7 +2774,7 @@ public class ImgDownloader { if(id.equals("296754t") || id.equals("296741t") || id.equals("296730t") || id.equals("296728t") || id.equals("296723t") || id.equals("296696t") || id.equals("296697t") || id.equals("296606t")) //Squirrel 1/1 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/9/7/977ddd05-1aae-46fc-95ce-866710d1c5c6.jpg?1626092815"; - else if(id.equals("546983t") || id.equals("547250t")) // Blood + else if(id.equals("546983t") || id.equals("547250t") || id.equals("612139t") || id.equals("614765t")) // Blood tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/a/6/a6f374bc-cd29-469f-808a-6a6c004ee8aa.jpg?1636041263"; else if(id.equals("545775t")) // Angel 4/4 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/f/f/ff0335da-631f-46b8-bfa1-b2f210c91f5f.jpg?1598311447"; @@ -2799,13 +2799,13 @@ public class ImgDownloader { tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/b/7/b7667345-e11b-4cad-ac4c-84eb1c5656c5.jpg?1632410326"; else if(id.equals("534963t")) // Ooze green X/X tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/f/a/faa10292-f358-48c1-a516-9a1eecf62b1d.jpg?1632410909"; - else if (id.equals("534938t")) // Elemental red X/X + else if(id.equals("534938t")) // Elemental red X/X tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/c/4/c4052aed-981b-41d0-85f0-20c2599811ba.jpg?1632410707"; - else if (id.equals("534999t")) // Treefolk green X/X + else if(id.equals("534999t")) // Treefolk green X/X tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/9/4/94e4345b-61b1-4026-a01c-c9f2036c5c8a.jpg?1632410986"; - else if (id.equals("296713t")) //Bear 2/2 + else if(id.equals("296713t")) //Bear 2/2 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/c/8/c879d4a6-cef5-48f1-8c08-f5b59ec850de.jpg?1562857282"; - else if (id.equals("296771t") || id.equals("296738t") || id.equals("540468t")) //Spider 1/2 + else if(id.equals("296771t") || id.equals("296738t") || id.equals("540468t")) //Spider 1/2 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/0/1/01591603-d903-419d-9957-cf0ae7f79240.jpg?1563073166"; else if(id.equals("296753t") || id.equals("296707t") || id.equals("296708t")) //Beast 4/4 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/0/6/06b5e4d2-7eac-4ee9-82aa-80a668705679.jpg?1625974919"; @@ -2989,7 +2989,7 @@ public class ImgDownloader { else if (id.equals("376404t")) //Elemental */* tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/d/b/db67bc06-b6c9-49a0-beef-4d35842497cb.jpg?1561929912"; else if (id.equals("409810t") || id.equals("409805t") || id.equals("409953t") || id.equals("409997t") || - id.equals("410032t") || id.equals("293377t") || id.equals("294345t") || id.equals("295471t")) //Clue + id.equals("410032t") || id.equals("293377t") || id.equals("294345t") || id.equals("295471t") || id.equals("612562t")) //Clue tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/f/2/f2c859e1-181e-44d1-afbd-bbd6e52cf42a.jpg?1562086885"; else if (id.equals("3242t")) //Wall 0/2 tokenurl = "https://www.mtg.onl/static/18f8f17bbe1f81822efa4bed878b6437/4d406/PROXY_Wall_0_2.jpg"; @@ -3031,7 +3031,7 @@ public class ImgDownloader { tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/9/9/99a6ebce-f391-4642-857a-4dc1466895f3.jpg?1562926018"; else if(id.equals("53264t")) //Lizard 8/8 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/7/0/70345006-5cde-44f8-ab66-9d8163d4c4f6.jpg?1561897499"; - else if(id.equals("53289t")) //Saproling 1/1 + else if(id.equals("53289t") || id.equals("611982t") || id.equals("611958t")) //Saproling 1/1 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/0/3/0302fa7d-2e34-4f4a-a84e-7a78febc77f5.jpg?1562895593"; else if(id.equals("53300t")) //Construct 1/1 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/7/c/7c82af53-2de8-4cd6-84bf-fb39d2693de2.jpg?1561897501"; @@ -3042,8 +3042,11 @@ public class ImgDownloader { tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/c/0/c06d2c07-7d3e-46e3-86f0-7ceba3b0aee0.jpg?1592672602"; else if(id.equals("52398t")) //Illusion 2/2 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/a/1/a10729a5-061a-4daf-91d6-0f6ce813a992.jpg?1562539791"; - else if (id.equals("435411t") || id.equals("435410t")) //Treasure + else if (id.equals("435411t") || id.equals("435410t") || id.equals("611089t") || id.equals("612146t") || id.equals("614935t") || + id.equals("614772t") || id.equals("569995t") || id.equals("563217t")) //Treasure tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/7/2/720f3e68-84c0-462e-a0d1-90236ccc494a.jpg?1562539782"; + else if (id.equals("611086t") || id.equals("610929t") || id.equals("607138t")|| id.equals("607125t")) //Incubator + tokenurl = "https://cards.scryfall.io/large/front/2/c/2c5ed737-657b-43bf-b222-941da7579a4a.jpg"; else if (id.equals("1686t") || id.equals("2881t") || id.equals("201231t")) //Stangg Twin 3/4 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/e/b/eba90d37-d7ac-4097-a04d-1f27e4c9e5de.jpg?1562702416"; else if (id.equals("439843t")) //Golem 4/4 @@ -3069,7 +3072,7 @@ public class ImgDownloader { else if(id.equals("17841t") || id.equals("17850t") || id.equals("17852t") || id.equals("19444t") || id.equals("294101t") || id.equals("294226t")) //Elf Warrior 1/1 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/1/1/118d0655-5719-4512-8bc1-fe759669811b.jpg?1615686731"; - else if(id.equals("383392t")) //Beast 3/3 + else if(id.equals("383392t") || id.equals("539394t")) //Beast 3/3 tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/3/f/3fc3a29a-280d-4f2c-9a01-8cfead75f583.jpg?1561756988"; else if (id.equals("5610t") || id.equals("416754t")) //Minion */* tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/a/9/a9930d11-4772-4fc2-abbd-9af0a9b23a3e.jpg?1561757789"; @@ -3398,6 +3401,10 @@ public class ImgDownloader { tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/9/4/94e4345b-61b1-4026-a01c-c9f2036c5c8a.jpg?1637115661"; else if(id.equals("296943t")) tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/e/5/e5c0f400-41be-488b-be84-b07289b1ef62.jpg?1637115451"; + else if(id.equals("612523t")) // Feather + tokenurl = "https://cards.scryfall.io/large/front/e/4/e401e2a8-d0a3-4517-ba20-449a1fff7f85.jpg"; + else if(id.equals("611980t") || id.equals("611956t")) // Dragon Spirit 5/5 + tokenurl = "https://cards.scryfall.io/large/front/a/4/a4c06e08-2026-471d-a6d0-bbb0f040420a.jpg"; return tokenurl; } @@ -3422,7 +3429,10 @@ public class ImgDownloader { id.equals("503860") || id.equals("522280") || id.equals("522111") || id.equals("527288") || id.equals("531927") || id.equals("527295") || id.equals("111220") || id.equals("416829") || id.equals("296545") || id.equals("296694") || id.equals("540473") || id.equals("540464") || id.equals("540708") || id.equals("539395") || id.equals("539417") || id.equals("540991") || id.equals("545724") || id.equals("297319") || - id.equals("296925")) + id.equals("296925") || id.equals("611094") || id.equals("611234") || id.equals("615336") || id.equals("615147") || id.equals("614778") || + id.equals("614771") || id.equals("614756") || id.equals("614666") || id.equals("612620") || id.equals("612152") || id.equals("612130") || + id.equals("612145") || id.equals("571160") || id.equals("571159") || id.equals("571105") || id.equals("570289") || id.equals("570288") || + id.equals("570250") || id.equals("567228") || id.equals("563151") || id.equals("563150") || id.equals("563105") || id.equals("562899")) return false; return true; } @@ -3683,7 +3693,7 @@ public class ImgDownloader { set.equals("UNH") || set.equals("XLN") || set.equals("SOI") || set.equals("SOK") || set.equals("BOK") || set.equals("CHK") || set.equals("ZNR") || set.equals("KHM") || set.equals("STX") || set.equals("MID") || set.equals("CC2") || set.equals("VOW") || - set.equals("DBL") || set.equals("Y22")) + set.equals("DBL") || set.equals("Y22") || set.equals("MOM")) rarity = ""; if(id != null && !rarity.equals("t") && (negativeId || id.equals("209162") || id.equals("209163") || id.equals("401721") || id.equals("401722") || id.equals("999902"))) @@ -3691,7 +3701,8 @@ public class ImgDownloader { if(id != null && (id.equals("1750411") || id.equals("5176911") || id.equals("44680711") || id.equals("29530711") || id.equals("45108910") || id.equals("530447") || id.equals("530448") || id.equals("530449") || id.equals("296817") || id.equals("296818") || id.equals("29339510") || id.equals("1749810") || id.equals("5197410") || id.equals("5249510") || - id.equals("5247310") || id.equals("5213710") || id.equals("5253010") || id.equals("5270410"))) + id.equals("5247310") || id.equals("5213710") || id.equals("5253010") || id.equals("5270410") || id.equals("57018400") || + id.equals("57018401"))) rarity = ""; int c = lines.indexOf("[/card]", lastIndex); if (c > 0) @@ -3944,7 +3955,8 @@ public class ImgDownloader { || scryset.equals("ATH") || scryset.equals("HA4") || scryset.equals("TSR") || scryset.equals("HA5") || scryset.equals("H1R") || scryset.equals("HTR18") || scryset.equals("HTR19") || scryset.equals("DKM") || scryset.equals("S00") || scryset.equals("XLN") || scryset.equals("SOI") || scryset.equals("UST") || scryset.equals("PLG21") || scryset.equals("J21") || scryset.equals("CC2") - || scryset.equals("Q06") || scryset.equals("DBL") || scryset.equals("Y22")){ + || scryset.equals("Q06") || scryset.equals("DBL") || scryset.equals("Y22") | scryset.equals("CLB") || scryset.equals("MOM") + || scryset.equals("MOC")){ try { doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get(); Elements outlinks = doc.select("body a"); @@ -4111,7 +4123,8 @@ public class ImgDownloader { && !scryset.equals("ATH") && !scryset.equals("HA4") && !scryset.equals("TSR") && !scryset.equals("HA5") && !scryset.equals("H1R") && !scryset.equals("HTR18") && !scryset.equals("HTR19") && !scryset.equals("DKM") && !scryset.equals("S00") && !scryset.equals("XLN") && !scryset.equals("SOI") && !scryset.equals("UST") && !scryset.equals("PLG21") && !scryset.equals("J21") && !scryset.equals("CC2") - && !scryset.equals("Q06") && !scryset.equals("DBL") && !scryset.equals("Y22")){ + && !scryset.equals("Q06") && !scryset.equals("DBL") && !scryset.equals("Y22") && !scryset.equals("CLB") && !scryset.equals("MOM") + && !scryset.equals("MOC")){ try { doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get(); Elements outlinks = doc.select("body a"); @@ -4229,7 +4242,8 @@ public class ImgDownloader { && !scryset.equals("ATH") && !scryset.equals("HA4") && !scryset.equals("TSR") && !scryset.equals("HA5") && !scryset.equals("H1R") && !scryset.equals("HTR18") && !scryset.equals("HTR19") && !scryset.equals("DKM") && !scryset.equals("S00") && !scryset.equals("XLN") && !scryset.equals("SOI") && !scryset.equals("UST") && !scryset.equals("PLG21") && !scryset.equals("J21") && !scryset.equals("CC2") - && !scryset.equals("Q06") && !scryset.equals("DBL") && !scryset.equals("Y22")){ + && !scryset.equals("Q06") && !scryset.equals("DBL") && !scryset.equals("Y22") && !scryset.equals("CLB") && !scryset.equals("MOM") + && !scryset.equals("MOC")){ try { doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get(); } catch (Exception e) { @@ -4399,7 +4413,7 @@ public class ImgDownloader { || scryset.equals("HA4") || scryset.equals("TSR") || scryset.equals("HA5") || scryset.equals("H1R") || scryset.equals("HTR18") || scryset.equals("HTR19") || scryset.equals("DKM") || scryset.equals("S00") || scryset.equals("XLN") || scryset.equals("SOI") || scryset.equals("UST") || scryset.equals("PLG21") || scryset.equals("J21") || scryset.equals("CC2") || scryset.equals("Q06") - || scryset.equals("DBL") || scryset.equals("Y22")){ + || scryset.equals("DBL") || scryset.equals("Y22") || scryset.equals("CLB") || scryset.equals("MOM") || scryset.equals("MOC")){ Elements metadata = doc.select("head meta"); if(metadata != null) { for (int j = 0; j < metadata.size(); j++){ diff --git a/projects/mtg/CardImageLinks.csv b/projects/mtg/CardImageLinks.csv index 658557cd0..f2d827598 100644 --- a/projects/mtg/CardImageLinks.csv +++ b/projects/mtg/CardImageLinks.csv @@ -54833,6 +54833,49 @@ CLB;57018400t;https://cards.scryfall.io/large/back/2/c/2c65185b-6cf0-451d-985e-5 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;569995t;https://c1.scryfall.com/file/scryfall-cards/large/front/7/2/720f3e68-84c0-462e-a0d1-90236ccc494a.jpg +CLB;563217t;https://c1.scryfall.com/file/scryfall-cards/large/front/7/2/720f3e68-84c0-462e-a0d1-90236ccc494a.jpg +CLB;562930t;https://cards.scryfall.io/large/front/b/5/b5000cf8-2104-4d85-95df-29efa92256f6.jpg?1675455772 +CLB;562931t;https://cards.scryfall.io/large/front/b/5/b5000cf8-2104-4d85-95df-29efa92256f6.jpg?1675455772 +CLB;562952t;https://cards.scryfall.io/large/front/6/f/6f1eb498-8496-4234-8e87-78dc3f647534.jpg?1675455783 +CLB;562953t;https://cards.scryfall.io/large/front/6/f/6f1eb498-8496-4234-8e87-78dc3f647534.jpg?1675455783 +CLB;567591t;https://cards.scryfall.io/large/front/5/c/5ce4f2b0-d63e-4f65-8261-ae61a8c9f591.jpg?1675455733 +CLB;562921t;https://cards.scryfall.io/large/front/b/5/b5000cf8-2104-4d85-95df-29efa92256f6.jpg?1675455772 +CLB;567549t;https://cards.scryfall.io/large/front/4/2/42248cea-29e8-4ebe-ad64-e87e216b55d6.jpg?1675456036 +CLB;567554t;https://cards.scryfall.io/large/front/6/0/60abe28a-342e-49d0-80f6-6b3ce041372b.jpg?1675455912 +CLB;567575t;https://cards.scryfall.io/large/front/d/c/dcd41697-6fe6-423c-a04a-035a3d4f8fd2.jpg?1675456051 +CLB;567578t;https://cards.scryfall.io/large/front/8/8/883ac854-ee35-418a-9d4e-c30ba2a5ade8.jpg?1675455997 +CLB;567634t;https://cards.scryfall.io/large/front/1/d/1dab34a7-0d18-4a6c-ac40-3b9901ff841b.jpg?1675456075 +CLB;567637t;https://cards.scryfall.io/large/front/0/1/01e095bd-091c-442f-aa21-0826c40acb6c.jpg?1675456043 +CLB;567642t;https://cards.scryfall.io/large/front/3/c/3ca5cf3c-18f8-430a-a20f-2226d9cac387.jpg?1675456060 +CLB;567647t;https://cards.scryfall.io/large/front/0/1/01e095bd-091c-442f-aa21-0826c40acb6c.jpg?1675456043 +CLB;567650t;https://cards.scryfall.io/large/front/5/4/54afe5d9-a6b6-46a2-89e9-470ad9e44a06.jpg?1675456091 +CLB;563052t;https://cards.scryfall.io/large/front/f/a/faadf72f-b2d5-4271-8d5c-a586acf63453.jpg?1674136498 +CLB;563053t;https://cards.scryfall.io/large/front/e/3/e32b97de-9cbb-40a2-ba3b-54e861023df0.jpg?1675455822 +CLB;566977t;https://cards.scryfall.io/large/front/8/1/81605b8d-cf1d-49dc-aebb-a857d6796a77.jpg?1675456083 +CLB;567612t;https://cards.scryfall.io/large/front/1/d/1db51576-a755-45de-b37b-f16b27e8f3a1.jpg?1675456012 +CLB;563213t;https://cards.scryfall.io/large/front/0/f/0f5715cf-fbf6-4b13-af91-525edc7706ea.jpg?1675455862 +CLB;566971t;https://cards.scryfall.io/large/front/c/8/c87386f2-5e90-4efd-a5d7-4716220d6ab7.jpg?1675456004 +CLB;566900t;https://cards.scryfall.io/large/front/6/f/6f1eb498-8496-4234-8e87-78dc3f647534.jpg?1675455783 +CLB;570249t;https://cards.scryfall.io/large/front/6/f/6f1eb498-8496-4234-8e87-78dc3f647534.jpg?1675455783 +CLB;562886t;https://cards.scryfall.io/large/front/6/f/6f1eb498-8496-4234-8e87-78dc3f647534.jpg?1675455783 +CLB;567242t;https://cards.scryfall.io/large/front/c/8/c87386f2-5e90-4efd-a5d7-4716220d6ab7.jpg?1675456004 +CLB;567246t;https://cards.scryfall.io/large/front/8/1/81605b8d-cf1d-49dc-aebb-a857d6796a77.jpg?1675456083 +CLB;567682t;https://cards.scryfall.io/large/front/c/d/cd65e932-8ed6-424b-958f-d8edad2aa2f4.jpg?1675455927 +CLB;567507t;https://cards.scryfall.io/large/front/c/6/c6bde9bf-fffc-4b86-9698-d5620b21d6b8.jpg?1675455920 +CLB;563154t;https://cards.scryfall.io/large/front/5/0/50633bba-9402-4d8c-a277-c370f25bd01f.jpg?1675455742 +CLB;563157t;https://cards.scryfall.io/large/front/6/f/6f1eb498-8496-4234-8e87-78dc3f647534.jpg?1675455783 +CLB;567513t;https://cards.scryfall.io/large/front/c/d/cd65e932-8ed6-424b-958f-d8edad2aa2f4.jpg?1675455927 +CLB;567526t;https://cards.scryfall.io/large/front/2/1/2138b304-4dc0-48bb-a043-6246abafef53.jpg?1675455958 +CLB;567533t;https://cards.scryfall.io/large/front/a/f/afb796a0-4eb0-4fc5-bf84-92a71bec4466.jpg?1675455830 +CLB;567531t;https://cards.scryfall.io/large/front/7/4/743688fa-ca30-4a4b-92ec-6708af8692db.jpg?1675455973 +CLB;563102t;https://cards.scryfall.io/large/front/a/f/afb796a0-4eb0-4fc5-bf84-92a71bec4466.jpg?1675455830 +CLB;563104t;https://cards.scryfall.io/large/front/3/8/380330b4-2d01-4042-97ac-41d9c60c982d.jpg?1675455855 +CLB;567716t;https://cards.scryfall.io/large/front/3/c/3c9bfd0a-9a31-4191-a615-a747cbca2015.jpg?1675456020 +CLB;563142t;https://cards.scryfall.io/large/front/f/7/f7cbc9fc-42d2-4d1a-b6c0-29a35cfd1588.jpg?1675455847 +CLB;566845t;https://cards.scryfall.io/large/front/6/f/6f1eb498-8496-4234-8e87-78dc3f647534.jpg?1675455783 +CLB;562895t;https://cards.scryfall.io/large/front/6/6/6655f22c-963f-42d6-b45c-8ea5fb256785.jpg?1675455839 +CLB;570292t;https://cards.scryfall.io/large/front/5/0/50633bba-9402-4d8c-a277-c370f25bd01f.jpg?1675455742 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 @@ -55802,48 +55845,27 @@ DMC;580491;https://cards.scryfall.io/large/front/0/1/013e33d4-7d08-4773-a570-469 DMC;580492;https://cards.scryfall.io/large/front/2/c/2cae4149-d8ef-4772-9db4-cb576bef61b5.jpg DMC;580493;https://cards.scryfall.io/large/front/0/9/0969d7f3-cec5-4118-adb1-ff957eedf6ab.jpg DMC;580494;https://cards.scryfall.io/large/front/c/0/c0a6edbf-eabe-44d3-b098-562f3758c005.jpg -DMC;null;https://cards.scryfall.io/large/front/d/a/dab74812-89c9-42e2-8b9d-bf5b35a7cf7e.jpg -DMC;null;https://cards.scryfall.io/large/front/a/1/a17c5b28-e7d1-4ca6-bf6b-0a4c8b757232.jpg -DMC;null;https://cards.scryfall.io/large/front/b/f/bf2931bd-bedc-45e8-b3f0-e2a220dbac1b.jpg -DMC;null;https://cards.scryfall.io/large/front/2/5/25869cd0-63da-4dfb-8870-221cdba276e2.jpg -DMC;null;https://cards.scryfall.io/large/front/c/1/c1f5bcc4-3ec7-42ae-8e4b-80a9b9135ff0.jpg -DMC;null;https://cards.scryfall.io/large/front/9/1/914a4923-18a6-4aa5-8510-b02e9dc7bb41.jpg -DMC;null;https://cards.scryfall.io/large/front/d/9/d96a5a00-22a7-4a7b-a7e2-5c055a8384ba.jpg -DMC;null;https://cards.scryfall.io/large/front/8/2/82003d72-5138-4341-a53a-62b794f2bce1.jpg -DMC;null;https://cards.scryfall.io/large/front/8/5/8511fc1e-cff2-4d6c-b9c3-0a7f70ac3528.jpg -DMC;null;https://cards.scryfall.io/large/front/9/1/91f65272-fee1-4076-b5b2-2e04001cf1ea.jpg -DMC;null;https://cards.scryfall.io/large/front/9/e/9e5f168c-4f56-4d06-bef1-db10fdfbe657.jpg -DMC;null;https://cards.scryfall.io/large/front/7/f/7f0f171a-2929-4d95-9829-d0e885622e04.jpg -DMC;null;https://cards.scryfall.io/large/front/8/4/84e87400-cc3f-4476-b177-2c36a65f277b.jpg -DMC;null;https://cards.scryfall.io/large/front/7/7/7722a9a1-2ff9-4a39-b56e-c7eef2ff9dcd.jpg -DMC;null;https://cards.scryfall.io/large/front/b/7/b7505068-484e-4844-b3dd-89c28f18275d.jpg -DMC;null;https://cards.scryfall.io/large/front/5/1/51c523cd-78b0-438f-bba5-19160f648d5f.jpg -DMC;null;https://cards.scryfall.io/large/front/a/f/afcb1feb-e957-42e7-b05a-48f26bda7b76.jpg -DMC;null;https://cards.scryfall.io/large/front/a/d/adea296b-b320-4588-9d6e-cbb5db7c39e3.jpg -DMC;null;https://cards.scryfall.io/large/front/0/7/0783b426-a527-42c1-9271-be28b229e1c6.jpg -DMC;null;https://cards.scryfall.io/large/front/4/8/48e60dff-8ac0-4e70-a7a8-a177e9e6847b.jpg +DMC;597905;https://cards.scryfall.io/large/front/d/a/dab74812-89c9-42e2-8b9d-bf5b35a7cf7e.jpg +DMC;597906;https://cards.scryfall.io/large/front/a/1/a17c5b28-e7d1-4ca6-bf6b-0a4c8b757232.jpg +DMC;597907;https://cards.scryfall.io/large/front/b/f/bf2931bd-bedc-45e8-b3f0-e2a220dbac1b.jpg +DMC;597908;https://cards.scryfall.io/large/front/2/5/25869cd0-63da-4dfb-8870-221cdba276e2.jpg +DMC;597909;https://cards.scryfall.io/large/front/c/1/c1f5bcc4-3ec7-42ae-8e4b-80a9b9135ff0.jpg +DMC;597910;https://cards.scryfall.io/large/front/9/1/914a4923-18a6-4aa5-8510-b02e9dc7bb41.jpg +DMC;597911;https://cards.scryfall.io/large/front/d/9/d96a5a00-22a7-4a7b-a7e2-5c055a8384ba.jpg +DMC;597912;https://cards.scryfall.io/large/front/8/2/82003d72-5138-4341-a53a-62b794f2bce1.jpg +DMC;597913;https://cards.scryfall.io/large/front/8/5/8511fc1e-cff2-4d6c-b9c3-0a7f70ac3528.jpg +DMC;597914;https://cards.scryfall.io/large/front/9/1/91f65272-fee1-4076-b5b2-2e04001cf1ea.jpg +DMC;597915;https://cards.scryfall.io/large/front/9/e/9e5f168c-4f56-4d06-bef1-db10fdfbe657.jpg +DMC;597916;https://cards.scryfall.io/large/front/7/f/7f0f171a-2929-4d95-9829-d0e885622e04.jpg +DMC;597917;https://cards.scryfall.io/large/front/8/4/84e87400-cc3f-4476-b177-2c36a65f277b.jpg +DMC;597918;https://cards.scryfall.io/large/front/7/7/7722a9a1-2ff9-4a39-b56e-c7eef2ff9dcd.jpg +DMC;597919;https://cards.scryfall.io/large/front/b/7/b7505068-484e-4844-b3dd-89c28f18275d.jpg +DMC;597920;https://cards.scryfall.io/large/front/5/1/51c523cd-78b0-438f-bba5-19160f648d5f.jpg +DMC;597921;https://cards.scryfall.io/large/front/a/f/afcb1feb-e957-42e7-b05a-48f26bda7b76.jpg +DMC;597922;https://cards.scryfall.io/large/front/a/d/adea296b-b320-4588-9d6e-cbb5db7c39e3.jpg +DMC;597923;https://cards.scryfall.io/large/front/0/7/0783b426-a527-42c1-9271-be28b229e1c6.jpg +DMC;597924;https://cards.scryfall.io/large/front/4/8/48e60dff-8ac0-4e70-a7a8-a177e9e6847b.jpg DMC;578711;https://cards.scryfall.io/large/front/c/e/cea0ea07-6963-4de1-953d-b1ac41d8c6b5.jpg -DMC;null;https://cards.scryfall.io/large/front/c/4/c4995efb-c952-425f-b8e1-176a6c27ec20.jpg -DMC;null;https://cards.scryfall.io/large/front/b/c/bc6b73c8-a841-4441-9471-6b83f0b03977.jpg -DMC;null;https://cards.scryfall.io/large/front/9/f/9f82a016-75d4-44bd-9077-9c69753952fa.jpg -DMC;null;https://cards.scryfall.io/large/front/4/8/4895b46f-7520-4fff-838a-22741f7e5991.jpg -DMC;null;https://cards.scryfall.io/large/front/b/4/b406271c-7fca-4003-a011-752117e5ba4e.jpg -DMC;null;https://cards.scryfall.io/large/front/2/d/2d5c9c50-9056-4d18-94fb-b9970969dcc8.jpg -DMC;null;https://cards.scryfall.io/large/front/2/0/20bec7f2-7f85-4b2a-a1ec-9eb5da6b8812.jpg -DMC;null;https://cards.scryfall.io/large/front/f/c/fc35a8c6-f81d-46b1-941f-f0bf05a34649.jpg -DMC;null;https://cards.scryfall.io/large/front/b/f/bf068962-5372-4f8c-ae10-6457168e5731.jpg -DMC;null;https://cards.scryfall.io/large/front/5/6/566607ba-24e7-4ff2-8ece-93dc790da845.jpg -DMC;null;https://cards.scryfall.io/large/front/1/b/1bb50b63-77c8-44cc-a4c5-1e4f4896e67e.jpg -DMC;null;https://cards.scryfall.io/large/front/1/c/1c2b0f20-7b6a-4dc5-b1c9-b11554da9a05.jpg -DMC;null;https://cards.scryfall.io/large/front/f/c/fc545089-cf48-49e1-99b4-660946260da8.jpg -DMC;null;https://cards.scryfall.io/large/front/d/3/d3488954-e248-40f2-8194-0c5ae78cd6d4.jpg -DMC;null;https://cards.scryfall.io/large/front/9/3/9385b40f-79a7-4d9c-b253-54587a1f28b4.jpg -DMC;null;https://cards.scryfall.io/large/front/5/5/55cc167d-b701-444b-9eb9-f0ee1bdfa762.jpg -DMC;null;https://cards.scryfall.io/large/front/9/9/99ff0b85-16dc-4388-852f-e6c3ed10f93f.jpg -DMC;null;https://cards.scryfall.io/large/front/b/c/bc32f707-3fa4-4e27-b48f-27b53650a6ff.jpg -DMC;null;https://cards.scryfall.io/large/front/b/c/bc3f73f8-1825-4ae2-ade3-29a02bba05f3.jpg -DMC;null;https://cards.scryfall.io/large/front/1/c/1c9251f0-2c5e-4119-bc2a-473088239dca.jpg -DMC;null;https://cards.scryfall.io/large/front/a/e/ae580392-9fd1-4f51-aa2b-8fdabb177132.jpg DMC;580393;https://cards.scryfall.io/large/front/2/5/258218d2-87a1-4d50-ad87-1b1b086e37be.jpg DMC;580394;https://cards.scryfall.io/large/front/1/4/1409c364-a3b5-4ce5-bd17-742acc0088fb.jpg DMC;580395;https://cards.scryfall.io/large/front/2/9/29048fa7-8bb7-4763-87ad-6198445add3f.jpg @@ -56014,6 +56036,10 @@ DMC;578853;https://cards.scryfall.io/large/front/3/b/3b7db6c9-509a-4556-b855-338 DMC;578854;https://cards.scryfall.io/large/front/5/0/506e6398-174b-42ce-a326-2c74671c3777.jpg DMC;578855;https://cards.scryfall.io/large/front/7/4/74d8849c-fe0d-4749-9165-a22f8643888a.jpg DMC;578856;https://cards.scryfall.io/large/front/6/d/6d56df43-e5b4-4633-a961-dafc10ffafc5.jpg +DMC;578853;https://cards.scryfall.io/large/front/3/b/3b7db6c9-509a-4556-b855-338c34e3cb9b.jpg +DMC;578854;https://cards.scryfall.io/large/front/5/0/506e6398-174b-42ce-a326-2c74671c3777.jpg +DMC;578855;https://cards.scryfall.io/large/front/7/4/74d8849c-fe0d-4749-9165-a22f8643888a.jpg +DMC;578856;https://cards.scryfall.io/large/front/6/d/6d56df43-e5b4-4633-a961-dafc10ffafc5.jpg DMU;574481;https://cards.scryfall.io/large/front/e/8/e83b1b87-01d5-4624-8a2b-4b771e13e59c.jpg DMU;574482;https://cards.scryfall.io/large/front/5/b/5b8127b5-3a65-411a-84bc-54e5c1be1477.jpg DMU;574483;https://cards.scryfall.io/large/front/2/d/2d00bab2-e95d-4296-a805-2a05e7640efb.jpg @@ -60765,7 +60791,6 @@ MH2;522133;https://cards.scryfall.io/large/front/b/9/b95cc841-4e4f-4896-a073-f2e MH2;522134;https://cards.scryfall.io/large/front/2/e/2e658cb2-11c5-4b59-a91c-f26ac28e82af.jpg MH2;522135;https://cards.scryfall.io/large/front/f/c/fc488a4c-2885-4727-8317-da93aee8fced.jpg MH2;522136;https://cards.scryfall.io/large/front/4/3/43ab3ed2-2b50-4488-a21f-60965222970a.jpg -MH2;522136;https://cards.scryfall.io/large/back/4/3/43ab3ed2-2b50-4488-a21f-60965222970a.jpg MH2;522137;https://cards.scryfall.io/large/front/3/8/38e4ce27-aba2-4a3f-8de7-d442323d8be2.jpg MH2;522138;https://cards.scryfall.io/large/front/1/9/191d1ab9-cd9e-4351-9acd-d7a57b963253.jpg MH2;522139;https://cards.scryfall.io/large/front/1/3/135db79f-6f07-486c-ae3a-d4244aaf6dc8.jpg @@ -60829,7 +60854,6 @@ MH2;522196;https://cards.scryfall.io/large/front/c/9/c936ebbd-512a-49a6-ab23-16a MH2;522197;https://cards.scryfall.io/large/front/4/c/4ced112a-e775-4f97-97b3-74877e9dce12.jpg MH2;522198;https://cards.scryfall.io/large/front/c/6/c6ed4077-4ed5-48fb-91c9-a9195d652978.jpg MH2;522199;https://cards.scryfall.io/large/front/5/b/5b209759-6215-49e8-a6a0-a6c94040adb2.jpg -MH2;522199;https://cards.scryfall.io/large/back/5/b/5b209759-6215-49e8-a6a0-a6c94040adb2.jpg MH2;522200;https://cards.scryfall.io/large/front/a/9/a93c6ba8-666b-4c05-8137-8ffa1d5d928b.jpg MH2;522201;https://cards.scryfall.io/large/front/3/3/33ab05b5-d6f5-439c-9aed-1a58ceb282ad.jpg MH2;522202;https://cards.scryfall.io/large/front/b/d/bd281158-8180-40b9-a5b7-03cfc712d81a.jpg @@ -60919,7 +60943,6 @@ MH2;522285;https://cards.scryfall.io/large/front/4/6/468b92ae-eb84-4548-a5e5-a07 MH2;522286;https://cards.scryfall.io/large/front/a/a/aad6576b-605c-4007-a2a7-0d7550520d6d.jpg MH2;522287;https://cards.scryfall.io/large/front/9/f/9f44a15c-1bb4-4fb8-88a0-e4d3f2dee1b4.jpg MH2;522288;https://cards.scryfall.io/large/front/f/3/f336b4d4-9a84-4a87-a8ea-a83a842890ee.jpg -MH2;522288;https://cards.scryfall.io/large/back/f/3/f336b4d4-9a84-4a87-a8ea-a83a842890ee.jpg MH2;522289;https://cards.scryfall.io/large/front/a/6/a6d22f24-f752-4bc8-ba97-061b2c060ec8.jpg MH2;522290;https://cards.scryfall.io/large/front/0/b/0babfe00-9bad-48fc-b3b1-df8280242fd2.jpg MH2;522291;https://cards.scryfall.io/large/front/3/1/314e94ad-0e12-48bb-aae1-2c842943114a.jpg @@ -60998,7 +61021,6 @@ MH2;526258;https://cards.scryfall.io/large/front/2/1/21f6d49f-1577-4d17-a633-0c2 MH2;526259;https://cards.scryfall.io/large/front/c/8/c8511fe7-63f9-4942-8972-d40bf5d7e949.jpg MH2;526260;https://cards.scryfall.io/large/front/d/8/d8089e7f-7619-43fe-8e0b-31ce5d988a1b.jpg MH2;526261;https://cards.scryfall.io/large/front/0/e/0e09b054-4d33-4a12-bf2a-9b0009f33044.jpg -MH2;526261;https://cards.scryfall.io/large/back/0/e/0e09b054-4d33-4a12-bf2a-9b0009f33044.jpg MH2;526262;https://cards.scryfall.io/large/front/3/2/329f8f3d-2fe6-44fa-802f-0c56e3f9998e.jpg MH2;526263;https://cards.scryfall.io/large/front/b/0/b0824e77-c84b-464a-aa0c-44af5f6faa50.jpg MH2;526264;https://cards.scryfall.io/large/front/b/a/ba03e105-a76c-4769-a35a-d780448890ec.jpg @@ -61085,7 +61107,6 @@ MH2;526741;https://cards.scryfall.io/large/front/b/2/b27e8b65-16ec-4aef-ac26-8af MH2;526742;https://cards.scryfall.io/large/front/2/c/2caad15a-b567-47b5-b055-e52bfed5b889.jpg MH2;526743;https://cards.scryfall.io/large/front/5/0/505b77d0-8651-4b40-a2e9-6dd00ac3c575.jpg MH2;526744;https://cards.scryfall.io/large/front/e/d/edf8a080-2327-4ae0-97bc-ed488a619797.jpg -MH2;526744;https://cards.scryfall.io/large/back/e/d/edf8a080-2327-4ae0-97bc-ed488a619797.jpg MH2;526745;https://cards.scryfall.io/large/front/7/6/76ebe313-3452-415c-a93f-52c7467531a3.jpg MH2;526746;https://cards.scryfall.io/large/front/7/4/74c1b32e-e9c3-4245-887c-fe30c5f3148f.jpg MH2;526747;https://cards.scryfall.io/large/front/a/5/a5a0ae99-d84a-4f27-bed8-889747c78529.jpg @@ -61262,7 +61283,6 @@ MH2;522133;https://cards.scryfall.io/large/front/b/9/b95cc841-4e4f-4896-a073-f2e MH2;522134;https://cards.scryfall.io/large/front/2/e/2e658cb2-11c5-4b59-a91c-f26ac28e82af.jpg MH2;522135;https://cards.scryfall.io/large/front/f/c/fc488a4c-2885-4727-8317-da93aee8fced.jpg MH2;522136;https://cards.scryfall.io/large/front/4/3/43ab3ed2-2b50-4488-a21f-60965222970a.jpg -MH2;522136;https://cards.scryfall.io/large/back/4/3/43ab3ed2-2b50-4488-a21f-60965222970a.jpg MH2;522137;https://cards.scryfall.io/large/front/3/8/38e4ce27-aba2-4a3f-8de7-d442323d8be2.jpg MH2;522138;https://cards.scryfall.io/large/front/1/9/191d1ab9-cd9e-4351-9acd-d7a57b963253.jpg MH2;522139;https://cards.scryfall.io/large/front/1/3/135db79f-6f07-486c-ae3a-d4244aaf6dc8.jpg @@ -61326,7 +61346,6 @@ MH2;522196;https://cards.scryfall.io/large/front/c/9/c936ebbd-512a-49a6-ab23-16a MH2;522197;https://cards.scryfall.io/large/front/4/c/4ced112a-e775-4f97-97b3-74877e9dce12.jpg MH2;522198;https://cards.scryfall.io/large/front/c/6/c6ed4077-4ed5-48fb-91c9-a9195d652978.jpg MH2;522199;https://cards.scryfall.io/large/front/5/b/5b209759-6215-49e8-a6a0-a6c94040adb2.jpg -MH2;522199;https://cards.scryfall.io/large/back/5/b/5b209759-6215-49e8-a6a0-a6c94040adb2.jpg MH2;522200;https://cards.scryfall.io/large/front/a/9/a93c6ba8-666b-4c05-8137-8ffa1d5d928b.jpg MH2;522201;https://cards.scryfall.io/large/front/3/3/33ab05b5-d6f5-439c-9aed-1a58ceb282ad.jpg MH2;522202;https://cards.scryfall.io/large/front/b/d/bd281158-8180-40b9-a5b7-03cfc712d81a.jpg @@ -61416,7 +61435,6 @@ MH2;522285;https://cards.scryfall.io/large/front/4/6/468b92ae-eb84-4548-a5e5-a07 MH2;522286;https://cards.scryfall.io/large/front/a/a/aad6576b-605c-4007-a2a7-0d7550520d6d.jpg MH2;522287;https://cards.scryfall.io/large/front/9/f/9f44a15c-1bb4-4fb8-88a0-e4d3f2dee1b4.jpg MH2;522288;https://cards.scryfall.io/large/front/f/3/f336b4d4-9a84-4a87-a8ea-a83a842890ee.jpg -MH2;522288;https://cards.scryfall.io/large/back/f/3/f336b4d4-9a84-4a87-a8ea-a83a842890ee.jpg MH2;522289;https://cards.scryfall.io/large/front/a/6/a6d22f24-f752-4bc8-ba97-061b2c060ec8.jpg MH2;522290;https://cards.scryfall.io/large/front/0/b/0babfe00-9bad-48fc-b3b1-df8280242fd2.jpg MH2;522291;https://cards.scryfall.io/large/front/3/1/314e94ad-0e12-48bb-aae1-2c842943114a.jpg @@ -61495,7 +61513,6 @@ MH2;526258;https://cards.scryfall.io/large/front/2/1/21f6d49f-1577-4d17-a633-0c2 MH2;526259;https://cards.scryfall.io/large/front/c/8/c8511fe7-63f9-4942-8972-d40bf5d7e949.jpg MH2;526260;https://cards.scryfall.io/large/front/d/8/d8089e7f-7619-43fe-8e0b-31ce5d988a1b.jpg MH2;526261;https://cards.scryfall.io/large/front/0/e/0e09b054-4d33-4a12-bf2a-9b0009f33044.jpg -MH2;526261;https://cards.scryfall.io/large/back/0/e/0e09b054-4d33-4a12-bf2a-9b0009f33044.jpg MH2;526262;https://cards.scryfall.io/large/front/3/2/329f8f3d-2fe6-44fa-802f-0c56e3f9998e.jpg MH2;526263;https://cards.scryfall.io/large/front/b/0/b0824e77-c84b-464a-aa0c-44af5f6faa50.jpg MH2;526264;https://cards.scryfall.io/large/front/b/a/ba03e105-a76c-4769-a35a-d780448890ec.jpg @@ -61582,7 +61599,6 @@ MH2;526741;https://cards.scryfall.io/large/front/b/2/b27e8b65-16ec-4aef-ac26-8af MH2;526742;https://cards.scryfall.io/large/front/2/c/2caad15a-b567-47b5-b055-e52bfed5b889.jpg MH2;526743;https://cards.scryfall.io/large/front/5/0/505b77d0-8651-4b40-a2e9-6dd00ac3c575.jpg MH2;526744;https://cards.scryfall.io/large/front/e/d/edf8a080-2327-4ae0-97bc-ed488a619797.jpg -MH2;526744;https://cards.scryfall.io/large/back/e/d/edf8a080-2327-4ae0-97bc-ed488a619797.jpg MH2;526745;https://cards.scryfall.io/large/front/7/6/76ebe313-3452-415c-a93f-52c7467531a3.jpg MH2;526746;https://cards.scryfall.io/large/front/7/4/74c1b32e-e9c3-4245-887c-fe30c5f3148f.jpg MH2;526747;https://cards.scryfall.io/large/front/a/5/a5a0ae99-d84a-4f27-bed8-889747c78529.jpg @@ -61759,7 +61775,6 @@ MH2;522133;https://cards.scryfall.io/large/front/b/9/b95cc841-4e4f-4896-a073-f2e MH2;522134;https://cards.scryfall.io/large/front/2/e/2e658cb2-11c5-4b59-a91c-f26ac28e82af.jpg MH2;522135;https://cards.scryfall.io/large/front/f/c/fc488a4c-2885-4727-8317-da93aee8fced.jpg MH2;522136;https://cards.scryfall.io/large/front/4/3/43ab3ed2-2b50-4488-a21f-60965222970a.jpg -MH2;522136;https://cards.scryfall.io/large/back/4/3/43ab3ed2-2b50-4488-a21f-60965222970a.jpg MH2;522137;https://cards.scryfall.io/large/front/3/8/38e4ce27-aba2-4a3f-8de7-d442323d8be2.jpg MH2;522138;https://cards.scryfall.io/large/front/1/9/191d1ab9-cd9e-4351-9acd-d7a57b963253.jpg MH2;522139;https://cards.scryfall.io/large/front/1/3/135db79f-6f07-486c-ae3a-d4244aaf6dc8.jpg @@ -61823,7 +61838,6 @@ MH2;522196;https://cards.scryfall.io/large/front/c/9/c936ebbd-512a-49a6-ab23-16a MH2;522197;https://cards.scryfall.io/large/front/4/c/4ced112a-e775-4f97-97b3-74877e9dce12.jpg MH2;522198;https://cards.scryfall.io/large/front/c/6/c6ed4077-4ed5-48fb-91c9-a9195d652978.jpg MH2;522199;https://cards.scryfall.io/large/front/5/b/5b209759-6215-49e8-a6a0-a6c94040adb2.jpg -MH2;522199;https://cards.scryfall.io/large/back/5/b/5b209759-6215-49e8-a6a0-a6c94040adb2.jpg MH2;522200;https://cards.scryfall.io/large/front/a/9/a93c6ba8-666b-4c05-8137-8ffa1d5d928b.jpg MH2;522201;https://cards.scryfall.io/large/front/3/3/33ab05b5-d6f5-439c-9aed-1a58ceb282ad.jpg MH2;522202;https://cards.scryfall.io/large/front/b/d/bd281158-8180-40b9-a5b7-03cfc712d81a.jpg @@ -61913,7 +61927,6 @@ MH2;522285;https://cards.scryfall.io/large/front/4/6/468b92ae-eb84-4548-a5e5-a07 MH2;522286;https://cards.scryfall.io/large/front/a/a/aad6576b-605c-4007-a2a7-0d7550520d6d.jpg MH2;522287;https://cards.scryfall.io/large/front/9/f/9f44a15c-1bb4-4fb8-88a0-e4d3f2dee1b4.jpg MH2;522288;https://cards.scryfall.io/large/front/f/3/f336b4d4-9a84-4a87-a8ea-a83a842890ee.jpg -MH2;522288;https://cards.scryfall.io/large/back/f/3/f336b4d4-9a84-4a87-a8ea-a83a842890ee.jpg MH2;522289;https://cards.scryfall.io/large/front/a/6/a6d22f24-f752-4bc8-ba97-061b2c060ec8.jpg MH2;522290;https://cards.scryfall.io/large/front/0/b/0babfe00-9bad-48fc-b3b1-df8280242fd2.jpg MH2;522291;https://cards.scryfall.io/large/front/3/1/314e94ad-0e12-48bb-aae1-2c842943114a.jpg @@ -61992,7 +62005,6 @@ MH2;526258;https://cards.scryfall.io/large/front/2/1/21f6d49f-1577-4d17-a633-0c2 MH2;526259;https://cards.scryfall.io/large/front/c/8/c8511fe7-63f9-4942-8972-d40bf5d7e949.jpg MH2;526260;https://cards.scryfall.io/large/front/d/8/d8089e7f-7619-43fe-8e0b-31ce5d988a1b.jpg MH2;526261;https://cards.scryfall.io/large/front/0/e/0e09b054-4d33-4a12-bf2a-9b0009f33044.jpg -MH2;526261;https://cards.scryfall.io/large/back/0/e/0e09b054-4d33-4a12-bf2a-9b0009f33044.jpg MH2;526262;https://cards.scryfall.io/large/front/3/2/329f8f3d-2fe6-44fa-802f-0c56e3f9998e.jpg MH2;526263;https://cards.scryfall.io/large/front/b/0/b0824e77-c84b-464a-aa0c-44af5f6faa50.jpg MH2;526264;https://cards.scryfall.io/large/front/b/a/ba03e105-a76c-4769-a35a-d780448890ec.jpg @@ -62079,7 +62091,6 @@ MH2;526741;https://cards.scryfall.io/large/front/b/2/b27e8b65-16ec-4aef-ac26-8af MH2;526742;https://cards.scryfall.io/large/front/2/c/2caad15a-b567-47b5-b055-e52bfed5b889.jpg MH2;526743;https://cards.scryfall.io/large/front/5/0/505b77d0-8651-4b40-a2e9-6dd00ac3c575.jpg MH2;526744;https://cards.scryfall.io/large/front/e/d/edf8a080-2327-4ae0-97bc-ed488a619797.jpg -MH2;526744;https://cards.scryfall.io/large/back/e/d/edf8a080-2327-4ae0-97bc-ed488a619797.jpg MH2;526745;https://cards.scryfall.io/large/front/7/6/76ebe313-3452-415c-a93f-52c7467531a3.jpg MH2;526746;https://cards.scryfall.io/large/front/7/4/74c1b32e-e9c3-4245-887c-fe30c5f3148f.jpg MH2;526747;https://cards.scryfall.io/large/front/a/5/a5a0ae99-d84a-4f27-bed8-889747c78529.jpg @@ -65592,6 +65603,69 @@ BRC;588819;https://cards.scryfall.io/large/front/7/3/7306c101-399b-4306-89b5-6c4 BRC;588820;https://cards.scryfall.io/large/front/3/6/36ffb731-b0b4-455e-b296-1ad46a82ab18.jpg BRC;588821;https://cards.scryfall.io/large/front/6/c/6c156c30-d681-4b3b-bcf9-3a1e85a8c7a1.jpg BRC;588822;https://cards.scryfall.io/large/front/f/4/f482fe5c-1ff5-46f8-befa-b84deaa29f45.jpg +MOC;612087t;https://cards.scryfall.io/large/front/9/a/9abbeedd-f621-493d-bbab-acd425178c05.jpg?1682210867 +MOC;612084t;https://cards.scryfall.io/large/front/b/7/b764da8e-8052-4910-b1d0-f6def8078bec.jpg?1682210992 +MOC;612157t;https://cards.scryfall.io/large/front/e/4/e4c5edb6-58be-4e61-9c3a-699816f9160f.jpg?1682211009 +MOC;612139t;https://c1.scryfall.com/file/scryfall-cards/large/front/a/6/a6f374bc-cd29-469f-808a-6a6c004ee8aa.jpg?1636041263 +MOC;612146t;https://c1.scryfall.com/file/scryfall-cards/large/front/7/2/720f3e68-84c0-462e-a0d1-90236ccc494a.jpg?1562539782 +MOC;614670t;https://cards.scryfall.io/large/front/b/7/b764da8e-8052-4910-b1d0-f6def8078bec.jpg?1682210992 +MOC;614675t;https://cards.scryfall.io/large/front/9/a/9abbeedd-f621-493d-bbab-acd425178c05.jpg?1682210867 +MOC;612131t;https://cards.scryfall.io/large/front/4/7/476261b8-635c-4228-b5bf-ddc27157876e.jpg?1682210894 +MOC;612492t;https://cards.scryfall.io/large/front/b/c/bc3b9e96-e29b-4fca-a9eb-0b89e6d80cae.jpg?1682210956 +MOC;615137t;https://cards.scryfall.io/large/front/c/9/c9d54def-823f-4997-b0eb-6c5e44de77bd.jpg?1682210822 +MOC;615139t;https://cards.scryfall.io/large/front/9/c/9cb4069a-0ec9-415d-8a2c-82f4a9f3ea2b.jpg?1682211027 +MOC;612634t;https://cards.scryfall.io/large/front/b/c/bc3b9e96-e29b-4fca-a9eb-0b89e6d80cae.jpg?1682210956 +MOC;612523t;https://cards.scryfall.io/large/front/e/4/e401e2a8-d0a3-4517-ba20-449a1fff7f85.jpg +MOC;614935t;https://c1.scryfall.com/file/scryfall-cards/large/front/7/2/720f3e68-84c0-462e-a0d1-90236ccc494a.jpg?1562539782 +MOC;614939t;https://cards.scryfall.io/large/front/a/b/ab451fcc-15c9-4c19-9624-af0af741bba6.jpg?1682210921 +MOC;612625t;https://cards.scryfall.io/large/front/5/2/52cf8f6b-2334-4881-8f58-4e11745c8851.jpg?1682210876 +MOC;612623t;https://cards.scryfall.io/large/front/2/1/216e9c9c-e63e-451d-a340-ffa6206edcb6.jpg?1682210983 +MOC;612618t;https://cards.scryfall.io/large/front/9/6/96d831eb-8d5f-4436-bbc6-3d1a90f3d2ed.jpg?1682211141 +MOC;612614t;https://cards.scryfall.io/large/front/b/d/bd511c6c-a6ec-4715-94c0-945c091d82b1.jpg?1682211150 +MOC;611982t;https://c1.scryfall.com/file/scryfall-cards/large/front/0/3/0302fa7d-2e34-4f4a-a84e-7a78febc77f5.jpg?1562895593 +MOC;611980t;https://cards.scryfall.io/large/front/a/4/a4c06e08-2026-471d-a6d0-bbb0f040420a.jpg +MOC;611958t;https://c1.scryfall.com/file/scryfall-cards/large/front/0/3/0302fa7d-2e34-4f4a-a84e-7a78febc77f5.jpg?1562895593 +MOC;611956t;https://cards.scryfall.io/large/front/a/4/a4c06e08-2026-471d-a6d0-bbb0f040420a.jpg +MOC;614783t;https://cards.scryfall.io/large/front/e/4/e4c5edb6-58be-4e61-9c3a-699816f9160f.jpg?1682211009 +MOC;612126t;https://cards.scryfall.io/large/front/9/6/96d831eb-8d5f-4436-bbc6-3d1a90f3d2ed.jpg?1682211141 +MOC;612489t;https://cards.scryfall.io/large/front/b/c/bc3b9e96-e29b-4fca-a9eb-0b89e6d80cae.jpg?1682210956 +MOC;612124t;https://cards.scryfall.io/large/front/5/2/52cf8f6b-2334-4881-8f58-4e11745c8851.jpg?1682210876 +MOC;612483t;https://cards.scryfall.io/large/front/b/c/bc3b9e96-e29b-4fca-a9eb-0b89e6d80cae.jpg?1682210956 +MOC;614772t;https://c1.scryfall.com/file/scryfall-cards/large/front/7/2/720f3e68-84c0-462e-a0d1-90236ccc494a.jpg +MOC;612476t;https://cards.scryfall.io/large/front/6/f/6f72a7ea-2f9f-4650-927e-35b68e88a304.jpg?1682210947 +MOC;612475t;https://cards.scryfall.io/large/front/9/6/96d831eb-8d5f-4436-bbc6-3d1a90f3d2ed.jpg?1682211141 +MOC;612595t;https://cards.scryfall.io/large/front/7/2/72398c5f-9a91-48d6-b308-bff9924e87ef.jpg?1682211115 +MOC;614765t;https://c1.scryfall.com/file/scryfall-cards/large/front/a/6/a6f374bc-cd29-469f-808a-6a6c004ee8aa.jpg? +MOC;612579t;https://cards.scryfall.io/large/front/4/7/476261b8-635c-4228-b5bf-ddc27157876e.jpg?1682210894 +MOC;614757t;https://cards.scryfall.io/large/front/4/7/476261b8-635c-4228-b5bf-ddc27157876e.jpg?1682210894 +MOC;612466t;https://cards.scryfall.io/large/front/4/4/44ea459b-b655-4106-9f24-9bdb440e04b1.jpg?1682210939 +MOC;612465t;https://cards.scryfall.io/large/front/9/a/9abbeedd-f621-493d-bbab-acd425178c05.jpg?1682210867 +MOC;612584t;https://cards.scryfall.io/large/front/3/8/38476293-627e-44e6-a83e-24aaf3de8e9a.jpg?1682210858 +MOC;614750t;https://cards.scryfall.io/large/front/5/2/52cf8f6b-2334-4881-8f58-4e11745c8851.jpg?1682210876 +MOC;614752t;https://cards.scryfall.io/large/front/9/6/96d831eb-8d5f-4436-bbc6-3d1a90f3d2ed.jpg?1682211141 +MOC;612447t;https://cards.scryfall.io/large/front/a/a/aa53489d-7e4e-461c-9eed-406ecf7c7abc.jpg?1682211167 +MOC;612577t;https://cards.scryfall.io/large/front/0/1/010ffef8-22ce-4d8f-80f0-6749f63ec4c2.jpg?1682210912 +MOC;612455t;https://cards.scryfall.io/large/front/5/2/52cf8f6b-2334-4881-8f58-4e11745c8851.jpg?1682210876 +MOC;612451t;https://cards.scryfall.io/large/front/9/f/9feb9fa0-29d3-4cf7-a996-e7cb718f02b6.jpg?1682210903 +MOC;612439t;https://cards.scryfall.io/large/front/d/0/d0cc09a9-a21b-40ee-8b68-bc084f71737d.jpg?1682210885 +MOC;612436t;https://cards.scryfall.io/large/front/d/0/d0cc09a9-a21b-40ee-8b68-bc084f71737d.jpg?1682210885 +MOC;612567t;https://cards.scryfall.io/large/front/d/2/d2bfef17-6e00-4097-b27a-4e3c7e19ca03.jpg?1682211062 +MOC;612442t;https://cards.scryfall.io/large/front/9/6/96d831eb-8d5f-4436-bbc6-3d1a90f3d2ed.jpg?1682211141 +MOC;612562t;https://c1.scryfall.com/file/scryfall-cards/large/front/f/2/f2c859e1-181e-44d1-afbd-bbd6e52cf42a.jpg +MOC;612435t;https://cards.scryfall.io/large/front/b/3/b3067337-9c65-45cc-9b9f-7de6109b8c1f.jpg?1682211080 +MOC;612431t;https://cards.scryfall.io/large/front/3/8/38476293-627e-44e6-a83e-24aaf3de8e9a.jpg?1682210858 +MOC;612659t;https://cards.scryfall.io/large/front/0/e/0ec422fe-b53e-4ae4-9fab-df2b78134098.jpg?1682211053 +MOC;612536t;https://cards.scryfall.io/large/front/b/c/bc3b9e96-e29b-4fca-a9eb-0b89e6d80cae.jpg?1682210956 +MOC;612423t;https://cards.scryfall.io/large/front/9/6/96d831eb-8d5f-4436-bbc6-3d1a90f3d2ed.jpg?1682211141 +MOC;612422t;https://cards.scryfall.io/large/front/3/8/38476293-627e-44e6-a83e-24aaf3de8e9a.jpg?1682210858 +MOC;614951t;https://cards.scryfall.io/large/front/5/2/52cf8f6b-2334-4881-8f58-4e11745c8851.jpg?1682210876 +MOC;614945t;https://cards.scryfall.io/large/front/f/d/fdfdf8c9-38ca-4471-9152-45cfb288b07d.jpg?1682210965 +MOC;614946t;https://cards.scryfall.io/large/front/e/c/ecba3428-716d-4dab-b2ee-baf8d9bf5ec8.jpg?1682210840 +MOC;612532;https://cards.scryfall.io/large/front/d/c/dc03ad3e-8113-432c-bff6-3ced73af8728.jpg?1682209373 +MOC;612653;https://cards.scryfall.io/large/front/8/1/81c047dc-3a64-433d-ae78-9d84d1be135a.jpg?1682210464 +MOC;614947;https://cards.scryfall.io/large/front/6/1/618dbae8-7e3f-47ba-8f02-292047e86a05.jpg?1680815489 +MOC;614947t;https://cards.scryfall.io/large/front/5/8/586c179a-feda-475d-9e32-01b58e22c846.jpg?1682210831 +MOC;612530t;https://cards.scryfall.io/large/front/9/c/9cb4069a-0ec9-415d-8a2c-82f4a9f3ea2b.jpg?1682211027 MOC;612004;https://cards.scryfall.io/large/front/a/4/a485c2c3-c90b-43b4-bb00-c1b811b4b392.jpg MOC;612005;https://cards.scryfall.io/large/front/f/0/f0d31ae7-8580-402a-a917-3d626a9e1f49.jpg MOC;612006;https://cards.scryfall.io/large/front/4/a/4a9aa899-752b-4106-89ba-9475ee777d41.jpg @@ -66107,6 +66181,21 @@ MUL;611367;https://cards.scryfall.io/large/front/8/1/81826ef6-02ea-411b-ac08-8ac MUL;611368;https://cards.scryfall.io/large/front/e/5/e56ba25b-1803-4e1a-b7cf-c2c873159010.jpg MUL;611369;https://cards.scryfall.io/large/front/5/7/572f03c2-cd20-4e09-90a4-13bd291c5478.jpg MUL;611370;https://cards.scryfall.io/large/front/5/f/5fe75365-7f6d-4faf-9f55-0ba83821836a.jpg +MOM;611089t;https://cards.scryfall.io/large/front/7/2/720f3e68-84c0-462e-a0d1-90236ccc494a.jpg +MOM;611086t;https://cards.scryfall.io/large/front/2/c/2c5ed737-657b-43bf-b222-941da7579a4a.jpg +MOM;610929t;https://cards.scryfall.io/large/front/2/c/2c5ed737-657b-43bf-b222-941da7579a4a.jpg +MOM;610919t;https://cards.scryfall.io/large/front/d/2/d27b3b91-8bef-4d3c-84ef-5015ca9e472c.jpg +MOM;607042t;https://cards.scryfall.io/large/front/8/8/88439bfc-8942-473b-9e4f-863017788476.jpg +MOM;607045t;https://cards.scryfall.io/large/front/d/2/d27b3b91-8bef-4d3c-84ef-5015ca9e472c.jpg +MOM;607017t;https://cards.scryfall.io/large/front/1/7/1774c68a-3d76-4fe1-b741-e6acf6b9214c.jpg +MOM;607138t;https://cards.scryfall.io/large/front/2/c/2c5ed737-657b-43bf-b222-941da7579a4a.jpg +MOM;607125t;https://cards.scryfall.io/large/front/2/c/2c5ed737-657b-43bf-b222-941da7579a4a.jpg +MOM;610891t;https://cards.scryfall.io/large/front/1/7/1774c68a-3d76-4fe1-b741-e6acf6b9214c.jpg +MOM;607114t;https://cards.scryfall.io/large/front/8/8/88439bfc-8942-473b-9e4f-863017788476.jpg +MOM;607100t;https://cards.scryfall.io/large/front/2/8/28a7a9b0-d823-4b34-829f-ade81fc141e0.jpg +MOM;607314t;https://cards.scryfall.io/large/front/2/8/28a7a9b0-d823-4b34-829f-ade81fc141e0.jpg +MOM;999903;https://cards.scryfall.io/large/front/2/c/2c5ed737-657b-43bf-b222-941da7579a4a.jpg +MOM;999904;https://cards.scryfall.io/large/back/2/c/2c5ed737-657b-43bf-b222-941da7579a4a.jpg MOM;607011;https://cards.scryfall.io/large/front/7/3/73f8fc4f-2f36-4932-8d04-3c2651c116dc.jpg MOM;607012;https://cards.scryfall.io/large/back/7/3/73f8fc4f-2f36-4932-8d04-3c2651c116dc.jpg MOM;607013;https://cards.scryfall.io/large/front/f/7/f7017afb-4c7c-4c8d-9c9d-3f056a55561e.jpg @@ -66460,7 +66549,6 @@ MOM;610388;https://cards.scryfall.io/large/front/7/e/7e19c7e1-1b4b-4c7e-b011-eff MOM;610389;https://cards.scryfall.io/large/front/7/e/7e6151d4-5129-4631-84a1-5cffc551c1e9.jpg MOM;610390;https://cards.scryfall.io/large/front/e/0/e0ce5575-2d62-43c9-9c4b-fca4aff6ae4d.jpg MOM;610511;https://cards.scryfall.io/large/front/f/a/faf66a0b-9d34-487d-bdb4-5cac9391d77a.jpg -MOM;610512;https://cards.scryfall.io/large/back/f/a/faf66a0b-9d34-487d-bdb4-5cac9391d77a.jpg MOM;610513;https://cards.scryfall.io/large/front/b/f/bfd786c2-6a2b-4f43-ba68-cbe31eeb4904.jpg MOM;610514;https://cards.scryfall.io/large/back/b/f/bfd786c2-6a2b-4f43-ba68-cbe31eeb4904.jpg MOM;610515;https://cards.scryfall.io/large/front/1/5/151ba146-78fa-48de-b289-99f03b935794.jpg diff --git a/projects/mtg/bin/Res/ai/baka/deck141.txt b/projects/mtg/bin/Res/ai/baka/deck141.txt index 3ed96eb94..338df8539 100644 --- a/projects/mtg/bin/Res/ai/baka/deck141.txt +++ b/projects/mtg/bin/Res/ai/baka/deck141.txt @@ -1,90 +1,82 @@ -#NAME:Omnath Commander -#DESC:The Budget league Omnath Deck +#NAME:Omnath Commander 2023 +#DESC:Deck concept by HurricaneHands +#DESC:(tappedout.net) +#DESC:Refined for Wagic by Bob #HINT:castpriority(commander,*) -Smokebraider (*) *1 -Cloudkin Seer (*) *1 -Flickerwisp (*) *1 -Kazandu Mammoth (*) *1 -Risen Reef (*) *1 -Soulherder (*) *1 -Springbloom Druid (*) *1 -Angel of Finality (*) *1 -Archaeomancer (*) *1 -Emeria Angel (*) *1 -Felidar Guardian (*) *1 -Mina and Denn, Wildborn (*) *1 -Slithermuse (*) *1 -Acidic Slime (*) *1 -Cataclysmic Gearhulk (*) *1 -Cavalier of Thorns (*) *1 -Mnemonic Wall (*) *1 -Mulldrifter (*) *1 -Yorion, Sky Nomad (*) *1 -Multani, Yavimaya's Avatar (*) *1 -Phylath, World Sculptor (*) *1 -Rampaging Baloths (*) *1 -Omnath, Locus of Rage (*) *1 -Ephemerate (*) *1 -Gelatinous Genesis (*) *1 -Path to Exile (*) *1 -Spikefield Hazard (*) *1 -Wildest Dreams (*) *1 -Disdainful Stroke (*) *1 -Growth Spiral (*) *1 -Reap the Past (*) *1 -Sejiri Shelter (*) *1 -Starstorm (*) *1 -Eerie Interlude (*) *1 -Far Wanderings (*) *1 -Ghostly Flicker (*) *1 -Harrow (*) *1 -Release to the Wind (*) *1 -Roiling Regrowth (*) *1 -Silundi Vision (*) *1 -Whirlwind Denial (*) *1 -Circuitous Route (*) *1 -Crush Contraband (*) *1 -Fact or Fiction (*) *1 -Summary Dismissal (*) *1 -Sylvan Reclamation (*) *1 -Time Wipe (*) *1 -Tragic Arrogance (*) *1 -Urban Evolution (*) *1 -Austere Command (*) *1 -Hour of Revelation (*) *1 -Nissa's Renewal (*) *1 -Sublime Epiphany (*) *1 -Ondu Inversion (*) *1 -Khalni Heart Expedition (*) *1 -Rites of Flourishing (*) *1 -Court of Bounty (*) *1 -Felidar Retreat (*) *1 -Retreat to Emeria (*) *1 -Wilderness Reclamation (*) *1 -Zendikar's Roil (*) *1 -Blighted Woodland (*) *1 -Command Tower (*) *1 -Evolving Wilds (*) *1 -Exotic Orchard (*) *1 -Field of Ruin (*) *1 -Forest (*) *7 -Frontier Bivouac (*) *1 -Gruul Guildgate (*) *1 -Gruul Turf (*) *1 -Island (*) *3 -Jungle Shrine (*) *1 -Krosan Verge (*) *1 -Mountain (*) *4 -Myriad Landscape (*) *1 -Mystic Monastery (*) *1 -Naya Panorama (*) *1 -Path of Ancestry (*) *1 -Plains (*) *4 -Scavenger Grounds (*) *1 -Seaside Citadel (*) *1 -Selesnya Guildgate (*) *1 -Selesnya Sanctuary (*) *1 -Simic Growth Chamber (*) *1 -Simic Guildgate (*) *1 -Terramorphic Expanse (*) *1 -#CMD:Omnath, Locus of Creation (*) *1 \ No newline at end of file +Ancient Greenwarden +Avenger of Zendikar +Azusa, Lost but Seeking +Blighted Woodland +Cinder Glade +Circuitous Route +Command Tower +Commander's Sphere +Court of Bounty +Courser of Kruphix +Crash of Rhino Beetles +Crucible of Worlds +Cultivate +Doubling Season +Dragonmaster Outcast +Elvish Reclaimer +Evolving Wilds +Explore +Farseek +Far Wanderings +Feed the Clan +Fiery Emancipation +Forest (ZEN) *4 +Forest (ONE) *4 +Forest (NEO) *4 +Forest (SNC) *4 +Forest (M10) *4 +Forest +Gaea's Revenge +Gruul Guildgate +Harrow +Incandescent Soulstoke +Khalni Heart Expedition +Liege of the Tangle +Lotus Cobra +Mina and Denn, Wildborn +Mountain (ONE) *4 +Mountain (NEO) *4 +Mountain *4 +Multani, Yavimaya's Avatar +Myriad Landscape +Naturalize (8ED) +Nissa's Renewal +Nissa, Vastwood Seer +Nissa, Worldwaker +Nissa's Zendikon +Nyxbloom Ancient +Phylath, World Sculpture +Phytotitan +Radha, Heart of Keld +Rampaging Baloths +Rampant Growth +Ranger's Path +Rhythm of the Wild +Rites of Flourishing +Roiling Regrowth +Rootbound Crag +Rubblehulk +Sarkhan's Unsealing +Scute Mob +Scute Swarm +Second Harvest +Skyshroud Claim +Sol Ring +Temple of Abandon +Terramorphic Expanse +Terror of the Peaks +Thicket Crasher +Tornado Elemental +Undergrowth Champion +Vandalblast +Warstorm Surge +Where Ancients Tread +Wooded Foothills +Zendikar Incarnate +Zendikar's Roil +#CMD:Omnath, Locus of Rage (*) *1 \ No newline at end of file diff --git a/projects/mtg/bin/Res/createResourceZip.py b/projects/mtg/bin/Res/createResourceZip.py index 600c3dc01..028965643 100644 --- a/projects/mtg/bin/Res/createResourceZip.py +++ b/projects/mtg/bin/Res/createResourceZip.py @@ -49,7 +49,8 @@ def createStandardResFile(filename): if not filename: filename = getFilename() + '.zip' createResZipFile( filename ) - print('Created Resource Package for Standard Distribution: {0}'.format(filename), file=sys.stderr) + #print('Created Resource Package for Standard Distribution: {0}'.format(filename), file=sys.stderr) + print >> sys.stderr, 'Created Resource Package for Standard Distribution: {0}'.format( filename) def createIosResFile(filename): print('Preparing Resource Package for iOS') @@ -61,7 +62,8 @@ def createIosResFile(filename): zip_file.write("../../iOS/Res/rules/modrules.xml", "rules/modrules.xml", zipfile.ZIP_STORED) zip_file.close() - print('Created Resource Package for Standard Distribution: {0}'.format(filename), file=sys.stderr) + #print('Created Resource Package for Standard Distribution: {0}'.format(filename), file=sys.stderr) + print >> sys.stderr, 'Created Resource Package for iOS Distribution: {0}'.format( filename) class ZipUtilities: diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/C17.txt b/projects/mtg/bin/Res/missing_cards_by_sets/C17.txt index 4f04fff44..951bfea7c 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/C17.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/C17.txt @@ -60,7 +60,7 @@ name=Portal Mage abilities=flash auto=phasealter(remove,combatphases,controller) auto=nextphasealter(add,combatphases,controller,after) -text=Flash -- When Portal Mage enters the battlefield during the declare attackers step, you may reselect which player or planeswalker target attacking creature is attacking. (It canÂ’t attack its controller or its controllerÂ’s planeswalkers.) +text=Flash -- When Portal Mage enters the battlefield during the declare attackers step, you may reselect which player or planeswalker target attacking creature is attacking. (It can?t attack its controller or its controller?s planeswalkers.) mana={2}{U} type=Creature subtype=Human Wizard diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/C20.txt b/projects/mtg/bin/Res/missing_cards_by_sets/C20.txt index cd8648d3d..9ef900068 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/C20.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/C20.txt @@ -78,7 +78,7 @@ name=Portal Mage abilities=flash auto=phasealter(remove,combatphases,controller) auto=nextphasealter(add,combatphases,controller,after) -text=Flash -- When Portal Mage enters the battlefield during the declare attackers step, you may reselect which player or planeswalker target attacking creature is attacking. (It canÂ’t attack its controller or its controllerÂ’s planeswalkers.) +text=Flash -- When Portal Mage enters the battlefield during the declare attackers step, you may reselect which player or planeswalker target attacking creature is attacking. (It can?t attack its controller or its controller?s planeswalkers.) mana={2}{U} type=Creature subtype=Human Wizard diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/H17.txt b/projects/mtg/bin/Res/missing_cards_by_sets/H17.txt index 5a51cc44f..7c380c736 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/H17.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/H17.txt @@ -1,6 +1,6 @@ [card] name=Nerf War -text=Fire a Nerf blaster until empty at target library from at least two meters away. For each card knocked off that library, put it into its ownerÂ’s graveyard and Nerf War deals ½ damage to that player. (Foam darts only.) +text=Fire a Nerf blaster until empty at target library from at least two meters away. For each card knocked off that library, put it into its owner?s graveyard and Nerf War deals ½ damage to that player. (Foam darts only.) mana={3}{U}{R} type=Sorcery [/card] diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt b/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt index 6c21747e8..02fe10c32 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/MOC.txt @@ -1,4 +1,313 @@ [card] +name=Saint Traft and Rem Karolus +auto=@tapped(this):create(human:creature human:1/1:red) +auto=@movedTo(|mystack):untap saint traft && rem karolus +text=Whenever Saint Traft and Rem Karolus becomes tapped, create a 1/1 red Human creature token if this is the first time this ability has resolved this turn. If it's the second time, create a 1/1 blue Spirit creature token with flying. If it's the third time, create a 4/4 white Angel creature token with flying. -- Whenever you cast a spell that has convoke, untap Saint Traft and Rem Karolus. +mana={U}{R}{W} +type=Legendary Creature +subtype=Spirit Human +power=3 +toughness=4 +[/card] +[card] +name=Rashmi and Ragavan +auto=lord(creature|myBattlefield) opponent's library and create a treasure token. then you may cast the exiled card without paying its mana cost if it's a spell with mana value less than the number of artifacts you control. if you don't cast it this way, you may cast it this turn +text=Whenever you cast your first spell during each of your turns, exile the top card of target opponent's library and create a Treasure token. Then you may cast the exiled card without paying its mana cost if it's a spell with mana value less than the number of artifacts you control. If you don't cast it this way, you may cast it this turn. +mana={1}{G}{U}{R} +type=Legendary Creature +subtype=Elf Monkey +power=2 +toughness=4 +[/card] +[card] +name=Elenda and Azor +abilities=flying +auto=Flying_WARD_(2) +auto=_ATTACKING_may pay( {x}{w}{u}{b} draw x cards +auto=@each endofturn:create(1/1 black vampire knight:creature 1/1 black vampire knight:number:of:lifelink equal to the number of cards you've drawn this turn) +text=Flying, ward {2} -- Whenever Elenda and Azor attacks, you may pay {X}{W}{U}{B}. If you do, draw X cards. -- At the beginning of each end step, you may pay 4 life. If you do, create a number of 1/1 black Vampire Knight creature tokens with lifelink equal to the number of cards you've drawn this turn. +mana={3}{W}{U}{B} +type=Legendary Creature +subtype=Vampire Knight Sphinx +power=6 +toughness=6 +[/card] +[card] +name=Elspeth's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[+1]: Create three 1/1 white Soldier creature tokens" +auto=teach(creature) Whenever you activateloyalty ability of enchanted planeswalker creatures you control get +2/+2 +auto=teach(creature) gain vigilance +text=Enchant planeswalker -- Enchanted planeswalker has "[+1]: Create three 1/1 white Soldier creature tokens." -- Whenever you activate a loyalty ability of enchanted planeswalker, creatures you control get +2/+2 and gain vigilance until end of turn. +mana={2}{W}{W} +type=Enchantment +subtype=Aura +[/card] +[card] +name=Teferi's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[-12]: You get an emblem with 'You may activate loyalty abilities of planeswalkers you control on any player's turn any time you could cast an instant'" +auto=teach(creature) Whenever you drawcard putloyalty counter on enchanted planeswalker +text=Enchant planeswalker -- Enchanted planeswalker has "[-12]: You get an emblem with 'You may activate loyalty abilities of planeswalkers you control on any player's turn any time you could cast an instant.'" -- Whenever you draw a card, put a loyalty counter on enchanted planeswalker. +mana={3}{U}{U} +type=Enchantment +subtype=Aura +[/card] +[card] +name=Rowan's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[+1]: Up to one target creature +auto=teach(creature) +2/+0 +auto=teach(creature) first strike +auto=teach(creature) trample " +auto=teach(creature) Whenever you activateloyalty ability of enchanted planeswalker copy that ability You may choose new targets for the copy +text=Enchant planeswalker -- Enchanted planeswalker has "[+1]: Up to one target creature gets +2/+0 and gains first strike and trample until end of turn." -- Whenever you activate a loyalty ability of enchanted planeswalker, copy that ability. You may choose new targets for the copy. +mana={2}{R}{R} +type=Enchantment +subtype=Aura +[/card] +[card] +name=Begin the Invasion +search your library for up x battle cards with different names, put them onto the battlefield && shuffle +auto=Search your library for up to X battle cards with different names put them onto the battlefield then shuffle +text=Search your library for up to X battle cards with different names, put them onto the battlefield, then shuffle. +mana={X}{W}{U}{B}{R}{G} +type=Sorcery +[/card] +[card] +name=Kasla, the Broken Halo +abilities=flying,haste,vigilance +auto=@movedTo(nother|mystack):auto=_SCRY_(2) +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.) -- Flying, vigilance, haste -- Whenever you cast another spell that has convoke, scry 2, then draw a card. +mana={3}{U}{R}{W} +type=Legendary Creature +subtype=Angel Ally +power=5 +toughness=4 +[/card] +[card] +name=Gimbal, Gremlin Prodigy +auto=lord(other creature|myBattlefield) trample +auto=lord(creature|myBattlefield) +auto=@each my endofturn:create(gremlin artifact:creature gremlin artifact:0/0:red) +text=Artifact creatures you control have trample. -- At the beginning of your end step, create a 0/0 red Gremlin artifact creature token. Put X +1/+1 counters on it, where X is the number of differently named artifact tokens you control. +mana={2}{G}{U}{R} +type=Legendary Creature +subtype=Gremlin Artificer +power=4 +toughness=4 +[/card] +[card] +name=Bright-Palm, Soul Awakener +auto=cantbeblockedby(creature[power<=2]) +auto=@this creature attacksdouble the number of counter(1/1)starget(creature that creature unblockable by creature with power 2,less this turn +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 attacks, double the number of +1/+1 counters on target creature. That creature can't be blocked by creatures with power 2 or less this turn. +mana={1}{R}{G}{W} +type=Legendary Creature +subtype=Fox Shaman +power=4 +toughness=3 +[/card] +[card] +name=Wildfire Awakener +auto=create(elemental:creature elemental:1/1:red:"whenever this creature becomes tapped, it deals 1 damage to target player)x +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.) -- When Wildfire Awakener enters the battlefield, create X 1/1 red Elemental creature tokens with "Whenever this creature becomes tapped, it deals 1 damage to target player." +mana={X}{1}{R}{W} +type=Creature +subtype=Human Wizard +power=3 +toughness=2 +[/card] +[card] +name=Flockchaser Phantom +abilities=flying,vigilance +auto=_ATTACKING_the next spell you cast this turn) convoke +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.) -- Flying, vigilance -- Whenever Flockchaser Phantom attacks, the next spell you cast this turn has convoke. +mana={4}{W}{U} +type=Creature +subtype=Spirit +power=5 +toughness=5 +[/card] +[card] +name=Cutthroat Negotiator +auto=Parley ? _ATTACKING_token(Treasure,Artifact Treasure) and!( transforms((,newability[{T}{S}:Add{W}])(,newability[{T}{S}:Add{R}])(,newability[{T}{S}:Add{G}])(,newability[{T}{S}:Add{U}])(,newability[{T}{S}:Add{B}])) forever )! +auto=foreach(|myBattlefield) +text=Parley ? Whenever Cutthroat Negotiator attacks, each player reveals the top card of their library. For each nonland card revealed this way, you create a tapped Treasure token. Then each player draws a card. +mana={2}{U}{R} +type=Creature +subtype=Orc Pirate +power=4 +toughness=3 +[/card] +[card] +name=Sandsteppe War Riders +abilities=trample +auto=lord(creature|myBattlefield) +auto=@each my combatbegins:bolster x, where x is the number of differently named artifact tokens|myBattlefield) +text=Trample -- At the beginning of combat on your turn, bolster X, where X is the number of differently named artifact tokens you control. (Choose a creature with the least toughness among creatures you control and put X +1/+1 counters on it.) +mana={3}{G} +type=Creature +subtype=Human Warrior +power=4 +toughness=4 +[/card] +[card] +name=Emergent Woodwurm +auto=@this creature attackslook at the top x cards of your library, where x is its power may permanent card with mana value x,less from among them onmoveTo(mybattlefield) put the restthe bottom of your library in a random order +text=Backup 3 (When this creature enters the battlefield, put three +1/+1 counters on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature attacks, look at the top X cards of your library, where X is its power. You may put a permanent card with mana value X or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order. +mana={6}{G} +type=Creature +subtype=Wurm +power=4 +toughness=4 +[/card] +[card] +name=Conclave Sledge-Captain +abilities=trample +auto=@combatdamaged(player) from(this): +auto=@this creature deals combat damage to a playerput that many counter(1/1)sit +text=Backup 1, backup 1, 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. Each backup ability triggers separately.) -- Trample -- Whenever this creature deals combat damage to a player, put that many +1/+1 counters on it. +mana={5}{G} +type=Creature +subtype=Elephant Soldier +power=4 +toughness=4 +[/card] +[card] +name=Uncivil Unrest +auto=lord(other creature|myBattlefield) riot +text=Nontoken creatures you control have riot. (They enter the battlefield with your choice of a +1/+1 counter or haste.) -- If a creature you control with a +1/+1 counter on it would deal damage to a permanent or player, it deals double that damage instead. +mana={4}{R} +type=Enchantment +[/card] +[card] +name=Mirror-Style Master +auto=@this creature attackscreature +auto=foreach(|myBattlefield) +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 attacks, for each attacking modified creature you control, create a tapped and attacking token that's a copy of that creature. Exile those tokens at end of combat. (Equipment, Auras you control, and counters are modifications.) +mana={4}{R}{R} +type=Creature +subtype=Human Warrior +power=3 +toughness=3 +[/card] +[card] +name=Dance with Calamity +shuffle your library as many times as you choose, may exile the top card of your library if the total mana value of the cards exiled this way is 13,less, may cast any number of spells from among those cards without paying their mana costs +auto=moveto(exile) +auto=Shuffle your library As many times as you choose you may exile the top card of your library If the total mana value of the cards exiled this way13 or less you may cast any number of spells from among those cards without paying their mana costs +text=Shuffle your library. As many times as you choose, you may exile the top card of your library. If the total mana value of the cards exiled this way is 13 or less, you may cast any number of spells from among those cards without paying their mana costs. +mana={7}{R} +type=Sorcery +[/card] +[card] +name=Elenda and Azor +abilities=flying +auto=Flying_WARD_(2) +auto=_ATTACKING_may pay( {x}{w}{u}{b} draw x cards +auto=@each endofturn:create(1/1 black vampire knight:creature 1/1 black vampire knight:number:of:lifelink equal to the number of cards you've drawn this turn) +text=Flying, ward {2} -- Whenever Elenda and Azor attacks, you may pay {X}{W}{U}{B}. If you do, draw X cards. -- At the beginning of each end step, you may pay 4 life. If you do, create a number of 1/1 black Vampire Knight creature tokens with lifelink equal to the number of cards you've drawn this turn. +mana={3}{W}{U}{B} +type=Legendary Creature +subtype=Vampire Knight Sphinx +power=6 +toughness=6 +[/card] +[card] +name=Gimbal, Gremlin Prodigy +auto=lord(other creature|myBattlefield) trample +auto=lord(creature|myBattlefield) +auto=@each my endofturn:create(gremlin artifact:creature gremlin artifact:0/0:red) +text=Artifact creatures you control have trample. -- At the beginning of your end step, create a 0/0 red Gremlin artifact creature token. Put X +1/+1 counters on it, where X is the number of differently named artifact tokens you control. +mana={2}{G}{U}{R} +type=Legendary Creature +subtype=Gremlin Artificer +power=4 +toughness=4 +[/card] +[card] +name=Kasla, the Broken Halo +abilities=flying,haste,vigilance +auto=@movedTo(nother|mystack):auto=_SCRY_(2) +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.) -- Flying, vigilance, haste -- Whenever you cast another spell that has convoke, scry 2, then draw a card. +mana={3}{U}{R}{W} +type=Legendary Creature +subtype=Angel Ally +power=5 +toughness=4 +[/card] +[card] +name=Rashmi and Ragavan +auto=lord(creature|myBattlefield) opponent's library and create a treasure token. then you may cast the exiled card without paying its mana cost if it's a spell with mana value less than the number of artifacts you control. if you don't cast it this way, you may cast it this turn +text=Whenever you cast your first spell during each of your turns, exile the top card of target opponent's library and create a Treasure token. Then you may cast the exiled card without paying its mana cost if it's a spell with mana value less than the number of artifacts you control. If you don't cast it this way, you may cast it this turn. +mana={1}{G}{U}{R} +type=Legendary Creature +subtype=Elf Monkey +power=2 +toughness=4 +[/card] +[card] +name=Saint Traft and Rem Karolus +auto=@tapped(this):create(human:creature human:1/1:red) +auto=@movedTo(|mystack):untap saint traft && rem karolus +text=Whenever Saint Traft and Rem Karolus becomes tapped, create a 1/1 red Human creature token if this is the first time this ability has resolved this turn. If it's the second time, create a 1/1 blue Spirit creature token with flying. If it's the third time, create a 4/4 white Angel creature token with flying. -- Whenever you cast a spell that has convoke, untap Saint Traft and Rem Karolus. +mana={U}{R}{W} +type=Legendary Creature +subtype=Spirit Human +power=3 +toughness=4 +[/card] +[card] +name=Kasla, the Broken Halo +abilities=flying,haste,vigilance +auto=@movedTo(nother|mystack):auto=_SCRY_(2) +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.) -- Flying, vigilance, haste -- Whenever you cast another spell that has convoke, scry 2, then draw a card. +mana={3}{U}{R}{W} +type=Legendary Creature +subtype=Angel Ally +power=5 +toughness=4 +[/card] +[card] +name=Blight Titan +abilities=deathtouch +auto=@ or attacksdeplete:2 && incubate x, where x is the number of creature cards in your graveyard +text=Deathtouch -- Whenever Blight Titan enters the battlefield or attacks, mill two cards, then incubate X, where X is the number of creature cards in your graveyard. (Create an Incubator token with X +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={4}{B}{B} +type=Creature +subtype=Phyrexian Giant +power=6 +toughness=6 +[/card] +[card] +name=Wand of the Worldsoul +auto=tapped +auto={T}:add {w} +auto={T}:Add{W} +auto={T}:the next spell you cast this turn) convoke +text=Wand of the Worldsoul enters the battlefield tapped. -- {T}: Add {W}. -- {T}: The next spell you cast this turn has convoke. +mana={2}{W} +type=Artifact +[/card] +[card] +name=Vulpine Harvester +auto=lord(creature|myBattlefield) artifact card from your graveyard to the battlefield if its mana value is less than or equal to their total power +auto=@one or more Phyrexians you control attacktarget(artifact|mygraveyard) the battlefield if its mana value is less than,equal their total power +text=Whenever one or more Phyrexians you control attack, return target artifact card from your graveyard to the battlefield if its mana value is less than or equal to their total power. +mana={3}{W} +type=Creature +subtype=Phyrexian Fox +power=3 +toughness=3 +[/card] +[card] name=Stronghold Furnace text=If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead. -- Whenever you roll {C}, Stronghold Furnace deals 1 damage to target creature or player. type=Plane @@ -114,6 +423,125 @@ type=Plane subtype=Dominaria [/card] [card] +name=Megaflora Jungle +auto=@chaos ensuescreate(insect:creature insect:1/1:green:flying named butterfly) +text=Each creature with mana value 2 or less gets +2/+2. -- Whenever chaos ensues, create a 1/1 green Insect creature token with flying named Butterfly. +mana=null +type=Plane +subtype=Gargantikar +[/card] +[card] +name=Naktamun +auto=@chaos ensuesmay ability$!name(discard) reject notatarget(*|myhand)!$ draw:1 +text=Each creature card in your graveyard has embalm. Its embalm cost is equal to its mana cost. (Exile a creature card from your graveyard and pay its embalm cost: Create a token that's a copy of it, except it's a white Zombie in addition to its other types with no mana cost. Embalm only as a sorcery.) -- Whenever chaos ensues, you may discard a card. If you do, draw a card. +mana=null +type=Plane +subtype=Amonkhet +[/card] +[card] +name=New Argive +auto=@historic creature you control attacks2/2 ueot +auto=@chaos ensuesreveal cards from the top of your library until you reveal a artifact,*[legendary],enchantment[saga] card put that card inmoveto(ownerhand) && the restthe bottom of your library in a random order +text=Whenever a historic creature you control attacks, it gets +2/+2 until end of turn. (Artifacts, legendaries, and Sagas are historic.) -- Whenever chaos ensues, reveal cards from the top of your library until you reveal a historic card. Put that card into your hand and the rest on the bottom of your library in a random order. +mana=null +type=Plane +subtype=Dominaria +[/card] +[card] +name=Norn's Seedcore +auto=@chaos ensuesreveal cards from the top of your planar deck until you reveal a plane card planeswalk it, except don't planeswalk away from any plane put the rest of the revealed cardsthe bottom of your planar deck in any order +text=When you planeswalk to Norn's Seedcore, chaos ensues. -- Whenever chaos ensues, reveal cards from the top of your planar deck until you reveal a plane card. Planeswalk to it, except don't planeswalk away from any plane. Put the rest of the revealed cards on the bottom of your planar deck in any order. +mana=null +type=Plane +subtype=New Phyrexia +[/card] +[card] +name=The Fertile Lands of Saulvinia +auto=@player taps a land for manathat player adds one mana of any type that land produced +auto=@chaos ensuesreveal cards from the top of your planar deck until you reveal a plane card chaos ensuesthat plane then put all cards revealed this waythe bottom of your planar deck in any order +text=Whenever a player taps a land for mana, that player adds one mana of any type that land produced. -- Whenever chaos ensues, reveal cards from the top of your planar deck until you reveal a plane card. Chaos ensues on that plane. Then put all cards revealed this way on the bottom of your planar deck in any order. +mana=null +type=Plane +subtype=Antausia +[/card] +[card] +name=Ghirapur +abilities=haste +auto=@each my combatbegins:ueot, all(noncreature, non-vehicle artifact|myBattlefield) becomes a 5/3 vehicle in addition its other types && trample, haste, && crew 2 +auto=@chaos ensuestarget(noncreature artifact|mygraveyard) moveto(ownerhand) +text=At the beginning of combat on your turn, until end of turn, each noncreature, non-Vehicle artifact you control becomes a 5/3 Vehicle in addition to its other types and gains trample, haste, and crew 2. -- Whenever chaos ensues, return target noncreature artifact card from your graveyard to your hand. +mana=null +type=Plane +subtype=Kaladesh +[/card] +[card] +name=The Golden City of Orazca +auto=lord(other creature|myBattlefield) the city's blessing +auto=@one or more creatures you control deal combat damage to a playertoken(Treasure,Artifact Treasure) and!( transforms((,newability[{T}{S}:Add{W}])(,newability[{T}{S}:Add{R}])(,newability[{T}{S}:Add{G}])(,newability[{T}{S}:Add{U}])(,newability[{T}{S}:Add{B}])) forever )! +auto=@chaos ensuesmay permanent card from your hand onto the battlefield tapped +text=Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.) -- Whenever one or more creatures you control deal combat damage to a player, create a Treasure token. Then draw a card if you have the city's blessing. -- Whenever chaos ensues, you may put a permanent card from your hand onto the battlefield tapped. +mana=null +type=Plane +subtype=Ixalan +[/card] +[card] +name=The Great Aerie +auto=@chaos ensueschoose target(creature|myBattlefield) && target(creature|opponentBattlefield) all(of those creature deals damage equal its toughness the other +text=When you planeswalk to The Great Aerie and at the beginning of your upkeep, bolster 3. (Choose a creature with the least toughness among creatures you control and put three +1/+1 counters on it.) -- Whenever chaos ensues, choose up to one target creature you control and up to one target creature an opponent controls. Each of those creatures deals damage equal to its toughness to the other. +mana=null +type=Plane +subtype=Tarkir +[/card] +[card] +name=Inys Haen +auto=@chaos ensuestarget(nonland|mygraveyard) moveto(ownerhand) +text=When you planeswalk to Inys Haen and at the beginning of your upkeep, mill three cards. -- When you planeswalk away from Inys Haen, each player returns all land cards from their graveyard to the battlefield tapped. -- Whenever chaos ensues, return target nonland card from your graveyard to your hand. +mana=null +type=Plane +subtype=Cridhe +[/card] +[card] +name=Ketria +auto=@chaos ensuesexile cards from the top of your library until you exile a nonland permanent card put that card onto the battlefield,inmoveto(ownerhand) +text=When you planeswalk to Ketria and at the beginning of your upkeep, put your choice of a vigilance, menace, or trample counter on target creature you control. -- Whenever chaos ensues, exile cards from the top of your library until you exile a nonland permanent card. Put that card onto the battlefield or into your hand. +mana=null +type=Plane +subtype=Ikoria +[/card] +[card] +name=Littjara +auto=@chaos ensueschoose a creature type counter(1/1)all(creature|myBattlefield) of that type +text=When you planeswalk to Littjara and at the beginning of your upkeep, create a 2/2 blue Shapeshifter creature token with changeling. (It is every creature type.) -- Whenever chaos ensues, choose a creature type. Put a +1/+1 counter on each creature you control of that type. +mana=null +type=Plane +subtype=Kaldheim +[/card] +[card] +name=The Caldaia +auto=@chaos ensuestarget(creature|mygraveyard) moveto(ownerhand) +text=Creature spells you cast from your hand have blitz {3}. (If you cast a 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.) -- Whenever chaos ensues, return target creature card from your graveyard to your hand. +mana=null +type=Plane +subtype=Capenna +[/card] +[card] +name=Enigma Ridges +auto=@chaos ensuesdraw:1 && may land card from your hand onmoveTo(mybattlefield) +text=When you planeswalk to Enigma Ridges, each player who controls fewer lands than the player who controls the most lands searches their library for a number of basic land cards less than or equal to the difference, reveals them, puts them into their hand, then shuffles. -- Whenever chaos ensues, draw a card, then you may put a land card from your hand onto the battlefield. +mana=null +type=Plane +subtype=Echoir +[/card] +[card] +name=Esper +auto=all(other creature|myBattlefield)s vigilance, menace, and lifelink +auto=@chaos ensuescreature|myBattlefield) that are white, blue, and/or black become artifacts in addition their other types ueot then all(artifact creature|myBattlefield)) vigilance, menace, && lifelink ueot +text=Artifact spells cost {1} less to cast. -- Whenever chaos ensues, creatures you control that are white, blue, and/or black become artifacts in addition to their other types until end of turn. Then each artifact creature you control gains vigilance, menace, and lifelink until end of turn. +mana=null +type=Plane +subtype=Alara +[/card] +[card] name=Strionic Resonator text={2}, {T}: Copy target triggered ability you control. You may choose new targets for the copy. (A triggered ability uses the words "when," "whenever," or "at.") mana={2} @@ -126,8 +554,315 @@ mana={3} type=Artifact [/card] [card] +name=Flockchaser Phantom +abilities=flying,vigilance +auto=_ATTACKING_the next spell you cast this turn) convoke +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.) -- Flying, vigilance -- Whenever Flockchaser Phantom attacks, the next spell you cast this turn has convoke. +mana={4}{W}{U} +type=Creature +subtype=Spirit +power=5 +toughness=5 +[/card] +[card] +name=Elspeth's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[+1]: Create three 1/1 white Soldier creature tokens" +auto=teach(creature) Whenever you activateloyalty ability of enchanted planeswalker creatures you control get +2/+2 +auto=teach(creature) gain vigilance +text=Enchant planeswalker -- Enchanted planeswalker has "[+1]: Create three 1/1 white Soldier creature tokens." -- Whenever you activate a loyalty ability of enchanted planeswalker, creatures you control get +2/+2 and gain vigilance until end of turn. +mana={2}{W}{W} +type=Enchantment +subtype=Aura +[/card] +[card] +name=Teferi's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[-12]: You get an emblem with 'You may activate loyalty abilities of planeswalkers you control on any player's turn any time you could cast an instant'" +auto=teach(creature) Whenever you drawcard putloyalty counter on enchanted planeswalker +text=Enchant planeswalker -- Enchanted planeswalker has "[-12]: You get an emblem with 'You may activate loyalty abilities of planeswalkers you control on any player's turn any time you could cast an instant.'" -- Whenever you draw a card, put a loyalty counter on enchanted planeswalker. +mana={3}{U}{U} +type=Enchantment +subtype=Aura +[/card] +[card] +name=Wildfire Awakener +auto=create(elemental:creature elemental:1/1:red:"whenever this creature becomes tapped, it deals 1 damage to target player)x +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.) -- When Wildfire Awakener enters the battlefield, create X 1/1 red Elemental creature tokens with "Whenever this creature becomes tapped, it deals 1 damage to target player." +mana={X}{1}{R}{W} +type=Creature +subtype=Human Wizard +power=3 +toughness=2 +[/card] +[card] +name=Rowan's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[+1]: Up to one target creature +auto=teach(creature) +2/+0 +auto=teach(creature) first strike +auto=teach(creature) trample " +auto=teach(creature) Whenever you activateloyalty ability of enchanted planeswalker copy that ability You may choose new targets for the copy +text=Enchant planeswalker -- Enchanted planeswalker has "[+1]: Up to one target creature gets +2/+0 and gains first strike and trample until end of turn." -- Whenever you activate a loyalty ability of enchanted planeswalker, copy that ability. You may choose new targets for the copy. +mana={2}{R}{R} +type=Enchantment +subtype=Aura +[/card] +[card] +name=Begin the Invasion +search your library for up x battle cards with different names, put them onto the battlefield && shuffle +auto=Search your library for up to X battle cards with different names put them onto the battlefield then shuffle +text=Search your library for up to X battle cards with different names, put them onto the battlefield, then shuffle. +mana={X}{W}{U}{B}{R}{G} +type=Sorcery +[/card] +[card] +name=Bright-Palm, Soul Awakener +auto=cantbeblockedby(creature[power<=2]) +auto=@this creature attacksdouble the number of counter(1/1)starget(creature that creature unblockable by creature with power 2,less this turn +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 attacks, double the number of +1/+1 counters on target creature. That creature can't be blocked by creatures with power 2 or less this turn. +mana={1}{R}{G}{W} +type=Legendary Creature +subtype=Fox Shaman +power=4 +toughness=3 +[/card] +[card] +name=Gimbal, Gremlin Prodigy +auto=lord(other creature|myBattlefield) trample +auto=lord(creature|myBattlefield) +auto=@each my endofturn:create(gremlin artifact:creature gremlin artifact:0/0:red) +text=Artifact creatures you control have trample. -- At the beginning of your end step, create a 0/0 red Gremlin artifact creature token. Put X +1/+1 counters on it, where X is the number of differently named artifact tokens you control. +mana={2}{G}{U}{R} +type=Legendary Creature +subtype=Gremlin Artificer +power=4 +toughness=4 +[/card] +[card] +name=Cutthroat Negotiator +auto=Parley ? _ATTACKING_token(Treasure,Artifact Treasure) and!( transforms((,newability[{T}{S}:Add{W}])(,newability[{T}{S}:Add{R}])(,newability[{T}{S}:Add{G}])(,newability[{T}{S}:Add{U}])(,newability[{T}{S}:Add{B}])) forever )! +auto=foreach(|myBattlefield) +text=Parley ? Whenever Cutthroat Negotiator attacks, each player reveals the top card of their library. For each nonland card revealed this way, you create a tapped Treasure token. Then each player draws a card. +mana={2}{U}{R} +type=Creature +subtype=Orc Pirate +power=4 +toughness=3 +[/card] +[card] +name=Bright-Palm, Soul Awakener +auto=cantbeblockedby(creature[power<=2]) +auto=@this creature attacksdouble the number of counter(1/1)starget(creature that creature unblockable by creature with power 2,less this turn +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 attacks, double the number of +1/+1 counters on target creature. That creature can't be blocked by creatures with power 2 or less this turn. +mana={1}{R}{G}{W} +type=Legendary Creature +subtype=Fox Shaman +power=4 +toughness=3 +[/card] +[card] +name=Mirror-Style Master +auto=@this creature attackscreature +auto=foreach(|myBattlefield) +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 attacks, for each attacking modified creature you control, create a tapped and attacking token that's a copy of that creature. Exile those tokens at end of combat. (Equipment, Auras you control, and counters are modifications.) +mana={4}{R}{R} +type=Creature +subtype=Human Warrior +power=3 +toughness=3 +[/card] +[card] +name=Uncivil Unrest +auto=lord(other creature|myBattlefield) riot +text=Nontoken creatures you control have riot. (They enter the battlefield with your choice of a +1/+1 counter or haste.) -- If a creature you control with a +1/+1 counter on it would deal damage to a permanent or player, it deals double that damage instead. +mana={4}{R} +type=Enchantment +[/card] +[card] +name=Conclave Sledge-Captain +abilities=trample +auto=@combatdamaged(player) from(this): +auto=@this creature deals combat damage to a playerput that many counter(1/1)sit +text=Backup 1, backup 1, 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. Each backup ability triggers separately.) -- Trample -- Whenever this creature deals combat damage to a player, put that many +1/+1 counters on it. +mana={5}{G} +type=Creature +subtype=Elephant Soldier +power=4 +toughness=4 +[/card] +[card] +name=Emergent Woodwurm +auto=@this creature attackslook at the top x cards of your library, where x is its power may permanent card with mana value x,less from among them onmoveTo(mybattlefield) put the restthe bottom of your library in a random order +text=Backup 3 (When this creature enters the battlefield, put three +1/+1 counters on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature attacks, look at the top X cards of your library, where X is its power. You may put a permanent card with mana value X or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order. +mana={6}{G} +type=Creature +subtype=Wurm +power=4 +toughness=4 +[/card] +[card] +name=Sandsteppe War Riders +abilities=trample +auto=lord(creature|myBattlefield) +auto=@each my combatbegins:bolster x, where x is the number of differently named artifact tokens|myBattlefield) +text=Trample -- At the beginning of combat on your turn, bolster X, where X is the number of differently named artifact tokens you control. (Choose a creature with the least toughness among creatures you control and put X +1/+1 counters on it.) +mana={3}{G} +type=Creature +subtype=Human Warrior +power=4 +toughness=4 +[/card] +[card] +name=Dance with Calamity +shuffle your library as many times as you choose, may exile the top card of your library if the total mana value of the cards exiled this way is 13,less, may cast any number of spells from among those cards without paying their mana costs +auto=moveto(exile) +auto=Shuffle your library As many times as you choose you may exile the top card of your library If the total mana value of the cards exiled this way13 or less you may cast any number of spells from among those cards without paying their mana costs +text=Shuffle your library. As many times as you choose, you may exile the top card of your library. If the total mana value of the cards exiled this way is 13 or less, you may cast any number of spells from among those cards without paying their mana costs. +mana={7}{R} +type=Sorcery +[/card] +[card] +name=Blight Titan +abilities=deathtouch +auto=@ or attacksdeplete:2 && incubate x, where x is the number of creature cards in your graveyard +text=Deathtouch -- Whenever Blight Titan enters the battlefield or attacks, mill two cards, then incubate X, where X is the number of creature cards in your graveyard. (Create an Incubator token with X +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={4}{B}{B} +type=Creature +subtype=Phyrexian Giant +power=6 +toughness=6 +[/card] +[card] +name=Vulpine Harvester +auto=lord(creature|myBattlefield) artifact card from your graveyard to the battlefield if its mana value is less than or equal to their total power +auto=@one or more Phyrexians you control attacktarget(artifact|mygraveyard) the battlefield if its mana value is less than,equal their total power +text=Whenever one or more Phyrexians you control attack, return target artifact card from your graveyard to the battlefield if its mana value is less than or equal to their total power. +mana={3}{W} +type=Creature +subtype=Phyrexian Fox +power=3 +toughness=3 +[/card] +[card] +name=Wand of the Worldsoul +auto=tapped +auto={T}:add {w} +auto={T}:Add{W} +auto={T}:the next spell you cast this turn) convoke +text=Wand of the Worldsoul enters the battlefield tapped. -- {T}: Add {W}. -- {T}: The next spell you cast this turn has convoke. +mana={2}{W} +type=Artifact +[/card] +[card] name=Dromoka's Command text=Choose two -- Prevent all damage target instant or sorcery spell would deal this turn. -- Target player sacrifices an enchantment. -- Put a +1/+1 counter on target creature. -- Target creature you control fights target creature you don't control. mana={G}{W} type=Instant [/card] +[card] +name=Towashi +auto=lord(other creature|myBattlefield) trample and "whenever this creature deals combat damage to a player or planeswalker, draw a card +auto=Modified creatures you control have trample and "@this creature deals combat damage to a player or planeswalkerdraw:1" +auto=lord(other creature|myBattlefield) creatures you control +auto=@chaos ensuesdistribute three counter(1/1)s among one, two,,three target(creature|myBattlefield) +text=Modified creatures you control have trample and "Whenever this creature deals combat damage to a player or planeswalker, draw a card." (Equipment, Auras you control, and counters are modifications.) -- Whenever chaos ensues, distribute three +1/+1 counters among one, two, or three target creatures you control. +mana=null +type=Plane +subtype=Kamigawa +[/card] +[card] +name=Unyaro +auto=@each my endofturn:if you planeswalked this turn, untap all creature they phase out until a player planeswalks +auto=@chaos ensuescreate(knight:creature knight:2/2:white,blue:vigilance)*2 +text=At the beginning of your end step, if you planeswalked to Unyaro this turn, untap all creatures. They phase out until a player planeswalks. (Treat them and anything attached to them as though they didn't exist.) -- Whenever chaos ensues, create two 2/2 white and blue Knight creature tokens with vigilance. +mana=null +type=Plane +subtype=Zhalfir +[/card] +[card] +name=Valor's Reach +auto=@your team attacks with exactly two creaturesthose creature) double strike ueot +auto=@chaos ensuesuntap target(creature your team controls if it's a main phase, there is an additional combat phase after this phase, followed by an additional main phase +text=Whenever your team attacks with exactly two creatures, those creatures gain double strike until end of turn. -- Whenever chaos ensues, untap up to two target creatures your team controls. If it's a main phase, there is an additional combat phase after this phase, followed by an additional main phase. +mana=null +type=Plane +subtype=Kylem +[/card] +[card] +name=The Western Cloud +auto=lord(creature|myBattlefield) +auto=@chaos ensuestoken(Treasure,Artifact Treasure) and!( transforms((,newability[{T}{S}:Add{W}])(,newability[{T}{S}:Add{R}])(,newability[{T}{S}:Add{G}])(,newability[{T}{S}:Add{U}])(,newability[{T}{S}:Add{B}])) forever )! +text=Prevent all damage that would be dealt to creatures and planeswalkers you control. -- Whenever chaos ensues, create three tapped Treasure tokens. They each deal 1 damage to each creature and each planeswalker. +mana=null +type=Plane +subtype=Gobakhan +[/card] +[card] +name=The Wilds +auto=@chaos ensuestoken +text=When you planeswalk to The Wilds and at the beginning of your upkeep, create a Food token. -- Whenever chaos ensues, target player sacrifices a creature. If they do, you create a Food token. You create two Food tokens instead if the sacrificed creature's toughness was 4 or greater. +mana=null +type=Plane +subtype=Eldraine +[/card] +[card] +name=Nyx +auto=Constellation ? @an enchantment movedTo(*[]|myBattlefield):life:1 +auto=@chaos ensueschoose a color add an amount of mana of that color equal your devotion that color +text=Nontoken creatures are enchantments in addition to their other types. -- Constellation ? Whenever an enchantment enters the battlefield under your control, you gain 1 life. -- Whenever chaos ensues, choose a color. Add an amount of mana of that color equal to your devotion to that color. +mana=null +type=Plane +subtype=Theros +[/card] +[card] +name=Paliano +auto=lord(other creature|myBattlefield) +auto=@chaos ensuescreate(assassin:creature assassin:1/1:black:deathtouch,haste) +text=When one or more creatures you control deal combat damage to a player, if there is no monarch, you become the monarch. -- Whenever chaos ensues, create a 1/1 black Assassin creature token with deathtouch and haste. +mana=null +type=Plane +subtype=Fiora +[/card] +[card] +name=The Pit +auto=@you planeswalk to The Pitall(player creates their choice of a 3/3 white angel creature token with flying,a 6/6 black demon creature token with flying, trample, && "at the beginning of your upkeep, {S(other creature|mybattlefield)} if you can't, this creature damage:6 you" +auto=@chaos ensuesall(player sacrifices a nonartifact creature +text=When you planeswalk to The Pit, each player creates their choice of a 3/3 white Angel creature token with flying or a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you." -- Whenever chaos ensues, each player sacrifices a nonartifact creature. +mana=null +type=Plane +subtype=The Abyss +[/card] +[card] +name=Riptide Island +auto=all(creature|myBattlefield) haste and get +x/+x , where x is the number of slivers you control +x/+x , where x is the number of slivers you control +auto=@chaos ensuesslivers|myBattlefield)) haste &&) x/x ueot, where x is the number of slivers|myBattlefield) +text=When you planeswalk to Riptide Island and at the beginning of your upkeep, create two 1/1 colorless Sliver creature tokens. -- Whenever chaos ensues, Slivers you control gain haste and get +X/+X until end of turn, where X is the number of Slivers you control. +mana=null +type=Plane +subtype=Dominaria +[/card] +[card] +name=Strixhaven +auto=@chaos ensues target(instant,sorcery card from a graveyard moveto(ownerhand) +text=Instant and sorcery spells players cast have demonstrate. (Whenever a player casts an instant or sorcery spell, they may copy it. If they do, they choose an opponent to also copy it. Players may choose new targets for their copies.) -- Whenever chaos ensues, return up to one target instant or sorcery card from a graveyard to its owner's hand. +mana=null +type=Plane +subtype=Arcavios +[/card] +[card] +name=Ten Wizards Mountain +auto=@roll the planar diecounter(1/1) target(creature +auto=all(other creature|myBattlefield) flying +auto=@chaos ensuescreature|myBattlefield)) flying ueot +text=Whenever you roll the planar die, put a +1/+1 counter on up to one target creature. -- Whenever chaos ensues, creatures you control gain flying until end of turn. +mana=null +type=Plane +subtype=Shenmeng +[/card] diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/PRM.txt b/projects/mtg/bin/Res/missing_cards_by_sets/PRM.txt index 380e3e8d9..1b06baa82 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/PRM.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/PRM.txt @@ -169,7 +169,7 @@ toughness=5 [/card] [card] name=Horizon Boughs -text=All permanents untap during each playerÂ’s untap step. -- Whenever you roll {K}, you may search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle. +text=All permanents untap during each player?s untap step. -- Whenever you roll {K}, you may search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle. type=Plane subtype=Pyrulea [/card] @@ -208,7 +208,7 @@ type=Land [/card] [card] name=Mirrored Depths -text=Whenever a player casts a spell, that player flips a coin. If the player loses the flip, counter that spell. -- Whenever you roll {K}, target player reveals the top card of their library. If itÂ’s a nonland card, you may cast it without paying its mana cost. +text=Whenever a player casts a spell, that player flips a coin. If the player loses the flip, counter that spell. -- Whenever you roll {K}, target player reveals the top card of their library. If it?s a nonland card, you may cast it without paying its mana cost. type=Plane subtype=Karsus [/card] diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/UNH.txt b/projects/mtg/bin/Res/missing_cards_by_sets/UNH.txt index 9a4444b3f..2636f2881 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/UNH.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/UNH.txt @@ -473,7 +473,7 @@ type=Enchantment [/card] [card] name=Red-Hot Hottie -text=Whenever Red-Hot Hottie deals damage to a creature, put a third-degree-burn counter on that creature. It has "At the end of each turn, sacrifice this creature unless you scream ‘Aaah' at the top of your lungs." +text=Whenever Red-Hot Hottie deals damage to a creature, put a third-degree-burn counter on that creature. It has "At the end of each turn, sacrifice this creature unless you scream ?Aaah' at the top of your lungs." mana={2}{R}{R} type=Creature subtype=Elemental diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/UST.txt b/projects/mtg/bin/Res/missing_cards_by_sets/UST.txt index 642095852..8464ebfbf 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/UST.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/UST.txt @@ -619,7 +619,7 @@ toughness=6 [/card] [card] name=Shellephant -text={0}: Choose one. You may activate this ability while Shellephant is in any zone. -- • Shellephant has base power and toughness 1/4. -- • Shellephant has base power and toughness 3/3. +text={0}: Choose one. You may activate this ability while Shellephant is in any zone. -- ? Shellephant has base power and toughness 1/4. -- ? Shellephant has base power and toughness 3/3. mana={1}{G}{G} type=Creature subtype=Turtle and/or Elephant 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 d8fb427b2..6aea05abf 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/missingCardList.txt @@ -84,8 +84,6 @@ Glimmer Lens Elesh Norn, Mother of Machines Melira, the Living Cure Thrun, Breaker of Silence -Jor Kadeen, First Goldwarden -Kemba, Kha Enduring Soulless Jailer Mercurial Spelldancer Tablet of Compleation @@ -101,10 +99,8 @@ Kinzu of the Bleak Coven Serum Snare Red Sun's Twilight Urabrask's Forge -Vindictive Flamestoker Font of Progress Green Sun's Twilight -Venerated Rotpriest Ichormoon Gauntlet Conduit of Worlds Mirran Safehouse @@ -128,10 +124,8 @@ Kethek, Crucible Goliath Atraxa, Grand Unifier Ezuri, Stalker of Spheres Ovika, Enigma Goliath -Urabrask's Anointer Ria Ivor, Bane of Bladehold Malcator, Purity Overseer -Furnace Punisher Necrogen Rotpriest Venser, Corpse Puppet Slobad, Iron Goblin @@ -149,39 +143,30 @@ Tyvar, Jubilant Brawler Lukka, Bound to Ruin Vraska, Betrayal's Sting The Eternal Wanderer -Tamiyo's Logbook Maze's Mantle Lattice-Blade Mantis Noxious Assault Plague Nurse Porcelain Zealot Vanish into Eternity -Armored Scrapgorger -Kuldotha Cackler Magmatic Sprinter Nahiri's Sacrifice Molten Rebuke Rebel Salvo -Shrapnel Slinger Compleat Devotion Churning Reservoir Bladehold War-Whip Forgehammer Centurion Slaughter Singer Flensing Raptor -Indoctrination Attendant Hexgold Slash -Incisor Glider -Phyrexian Atlas Awaken the Sleeper All Will Be One Against All Odds Bladegraft Aspirant Cacophony Scamp -Ravenous Necrotitan Scheming Aspirant Ichorplate Golem -Fleshless Gladiator Serum-Core Chimera Tainted Observer Necrosquito @@ -192,7 +177,6 @@ Cruel Grimnarch Viral Spawning Venomous Brutalizer Trawler Drake -Ambulatory Edifice Watchful Blisterzoa Cinderslash Ravager Anoint with Affliction @@ -218,78 +202,30 @@ Tiller Engine Unite the Coalition Verrak, Warped Sengir Gerrard's Hourglass Pendant +Stangg, Echo Warrior +Sivitri, Dragon Master +Ramirez DePietro, Pillager +Orca, Siege Demon +Rasputin, the Oneiromancer +Jedit Ojanen, Mercenary +Ohabi Caleria +The Lady of Otaria +General Marhault Elsdragon +The Ever-Changing 'Dane +Jasmine Boreal of the Seven +Ayesha Tanaka, Armorer The Mana Rig -Saint Traft and Rem Karolus -Rashmi and Ragavan -Elenda and Azor -Elspeth's Talent -Teferi's Talent -Rowan's Talent -Liliana's Talent -Begin the Invasion -Vivien's Talent -Kasla, the Broken Halo -Gimbal, Gremlin Prodigy -Brimaz, Blight of Oreskos -Bright-Palm, Soul Awakener -Ichor Elixir -Wildfire Awakener -Flockchaser Phantom -Cutthroat Negotiator -Sandsteppe War Riders -Path of the Animist -Emergent Woodwurm -Conclave Sledge-Captain -Uncivil Unrest -Path of the Pyromancer -Mirror-Style Master -Dance with Calamity -Path of the Schemer -Guardian Scalelord -Blight Titan -Path of the Enigma -Deluxe Dragster -Foulmire Knight -Wand of the Worldsoul -Vulpine Harvester -Path of the Ghosthunter +Xira, the Golden Sting +Tobias, Doomed Conqueror +Tetsuo, Imperial Champion +Torsten, Founder of Benalia +Tor Wauki the Younger Stensia Krosa Sokenzan Gavony Jund -Megaflora Jungle -Smitten Swordmaster -Naktamun -New Argive -Norn's Seedcore -The Fertile Lands of Saulvinia -Ghirapur -The Golden City of Orazca -The Great Aerie -Inys Haen -Ketria -Littjara Order of Midnight -Murderous Rider -The Caldaia -Enigma Ridges -Esper -Excise the Imperfect -Wear -Struggle -Heaven -Towashi -Unyaro -Valor's Reach -The Western Cloud -The Wilds -Nyx -Paliano -The Pit -Riptide Island -Strixhaven -Ten Wizards Mountain Chandra, Hope's Beacon Invasion of Azgol Invasion of Amonkhet @@ -786,7 +722,6 @@ Greasefang, Okiba Boss Tales of Master Seshiro Storyweave Spinning Wheel Kick -Shigeki, Jukai Visionary Leech Gauntlet Webspinner Cuff Kami of Terrible Secrets @@ -840,7 +775,6 @@ The Shattered States Era Seismic Wave Behold the Unspeakable Roadside Reliquary -Dokuchi Silencer Awakened Awareness Otawara, Soaring City Heiko Yamazaki, the General @@ -863,7 +797,6 @@ Reckoner Bankbuster Norika Yamazaki, the Poet The Reality Chip Flame Discharge -Tameshi, Reality Architect Michiko's Reign of Truth Mirror Box Blade of the Oni @@ -882,7 +815,6 @@ Assassin's Ink Chainflail Centipede Go-Shintai of Boundless Vigor Reality Heist -Planar Incision Harmonious Emergence The Modern Age Mobilizer Mech @@ -906,7 +838,6 @@ Farid, Enterprising Salvager Hexavus Kayla's Music Box Machine God's Effigy -Scavenged Brawler Smelting Vat Scholar of New Horizons The Brothers' War @@ -934,12 +865,8 @@ Phyrexian Fleshgorger Hostile Negotiations Dreams of Steel and Oil Junkyard Genius -Carrion Locust Gix's Command -Battlefield Butcher -Kill-Zone Acrobat Visions of Phyrexia -Skitterbeam Battalion Gurgling Anointer Over the Top Mechanized Warfare @@ -975,25 +902,19 @@ Weakstone's Subjugation Zephyr Sentinel Wasteful Harvest Urza, Powerstone Prodigy -Shoot Down Soul Partition -Tawnos's Tinkering Sarinth Steelseeker Stone Retrieval Unit Steel Exemplar The Stone Brain The Stasis Coffin Slagstone Refinery -Power Plant Worker -Demolition Field Excavation Explosion -Tower Worker Thran Power Suit Thran Spider Symmetry Matrix Mishra, Claimed by Gix The Mightstone and Weakstone -Recommission Repair and Recharge Powerstone Engineer Horned Stoneseeker @@ -1003,7 +924,6 @@ Meticulous Excavation Sardian Cliffstomper Tomakul Scrapsmith Sibling Rivalry -Raze to the Ground Static Net Great Desert Prospector Liberator, Urza's Battlethopter @@ -1016,4 +936,3 @@ Bladecoil Serpent Sarinth Greatwurm Skyfisher Spider Saheeli, Filigree Master -Mine Worker diff --git a/projects/mtg/bin/Res/sets/CLB/_cards.dat b/projects/mtg/bin/Res/sets/CLB/_cards.dat index 48f0d9e36..4d8bc4177 100644 --- a/projects/mtg/bin/Res/sets/CLB/_cards.dat +++ b/projects/mtg/bin/Res/sets/CLB/_cards.dat @@ -2,9 +2,419 @@ author=Wagic Team name=Commander Legends: Battle for Baldur's Gate year=2022-06-10 -total=849 +total=933 [/meta] [card] +primitive=Devil +id=-571182 +rarity=T +[/card] +[card] +primitive=Treasure +id=-571168 +rarity=T +[/card] +[card] +primitive=Treasure +id=-571166 +rarity=T +[/card] +[card] +primitive=Knight +id=-571163 +rarity=T +[/card] +[card] +primitive=Rabbit +id=-571161 +rarity=T +[/card] +[card] +primitive=Squirrel +id=-571147 +rarity=T +[/card] +[card] +primitive=Skeleton +id=-571139 +rarity=T +[/card] +[card] +primitive=Dragon +id=-571136 +rarity=T +[/card] +[card] +primitive=Dragon +id=-571117 +rarity=T +[/card] +[card] +primitive=Soldier +id=-571113 +rarity=T +[/card] +[card] +primitive=Soldier +id=-571104 +rarity=T +[/card] +[card] +primitive=Devil +id=-570311 +rarity=T +[/card] +[card] +primitive=Treasure +id=-570297 +rarity=T +[/card] +[card] +primitive=Treasure +id=-570295 +rarity=T +[/card] +[card] +primitive=Knight +id=-570292 +rarity=T +[/card] +[card] +primitive=Rabbit +id=-570290 +rarity=T +[/card] +[card] +primitive=Skeleton +id=-570272 +rarity=T +[/card] +[card] +primitive=Dragon +id=-570249 +rarity=T +[/card] +[card] +primitive=Soldier +id=-570248 +rarity=T +[/card] +[card] +primitive=Treasure +id=-569995 +rarity=T +[/card] +[card] +primitive=Wolf +id=-569954 +rarity=T +[/card] +[card] +primitive=Kobold +id=-567716 +rarity=T +[/card] +[card] +primitive=Shapeshifter +id=-567682 +rarity=T +[/card] +[card] +primitive=Satyr +id=-567670 +rarity=T +[/card] +[card] +primitive=Warrior +id=-567663 +rarity=T +[/card] +[card] +primitive=Inkling +id=-567662 +rarity=T +[/card] +[card] +primitive=Wurm +id=-567650 +rarity=T +[/card] +[card] +primitive=Beast +id=-567647 +rarity=T +[/card] +[card] +primitive=Insect +id=-567642 +rarity=T +[/card] +[card] +primitive=Beast +id=-567641 +rarity=T +[/card] +[card] +primitive=Beast +id=-567637 +rarity=T +[/card] +[card] +primitive=Spider +id=-567634 +rarity=T +[/card] +[card] +primitive=Ogre +id=-567617 +rarity=T +[/card] +[card] +primitive=Goblin +id=-567612 +rarity=T +[/card] +[card] +primitive=Goat +id=-567591 +rarity=T +[/card] +[card] +primitive=Warrior +id=-567578 +rarity=T +[/card] +[card] +primitive=Centaur +id=-567575 +rarity=T +[/card] +[card] +primitive=Horror +id=-567554 +rarity=T +[/card] +[card] +primitive=Pirate +id=-567549 +rarity=T +[/card] +[card] +primitive=Boar +id=-567533 +rarity=T +[/card] +[card] +primitive=Squid +id=-567531 +rarity=T +[/card] +[card] +primitive=Warrior +id=-567526 +rarity=T +[/card] +[card] +primitive=Wizard +id=-567515 +rarity=T +[/card] +[card] +primitive=Shapeshifter +id=-567513 +rarity=T +[/card] +[card] +primitive=Shapeshifter +id=-567507 +rarity=T +[/card] +[card] +primitive=Wolf +id=-567246 +rarity=T +[/card] +[card] +primitive=Treasure +id=-567242 +rarity=T +[/card] +[card] +primitive=Horror +id=-567145 +rarity=T +[/card] +[card] +primitive=Wolf +id=-567104 +rarity=T +[/card] +[card] +primitive=Wolf +id=-566981 +rarity=T +[/card] +[card] +primitive=Wolf +id=-566977 +rarity=T +[/card] +[card] +primitive=Treasure +id=-566971 +rarity=T +[/card] +[card] +primitive=Horror +id=-566959 +rarity=T +[/card] +[card] +primitive=Demon +id=-566902 +rarity=T +[/card] +[card] +primitive=Hamster +id=-566901 +rarity=T +[/card] +[card] +primitive=Dragon +id=-566900 +rarity=T +[/card] +[card] +primitive=Dragon +id=-566845 +rarity=T +[/card] +[card] +primitive=Treasure +id=-563217 +rarity=T +[/card] +[card] +primitive=Construct +id=-563213 +rarity=T +[/card] +[card] +primitive=Demon +id=-563177 +rarity=T +[/card] +[card] +primitive=Devil +id=-563175 +rarity=T +[/card] +[card] +primitive=Hamster +id=-563168 +rarity=T +[/card] +[card] +primitive=Treasure +id=-563160 +rarity=T +[/card] +[card] +primitive=Treasure +id=-563158 +rarity=T +[/card] +[card] +primitive=Dragon +id=-563157 +rarity=T +[/card] +[card] +primitive=Knight +id=-563154 +rarity=T +[/card] +[card] +primitive=Rabbit +id=-563152 +rarity=T +[/card] +[card] +primitive=Saproling +id=-563142 +rarity=T +[/card] +[card] +primitive=Squirrel +id=-563104 +rarity=T +[/card] +[card] +primitive=Boar +id=-563102 +rarity=T +[/card] +[card] +primitive=Skeleton +id=-563063 +rarity=T +[/card] +[card] +primitive=Dragon +id=-563053 +rarity=T +[/card] +[card] +primitive=Treasure +id=-563052 +rarity=T +[/card] +[card] +primitive=Dragon +id=-562953 +rarity=T +[/card] +[card] +primitive=Dragon +id=-562952 +rarity=T +[/card] +[card] +primitive=Soldier +id=-562931 +rarity=T +[/card] +[card] +primitive=Soldier +id=-562930 +rarity=T +[/card] +[card] +primitive=Knight +id=-562921 +rarity=T +[/card] +[card] +primitive=Pegasus +id=-562919 +rarity=T +[/card] +[card] +primitive=Goat +id=-562895 +rarity=T +[/card] +[card] +primitive=Dragon +id=-562886 +rarity=T +[/card] +[card] +primitive=Soldier +id=-562885 +rarity=T +[/card] +[card] primitive=Undercity id=57018400 rarity=T diff --git a/projects/mtg/bin/Res/sets/DMC/_cards.dat b/projects/mtg/bin/Res/sets/DMC/_cards.dat index fe091ddcc..f4dc0af7f 100644 --- a/projects/mtg/bin/Res/sets/DMC/_cards.dat +++ b/projects/mtg/bin/Res/sets/DMC/_cards.dat @@ -2,7 +2,7 @@ author=Wagic Team name=Dominaria United Commander year=2022-09-09 -total=241 +total=219 [/meta] [card] primitive=Dihada, Binder of Wills @@ -145,6 +145,106 @@ id=580494 rarity=M [/card] [card] +primitive=Ayesha Tanaka, Armorer +id=597905 +rarity=R +[/card] +[card] +primitive=The Ever-Changing 'Dane +id=597906 +rarity=R +[/card] +[card] +primitive=General Marhault Elsdragon +id=597907 +rarity=U +[/card] +[card] +primitive=Hazezon, Shaper of Sand +id=597908 +rarity=R +[/card] +[card] +primitive=Jasmine Boreal of the Seven +id=597909 +rarity=U +[/card] +[card] +primitive=Jedit Ojanen, Mercenary +id=597910 +rarity=M +[/card] +[card] +primitive=The Lady of Otaria +id=597911 +rarity=M +[/card] +[card] +primitive=Ohabi Caleria +id=597912 +rarity=R +[/card] +[card] +primitive=Orca, Siege Demon +id=597913 +rarity=R +[/card] +[card] +primitive=Ramirez DePietro, Pillager +id=597914 +rarity=U +[/card] +[card] +primitive=Ramses, Assassin Lord +id=597915 +rarity=R +[/card] +[card] +primitive=Rasputin, the Oneiromancer +id=597916 +rarity=R +[/card] +[card] +primitive=Rohgahh, Kher Keep Overlord +id=597917 +rarity=R +[/card] +[card] +primitive=Stangg, Echo Warrior +id=597918 +rarity=R +[/card] +[card] +primitive=Sivitri, Dragon Master +id=597919 +rarity=M +[/card] +[card] +primitive=Tetsuo, Imperial Champion +id=597920 +rarity=M +[/card] +[card] +primitive=Tobias, Doomed Conqueror +id=597921 +rarity=U +[/card] +[card] +primitive=Tor Wauki the Younger +id=597922 +rarity=U +[/card] +[card] +primitive=Torsten, Founder of Benalia +id=597923 +rarity=M +[/card] +[card] +primitive=Xira, the Golden Sting +id=597924 +rarity=R +[/card] +[card] primitive=Dihada, Binder of Wills id=578711 rarity=M diff --git a/projects/mtg/bin/Res/sets/MH2/_cards.dat b/projects/mtg/bin/Res/sets/MH2/_cards.dat index 5ee1f14c2..78f5c46bc 100644 --- a/projects/mtg/bin/Res/sets/MH2/_cards.dat +++ b/projects/mtg/bin/Res/sets/MH2/_cards.dat @@ -3,7 +3,7 @@ author=Wagic Team name=Modern Horizons 2 orderindex=REP-H.MH2 year=2021-06-18 -total=346 +total=524 [/meta] [card] primitive=Elemental @@ -1471,61 +1471,6 @@ id=522337 rarity=R [/card] [card] -primitive=Plains -id=524948 -rarity=C -[/card] -[card] -primitive=Plains -id=524949 -rarity=C -[/card] -[card] -primitive=Island -id=524950 -rarity=C -[/card] -[card] -primitive=Island -id=524951 -rarity=C -[/card] -[card] -primitive=Swamp -id=524952 -rarity=C -[/card] -[card] -primitive=Swamp -id=524953 -rarity=C -[/card] -[card] -primitive=Mountain -id=524954 -rarity=C -[/card] -[card] -primitive=Mountain -id=524955 -rarity=C -[/card] -[card] -primitive=Forest -id=524956 -rarity=C -[/card] -[card] -primitive=Forest -id=524957 -rarity=C -[/card] -[card] -primitive=Sanctum Prelate -id=525097 -rarity=M -[/card] -[card] primitive=Angelic Curator id=526233 rarity=U @@ -1734,4 +1679,949 @@ rarity=U primitive=Riptide Laboratory id=526274 rarity=R +[/card] +[card] +primitive=Dakkon, Shadow Slayer +id=525058 +rarity=M +[/card] +[card] +primitive=Geyadrone Dihada +id=525059 +rarity=M +[/card] +[card] +primitive=Grist, the Hunger Tide +id=525060 +rarity=M +[/card] +[card] +primitive=Solitude +id=525342 +rarity=M +[/card] +[card] +primitive=Counterspell +id=525343 +rarity=R +[/card] +[card] +primitive=Subtlety +id=525344 +rarity=M +[/card] +[card] +primitive=Svyelun of Sea and Sky +id=525345 +rarity=M +[/card] +[card] +primitive=Grief +id=525346 +rarity=M +[/card] +[card] +primitive=Tourach, Dread Cantor +id=525347 +rarity=M +[/card] +[card] +primitive=Fury +id=525348 +rarity=M +[/card] +[card] +primitive=Imperial Recruiter +id=525349 +rarity=M +[/card] +[card] +primitive=Ragavan, Nimble Pilferer +id=525350 +rarity=M +[/card] +[card] +primitive=Chatterfang, Squirrel General +id=525351 +rarity=M +[/card] +[card] +primitive=Endurance +id=525352 +rarity=M +[/card] +[card] +primitive=Thrasta, Tempest's Roar +id=525353 +rarity=M +[/card] +[card] +primitive=Titania, Protector of Argoth +id=525354 +rarity=M +[/card] +[card] +primitive=Mirari's Wake +id=525355 +rarity=M +[/card] +[card] +primitive=Shardless Agent +id=525356 +rarity=R +[/card] +[card] +primitive=Vindicate +id=525357 +rarity=R +[/card] +[card] +primitive=Scion of Draco +id=525358 +rarity=M +[/card] +[card] +primitive=Sword of Hearth and Home +id=525359 +rarity=M +[/card] +[card] +primitive=Cabal Coffers +id=525360 +rarity=M +[/card] +[card] +primitive=Mishra's Factory +id=525361 +rarity=R +[/card] +[card] +primitive=Blossoming Calm +id=526695 +rarity=U +[/card] +[card] +primitive=Esper Sentinel +id=526696 +rarity=R +[/card] +[card] +primitive=Late to Dinner +id=526697 +rarity=C +[/card] +[card] +primitive=Lens Flare +id=526698 +rarity=C +[/card] +[card] +primitive=Nykthos Paragon +id=526699 +rarity=R +[/card] +[card] +primitive=Search the Premises +id=526700 +rarity=R +[/card] +[card] +primitive=Serra's Emissary +id=526701 +rarity=M +[/card] +[card] +primitive=Dress Down +id=526702 +rarity=R +[/card] +[card] +primitive=Floodhound +id=526703 +rarity=C +[/card] +[card] +primitive=Fractured Sanity +id=526704 +rarity=R +[/card] +[card] +primitive=Murktide Regent +id=526705 +rarity=M +[/card] +[card] +primitive=Mystic Redaction +id=526706 +rarity=U +[/card] +[card] +primitive=Phantasmal Dreadmaw +id=526707 +rarity=C +[/card] +[card] +primitive=Rise and Shine +id=526708 +rarity=R +[/card] +[card] +primitive=Thought Monitor +id=526709 +rarity=R +[/card] +[card] +primitive=Archon of Cruelty +id=526710 +rarity=M +[/card] +[card] +primitive=Kitchen Imp +id=526711 +rarity=C +[/card] +[card] +primitive=Magus of the Bridge +id=526712 +rarity=R +[/card] +[card] +primitive=Persist +id=526713 +rarity=R +[/card] +[card] +primitive=Sudden Edict +id=526714 +rarity=U +[/card] +[card] +primitive=Underworld Hermit +id=526715 +rarity=U +[/card] +[card] +primitive=World-Weary +id=526716 +rarity=C +[/card] +[card] +primitive=Faithless Salvaging +id=526717 +rarity=C +[/card] +[card] +primitive=Flametongue Yearling +id=526718 +rarity=U +[/card] +[card] +primitive=Gargadon +id=526719 +rarity=C +[/card] +[card] +primitive=Harmonic Prodigy +id=526720 +rarity=R +[/card] +[card] +primitive=Obsidian Charmaw +id=526721 +rarity=R +[/card] +[card] +primitive=Abundant Harvest +id=526722 +rarity=C +[/card] +[card] +primitive=Ignoble Hierarch +id=526723 +rarity=R +[/card] +[card] +primitive=Jade Avenger +id=526724 +rarity=C +[/card] +[card] +primitive=Sylvan Anthem +id=526725 +rarity=R +[/card] +[card] +primitive=Timeless Witness +id=526726 +rarity=U +[/card] +[card] +primitive=Verdant Command +id=526727 +rarity=R +[/card] +[card] +primitive=Arcbound Shikari +id=526728 +rarity=U +[/card] +[card] +primitive=Arcus Acolyte +id=526729 +rarity=U +[/card] +[card] +primitive=Combine Chrysalis +id=526730 +rarity=U +[/card] +[card] +primitive=Dakkon, Shadow Slayer +id=526731 +rarity=M +[/card] +[card] +primitive=Ethersworn Sphinx +id=526732 +rarity=U +[/card] +[card] +primitive=Garth One-Eye +id=526733 +rarity=M +[/card] +[card] +primitive=General Ferrous Rokiric +id=526734 +rarity=R +[/card] +[card] +primitive=Geyadrone Dihada +id=526735 +rarity=M +[/card] +[card] +primitive=Grist, the Hunger Tide +id=526736 +rarity=M +[/card] +[card] +primitive=Lazotep Chancellor +id=526737 +rarity=U +[/card] +[card] +primitive=Lonis, Cryptozoologist +id=526738 +rarity=R +[/card] +[card] +primitive=Moderation +id=526739 +rarity=R +[/card] +[card] +primitive=Priest of Fell Rites +id=526740 +rarity=R +[/card] +[card] +primitive=Prophetic Titan +id=526741 +rarity=U +[/card] +[card] +primitive=Rakdos Headliner +id=526742 +rarity=U +[/card] +[card] +primitive=Ravenous Squirrel +id=526743 +rarity=U +[/card] +[card] +primitive=Road // Ruin +id=526744 +rarity=U +[/card] +[card] +primitive=Sythis, Harvest's Hand +id=526745 +rarity=R +[/card] +[card] +primitive=Dermotaxi +id=526746 +rarity=R +[/card] +[card] +primitive=Kaldra Compleat +id=526747 +rarity=M +[/card] +[card] +primitive=Urza's Saga +id=526748 +rarity=R +[/card] +[card] +primitive=Blacksmith's Skill +id=525562 +rarity=C +[/card] +[card] +primitive=Marble Gargoyle +id=525563 +rarity=C +[/card] +[card] +primitive=Out of Time +id=525564 +rarity=R +[/card] +[card] +primitive=Prismatic Ending +id=525565 +rarity=U +[/card] +[card] +primitive=Resurgent Belief +id=525566 +rarity=R +[/card] +[card] +primitive=Sanctifier en-Vec +id=525567 +rarity=R +[/card] +[card] +primitive=Soul Snare +id=525568 +rarity=U +[/card] +[card] +primitive=Timeless Dragon +id=525569 +rarity=R +[/card] +[card] +primitive=Aeromoeba +id=525570 +rarity=C +[/card] +[card] +primitive=Inevitable Betrayal +id=525571 +rarity=R +[/card] +[card] +primitive=Rishadan Dockhand +id=525572 +rarity=R +[/card] +[card] +primitive=Step Through +id=525573 +rarity=C +[/card] +[card] +primitive=Svyelun of Sea and Sky +id=525574 +rarity=M +[/card] +[card] +primitive=Tide Shaper +id=525575 +rarity=U +[/card] +[card] +primitive=Bone Shards +id=525576 +rarity=C +[/card] +[card] +primitive=Damn +id=525577 +rarity=R +[/card] +[card] +primitive=Dauthi Voidwalker +id=525578 +rarity=R +[/card] +[card] +primitive=Necrogoyf +id=525579 +rarity=R +[/card] +[card] +primitive=Nested Shambler +id=525580 +rarity=C +[/card] +[card] +primitive=Persist +id=525581 +rarity=R +[/card] +[card] +primitive=Profane Tutor +id=525582 +rarity=R +[/card] +[card] +primitive=Tourach, Dread Cantor +id=525583 +rarity=M +[/card] +[card] +primitive=Vile Entomber +id=525584 +rarity=U +[/card] +[card] +primitive=Blazing Rootwalla +id=525585 +rarity=U +[/card] +[card] +primitive=Calibrated Blast +id=525586 +rarity=R +[/card] +[card] +primitive=Galvanic Relay +id=525587 +rarity=C +[/card] +[card] +primitive=Glimpse of Tomorrow +id=525588 +rarity=R +[/card] +[card] +primitive=Mine Collapse +id=525589 +rarity=C +[/card] +[card] +primitive=Aeve, Progenitor Ooze +id=525590 +rarity=R +[/card] +[card] +primitive=Chatterfang, Squirrel General +id=525591 +rarity=M +[/card] +[card] +primitive=Chatterstorm +id=525592 +rarity=C +[/card] +[card] +primitive=Gaea's Will +id=525593 +rarity=R +[/card] +[card] +primitive=Glimmer Bairn +id=525594 +rarity=C +[/card] +[card] +primitive=Ignoble Hierarch +id=525595 +rarity=R +[/card] +[card] +primitive=Squirrel Sovereign +id=525596 +rarity=U +[/card] +[card] +primitive=Titania, Protector of Argoth +id=525597 +rarity=M +[/card] +[card] +primitive=Asmoranomardicadaistinaculdacar +id=525598 +rarity=R +[/card] +[card] +primitive=Carth the Lion +id=525599 +rarity=R +[/card] +[card] +primitive=Chainer, Nightmare Adept +id=525600 +rarity=R +[/card] +[card] +primitive=Garth One-Eye +id=525601 +rarity=M +[/card] +[card] +primitive=Goblin Anarchomancer +id=525602 +rarity=C +[/card] +[card] +primitive=Piru, the Volatile +id=525603 +rarity=R +[/card] +[card] +primitive=Shardless Agent +id=525604 +rarity=R +[/card] +[card] +primitive=Terminal Agony +id=525605 +rarity=C +[/card] +[card] +primitive=Territorial Kavu +id=525606 +rarity=R +[/card] +[card] +primitive=Brainstone +id=525607 +rarity=U +[/card] +[card] +primitive=Diamond Lion +id=525608 +rarity=R +[/card] +[card] +primitive=Liquimetal Torque +id=525609 +rarity=U +[/card] +[card] +primitive=Monoskelion +id=525610 +rarity=U +[/card] +[card] +primitive=Ornithopter of Paradise +id=525611 +rarity=C +[/card] +[card] +primitive=Scion of Draco +id=525612 +rarity=M +[/card] +[card] +primitive=Sol Talisman +id=525613 +rarity=R +[/card] +[card] +primitive=Sword of Hearth and Home +id=525614 +rarity=M +[/card] +[card] +primitive=The Underworld Cookbook +id=525615 +rarity=U +[/card] +[card] +primitive=Void Mirror +id=525616 +rarity=R +[/card] +[card] +primitive=Arid Mesa +id=525617 +rarity=R +[/card] +[card] +primitive=Marsh Flats +id=525618 +rarity=R +[/card] +[card] +primitive=Misty Rainforest +id=525619 +rarity=R +[/card] +[card] +primitive=Scalding Tarn +id=525620 +rarity=R +[/card] +[card] +primitive=Verdant Catacombs +id=525621 +rarity=R +[/card] +[card] +primitive=Yavimaya, Cradle of Growth +id=525622 +rarity=R +[/card] +[card] +primitive=Out of Time +id=525108 +rarity=R +[/card] +[card] +primitive=Resurgent Belief +id=525109 +rarity=R +[/card] +[card] +primitive=Sanctifier en-Vec +id=525110 +rarity=R +[/card] +[card] +primitive=Timeless Dragon +id=525111 +rarity=R +[/card] +[card] +primitive=Inevitable Betrayal +id=525112 +rarity=R +[/card] +[card] +primitive=Rishadan Dockhand +id=525113 +rarity=R +[/card] +[card] +primitive=Suspend +id=525114 +rarity=R +[/card] +[card] +primitive=Damn +id=525115 +rarity=R +[/card] +[card] +primitive=Dauthi Voidwalker +id=525116 +rarity=R +[/card] +[card] +primitive=Necrogoyf +id=525117 +rarity=R +[/card] +[card] +primitive=Profane Tutor +id=525118 +rarity=R +[/card] +[card] +primitive=Unmarked Grave +id=525119 +rarity=R +[/card] +[card] +primitive=Bloodbraid Marauder +id=525120 +rarity=R +[/card] +[card] +primitive=Breya's Apprentice +id=525121 +rarity=R +[/card] +[card] +primitive=Calibrated Blast +id=525122 +rarity=R +[/card] +[card] +primitive=Chef's Kiss +id=525123 +rarity=R +[/card] +[card] +primitive=Glimpse of Tomorrow +id=525124 +rarity=R +[/card] +[card] +primitive=Aeve, Progenitor Ooze +id=525125 +rarity=R +[/card] +[card] +primitive=Chitterspitter +id=525126 +rarity=R +[/card] +[card] +primitive=Gaea's Will +id=525127 +rarity=R +[/card] +[card] +primitive=Sanctum Weaver +id=525128 +rarity=R +[/card] +[card] +primitive=Asmoranomardicadaistinaculdacar +id=525129 +rarity=R +[/card] +[card] +primitive=Carth the Lion +id=525130 +rarity=R +[/card] +[card] +primitive=Master of Death +id=525131 +rarity=R +[/card] +[card] +primitive=Piru, the Volatile +id=525132 +rarity=R +[/card] +[card] +primitive=Territorial Kavu +id=525133 +rarity=R +[/card] +[card] +primitive=Yusri, Fortune's Flame +id=525134 +rarity=R +[/card] +[card] +primitive=Academy Manufactor +id=525135 +rarity=R +[/card] +[card] +primitive=Diamond Lion +id=525136 +rarity=R +[/card] +[card] +primitive=Nettlecyst +id=525137 +rarity=R +[/card] +[card] +primitive=Sol Talisman +id=525138 +rarity=R +[/card] +[card] +primitive=Void Mirror +id=525139 +rarity=R +[/card] +[card] +primitive=Zabaz, the Glimmerwasp +id=525140 +rarity=R +[/card] +[card] +primitive=Arid Mesa +id=525141 +rarity=R +[/card] +[card] +primitive=Marsh Flats +id=525142 +rarity=R +[/card] +[card] +primitive=Misty Rainforest +id=525143 +rarity=R +[/card] +[card] +primitive=Scalding Tarn +id=525144 +rarity=R +[/card] +[card] +primitive=Verdant Catacombs +id=525145 +rarity=R +[/card] +[card] +primitive=Yavimaya, Cradle of Growth +id=525146 +rarity=R +[/card] +[card] +primitive=Plains +id=524948 +rarity=L +[/card] +[card] +primitive=Plains +id=524949 +rarity=L +[/card] +[card] +primitive=Island +id=524950 +rarity=L +[/card] +[card] +primitive=Island +id=524951 +rarity=L +[/card] +[card] +primitive=Swamp +id=524952 +rarity=L +[/card] +[card] +primitive=Swamp +id=524953 +rarity=L +[/card] +[card] +primitive=Mountain +id=524954 +rarity=L +[/card] +[card] +primitive=Mountain +id=524955 +rarity=L +[/card] +[card] +primitive=Forest +id=524956 +rarity=L +[/card] +[card] +primitive=Forest +id=524957 +rarity=L +[/card] +[card] +primitive=Sanctum Prelate +id=525097 +rarity=M +[/card] +[card] +primitive=Yusri, Fortune's Flame +id=525091 +rarity=R [/card] \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/MOC/_cards.dat b/projects/mtg/bin/Res/sets/MOC/_cards.dat index 5435128fe..504ef6894 100644 --- a/projects/mtg/bin/Res/sets/MOC/_cards.dat +++ b/projects/mtg/bin/Res/sets/MOC/_cards.dat @@ -2,9 +2,404 @@ author=Wagic Team name=March of the Machine Commander year=2023-04-21 -total=451 +total=530 [/meta] [card] +primitive=Soldier +id=-615330 +rarity=T +[/card] +[card] +primitive=Goblin +id=-615139 +rarity=T +[/card] +[card] +primitive=Eldrazi +id=-615137 +rarity=T +[/card] +[card] +primitive=Knight +id=-614951 +rarity=T +[/card] +[card] +primitive=Sliver +id=-614947 +rarity=T +[/card] +[card] +primitive=Demon +id=-614946 +rarity=T +[/card] +[card] +primitive=Assassin +id=-614945 +rarity=T +[/card] +[card] +primitive=Insect +id=-614940 +rarity=T +[/card] +[card] +primitive=Shapeshifter +id=-614939 +rarity=T +[/card] +[card] +primitive=Treasure +id=-614935 +rarity=T +[/card] +[card] +primitive=Germ +id=-614784 +rarity=T +[/card] +[card] +primitive=Elemental +id=-614783 +rarity=T +[/card] +[card] +primitive=Treasure +id=-614772 +rarity=T +[/card] +[card] +primitive=Blood +id=-614765 +rarity=T +[/card] +[card] +primitive=Spirit +id=-614757 +rarity=T +[/card] +[card] +primitive=Golem +id=-614752 +rarity=T +[/card] +[card] +primitive=Knight +id=-614750 +rarity=T +[/card] +[card] +primitive=Angel +id=-614675 +rarity=T +[/card] +[card] +primitive=Gremlin +id=-614671 +rarity=T +[/card] +[card] +primitive=Knight +id=-614670 +rarity=T +[/card] +[card] +primitive=Soldier +id=-614660 +rarity=T +[/card] +[card] +primitive=Kobold +id=-612659 +rarity=T +[/card] +[card] +primitive=Thopter +id=-612634 +rarity=T +[/card] +[card] +primitive=Knight +id=-612625 +rarity=T +[/card] +[card] +primitive=Germ +id=-612623 +rarity=T +[/card] +[card] +primitive=Golem +id=-612618 +rarity=T +[/card] +[card] +primitive=Germ +id=-612615 +rarity=T +[/card] +[card] +primitive=Myr +id=-612614 +rarity=T +[/card] +[card] +primitive=Construct +id=-612595 +rarity=T +[/card] +[card] +primitive=Servo +id=-612586 +rarity=T +[/card] +[card] +primitive=Bird +id=-612584 +rarity=T +[/card] +[card] +primitive=Insect +id=-612583 +rarity=T +[/card] +[card] +primitive=Spirit +id=-612582 +rarity=T +[/card] +[card] +primitive=Spirit +id=-612579 +rarity=T +[/card] +[card] +primitive=Faerie +id=-612577 +rarity=T +[/card] +[card] +primitive=Beast +id=-612567 +rarity=T +[/card] +[card] +primitive=Knight +id=-612566 +rarity=T +[/card] +[card] +primitive=Clue +id=-612562 +rarity=T +[/card] +[card] +primitive=Blood +id=-612537 +rarity=T +[/card] +[card] +primitive=Thopter +id=-612536 +rarity=T +[/card] +[card] +primitive=Goblin +id=-612535 +rarity=T +[/card] +[card] +primitive=Goblin +id=-612530 +rarity=T +[/card] +[card] +primitive=Feather +id=-612523 +rarity=T +[/card] +[card] +primitive=Knight +id=-612501 +rarity=T +[/card] +[card] +primitive=Thopter +id=-612492 +rarity=T +[/card] +[card] +primitive=Thopter +id=-612489 +rarity=T +[/card] +[card] +primitive=Thopter +id=-612483 +rarity=T +[/card] +[card] +primitive=Tentacle +id=-612476 +rarity=T +[/card] +[card] +primitive=Golem +id=-612475 +rarity=T +[/card] +[card] +primitive=Squid +id=-612466 +rarity=T +[/card] +[card] +primitive=Human +id=-612465 +rarity=T +[/card] +[card] +primitive=Knight +id=-612455 +rarity=T +[/card] +[card] +primitive=Warrior +id=-612451 +rarity=T +[/card] +[card] +primitive=Horror +id=-612447 +rarity=T +[/card] +[card] +primitive=Golem +id=-612442 +rarity=T +[/card] +[card] +primitive=Soldier +id=-612439 +rarity=T +[/card] +[card] +primitive=Soldier +id=-612436 +rarity=T +[/card] +[card] +primitive=Elephant +id=-612435 +rarity=T +[/card] +[card] +primitive=Bird +id=-612431 +rarity=T +[/card] +[card] +primitive=Soldier +id=-612430 +rarity=T +[/card] +[card] +primitive=Golem +id=-612423 +rarity=T +[/card] +[card] +primitive=Bird +id=-612422 +rarity=T +[/card] +[card] +primitive=Spirit +id=-612416 +rarity=T +[/card] +[card] +primitive=Human +id=-612415 +rarity=T +[/card] +[card] +primitive=Germ +id=-612158 +rarity=T +[/card] +[card] +primitive=Elemental +id=-612157 +rarity=T +[/card] +[card] +primitive=Treasure +id=-612146 +rarity=T +[/card] +[card] +primitive=Blood +id=-612139 +rarity=T +[/card] +[card] +primitive=Spirit +id=-612131 +rarity=T +[/card] +[card] +primitive=Golem +id=-612126 +rarity=T +[/card] +[card] +primitive=Knight +id=-612124 +rarity=T +[/card] +[card] +primitive=Angel +id=-612087 +rarity=T +[/card] +[card] +primitive=Knight +id=-612084 +rarity=T +[/card] +[card] +primitive=Gremlin +id=-612046 +rarity=T +[/card] +[card] +primitive=Gremlin +id=-612006 +rarity=T +[/card] +[card] +primitive=Saproling +id=-611982 +rarity=T +[/card] +[card] +primitive=Spirit +id=-611980 +rarity=T +[/card] +[card] +primitive=Saproling +id=-611958 +rarity=T +[/card] +[card] +primitive=Spirit +id=-611956 +rarity=T +[/card] +[card] primitive=Bright-Palm, Soul Awakener id=612004 rarity=M diff --git a/projects/mtg/bin/Res/sets/MOM/_cards.dat b/projects/mtg/bin/Res/sets/MOM/_cards.dat index a93eedcfe..ad2fd94c1 100644 --- a/projects/mtg/bin/Res/sets/MOM/_cards.dat +++ b/projects/mtg/bin/Res/sets/MOM/_cards.dat @@ -2,9 +2,109 @@ author=Wagic Team name=March of the Machine year=2023-04-21 -total=463 +total=471 [/meta] [card] +primitive=Treasure +id=-611089 +rarity=T +[/card] +[card] +primitive=Monk +id=-610919 +rarity=T +[/card] +[card] +primitive=Soldier +id=-610891 +rarity=T +[/card] +[card] +primitive=Spirit +id=-610543 +rarity=T +[/card] +[card] +primitive=Pirate +id=-610531 +rarity=T +[/card] +[card] +primitive=Spirit +id=-607321 +rarity=T +[/card] +[card] +primitive=Elemental +id=-607314 +rarity=T +[/card] +[card] +primitive=Knight +id=-607306 +rarity=T +[/card] +[card] +primitive=Thopter +id=-607296 +rarity=T +[/card] +[card] +primitive=Pirate +id=-607276 +rarity=T +[/card] +[card] +primitive=Elemental +id=-607205 +rarity=T +[/card] +[card] +primitive=Knight +id=-607114 +rarity=T +[/card] +[card] +primitive=Elemental +id=-607100 +rarity=T +[/card] +[card] +primitive=Kraken +id=-607086 +rarity=T +[/card] +[card] +primitive=Monk +id=-607045 +rarity=T +[/card] +[card] +primitive=Knight +id=-607042 +rarity=T +[/card] +[card] +primitive=Knight +id=-607033 +rarity=T +[/card] +[card] +primitive=Soldier +id=-607017 +rarity=T +[/card] +[card] +primitive=Incubator +id=999903 +rarity=T +[/card] +[card] +primitive=Phyrexian +id=999904 +rarity=T +[/card] +[card] primitive=Invasion of Ravnica id=607011 rarity=M @@ -1765,16 +1865,6 @@ id=610390 rarity=L [/card] [card] -primitive=Elesh Norn -id=610511 -rarity=M -[/card] -[card] -primitive=The Argent Etchings -id=610512 -rarity=T -[/card] -[card] primitive=Heliod, the Radiant Dawn id=610513 rarity=R diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index d6938e95e..76be1dc53 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -160,7 +160,7 @@ # 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 -# Spectacle, not implemented +# Spectacle, if an opponent lost life this turn #AUTO_DEFINE _SPECTACLE_ compare(oplifelost)~morethan~0 # Extort diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 13c4fcbbd..8c2e69f9a 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,6 +1,7 @@ +grade=borderline #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 04-05-2023 +#I sorted this programmatically - Thanks to Vitty85 09-05-2023 [card] name=+2 Mace auto={3}:equip @@ -136,7 +137,7 @@ auto=if cantargetcard(*[creature]|*) then all(*[creature]|myhand) counter(0/0.1. auto=if cantargetcard(*[planeswalker]|*) then all(*[planeswalker]|myhand) counter(0/0.1.PerpetualCostLess) notrg auto=if cantargetcard(*[enchantment]|*) then all(*[enchantment]|myhand) counter(0/0.1.PerpetualCostLess) notrg auto=if cantargetcard(*[tribal]|*) then all(*[tribal]|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=Counter target spell. Cards in your hand that share a card type with that spell perpetually gain "This spell costs {1} less to cast." mana={1}{U}{U} type=Instant @@ -812,7 +813,7 @@ toughness=1 [card] name=Aetherborn Marauder abilities=flying,lifelink -auto=all(*[counter{1/1}|mybattlefield) transforms((,newability[thisforeach(counter{1/1.1}) may name(Move 1/1 counter) counter(1/1.-1) all(this) && counter(1/1) target(Aetherborn Marauder[fresh]|mybattlefield)])) oneshot +auto=all(*[counter{1/1}]|mybattlefield) transforms((,newability[thisforeach(counter{1/1.1}) may name(Move 1/1 counter) counter(1/1.-1) all(this) && counter(1/1) target(Aetherborn Marauder[fresh]|mybattlefield)])) oneshot text=Flying, lifelink -- When Aetherborn Marauder enters the battlefield, move any number of +1/+1 counters from other permanents you control onto Aetherborn Marauder. mana={3}{B} type=Creature @@ -1324,7 +1325,7 @@ 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 )! +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 @@ -1550,7 +1551,7 @@ type=Enchantment [/card] [card] name=Alora, Merry Thief -abilities=chooseabackground +abilities=backgoundpartner auto=@each my blockers:may target(creature[attacking]|myBattlefield) transforms((,newability[unblockable],newability[phaseaction[endofturn once] moveTo(ownerhand) ueot])) oneshot text=Whenever you attack, up to one target attacking creature can't be blocked this turn. Return that creature to its owner's hand at the beginning of the next end step. -- Choose a Background (You can have a Background as a second commander.) mana={2}{U} @@ -1748,7 +1749,7 @@ toughness=2 [/card] [card] name=Amber Gristle O'Maul -abilities=haste,chooseabackground +abilities=haste,backgoundpartner auto=_ATTACKING_may all(*|myhand) reject && draw:1 text=Haste -- Whenever Amber Gristle O'Maul attacks, you may discard your hand. If you do, draw a card for each player being attacked. -- Choose a Background (You can have a Background as a second commander.) mana={3}{R} @@ -1782,6 +1783,16 @@ power=1 toughness=1 [/card] [card] +name=Ambulatory Edifice +auto=may pay({L:2}):target(creature) -1/-1 ueot +text=When Ambulatory Edifice enters the battlefield, you may pay 2 life. When you do, target creature gets -1/-1 until end of turn. +mana={2}{B} +type=Artifact Creature +subtype=Phyrexian Construct +power=3 +toughness=2 +[/card] +[card] name=Ambuscade target=creature|myBattlefield auto=1/0 @@ -2677,7 +2688,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 mills a card.) +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.) mana={2}{U}{B} type=Legendary Creature subtype=Vampire Rogue @@ -3704,7 +3715,7 @@ toughness=2 [/card] [card] name=Ardent Elementalist -auto=name(Return instant or sorcery) target(*instant;sorcery]|mygraveyard) moveto(myhand) +auto=name(Return instant or sorcery) target(*[instant;sorcery]|mygraveyard) moveto(myhand) text=When Ardent Elementalist enters the battlefield, return target instant or sorcery card from your graveyard to your hand. mana={3}{R} type=Creature @@ -3917,6 +3928,23 @@ type=Enchantment subtype=Aura [/card] [card] +name=Armored Scrapgorger +auto=this(counter{0/0.1.oil}>2) 3/0 +auto={T}:Add{W} +auto={T}:Add{U} +auto={T}:Add{B} +auto={T}:Add{R} +auto={T}:Add{G} +auto=@tapped(this):counter(0/0,1,oil) +auto=@tapped(this):moveTo(exile) target(*|graveyard) +text=Armored Scrapgorger gets +3/+0 as long as it has three or more oil counters on it. -- {T}: Add one mana of any color. -- Whenever Armored Scrapgorger becomes tapped, exile target card from a graveyard and put an oil counter on Armored Scrapgorger. +mana={1}{G} +type=Creature +subtype=Phyrexian Beast +power=0 +toughness=3 +[/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 )! @@ -4028,7 +4056,7 @@ type=Instant [/card] [card] name=Arrogant Outlaw -auto=if compare(oplifelost)~morethan~0 then life:-2 opponent && life:2 controller +auto=if _SPECTACLE_ then life:-2 opponent && life:2 controller text=When Arrogant Outlaw enters the battlefield, if an opponent lost life this turn, each opponent loses 2 life and you gain 2 life. mana={2}{B} type=Creature @@ -4443,6 +4471,15 @@ text=Hidden agenda (Start the game with this conspiracy face down in the command type=Conspiracy [/card] [card] +name=Assimilate Essence +target=*[creature;battle]|stack +auto=transforms((,newability[pay[[{4}]] name(pay 4 mana) counter(0/0.1.PaidMana)?fizzle])) forever +auto=emblem transforms((,newability[@counteradded(0/0.1.PaidMana) from(*[creature;battle]|stack) turnlimited:name(Incubate 2) name(Incubate 2) activate castcard(noevent costx!:2:! named!:Incubator:!)])) ueot +text=Counter target creature or battle spell unless its controller pays {4}. If they do, you incubate 2. (Create an Incubator token with two +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={1}{U} +type=Instant +[/card] +[card] name=Assure // Assemble other={4}{G}{W} name(Assemble) auto=if paid(alternative) then token(Elf Knight,Creature Elf Knight,2/2,green,white,vigilance)*3 @@ -4620,7 +4657,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 mills a card.) +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.) mana={2}{B} type=Sorcery [/card] @@ -4656,6 +4693,17 @@ power=2 toughness=1 [/card] [card] +name=Attentive Skywarden +abilities=flying +auto=combatdamaged(player) from(this):may name(Transform incubator) target(incubator|mybattlefield) transforms((,newability[name(Becomes creature) becomes(Creature Phyrexian) forever])) forever +text=Flying -- Whenever Attentive Skywarden deals combat damage to a player or battle, transform up to one target Incubator token you control. +mana={2}{W} +type=Creature +subtype=Phyrexian Kor +power=2 +toughness=2 +[/card] +[card] name=Atzal, Cave of Eternity auto={T}:Add{W} auto={T}:Add{U} @@ -4945,7 +4993,7 @@ toughness=4 [card] name=Avacyn's Judgment abilities=madness -auto=thisforeach(variable{2}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(player,creature,planeswalker]) damage:1!$ controller +auto=thisforeach(variable{2}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(player,creature,planeswalker) damage:1!$ controller autoexile=restriction{discarded} pay({X}{R}) name(pay XR to cast) name(pay XR to cast) thisforeach(X) ability$!name(Deal X damages) name(Deal X damages) target(player,creature,planeswalker) damage:1!$ controller text=Madness {X}{R} (If you discard this card, discard it into exile. When you do, cast it for it madness cost or put into your graveyard.) Avacyn's Judgment deals 2 damage divided as you choose among any number of targets. If Avacyn's Judgment's madness cost was paid, it deals X damage divided as you choose among those permanents and/or players instead. mana={1}{R} @@ -5139,7 +5187,7 @@ toughness=4 name=Avian Oddity abilities=flying,cycling autohand=__CYCLING__({2}{U}) -autohand=@cycled(this|myHand):name(Put flying counter) target(creature|myBattlefield) transforms((,newability[counter(0/0.1.Flying],newability[this(counter{0/0.1.Flying}>=1) flying])) forever +autohand=@cycled(this|myHand):name(Put flying counter) target(creature|myBattlefield) transforms((,newability[counter(0/0.1.Flying)],newability[this(counter{0/0.1.Flying}>=1) flying])) forever text=Flying -- Cycling {2}{U} ({2}{U}, Discard this card: Draw a card.) -- When you cycle Avian Oddity, put a flying counter on target creature you control. mana={3}{U} type=Creature @@ -5149,7 +5197,7 @@ toughness=4 [/card] [card] name=Aviation Pioneer -auto=create(thopter artifact:creature thopter artifact:1/1:colorless:flying) +auto=_THOPTERTOKEN_ text=When Aviation Pioneer enters the battlefield, create a 1/1 colorless Thopter artifact creature token with flying. mana={2}{U} type=Creature @@ -5562,7 +5610,7 @@ type=Enchantment name=Bag of Devouring auto=@sacrificed(other artifact[-token]|mybattlefield):name(Exile artifact) transforms((,newability[name(Exile artifact) all(*[zpos=type:*:mygraveyard]|mygraveyard) moveto(ownerexile) and!( counter(0/0.1.BagExiled) )!])) oneshot auto=@sacrificed(creature[-token;-artifact]|mybattlefield):name(Exile creature) transforms((,newability[name(Exile creature) all(*[zpos=type:*:mygraveyard]|mygraveyard) moveto(ownerexile) and!( counter(0/0.1.BagExiled) )!])) oneshot -auto={2}{T}:name(Draw a card) target(other *[artifact;creature]|mybattlefield) sacrifice and!( transforms((,newability[moveto(ownerexile) and!( counter(0/0.1.BagExiled) )!],newability[draw:1 controller])) oneshot +auto={2}{T}:name(Draw a card) target(other *[artifact;creature]|mybattlefield) sacrifice and!( transforms((,newability[moveto(ownerexile) and!( counter(0/0.1.BagExiled) )!],newability[draw:1 controller])) oneshot )! auto={3}{T}:name(Sacrifice and roll d10) sacrifice and!( transforms((,newability[name(Roll a d10) rolld10 10 winability donothing winabilityend rolld10end])) oneshot )! autograveyard=@dierolled(this|mygraveyard) from(controller) once:transforms((,newability[name(Return exiled cards) target(*[counter{0/0.1.BagExiled}]|exile) moveto(ownerhand) and!( all(*[counter{0/0.1.BagExiled}]|myexile) removeallcounters(0/0.1.BagExiled) )!])) oneshot text=Whenever you sacrifice another nontoken artifact or creature, exile it. -- {2}, {T}, Sacrifice another artifact or creature: Draw a card. -- {3}, {T}, Sacrifice Bag of Devouring: Roll a d10. Return up to X cards from among cards exiled with Bag of Devouring to their owners' hands, where X is the result. @@ -6029,7 +6077,7 @@ type=Instant name=Barbed Spike auto={2}:equip auto=teach(creature) 1/0 -auto=livingweapontoken(Thopter,Artifact Creature Thopter,1/1,flying) +auto=livingweapon_THOPTERTOKEN_ text=When Barbed Spike enters the battlefield, create a 1/1 colorless Thopter artifact creature token with flying, then attach Barbed Spike to it. -- Equipped creature gets +1/+0. -- Equip {2} mana={1}{W} type=Artifact @@ -6365,7 +6413,7 @@ type=Enchantment [/card] [card] name=Bat Whisperer -auto=if compare(oplifelost)~morethan~0 then token(Bat,Creature Bat,1/1,flying,black) +auto=if _SPECTACLE_ then token(Bat,Creature Bat,1/1,flying,black) text=When Bat Whisperer enters the battlefield, if an opponent lost life this turn, create a 1/1 black Bat creature token with flying. mana={3}{B} type=Creature @@ -6502,6 +6550,21 @@ mana={1}{B} type=Instant [/card] [card] +name=Battlefield Butcher +auto={5}{T}:restriction{type(creature|mygraveyard)~equalto~0} life:-2 opponent +auto={4}{T}:restriction{type(creature|mygraveyard)~equalto~1} life:-2 opponent +auto={3}{T}:restriction{type(creature|mygraveyard)~equalto~2} life:-2 opponent +auto={2}{T}:restriction{type(creature|mygraveyard)~equalto~3} life:-2 opponent +auto={1}{T}:restriction{type(creature|mygraveyard)~equalto~4} life:-2 opponent +auto={T}:restriction{type(creature|mygraveyard)~morethan~4} life:-2 opponent +text={5}, {T}: Each opponent loses 2 life. This ability costs {1} less to activate for each creature card in your graveyard. +mana={2}{B} +type=Creature +subtype=Human Soldier +power=1 +toughness=4 +[/card] +[card] name=Battlefield Promotion target=creature auto=counter(1/1) @@ -6884,8 +6947,8 @@ type=Instant [card] name=Belbe, Corrupted Observer text=At the beginning of each player's postcombat main phase, that player adds {C}{C} for each of your opponents who lost life this turn. (Damage causes loss of life.) -auto=@each my secondmain restriction{compare(oplifelost)~morethan~0}:add{C}{C} -auto=@each opponent secondmain restriction{compare(oplifelost)~morethan~0}:add{C}{C} opponent +auto=@each my secondmain restriction{_SPECTACLE_}:add{C}{C} +auto=@each opponent secondmain restriction{_SPECTACLE_}:add{C}{C} opponent mana={B}{G} type=Legendary Creature subtype=Phyrexian Zombie Elf @@ -6905,6 +6968,13 @@ power=4 toughness=4 [/card] [card] +name=Belenon War Anthem +auto=lord(creature|myBattlefield) 1/1 +text=Creatures you control get +1/+1. +color=white +type=Enchantment +[/card] +[card] name=Belfry Spirit abilities=flying auto=name(Create Bats) token(Bat,Creature Bat,1/1,black,flying)*2 @@ -7060,7 +7130,7 @@ toughness=1 name=Benalish Partisan abilities=lifelink,cycling autohand=__CYCLING__({2}) -autograveyard=@cycled(*|myHand):name(Pay and return) pay({1}{W}) name(Pay and return) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[counter(1/0.1.PerpetualPT)])) forever +autograveyard=@cycled(*|myHand):name(Pay and return) pay({1}{W}) name(Pay and return) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[counter(1/0.1.PerpetualPT)])) forever )! text=Lifelink -- Whenever you cycle another card, you may pay {1}{W}. If you do, return Benalish Partisan from your graveyard to the battlefield tapped and it perpetually gets +1/+0. -- Cycling {1}{W} mana={1}{W} type=Creature @@ -7430,7 +7500,7 @@ toughness=2 [/card] [card] name=Bioshift -auto=target(creature[counter{1/1}|battlefield) transforms((,newability[thisforeach(counter{1/1.1}) may name(Move 1/1 counter) counter(1/1.-1) all(this) && counter(1/1) target(other creature|mybattlefield)])) oneshot +auto=target(creature[counter{1/1}]|battlefield) transforms((,newability[thisforeach(counter{1/1.1}) may name(Move 1/1 counter) counter(1/1.-1) all(this) && counter(1/1) target(other creature|mybattlefield)])) oneshot text=Move any number of +1/+1 counters from target creature onto another target creature with the same controller. mana={GU} type=Instant @@ -7750,7 +7820,7 @@ auto=damage:1 controller auto=draw:1 text=Spectacle {2}{B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- When Blade Juggler enters the battlefield, it deals 1 damage to you and you draw a card. other={2}{B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={4}{B} type=Creature subtype=Human Rogue @@ -7977,7 +8047,7 @@ name=Blazing Torch auto={1}:equip auto=teach(creature) cantbeblockedby(creature[Zombie]) auto=teach(creature) cantbeblockedby(creature[Vampire]) -auto=teach(creature) {T}{S(Blazing Torch)}:damage:2 target(player,creature) +auto=teach(creature) {T}{S(Blazing Torch)}:damage:2 target(player,creature,planeswalker) text=Equipped creature can't be blocked by Vampires or Zombies. -- Equipped creature has "{T}, Sacrifice Blazing Torch: Blazing Torch deals 2 damage to target creature or player." -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={1} type=Artifact @@ -8435,7 +8505,7 @@ toughness=2 [card] name=Blood Aspirant auto=@sacrificed(*|mybattlefield):counter(1/1) all(this) -auto={1}{R}{S(creature,enchantment|myBattlefield}:damage:1 && cantblock target(creature) oneshot ueot +auto={1}{R}{S(creature,enchantment|myBattlefield)}:damage:1 && cantblock target(creature) oneshot ueot text=Whenever you sacrifice a permanent, put a +1/+1 counter on Blood Aspirant. -- {1}{R}, {T}, Sacrifice a creature or enchantment: Blood Aspirant deals 1 damage to target creature. That creature can't block this turn. mana={1}{R} type=Creature @@ -8557,7 +8627,7 @@ toughness=1 [/card] [card] name=Blood Price -aicode=activate transforms((,newability[moveto(myhand) all(*[zpos<=2]|mylibrary) && life:-2)])) ueot +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos<=2]|mylibrary) && life:-2])) ueot auto=name(look) reveal:4 optionone name(Get 2 card) target(<2>*|reveal) moveto(myhand) optiononeend optiontwo name(put bottom of library) all(*|reveal) bottomoflibrary optiontwoend afterrevealed choice life:-2 afterrevealedend revealend text=Look at the top four cards of your library. Put two of them into your hand and the rest on the bottom of your library in any order. You lose 2 life. mana={3}{B} @@ -8844,7 +8914,7 @@ toughness=1 [/card] [card] name=Bloodsoaked Altar -auto={T}{L:2}{D(*|myhand){S(creature|mybattlefield)}:token(Demon,Creature Demon,5/5,black,flying) +auto={T}{L:2}{D(*|myhand)}{S(creature|mybattlefield)}:token(Demon,Creature Demon,5/5,black,flying) asSorcery text={T}, Pay 2 life, Discard a card, Sacrifice a creature: Create a 5/5 black Demon creature token with flying. Activate this ability only any time you could cast a sorcery. mana={4}{B}{B} type=Artifact @@ -8960,7 +9030,7 @@ toughness=3 [card] name=Bloodtithe Collector abilities=flying -auto=if compare(oplifelost)~morethan~0 then ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ opponent +auto=if _SPECTACLE_ then ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ opponent text=Flying -- When Bloodtithe Collector enters the battlefield, if an opponent lost life this turn, each opponent discards a card. mana={4}{B} type=Creature @@ -9706,7 +9776,7 @@ type=Legendary Artifact [card] name=Book Devourer abilities=trample -auto=@combatdamaged(player) from(this):all(*|myhand) transforms((,newability[draw:1],newability[reject])])) +auto=@combatdamaged(player) from(this):all(*|myhand) transforms((,newability[draw:1],newability[reject])) text=Trample -- Whenever Book Devourer deals combat damage to a player, you may discard all the cards in your hand. If you do, draw that many cards. mana={5}{R} type=Creature @@ -10230,7 +10300,7 @@ name=Branching Bolt target=creature other={1}{R}{R} name(Both) auto=if paid(alternative) then damage:3 && damage:3 target(creature[flying]) -auto=ifnot paid(alternative) then transforms((,newability[choice name(Damage Non-Flying) damage:3],newability[choice name(Damage Flying) target(creature[flying] damage:3])) +auto=ifnot paid(alternative) then transforms((,newability[choice name(Damage Non-Flying) damage:3],newability[choice name(Damage Flying) target(creature[flying]) damage:3])) text=Choose one or both Branching Bolt deals 3 damage to target creature with flying; and/or Branching Bolt deals 3 damage to target creature without flying. mana={1}{R}{G} type=Instant @@ -10509,7 +10579,7 @@ type=Land [/card] [card] name=Breya's Apprentice -auto=token(Thopter,Artifact Creature Thopter,1/1,flying) +auto=_THOPTERTOKEN_ auto={T}{S(artifact|myBattlefield)}:name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|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 )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent auto={T}{S(artifact|myBattlefield)}:name(Creature gets 2/0) target(creature) 2/0 ueot text=When Breya's Apprentice enters the battlefield, create a 1/1 colorless Thopter artifact creature token with flying. -- {T}, Sacrifice an artifact: Choose one -- Exile the top card of your library. Until the end of your next turn, you may play that card. -- Target creature gets +2/+0 until end of turn. @@ -10651,6 +10721,20 @@ mana={3}{W}{W}{W}{W} type=Sorcery [/card] [card] +name=Brimaz, Blight of Oreskos +auto=@movedTo(creature[artifact]|mystack):name(Incubate X) name(Incubate X) all(trigger[to]) transforms((,newability[name(Incubate X) name(Incubate X) activate castcard(noevent costx!:manacost:! named!:Incubator:!)])) oneshot +auto=@movedTo(creature[-artifact&phyrexian]|mystack):name(Incubate X) name(Incubate X) all(trigger[to]) transforms((,newability[name(Incubate X) name(Incubate X) activate castcard(noevent costx!:manacost:! named!:Incubator:!)])) oneshot +auto=@movedTo(phyrexian|graveyard) from(mybattlefield):name(Phyrexian died) counter(0/0,1,BrimazEffect) notrg +auto=@each my endofturn restriction{compare(hascntbrimazeffect)~morethan~0}:name(Effect ends) name(Effect ends) removeallcounters(0/0.1.BrimazEffect) +auto=@each my endofturn restriction{compare(hascntbrimazeffect)~morethan~0}:name(Proliferate) _PROLIFERATE_ +text=Whenever you cast a Phyrexian creature or artifact creature spell, incubate X, where X is that spell's mana value. (Create an Incubator token with X +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- At the beginning of each end step, if a Phyrexian died under your control this turn, proliferate. +mana={2}{W}{B} +type=Legendary Creature +subtype=Phyrexian Cat +power=3 +toughness=4 +[/card] +[card] name=Brimaz, King of Oreskos abilities=vigilance auto=_ATTACKING_token(Cat Soldier,Creature Cat Soldier,1/1,white,vigilance,battleready) controller @@ -10849,7 +10933,7 @@ type=Instant [/card] [card] name=Brokers Initiate -auto={4}{G/U}:transforms((,setpower=5,settoughness=5)) ueot +auto={4}{GU}:transforms((,setpower=5,settoughness=5)) ueot text={4}{G/U}: Brokers Initiate has base power and toughness 5/5 until end of turn. mana={W} type=Creature @@ -11070,7 +11154,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 mills a card.) +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.) mana={2}{U} type=Legendary Creature subtype=Human Advisor @@ -11155,7 +11239,7 @@ toughness=2 [/card] [card] name=Burakos, Party Leader -abilities=chooseabackground +abilities=backgoundpartner auto=becomes(Cleric Rogue Warrior Wizard) auto=_ATTACKING_damage:calculateparty opponent && create(Treasure sur)*calculateparty text=Burakos, Party Leader is also a Cleric, Rogue, Warrior, and Wizard. -- Whenever Burakos attacks, defending player loses X life and you create X Treasure tokens, where X is the number of creatures in your party. -- Choose a Background (You can have a Background as a second commander.) @@ -11541,7 +11625,7 @@ type=Instant [/card] [card] name=Cabaretti Initiate -auto={2}{R/W}:double strike ueot +auto={2}{RW}:double strike ueot text={2}{R/W}: Cabaretti Initiate gains double strike until end of turn. mana={G} type=Creature @@ -11583,6 +11667,16 @@ power=3 toughness=3 [/card] [card] +name=Caetus, Sea Tyrant of Segovia +auto=@each my endofturn:may name(Untap 4 creatures) target(creature|battlefield) untap +auto=lord(creature[-tapped]|mybattlefield) transforms((,newability[{T}:name(Pay 1 convoke for spell) name(Pay 1 convoke for spell) target(*[-creature]|myrestrictedcastingzone) transforms((,newability[changecost(colorless:-1)])) ueot])) +text=Noncreature spells you cast have convoke. (Your creatures can help cast those spells. Each creature you tap while casting a noncreature spell pays for {1} or one mana of that creature's color.) -- At the beginning of your end step, untap up to four target creatures. +type=Legendary Creature +subtype=Serpent +power=3 +toughness=3 +[/card] +[card] name=Caged Sun auto=choice name(Green) transforms((,newability[lord(creature[green]|myBattlefield) 1/1],newability[lord(forest|myBattlefield) producecolor:green])) forever auto=choice name(White) transforms((,newability[lord(creature[white]|myBattlefield) 1/1],newability[lord(plains|myBattlefield) producecolor:white])) forever @@ -12185,7 +12279,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 +auto={T}:name(Add red) transforms((,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 @@ -12233,6 +12327,18 @@ power=2 toughness=3 [/card] [card] +name=Carrion Locust +abilities=flying +auto=name(Exile creature) target(creature|opponentGraveyard) transforms((,newability[moveTo(exile) && life:-1 controller])) +auto=name(Exile noncreature) target(*[-creature]|opponentGraveyard) moveTo(exile) +text=Flying -- When Carrion Locust enters the battlefield, exile target card from an opponent's graveyard. If it was a creature card, that player loses 1 life. +mana={2}{B} +type=Creature +subtype=Insect Horror +power=2 +toughness=1 +[/card] +[card] name=Carrion Rats auto=@combat(attacking,blocking) source(this):ability$!name(Choose one) choice name(Exile a card) moveto(exile) target(*|mygraveyard) && all(mysource) fog from(this) _ choice name(Don't exile any card) donothing!$ opponent auto=@combat(attacking,blocking) source(this):ability$!name(Choose one) choice name(Exile a card) moveto(exile) target(*|mygraveyard) && all(mysource) fog from(this) _ choice name(Don't exile any card) donothing!$ controller @@ -12549,7 +12655,7 @@ color=green [/card] [card] name=Cataclysm -auto=if type(artifact[|mybattlefield)~morethan~1 then ability$!name(Sacrifice artifact) name(Sacrifice artifact) sacrifice notatarget(artifact|mybattlefield)!$ controller +auto=if type(artifact|mybattlefield)~morethan~1 then ability$!name(Sacrifice artifact) name(Sacrifice artifact) sacrifice notatarget(artifact|mybattlefield)!$ controller auto=if type(artifact|opponentbattlefield)~morethan~1 then ability$!name(Sacrifice artifact) name(Sacrifice artifact) sacrifice notatarget(artifact|mybattlefield)!$ opponent auto=if type(creature|mybattlefield)~morethan~1 then ability$!name(Sacrifice creature) name(Sacrifice creature) sacrifice notatarget(creature|mybattlefield)!$ controller auto=if type(creature|opponentbattlefield)~morethan~1 then ability$!name(Sacrifice creature) name(Sacrifice creature) sacrifice notatarget(creature|mybattlefield)!$ opponent @@ -13474,7 +13580,7 @@ toughness=6 [card] name=Chancellor of the Dross abilities=flying,lifelink -autohand=@each upkeep restriction{compare(currentturn)~lessthan~2}:may name(Reveal Chancellor of the Dross) life:-3 opponent && life:3 controller +autohand=@each upkeep restriction{compare(currentturn)~lessthan~2}:may name(Reveal Chancellor of the Dross) lifeleech:-3 opponent text=You may reveal this card from your opening hand. If you do, at the beginning of the first upkeep, each opponent loses 3 life, then you gain life equal to the life lost this way. -- Flying, lifelink mana={4}{B}{B}{B} type=Creature @@ -14450,6 +14556,17 @@ power=5 toughness=5 [/card] [card] +name=Chrome Host Seedshark +abilities=flying +auto=@movedTo(*[-creature]|mystack):name(Incubate X) name(Incubate X) all(trigger[to]) transforms((,newability[name(Incubate X) name(Incubate X) activate castcard(noevent costx!:manacost:! named!:Incubator:!)])) oneshot +text=Flying -- Whenever you cast a noncreature spell, incubate X, where X is that spell's mana value. (Create an Incubator token with X +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={2}{U} +type=Creature +subtype=Phyrexian Shark +power=2 +toughness=4 +[/card] +[card] name=Chrome Prowler abilities=flash auto=tap target(creature|opponentBattlefield) @@ -14855,10 +14972,10 @@ target=player auto=choice name(Player) damage:X auto=choice name(Flying) damage:X target(creature[-flying]) auto=choice name(Non-Flying) damage:X target(creature[-flying]) -auto=choice name(Flying & Non-Flying) transforms((,newability[damage:X target(creature[-flying])],newability[damage:X target(creature[flying]])) +auto=choice name(Flying & Non-Flying) transforms((,newability[damage:X target(creature[-flying])],newability[damage:X target(creature[flying])] )) auto=choice name(Player & Non-Flying) transforms((,newability[damage:X],newability[damage:X target(creature[-flying])])) auto=choice name(Player & Flying) transforms((,newability[damage:X],newability[damage:X target(creature[flying])])) -auto=choice name(Choose All) transforms((,newability[damage:X],newability[damage:X target(creature[-flying])],newability[damage:X target(creature[flying]])) +auto=choice name(Choose All) transforms((,newability[damage:X],newability[damage:X target(creature[-flying])],newability[damage:X target(creature[flying])])) text=Choose one or more -- Clan Defiance deals X damage to target creature with flying. -- Clan Defiance deals X damage to target creature without flying. -- Clan Defiance deals X damage to target player. mana={X}{R}{G} type=Sorcery @@ -15415,7 +15532,7 @@ name=Coastal Bulwark abilities=defender auto=aslongas(Island|myBattlefield) 2/0 aicode=name(surveil) activate name(surveil) transforms((,newability[foreach(*[zpos<=1]|mylibrary) moverandom(*[zpos<=1]) from(mylibrary) to(mylibrary)])) ueot -auto=name(surveil) reveal:1 optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<1>*|reveal) moveto(ownerlibrary) optiontwoend revealend +auto={2}{T}:name(surveil) reveal:1 optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<1>*|reveal) moveto(ownerlibrary) optiontwoend revealend text=Defender -- Coastal Bulwark gets +2/+0 as long as you control an Island. -- {2}, {T}: Surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={2} type=Artifact Creature @@ -16159,6 +16276,15 @@ power=3 toughness=3 [/card] [card] +name=Complete the Circuit +other={convoke} name(Convoke) +auto=emblem transforms((,newability[lord(sorcery|mycastingzone) asflash],newability[@movedto(*[instant;sorcery]|mystack) turnlimited:name(Copy spell twice) name(Copy spell twice) all(trigger[to]) transforms((,newability[activate castcard(copied noevent costx!:x:! kicked!:kicked:!)],newability[activate castcard(copied noevent costx!:x:! kicked!:kicked:!)])) ueot])) ueot +auto=emblem transforms(()) ueot +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.) -- You may cast sorcery spells this turn as though they had flash. -- When you next cast an instant or sorcery spell this turn, copy that spell twice. You may choose new targets for the copies. +mana={5}{U} +type=Instant +[/card] +[card] name=Complicate abilities=cycling target=*|stack @@ -16172,7 +16298,7 @@ type=Instant [card] name=Component Collector auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) -auto=@transformed(*[day;night]|battlefield):may name(Tap or untap permanent) ability$!choice tap target(*[-land]) _ choice untap target(*)!$ controller])) oneshot +auto=@transformed(*[day;night]|battlefield):may name(Tap or untap permanent) ability$!choice tap target(*[-land]) _ choice untap target(*)!$ controller oneshot text=If it's neither day nor night, it becomes day as Component Collector enters the battlefield. -- Whenever day becomes night or night becomes day, you may tap or untap target nonland permanent. type=Creature subtype=Homunculus @@ -16504,7 +16630,7 @@ type=Instant [card] name=Consider aicode=activate draw:1 controller -auto=name(Look top card) reveal:1 optionone name(Put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[draw:1 controller]))) oneshot afterrevealedend revealend +auto=name(Look top card) reveal:1 optionone name(Put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[draw:1 controller])) oneshot afterrevealedend revealend text=Look at the top card of your library. You may put that card into your graveyard. -- Draw a card. mana={U} type=Instant @@ -16814,7 +16940,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 mills a card.) +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.) mana={1}{U} type=Creature subtype=Wall @@ -16983,6 +17109,14 @@ text={T}: Add {C} to your mana pool. ({C} represents colorless mana.) -- {T}, Pa type=Land [/card] [card] +name=Corruption of Towashi +auto=name(Incubate 4) name(Incubate 4) activate castcard(noevent costx!:4:! named!:Incubator:!) +auto=@transformed(*[-instant;-sorcery]|myzones) turnlimited:may name(Draw a card) draw:1 controller +text=When Corruption of Towashi enters the battlefield, incubate 4. (Create an Incubator token with four +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- Whenever a permanent you control transforms or a permanent enters the battlefield under your control transformed, you may draw a card. Do this only once each turn. +mana={4}{U} +type=Enchantment +[/card] +[card] name=Corsair Captain auto=token(Treasure Sur) auto=lord(other creature[pirate]|mybattlefield) 1/1 @@ -17173,7 +17307,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 mills a card.) +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.) mana={1}{U}{U} type=Enchantment [/card] @@ -17994,7 +18128,7 @@ type=Instant name=Cry of Contrition target=player auto=ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ targetedplayer -auto=if type(creature|mybattlefield)~morethan~0 then name(Exile and haunt a creature) all(this|mystack) moveto(myexile) and!( transforms((,newability[name(Haunt a creature) target(creature) haunt and!( counter(0/0.1.ContritionHaunted) )!],newability[@movedto(creature[isprey&counter{0/0.1.ContritionHaunted}]|graveyard) from(battlefield) once:name(A player discards a card) target(player) ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ targetedplayer )!])) forever )! +auto=if type(creature|battlefield)~morethan~0 then name(Exile and haunt a creature) all(this|mystack) moveto(myexile) and!( transforms((,newability[name(Haunt a creature) target(creature) haunt and!( counter(0/0.1.ContritionHaunted) )!],newability[@movedto(creature[isprey&counter{0/0.1.ContritionHaunted}]|graveyard) from(battlefield) once:name(A player discards a card) target(player) ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ targetedplayer )!])) forever text=Target player discards a card. -- Haunt (When this spell card is put into a graveyard after resolving, exile it haunting target creature.) -- When the creature Cry of Contrition haunts dies, target player discards a card. mana={B} type=Sorcery @@ -18751,6 +18885,16 @@ mana={2}{W} type=Sorcery [/card] [card] +name=Cut Short +other={convoke} name(Convoke) +auto=if compare(restriction{opponentturnonly}~morethan~0) then if type(planeswalker|opponentbattlefield)~morethan~0 then choice name(Destroy activated planeswalker) name(Destroy activated planeswalker) name(Destroy activated planeswalker) target(planeswalker|opponentbattlefield) destroy +auto=if compare(restriction{myturnonly}~morethan~0) then if type(planeswalker|mybattlefield)~morethan~0 then choice name(Destroy activated planeswalker) name(Destroy activated planeswalker) name(Destroy activated planeswalker) target(planeswalker|mybattlefield) destroy +auto=if type(creature[tapped]|battlefield)~morethan~0 then choice name(Destroy tapped creature) name(Destroy tapped creature) target(creature[tapped]|battlefield) destroy +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 planeswalker that was activated this turn or tapped creature. +mana={2}{W} +type=Instant +[/card] +[card] name=Cutthroat Centurion auto={S(other artifact,creature|mybattlefield)}:2/2 ueot limit:1 text=Sacrifice another artifact or creature: Cutthroat Centurion gets +2/+2 until end of turn. Activate only once each turn. @@ -19000,7 +19144,7 @@ type=Enchantment [card] name=Dance of Many auto=upcost[{U}{U}] sacrifice -auto=target(creature[-token]|battlefield) clone and!( transforms((,newability[counter(0/0.1.DanceEffect)],newability[@movedto(this|nonbattlezone) from(battlefield):name(Sacrifice dance of many) target(Dance of Many|mybattlefield) sacrifice] )! +auto=target(creature[-token]|battlefield) clone and!( transforms((,newability[counter(0/0.1.DanceEffect)],newability[@movedto(this|nonbattlezone) from(battlefield):name(Sacrifice dance of many) target(Dance of Many|mybattlefield) sacrifice])) )! auto=@movedto(this|nonbattlezone) from(battlefield):name(Sacrifice token copy) target(creature[counter{0/0.1.DanceEffect}]|mybattlefield) sacrifice text=When Dance of Many enters the battlefield, put a token that's a copy of target nontoken creature onto the battlefield. -- When Dance of Many leaves the battlefield, exile the token. -- When the token leaves the battlefield, sacrifice Dance of Many. -- At the beginning of your upkeep, sacrifice Dance of Many unless you pay {U}{U}. mana={U}{U} @@ -19357,7 +19501,7 @@ abilities=doublefacedeath,nomovetrigger,nofizzle auto=choice name(Draw three cards) draw:3 controller auto=choice name(Conjure a Manor Guardian) conjure cards(Manor Guardian) zone(myhand) auto=choice name(Return two creatures) moverandom(creature) from(mygraveyard) to(myhand) and!( counter(1/1.1.PerpetualPT) )! -auto=choice name(Return creature with the highest mana) moverandom(creature[mancost=convertedcost:highest:*:mygraveyard]) from(mygraveyard) to(mybattlefield) +auto=choice name(Return creature with the highest mana) moverandom(creature[manacost=convertedcost:highest:*:mygraveyard]) from(mygraveyard) to(mybattlefield) auto=choice name(Creatures you control get +2/+0.) emblem transforms((,newability[lord(creature|mybattlefield) 2/0])) forever dontremove auto=choice name(Spells you cast cost B less to cast.) emblem transforms((,newability[lord(*|mycastingzone) changecost(black:-1)])) forever dontremove auto=choice name(Davriel planeswalkers you control have "+2: Draw a card.") emblem transforms((,newability[lord(planeswalker[davriel]|mybattlefield) transforms((,newability[{C(0/0.2.Loyalty)}:limit:1 name(+2: Draw 1 card) draw:1 controller]))])) forever dontremove @@ -19680,7 +19824,7 @@ target=creature|mygraveyard auto=moveTo(ownerHand) text=Spectacle {1}{B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Return up to two target creature cards from your graveyard to your hand. other={1}{B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={3}{B} type=Sorcery [/card] @@ -20026,7 +20170,7 @@ toughness=2 [card] name=Deathbonnet Hulk backside=Deathbonnet Sprout -auto=@each my upkeep restriction{type(*|mygraveyard)~morethan~0:may name(Exile a card) target(*|mygraveyard) moveto(myexile) and!( if cantargetcard(*[creature]|*) then all(this) counter(1/1) )! +auto=@each my upkeep restriction{type(*|mygraveyard)~morethan~0}:may name(Exile a card) target(*|mygraveyard) moveto(myexile) and!( if cantargetcard(*[creature]|*) then all(this) counter(1/1) )! text=At the beginning of your upkeep, you may exile a card from a graveyard. If a creature card was exiled this way, put a +1/+1 counter on Deathbonnet Hulk. // Deathbonnet Sprout type=Creature subtype=Fungus Horror @@ -20518,6 +20662,19 @@ mana={2}{B} type=Sorcery [/card] [card] +name=Deluxe Dragster +auto=cantbeblockedby(creature[-Vehicle]) +auto={crew(other creature[power>=2]|myBattlefield)}:name(crew 2 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~1} +auto={crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=1]|myBattlefield)}:name(crew 2 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~1,compare(crewtotalpower)~morethan~1} +auto=@combatdamaged(player) from(this):may target(*[instant;sorcery]|opponentgraveyard) activate castcard(normal) and!(transforms((,newability[gainedexiledeath])) forever)! +text=Deluxe Dragster can't be blocked except by Vehicles. -- Whenever Deluxe Dragster deals combat damage to a player, you may cast target instant or sorcery card from that plyaer's graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. -- Crew 2 +mana={4}{U} +type=Artifact +subtype=Vehicle +power=4 +toughness=3 +[/card] +[card] name=Delver's Torch auto={3}:equip auto=teach(creature) 1/1 @@ -20564,11 +20721,18 @@ 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 mills a card.) +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.) mana={2}{B} type=Sorcery [/card] [card] +name=Demolition Field +auto={T}:Add{C} +auto={2}{T}{S}:name(Destroy non-basic land) target(land[-basic]|opponentbattlefield) destroy && ability$!may name(Search library) name(Search library) target(land[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )! !$ controller && ability$!may name(Search library) name(Search library) target(land[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )! !$ opponent +text={T}: Add {C}. -- {2}, {T}, Sacrifice Demolition Field: Destroy target nonbasic land an opponent controls. That land's controller may search their library for a basic land card, put it onto the battlefield, then shuffle. You may search your library for a basic land card, put it onto the battlefield, then shuffle. +type=Land +[/card] +[card] name=Demon Arc abilities=flying type=Creature @@ -20775,7 +20939,7 @@ type=Instant name=Departed auto=@targeted(this):sacrifice auto=cantbeblockedby(creature[-spirit]) -auto={3}{U}:target(other creature|myBattlefield) ) cantbeblockedby(creature[-spirit]) +auto={3}{U}:target(other creature|myBattlefield) cantbeblockedby(creature[-spirit]) text=When Departed Deckhand becomes the target of a spell, sacrifice it. -- Departed Deckhand can't be blocked except by Spirits. -- {3}{U}: Another target creature you control can't be blocked this turn except by Spirits. mana={1}{U} type=Creature @@ -20820,7 +20984,7 @@ name=Depose // Deploy other={2}{W}{U} name(Deploy) auto=ifnot paid(alternative) then draw:1 controller auto=ifnot paid(alternative) then target(creature) tap(noevent) -auto=if paid(alternative) then token(Thopter,Artifact Creature Thopter,1/1,flying)*2 +auto=if paid(alternative) then _THOPTERTOKEN_*2 auto=if paid(alternative) then life:type:creature:mybattlefield controller text=Tap target creature. -- Draw a card. // Create two 1/1 colorless Thopter artifact creature tokens with flying, then you gain 1 life for each creature you control. mana={1}{WU} @@ -21157,7 +21321,7 @@ type=Sorcery [card] name=Detection Tower auto={T}:add{C} -auto={1}{T}:name(Opponent loses hexproof) all(*|opponentbattlefield) transforms((,newability[-opponentshroud]),newability[-controllershroud])) ueot +auto={1}{T}:name(Opponent loses hexproof) all(*|opponentbattlefield) transforms((,newability[-opponentshroud],newability[-controllershroud])) ueot text={T}: Add {C}. -- {1}, {T}: Until end of turn, your opponents and creatures your opponents control with hexproof can be the targets of spells and abilities you control as though they didn't have hexproof. type=Land [/card] @@ -22371,6 +22535,17 @@ power=5 toughness=5 [/card] [card] +name=Dokuchi Silencer +autohand={1}{B}{N}:ninjutsu +auto=@combatdamaged(player) from(this):may reject notatarget(creature|myhand) and!(destroy target(creature,planeswalker))! +text=Ninjutsu {1}{B} ({1}{B}, Return an unblocked attacker you control to hand: Put this card onto the battlefield from your hand tapped and attacking.) -- Whenever Dokuchi Silencer deals combat damage to a player, you may discard a creature card. When you do, destroy target creature or planeswalker that player controls. +mana={1}{B} +type=Creature +subtype=Human Ninja +power=2 +toughness=1 +[/card] +[card] name=Dollhouse of Horrors auto={1}{T}:name(Exile creature) target(creature|mygraveyard) moveto(myexile) and!( clone and!( transforms((Artifact Construct,newability[type:construct:mybattlefield/type:construct:mybattlefield cdaactive],newability[haste])) forever )! )! asSorcery text={1}, {T}: Exile a creature card from your graveyard: Create a token that's a copy of that card, except it's a 0/0 Construct artifact creature with "This creature gets +1/+1 for each Construct you control." That creature gains haste until end of turn. Activate only as a sorcery. @@ -23334,7 +23509,7 @@ toughness=3 [/card] [card] name=Dread Summons -auto=@movedTo(creature|graveyard) from(library):all(trigger[to]) (_ZOMBIETOKEN_ tap(noevent)) controller)! +auto=@movedTo(creature|graveyard) from(library):all(trigger[to]) _ZOMBIETOKEN_ and!(tap(noevent))! 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} @@ -23723,7 +23898,7 @@ target=player auto=name(Choose and discard) target(*[-land]|targetedpersonshand) reject text=Spectacle {B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Target player reveals their hand. You choose a nonland card from it. That player discards that card. other={B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{B} type=Sorcery [/card] @@ -25240,6 +25415,22 @@ power=1 toughness=1 [/card] [card] +name=Elesh Norn +abilities=vigilance +backside=The Argent Etchings +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=@damaged(*|mybattlefield) from(*|opponentzones):name(pay or lifeloss) ability$!name(pay or lifeloss) pay[[{1}]] name(pay 1 mana) donothing?life:-2!$ opponent +auto=@damageof(player) from(*|opponentzones):name(pay or lifeloss) ability$!name(pay or lifeloss) pay[[{1}]] name(pay 1 mana) donothing?life:-2!$ opponent +auto={2}{W}{S(other creature|mybattlefield)}{S(other creature|mybattlefield)}{S(other creature|mybattlefield)}:name(Exile and transform) moveto(myexile) and!( flip(backside) forcetype(Enchantment Saga) )! asSorcery +text=Vigilance -- Whenever a source an opponent controls deals damage to you or a permanent you control, that source's controller loses 2 life unless they pay {1}. -- {2}{W}, Sacrifice three other creatures: Exile Elesh Norn, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery. +mana={2}{W}{W} +type=Legendary Creature +subtype=Phyrexian Praetor +power=3 +toughness=5 +[/card] +[card] name=Elfhame Druid auto={T}:add{G} auto=this(variable{type:*[haskicker]:myrestrictedcastingzone}>0) {T}:add{G}{G} @@ -25499,7 +25690,7 @@ type=Instant [/card] [card] name=Elven Bow -autostack=may name(Create elf and attach) pay({2}) name(Create elf and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Elf^Creature Elf Warrior^1/1^green),newability[rehook target(warrior[token;elf;fresh]|mybattlefield)])) oneshot )! +autostack=may name(Create elf and attach) pay({2}) name(Create elf and attach) moveTo(mybattlefield) and!( transforms((,newability[token(Elf^Creature Elf Warrior^1/1^green)],newability[rehook target(warrior[token;elf;fresh]|mybattlefield)])) oneshot )! auto={3}:equip auto=teach(creature) 1/2 auto=teach(creature) reach @@ -26102,6 +26293,16 @@ power=3 toughness=3 [/card] [card] +name=Enduring Bondwarden +auto=name(Put counter on creature) target(creature|battlefield) transforms((,newability[counter(1/1)],newability[_DIES_this(counter{1/1}>=1) name(Move 1/1 counters) target(creature|myBattlefield) counter(1/1.hasnct11)])) forever +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.) -- When this creature dies, put its counters on target creature you control. +mana={W} +type=Creature +subtype=Human Scout +power=0 +toughness=1 +[/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=@movedTo(creature|mygraveyard) from(battlefield):all(trigger[to]) moveTo(myhand) @@ -26373,6 +26574,31 @@ power=5 toughness=5 [/card] [card] +name=Ephara, Ever-Sheltering +auto=aslongas(enchantment|mybattlefield) lifelink >3 +auto=aslongas(enchantment|mybattlefield) indestructible >3 +auto=@movedTo(enchantment|myBattlefield):name(Draw a card) draw:1 controller +text=Ephara, Ever-Sheltering has lifelink and indestructible as long as you control at least three other enchantments. -- Whenever another enchantment enters the battlefield under your control, draw a card. +type=Legendary Enchantment Creature +subtype=God +color=white,blue +power=4 +toughness=4 +[/card] +[card] +name=Ephara's Dispersal +other={U} name(Target attacking creature) +restriction=type(creature|battlefield)~morethan~0 +otherrestriction=type(creature[attacking]|battlefield)~morethan~0 +auto=if paid(alternative) then if type(creature[attacking]|opponentbattlefield)~morethan~0 then choice name(Return opponent's creature) name(Return opponent's creature) name(Return opponent's creature) target(creature[attacking]|opponentbattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Surveil 2) name(Surveil 2) reveal:psurveiloffsetplus2plusend revealzone(mylibrary) optionone name(put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed surveil afterrevealedend revealend!$ opponent])) oneshot +auto=if paid(alternative) then if type(creature[attacking]|mybattlefield)~morethan~0 then choice name(Return your creature) name(Return your creature) name(Return your creature) target(creature[attacking]|mybattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Surveil 2) name(Surveil 2) reveal:psurveiloffsetplus2plusend revealzone(mylibrary) optionone name(put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed surveil afterrevealedend revealend!$ controller])) oneshot +auto=ifnot paid(alternative) then if type(creature|opponentbattlefield)~morethan~0 then choice name(Return opponent's creature) name(Return opponent's creature) name(Return opponent's creature) target(creature|opponentbattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Surveil 2) name(Surveil 2) reveal:psurveiloffsetplus2plusend revealzone(mylibrary) optionone name(put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed surveil afterrevealedend revealend!$ opponent])) oneshot +auto=ifnot paid(alternative) then if type(creature|mybattlefield)~morethan~0 then choice name(Return your creature) name(Return your creature) name(Return your creature) target(creature|mybattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Surveil 2) name(Surveil 2) reveal:psurveiloffsetplus2plusend revealzone(mylibrary) optionone name(put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed surveil afterrevealedend revealend!$ controller])) oneshot +text=This spell costs {2} less to cast if it targets an attacking creature. -- Return target creature to its owner's hand. 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={2}{U} +type=Instant +[/card] +[card] name=Ephemerate target=creature|mybattlefield auto=moveto(exile) and!(moveto(ownerbattlefield))! @@ -26450,7 +26676,7 @@ toughness=6 [/card] [card] name=Erinis, Gloom Stalker -abilities=deathtouch,chooseabackground +abilities=deathtouch,backgoundpartner auto=_ATTACKING_target(land|mygraveyard) moveTo(mybattlefield) text=Deathtouch -- Whenever Erinis, Gloom Stalker attacks, return target land card from your graveyard to the battlefield. -- Choose a Background (You can have a Background as a second commander.) mana={2}{G} @@ -26462,7 +26688,7 @@ toughness=3 [card] name=Erosion target=land -auto=teach(land) transforms((,newability[@each my upkeep:transforms((,newability[choice name(Pay 1 mana) pay[[{1}]] name(pay 1 mana) donothing?destroy],newability[choice name(Pay 1 life) pay[[{L:1}]] name(pay 1 life) donothing?destroy]])) oneshot])) +auto=teach(land) transforms((,newability[@each my upkeep:transforms((,newability[choice name(Pay 1 mana) pay[[{1}]] name(pay 1 mana) donothing?destroy],newability[choice name(Pay 1 life) pay[[{L:1}]] name(pay 1 life) donothing?destroy])) oneshot])) text=Enchant land -- At the beginning of the upkeep of enchanted land's controller, destroy that land unless that player pays {1} or 1 life. mana={U}{U}{U} type=Enchantment @@ -26885,7 +27111,7 @@ toughness=4 [/card] [card] name=Etherium Spinner -auto=@movedto(*[manacost>=4]|myStack):name(Create Thopter) token(Thopter,Artifact Creature Thopter,1/1,flying) +auto=@movedto(*[manacost>=4]|myStack):name(Create Thopter) _THOPTERTOKEN_ text=Whenever you cast a spell with mana value 4 or greater, create a 1/1 colorless Thopter artifact creature token with flying. mana={2}{U} type=Artifact Creature @@ -27192,6 +27418,55 @@ mana={X}{W} type=Instant [/card] [card] +name=Excise the Imperfect +restriction=type(*[-land]|battlefield)~morethan~0 +auto=if type(*[-land&manacost=0]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 0) name(Exile your permanent with cost 0) target(*[-land&manacost=0]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=1]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 1) name(Exile your permanent with cost 1) target(*[-land&manacost=1]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.1)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=2]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 2) name(Exile your permanent with cost 2) target(*[-land&manacost=2]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.2)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=3]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 3) name(Exile your permanent with cost 3) target(*[-land&manacost=3]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.3)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=4]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 4) name(Exile your permanent with cost 4) target(*[-land&manacost=4]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.4)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=5]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 5) name(Exile your permanent with cost 5) target(*[-land&manacost=5]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.5)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=6]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 6) name(Exile your permanent with cost 6) target(*[-land&manacost=6]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.6)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=7]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 7) name(Exile your permanent with cost 7) target(*[-land&manacost=7]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.7)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=8]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 8) name(Exile your permanent with cost 8) target(*[-land&manacost=8]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.8)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=9]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 9) name(Exile your permanent with cost 9) target(*[-land&manacost=9]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.9)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=10]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 10) name(Exile your permanent with cost 10) target(*[-land&manacost=10]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.10)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=11]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 11) name(Exile your permanent with cost 11) target(*[-land&manacost=11]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.11)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=12]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 12) name(Exile your permanent with cost 12) target(*[-land&manacost=12]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.12)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=13]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 13) name(Exile your permanent with cost 13) target(*[-land&manacost=13]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.13)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=14]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 14) name(Exile your permanent with cost 14) target(*[-land&manacost=14]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.14)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=15]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 15) name(Exile your permanent with cost 15) target(*[-land&manacost=15]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.15)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=16]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 16) name(Exile your permanent with cost 16) target(*[-land&manacost=16]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.16)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=17]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 17) name(Exile your permanent with cost 17) target(*[-land&manacost=17]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.17)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=18]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 18) name(Exile your permanent with cost 18) target(*[-land&manacost=18]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.18)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=19]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 19) name(Exile your permanent with cost 19) target(*[-land&manacost=19]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.19)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost>=19]|mybattlefield)~morethan~0 then choice name(Exile your permanent with cost 20) name(Exile your permanent with cost 20) target(*[-land&manacost>=19]|mybattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.20)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=0]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 0) name(Exile opponent permanent with cost 0) target(*[-land&manacost=0]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=1]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 1) name(Exile opponent permanent with cost 1) target(*[-land&manacost=1]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.1)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=2]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 2) name(Exile opponent permanent with cost 2) target(*[-land&manacost=2]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.2)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=3]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 3) name(Exile opponent permanent with cost 3) target(*[-land&manacost=3]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.3)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=4]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 4) name(Exile opponent permanent with cost 4) target(*[-land&manacost=4]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.4)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=5]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 5) name(Exile opponent permanent with cost 5) target(*[-land&manacost=5]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.5)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=6]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 6) name(Exile opponent permanent with cost 6) target(*[-land&manacost=6]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.6)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=7]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 7) name(Exile opponent permanent with cost 7) target(*[-land&manacost=7]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.7)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=8]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 8) name(Exile opponent permanent with cost 8) target(*[-land&manacost=8]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.8)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=9]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 9) name(Exile opponent permanent with cost 9) target(*[-land&manacost=9]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.9)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=10]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 10) name(Exile opponent permanent with cost 10) target(*[-land&manacost=10]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.10)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=11]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 11) name(Exile opponent permanent with cost 11) target(*[-land&manacost=11]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.11)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=12]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 12) name(Exile opponent permanent with cost 12) target(*[-land&manacost=12]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.12)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=13]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 13) name(Exile opponent permanent with cost 13) target(*[-land&manacost=13]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.13)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=14]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 14) name(Exile opponent permanent with cost 14) target(*[-land&manacost=14]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.14)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=15]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 15) name(Exile opponent permanent with cost 15) target(*[-land&manacost=15]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.15)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=16]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 16) name(Exile opponent permanent with cost 16) target(*[-land&manacost=16]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.16)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=17]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 17) name(Exile opponent permanent with cost 17) target(*[-land&manacost=17]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.17)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=18]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 18) name(Exile opponent permanent with cost 18) target(*[-land&manacost=18]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.18)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost=19]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 19) name(Exile opponent permanent with cost 19) target(*[-land&manacost=19]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.19)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +auto=if type(*[-land&manacost>=19]|opponentbattlefield)~morethan~0 then choice name(Exile opponent permanent with cost 20) name(Exile opponent permanent with cost 20) target(*[-land&manacost>=19]|opponentbattlefield) moveto(exile) and!( token(Incubator^Artifact^0/0) opponent and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.20)],newability[{2}:name(Becomes creature) becomes(Creature Phyrexian) forever])) forever )! )! +text=Exile target nonland permanent. Its controller incubates X, where X is its mana value. (They create an Incubator token with X +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={1}{W}{W} +type=Instant +[/card] +[card] name=Exclusion Mage auto=moveto(ownerHand) target(creature|opponentBattlefield) text=When Exclusion Mage enters the battlefield, return target creature an opponent controls to its owner's hand. @@ -27692,6 +27967,14 @@ mana={2}{U} type=Enchantment [/card] [card] +name=Eyes of Gitaxias +auto=name(Incubate 3) name(Incubate 3) activate castcard(noevent costx!:3:! named!:Incubator:!) +auto=name(Draw a card) draw:1 controller +text=Incubate 3. (Create an Incubator token with three +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- Draw a card. +mana={2}{U} +type=Sorcery +[/card] +[card] name=Eyes of the Beholder target=creature auto=-11/-11 ueot @@ -27712,7 +27995,7 @@ toughness=1 [/card] [card] name=Ezuri's Predation -auto=foreach(creature|opponentBattlefield) token(Beast,Creature Beast,4/4,green) and!( transforms((,newability[moveTo(this|myBattlefield) damage:dynamicability target(other creature|opponentBattlefield])) forever )! controller +auto=foreach(creature|opponentBattlefield) token(Beast,Creature Beast,4/4,green) and!( transforms((,newability[moveTo(this|myBattlefield) damage:dynamicability target(other creature|opponentBattlefield]))) forever )! controller text=For each creature your opponents control, create a 4/4 green Beast creature token. Each of those Beasts fights a different one of those creatures. mana={5}{G}{G}{G} type=Sorcery @@ -28004,7 +28287,7 @@ toughness=3 [/card] [card] name=Fairgrounds Patrol -autograveyard={1}{W}{E}:name(Create Thopter) token(Thopter,Artifact Creature Thopter,1/1,flying) asSorcery +autograveyard={1}{W}{E}:name(Create Thopter) _THOPTERTOKEN_ asSorcery text={1}{W}, Exile Fairgrounds Patrol from your graveyard: Create a 1/1 colorless Thopter artifact creature token with flying. Activate only as a sorcery. mana={1}{W} type=Creature @@ -28142,7 +28425,7 @@ toughness=1 [/card] [card] name=Falkenrath Pit Fighter -auto={1}{R}{D(*|myhand)}{S(vampire|myBattlefield)}:name(Draw 2 cards) draw:2 controller restriction{compare(oplifelost)~morethan~0} +auto={1}{R}{D(*|myhand)}{S(vampire|myBattlefield)}:name(Draw 2 cards) draw:2 controller restriction{_SPECTACLE_} text={1}{R}, Discard a card, sacrifice a Vampire: Draw two cards. Activate this ability only if an opponent lost life this turn. type=Creature subtype=Vampire Warrior @@ -28268,7 +28551,7 @@ toughness=2 [/card] [card] name=Famished Foragers -auto=if compare(oplifelost)~morethan~0 then add{R}{R}{R} +auto=if _SPECTACLE_ then add{R}{R}{R} auto={2}{R}:name(Draw a card) draw:1 controller text=When Famished Foragers enters the battlefield, if an opponent lost life this turn, add {R}{R}{R}. -- {2}{R}, Discard a card: Draw a card. type=Creature @@ -29926,7 +30209,7 @@ name=Firesong and Sunspeaker auto=@damaged(creature) from(*[instant;sorcery;red]|mystack,mygraveyard):life:thatmuch controller auto=@damageof(player) from(*[instant;sorcery;red]|mystack,mygraveyard):life:thatmuch controller auto=@damagefoeof(player) from(*[instant;sorcery;red]|mystack,mygraveyard):life:thatmuch controller -auto=@lifeof(player) from(*[instant;sorcery;white]|mystack,mygraveyard)):damage:3 target(creature,player) +auto=@lifeof(player) from(*[instant;sorcery;white]|mystack,mygraveyard):damage:3 target(creature,player) text=Red instant and sorcery spells you control have lifelink. -- Whenever a white instant or sorcery spell causes you to gain life, Firesong and Sunspeaker deals 3 damage to target creature or player. mana={4}{R}{W} type=Legendary Creature @@ -30502,6 +30785,16 @@ mana={2}{B}{B}{S(creature|mybattlefield)} type=Sorcery [/card] [card] +name=Fleshless Gladiator +autograveyard=this(variable{opponentpoisoncount}>2) {2}{B}:moveto(mybattlefield) and!(tap(noevent))! && life:-1 +text=Corrupted - {2}{B}: Return Fleshless Gladiator from your graveyard to the battlefield tapped. You lose 1 life. Activate only if an opponent has three or more poison counters. +mana={1}{B} +type=Creature +subtype=Phyrexian Skeleton +power=2 +toughness=2 +[/card] +[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 && _SCRY1_ @@ -30582,7 +30875,7 @@ type=Sorcery name=Florian, Voldaren Scion abilities=first strike aicode=activate target(*[zpos<=oplifelost]|mylibrary) moveto(myhand) and!( transforms((,newability[canplayfromexile],newability[all(*[zpos<=oplifelost]|myLibrary) moveto(myreveal) and!( bottomoflibrary )!])) ueot )! -auto=@each my secondmain restriction{compare(oplifelost)~morethan~0}:name(Look top card) reveal:oplifelost optionone name(Exile 1 card) target(*|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|myreveal) bottomoflibrary )! optiontwoend revealend +auto=@each my secondmain restriction{_SPECTACLE_}:name(Look top card) reveal:oplifelost optionone name(Exile 1 card) target(*|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|myreveal) bottomoflibrary )! optiontwoend revealend text=First strike -- At the beginning of your postcombat main phase, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn. Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn. type=Legendary Creature subtype=Vampire Noble @@ -31917,6 +32210,18 @@ power=5 toughness=5 [/card] [card] +name=Furnace Punisher +abilities=menace +auto=@each my upkeep:if type(land[basic]|mybattlefield)~lessthan~2 then damage:2 controller +auto=@each opponent upkeep:if type(land[basic]|opponentbattlefield)~lessthan~2 then damage:2 opponent +text=Menace -- At the beginning of each player's upkeep, Furnace Punisher deals 2 damage to that player unless they control two or more basic lands. +mana={2}{R} +type=Creature +subtype=Phyrexian Warrior +power=3 +toughness=3 +[/card] +[card] name=Furnace Reins target=creature auto=moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],haste,newability[@combatdamaged(player) from(this):create(Treasure sur)])) ueot)! @@ -32163,7 +32468,7 @@ type=Instant [/card] [card] name=Gale, Waterdeep Prodigy -abilities=chooseabackground +abilities=backgoundpartner auto=@movedTo(instant|mystack) from(myhand):may name(Cast sorcery) target(sorcery|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) oneshot auto=@movedTo(sorcery|mystack) from(myhand):may name(Cast instant) target(instant|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) oneshot text=Whenever you cast an instant or sorcery spell from your hand, you may cast up to one target card of the other type from your graveyard. If a spell cast from your graveyard this way would be put into your graveyard, exile it instead. -- Choose a Background (You can have a Background as a second commander.) @@ -32266,7 +32571,7 @@ name=Galvanic Relay abilities=storm auto=all(*[zpos=1]|myLibrary) moveto(myexile) and!( transforms((,newability[phaseaction[opponent end once checkex] counter(0/0.1.GalvanicEffect)])) forever )! auto=emblem transforms((,newability[lord(*[counter{0/0.1.GalvanicEffect}]|myexile) canplayfromexile])) forever dontremove -auto=emblem transforms((,newability[@each my end:all(*[counter{0/0.1.GalvanicEffect}]|myexile) counter(0/0.-1.GalvanicEffect)] forever dontremove +auto=emblem transforms((,newability[@each my end:all(*[counter{0/0.1.GalvanicEffect}]|myexile) counter(0/0.-1.GalvanicEffect)])) forever dontremove text=Exile the top card of your library. During your next turn, you may play that card. -- Storm (When you cast this spell, copy it for each spell cast before it this turn.) mana={2}{R} type=Sorcery @@ -32286,7 +32591,7 @@ type=Sorcery [/card] [card] name=Ganax, Astral Hunter -abilities=flying,chooseabackground +abilities=flying,backgoundpartner auto=token(Treasure sur) auto=@movedTo(Dragon|myBattlefield):token(Treasure sur) text=Flying -- Whenever Ganax, Astral Hunter or another Dragon enters the battlefield under your control, create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") -- Choose a Background (You can have a Background as a second commander.) @@ -32449,7 +32754,7 @@ toughness=3 [card] name=Garruk's Harbinger auto=cantbetargetof(*[black]) -aicode=activate transforms((,newability[target(creature[zpos<=thatmuch]|mylibrary) moveto(myHand) and!( all(*[zpos<=thatmuch]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot +aicode=activate transforms((,newability[target(creature[zpos<=thatmuch]|mylibrary) moveto(myHand) and!( all(*[zpos<=thatmuch]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot auto=@combatdamaged(player) from(this):name(Reveal cards) reveal:thatmuch optionone name(Get a creature or a garruk) target(*[creature;garruk]|reveal) moveto(myHand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend auto=@combatdamaged(planeswalker) from(this):name(Reveal cards) reveal:thatmuch optionone name(Get a creature or a garruk) target(*[creature;garruk]|reveal) moveto(myHand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend text=Hexproof from black -- Whenever Garruk's Harbinger deals combat damage to a player or planeswalker, look at that many cards from the top of your library. You may reveal a creature card or Garruk planeswalker card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. @@ -33817,7 +34122,7 @@ toughness=2 name=Gitrog, Horror of Zhava abilities=menace auto=@each combatbegins:if cantargetcard(*[-tapped]|*) then ability$!may name(Sacrifice a creature) name(Sacrifice a creature) notatarget(creature|myBattlefield) sacrifice and!( name(Tap Gitrog) target(*[Gitrog^ Horror of Zhava;-tapped]|opponentBattlefield) transforms((,newability[tap],newability[name(Seek a land) moverandom(*[land]) from(mylibrary) to(myhand)])) oneshot )! !$ opponent -auto=@movedTo(land|myBattlefield):name(Gains ability) all(trigger[to])) counter(0/0.1.PerpetualGitrog) notrg +auto=@movedTo(land|myBattlefield):name(Gains ability) all(trigger[to]) counter(0/0.1.PerpetualGitrog) notrg auto=emblem transforms((,newability[lord(land[counter{0/0.1.PerpetualGitrog}]|myBattlefield) {B}{G}{T}{S}:name(Draw a card) draw:1 controller])) forever dontremove text=Menace -- At the beginning of each combat, if Gitrog, Horror of Zhava is untapped, any opponent may sacrifice a creature. If they do, tap Gitrog, Horror of Zhava, then seek a land card and put it onto the battlefield tapped. -- Whenever a land enters the battlefield under your control, it perpetually gains "{B}{G}, {T}, Sacrifice this land: Draw a card." mana={2}{B}{G} @@ -35641,7 +35946,7 @@ toughness=4 [card] name=Gorging Vulture abilities=flying -auto=reveal:4 revealzone(mylibrary) optionone all(*|reveal) moveto(ownergraveyard) and!( if cantargetcard(creature|*) then life:1 target(player))! optiononeend revealend +auto=reveal:4 revealzone(mylibrary) optionone all(*|reveal) moveto(ownergraveyard) and!( if cantargetcard(creature|*) then life:1 controller)! optiononeend revealend text=Flying -- When Gorging Vulture enters the battlefield, put the top four cards of your library into your graveyard. You gain 1 life for each creature card put into your graveyard this way. mana={2}{B} type=Creature @@ -35883,7 +36188,7 @@ auto=_DIES_this(counter{1/1}=7) token(Hydra,Creature Hydra,7/7,black,green) auto=_DIES_this(counter{1/1}=8) token(Hydra,Creature Hydra,8/8,black,green) auto=_DIES_this(counter{1/1}=9) token(Hydra,Creature Hydra,9/9,black,green) auto=_DIES_this(counter{1/1}=10) token(Hydra,Creature Hydra,10/10,black,green) -auto=_DIES_this(counter{1/1}=11) token(Hydra,Creature Hydra,11/11,black,green +auto=_DIES_this(counter{1/1}=11) token(Hydra,Creature Hydra,11/11,black,green) auto=_DIES_this(counter{1/1}=12) token(Hydra,Creature Hydra,12/12,black,green) auto=_DIES_this(counter{1/1}=13) token(Hydra,Creature Hydra,13/13,black,green) auto=_DIES_this(counter{1/1}=14) token(Hydra,Creature Hydra,14/14,black,green) @@ -37030,6 +37335,19 @@ mana={3}{G} type=Enchantment [/card] [card] +name=Guardian Scalelord +abilities=flying +auto=name(This creature) target(this) counter(1/1) +auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1)],newability[_ATTACKING_target(*[-land;-instant;-sorcery;manacost<=power]|mygraveyard) moveTo(battlefield)])) ueot +auto=_ATTACKING_target(*[-land;-instant;-sorcery;manacost<=power]|mygraveyard) moveTo(battlefield) +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 abilities until end of turn.) -- Flying -- Whenever this creature attacks, return target nonland permanent card with mana value X or less from your graveyard to the battlefield, where X is this creature's power. +mana={4}{W} +type=Creature +subtype=Dragon +power=3 +toughness=4 +[/card] +[card] name=Guardian Seraph abilities=flying auto=@targeted(controller):prevent:1 controller @@ -37097,7 +37415,7 @@ 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(Opponent) target(creature[zpos=1|opponentgraveyard) moveto(opponenthand) +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} type=Creature @@ -37189,6 +37507,25 @@ power=1 toughness=1 [/card] [card] +name=Guildpact Paragon +aicode=activate transforms((,newability[if type(*[multicolor&zpos<=6]|mylibrary)~morethan~0 then target(*[multicolor&zpos<=6]|mylibrary) moveTo(myHand) and!( all(other *[zpos<=6]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! else all(*[zpos<=6]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! ])) oneshot +auto=@movedTo(*[black&red&-green&-blue&-white]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[black&green&-red&-blue&-white]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[black&white&-green&-blue&-red]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[black&blue&-green&-red&-white]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[blue&red&-green&-black&-white]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[blue&green&-black&-red&-white]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[blue&white&-green&-red&-black]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[white&red&-green&-blue&-black]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[white&green&-red&-blue&-black]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=@movedTo(*[green&red&-white&-blue&-black]|mystack):name(look top 6 cards) reveal:6 optionone name(Get multicolored card) target(*[multicolor]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +text=Whenever you cast a spell that's exactly two colors, look at the top six cards of your library. You may reveal a card that's exactly two colors from among them and put it into your hand. Put the rest on the bottom of your library in a random order. +type=Artifact Creature +subtype=Construct +power=5 +toughness=5 +[/card] +[card] name=Guildsworn Prowler abilities=deathtouch auto=_DIES_may name(Draw a card) draw:1 controller @@ -37255,7 +37592,7 @@ type=Sorcery [/card] [card] name=Gut, True Soul Zealot -abilities=chooseabackground +abilities=backgoundpartner auto=@each my blockers:may notatarget(other creature,artifact|mybattlefield) sacrifice && create(skeleton:creature skeleton:4/1:black:menace,battleready) text=Whenever you attack, you may sacrifice another creature or an artifact. If you do, create a 4/1 black Skeleton creature token with menace that's tapped and attacking. (It can't be blocked except by two or more creatures.) -- Choose a Background (You can have a Background as a second commander.) mana={2}{R} @@ -37308,7 +37645,7 @@ toughness=3 [card] name=Gutterbones auto=tap -autograveyard={1}{B}:moveTo(myhand) asSorcery restriction{compare(oplifelost)~morethan~0} +autograveyard={1}{B}:moveTo(myhand) asSorcery restriction{_SPECTACLE_} text=Gutterbones enters the battlefield tapped. -- {1}{B}: Return Gutterbones from your graveyard to your hand. Activate this ability only during your turn and only if an opponent lost life this turn. mana={B} type=Creature @@ -37437,7 +37774,7 @@ auto={B}:deathtouch auto={R}:+2/-2 text=Spectacle {B}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- {B}: Hackrobat gains deathtouch until end of turn. -- {R}: Hackrobat gets +2/-2 until end of turn. other={B}{R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={1}{B}{R} type=Creature subtype=Human Rogue @@ -37700,7 +38037,7 @@ type=Sorcery name=Halls of Mist auto=cumulativeupcost[{1}] sacrifice auto=@each my combatends:all(creature[attacking]|mybattlefield) transforms((,newability[counter(0/0.1.MistEffect)],newability[@each my end restriction{didntattack}:counter(0/0.-1.MistEffect)])) forever -auto=@each opponent combatends:all(creature[attacking]|opponentbattlefield)) transforms((,newability[counter(0/0.1.MistEffect)],newability[@each my end restriction{didntattack}:counter(0/0.-1.MistEffect)])) forever +auto=@each opponent combatends:all(creature[attacking]|opponentbattlefield) transforms((,newability[counter(0/0.1.MistEffect)],newability[@each my end restriction{didntattack}:counter(0/0.-1.MistEffect)])) forever auto=lord(creature[counter{0/0.1.MistEffect}]) cantattack text=Cumulative upkeep {1} (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.) -- Creatures that attacked during their controller's last turn can't attack. type=Land @@ -37738,7 +38075,7 @@ toughness=1 name=Halo-Charged Skaab 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 mills two cards.) +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.) mana={4}{U} type=Creature subtype=Zombie @@ -37747,7 +38084,7 @@ toughness=4 [/card] [card] name=Halsin, Emerald Archdruid -abilities=chooseabackground +abilities=backgoundpartner auto={1}:target(*[token]|myBattlefield) transforms((bear creature,setpower=4,settoughness=4,newcolors[green])) ueot text={1}: Until end of turn, target token you control becomes a green Bear creature with base power and toughness 4/4 in addition to its other colors and types. -- Choose a Background (You can have a Background as a second commander.) mana={3}{G} @@ -38287,7 +38624,7 @@ toughness=2 [/card] [card] name=Harvesttide Sentry -auto=@each my combatbegins restriction{coven}:name(Can't be blocked) transforms((,newability[cantbeblockedby(creature[power<=2)])) ueot +auto=@each my combatbegins restriction{coven}:name(Can't be blocked) transforms((,newability[cantbeblockedby(creature[power<=2])])) ueot text=Coven - At the beginning of combat on your turn, if you control three or more creatures with different powers, Harvesttide Sentry can't be blocked by creatures with power 2 or less this turn. type=Creature subtype=Human @@ -38533,6 +38870,18 @@ mana={1}{G} type=Instant [/card] [card] +name=Hazezon, Shaper of Sand +abilities=desertwalk +auto=lord(Desert|mygraveyard) CanPlayFromGraveyard +auto=@movedTo(Desert|myBattlefield):create(sand warrior:creature sand warrior:1/1:red:green:white)*2 +text=Desertwalk (This creature can't be blocked as long as defending player controls a Desert.) -- You may play Desert lands from your graveyard. -- Whenever a Desert enters the battlefield under your control, create two 1/1 red, green, and white Sand Warrior creature tokens. +mana={R}{G}{W} +type=Legendary Creature +subtype=Human Warrior +power=3 +toughness=3 +[/card] +[card] name=Hazoret the Fervent abilities=indestructible, haste auto=aslongas(*|myhand) cantattack >1 @@ -38736,7 +39085,7 @@ type=Sorcery [/card] [card] name=Heartwarming Redemption -auto=all(*|myhand) transforms((,newability[draw:1],newability[reject])])) && draw:1 +auto=all(*|myhand) transforms((,newability[draw:1],newability[reject])) && draw:1 auto=life:type:*:myhand controller text=Discard all the cards in your hand, then draw that many cards plus one. You gain life equal to the number of cards in your hand. mana={2}{R}{W} @@ -38980,7 +39329,7 @@ toughness=3 name=Hellcarver Demon #you can't order the stack abilities=flying -auto=@combatdamaged(player) from(this):sacrifice all(other *|mybattlefield) && discard:type:*:myhand && reveal:6 optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[may activate castcard(normal)]])) oneshot )! optiononeend revealend +auto=@combatdamaged(player) from(this):sacrifice all(other *|mybattlefield) && discard:type:*:myhand && reveal:6 optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[may activate castcard(normal)])) oneshot )! optiononeend revealend text=Flying -- Whenever Hellcarver Demon deals combat damage to a player, sacrifice all other permanents you control and discard your hand. Exile the top six cards of your library. You may cast any number of nonland cards exiled this way without paying their mana costs. mana={3}{B}{B}{B} type=Creature @@ -39206,7 +39555,7 @@ toughness=4 [/card] [card] name=Herald's Horn -auto=chooseatype transforms(([@each my upkeep:name(Reveal) reveal:1 optionone target(chosentype|reveal) transforms(([may moveTo(myhand)])) oneshot optiononeend optiontwo target(*|reveal) moveto(mylibrary) optiontwoend revealend)])) chooseend +auto=chooseatype transforms(([@each my upkeep:name(Reveal) reveal:1 optionone target(chosentype|reveal) transforms(([may moveTo(myhand)])) oneshot optiononeend optiontwo target(*|reveal) moveto(mylibrary) optiontwoend revealend])) chooseend auto=lord(*[creature&chosentype]|mycastingzone) altercost(colorless,-1) text=As Herald's Horn enters the battlefield, choose a creature type. -- Creature spells you cast of the chosen type cost {1} less to cast. -- At the beginning of your upkeep, look at the top card of your library. If it's a creature card of the chosen type, you may reveal it and put it into your hand. mana={3} @@ -41208,6 +41557,13 @@ power=1 toughness=1 [/card] [card] +name=Ichor Elixir +auto={T}:Add{C}{C} +text=If you would roll one or more planar dice, instead roll that many planar dice plus one and ignore one. -- {T}: Add {C}{C}. +mana={4} +type=Artifact +[/card] +[card] name=Ichor Synthesizer auto=@movedTo(*[-creature]|mystack):counter(0/0,1,oil) auto=this(counter{0/0.1.oil}>3) 2/0 @@ -42134,6 +42490,17 @@ power=2 toughness=2 [/card] [card] +name=Incisor Glider +abilities=flying +auto=_ATTACKING_this(variable{opponentpoisoncount}>2) all(creature|myBattlefield) 1/1 +text=Flying -- Corrupted - Whenever Incisor Glider attacks, if an opponent has three or more poison counters, creatures you control get +1/+1 until end of turn. +mana={1}{W} +type=Artifact Creature +subtype=Phyrexian Construct +power=1 +toughness=3 +[/card] +[card] name=Incite Rebellion auto=damage:type:creature:mybattlefield controller && damage:type:creature:mybattlefield all(creature|mybattlefield) auto=damage:type:creature:opponentbattlefield opponent && damage:type:creature:opponentbattlefield all(creature|opponentbattlefield) @@ -42223,6 +42590,15 @@ mana={G} type=Artifact [/card] [card] +name=Incubator +backside=Phyrexian +auto=counter(1/1,X) +auto={2}:name(Becomes Phyrexian) flip(backside) +text={2}: Transform this artifact. +type=Artifact +subtype=Incubator +[/card] +[card] name=Indatha Crystal abilities=cycling auto={T}:Add{W} @@ -42243,6 +42619,17 @@ type=Land subtype=Plains Swamp Forest [/card] [card] +name=Indoctrination Attendant +abilities=poisontoxic +auto=may moveTo(hand) notAtarget(creature|myBattlefield) && _PHYREXIANMITETOKEN_ +text=Toxic 1 (Players dealt combat damage by this creature also get a poison counter.) -- When Indoctrination Attendant enters the battlefield, you may return another permanent you control to its owner's hand. If you do, create a 1/1 colorless Phyrexian Mite artifact creature token with toxic 1 and "This creature can't block." +mana={3}{W} +type=Creature +subtype=Phyrexian Cleric +power=3 +toughness=4 +[/card] +[card] name=Indomitable Creativity target=*[creature;artifact]|battlefield auto=transforms((,newability[destroy],newability[reveal:1 revealzone(mylibrary) revealuntil(*[creature;artifact]|mylibrary) optionone choice name(Exile Card) all(*[creature;artifact]|reveal) moveto(myexile) and!( moveto(mybattlefield) )! optiononeend optiontwo choice name(Put back) all(*|reveal) moveto(mylibrary) and!(shuffle)! optiontwoend revealend])) oneshot @@ -42349,6 +42736,16 @@ type=Enchantment subtype=Aura [/card] [card] +name=Infected Defector +auto=_DIES_name(Incubate 3) name(Incubate 3) activate castcard(noevent costx!:3:! named!:Incubator:!) +text=When Infected Defector dies, incubate 3. (Create an Incubator token with three +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={4}{W} +type=Creature +subtype=Phyrexian Knight +power=4 +toughness=3 +[/card] +[card] name=Infectious Bite target=creature|mybattlefield auto=transforms((,newability[target(creature|opponentbattlefield) dynamicability])) forever @@ -43377,6 +43774,112 @@ power=4 toughness=5 [/card] [card] +name=Invasion of Arcavios +backside=Invocation of the Founders +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=ability$!name(Search card) name(Search card) target(*[instant;sorcery]|mylibrary,mygraveyard,mysideboard) moveto(myhand)!$ controller +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.7.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Enchantment) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Arcavios enters the battlefield, search your library, graveyard, and/or outside the game for an instant or sorcery card you own, reveal it, and put it into your hand. If you search your library this way, shuffle. +mana={3}{U}{U} +type=Battle +subtype=Siege +[/card] +[card] +name=Invasion of Belenon +backside=Belenon War Anthem +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=name(Create knight) token(Knight,Creature Knight,2/2,white,blue,vigilance) +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.3.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Enchantment) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Belenon enters the battlefield, create a 2/2 white and blue Knight creature token with vigilance. +mana={2}{W} +type=Battle +subtype=Siege +[/card] +[card] +name=Invasion of Dominaria +backside=Serra Faithkeeper +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=name(Gain 4 life) life:4 controller +auto=name(Draw a card) draw:1 controller +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.5.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Creature Angel) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Dominaria enters the battlefield, you gain 4 life and draw a card. +mana={2}{W} +type=Battle +subtype=Siege +[/card] +[card] +name=Invasion of Gobakhan +backside=Lightshield Array +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=if type(*[-land]|opponenthand)~morethan~0 then ability$!name(Look opponent's hand) name(Look opponent's hand) target(*[-land]|opponenthand) moveto(myreveal) and!( transforms((,newability[choice name(Exile card) moveto(opponentexile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:2) forcedalive])) forever )!],newability[choice name(Don't exile card) moveto(opponenthand)])) forever )! !$ controller +auto=if type(*[-land]|opponenthand)~equalto~0 then ability$!name(Look opponent's hand) name(Look opponent's hand) target(*|opponenthand) moveto(opponentreveal) and!( moveto(opponenthand) )! !$ controller +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.3.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Enchantment) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Gobakhan enters the battlefield, look at target opponent's hand. You may exile a nonland card from it. For as long as that card remains exiled, its owner may play it. A spell cast this way costs {2} more to cast. +mana={1}{W} +type=Battle +subtype=Siege +[/card] +[card] +name=Invasion of Kamigawa +backside=Rooftop Saboteurs +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=ability$!name(Tap creature or artifact) name(Tap creature or artifact) target(*[creature;artifact]|opponentbattlefield) transforms((,newability[tap],newability[counter(0/0.1.Stun)],newability[this(counter{0/0.1.Stun}>=1) doesnotuntap],newability[@each my untap restriction{compare(hascntstun)~morethan~0}:name(Remove a stun counter) name(Remove a stun counter) counter(0/0.-1.Stun)])) forever!$ controller +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.4.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Creature Moonfolk Ninja) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Kamigawa enters the battlefield, tap target artifact or creature an opponent controls and put a stun counter on it. (If a permanent with a stun counter would become untapped, remove one from it instead.) +mana={3}{U} +type=Battle +subtype=Siege +[/card] +[card] +name=Invasion of Ravnica +backside=Guildpact Paragon +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=name(Exile opponent permanent) target(*[multicolor]|opponentbattlefield) moveto(exile) +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.4.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Artifact Creature Construct) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Ravnica enters the battlefield, exile target nonland permanent an opponent controls that isn't exactly two colors. +mana={5} +type=Battle +subtype=Siege +[/card] +[card] +name=Invasion of Segovia +backside=Caetus, Sea Tyrant of Segovia +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=name(Create 2 Kraken) token(Kraken,Creature Kraken,1/1,blue,trample)*2 +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.4.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Legendary Creature Serpent) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Segovia enters the battlefield, create two 1/1 blue Kraken creature tokens with trample. +mana={2}{U} +type=Battle +subtype=Siege +[/card] +[card] +name=Invasion of Theros +backside=Ephara, Ever-Sheltering +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=ability$!name(Search library) name(Search library) target(*[aura;god;demigod]|mylibrary) moveto(myhand) and!( shuffle )! !$ controller +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.4.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Legendary Enchantment Creature) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Theros enters the battlefield, search your library for an Aura, God, or Demigod card, reveal it, put it into your hand, then shuffle. +mana={2}{W} +type=Battle +subtype=Siege +[/card] +[card] name=Invasion of the Giants auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) @@ -43391,6 +43894,19 @@ type=Enchantment subtype=Saga [/card] [card] +name=Invasion of Vryn +backside=Overloaded Mage-Ring +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=draw:3 controller && ability$!name(Discard a card) name(Discard a card) reject notatarget(*|myhand)!$ controller +auto=moveto(opponentbattlefield) and!( transforms((,newability[tap(noevent)],newability[doesnotuntap],newability[counter(0/0.4.Defense)])) forever )! +auto=@counterremoved(0/0,1,Defense) from(this) restriction{compare(hascntdefense)~equalto~0}:name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Artifact) )! asSorcery +text=(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.) -- When Invasion of Vryn enters the battlefield, draw three cards, then discard a card. +mana={3}{U} +type=Battle +subtype=Siege +[/card] +[card] name=Invert // Invent other={4}{U}{R} name(Invent) auto=ifnot paid(alternative) then target(creature) transforms((,setpower=toughness,settoughness=power)) ueot @@ -43426,6 +43942,12 @@ mana={2}{G} type=Instant [/card] [card] +name=Invocation of the Founders +auto=@movedto(*[instant;sorcery]|mystack) from(myhand):name(Copy spell) name(Copy spell) all(trigger[to]) transforms((,newability[activate castcard(copied noevent costx!:x:! kicked!:kicked:!)])) ueot +text=Whenever you cast an instant or sorcery spell from your hand, you may copy that spell. You may choose new targets for the copy. +type=Enchantment +[/card] +[card] name=Invoke the Divine target=artifact,enchantment auto=destroy @@ -44151,7 +44673,7 @@ type=Instant [/card] [card] name=Jaheira, Friend of the Forest -abilities=chooseabackground +abilities=backgoundpartner auto=lord(*[Token]|myBattlefield) {T}:Add{G} text=Tokens you control have "{T}: Add {G}." -- Choose a Background (You can have a Background as a second commander.) mana={2}{G} @@ -44590,6 +45112,18 @@ power=1 toughness=2 [/card] [card] +name=Jor Kadeen, First Goldwarden +abilities=trample +auto=_ATTACKING_this(power>=4) draw:1 +auto=_ATTACKING_type:creature[geared]:mybattlefield/type:creature[geared]:mybattlefield ueot +text=Trample -- Whenever Jor Kadeen, First Goldwarden attacks, it gets +X/+X until end of turn, where X is the number of equipped creatures you control. Then if Jor Kadeen's power is 4 or greater, draw a card. +mana={R}{W} +type=Legendary Creature +subtype=Human Rebel +power=2 +toughness=2 +[/card] +[card] name=Joraga Invocation auto=all(creature|mybattlefield) 3/3 ueot auto=transforms((,_MUST_BE_BLOCKD_)) @@ -44645,7 +45179,7 @@ type=Sorcery [card] name=Journey to Eternity target=creature -auto=@movedto(graveyard) from(mytgt|Battlefield):all(this) moveTo(mygraveyard) and!( transforms((,newability[counter(0/0.1.FlipJourney)])) forever +auto=@movedto(graveyard) from(mytgt|Battlefield):all(this) moveTo(mygraveyard) and!( transforms((,newability[counter(0/0.1.FlipJourney)])) forever )! auto=@movedTo(mytgt|graveyard) from(battlefield):all(trigger[to]) moveTo(mybattlefield) autograveyard=this(counter{0/0.1.FlipJourney}>=1) flip(Atzal, Cave of Eternity) forcetype(land) text=Enchant creature you control -- When enchanted creature dies, return it to the battlefield under your control, then return Journey to Eternity to the battlefield transformed under your control. @@ -45391,7 +45925,7 @@ auto=@each my firstmain:counter(0/0,1,Lore) auto=may name(Sacrifice a creature) target(creature|mybattlefield) sacrifice && damage:3 target(player,creature,planeswalker) auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) ability$!name(Discard a card) name(Discard a card) reject notatarget(*|myhand)!$ opponent auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) ability$!name(Discard a card) name(Discard a card) reject notatarget(*|myhand)!$ controller -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Return creature from graveyard) target(creature|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[haste],newability[counter(1/1)])) ueot +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Return creature from graveyard) target(creature|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[haste],newability[counter(1/1)])) 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 - You may sacrifice a creature. When you do, Kardur's Vicious Return deals 3 damage to any target. -- II - Each player discards a card. -- III - Return target creature card from your graveyard to the battlefield. Put a +1/+1 counter on it. It gains haste until your next turn. mana={2}{B}{R} @@ -45465,7 +45999,7 @@ toughness=3 [/card] [card] name=Karlach, Fury of Avernus -abilities=chooseabackground +abilities=backgoundpartner auto=@combat(attacking) source(this) turnlimited:untap all(creature[attacking]) && first strike ueot && nextphasealter(add,combatphases,controller,after) text=Whenever you attack, if it's the first combat phase of the turn, untap all attacking creatures. They gain first strike until end of turn. After this phase, there is an additional combat phase. -- Choose a Background (You can have a Background as a second commander.) mana={4}{R} @@ -45732,7 +46266,7 @@ name=Kazuul's Fury restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(Kazuul's Cliffs) autohand={0}:restriction{can play land,compare(isflipped)~equalto~1} name(Kazuul's Cliffs) name(Kazuul's Cliffs) flip(Kazuul's Cliffs) forcetype(land) -auto=choice name(damage:storedpower target(player,creature,planeswalker) +auto=choice damage:storedpower target(player,creature,planeswalker) text=As an additional cost to cast this spell, sacrifice a creature. -- Kazuul's Fury deals damage equal to the sacrificed creatures power to any target. // Kazuul's Cliffs mana={2}{R}{S(creature|myBattlefield)} type=Instant @@ -45880,7 +46414,7 @@ type=Sorcery [card] name=Kefnet's Monument auto=lord(creature[blue]|myhand) altercost(colorless,-1) -auto=@movedto(creature|mystack):target(creature|opponentbattlefield) freeze +auto=@movedto(creature|mystack):target(creature|opponentbattlefield) frozen text=Blue creature spells you cast cost {1} less to cast. -- Whenever you cast a creature spell, target creature an opponent controls doesn't untap during its controller's next untap step. mana={3} type=Legendary Artifact @@ -45974,6 +46508,19 @@ power=4 toughness=6 [/card] [card] +name=Kemba, Kha Enduring +auto=transforms((,newability[may target(equipment|mybattlefield) newhook])) oneshot +auto=@movedTo(other cat|myBattlefield):all(trigger[to]) transforms((,newability[may target(equipment|mybattlefield) newhook])) oneshot +auto=lord(creature[geared]|myBattlefield) 1/1 +auto={3}{W}{W}:create(cat:creature cat:2/2:white) +text=Whenever Kemba, Kha Enduring or another Cat enters the battlefield under your control, attach up to one target Equipment you control to that creature. -- Equipped creatures you control get +1/+1. -- {3}{W}{W}: Create a 2/2 white Cat creature token. +mana={1}{W} +type=Legendary Creature +subtype=Cat Cleric +power=2 +toughness=2 +[/card] +[card] name=Kenku Artificer auto=may name(Homunculus Servant) target(artifact[-creature]|myBattlefield) transforms((Artifact Creature,newability[counter(1/1.3)],newability[flying])) forever text=Homunculus Servant - When Kenku Artificer enters the battlefield, put three +1/+1 counters on up to one target noncreature artifact. That artifact becomes a 0/0 Homunculus artifact creature with flying. @@ -46334,6 +46881,16 @@ mana={3} type=Artifact [/card] [card] +name=Kill-Zone Acrobat +auto=_ATTACKING_may name(gain flying) transforms((,newability[sacrifice notatarget(other *[creature;artifact]|myBattlefield)],flying)) ueot +text=Whenever Kill-Zone Acrobat attacks, you may sacrifice another creature or artifact. If you do, Kill-Zone Acrobat gains flying until end of turn. +mana={2}{B} +type=Creature +subtype=Human Soldier +power=3 +toughness=2 +[/card] +[card] name=Killian, Ink Duelist abilities=lifelink,menace auto=@targeted(creature|mybattlefield) from(*[instant;sorcery]|myzones):name(Spells cost 2 less) add{C}{C} @@ -46716,6 +47273,22 @@ power=4 toughness=5 [/card] [card] +name=Knight-Errant of Eos +aicode=activate target(*[zpos=1]|mylibrary) transforms((,newability[if type(*[creature&zpos<=6&manacost=0]|mylibrary)~equalto~0 then all(*[zpos<=6]|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!(shuffle)! )!],newability[if type(*[creature&zpos<=6&mancost=0]|mylibrary)~morethan~0 then target(*[creature&zpos<=6&mancost=0]|mylibrary) moveto(myhand) and!( transforms((,newability[all(*[zpos<=6]|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!(shuffle)! )!])) oneshot )! ])) oneshot +other={convoke} name(Convoke) +auto=if paid(alternative) then if type(creature[tapped;-attacking]|myBattlefield)~equalto~1 then name(Look top 6 cards) name(Look top 6 cards) name(Look top 6 cards) reveal:6 optionone name(Put in hand) target(creature[manacost<=1]|myreveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(<6>*|reveal) moveto(mylibrary) and!( shuffle )! optiontwoend revealend +auto=if paid(alternative) then if type(creature[tapped;-attacking]|myBattlefield)~equalto~2 then name(Look top 6 cards) name(Look top 6 cards) name(Look top 6 cards) reveal:6 optionone name(Put in hand) target(creature[manacost<=2]|myreveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(<6>*|reveal) moveto(mylibrary) and!( shuffle )! optiontwoend revealend +auto=if paid(alternative) then if type(creature[tapped;-attacking]|myBattlefield)~equalto~3 then name(Look top 6 cards) name(Look top 6 cards) name(Look top 6 cards) reveal:6 optionone name(Put in hand) target(creature[manacost<=3]|myreveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(<6>*|reveal) moveto(mylibrary) and!( shuffle )! optiontwoend revealend +auto=if paid(alternative) then if type(creature[tapped;-attacking]|myBattlefield)~morethan~3 then name(Look top 6 cards) name(Look top 6 cards) name(Look top 6 cards) reveal:6 optionone name(Put in hand) target(creature[manacost<=4]|myreveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(<6>*|reveal) moveto(mylibrary) and!( shuffle )! optiontwoend revealend +auto=ifnot paid(alternative) then name(Look top 6 cards) name(Look top 6 cards) reveal:6 optionone name(Put in hand) target(creature[manacost=0]|myreveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(<6>*|reveal) moveto(mylibrary) and!( shuffle )! optiontwoend revealend +text=Convoke -- When Knight-Errant of Eos enters the battlefield, look at the top six cards of your library. You may reveal up to two creature cards with mana value X or less from among them, where X is the number of creatures that convoked Knight-Errant of Eos. Put the revealed cards into your hand, then shuffle. +mana={4}{W} +type=Creature +subtype=Human Knight +power=4 +toughness=4 +[/card] +[card] name=Knight Bas abilities=vigilance type=Creature @@ -47014,8 +47587,8 @@ auto=if type(creature|mygraveyard)~morethan~0 then if type(artifact|battlefield) auto=if type(creature|mygraveyard)~morethan~0 then choice name(Return creature and deals damage) name(Return creature and deals damage) target(creature|mygraveyard) moveto(myhand) && ability$!name(Deals 2 damage) name(Deals 2 damage) damage:2 target(player,creature)!$ controller auto=if type(artifact|battlefield)~morethan~0 then choice name(Destroy artifact and opponent discards) name(Destroy artifact and opponent discards) target(artifact) destroy && ability$!name(Discard a card) name(Discard a card) notatarget(*|myhand) reject!$ opponent auto=if type(artifact|battlefield)~morethan~0 then choice name(Destroy artifact and you discard) name(Destroy artifact and you discard) target(artifact) destroy && ability$!name(Discard a card) name(Discard a card) notatarget(*|myhand) reject!$ controller -auto=choice name(Deals damage and opponent discards) damage:2 target(player,creature) && ability$!name(Discard a card) name(Discard a card) notatarget(*|myhand) reject!$ opponent -auto=choice name(Deals damage and you discard) damage:2 target(player,creature) && ability$!name(Discard a card) name(Discard a card) notatarget(*|myhand) reject!$ controller +auto=choice name(Deals damage and opponent discards) damage:2 target(player,creature,planeswalker) && ability$!name(Discard a card) name(Discard a card) notatarget(*|myhand) reject!$ opponent +auto=choice name(Deals damage and you discard) damage:2 target(player,creature,planeswalker) && ability$!name(Discard a card) name(Discard a card) notatarget(*|myhand) reject!$ controller auto=if type(artifact|battlefield)~morethan~0 then choice name(Destroy artifact and deals damage) name(Destroy artifact and deals damage) target(artifact) destroy && ability$!name(Deals 2 damage) name(Deals 2 damage) damage:2 target(player,creature)!$ controller text=Choose two -- Return target creature card from your graveyard to your hand. -- Target player discards a card. -- Destroy target artifact. -- Kolaghan's Command deals 2 damage to target creature or player. mana={1}{B}{R} @@ -47056,7 +47629,7 @@ toughness=4 name=Koma's Faithful abilities=lifelink 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.) +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.) mana={2}{B} type=Creature subtype=Elf Cleric @@ -47489,6 +48062,17 @@ power=1 toughness=3 [/card] [card] +name=Kuldotha Cackler +abilities=trample +auto=_ATTACKING_type:*[counter{0%0.1.oil}]:mybattlefield/0 ueot +text=Trample -- Whenever Kuldotha Cackler attacks, it gets +X/+0 until end of turn, where X is the number of permanents you control with oil counters on them. +mana={2}{R} +type=Creature +subtype=Phyrexian Hyena +power=2 +toughness=3 +[/card] +[card] name=Kuldotha Flamefiend other={4}{R}{R}{S(*[artifact]|mybattlefield)} name(Sacrifice artifact) auto=if paid(alternative) then thisforeach(variable{4}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(player,creature,planeswalker) damage:1!$ controller @@ -48332,7 +48916,7 @@ toughness=3 [/card] [card] name=Leafkin Druid -auto={T}:if type(creature|mybattlefield)~morethan~3 then Add{G}{G} else Add{G} +auto={T}:name(Add mana) if type(creature|mybattlefield)~morethan~3 then Add{G}{G} else Add{G} text={T}: Add {G}. If you control four or more creatures, add {G}{G} instead. mana={1}{G} type=Creature @@ -49015,7 +49599,7 @@ auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( trans auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent text=Spectacle {R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Exile the top two cards of your library. Until the end of your next turn, you may play those cards. other={R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{R} type=Sorcery [/card] @@ -49199,6 +49783,14 @@ power=0 toughness=5 [/card] [card] +name=Lightshield Array +auto=@combat(attacking) source(creature|mybattlefield):name(Put 1/1 counter) name(Put 1/1 counter) all(trigger[to]) transforms((,newability[phaseaction[endofturn once sourceinplay] counter(1/1)])) ueot +auto={S}:name(Sacrifice) name(Sacrifice) all(creature|myBattlefield) transforms((,newability[opponentshroud],newability[indestructible])) ueot +text=At the beginning of your end step, put a +1/+1 counter on each creature that attacked this turn. -- Sacrifice Lightshield Array: Creatures you control gain hexproof and indestructible until end of turn. +type=Enchantment +color=white +[/card] +[card] name=Lignify target=creature auto=loseabilities @@ -49305,6 +49897,16 @@ power=1 toughness=2 [/card] [card] +name=Liliana's Talent +target=planeswalker +auto=teach(planeswalker) {C(0/0,-8,Loyalty)}:name(-8: Reanimate all creatures) moveTo(mybattlefield) all(creature|graveyard) +auto=teach(planeswalker) @damageof(mytgt) from(creature):all(trigger[from]) destroy +text=Enchant planeswalker -- Enchanted planeswalker has "[-8]: Put all creature cards from all graveyards onto the battlefield under your control." -- Whenever a creature deals damage to enchanted planeswalker, destroy that creature. +mana={B}{B} +type=Enchantment +subtype=Aura +[/card] +[card] name=Liliana's Triumph auto=ability$!sacrifice notatarget(creature|mybattlefield)!$ opponent auto=aslongas(planeswalker[Liliana]|mybattlefield) ability$!name(discard) reject notatarget(*|myhand)!$ opponent @@ -50292,7 +50894,7 @@ toughness=3 [card] name=Loyal Apprentice abilities=haste -auto=@each my combatbegins restriction{type(*[iscommander]|mybattlefield)~morethan~0}:token(Thopter,Artifact Creature Thopter,1/1,flying) and!( transforms((,newability[haste])) ueot )! +auto=@each my combatbegins restriction{type(*[iscommander]|mybattlefield)~morethan~0}:_THOPTERTOKEN_ and!( transforms((,newability[haste])) ueot )! text=Haste -- Lieutenant - At the beginning of combat on your turn, if you control your commander, create a 1/1 colorless Thopter artifact creature token with flying. That token gains haste until end of turn. mana={1}{R} type=Creature @@ -50443,8 +51045,8 @@ type=Sorcery [card] name=Ludevic, Necro-Alchemist abilities=partner -auto=@each my end restriction{compare(oplifelost)~morethan~0}:may draw:1 controller -auto=@each opponent end restriction{compare(oplifelost)~morethan~0}:may draw:1 controller +auto=@each my end restriction{_SPECTACLE_}:may draw:1 controller +auto=@each opponent end restriction{_SPECTACLE_}:may draw:1 controller text=At the beginning of each player's end step, that player may draw a card if a player other than you lost life this turn. -- Partner (You can have two commanders if both have partner.) mana={1}{U}{R} type=Legendary Creature @@ -50520,7 +51122,7 @@ toughness=4 [/card] [card] name=Lulu, Loyal Hollyphant -abilities=flying,chooseabackground +abilities=flying,backgoundpartner auto=@each my end restriction{revolt}:all(creature[tapped]|myBattlefield) untap auto=@each my end restriction{revolt}:all(creature[tapped]|myBattlefield) counter(1/1) text=Flying -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, put a +1/+1 counter on each tapped creature you control, then untap them. -- Choose a Background (You can have a Background as a second commander.) @@ -50974,7 +51576,7 @@ type=Instant [/card] [card] name=Maestros Initiate -autograveyard={4}{U/R}{E}:draw:2 && transforms((,newability[target(*|myhand) reject])) forever +autograveyard={4}{UR}{E}:draw:2 && transforms((,newability[target(*|myhand) reject])) forever text={4}{U/R}, Exile Maestros Initiate from your graveyard: Draw two cards, then discard a card. mana={2}{B} type=Creature @@ -51498,7 +52100,7 @@ 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{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 +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} type=Instant @@ -51587,7 +52189,7 @@ toughness=4 [card] name=Mangara, the Diplomat abilities=lifelink -auto=@combat(attacking) source(creature|opponentBattlefield) if type(creature[attacking]|opponentBattlefield)~morethan~1} turnlimited:draw:1 controller +auto=@combat(attacking) source(creature|opponentBattlefield) if type(creature[attacking]|opponentBattlefield)~morethan~1 turnlimited:draw:1 controller auto=@movedto(*|opponentStack) restriction{thisturn(*|opponentStack)~equalto~1}:draw:1 controller text=Lifelink -- Whenever an opponent attacks with creatures, if two or more of those creatures are attacking you and/or planeswalkers you control, draw a card. -- Whenever an opponent casts their second spell each turn, draw a card. mana={3}{W} @@ -51874,7 +52476,7 @@ type=Enchantment [/card] [card] name=Marching Duodrone -auto=_ATTACKING_all(player) token(treasure sur) +auto=_ATTACKING_token(treasure sur) controller && token(treasure sur) opponent 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 @@ -52651,7 +53253,7 @@ type=Sorcery [card] name=Memory Deluge flashback={5}{U}{U} -aicode=activate transforms((,newability[target(<2>*[zpos<=totmanaspent]|mylibrary) moveto(myhand) and!( all(*|zpos<=totmanaspent]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot +aicode=activate transforms((,newability[target(<2>*[zpos<=totmanaspent]|mylibrary) moveto(myhand) and!( all(*[zpos<=totmanaspent]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot auto=name(Reveal top cards) reveal:totmanaspent optionone name(Get 2 cards) target(<2>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top X cards of your library, where X is the amount of mana spent to cast this spell. Put two of them into your hand and the rest on the bottom of your library in a random order. -- Flashback {5}{U}{U} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={2}{U}{U} @@ -53539,6 +54141,16 @@ mana={3}{R} type=Instant [/card] [card] +name=Mine Worker +auto={T}:name(gain life) if type(Power Plant Worker|mybattlefield)~morethan~0,type(Tower Worker|mybattlefield)~morethan~0 then life:3 else life:1 +text={T}: You gain 1 life. If you control creatures named Power Plant Worker and Tower Worker, you gain 3 life instead. +mana={2} +type=Artifact Creature +subtype=Assembly-Worker +power=2 +toughness=1 +[/card] +[card] name=Minimus Containment target=artifact,creature,enchantment,planeswalker auto=teach(*) transforms((,newability[flip(Treasure Sur)],newability[counter(0/0.1.MinimusEffect)])) @@ -54404,7 +55016,7 @@ type=Sorcery [/card] [card] name=Molten Echoes -auto=chooseatype transforms((,newability[@movedTo(creature[chosentype;-token]|myBattlefield)}:all(trigger[to]) clone with(unearth,haste)])) chooseend +auto=chooseatype transforms((,newability[@movedTo(creature[chosentype;-token]|myBattlefield):all(trigger[to]) clone with(unearth,haste)])) chooseend text=As Molten Echoes enters the battlefield, choose a creature type. -- Whenever a nontoken creature of the chosen type enters the battlefield under your control, create a token that's a copy of that creature. That token gains haste. Exile it at the beginning of the next end step. mana={2}{R}{R} type=Enchantment @@ -54484,7 +55096,7 @@ type=Instant [card] name=Momentum Rumbler auto=this(counter{0/0.1.FirstStrike}>=1) first strike -auto=@combat(attacking) source(this) restriction{compare(hascntfirststrike)~equalto~0)}:name(Put first strike counter) counter(0/0,1,FirstStrike) +auto=@combat(attacking) source(this) restriction{compare(hascntfirststrike)~equalto~0}:name(Put first strike counter) counter(0/0,1,FirstStrike) auto=_ATTACKING_this(cantargetcard(*[first strike]|*) transforms((,newability[double strike])) ueot text=Whenever Momentum Rumbler attacks, if it doesn't have first strike, put a first strike counter on it. -- Whenever Momentum Rumbler attacks, if it has first strike, it gains double strike until end of turn. mana={3}{R} @@ -54712,7 +55324,6 @@ name=Moonrage Brute abilities=first strike,nightbound backside=Brutal Cathar auto=if type(*[day;night]|battlefield)~equalto~0 then if type(*[nonight]|battlefield)~equalto~0 then name(It becomes night) name(It becomes night) name(It becomes night) activate castcard(noevent named!:Night:!) -auto=name(Exile a creature) target(creature|opponentbattlefield) (blink)forsrc auto=@targeted(this|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=First strike -- Ward-Pay 3 life. -- Nightbound (If a player casts at least two spells during their own turn, it becomes day next turn) // Brutal Cathar type=Creature @@ -55024,7 +55635,7 @@ toughness=3 [card] name=Mounted Dreadknight abilities=trample -auto=if compare(oplifelost)~morethan~0 then counter(1/1) +auto=if _SPECTACLE_ then counter(1/1) text=Trample -- Mounted Dreadknight enters the battlefield with a +1/+1 counter on it if an opponent lost life this turn. type=Creature subtype=Vampire Knight @@ -55360,7 +55971,7 @@ type=Sorcery [card] name=Muxus, Goblin Grandee aicode=activate all(creature[goblin;manacost<=5;zpos<=6]|mylibrary) moveto(mybattlefield) and!( all(*[zpos<=6]|mylibrary) bottomoflibrary )! -auto=name(Look top 6) reveal:6 optionone name(Get goblins) target(<6>creature[goblin;manacost<=5]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend +auto=name(Look top 6) reveal:6 optionone name(Get goblins) target(<6>*[goblin&creature;manacost<=5]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend text=When Muxus, Goblin Grandee enters the battlefield, reveal the top six cards of your library. Put all Goblin creature cards with mana value 5 or less from among them onto the battlefield and the rest on the bottom of your library in a random order. -- Whenever Muxus attacks, it gets +1/+1 until end of turn for each other Goblin you control. auto=_ATTACKING_name(Get 1/1 for each other goblin) type:goblin:mybattlefieldminus1minusend/type:goblin:mybattlefieldminus1minusend ueot mana={4}{R}{R} @@ -56993,7 +57604,7 @@ type=Instant [/card] [card] name=Night Clubber -auto=all(creature|opponentBattlefield)) -1/-1 ueot +auto=all(creature|opponentBattlefield) -1/-1 ueot other={2}{B}:name(Blitz) auto=if paid(alternative) then moveto(mybattlefield) and!( transforms((,newability[haste],newability[_DIES_draw:1],newability[treason])) forever )! asSorcery text=When Night Clubber enters the battlefield, creatures your opponents control get -1/-1 until end of turn. -- Blitz {2}{B} (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.) @@ -57401,7 +58012,7 @@ type=Enchantment 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=@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} @@ -57432,7 +58043,7 @@ toughness=3 [/card] [card] name=Ninja's Kunai -auto=teach(creature) {1}{T}{S(Ninja's Kunai)}:damage:3 target(player,creature) +auto=teach(creature) {1}{T}{S(Ninja's Kunai)}:damage:3 target(player,creature,planeswalker) auto={1}:equip text=Equipped creature has "{1}, {T}, Sacrifice Ninja's Kunai: Ninja's Kunai deals 3 damage to any target." -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={1} @@ -57481,7 +58092,7 @@ type=Sorcery [card] name=Nissa's Triumph auto=transforms((,newability[name(search 2 forests) moveTo(myhand) target(forest[basic]|myLibrary)])) ueot -auto=aslongas(*[nissa]|mybattlefield))>0 transforms((,newability[name(search 3 lands) moveTo(myhand) target(land|myLibrary)])) ueot +auto=aslongas(*[nissa]|mybattlefield)>0 transforms((,newability[name(search 3 lands) moveTo(myhand) target(land|myLibrary)])) ueot text=Search your library for up to two basic Forest cards. If you control a Nissa planeswalker, instead search your library for up to three land cards. Reveal those cards, put them into your hand, then shuffle your library. mana={G}{G} type=Sorcery @@ -57623,6 +58234,17 @@ power=5 toughness=4 [/card] [card] +name=Norn's Inquisitor +auto=name(Incubate 2) activate castcard(noevent costx!:2:! named!:Incubator:!) +auto=@transformed(*[phyrexian]|mybattlefield):name(Put 1/1 counter) name(Put 1/1 counter) all(trigger) counter(1/1) +text=When Norn's Inquisitor enters the battlefield, incubate 2. (Create an Incubator token with two +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- Whenever a permanent you control transforms into a Phyrexian, put a +1/+1 counter on it. +mana={1}{W} +type=Creature +subtype=Phyrexian Knight +power=1 +toughness=1 +[/card] +[card] name=Norn's Wellspring auto=@movedTo(creature|graveyard) from(mybattlefield):counter(0/0,1,oil) auto=@movedTo(creature|graveyard) from(mybattlefield):_SCRY1_ @@ -57740,9 +58362,9 @@ toughness=2 [/card] [card] name=Noxious Grasp -target=creature[white;green],planeswalker[white;green] +target=*[creature;planeswalker;white;green] auto=destroy -auto=life:1 +auto=life:1 controller text=Destroy target creature or planeswalker that's green or white. You gain 1 life. mana={1}{B} type=Instant @@ -58192,7 +58814,7 @@ type=Instant [card] name=Obscura Initiate abilities=flying -auto={1}{W/B}:lifelink ueot +auto={1}{WB}:lifelink ueot text=Flying -- {1}{W/B}: Obscura Initiate gains lifelink until end of turn. mana={2}{U} type=Creature @@ -58700,7 +59322,7 @@ toughness=4 [card] name=Old Stickfingers anyzone=type:creature:mygraveyard/type:creature:mygraveyard cdaactive -auto=if type(creature|mygraveyard)~equalto~0 then if compare(fullpaid)~morethan~0 then transforms((,newability[counter(1/1),newability[@movedTo(creature|mygraveyard) turnlimited:counter(1/1.-1)])) ueot +auto=if type(creature|mygraveyard)~equalto~0 then if compare(fullpaid)~morethan~0 then transforms((,newability[counter(0/1)],newability[@movedTo(creature|mygraveyard) turnlimited:counter(0/1.-1)])) ueot auto=if compare(ishuman)~equalto~0 then name(Reveal from top) name(Reveal from top) target(creature|mylibrary) moveTo(mygraveyard) and!( shuffle )! auto=if compare(ishuman)~morethan~0 then name(Reveal from top) name(Reveal from top) thisforeach(variable{fullpaid}>0) ability$!name(Reveal) reveal:1 revealuntil(creature|mylibrary) optionone name(Put creature in graveyard) target(creature|myreveal) moveto(mygraveyard) optiononeend optiontwo name(Put on bottom) all(*|myreveal) bottomoflibrary optiontwoend revealend!$ controller text=When you cast this spell, reveal cards from the top of your library until you reveal X creature cards. Put all the creature cards revealed this way into your graveyard and the rest on the bottom of your library in a random order. -- Old Stickfingers' power and toughness are equal to the number of creature cards in your graveyard. @@ -59593,7 +60215,7 @@ type=Sorcery [/card] [card] name=Organ Hoarder -aicode=activate transforms((,newability[target(*[zpos<=3]|mylibrary) moveto(myhand) and!( all(*|zpos<=3]|mylibrary) moveto(mygraveyard) )!])) oneshot +aicode=activate transforms((,newability[target(*[zpos<=3]|mylibrary) moveto(myhand) and!( all(*[zpos<=3]|mylibrary) moveto(mygraveyard) )!])) oneshot auto=name(Reveal top 3 cards) reveal:3 optionone name(Get a card) target(*|reveal) moveto(myhand) optiononeend optiontwo name(put in graveyard) all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=When Organ Hoarder enters the battlefield, look at the top three cards of your library, then put one of them into your hand and the rest into you graveyard. type=Creature @@ -60066,6 +60688,13 @@ power=3 toughness=2 [/card] [card] +name=Overloaded Mage-Ring +auto={1}{T}{S}:name(Copy permanent) target(*[-instant;-sorcery]|mystack) transforms(((,newability[clone])) oneshot +auto={1}{T}{S}:name(Copy spell) target(*[instant;sorcery]|mystack) activate castcard(copied noevent) +text={1}, {T}, Sacrifice Overloaded Mage-Ring: Copy target spell you control. You may choose new targets for the copy. (A copy of a permanent spell becomes a token.) +type=Artifact +[/card] +[card] name=Overmaster auto=draw:1 controller auto=emblem transforms((,newability[@movedto(*[instant;sorcery]|mystack) turnlimited:all(trigger[to]) transforms((,newability[nofizzle])) oneshot])) ueot @@ -60263,14 +60892,6 @@ power=1 toughness=1 [/card] [card] -name=Pact of the Serpent -auto=choice name(Target opponent) ability$!chooseatype all(creature[chosentype]|opponentBattlefield) transforms((,newability[life:-1 controller],newability[draw:1 controller])) ueot chooseend!$ controller -auto=choice name(Target yourself) ability$!chooseatype all(creature[chosentype]|myBattlefield) transforms((,newability[life:-1 controller],newability[draw:1 controller])) ueot chooseend!$ controller -text=Choose a creature type. Target player draws X cards and loses X life, where X is the number of creatures they control of the chosen type. -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 @@ -60302,6 +60923,14 @@ type=Artifact subtype=Equipment [/card] [card] +name=Pact of the Serpent +auto=choice name(Target opponent) ability$!chooseatype all(creature[chosentype]|opponentBattlefield) transforms((,newability[life:-1 controller],newability[draw:1 controller])) ueot chooseend!$ controller +auto=choice name(Target yourself) ability$!chooseatype all(creature[chosentype]|myBattlefield) transforms((,newability[life:-1 controller],newability[draw:1 controller])) ueot chooseend!$ controller +text=Choose a creature type. Target player draws X cards and loses X life, where X is the number of creatures they control of the chosen type. +mana={1}{B}{B} +type=Sorcery +[/card] +[card] name=Pain // Suffering other={3}{R} name(Suffering) auto=if paid(alternative) then destroy target(land) @@ -60957,10 +61586,47 @@ mana={1}{B}{B} type=Sorcery [/card] [card] +name=Path of the Animist +auto=moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +text=Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle. -- Will of the Planeswalkers - Starting with you, each player votes for planeswalk or chaos. If planeswalk gets more votes, planeswalk. If chaos gets more votes or the vote is tied, chaos ensues. +mana={3}{G} +type=Sorcery +[/card] +[card] +name=Path of the Enigma +target=player +auto=draw:4 +text=Target player draws four cards. -- Will of the Planeswalkers - Starting with you, each player votes for planeswalk or chaos. If planeswalk gets more votes, planeswalk. If chaos gets more votes or the vote is tied, chaos ensues. +mana={4}{U} +type=Sorcery +[/card] +[card] +name=Path of the Ghosthunter +auto=_SPIRITTOKEN_*X +text=Create X 1/1 white Spirit creature tokens with flying. -- Will of the Planeswalkers - Starting with you, each player votes for planeswalk or chaos. If planeswalk gets more votes, planeswalk. If chaos gets more votes or the vote is tied, chaos ensues. +mana={X}{1}{W} +type=Sorcery +[/card] +[card] +name=Path of the Pyromancer +auto=all(*|myhand) transforms((,newability[Add {R}],newability[draw:1],newability[reject])) && draw:1 +text=Discard all the cards in your hand. Add {R} for each card discarded this way, then draw that many cards plus one. -- Will of the Planeswalkers - Starting with you, each player votes for planeswalk or chaos. If planeswalk gets more votes, planeswalk. If chaos gets more votes or the vote is tied, chaos ensues. +mana={4}{R} +type=Sorcery +[/card] +[card] +name=Path of the Schemer +auto=all(player) deplete:2 +auto=moveto(mybattlefield) target(creature|graveyard) and!(becomes(artifact) forever)! +text=Each player mills two cards. Then you put a creature card from a graveyard onto the battlefield under your control. It's an artifact in addition to its other types. -- Will of the Planeswalkers - Starting with you, each player votes for planeswalk or chaos. If planeswalk gets more votes, planeswalk. If chaos gets more votes or the vote is tied, chaos ensues. +mana={4}{B} +type=Sorcery +[/card] +[card] 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 _SCRY1_])) 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 @@ -61587,6 +62253,15 @@ power=5 toughness=5 [/card] [card] +name=Phyrexian +backside=Incubator +auto=_DIES_:all(Brimaz, Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg +type=Artifact Creature +subtype=Phyrexian +power=0 +toughness=0 +[/card] +[card] name=Phyrexian Archivist abilities=reach auto={2}{T}:target(*|graveyard) bottomoflibrary @@ -61598,6 +62273,26 @@ power=4 toughness=5 [/card] [card] +name=Phyrexian Atlas +auto={T}:Add{W} +auto={T}:Add{U} +auto={T}:Add{B} +auto={T}:Add{R} +auto={T}:Add{G} +auto=@tapped(this):this(variable{opponentpoisoncount}>2) life:-1 opponent +text={T}: Add one mana of any color. -- Corrupted - Whenever Phyrexian Atlas becomes tapped, each opponent who has three or more poison counters loses 1 life. +mana={3} +type=Artifact +[/card] +[card] +name=Phyrexian Awakening +auto=name(Incubate 4) name(Incubate 4) activate castcard(noevent costx!:4:! named!:Incubator:!) +auto=lord(phyrexian|myBattlefield) transforms((,newability[vigilance])) +text=When Phyrexian Awakening enters the battlefield, incubate 4. (Create an Incubator token with four +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- Phyrexians you control have vigilance. +mana={2}{W} +type=Enchantment +[/card] +[card] name=Phyrexian Censor auto=maxCast(*[-Phyrexian])1 auto=maxCast(*[-Phyrexian])1 opponent @@ -62240,7 +62935,7 @@ toughness=2 [card] name=Plague Mare auto=cantbeblockedby(creature[white]) -auto=all(creature|opponentBattlefield)) -1/-1 ueot +auto=all(creature|opponentBattlefield) -1/-1 ueot text=Plague Mare can't be blocked by white creatures. -- When Plague Mare enters the battlefield, creatures your opponents control get -1/-1 until end of turn. mana={1}{B}{B} type=Creature @@ -62336,6 +63031,14 @@ type=Enchantment subtype=Aura [/card] [card] +name=Planar Incision +target=artifact,creature +auto=(blink) return(counter(1/1)) +text=Exile target artifact or creature, then return it to the battlefield under its owner's control with a +1/+1 counter on it. +mana={1}{U} +type=Instant +[/card] +[card] name=Planar Overlay auto=ability$!name(Return a swamp) name(Return a swamp) target(swamp|myBattlefield) moveto(ownerhand)!$ controller auto=ability$!name(Return a swamp) name(Return a swamp) target(swamp|myBattlefield) moveto(ownerhand)!$ opponent @@ -62665,8 +63368,8 @@ type=Sorcery name=Pollen Remedy 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 +auto=if paid(alternative) then thisforeach(variable{6}) ability$!name(Prevent 1 damage) name(Prevent 1 damage) target(player,creature,planeswalker) prevent:1!$ controller +auto=ifnot paid(alternative) then thisforeach(variable{3}) ability$!name(Prevent 1 damage) name(Prevent 1 damage) target(player,creature,planeswalker) 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 targets, divided as you choose. If this spell was kicked, prevent the next 6 damage this way instead. mana={W} type=Instant @@ -62674,7 +63377,7 @@ type=Instant [card] name=Pollenbright Druid auto=choice name(Put 1/1 counter) counter(1/1) target(creature) -auto=choice name(Proliferate) notatarget(player,permanent) proliferate +auto=choice _PROLIFERATE_ text=When Pollenbright Druid enters the battlefield, Choose one -- Put a +1/+1 counter on target creature. -- Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) mana={1}{G} type=Creature @@ -63065,6 +63768,16 @@ text=Power Depot enters the battlefield tapped. -- {T}: Add {C}. -- {T}: Add one type=Artifact Land [/card] [card] +name=Power Plant Worker +auto={3}:name(Power up) if type(Mine Worker|mybattlefield)~morethan~0,type(Tower Worker|mybattlefield)~morethan~0 then counter(1/1,2) limit:1 else 2/2 ueot limit:1 +text={3}: Power Plant Worker gets +2/+2 until end of turn. If you control creatures named Mine Worker and Tower Worker, put two +1/+1 counters on Power Plant Worker instead. Activate only once each turn. +mana={5} +type=Artifact Creature +subtype=Assembly-Worker +power=4 +toughness=4 +[/card] +[card] name=Power Surge auto=@each my upkeep:damage:type:land[-tapped]:mybattlefield controller auto=@each opponent upkeep:damage:type:land[-tapped]:opponentbattlefield opponent @@ -63363,7 +64076,7 @@ toughness=2 [card] name=Prickly Marmoset abilities=first strike -auto=cycled(*|myHand):2/0 ueot +auto=@cycled(*|myHand):2/0 ueot text=First strike -- Whenever you cycle a card, Prickly Marmoset gets +2/+0 until end of turn. mana={2}{R} type=Creature @@ -63883,6 +64596,17 @@ mana={1}{W} type=Instant [/card] [card] +name=Progenitor Exarch +auto=thisforeach(variable{halfpaid}>0) name(Incubate 3) name(Incubate 3) activate castcard(noevent costx!:3:! named!:Incubator:!) +auto={T}:name(Transform incubator) target(incubator|myBattlefield) flip(backside) +text=When Progenitor Exarch enters the battlefield, incubate 3 X times. (To incubate 3, create an Incubator token with three +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- {T}: Transform target Incubator token you control. +mana={X}{X}{W} +type=Creature +subtype=Phyrexian Cat Cleric +power=1 +toughness=2 +[/card] +[card] name=Prohibit kicker={2} auto=ifnot paid(kicker) then target(*[manacost<=2]|stack) fizzle @@ -65333,7 +66057,7 @@ name=Rafter Demon auto=if paid(alternative) then ability$!name(discard) target(*|myhand) reject!$ opponent text=Spectacle {3}{B}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- When Rafter Demon enters the battlefield, if its spectacle cost was paid, each opponent discards a card. other={3}{B}{R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{B}{R} type=Creature subtype=Demon @@ -65703,7 +66427,7 @@ toughness=3 [card] name=Rakdos, Lord of Riots abilities=flying,trample -restriction=compare(oplifelost)~morethan~0 +restriction=_SPECTACLE_ auto=lord(creature|myhand,myCommandzone,mygraveyard,myexile) transforms((,newability[thisforeach(variable{oplifelost}>0) changecost(colorless:-1)])) text=You can't cast Rakdos, Lord of Riots unless an opponent lost life this turn. -- Flying, trample -- Creature spells you cast cost {1} less to cast for each 1 life your opponents have lost this turn. mana={B}{B}{R}{R} @@ -66000,6 +66724,17 @@ power=5 toughness=5 [/card] [card] +name=Ramses, Assassin Lord +abilities=deathtouch +auto=lord(other assassin|myBattlefield) 1/1 +text=Deathtouch -- Other Assassins you control get +1/+1. -- Whenever a player loses the game, if they were attacked this turn by an Assassin you controlled, you win the game. +mana={2}{U}{B} +type=Legendary Creature +subtype=Human Assassin +power=4 +toughness=4 +[/card] +[card] name=Ramunap Excavator auto=lord(land|mygraveyard) CanPlayFromGraveyard text=You may play land cards from your graveyard. @@ -66349,6 +67084,16 @@ power=6 toughness=6 [/card] [card] +name=Ravenous Necrotitan +auto=this(variable{opponentpoisoncount}<3) sacrifice notatarget(creature|mybattlefield) +text=Corrupted - When Ravenous Necrotitan enters the battlefield, sacrifice a creature unless an opponent has three or more poison counters. +mana={2}{B}{B} +type=Creature +subtype=Phyrexian Horror +power=6 +toughness=6 +[/card] +[card] name=Ravenous Pursuit target=creature|myBattlefield auto=transforms((,newability[@damaged(creature|opponentbattlefield) from(this) turnlimited:if compare(excessdamage)~morethan~0 then name(Creature gets X/X) name(Creature gets X/X) target(creature|myhand) counter(1/1.excessdamage.PerpetualPT) notrg],newability[name(Damage opponent creature) target(creature|opponentbattlefield) damage:p])) ueot @@ -66530,6 +67275,16 @@ mana={R} type=Instant [/card] [card] +name=Raze to the Ground +abilities=nofizzle +target=artifact +auto=destroy +auto=if cantargetcard(*[manacost<=1]|*) then draw:1 controller +text=This spell can't be countered. -- Destroy target artifact. If its mana value was 1 or less, draw a card. +mana={2}{R} +type=Sorcery +[/card] +[card] name=Razorlash Transmogrant abilities=cantblock autograveyard={4}{B}{B}:moveTo(battlefield) from(myGraveyard) && counter(1/1) @@ -66854,7 +67609,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}]) 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 @@ -66918,6 +67673,16 @@ power=1 toughness=2 [/card] [card] +name=Recommission +target=*[artifact;creature;manacost<=3]|myGraveyard +auto=moveTo(mybattlefield) +auto=if cantargetcard(creature|*) then counter(1/1) +auto=Return target artifact or creature card with mana value 3 or less from your graveyard to the battlefield Ifcreature enters the battlefield this way it enters with an additional +1/+1 counter on it +text=Return target artifact or creature card with mana value 3 or less from your graveyard to the battlefield. If a creature enters the battlefield this way, it enters with an additional +1/+1 counter on it. +mana={1}{W} +type=Sorcery +[/card] +[card] name=Reconnaissance Mission abilities=cycling auto=@combatdamagefoeof(player) from(creature|myBattlefield):may draw:1 controller @@ -67218,7 +67983,7 @@ restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(Valkmira, Protector's Shield) autostack=if paid(alternative) then flip(Valkmira, Protector's Shield) forcetype(Legendary Artifact) auto=@movedto(*[snow]|opponentbattlefield) restriction{compare(isflipped)~equalto~0}:all(trigger[to]) tap(noevent) -auto=this(variable{isflipped}<1) lord(*[-creature;manacost>=4]|opponentcastingzone]) altercost(colorless,+2) +auto=this(variable{isflipped}<1) lord(*[-creature;manacost>=4]|opponentcastingzone) altercost(colorless,+2) text=Flying, vigilance -- Snow lands your opponents control enter the battlefield tapped. -- Noncreature spells your opponents cast with mana value 4 or more cost {2} more to cast. // {3}{W} Valkmira, Protector's Shield mana={2}{W} type=Legendary Creature @@ -67507,7 +68272,7 @@ type=Sorcery [/card] [card] name=Renari, Merchant of Marvels -abilities=chooseabackground +abilities=backgoundpartner auto=lord(Dragon|mycastingzone) asflash auto=lord(artifact|mycastingzone) asflash text=You may cast Dragon spells and artifact spells as though they had flash. -- Choose a Background (You can have a Background as a second commander.) @@ -67677,7 +68442,7 @@ subtype=Aura [/card] [card] name=Reptilian Reflection -auto=cycled(*|myHand):transforms((Dinosaur Creature,setpower=5,settoughness=4,red,haste,trample)) ueot +auto=@cycled(*|myHand):transforms((Dinosaur Creature,setpower=5,settoughness=4,red,haste,trample)) ueot text=Whenever you cycle a card, you may have Reptilian Reflection become a 5/4 Dinosaur creature with trample and haste in addition to its other types until end of turn. mana={2}{R} type=Enchantment @@ -68022,7 +68787,7 @@ toughness=2 name=Retrofitter Foundry auto={3}:untap auto={2}{T}:_SERVOTOKEN_ -auto={1}{T}{S(Servo|myBattlefield)}:create(thopter:artifact creature thopter:1/1:flying) +auto={1}{T}{S(Servo|myBattlefield)}:_THOPTERTOKEN_ auto={T}{S(Thopter|myBattlefield)}:create(construct:artifact creature construct:4/4) text={3}: Untap Retrofitter Foundry. -- {2}, {T}: Create a 1/1 colorless Servo artifact creature token. -- {1}, {T}, Sacrifice a Servo: Create a 1/1 colorless Thopter artifact creature token with flying. -- {T}, Sacrifice a Thopter: Create a 4/4 colorless Construct artifact creature token. mana={1} @@ -68383,8 +69148,8 @@ toughness=2 [/card] [card] name=Rhox Faithmender -abilities=lifelink -auto=@lifeof(player) from(*[-Rhox Faithmender]):life:thatmuch +abilities=lifelink,lifefaker +auto=@lifeof(player) from(*[-lifefaker]):life:thatmuch auto=@damaged(creature,player) from(Rhox Faithmender|myBattlefield):life:thatmuch text=Lifelink (Damage dealt by this creature also causes you to gain that much life.) -- If you would gain life, you gain twice that much life instead. mana={3}{W} @@ -69314,7 +70079,7 @@ toughness=1 [/card] [card] name=Riveteers Initiate -auto={1}{B/G}:deathtouch ueot +auto={1}{BG}:deathtouch ueot text={1}{B/G}: Riveteers Initiate gains deathtouch until end of turn. mana={1}{R} type=Creature @@ -69340,7 +70105,7 @@ 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 +otherrestriction=_SPECTACLE_ mana={1}{R} type=Creature subtype=Human Shaman @@ -69394,7 +70159,7 @@ toughness=2 [card] name=Robber of the Rich abilities=reach,haste -auto=@combat(attacking) source(this) restriction{compare(ohandcount)~morethan~(compare(phandcount)}:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(exile) and!( counter(0/0,1,RobberExiled) )! +auto=@combat(attacking) source(this) restriction{compare(ohandcount)~morethan~compare(phandcount)}:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(exile) and!( counter(0/0,1,RobberExiled) )! auto=emblem transforms((,newability[lord(rogue|myBattlefield) transforms((,newability[_ATTACKING_name(Can cast exiled cards) transforms((,newability[{0}:name(Cast exiled card) name(Cast exiled card) target(*[-land;counter{0/0.1.RobberExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.RobberExiled)],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.RobberExiled)])) ueot )!])) ueot]))])) forever dontremove text=Reach, haste -- Whenever Robber of the Rich attacks, if defending player has more cards in hand than you, exile the top card of their library. During any turn you attacked with a Rogue, you may cast that card and you may spend mana as though it were mana of any color to cast that spell. mana={1}{R} @@ -69696,6 +70461,16 @@ power=3 toughness=4 [/card] [card] +name=Rooftop Saboteurs +abilities=flying +auto=@combatdamaged(player) from(this):name(Draw a card) draw:1 controller +text=Flying -- Whenever Rooftop Saboteurs deals combat damage to a player or battle, draw a card. +type=Creature +subtype=Moonfolk Ninja +power=2 +toughness=3 +[/card] +[card] name=Rookie Mistake target=creature auto=0/2 ueot @@ -70054,7 +70829,7 @@ toughness=2 [card] name=Rowdy Crew abilities=trample -auto=draw:3 && transforms((,newability[target(<2>*|myhand) reject])) forever +auto=draw:3 && discard:2 text=Trample -- When Rowdy Crew enters the battlefield, draw three cards, then discard two cards at random. If two cards that share a card type are discarded this way, put two +1/+1 counters on Rowdy Crew. mana={2}{R}{R} type=Creature @@ -70183,7 +70958,7 @@ toughness=3 [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 mills a card.) +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.) mana={U} type=Creature subtype=Crab @@ -70887,7 +71662,7 @@ subtype=Equipment [card] name=Saddled Rimestag auto=if thisturn(creature|mybattlefield)~morethan~1 then 2/2 ueot -auto=@movedto(other creature|myBattlefield):2/2 ueot +auto=@movedto(other creature|myBattlefield) turnlimited:2/2 ueot text=Saddled Rimestag gets +2/+2 as long as you had another creature enter the battlefield under your control this turn. mana={1}{G} type=Snow Creature @@ -71059,7 +71834,7 @@ toughness=3 [/card] [card] name=Sai, Master Thopterist -auto=@movedTo(artifact|mystack):create(thopter artifact:creature thopter artifact:1/1:colorless:flying) +auto=@movedTo(artifact|mystack):_THOPTERTOKEN_ auto={1}{U}{S(artifact|myBattlefield)}{S(artifact|myBattlefield)}:draw:1 text=Whenever you cast an artifact spell, create a 1/1 colorless Thopter artifact creature token with flying. -- {1}{U}, Sacrifice two artifacts: Draw a card. mana={2}{U} @@ -71332,7 +72107,7 @@ toughness=1 name=Sanctuary Smasher abilities=first strike,cycling autohand=__CYCLING__({2}{R}) -autohand=@cycled(this|myHand):name(Put a first strike counter) target(creature|myBattlefield) transforms((,newability[counter(0/0.1.FirstStrike],newability[this(counter{0/0.1.FirstStrike}>=1) first strike])) forever +autohand=@cycled(this|myHand):name(Put a first strike counter) target(creature|myBattlefield) transforms((,newability[counter(0/0.1.FirstStrike)],newability[this(counter{0/0.1.FirstStrike}>=1) first strike])) forever text=First strike -- Cycling {2}{R} ({2}{R}, Discard this card: Draw a card.) -- When you cycle Sanctuary Smasher, put a first strike counter on target creature you control. mana={4}{R}{R} type=Creature @@ -71342,7 +72117,7 @@ toughness=4 [/card] [card] name=Sanctum Guardian -auto={S}:name(Prevent all damage) target(player,creature) prevent:20 +auto={S}:name(Prevent all damage) target(player,creature,planeswalker) prevent:20 text=Sacrifice Sanctum Guardian: The next time a source of your choice would deal damage to target creature or player this turn, prevent that damage. mana={1}{W}{W} type=Creature @@ -71699,6 +72474,16 @@ power=1 toughness=1 [/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=Sarevok, Deathbringer abilities=backgroundpartner auto=@movedto(*|nonbattlezone) from(battlefield):name(Some permanent left) counter(0/0,1,SarevokEffect) @@ -71713,16 +72498,6 @@ 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 @@ -71915,7 +72690,7 @@ toughness=1 name=Savage Alliance target=player other={4}{R} name(Escalate) -auto=if paid(alternative) then transforms((,newability[choice name(Your creatures have trample) all(creature|myBattlefield) trample ueot],newability[Opponent creatures have trample) all(creature|opponentBattlefield) trample ueot])) +auto=if paid(alternative) then transforms((,newability[choice name(Your creatures have trample) all(creature|myBattlefield) trample ueot],newability[name(Opponent creatures have trample) all(creature|opponentBattlefield) trample ueot])) auto=if paid(alternative) then damage:2 target(creature) auto=if paid(alternative) then damage:1 all(creature|opponentBattlefield) auto=ifnot paid(alternative) then choice name(Your creatures have trample) all(creature|myBattlefield) trample ueot @@ -71929,7 +72704,7 @@ type=Instant [card] name=Savage Gorger abilities=flying -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ auto=@each my endofturn:counter(1/1) text=Flying -- At the beginning of your end step, if an opponent lost life this turn, put a +1/+1 counter on Savage Gorger. (Damage causes loss of life.) mana={1}{B}{B} @@ -72308,6 +73083,17 @@ type=Artifact subtype=Equipment [/card] [card] +name=Scavenged Brawler +abilities=flying,lifelink,trample,vigilance +autograveyard={5}{E}:target(creature) transforms((,newability[counter(1/1.4)],newability[counter(0/0.1.Flying)],newability[this(counter{0/0.1.Flying}>=1) flying],newability[counter(0/0.1.vigilance)],newability[this(counter{0/0.1.vigilance}>=1) vigilance],newability[counter(0/0.1.trample)],newability[this(counter{0/0.1.trample}>=1) trample],newability[counter(0/0.1.lifelink)],newability[this(counter{0/0.1.lifelink}>=1) lifelink])) forever asSorcery +text=Flying, vigilance, trample, lifelink -- {5}, Exile Scavenged Brawler from your graveyard: Choose target creature. Put four +1/+1 counters, a flying counter, a vigilance counter, a trample counter, and a lifelink counter on that creature. Activate only as a sorcery. +mana={6} +type=Artifact Creature +subtype=Construct +power=4 +toughness=4 +[/card] +[card] name=Scavenger Grounds auto={2}{T}{S(desert|mybattlefield)}:moveto(exile) all(*|graveyard) auto={T}:Add{1} @@ -72755,7 +73541,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 mills a card.) -- {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 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. mana={5}{U} type=Creature subtype=Bird Horror @@ -73633,7 +74419,7 @@ type=Sorcery [card] name=Selvala's Enforcer auto=reveal:1 revealzone(mylibrary) optionone if type(land|reveal)~lessthan~1 then counter(1/1) optiononeend optiontwo target(<1>*|reveal) moveto(mylibrary) optiontwoend afterrevealed draw:1 controller afterrevealedend revealend -auto=reveal:1 revealzone(opponentlibrary) optionone if type(land|reveal)~lessthan~1 then counter(1/1)) optiononeend optiontwo target(<1>*|reveal) moveto(opponentlibrary) optiontwoend afterrevealed draw:1 opponent afterrevealedend revealend +auto=reveal:1 revealzone(opponentlibrary) optionone if type(land|reveal)~lessthan~1 then counter(1/1) optiononeend optiontwo target(<1>*|reveal) moveto(opponentlibrary) optiontwoend afterrevealed draw:1 opponent afterrevealedend revealend text=Parley - When Selvala's Enforcer enters the battlefield, each player reveals the top card of his or her library. For each nonland card revealed this way, put a +1/+1 counter on Selvala's Enforcer. Then each player draws a card. mana={3}{G} type=Creature @@ -73643,7 +74429,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 @@ -73982,6 +74768,16 @@ power=1 toughness=1 [/card] [card] +name=Serra Faithkeeper +abilities=flying,vigilance +text=Flying, vigilance +type=Creature +subtype=Angel +color=white +power=4 +toughness=4 +[/card] +[card] name=Serra Redeemer abilities=flying auto=@movedTo(other creature[power<=2]|myBattlefield):all(trigger[to]) counter(1/1,2) @@ -74329,7 +75125,7 @@ toughness=4 [/card] [card] name=Shadowheart, Dark Justiciar -abilities=chooseabackground +abilities=backgoundpartner auto={1}{B}{T}{S(other creature|mybattlefield)}:name(Sacrifice another creature) draw:storedpower text={1}{B}, {T}, Sacrifice another creature: Draw X cards, where X is that creature's power. -- Choose a Background (You can have a Background as a second commander.) mana={3}{B} @@ -74930,7 +75726,8 @@ toughness=3 [card] name=Shield Mare auto=cantbeblockedby(creature[red creatures]) -auto=targeted(this|mybattlefield) from(*|opponentbattlefield,opponenthand,opponentstack,opponentgraveyard,opponentexile,opponentlibrary):life:3 +auto=life:3 +auto=@targeted(this|mybattlefield) from(*|opponentbattlefield,opponenthand,opponentstack,opponentgraveyard,opponentexile,opponentlibrary):life:3 text=Shield Mare can't be blocked by red creatures. -- When Shield Mare enters the battlefield or becomes the target of a spell or ability an opponent controls, you gain 3 life. mana={1}{W}{W} type=Creature @@ -75002,6 +75799,26 @@ power=1 toughness=1 [/card] [card] +name=Shigeki, Jukai Visionary +auto={1}{G}{T}{H}:reveal:4 optionone name(Get a land) target(land|reveal) moveto(myBattlefield) and!(tap(noevent))! optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +autohand={2}{G}{G}{discard}:name(Channel {2}{G}{G}) target(*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={4}{G}{G}{discard}:name(Channel {4}{G}{G}) target(<2>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={6}{G}{G}{discard}:name(Channel {6}{G}{G}) target(<3>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={8}{G}{G}{discard}:name(Channel {8}{G}{G}) target(<4>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={10}{G}{G}{discard}:name(Channel {10}{G}{G}) target(<5>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={12}{G}{G}{discard}:name(Channel {12}{G}{G}) target(<6>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={14}{G}{G}{discard}:name(Channel {14}{G}{G}) target(<7>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={16}{G}{G}{discard}:name(Channel {16}{G}{G}) target(<8>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={18}{G}{G}{discard}:name(Channel {18}{G}{G}) target(<9>*[-legendary]|mygraveyard) moveto(ownerhand) +autohand={20}{G}{G}{discard}:name(Channel {20}{G}{G}) target(<10>*[-legendary]|mygraveyard) moveto(ownerhand) +text={1}{G}, {T}, Return Shigeki, Jukai Visionary to its owner's hand: Reveal the top four cards of your library. You may put a land card from among them onto the battlefield tapped. Put the rest into your graveyard. -- Channel - {X}{X}{G}{G}, Discard Shigeki: Return X target nonlegendary cards from your graveyard to your hand. +mana={1}{G} +type=Legendary Enchantment Creature +subtype=Snake Druid +power=1 +toughness=3 +[/card] +[card] name=Shimian Night Stalker auto={B}{T} restriction{type(creature[attacking;power=1])~morethan~0}:name(Choose creature with power 1) target(creature[attacking;power=1]) transforms((,newability[fog from(this)])) ueot && damage:1 all(this) auto={B}{T} restriction{type(creature[attacking;power=2])~morethan~0}:name(Choose creature with power 2) target(creature[attacking;power=2]) transforms((,newability[fog from(this)])) ueot && damage:2 all(this) @@ -75270,6 +76087,15 @@ mana={1}{U} type=Instant [/card] [card] +name=Shoot Down +auto=if type(artifact|battlefield)~morethan~0 then choice name(Exile artifact) name(Exile artifact) moveto(exile) target(artifact) +auto=if type(enchantment|battlefield)~morethan~0 then choice name(Exile enchantment) name(Exile enchantment) moveto(exile) target(enchantment) +auto=if type(creature[flying]|battlefield)~morethan~0 then choice name(Exile flying creature) name(Exile flying creature) moveto(exile) target(creature[flying]) +text=Exile target artifact, enchantment, or creature with flying. +mana={3}{G} +type=Sorcery +[/card] +[card] name=Shore Keeper auto={7}{U}{T}{S}:draw:3 controller text={7}{U}, {T}, Sacrifice Shore Keeper: Draw three cards. @@ -75381,6 +76207,16 @@ type=Enchantment subtype=Saga [/card] [card] +name=Shrapnel Slinger +auto=may name(Sacrifice a creature) sacrifice notatarget(creature|mybattlefield) and!( destroy target(artifact|opponentBattlefield) )! +text=When Shrapnel Slinger enters the battlefield, you may sacrifice a creature. When you do, destroy target artifact an opponent controls. +mana={1}{R} +type=Artifact Creature +subtype=Phyrexian Beast +power=2 +toughness=2 +[/card] +[card] name=Shredded Sails abilities=cycling auto=choice name(Destroy artifact):destroy target(artifact) @@ -76750,7 +77586,7 @@ target=player,creature,planeswalker auto=damage:3 text=Spectacle {R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Skewer the Critics deals 3 damage to any target. other={R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{R} type=Sorcery [/card] @@ -76797,6 +77633,19 @@ power=3 toughness=3 [/card] [card] +name=Skitterbeam Battalion +abilities=haste,trample +other={3}{R}{R} name(prototype) +auto=if paid(alternative) then lord(Skitterbeam Battalion[fresh]) becomes(,2/2,red) forever +auto=if casted(this) then clone && clone +text=Prototype {3}{R}{R} - 2/2 (You may cast this spell with different mana cost, color, and size. It keeps its abilities and types.) -- Trample, haste -- When Skitterbeam Battalion enters the battlefield, if you cast it, create two tokens that are copies of it. +mana={9} +type=Artifact Creature +subtype=Construct +power=4 +toughness=4 +[/card] +[card] name=Skittering Crustacean auto=this(cantargetcard(*[-monstrous]) {6}{U}:becomes(monstrous) forever && counter(1/1,4) && transforms((,newability[opponentshroud])) forever text={6}{U}: Monstrosity 4. (If this creature isn't monstrous, put four +1/+1 counters on it and it becomes monstrous.) -- As long as Skittering Crustacean is monstrous, it has hexproof. (It can't be the target of spells or abilities your opponents control.) @@ -76862,7 +77711,7 @@ toughness=3 [/card] [card] name=Skophos Warleader -auto={R}{S(other creature,enchantment|myBattlefield}:1/0 && menace ueot +auto={R}{S(other creature,enchantment|myBattlefield)}:1/0 && menace ueot text={R}, Sacrifice another creature or enchantment: Skophos Warleader gets +1/+0 and gains menace until end of turn. (It can't be blocked except by two or more creatures.) mana={4}{R} type=Creature @@ -76974,7 +77823,7 @@ toughness=4 [card] name=Skullscorch target=player -auto=ability$!name(Discards or damage) choice name(Discards 2 cards) discard:2 controller _ choice name(Damage 4) damage:4 controller)!$ targetedplayer +auto=ability$!name(Discards or damage) choice name(Discards 2 cards) discard:2 controller _ choice name(Damage 4) damage:4 controller!$ targetedplayer text=Target player discards two cards at random unless that player has Skullscorch deal 4 damage to him or her. mana={R}{R} type=Sorcery @@ -77490,8 +78339,8 @@ type=Sorcery [card] name=Slaughter-Priest of Mogis auto=@sacrificed(*|mybattlefield):2/0 ueot -auto={1}{R}{S(other creature,enchantment|myBattlefield}:first strike ueot -text=Whenever you sacrifice a permanent, Slaughter-Priest of Mogis gets +2/+0 until end of turn. -- 2 , Sacrifice another creature or an enchantment: Slaughter-Priest of Mogis gains first strike until end of turn. +auto={2}{S(other creature,enchantment|myBattlefield)}:first strike ueot +text=Whenever you sacrifice a permanent, Slaughter-Priest of Mogis gets +2/+0 until end of turn. -- {2}, Sacrifice another creature or an enchantment: Slaughter-Priest of Mogis gains first strike until end of turn. mana={B}{R} type=Creature subtype=Minotaur Shaman @@ -77965,7 +78814,7 @@ toughness=1 name=Snow Day target=creature auto=freeze -auto=draw:2 && transforms((,newability[target(*|myhand) reject])) forever +auto=draw:2 controller && transforms((,newability[target(*|myhand) reject])) forever text=Tap up to two target creatures. Those creatures don't untap during their controller's next untap step. -- Draw two cards, then discard a card. mana={4}{U}{U} type=Instant @@ -78355,8 +79204,8 @@ type=Instant [card] name=Song of the Dryads target=artifact,creature,enchantment,land,planeswalker -auto=teach(creature) loseabilities -auto=teach(creature) transforms((removetypes,newability[becomes(Forest Land)]])) forever +auto=loseabilities +auto=transforms((removetypes,newability[becomes(Forest Land)])) forever text=Enchant permanent -- Enchanted permanent is a colorless Forest land. mana={2}{G} type=Enchantment @@ -79075,7 +79924,7 @@ abilities=flying, trample auto=@each my upkeep:damage:1 controller && damage:1 opponent && if compare(lifetotal)~lessthan~10 then counter(1/1) text=Spectacle {1}{B}{B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Flying, trample -- At the beginning of your upkeep, Spawn of Mayhem deals 1 damage to each player. Then if you have 10 or less life, put a +1/+1 counter on Spawn of Mayhem. other={1}{B}{B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{B}{B} type=Creature subtype=Demon @@ -79743,7 +80592,7 @@ type=Sorcery name=Spikewheel Acrobat text=Spectacle {2}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) other={2}{R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={3}{R} type=Creature subtype=Human Rogue @@ -80034,7 +80883,7 @@ toughness=0 [card] name=Spitfire Bastion auto={T}:Add{R} -auto={2}{R}{T}:damage:3 target(creature,player,planeswalker) +auto={2}{R}{T}:damage:3 target(player,creature,planeswalker) text=(Transforms from Vance's Blasting Cannons.) -- {T}: Add {R} to your mana pool. -- {2}{R}, {T}: Spitfire Bastion deals 3 damage to any target. type=Legendary Land [/card] @@ -80050,7 +80899,7 @@ toughness=4 [/card] [card] name=Splatter Goblin -auto=_DIES_target(creature|opponentBattlefield)) -1/-1 ueot +auto=_DIES_target(creature|opponentBattlefield) -1/-1 ueot text=When Splatter Goblin dies, target creature an opponent controls gets -1/-1 until end of turn. mana={1}{B} type=Creature @@ -80071,7 +80920,7 @@ type=Instant name=Splendor Mare abilities=lifelink,cycling autohand=__CYCLING__({1}{W}) -autohand=@cycled(this|myHand):name(Put lifelink counter) target(creature|myBattlefield) transforms((,newability[counter(0/0.1.Lifelink],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +autohand=@cycled(this|myHand):name(Put lifelink counter) target(creature|myBattlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever text=Lifelink -- Cycling {1}{W} ({1}{W}, Discard this card: Draw a card.) -- When you cycle Splendor Mare, put a lifelink counter on target creature you control. mana={2}{W} type=Creature @@ -82005,7 +82854,7 @@ toughness=2 [card] name=Strefan, Maurer Progenitor abilities=flying -auto=@each my endofturn restriction{compare(oplifelost)~morethan~0}:name(Create Blood) token(Blood) +auto=@each my endofturn restriction{_SPECTACLE_}:name(Create Blood) token(Blood) auto=@each my endofturn restriction{compare(plifelost)~morethan~0}:name(Create Blood) token(Blood) auto=@combat(attacking) source(this) restriction{type(blood|mybattlefield)~morethan~1}:may name(Sacrifice 2 blood) target(<2>blood|myBattlefield) sacrifice && all(this) transforms((,newability[name(Put vampire in play) target(vampire|myhand) moveto(myBattlefield) and!( transforms((,newability[ninjutsu],newability[indestructible])) ueot )!])) oneshot text=Flying -- We the beginning of your end step, create a Blood token for each player who lost life this turn. -- Whenever Strefan, Maurer Progenitor attacks, you may sacrifice two Blood tokens. If you do, you may put a Vampire card from your hand onto the battlefield tapped and attacking. It gains indestructible until end of turn. @@ -82109,7 +82958,7 @@ type=Artifact [/card] [card] name=Stromkirk Bloodthief -auto=@each my endofturn restriction{compare(oplifelost)~morethan~0}:target(vampire|myBattlefield) counter(1/1) +auto=@each my endofturn restriction{_SPECTACLE_}:target(vampire|myBattlefield) counter(1/1) text=At the beginning of your end step, if an opponent lost life this turn, put a +1/+1 counter on target Vampire you control. mana={2}{B} type=Creature @@ -82599,6 +83448,15 @@ power=5 toughness=5 [/card] [card] +name=Sunder the Gateway +auto=if type(artifact[-token]|opponentbattlefield)~morethan~0 then choice name(Destroy artifact and incubate 2) name(Destroy artifact and incubate 2) target(artifact[-token]|opponentbattlefield) destroy and!( activate castcard(noevent costx!:2:! named!:Incubator:!) )! +auto=if type(enchantment|opponentbattlefield)~morethan~0 then choice name(Destroy enchantment and incubate 2) name(Destroy enchantment and incubate 2) target(enchantment|opponentbattlefield) destroy and!( activate castcard(noevent costx!:2:! named!:Incubator:!) )! +auto=choice name(Incubate 2 and transform) name(Incubate 2 and transform) emblem transforms((,newability[name(Incubate 2) name(Incubate 2) activate castcard(noevent costx!:2:! named!:Incubator:!)],newability[newability[@movedto(incubator|mybattlefield) turnlimited:name(Choose incubator) name(Choose incubator) target(incubator|mybattlefield) flip(backside)])) ueot +text=Choose one — -- • Destroy target nontoken artifact or enchantment an opponent controls. Incubate 2. (Create an Incubator token with two +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- • Incubate 2, then transform an Incubator token you control. +mana={1}{W} +type=Sorcery +[/card] +[card] name=Sundering Stroke other={R}{R}{R}{R}{R}{R}{R} name(Adamant) auto=if casted(this) then if spent({R}{R}{R}{R}{R}{R}{R}) then damage:7 target(player,creature,planeswalker) @@ -82636,6 +83494,13 @@ text=Sundown Pass enters the battlefield tapped unless you control two or more o type=Land [/card] [card] +name=Sunfall +auto=name(Incubate X) name(Incubate X) activate castcard(noevent costx!:type:creature:battlefield:! named!:Incubator:!) and!( all(creature|battlefield) moveto(exile) )! +text=Exile all creatures. Incubate X, where X is the number of creatures exiled this way. (Create an Incubator token with X +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={3}{W}{W} +type=Sorcery +[/card] +[card] name=Sungold Barrage target=creature[toughness>=4] auto=destroy @@ -82699,7 +83564,7 @@ toughness=3 name=Sunrise Cavalier abilities=trample,haste auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) -auto=@transformed(*[day;night]|battlefield):name(Put 1/1) counter) target(creature|mybattlefield) counter(1/1) +auto=@transformed(*[day;night]|battlefield):name(Put 1/1 counter) target(creature|mybattlefield) counter(1/1) text=Trample, haste -- If it's neither day nor night, it becomes day as Sunrise Cavalier enters the battlefield. -- Whenever day becomes night or night becomes day, put a +1/+1 counter on target creature you control. type=Creature subtype=Human Knight @@ -83272,7 +84137,7 @@ toughness=5 [/card] [card] name=Sweep the Skies -auto=token(Thopter,Artifact Creature Thopter,1/1,flying)*converge +auto=_THOPTERTOKEN_*converge text=Converge - Create a 1/1 colorless Thopter artifact creature token with flying for each color of mana spent to cast this spell. mana={X}{U}{U} type=Sorcery @@ -83528,6 +84393,17 @@ mana={2}{B} type=Sorcery [/card] [card] +name=Swordsworn Cavalier +auto=if thisturn(*[knight]|mybattlefield)~morethan~1 then name(Gains first strike) name(Gains first strike) transforms((,newability[first strike])) ueot +auto=@movedto(other *[knight]|mybattlefield) turnlimited:name(Gains first strike) name(Gains first strike) transforms((,newability[first strike])) ueot +text=Swordsworn Cavalier has first strike as long as another Knight entered the battlefield under your control this turn. +mana={1}{W} +type=Creature +subtype=Human Knight +power=3 +toughness=1 +[/card] +[card] name=Sworn Companions auto=create(Soldier:creature Soldier:1/1:white:lifelink)*2 text=Create two 1/1 white Soldier creature tokens with lifelink. @@ -83934,8 +84810,17 @@ toughness=4 name=Taigam, Sidisi's Hand auto=phasealter(remove,draw,controller) aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|mylibrary) moverandom(*[zpos<=3]) from(mylibrary) to(mylibrary)])) ueot -auto=@each my upkeep:name(look) reveal:4 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend -auto={B}{T}{E(*|myGraveyard}:target(creature) -1/-1*thatmuch ueot +auto=@each my upkeep:name(look) reveal:3 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +auto={B}{T}{E(*|myGraveyard)}:target(creature) -1/-1 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -2/-2 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -3/-3 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -4/-4 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -5/-5 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -6/-6 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -7/-7 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -8/-8 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -9/-9 ueot +auto={B}{T}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}{E(*|myGraveyard)}:target(creature) -10/-10 ueot text=Skip your draw step. -- At the beginning of your upkeep, look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. -- {B}, {T}, Exile X cards from your graveyard: Target creature gets -X/-X until end of turn. mana={3}{U}{B} type=Legendary Creature @@ -84221,6 +85106,37 @@ power=3 toughness=3 [/card] [card] +name=Tameshi, Reality Architect +auto=@movedTo(*[-creature;-instant;-sorcery]|hand) from(battlefield) turnlimited:draw:1 +auto={W}{H(land|mybattlefield)}:name(x=0) target(*[artifact;enchantment;manacost<=0]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={1}{W}{H(land|mybattlefield)}:name(x=1) target(*[artifact;enchantment;manacost<=1]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={2}{W}{H(land|mybattlefield)}:name(x=2) target(*[artifact;enchantment;manacost<=2]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={3}{W}{H(land|mybattlefield)}:name(x=3) target(*[artifact;enchantment;manacost<=3]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={4}{W}{H(land|mybattlefield)}:name(x=4) target(*[artifact;enchantment;manacost<=4]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={5}{W}{H(land|mybattlefield)}:name(x=5) target(*[artifact;enchantment;manacost<=5]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={6}{W}{H(land|mybattlefield)}:name(x=6) target(*[artifact;enchantment;manacost<=6]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={7}{W}{H(land|mybattlefield)}:name(x=7) target(*[artifact;enchantment;manacost<=7]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={8}{W}{H(land|mybattlefield)}:name(x=8) target(*[artifact;enchantment;manacost<=8]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={9}{W}{H(land|mybattlefield)}:name(x=9) target(*[artifact;enchantment;manacost<=9]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={10}{W}{H(land|mybattlefield)}:name(x=10) target(*[artifact;enchantment;manacost<=10]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={11}{W}{H(land|mybattlefield)}:name(x=11) target(*[artifact;enchantment;manacost<=11]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={12}{W}{H(land|mybattlefield)}:name(x=12) target(*[artifact;enchantment;manacost<=12]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={13}{W}{H(land|mybattlefield)}:name(x=13) target(*[artifact;enchantment;manacost<=13]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={14}{W}{H(land|mybattlefield)}:name(x=14) target(*[artifact;enchantment;manacost<=14]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={15}{W}{H(land|mybattlefield)}:name(x=15) target(*[artifact;enchantment;manacost<=15]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={16}{W}{H(land|mybattlefield)}:name(x=16) target(*[artifact;enchantment;manacost<=16]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={17}{W}{H(land|mybattlefield)}:name(x=17) target(*[artifact;enchantment;manacost<=17]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={18}{W}{H(land|mybattlefield)}:name(x=18) target(*[artifact;enchantment;manacost<=18]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={19}{W}{H(land|mybattlefield)}:name(x=19) target(*[artifact;enchantment;manacost<=19]|mygraveyard) moveTo(mybattlefield) asSorcery +auto={20}{W}{H(land|mybattlefield)}:name(x=20) target(*[artifact;enchantment;manacost<=20]|mygraveyard) moveTo(mybattlefield) asSorcery +text=Whenever one or more noncreature permanents are returned to hand, draw a card. This ability triggers only once each turn. -- {X}{W}, Return a land you control to its owner's hand: Return target artifact or enchantment card with mana value X or less from your graveyard to the battlefield. Activate only as a sorcery. +mana={2}{U} +type=Legendary Creature +subtype=Moonfolk Wizard +power=2 +toughness=3 +[/card] +[card] name=Tamiyo's Compleation abilities=flash target=artifact,creature,planeswalker @@ -84250,6 +85166,18 @@ mana={3}{U} type=Artifact [/card] [card] +name=Tamiyo's Logbook +auto={5}{U}{T}:restriction{type(other artifact|myBattlefield)~equalto~0} draw:1 +auto={4}{U}{T}:restriction{type(other artifact|myBattlefield)~equalto~1} draw:1 +auto={3}{U}{T}:restriction{type(other artifact|myBattlefield)~equalto~2} draw:1 +auto={2}{U}{T}:restriction{type(other artifact|myBattlefield)~equalto~3} draw:1 +auto={1}{U}{T}:restriction{type(other artifact|myBattlefield)~equalto~4} draw:1 +auto={U}{T}:restriction{type(other artifact|myBattlefield)~morethan~4} draw:1 +text={5}{U}, {T}: Draw a card. This ability costs {1} less to activate for each other artifact you control. +mana={2}{U} +type=Artifact +[/card] +[card] name=Tamiyo's Safekeeping target=*|myBattlefield auto=transforms((,newability[opponentshroud],newability[indestructible])) ueot @@ -84295,7 +85223,7 @@ name=Tangle Wire auto=fading:4 auto=@each my upkeep restriction{compare(hascntfade)~equalto~4}:ability$!name(Tap artifacts, lands or creatures) target(<4>*[artifact;creature;land]|myBattlefield) tap!$ controller auto=@each opponent upkeep restriction{compare(hascntfade)~equalto~4}:ability$!name(Tap artifacts, lands or creatures) target(<4>*[artifact;creature;land]|myBattlefield) tap!$ opponent -auto=@each my upkeep restriction{compare(hascntfade))~equalto~3}:ability$!name(Tap artifacts, lands or creatures) target(<3>*[artifact;creature;land]|myBattlefield) tap!$ controller +auto=@each my upkeep restriction{compare(hascntfade)~equalto~3}:ability$!name(Tap artifacts, lands or creatures) target(<3>*[artifact;creature;land]|myBattlefield) tap!$ controller auto=@each opponent upkeep restriction{compare(hascntfade)~equalto~3}:ability$!name(Tap artifacts, lands or creatures) target(<3>*[artifact;creature;land]|myBattlefield) tap!$ opponent auto=@each my upkeep restriction{compare(hascntfade)~equalto~2}:ability$!name(Tap artifacts, lands or creatures) target(<2>*[artifact;creature;land]|myBattlefield) tap!$ controller auto=@each opponent upkeep restriction{compare(hascntfade)~equalto~2}:ability$!name(Tap artifacts, lands or creatures) target(<2>*[artifact;creature;land]|myBattlefield) tap!$ opponent @@ -84645,6 +85573,16 @@ power=6 toughness=5 [/card] [card] +name=Tawnos's Tinkering +target=artifact,creature,land|myBattlefield +auto=counter(1/1,2) +auto=untap +auto=if cantargetcard(*[-creature]|*) then becomes(Creature,0/0) forever +text=Put two +1/+1 counters on target artifact, creature, or land you control. Untap that permanent. If it isn't a creature, it becomes a 0/0 creature in addition to its other types. +mana={3}{G} +type=Instant +[/card] +[card] name=Tawnos, the Toymaker 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.) @@ -84865,8 +85803,8 @@ name=Teferi, Temporal Pilgrim auto=counter(0/0,4,loyalty) auto=@drawof(player):counter(0/0,1,Loyalty) auto={C(0/0,0,Loyalty)}:draw:1 -auto={C(0/0,-2,Loyalty)}:create(spirit:creature spirit:2/2:blue:vigilance) and!( transforms((,newability[@drawof(player):counter(1/1)])) -auto={C(0/0,-12,Loyalty)}:target(opponent) +auto={C(0/0,-2,Loyalty)}:create(spirit:creature spirit:2/2:blue:vigilance) and!( transforms((,newability[@drawof(player):counter(1/1)])) )! +auto={C(0/0,-12,Loyalty)}:target(opponent) ability$!name(return permanent) notatarget(*|mybattlefield) transforms((,newability[moveTo(ownerHand)],newability[all(other *[-land]|mybattlefield) moveTo(ownerHand) and!(shuffle)!] ))!$ targetedplayer text=Whenever you draw a card, put a loyalty counter on Teferi, Temporal Pilgrim. -- [0]: Draw a card. -- [-2]: Create a 2/2 blue Spirit creature token with vigilance and "Whenever you draw a card, put a +1/+1 counter on this creature." -- [-12]: Target opponent chooses a permanent they control and returns it to its owner's hand. Then they shuffle each nonland permanent they control into its owner's library. mana={3}{U}{U} type=Legendary Planeswalker @@ -85615,6 +86553,19 @@ type=Enchantment subtype=Saga [/card] [card] +name=The Argent Etchings +auto=counter(0/0,1,Lore) +auto=@each my firstmain:counter(0/0,1,Lore) +auto=thisforeach(variable{5}) name(Incubate 2 five times) name(Incubate 2 five times) activate castcard(noevent costx!:2:! named!:Incubator:!) +auto=name(Transform all incubators) all(incubator|mybattlefield) flip(backside) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) name(Creatures gain 1/1) all(creature|mybattlefield) transforms((,newability[1/1],newability[double strike])) ueot +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Destroy all prermanents) all(other *[-land;-phyrexian;-artifact]) destroy +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Exile and return) moveto(myexile) and!( moveto(mybattlefield) )! +text=(As this Saga enters and after your draw step, add a lore counter.) -- I — Incubate 2 five times, then transform all Incubator tokens you control. -- II — Creatures you control get +1/+1 and gain double strike until end of turn. -- III — Destroy all other permanents except for artifacts, lands, and Phyrexians. Exile The Argent Etchings, then return it to the battlefield (front face up). +type=Enchantment +subtype=Saga +[/card] +[card] name=The Atropal abilities=deathtouch text=Deathtouch @@ -86361,7 +87312,7 @@ toughness=2 name=Thieving Skydiver abilities=flying,hasotherkicker other={X}{1}{U} name(Pay kicker) -auto=this(X>0) if paid(alternative) then choice name(Choose artifact) name(Choose artifact) name(Choose artifact) target(artifact[manacost<=X]|battlefield) moveTo(myBattlefield) and!( transforms((,newability[if cantargetcard(equipment|*) then name(Attach to Thieving Skydiver) name(Attach to Thieving Skydiver) rehook target(creature|myBattlefield)])) forever )! +auto=this(X>0) if paid(alternative) then choice name(Choose artifact) name(Choose artifact) name(Choose artifact) target(artifact[manacost<=X]|battlefield) moveTo(myBattlefield) and!( transforms((,newability[if cantargetcard(equipment|*) then name(Attach to Thieving Skydiver) name(Attach to Thieving Skydiver) rehook target(Thieving Skydiver[fresh]|myBattlefield)])) forever )! text=Kicker {X}. X can't be 0. (You may pay an additional {X} as you cast this spell.) -- Flying -- When Thieving Skydiver enters the battlefield, if it was kicked, gain control of target artifact with mana value X or less. If that artifact is an Equipment, attach it to Thieving Skydiver. mana={1}{U} type=Creature @@ -86445,7 +87396,7 @@ toughness=3 [card] name=Thopter Mechanic auto=_SECOND_DRAW_counter(1/1) -auto=_DIES_create(thopter artifact:creature thopter artifact:1/1:colorless:flying) +auto=_DIES__THOPTERTOKEN_ text=Whenever you draw your second card each turn, put a +1/+1 counter on Thopter Mechanic. -- When Thopter Mechanic dies, create a 1/1 colorless Thopter artifact creature token with flying. mana={1}{U} type=Creature @@ -86456,14 +87407,14 @@ toughness=1 [card] name=Thopter Shop auto=@movedto(artifact[creature]|graveyard) from(myBattlefield) turnlimited:draw:1 -auto={2}{W}{T}:create(thopter:artifact creature thopter:1/1:flying) +auto={2}{W}{T}:_THOPTERTOKEN_ text=Whenever one or more artifact creatures you control die, draw a card. This ability triggers only once each turn. -- {2}{W}, {T}: Create a 1/1 colorless Thopter artifact creature token with flying. mana={3} type=Artifact [/card] [card] name=Thopter Spy Network -auto=@each my upkeep:if type(artifact|mybattlefield)~morethan~0 then token token(Thopter,Artifact Creature Thopter,1/1,flying) +auto=@each my upkeep:if type(artifact|mybattlefield)~morethan~0 then _THOPTERTOKEN_ auto=@each combatdamage restriction{opponentdamagedbycombat}:draw:1 controller limit:1 text=At the beginning of your upkeep, if you control an artifact, put a 1/1 colorless Thopter artifact creature token with flying onto the battlefield. -- Whenever one or more artifact creatures you control deal combat damage to a player, draw a card. mana={2}{U}{U} @@ -87304,6 +88255,16 @@ power=4 toughness=4 [/card] [card] +name=Tiller of Flesh +auto=@targeted(*|battlefield) from(*[instant;sorcery;enchantment]|mycastingzone):name(Incubate 2) name(Incubate 2) activate castcard(noevent costx!:2:! named!:Incubator:!) +text=Whenever you cast a spell that targets one or more permanents, incubate 2. (Create an Incubator token with two +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={3}{W} +type=Creature +subtype=Phyrexian Knight +power=2 +toughness=4 +[/card] +[card] name=Tilonalli's Crown target=creature auto=damage:1 @@ -87546,22 +88507,6 @@ 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} @@ -87770,7 +88715,7 @@ type=Enchantment [card] name=Tithe Taker auto=this(variable{controllerturn}>0) lord(*|opponentcastingzone) altercost(colorless,+1) -auto=_DIES_token(Spirit,Creature Spirit,1/1,white,black,flying) +auto=_DIES__AFTERLIFETOKEN_ text=During your turn, spells your opponents cast cost {1} more to cast and abilities your opponents activate cost {1} more to activate unless they're mana abilities. -- Afterlife 1 (When this creature dies, create a 1/1 white and black Spirit creature token with flying.) mana={1}{W} type=Creature @@ -87803,7 +88748,7 @@ toughness=4 name=Tizerus Charger retrace={3}{G}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape) auto=if paid(retrace) then choice name(Escape with 1/1 counter) name(Escape with 1/1 counter) counter(1/1) -auto=if paid(retrace) then choice name(Escape with flying counter) name(Escape with flying counter) transforms((,newability[counter(0/0.1.Flying],newability[this(counter{0/0.1.Flying}>=1) flying])) forever +auto=if paid(retrace) then choice name(Escape with flying counter) name(Escape with flying counter) transforms((,newability[counter(0/0.1.Flying)],newability[this(counter{0/0.1.Flying}>=1) flying])) forever text=Escape-{4}{B}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Tizerus Charger escapes with your choice of a +1/+1 counter or a flying counter on it. mana={2}{B} type=Creature @@ -87812,6 +88757,22 @@ power=3 toughness=2 [/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=Tocasia's Dig Site auto={T}:Add{C} auto={3}{T}:name(surveil) reveal:1 optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<1>*|reveal) moveto(ownerlibrary) optiontwoend revealend @@ -88531,6 +89492,17 @@ mana={2G}{2G}{2G} type=Sorcery [/card] [card] +name=Tower Worker +abilities=reach +auto={T}:name(Add mana) if type(Mine Worker|mybattlefield)~morethan~0,type(Power Plant Worker|mybattlefield)~morethan~0 then Add{C}{C}{C} else Add{C} +text=Reach -- {T}: Add {C}. If you control creatures named Mine Worker and Power Plant Worker, add {C}{C}{C} instead. +mana={3} +type=Artifact Creature +subtype=Assembly-Worker +power=1 +toughness=3 +[/card] +[card] name=Towering Titan auto={S(creature[defender]|mybattlefield)}:all(creature) trample ueot auto=counter(1/1,toughnesstotalinplay) @@ -89947,7 +90919,7 @@ toughness=3 [card] name=Tyrant of Kher Ridges abilities=flying -auto=damage:4 target(creature,player,planeswalker) +auto=damage:4 target(player,creature,planeswalker) auto={R}:1/0 ueot text=Flying -- When Tyrant of Kher Ridges enters the battlefield, it deals 4 damage to any target. -- {R}: Tyrant of Kher Ridges gets +1/+0 until end of turn. mana={4}{R}{R} @@ -90324,7 +91296,7 @@ toughness=4 [/card] [card] name=Undead Augur -auto=@movedTo(creature[zombie]|graveyard) from(mybattlefield:draw:1 && life:-1 +auto=@movedTo(creature[zombie]|graveyard) from(mybattlefield):draw:1 && life:-1 text=Whenever Undead Augur or another Zombie you control dies, you draw a card and you lose 1 life. mana={B}{B} type=Creature @@ -90698,7 +91670,7 @@ type=Instant [card] name=Unholy Indenture target=creature -auto=@movedTo(mytgt|graveyard) from(battlefield):transforms((,newability[moveTo(mybattlefield)],newability[counter(1/1)])) +auto=@movedTo(mytgt|graveyard) from(battlefield):if cantargetcard(*[-token]|*) then transforms((,newability[moveTo(mybattlefield)],newability[counter(1/1)])) text=Enchant creature -- When enchanted creature dies, return that card to the battlefield under your control with a +1/+1 counter on it. mana={2}{B} type=Enchantment @@ -90988,6 +91960,16 @@ mana={2}{U} type=Instant [/card] [card] +name=Urabrask's Anointer +auto=damage:type:creature[counter{0/0.1.oil}]:mybattlefield target(creature,player) +text=When Urabrask's Anointer enters the battlefield, it deals X damage to any target, where X is the number of permanents you control with oil counters on them. +mana={3}{R} +type=Artifact Creature +subtype=Phyrexian Wizard +power=4 +toughness=2 +[/card] +[card] name=Urban Daggertooth abilities=vigilance auto=_ENRAGE__PROLIFERATE_ @@ -91064,7 +92046,7 @@ auto=life:3 controller && draw:1 controller auto=may name(Put land in play) moveto(mybattlefield) target(land|myhand) auto=_ATTACKING_life:3 controller && draw:1 controller auto=_ATTACKING_may moveto(mybattlefield) target(land|myhand) -retrace={G}{G}{U}{U}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)} name(Escape)) +retrace={G}{G}{U}{U}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)} name(Escape) text=When Uro enters the battlefield, sacrifice it unless it escaped. -- Whenever Uro enters the battlefield or attacks, you gain 3 life and draw a card, then you may put a land card from your hand onto the battlefield. -- Escape-{G}{G}{U}{U}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) mana={1}{G}{U} type=Legendary Creature @@ -91280,7 +92262,7 @@ otherrestriction=can play creature,compare(isflipped)~equalto~1 restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(Nassari, Dean of Expression) autostack=if paid(alternative) then name(Nassari, Dean of Expression) name(Nassari, Dean of Expression) flip(Nassari, Dean of Expression) forcetype(Legendary Creature) -auto=this(variable{isflipped}<1) {T}:name(Exile instant or sorcery) target(*[instant;sorcery]|myhand) moveto(exile) and!( transforms((,newability[counter(0/0.3.hone)],newability[@each my upkeep restriction{compare(hascnthone)~morethan~0}:counter(0/0.-1.hone)],newability[@each my upkeep restriction{compare(hascnthone)~equalto~1}:changecost(colorless:-4)],newability[@each my upkeep restriction{compare(hascnthone)~lessthan~2}:canplayfromexile])) forever +auto=this(variable{isflipped}<1) {T}:name(Exile instant or sorcery) target(*[instant;sorcery]|myhand) moveto(exile) and!( transforms((,newability[counter(0/0.3.hone)],newability[@each my upkeep restriction{compare(hascnthone)~morethan~0}:counter(0/0.-1.hone)],newability[@each my upkeep restriction{compare(hascnthone)~equalto~1}:changecost(colorless:-4)],newability[@each my upkeep restriction{compare(hascnthone)~lessthan~2}:canplayfromexile])) forever )! text={T}: You may exile an instant or sorcery card from your hand and put three hone counters on it. It gains "At the beginning of your upkeep, if this card is exiled, remove a hone counter from it" and "When the last hone counter is removed from this card, if it's exiled, you may cast it. It costs 4 less to cast this way." // {3}{R}{R} Nassari, Dean of Expression mana={2}{U} type=Legendary Creature @@ -91302,7 +92284,7 @@ type=Sorcery [card] name=Vadrik, Astral Archmage auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) -auto=@transformed(*[day;night]|battlefield):name(Put 1/1) counter) counter(1/1) +auto=@transformed(*[day;night]|battlefield):name(Put 1/1 counter) counter(1/1) auto=thisforeach(variable{power}>0) lord(*[instant;sorcery]|mycastingzone) altercost(colorless, -1) text=If it's neither day nor night, it becomes day as Vadrik, Astral Archmage enters the battlefield. -- Instant and sorcery spells you cast cost {X} less to cast, where X is Vadrik's power. -- Whenever day becomes night or night becomes day, put a +1/+1 counter on Vadrik. type=Legendary Creature @@ -91596,8 +92578,8 @@ toughness=2 [card] name=Vampire Socialite abilities=menace -auto=if compare(oplifelost)~morethan~0 then name(All vampires get 1/1 counter) name(All vampires get 1/1 counter) all(other *[vampire]|myBattlefield) counter(1/1) -auto=@movedto(other *[vampire]|mybattlefield) restriction{compare(oplifelost)~morethan~0}:name(Put 1/1 counter) all(trigger[to]) name(Put 1/1 counter) counter(1/1) +auto=if _SPECTACLE_ then name(All vampires get 1/1 counter) name(All vampires get 1/1 counter) all(other *[vampire]|myBattlefield) counter(1/1) +auto=@movedto(other *[vampire]|mybattlefield) restriction{_SPECTACLE_}:name(Put 1/1 counter) all(trigger[to]) name(Put 1/1 counter) counter(1/1) text=Menace (This creature can't be blocked except by two or more creatures.) -- When Vampire Socialite enters the battlefield, if an opponent lost life this turn, put a +1/+1 counter on each other Vampire you control. -- As long as an opponent lost life this turn, each other Vampire you control enters the battlefield with an additional +1/+1 counter on it. type=Creature subtype=Vampire Noble @@ -91960,7 +92942,7 @@ toughness=3 [/card] [card] name=Vedalken Mesmerist -auto=_ATTACKING_target(creature|opponentBattlefield)) -2/-0 ueot +auto=_ATTACKING_target(creature|opponentBattlefield) -2/-0 ueot text=Whenever Vedalken Mesmerist attacks, target creature an opponent controls gets -2/-0 until end of turn. mana={1}{U} type=Creature @@ -92084,7 +93066,7 @@ name=Venarian Gold target=creature auto=counter(0/0,x,Sleep) auto=@each targetController upkeep:counter(0/0,-1,Sleep) -auto=transforms((,newability[tap(noevent)],newability[this(counter{0/0.1.Sleep)}>0) doesnotuntap])) forever +auto=transforms((,newability[tap(noevent)],newability[this(counter{0/0.1.Sleep}>0) doesnotuntap])) forever text=Enchant creature -- When Venarian Gold enters the battlefield, tap enchanted creature and put X sleep counters on it. -- Enchanted creature doesn't untap during its controller's untap step if it has a sleep counter on it. -- At the beginning of the upkeep of enchanted creature's controller, remove a sleep counter from that creature. mana={X}{U}{U} type=Enchantment @@ -92123,6 +93105,17 @@ power=4 toughness=4 [/card] [card] +name=Venerated Rotpriest +abilities=poisontoxic +auto=@targeted(creature|mybattlefield) from(*|myCastingzone):alterpoison:1 target(opponent) +text=Toxic 1 (Players dealt combat damage by this creature also get a poison counter.) -- Whenever a creature you control becomes the target of a spell, target opponent gets a poison counter. +mana={G} +type=Creature +subtype=Phyrexian Druid +power=1 +toughness=2 +[/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 @@ -92751,7 +93744,7 @@ type=Sorcery [/card] [card] name=Viconia, Drow Apostate -abilities=chooseabackground +abilities=backgoundpartner auto=@each my upkeep restriction{type(creature|mygraveyard)~morethan~3}:moverandom(creature) from(mygraveyard) to(myhand) text=At the beginning of your upkeep, if there are four or more creature cards in your graveyard, return a creature card at random from your graveyard to your hand. -- Choose a Background (You can have a Background as a second commander.) mana={2}{B} @@ -92912,6 +93905,23 @@ mana={X}{B}{G}{U} type=Sorcery [/card] [card] +name=Vindictive Flamestoker +auto=@movedTo(*[-creature]|mystack):counter(0/0,1,oil) +auto=this(counter{0/0.1.oil}<1) {6}{R}{S}:reject all(*|myhand) && draw:4 +auto=this(counter{0/0.1.oil}=1) {5}{R}{S}:reject all(*|myhand) && draw:4 +auto=this(counter{0/0.1.oil}=2) {4}{R}{S}:reject all(*|myhand) && draw:4 +auto=this(counter{0/0.1.oil}=3) {3}{R}{S}:reject all(*|myhand) && draw:4 +auto=this(counter{0/0.1.oil}=4) {2}{R}{S}:reject all(*|myhand) && draw:4 +auto=this(counter{0/0.1.oil}=5) {1}{R}{S}:reject all(*|myhand) && draw:4 +auto=this(counter{0/0.1.oil}=6) {R}{S}:reject all(*|myhand) && draw:4 +text=Whenever you cast a noncreature spell, put an oil counter on Vindictive Flamestoker. -- {6}{R}, Sacrifice Vindictive Flamestoker: Discard your hand, then draw four cards. This ability costs {1} less to activate for each oil counter on Vindictive Flamestoker. +mana={R} +type=Creature +subtype=Phyrexian Wizard +power=1 +toughness=2 +[/card] +[card] name=Vindictive Lich auto=_DIES_name(Choose one) name(Choose one) emblem transforms((,newability[choice name(Opponent sacrifices a creature) ability$!name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ opponent],newability[choice name(Opponent discards 2 cards) ability$!name(Discards 2 cards) notatarget(<2>*|myhand) reject!$ opponent],newability[choice name(Opponent looses 5 life) life:-5 opponent])) ueot text=When Vindictive Lich dies, choose one or more. Each mode must target a different player. -- Target opponent sacrifices a creature. -- Target opponent discards two cards. -- Target opponent loses 5 life. @@ -93286,6 +94296,17 @@ power=3 toughness=2 [/card] [card] +name=Vivien's Talent +target=planeswalker +aicode=activate moveto(mylibrary) target(*[creature;land;zpos<=4]|mylibrary) +auto=teach(planeswalker) {C(0/0,1,Loyalty)}:reveal:4 optionone name(Get a card) target(<1>*[creature;land]|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend +auto=teach(planeswalker) @movedto(creature[-token]|mybattlefield):counter(0/0,1,loyalty) +text=Enchant planeswalker -- Enchanted planeswalker has "[+1]: Look at the top four cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in a random order." -- Whenever a nontoken creature enters the battlefield under your control, put a loyalty counter on enchanted planeswalker. +mana={1}{G}{G} +type=Enchantment +subtype=Aura +[/card] +[card] name=Vivisurgeon's Insight auto=draw:3 auto=_PROLIFERATE_ @@ -93553,7 +94574,7 @@ 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. +text=Volcanic Spite deals 3 damage to target creature, planeswalker, or battle. 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] @@ -93584,7 +94605,7 @@ type=Sorcery [/card] [card] name=Voldaren Ambusher -auto=if compare(oplifelost)~morethan~0 then may name(Damage creature or planeswalker) damage:type:vampire:mybattlefield target(creature,planeswalker) +auto=if _SPECTACLE_ then may name(Damage creature or planeswalker) damage:type:vampire:mybattlefield target(creature,planeswalker) text=When Voldaren Ambusher enters the battlefield, if an opponent lost life this turn, it deals X damage to up to one target creature or planeswalker, where X is the number of Vampires you control. mana={2}{R} type=Creature @@ -95701,7 +96722,7 @@ toughness=3 [/card] [card] name=Wilson, Refined Grizzly -abilities=reach,trample,vigilance,nofizzle,chooseabackground +abilities=reach,trample,vigilance,nofizzle,backgoundpartner auto=_WARD_(2) text=This spell can't be countered. -- Vigilance, reach, trample -- Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- Choose a Background (You can have a Background as a second commander.) mana={1}{G} @@ -96337,7 +97358,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}:_SCRY1_ +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. @@ -97988,7 +99009,7 @@ toughness=4 name=Zurzoth, Chaos Rider auto=@drawfoeof(player) restriction{myturnonly} turnlimited:name(Create Devil) token(Devil,Creature Devil,1/1,red) and!( transforms((,newability[@movedto(this|mygraveyard):damage:1 target(*[player;creature;planeswalker])])) forever )! auto=@combat(attacking) source(devil|myBattlefield) turnlimited:name(Draw and discard) draw:1 && discard:1 -auto=@combat(attacking) source(devil|myBattlefield) turnlimited:ability$!name(Draw and discard) name(Draw and discard) draw:1 && discard:1)!$ opponent +auto=@combat(attacking) source(devil|myBattlefield) turnlimited:ability$!name(Draw and discard) name(Draw and discard) draw:1 && discard:1!$ opponent text=Whenever an opponent draws their first card each turn, if it's not their turn, you create a 1/1 red Devil creature token with "When this creature dies, it deals 1 damage to any target." -- Whenever one or more Devils you control attack one or more players, you and those players each draw a card, then discard a card at random. mana={2}{R} type=Legendary Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 52e6e3c30..1297db600 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -176,7 +176,7 @@ toughness=6 [/card] [card] name=Aboroth -auto=cumulativeupcost[{C(-1/-1.1}] sacrifice +auto=cumulativeupcost[{C(-1/-1.1)}] sacrifice text=Cumulative upkeep - Put a -1/-1 counter on Aboroth. (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={4}{G}{G} type=Creature @@ -2427,7 +2427,7 @@ toughness=1 [card] name=Alabaster Potion auto=choice life:X target(player) -auto=choice prevent:X target(creature,player,planeswalker) +auto=choice prevent:X target(player,creature,planeswalker) text=Choose one -- Target player gains X life. -- Prevent the next X damage that would be dealt to any target this turn. mana={X}{W}{W} type=Instant @@ -7323,7 +7323,7 @@ toughness=8 name=Avacyn, Guardian Angel abilities=flying,vigilance auto={1}{W}:name(Prevent white damage) target(other creature) transforms((,newability[preventalldamage from(*[white])] )) ueot -auto={1}{W}:name(Prevent blue damage) target(other creature) transforms((,newability[preventalldamage from(*[blue)])] )) ueot +auto={1}{W}:name(Prevent blue damage) target(other creature) transforms((,newability[preventalldamage from(*[blue])] )) ueot auto={1}{W}:name(Prevent black damage) target(other creature) transforms((,newability[preventalldamage from(*[black])] )) ueot auto={1}{W}:name(Prevent red damage) target(other creature) transforms((,newability[preventalldamage from(*[red])] )) ueot auto={1}{W}:name(Prevent green damage) target(other creature) transforms((,newability[preventalldamage from(*[green])] )) ueot @@ -8813,7 +8813,7 @@ toughness=2 name=Bane of the Living facedown={3} autofacedown={X}{B}{B}:morph -autofaceup=-X/-X all(creature) ueot +autofaceup=all(creature) -X/-X ueot text=Morph {X}{B}{B} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) -- When Bane of the Living is turned face up, all creatures get -X/-X until end of turn. mana={2}{B}{B} type=Creature @@ -10163,7 +10163,7 @@ toughness=3 name=Beckon Apparition target=*|graveyard auto=moveTo(exile) -auto=token(Spirit,Creature Spirit,1/1,white,black,flying) +auto=_AFTERLIFETOKEN_ text=Exile target card from a graveyard. Put a 1/1 white and black Spirit creature token with flying onto the battlefield. mana={WB} type=Instant @@ -11961,7 +11961,7 @@ toughness=3 name=Blizzard restriction=control snow land auto=cumulativeupcost[{2}] sacrifice -auto=lord(creature[flying] doesnotuntap +auto=lord(creature[flying]) doesnotuntap text=Cast Blizzard only if you control a snow land. -- Cumulative upkeep {2} (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.) -- Creatures with flying don't untap during their controllers' untap steps. mana={G}{G} type=Enchantment @@ -21629,7 +21629,7 @@ type=Instant [/card] [card] name=Complex Automaton -auto=@each my upkeep restriction{type(*|myBattlefield)~morethan~6:moveTo(myhand) +auto=@each my upkeep restriction{type(*|myBattlefield)~morethan~6}:moveTo(myhand) text=At the beginning of your upkeep, if you control seven or more permanents, return Complex Automaton to its owner's hand. mana={4} type=Artifact Creature @@ -22152,7 +22152,7 @@ type=Instant [card] name=Consuming Vapors target=player -auto=ability$! notatarget(creature|mybattlefield) dynamicability sacrifice ) !$ targetedplayer +auto=ability$! notatarget(creature|mybattlefield) dynamicability sacrifice !$ targetedplayer auto=_REBOUND_ text=Target player sacrifices a creature. You gain life equal to that creature's toughness. -- 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={3}{B} @@ -27892,7 +27892,7 @@ type=Instant [/card] [card] name=Defender en-Vec -auto={C(0/0,-1,Fade)}:name(Prevent 2 damage) prevent:2 target(player,creature) +auto={C(0/0,-1,Fade)}:name(Prevent 2 damage) prevent:2 target(player,creature,planeswalker) auto=fading:4 text=Fading 4 (This creature enters the battlefield with four fade counters on it. At the beginning of your upkeep, remove a fade counter from it. If you can't, sacrifice it.) -- Remove a fade counter from Defender en-Vec: Prevent the next 2 damage that would be dealt to target creature or player this turn. mana={3}{W} @@ -30706,7 +30706,7 @@ toughness=6 [/card] [card] name=Door of Destinies -auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|mystack)}:counter(0/0.1.Charge)],newability[thisforeach(counter{0/0.1.Charge}) lord(creature[chosentype]|mybattlefield) 1/1])) chooseend +auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|mystack):counter(0/0.1.Charge)],newability[thisforeach(counter{0/0.1.Charge}) lord(creature[chosentype]|mybattlefield) 1/1])) chooseend text=As Door of Destinies enters the battlefield, choose a creature type. -- Whenever you cast a spell of the chosen type, put a charge counter on Door of Destinies. -- Creatures you control of the chosen type get +1/+1 for each charge counter on Door of Destinies. mana={4} type=Artifact @@ -45556,7 +45556,7 @@ toughness=0 name=Ghave, Guru of Spores auto=counter(1/1,5) auto={1}{C(1/1,-1),creature|mybattlefield}:_SAPROLINGTOKEN_ -auto={1}{S(creature|mybattlefield}:counter(1/1) target(creature) +auto={1}{S(creature|mybattlefield)}:counter(1/1) target(creature) text=Ghave, Guru of Spores enters the battlefield with five +1/+1 counters on it. -- {1}, Remove a +1/+1 counter from a creature you control: Put a 1/1 green Saproling creature token onto the battlefield. -- {1}, Sacrifice a creature: Put a +1/+1 counter on target creature. mana={2}{B}{G}{W} type=Legendary Creature @@ -47429,7 +47429,7 @@ toughness=1 [/card] [card] name=Goblin Artillery -auto={T}:damage:2 target(player,creature) && damage:3 controller +auto={T}:damage:2 target(player,creature,planeswalker) && damage:3 controller text={T}: Goblin Artillery deals 2 damage to target creature or player and 3 damage to you. mana={1}{R}{R} type=Creature @@ -48173,7 +48173,7 @@ toughness=2 [card] name=Goblin Ringleader abilities=haste -aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-goblin]|*) then bottomoflibrary))! +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-goblin]|*) then bottomoflibrary)! auto=reveal:4 optionone name(Get Goblin) target(<4>Goblin|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Haste -- When Goblin Ringleader enters the battlefield, reveal the top four cards of your library. Put all Goblin cards revealed this way into your hand and the rest on the bottom of your library. mana={3}{R} @@ -49550,7 +49550,7 @@ toughness=2 [card] name=Grave Strength target=creature -auto=deplete:3 +auto=deplete:3 controller auto=foreach(creature|mygraveyard) counter(1/1) text=Choose target creature. Put the top three cards of your library into your graveyard, then put a +1/+1 counter on that creature for each creature card in your graveyard. mana={1}{B} @@ -63446,7 +63446,8 @@ toughness=4 [/card] [card] name=Kjeldoran Gargoyle -auto=flying,first strike,spiritlink +auto=flying,first strike +auto=spiritlink text=Flying, first strike -- Whenever Kjeldoran Gargoyle deals damage, you gain that much life. mana={5}{W} type=Creature @@ -67665,14 +67666,14 @@ subtype=Aura [/card] [card] name=Living Death -auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[(moveto(battlefield)])))! oneshot +auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[moveto(battlefield)])))! oneshot text=Each player exiles all creature cards from his or her graveyard, then sacrifices all creatures he or she controls, then puts all cards he or she exiled this way onto the battlefield. mana={3}{B}{B} type=Sorcery [/card] [card] name=Living End -auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[(moveto(battlefield)])))! oneshot +auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[moveto(battlefield)])))! oneshot text=Living End is black. -- Suspend 3 - {2}{B}{B} (Rather than cast this card from your hand, pay {2}{B}{B} 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.) -- Each player exiles all creature cards from his or her graveyard, then sacrifices all creatures he or she controls, then puts all cards he or she exiled this way onto the battlefield. mana={0} color=black @@ -68370,7 +68371,7 @@ toughness=4 [/card] [card] name=Lore Broker -auto={T}:name(draw & discard) draw:1 all(player) && transforms((,newability[ability$!notatarget(*|myhand) reject)!$ controller],newability[ability$!notatarget(*|myhand) reject)!$ opponent])) all(this) +auto={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}: Each player draws a card, then discards a card. mana={1}{U} type=Creature @@ -71682,7 +71683,7 @@ subtype=Equipment [card] name=Mask of the Mimic target=creature[-token] -auto=transforms((,newability[moveTo(myBattlefield) target(creature[share!name!|mylibrary)])) ueot +auto=transforms((,newability[moveTo(myBattlefield) target(creature[share!name!]|mylibrary)])) ueot text=As an additional cost to cast Mask of the Mimic, sacrifice a creature. -- Search your library for a card with the same name as target nontoken creature and put that card onto the battlefield. Then shuffle your library. mana={U}{S(creature|mybattlefield)} type=Instant @@ -78421,7 +78422,7 @@ type=Sorcery [card] name=Natural Selection target=player -aicode=name(look) activate name(look) target(<3>*[zpos<=3]]|targetedpersonslibrary) moveto(ownerlibrary) +aicode=name(look) activate name(look) target(<3>*[zpos<=3]|targetedpersonslibrary) moveto(ownerlibrary) auto=name(Look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed may shuffle targetedplayer afterrevealedend revealend text=Look at the top three cards of target player's library and put them back in any order. You may have that player shuffle his or her library. mana={G} @@ -80363,7 +80364,7 @@ toughness=2 [/card] [card] name=Nivmagus Elemental -auto={e(*[instant;sorcery]|mystack}:counter(1/1,2) +auto={e(*[instant;sorcery]|mystack)}:counter(1/1,2) text=Exile an instant or sorcery spell you control: Put two +1/+1 counters on Nivmagus Elemental. (That spell won't resolve.) other={convoke} name(Convoke) mana={UR} @@ -84830,7 +84831,7 @@ toughness=7 [card] name=Patron of the Valiant abilities=flying -auto=choice all(creature[counter{1/1}|mybattlefield) counter(1/1) +auto=choice all(creature[counter{1/1}]|mybattlefield) counter(1/1) text=Flying -- When Patron of the Valiant enters the battlefield, put a +1/+1 counter on each creature you control with a +1/+1 counter on it. mana={3}{W}{W} type=Creature @@ -86652,7 +86653,7 @@ toughness=2 name=Pick the Brain target=opponent aicode=activate notatarget(*[-land]|targetedpersonshand) moveto(exile) and!( if delirium then transforms((,newability[moveTo(exile) all(*[share!name!]|mygraveyard)],newability[moveTo(exile) all(*[share!name!]|myhand)],newability[moveTo(exile) and!(shuffle)! all(*[share!name!]|mylibrary)])) oneshot )! -auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) target(*[-land]|reveal) moveto(exile) and!( if delirium then transforms((,newability[all(*[share!name!]|mygraveyard) moveto(exile)],newability[all(*[share!name!]|myhand) moveto(exile)],newability[all(*[share!name!]|mylibrary) moveto(exile) and!(shuffle)!]))) oneshot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend +auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) target(*[-land]|reveal) moveto(exile) and!( if delirium then transforms((,newability[all(*[share!name!]|mygraveyard) moveto(exile)],newability[all(*[share!name!]|myhand) moveto(exile)],newability[all(*[share!name!]|mylibrary) moveto(exile) and!(shuffle)!])) oneshot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend text=Target opponent reveals his or her hand. You choose a nonland card from it and exile that card. -- Delirium -- If there are four or more card types among cards in your graveyard, search that player's graveyard, hand, and library for any number of cards with the same name as the exiled card, exile those cards, then that player shuffles his or her library. mana={2}{B} type=Sorcery @@ -87097,7 +87098,7 @@ toughness=1 [card] name=Plagiarize target=opponent -auto=emblem transforms((,newability[opponentreplacedraw draw:1 noreplace)) ueot +auto=emblem transforms((,newability[opponentreplacedraw draw:1 noreplace])) ueot text=Until end of turn, if target player would draw a card, instead that player skips that draw and you draw a card. mana={3}{U} type=Instant @@ -87320,7 +87321,7 @@ type=Artifact [/card] [card] name=Planar Guide -auto={3}{W}{E}:(blink)ueot all(creature) +auto={3}{W}{E}:all(creature) transforms((,newability[moveto(exile)],newability[if cantargetcard(*[-token]|*) then phaseactionmulti[endofturn once] moveto(ownerbattlefield)])) text={3}{W}, Exile Planar Guide: Exile all creatures. At the beginning of the next end step, return those cards to the battlefield under their owners' control. mana={W} type=Creature @@ -92742,7 +92743,7 @@ toughness=2 name=Realm Seekers auto=counter(1/1,type:*:hand) aicode=activate target(land|mylibrary) moveto(myhand) -auto={1}{C(1/1,-1)}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land|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={2}{G}{C(1/1,-1)}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land|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=Realm Seekers enters the battlefield with X +1/+1 counters on it, where X is the total number of cards in all players' hands. -- {2}{G}, Remove a +1/+1 counter from Realm Seekers: Search your library for a land card, reveal it, put it into your hand, then shuffle your library. mana={4}{G}{G} type=Creature @@ -94976,7 +94977,7 @@ type=Instant [/card] [card] name=Rewards of Diversity -auto=@movedTo(*[multicolor]|opponentstack:life:4 controller +auto=@movedTo(*[multicolor]|opponentstack):life:4 controller text=Whenever an opponent casts a multicolored spell, you gain 4 life. mana={2}{W} type=Enchantment @@ -95158,7 +95159,7 @@ subtype=Arcane [card] name=Riddle of Lightning aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[name(Damage creature or player) target(player^creature) damage:manacost])) oneshot])) oneshot -auto=scry:3 scrycore delayed target(player,creature) damage:revealedmana scrycoreend scryend +auto=scry:3 scrycore delayed target(player,creature,planeswalker) damage:revealedmana scrycoreend scryend text=Choose target creature or player. Scry 3, then reveal the top card of your library. Riddle of Lightning deals damage equal to that card's mana value to that creature or player. (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={3}{R}{R} type=Instant @@ -96108,7 +96109,7 @@ toughness=5 name=Rix Maadi Guildmage auto={B}{R}:name(target creature -1/-1) target(creature[blocking]) -1/-1 ueot auto={B}{R}:name(target controller life -1) target(controller) life:-1 restriction{compare(lifelost)~morethan~0} -auto={B}{R}:name(target opponent life -1) target(opponent) life:-1 restriction{compare(oplifelost)~morethan~0} +auto={B}{R}:name(target opponent life -1) target(opponent) life:-1 restriction{_SPECTACLE_} text={B}{R}: Target blocking creature gets -1/-1 until end of turn. -- {B}{R}: Target player who lost life this turn loses 1 life. mana={B}{R} type=Creature @@ -100501,7 +100502,7 @@ toughness=4 [/card] [card] name=Scrap Mastery -auto=all(artifact|battlefield) becomes(scraptemp) && all(artifact|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(scraptemp)],newability[(moveto(battlefield)])))! oneshot +auto=all(artifact|battlefield) becomes(scraptemp) && all(artifact|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(scraptemp)],newability[moveto(battlefield)])))! oneshot text=Each player exiles all artifact cards from his or her graveyard, then sacrifices all artifacts he or she controls, then puts all cards he or she exiled this way onto the battlefield. mana={3}{R}{R} type=Sorcery @@ -103630,7 +103631,7 @@ type=Sorcery [/card] [card] name=Shattered Perception -auto=all(*|myhand) transforms((,newability[draw:1],newability[reject])])) +auto=all(*|myhand) transforms((,newability[draw:1],newability[reject])) flashback={5}{R} text=Discard all the cards in your hand, then draw that many card. -- Flashback {5}{R} mana={2}{R} @@ -104427,7 +104428,7 @@ toughness=1 [/card] [card] name=Shock -target=creature,player +target=player,creature,planeswalker auto=Damage:2 text=Shock deals 2 damage to target creature or player. mana={R} @@ -109016,7 +109017,7 @@ toughness=1 [card] name=Soldier of the Pantheon auto=protection from(*[multicolor]) -auto=@movedTo(*[multicolor]|opponentstack:life:1 controller +auto=@movedTo(*[multicolor]|opponentstack):life:1 controller text=Protection from multicolored. -- Whenever an opponent casts a multicolored spell, you gain 1 life. mana={W} type=Creature @@ -109507,7 +109508,7 @@ toughness=2 [card] name=Soratami Seer abilities=flying -auto={4}{H(land|mybattlefield)}{H(land|mybattlefield)}:all(*|myhand) transforms((,newability[draw:1],newability[reject])])) +auto={4}{H(land|mybattlefield)}{H(land|mybattlefield)}:all(*|myhand) transforms((,newability[draw:1],newability[reject])) text=Flying -- {4}, Return two lands you control to their owner's hand: Discard all the cards in your hand, then draw that many cards. mana={4}{U} type=Creature @@ -113871,7 +113872,7 @@ subtype=Aura name=Stonehewer Giant abilities=vigilance aicode=activate moveTo(myBattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)! target(equipment|myLibrary) -auto={1}{W}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(equipment|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!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)! afterrevealedend revealend +auto={1}{W}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(equipment|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!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)!)! afterrevealedend revealend text=Vigilance -- {1}{W}, {T}: Search your library for an Equipment card and put it onto the battlefield. Attach it to a creature you control. Then shuffle your library. mana={3}{W}{W} type=Creature @@ -118383,8 +118384,8 @@ type=Artifact [/card] [card] name=Teferi's Realm -auto=@each my upkeep:ability$!choice name(artifact) phaseout all(artifact) _ choice name(creature) phaseout all(creature) _ choice name(land) phaseout all(land) _ choice name(non-aura enchantment) phaseout all(enchantment[aura]) !$ controller -auto=@each opponent upkeep:ability$!choice name(artifact) phaseout all(artifact) _ choice name(creature) phaseout all(creature) _ choice name(land) phaseout all(land) _ choice name(non-aura enchantment) phaseout all(enchantment[aura]) !$ opponent +auto=@each my upkeep:ability$!choice name(artifact) phaseout all(artifact) _ choice name(creature) phaseout all(creature) _ choice name(land) phaseout all(land) _ choice name(non-aura enchantment) phaseout all(enchantment[-aura]) !$ controller +auto=@each opponent upkeep:ability$!choice name(artifact) phaseout all(artifact) _ choice name(creature) phaseout all(creature) _ choice name(land) phaseout all(land) _ choice name(non-aura enchantment) phaseout all(enchantment[-aura]) !$ opponent auto=@movedTo(other enchantment[world]|battlefield):sacrifice all(this) text=At the beginning of each player's upkeep, that player chooses artifact, creature, land, or non-Aura enchantment. All nontoken permanents of that type phase out. (While they're phased out, they're treated as though they don't exist. Each one phases in before its controller untaps during his or her next untap step.) mana={1}{U}{U} @@ -119435,7 +119436,7 @@ toughness=3 name=Teysa, Envoy of Ghosts abilities=Vigilance auto=protection from(creature) -auto=@combatdamaged(player) from(creature|opponentBattlefield):all(trigger[from]) destroy && token(Spirit,Creature Spirit,1/1,white,black,flying) +auto=@combatdamaged(player) from(creature|opponentBattlefield):all(trigger[from]) destroy && _AFTERLIFETOKEN_ text=Vigilance, protection from creatures -- Whenever a creature deals combat damage to you, destroy that creature. Create a 1/1 white and black Spirit creature token with flying. mana={5}{W}{B} type=Legendary Creature @@ -120523,7 +120524,7 @@ toughness=1 [/card] [card] name=Thoughtflare -auto=name(draw & discard) ability$!draw:4 _ choice notatarget(<2>*|myhand) reject)!$ controller +auto=name(draw & discard) ability$!draw:4 _ choice notatarget(<2>*|myhand) reject!$ controller text=Draw four cards, then discard two cards. mana={3}{U}{R} type=Instant @@ -120556,7 +120557,7 @@ type=Enchantment [card] name=Thoughtpicker Witch aicode=activate transforms((,newability[choice all(*[zpos=2]|targetedpersonslibrary) moveto(exile)],newability[choice all(*[zpos=1]|targetedpersonslibrary) moveto(exile)])) ueot -auto={1}{s(creature|mybattlefield}:target(opponent) reveal:2 optionone name(Put in exile) target(*|reveal) moveto(ownerexile) optiononeend optiontwo name(put back) all(*|reveal) moveto(ownerlibrary) optiontwoend revealend +auto={1}{s(creature|mybattlefield)}:target(opponent) reveal:2 optionone name(Put in exile) target(*|reveal) moveto(ownerexile) optiononeend optiontwo name(put back) all(*|reveal) moveto(ownerlibrary) optiontwoend revealend text={1}, Sacrifice a creature: Look at the top two cards of target opponent's library, then exile one of them. mana={B} type=Creature @@ -123472,7 +123473,7 @@ type=Instant [card] name=Trap Digger auto={2}{w}{t}:counter(0/0,1,Trap) target(land|mybattlefield) -auto={s(land[counter(0/0.1.Trap)]|mybattlefield}:damage:3 target(creature[attacking;-flying]) +auto={s(land[counter(0/0.1.Trap)]|mybattlefield)}:damage:3 target(creature[attacking;-flying]) text={2}{W}, {T}: Put a trap counter on target land you control. -- Sacrifice a land with a trap counter on it: Trap Digger deals 3 damage to target attacking creature without flying. mana={3}{W} type=Creature @@ -123711,7 +123712,8 @@ toughness=2 [/card] [card] name=Treasure Hunt -auto=Reveal:1 revealzone(mylibrary) revealuntil(*[-land]|mylibrary) optionone choice name(Get Cards) target(*|reveal) all(*|reveal) moveto(myhand) optiononeend revealend +aicode=activate transforms((,newability[all(*[zpos<=findfirsttypenonland]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot +auto=Reveal:1 revealzone(mylibrary) revealuntil(*[-land]|mylibrary) optionone all(*|reveal) moveto(myhand) optiononeend revealend text=Reveal cards from the top of your library until you reveal a nonland card, then put all cards revealed this way into your hand. mana={1}{U} type=Sorcery @@ -125077,7 +125079,7 @@ type=Instant [card] name=Twisted Justice target=player -auto=ability$! notatarget(creature|mybattlefield) dynamicability sacrifice ) !$ targetedplayer +auto=ability$! notatarget(creature|mybattlefield) dynamicability sacrifice !$ targetedplayer text=Target player sacrifices a creature. You draw cards equal to that creature's power. mana={4}{U}{B} type=Sorcery @@ -126801,7 +126803,7 @@ type=Artifact [/card] [card] name=Urza's Guilt -auto=draw:2 all(player) && transforms((,newability[ability$! choice name(lose 4 life) all(player) life:-4!$ controller],newability[ability$!notatarget(<3>*|myhand) reject)!$ controller],newability[ability$!notatarget(<3>*|myhand) reject)!$ opponent])) all(this) +auto=draw:2 all(player) && transforms((,newability[ability$! choice name(lose 4 life) all(player) life:-4!$ controller],newability[ability$!notatarget(<3>*|myhand) reject!$ controller],newability[ability$!notatarget(<3>*|myhand) reject!$ opponent])) all(this) text=Each player draws two cards, then discards three cards, then loses 4 life. mana={2}{U}{B} type=Sorcery diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 134e510f9..5e8dc727a 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -783,7 +783,7 @@ name=Dovin, Grand Arbiter auto=counter(0/0,3,loyalty) aicode=activate target(*[zpos<=10]|mylibrary) moveto(myhand) auto={C(0/0,1,Loyalty)}:name(+1: Whenever a creature combat damage, put loyalty counter) all(creature|myBattlefield) transforms((,newability[@combatdamaged(player) from(this):counter(0/0,1,Loyalty) notAtarget(Dovin^ Grand Arbiter|myBattlefield)])) ueot oneshot -auto={C(0/0,-1,Loyalty)}:name(-1: Create a 1/1 Thopter and gain 1 life) token(Thopter,Artifact Creature Thopter,1/1,flying) && life:1 controller +auto={C(0/0,-1,Loyalty)}:name(-1: Create a 1/1 Thopter and gain 1 life) _THOPTERTOKEN_ && life:1 controller auto={C(0/0,-7,Loyalty)}:name(-7: Look at the top ten and put three in your hand) name(Look ten cards from top of your Library) reveal:10 optionone name(Get three cards) target(<3>*|reveal) moveto(hand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text=+1: Until end of turn, whenever a creature you control deals combat damage to a player, put a loyalty counter on Dovin, Grand Arbiter. -- −1: Create a 1/1 colorless Thopter artifact creature token with flying. You gain 1 life. -- −7: Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order. mana={1}{W}{U} @@ -1943,7 +1943,7 @@ 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 auto={C(0/0,-2,Loyalty)}:name(-2: Create Dog Illusion) token(Dog Mor) -auto={C(0/0,-10,Loyalty)}:name(-10: Exchange hand and library) token(Mordenkainen Emblem,Emblem,0/0,shroud,indestructible,notrigger) and!( transforms((,newability[nomaxhand],newability[all(*|myhand) moveto(myreveal) and!( all(*|mylibrary) moveto(myhand) and!( all(*|myreveal) moveto(mylibrary) and!( shuffle )! )! )!])) forever +auto={C(0/0,-10,Loyalty)}:name(-10: Exchange hand and library) token(Mordenkainen Emblem,Emblem,0/0,shroud,indestructible,notrigger) and!( transforms((,newability[nomaxhand],newability[all(*|myhand) moveto(myreveal) and!( all(*|mylibrary) moveto(myhand) and!( all(*|myreveal) moveto(mylibrary) )! )!])) forever )! text=+2: Draw two cards, then put a card from your hand on the bottom of your library. -- -2: Create a blue Dog Illusion creature token with "This creature's power and toughness are each equal to twice the number of cards in your hand." -- -10: Exchange your hand and library, then shuffle. You get an emblem with "You have no maximum hand size." mana={4}{U}{U} type=Legendary Planeswalker @@ -2203,7 +2203,7 @@ aicode=activate transforms((,newability[if type(creature[manacost<=hascntloyalty 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 +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 auto={C(0/0,-6,Loyalty)}:name(-6: Two lands become creatures 5/5 with flying) target(land|mybattlefield) transforms((Creature Elemental,setpower=5,settoughness=5,newability[haste],newability[flying],newability[untap])) ueot text=+2: Scry 2. -- 0: Look at the top card of your library. If it's a land card or a creature card with mana value less than or equal to the number of loyalty counters on Nissa, Steward of Elements, you may put that card onto the battlefield. -- -6: Untap up to two target lands you control. They become 5/5 Elemental creatures with flying and haste until end of turn. They're still lands. mana={X}{G}{U} @@ -2272,7 +2272,7 @@ subtype=Nissa name=Ob Nixilis of the Black Oath 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: Each opponent loses 1 life...) lifeleech:-1 opponent 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 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. @@ -2890,7 +2890,7 @@ subtype=Tezzeret [card] name=Tezzeret, Artifice Master auto=counter(0/0,5,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 Thopter) token(Thopter,Artifact Creature Thopter,1/1,flying) +auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 Thopter) _THOPTERTOKEN_ auto={C(0/0,0,Loyalty)}:name(+0: Draw a card or two) if type(artifact|myBattlefield)~morethan~2 then draw:2 controller else draw:1 controller auto={C(0/0,-9,Loyalty)}:name(-9: Emblem: Each end of turn search a permanent) emblem transforms((,newability[@each my endofturn:moveTo(myBattlefield) target(*[-instant;-sorcery]|myLibrary) && shuffle controller])) forever dontremove text=+1: Create a 1/1 colorless Thopter artifact creature token with flying. -- 0: Draw a card. If you control three or more artifacts, draw two cards instead. -- −9: You get an emblem with "At the beginning of your end step, search your library for a permanent card, put it onto the battlefield, then shuffle your library." @@ -3101,7 +3101,7 @@ subtype=Ugin [card] name=Ugin, the Spirit Dragon auto=counter(0/0,7,loyalty) -auto={C(0/0,2,Loyalty)}:name(+2: Deals 3 damage to target creature or player) damage:3 target(player,creature) +auto={C(0/0,2,Loyalty)}:name(+2: Deals 3 damage to target creature or player) damage:3 target(player,creature,planeswalker) auto={C(0/0,-0,Loyalty)}:name(-0: Exile each permanent with mana cost 0) moveto(exile) all(*[white;blue;black;red;green;manacost<=0]) auto={C(0/0,-1,Loyalty)}:name(-1: Exile each permanent with mana cost 1) moveto(exile) all(*[white;blue;black;red;green;manacost<=1]) auto={C(0/0,-2,Loyalty)}:name(-2: Exile each permanent with mana cost 2) moveto(exile) all(*[white;blue;black;red;green;manacost<=2]) diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 1c81fe634..dacbd8016 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -2,7 +2,7 @@ grade=unsupported #The cards in this file are not implemented/incomplete yet. #Updated Card lists not in primitives (Borderline, Crappy, Unsupported and Missing Cards) #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#I sorted this programatically - Vitty85 21-12-2021 +#I sorted this programatically - Vitty85 10-05-2023 [card] name="Ach! Hans, Run!" text=At the beginning of your upkeep, you may say "Ach Hans, run It's the . . ." and name a creature card. If you do, search your library for the named card, put it into play, then shuffle your library. That creature has haste. Remove it from the game at end of turn. @@ -28,30 +28,6 @@ text=When you set this scheme in motion, until your next turn, whenever a player type=Scheme [/card] [card] -name=Aether Searcher -text=Reveal Aether Searcher as you draft it. Reveal the next card you draft and note its name. -- When Aether Searcher enters the battlefield, you may search your hand and/or library for a card with a name noted as you drafted cards named Aether Searcher. You may cast it without paying its mana cost. If you searched your library this way, shuffle it. -mana={7} -type=Artifact Creature -subtype=Construct -power=6 -toughness=4 -[/card] -[card] -name=Aetherplasm -text=Whenever Aetherplasm blocks a creature, you may return Aetherplasm to its owner's hand. If you do, you may put a creature card from your hand onto the battlefield blocking that creature. -mana={2}{U}{U} -type=Creature -subtype=Illusion -power=1 -toughness=1 -[/card] -[card] -name=Aethersnatch -text=Gain control of target spell. You may choose new targets for it. (If that spell becomes a permanent, it enters the battlefield under your control.) -mana={4}{U}{U} -type=Instant -[/card] -[card] name=AWOL text=Remove target attacking creature from the game. Then remove it from the removed-from-game zone and put it into the absolutely-removed-from-the-freaking-game-forever zone. mana={2}{W} @@ -161,6 +137,30 @@ mana={B} type=Instant [/card] [card] +name=Aether Searcher +text=Reveal Aether Searcher as you draft it. Reveal the next card you draft and note its name. -- When Aether Searcher enters the battlefield, you may search your hand and/or library for a card with a name noted as you drafted cards named Aether Searcher. You may cast it without paying its mana cost. If you searched your library this way, shuffle it. +mana={7} +type=Artifact Creature +subtype=Construct +power=6 +toughness=4 +[/card] +[card] +name=Aetherplasm +text=Whenever Aetherplasm blocks a creature, you may return Aetherplasm to its owner's hand. If you do, you may put a creature card from your hand onto the battlefield blocking that creature. +mana={2}{U}{U} +type=Creature +subtype=Illusion +power=1 +toughness=1 +[/card] +[card] +name=Aethersnatch +text=Gain control of target spell. You may choose new targets for it. (If that spell becomes a permanent, it enters the battlefield under your control.) +mana={4}{U}{U} +type=Instant +[/card] +[card] name=Agent of Acquisitions text=Draft Agent of Acquisitions face up. -- Instead of drafting a card from a booster pack, you may draft each card in that booster pack, one at a time. If you do, turn Agent of Acquisitions face down and you can't draft cards for the rest of this draft round. (You may look at booster packs passed to you.) mana={2} @@ -755,6 +755,14 @@ type=Artifact subtype=Contraption [/card] [card] +name=Begin the Invasion +search your library for up x battle cards with different names, put them onto the battlefield && shuffle +auto=Search your library for up to X battle cards with different names put them onto the battlefield then shuffle +text=Search your library for up to X battle cards with different names, put them onto the battlefield, then shuffle. +mana={X}{W}{U}{B}{R}{G} +type=Sorcery +[/card] +[card] name=Behold the Power of Destruction text=When you set this scheme in motion, destroy all nonland permanents target opponent controls. type=Scheme @@ -880,6 +888,17 @@ type=Instant subtype=Arcane [/card] [card] +name=Blight Titan +abilities=deathtouch +auto=@ or attacksdeplete:2 && incubate x, where x is the number of creature cards in your graveyard +text=Deathtouch -- Whenever Blight Titan enters the battlefield or attacks, mill two cards, then incubate X, where X is the number of creature cards in your graveyard. (Create an Incubator token with X +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) +mana={4}{B}{B} +type=Creature +subtype=Phyrexian Giant +power=6 +toughness=6 +[/card] +[card] name=Blim, Comedic Genius text=Flying -- Whenever Blim, Comedic Genius deals combat damage to a player, that player gains control of target permanent you control. Then each player loses life and discards cards equal to the number of permanents they control but don't own. mana={2}{B}{R} @@ -1072,6 +1091,17 @@ mana={1}{R} type=Instant [/card] [card] +name=Bright-Palm, Soul Awakener +auto=cantbeblockedby(creature[power<=2]) +auto=@this creature attacksdouble the number of counter(1/1)starget(creature that creature unblockable by creature with power 2,less this turn +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 attacks, double the number of +1/+1 counters on target creature. That creature can't be blocked by creatures with power 2 or less this turn. +mana={1}{R}{G}{W} +type=Legendary Creature +subtype=Fox Shaman +power=4 +toughness=3 +[/card] +[card] name=Brilliant Ultimatum text=Exile the top five cards of your library. An opponent separates those cards into two piles. You may play any number of cards from one of those piles without paying their mana costs. mana={W}{W}{U}{U}{U}{B}{B} @@ -1823,6 +1853,18 @@ mana={2}{U}{U} type=Enchantment [/card] [card] +name=Conclave Sledge-Captain +abilities=trample +auto=@combatdamaged(player) from(this): +auto=@this creature deals combat damage to a playerput that many counter(1/1)sit +text=Backup 1, backup 1, 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. Each backup ability triggers separately.) -- Trample -- Whenever this creature deals combat damage to a player, put that many +1/+1 counters on it. +mana={5}{G} +type=Creature +subtype=Elephant Soldier +power=4 +toughness=4 +[/card] +[card] name=Confusion in the Ranks text=Whenever an artifact, creature, or enchantment enters the battlefield, its controller chooses target permanent another player controls that shares a card type with it. Exchange control of those permanents. mana={3}{R}{R} @@ -2083,6 +2125,17 @@ power=3 toughness=3 [/card] [card] +name=Cutthroat Negotiator +auto=Parley ? _ATTACKING_token(Treasure,Artifact Treasure) and!( transforms((,newability[{T}{S}:Add{W}])(,newability[{T}{S}:Add{R}])(,newability[{T}{S}:Add{G}])(,newability[{T}{S}:Add{U}])(,newability[{T}{S}:Add{B}])) forever )! +auto=foreach(|myBattlefield) +text=Parley ? Whenever Cutthroat Negotiator attacks, each player reveals the top card of their library. For each nonland card revealed this way, you create a tapped Treasure token. Then each player draws a card. +mana={2}{U}{R} +type=Creature +subtype=Orc Pirate +power=4 +toughness=3 +[/card] +[card] name=Dakra Mystic text={U}, {T}: Each player reveals the top card of his or her library. You may put the revealed cards into their owners' graveyards. If you don't, each player draws a card. mana={U} @@ -2111,6 +2164,15 @@ mana={2} type=Artifact [/card] [card] +name=Dance with Calamity +shuffle your library as many times as you choose, may exile the top card of your library if the total mana value of the cards exiled this way is 13,less, may cast any number of spells from among those cards without paying their mana costs +auto=moveto(exile) +auto=Shuffle your library As many times as you choose you may exile the top card of your library If the total mana value of the cards exiled this way13 or less you may cast any number of spells from among those cards without paying their mana costs +text=Shuffle your library. As many times as you choose, you may exile the top card of your library. If the total mana value of the cards exiled this way is 13 or less, you may cast any number of spells from among those cards without paying their mana costs. +mana={7}{R} +type=Sorcery +[/card] +[card] name=Dance, Pathetic Marionette text=When you set this scheme in motion, each opponent reveals cards from the top of his or her library until he or she reveals a creature card. Choose one of the revealed creature cards and put it onto the battlefield under your control. Put all other cards revealed this way into their owners' graveyards. type=Scheme @@ -2619,12 +2681,6 @@ power=3{1/2} toughness=2 [/card] [card] -name=Duplication Device -text=Whenever you crank Duplication Device, until end of turn, target creature becomes a copy of any creature on the battlefield, except it's an artifact in addition to its other types. -type=Artifact -subtype=Contraption -[/card] -[card] name=Dungeon Master auto=counter(0/0,1,loyalty) text=+1: Target opponent creates a 1/1 black Skeleton creature token with "When this creature dies, each opponent gains 2 life." -- +1: Roll a d20. If you roll a 1, skip your next turn. If you roll a 12 or higher, draw a card. -- -6: You get an adventuring party. (Your party is a 3/3 red Fighter with first strike, a 1/1 white Cleric with lifelink, a 2/2 black Rogue with hexproof, and a 1/1 blue Wizard with flying.) -- Loyalty: 1d4+1 @@ -2633,6 +2689,12 @@ type=Legendary Planeswalker subtype=Dungeon Master [/card] [card] +name=Duplication Device +text=Whenever you crank Duplication Device, until end of turn, target creature becomes a copy of any creature on the battlefield, except it's an artifact in addition to its other types. +type=Artifact +subtype=Contraption +[/card] +[card] name=Duplicity text=When Duplicity enters the battlefield, exile the top five cards of your library face down. -- At the beginning of your upkeep, you may exile all cards from your hand face down. If you do, put all other cards you own exiled with Duplicity into your hand. -- At the beginning of your end step, discard a card. -- When you lose control of Duplicity, put all cards exiled with Duplicity into their owner's graveyard. mana={3}{U}{U} @@ -2699,6 +2761,19 @@ type=Enchantment subtype=Aura [/card] [card] +name=Elenda and Azor +abilities=flying +auto=Flying_WARD_(2) +auto=_ATTACKING_may pay( {x}{w}{u}{b} draw x cards +auto=@each endofturn:create(1/1 black vampire knight:creature 1/1 black vampire knight:number:of:lifelink equal to the number of cards you've drawn this turn) +text=Flying, ward {2} -- Whenever Elenda and Azor attacks, you may pay {X}{W}{U}{B}. If you do, draw X cards. -- At the beginning of each end step, you may pay 4 life. If you do, create a number of 1/1 black Vampire Knight creature tokens with lifelink equal to the number of cards you've drawn this turn. +mana={3}{W}{U}{B} +type=Legendary Creature +subtype=Vampire Knight Sphinx +power=6 +toughness=6 +[/card] +[card] name=Elkin Lair text=At the beginning of each player's upkeep, that player exiles a card at random from his or her hand. The player may play that card this turn. At the beginning of the next end step, if the player hasn't played the card, he or she puts it into his or her graveyard. mana={3}{R} @@ -2711,6 +2786,19 @@ type=Plane subtype=Shandalar [/card] [card] +name=Elspeth's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[+1]: Create three 1/1 white Soldier creature tokens" +auto=teach(creature) Whenever you activateloyalty ability of enchanted planeswalker creatures you control get +2/+2 +auto=teach(creature) gain vigilance +text=Enchant planeswalker -- Enchanted planeswalker has "[+1]: Create three 1/1 white Soldier creature tokens." -- Whenever you activate a loyalty ability of enchanted planeswalker, creatures you control get +2/+2 and gain vigilance until end of turn. +mana={2}{W}{W} +type=Enchantment +subtype=Aura +[/card] +[card] name=Elvish House Party text=Elvish House Party's power and toughness are each equal to the current hour, using the twelve-hour system. mana={4}{G}{G} @@ -2752,6 +2840,16 @@ power=0 toughness=1 [/card] [card] +name=Emergent Woodwurm +auto=@this creature attackslook at the top x cards of your library, where x is its power may permanent card with mana value x,less from among them onmoveTo(mybattlefield) put the restthe bottom of your library in a random order +text=Backup 3 (When this creature enters the battlefield, put three +1/+1 counters on target creature. If that's another creature, it gains the following ability until end of turn.) -- Whenever this creature attacks, look at the top X cards of your library, where X is its power. You may put a permanent card with mana value X or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order. +mana={6}{G} +type=Creature +subtype=Wurm +power=4 +toughness=4 +[/card] +[card] name=Emissary of Grudges text=Flying, haste -- As Emissary of Grudges enters the battlefield, secretly choose an opponent. -- Reveal the player you chose: Choose new targets for target spell or ability if it's controlled by the chosen player and if it targets you or a permanent you control. Activate this ability only once. mana={5}{R} @@ -2788,6 +2886,14 @@ mana={3}{U}{U} type=Enchantment [/card] [card] +name=Enigma Ridges +auto=@chaos ensuesdraw:1 && may land card from your hand onmoveTo(mybattlefield) +text=When you planeswalk to Enigma Ridges, each player who controls fewer lands than the player who controls the most lands searches their library for a number of basic land cards less than or equal to the difference, reveals them, puts them into their hand, then shuffles. -- Whenever chaos ensues, draw a card, then you may put a land card from your hand onto the battlefield. +mana=null +type=Plane +subtype=Echoir +[/card] +[card] name=Enraging Licid text={R}, {T}: Enraging Licid loses this ability and becomes an Aura enchantment with enchant creature. Attach it to target creature. You may pay {R} to end this effect. -- Enchanted creature has haste. mana={1}{R} @@ -2895,6 +3001,15 @@ mana={X}{U} type=Instant [/card] [card] +name=Esper +auto=all(other creature|myBattlefield)s vigilance, menace, and lifelink +auto=@chaos ensuescreature|myBattlefield) that are white, blue, and/or black become artifacts in addition their other types ueot then all(artifact creature|myBattlefield)) vigilance, menace, && lifelink ueot +text=Artifact spells cost {1} less to cast. -- Whenever chaos ensues, creatures you control that are white, blue, and/or black become artifacts in addition to their other types until end of turn. Then each artifact creature you control gains vigilance, menace, and lifelink until end of turn. +mana=null +type=Plane +subtype=Alara +[/card] +[card] name=Essence Leak text=Enchant permanent -- As long as enchanted permanent is red or green, it has "At the beginning of your upkeep, sacrifice this permanent unless you pay its mana cost." mana={U} @@ -3266,6 +3381,17 @@ mana={X}{G}{G} type=Sorcery [/card] [card] +name=Flockchaser Phantom +abilities=flying,vigilance +auto=_ATTACKING_the next spell you cast this turn) convoke +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.) -- Flying, vigilance -- Whenever Flockchaser Phantom attacks, the next spell you cast this turn has convoke. +mana={4}{W}{U} +type=Creature +subtype=Spirit +power=5 +toughness=5 +[/card] +[card] name=Flooded Woodlands text=Green creatures can't attack unless their controller sacrifices a land for each green creature he or she controls that's attacking. mana={2}{U}{B} @@ -3393,7 +3519,7 @@ toughness=3 [/card] [card] name=Fraternal Exaltation -text=Sneak into your parents’ closet to get a deck. Your new brother is joining the game. +text=Sneak into your parents? closet to get a deck. Your new brother is joining the game. mana={U}{U}{U}{U} type=Sorcery [/card] @@ -3639,6 +3765,16 @@ type=Summon subtype=Ogre [/card] [card] +name=Ghirapur +abilities=haste +auto=@each my combatbegins:ueot, all(noncreature, non-vehicle artifact|myBattlefield) becomes a 5/3 vehicle in addition its other types && trample, haste, && crew 2 +auto=@chaos ensuestarget(noncreature artifact|mygraveyard) moveto(ownerhand) +text=At the beginning of combat on your turn, until end of turn, each noncreature, non-Vehicle artifact you control becomes a 5/3 Vehicle in addition to its other types and gains trample, haste, and crew 2. -- Whenever chaos ensues, return target noncreature artifact card from your graveyard to your hand. +mana=null +type=Plane +subtype=Kaladesh +[/card] +[card] name=Ghostly Flame text=Black and/or red permanents and spells are colorless sources of damage. mana={B}{R} @@ -3699,7 +3835,7 @@ subtype=Aura [/card] [card] name=Gifts Given -text=Search target opponent’s library for four cards with different names and reveal them. That player chooses two of those cards. Put the chosen cards into the player’s graveyard and the rest into your hand. Then that player shuffles their library. +text=Search target opponent?s library for four cards with different names and reveal them. That player chooses two of those cards. Put the chosen cards into the player?s graveyard and the rest into your hand. Then that player shuffles their library. mana={3}{U} type=Instant [/card] @@ -3727,6 +3863,18 @@ type=Tribal Instant subtype=Elf [/card] [card] +name=Gimbal, Gremlin Prodigy +auto=lord(other creature|myBattlefield) trample +auto=lord(creature|myBattlefield) +auto=@each my endofturn:create(gremlin artifact:creature gremlin artifact:0/0:red) +text=Artifact creatures you control have trample. -- At the beginning of your end step, create a 0/0 red Gremlin artifact creature token. Put X +1/+1 counters on it, where X is the number of differently named artifact tokens you control. +mana={2}{G}{U}{R} +type=Legendary Creature +subtype=Gremlin Artificer +power=4 +toughness=4 +[/card] +[card] name=Gimme Five text=You gain 1 life for each person who high-fives you in the next thirty seconds. Each player in a silver-bordered game who high-fives you gains 1 life. (Offer high fives. Don't hit people.) mana={W} @@ -4445,7 +4593,7 @@ type=Instant [/card] [card] name=Horizon Boughs -text=All permanents untap during each player’s untap step. -- Whenever you roll {K}, you may search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle. +text=All permanents untap during each player?s untap step. -- Whenever you roll {K}, you may search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle. type=Plane subtype=Pyrulea [/card] @@ -4821,12 +4969,6 @@ type=Artifact subtype=Contraption [/card] [card] -name=Inkshield -text=Prevent all combat damage that would be dealt to you this turn. For each 1 damage prevented this way, create a 2/1 white and black Inkling creature token with flying. -mana={3}{W}{B} -type=Instant -[/card] -[card] name=Ink-Treader Nephilim text=Whenever a player casts an instant or sorcery spell, if Ink-Treader Nephilim is the only target of that spell, copy the spell for each other creature that spell could target. Each copy targets a different one of those creatures. mana={R}{G}{W}{U} @@ -4836,6 +4978,12 @@ power=3 toughness=3 [/card] [card] +name=Inkshield +text=Prevent all combat damage that would be dealt to you this turn. For each 1 damage prevented this way, create a 2/1 white and black Inkling creature token with flying. +mana={3}{W}{B} +type=Instant +[/card] +[card] name=Inspiring Statuary text=Nonartifact spells you cast have improvise. (Your artifacts can help cast those spells. Each artifact you tap after you're done activating mana abilities pays for {1}.) mana={3} @@ -4900,6 +5048,14 @@ mana={1}{W} type=Instant [/card] [card] +name=Inys Haen +auto=@chaos ensuestarget(nonland|mygraveyard) moveto(ownerhand) +text=When you planeswalk to Inys Haen and at the beginning of your upkeep, mill three cards. -- When you planeswalk away from Inys Haen, each player returns all land cards from their graveyard to the battlefield tapped. -- Whenever chaos ensues, return target nonland card from your graveyard to your hand. +mana=null +type=Plane +subtype=Cridhe +[/card] +[card] name=Ironclaw Curse text=Enchant creature -- Enchanted creature gets -0/-1. -- Enchanted creature can't block creatures with power equal to or greater than the enchanted creature's toughness. mana={R} @@ -5121,6 +5277,17 @@ power=3 toughness=3 [/card] [card] +name=Kasla, the Broken Halo +abilities=flying,haste,vigilance +auto=@movedTo(nother|mystack):auto=_SCRY_(2) +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.) -- Flying, vigilance, haste -- Whenever you cast another spell that has convoke, scry 2, then draw a card. +mana={3}{U}{R}{W} +type=Legendary Creature +subtype=Angel Ally +power=5 +toughness=4 +[/card] +[card] name=Kathril, Aspect Warper text=When Kathril, Aspect Warper enters the battlefield, put a flying counter on any creature you control if a creature card in your graveyard has flying. Repeat this process for first strike, double strike, deathtouch, hexproof, indestructible, lifelink, menace, reach, trample, and vigilance. Then put a +1/+1 counter on Kathril for each counter put on a creature this way. mana={2}{W}{B}{G} @@ -5154,6 +5321,14 @@ mana={1}{B}{R} type=Enchantment [/card] [card] +name=Ketria +auto=@chaos ensuesexile cards from the top of your library until you exile a nonland permanent card put that card onto the battlefield,inmoveto(ownerhand) +text=When you planeswalk to Ketria and at the beginning of your upkeep, put your choice of a vigilance, menace, or trample counter on target creature you control. -- Whenever chaos ensues, exile cards from the top of your library until you exile a nonland permanent card. Put that card onto the battlefield or into your hand. +mana=null +type=Plane +subtype=Ikoria +[/card] +[card] name=Kharasha Foothills text=Whenever a creature you control attacks a player, for each other opponent, you may put a token that's a copy of that creature onto the battlefield tapped and attacking that opponent. Exile those tokens at the beginning of the next end step. -- Whenever you roll {K}, you may sacrifice any number of creatures. If you do, Kharasha Foothills deals that much damage to target creature. type=Plane @@ -5485,6 +5660,22 @@ power=2 toughness=2 [/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=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=Lair of the Ashen Idol text=At the beginning of your upkeep, sacrifice a creature. If you can't, planeswalk. -- Whenever you roll {K}, any number of target players each put a 2/2 black Zombie creature token onto the battlefield. type=Plane @@ -5534,22 +5725,6 @@ 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} @@ -5751,6 +5926,14 @@ power=3 toughness=3 [/card] [card] +name=Littjara +auto=@chaos ensueschoose a creature type counter(1/1)all(creature|myBattlefield) of that type +text=When you planeswalk to Littjara and at the beginning of your upkeep, create a 2/2 blue Shapeshifter creature token with changeling. (It is every creature type.) -- Whenever chaos ensues, choose a creature type. Put a +1/+1 counter on each creature you control of that type. +mana=null +type=Plane +subtype=Kaldheim +[/card] +[card] name=Little Girl text= mana={HW} @@ -6140,6 +6323,14 @@ power=2 toughness=3 [/card] [card] +name=Megaflora Jungle +auto=@chaos ensuescreate(insect:creature insect:1/1:green:flying named butterfly) +text=Each creature with mana value 2 or less gets +2/+2. -- Whenever chaos ensues, create a 1/1 green Insect creature token with flying named Butterfly. +mana=null +type=Plane +subtype=Gargantikar +[/card] +[card] name=Melee text=Cast Melee only during your turn and only during combat before blockers are declared. -- You choose which creatures block this combat and how those creatures block. -- Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat. mana={4}{R} @@ -6351,8 +6542,19 @@ mana={5} type=Artifact [/card] [card] +name=Mirror-Style Master +auto=@this creature attackscreature +auto=foreach(|myBattlefield) +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 attacks, for each attacking modified creature you control, create a tapped and attacking token that's a copy of that creature. Exile those tokens at end of combat. (Equipment, Auras you control, and counters are modifications.) +mana={4}{R}{R} +type=Creature +subtype=Human Warrior +power=3 +toughness=3 +[/card] +[card] name=Mirrored Depths -text=Whenever a player casts a spell, that player flips a coin. If the player loses the flip, counter that spell. -- Whenever you roll {K}, target player reveals the top card of their library. If it’s a nonland card, you may cast it without paying its mana cost. +text=Whenever a player casts a spell, that player flips a coin. If the player loses the flip, counter that spell. -- Whenever you roll {K}, target player reveals the top card of their library. If it?s a nonland card, you may cast it without paying its mana cost. type=Plane subtype=Karsus [/card] @@ -6735,6 +6937,14 @@ mana={5} type=Artifact [/card] [card] +name=Naktamun +auto=@chaos ensuesmay ability$!name(discard) reject notatarget(*|myhand)!$ draw:1 +text=Each creature card in your graveyard has embalm. Its embalm cost is equal to its mana cost. (Exile a creature card from your graveyard and pay its embalm cost: Create a token that's a copy of it, except it's a white Zombie in addition to its other types with no mana cost. Embalm only as a sorcery.) -- Whenever chaos ensues, you may discard a card. If you do, draw a card. +mana=null +type=Plane +subtype=Amonkhet +[/card] +[card] name=Nalathni Dragon text=Flying; 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.) -- {R}: Nalathni Dragon gets +1/+0 until end of turn. If this ability has been activated four or more times this turn, sacrifice Nalathni Dragon at the beginning of the next end step. mana={2}{R}{R} @@ -6851,7 +7061,7 @@ subtype=Equipment [/card] [card] name=Nerf War -text=Fire a Nerf blaster until empty at target library from at least two meters away. For each card knocked off that library, put it into its owner’s graveyard and Nerf War deals ½ damage to that player. (Foam darts only.) +text=Fire a Nerf blaster until empty at target library from at least two meters away. For each card knocked off that library, put it into its owner?s graveyard and Nerf War deals ½ damage to that player. (Foam darts only.) mana={3}{U}{R} type=Sorcery [/card] @@ -6884,6 +7094,15 @@ type=Artifact subtype=Contraption [/card] [card] +name=New Argive +auto=@historic creature you control attacks2/2 ueot +auto=@chaos ensuesreveal cards from the top of your library until you reveal a artifact,*[legendary],enchantment[saga] card put that card inmoveto(ownerhand) && the restthe bottom of your library in a random order +text=Whenever a historic creature you control attacks, it gets +2/+2 until end of turn. (Artifacts, legendaries, and Sagas are historic.) -- Whenever chaos ensues, reveal cards from the top of your library until you reveal a historic card. Put that card into your hand and the rest on the bottom of your library in a random order. +mana=null +type=Plane +subtype=Dominaria +[/card] +[card] name=Ninja text=You may activate Ninja's augment ability any time you could cast an instant. -- Whenever this creature deals combat damage to a player, -- Augment {2}{B} ({2}{B}, Reveal this card from your hand: Combine it with target host. Augment only as-oh, nevermind.) type=Creature @@ -6957,6 +7176,14 @@ type=Plane subtype=New Phyrexia [/card] [card] +name=Norn's Seedcore +auto=@chaos ensuesreveal cards from the top of your planar deck until you reveal a plane card planeswalk it, except don't planeswalk away from any plane put the rest of the revealed cardsthe bottom of your planar deck in any order +text=When you planeswalk to Norn's Seedcore, chaos ensues. -- Whenever chaos ensues, reveal cards from the top of your planar deck until you reveal a plane card. Planeswalk to it, except don't planeswalk away from any plane. Put the rest of the revealed cards on the bottom of your planar deck in any order. +mana=null +type=Plane +subtype=New Phyrexia +[/card] +[card] name=Norritt text={T}: Untap target blue creature. -- {T}: Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. If it doesn't, destroy it at the beginning of the next end step. Activate this ability only before attackers are declared. mana={3}{B} @@ -7026,6 +7253,15 @@ power=1 toughness=1 [/card] [card] +name=Nyx +auto=Constellation ? @an enchantment movedTo(*[]|myBattlefield):life:1 +auto=@chaos ensueschoose a color add an amount of mana of that color equal your devotion that color +text=Nontoken creatures are enchantments in addition to their other types. -- Constellation ? Whenever an enchantment enters the battlefield under your control, you gain 1 life. -- Whenever chaos ensues, choose a color. Add an amount of mana of that color equal to your devotion to that color. +mana=null +type=Plane +subtype=Theros +[/card] +[card] name=Oaken Brawler text=When Oaken Brawler enters the battlefield, clash with an opponent. If you win, put a +1/+1 counter on Oaken Brawler. (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={3}{W} @@ -7370,6 +7606,15 @@ mana={2}{B} type=Sorcery [/card] [card] +name=Paliano +auto=lord(other creature|myBattlefield) +auto=@chaos ensuescreate(assassin:creature assassin:1/1:black:deathtouch,haste) +text=When one or more creatures you control deal combat damage to a player, if there is no monarch, you become the monarch. -- Whenever chaos ensues, create a 1/1 black Assassin creature token with deathtouch and haste. +mana=null +type=Plane +subtype=Fiora +[/card] +[card] name=Paliano Vanguard text=Draft Paliano Vanguard face up. -- As you draft a creature card, you may reveal it, note its creature types, then turn Paliano Vanguard face down. -- Other creatures you control of a type you noted for cards named Paliano Vanguard get +1/+1. mana={1}{W} @@ -7670,14 +7915,14 @@ type=Instant name=Pools of Becoming text=At the beginning of your end step, put the cards in your hand on the bottom of your library in any order, then draw that many cards. -- Whenever you roll {C}, reveal the top three cards of your planar deck. Each of the revealed cards' {C} abilities triggers. Then put the revealed cards on the bottom of your planar deck in any order. type=Plane -subtype=Bolas’s Meditation Realm +subtype=Bolas?s Meditation Realm [/card] [card] name=Portal Mage abilities=flash auto=phasealter(remove,combatphases,controller) auto=nextphasealter(add,combatphases,controller,after) -text=Flash -- When Portal Mage enters the battlefield during the declare attackers step, you may reselect which player or planeswalker target attacking creature is attacking. (It can’t attack its controller or its controller’s planeswalkers.) +text=Flash -- When Portal Mage enters the battlefield during the declare attackers step, you may reselect which player or planeswalker target attacking creature is attacking. (It can?t attack its controller or its controller?s planeswalkers.) mana={2}{U} type=Creature subtype=Human Wizard @@ -8012,6 +8257,16 @@ mana={2}{B}{R} type=Sorcery [/card] [card] +name=Rashmi and Ragavan +auto=lord(creature|myBattlefield) opponent's library and create a treasure token. then you may cast the exiled card without paying its mana cost if it's a spell with mana value less than the number of artifacts you control. if you don't cast it this way, you may cast it this turn +text=Whenever you cast your first spell during each of your turns, exile the top card of target opponent's library and create a Treasure token. Then you may cast the exiled card without paying its mana cost if it's a spell with mana value less than the number of artifacts you control. If you don't cast it this way, you may cast it this turn. +mana={1}{G}{U}{R} +type=Legendary Creature +subtype=Elf Monkey +power=2 +toughness=4 +[/card] +[card] name=Razia, Boros Archangel text=Flying, vigilance, haste -- {T}: The next 3 damage that would be dealt to target creature you control this turn is dealt to another target creature instead. mana={4}{R}{R}{W}{W} @@ -8100,7 +8355,7 @@ type=Sorcery [/card] [card] name=Red-Hot Hottie -text=Whenever Red-Hot Hottie deals damage to a creature, put a third-degree-burn counter on that creature. It has "At the end of each turn, sacrifice this creature unless you scream ‘Aaah' at the top of your lungs." +text=Whenever Red-Hot Hottie deals damage to a creature, put a third-degree-burn counter on that creature. It has "At the end of each turn, sacrifice this creature unless you scream ?Aaah' at the top of your lungs." mana={2}{R}{R} type=Creature subtype=Elemental @@ -8318,6 +8573,15 @@ power=1 toughness=1 [/card] [card] +name=Riptide Island +auto=all(creature|myBattlefield) haste and get +x/+x , where x is the number of slivers you control +x/+x , where x is the number of slivers you control +auto=@chaos ensuesslivers|myBattlefield)) haste &&) x/x ueot, where x is the number of slivers|myBattlefield) +text=When you planeswalk to Riptide Island and at the beginning of your upkeep, create two 1/1 colorless Sliver creature tokens. -- Whenever chaos ensues, Slivers you control gain haste and get +X/+X until end of turn, where X is the number of Slivers you control. +mana=null +type=Plane +subtype=Dominaria +[/card] +[card] name=Risky Move text=At the beginning of each player's upkeep, that player gains control of Risky Move. -- When you gain control of Risky Move from another player, choose a creature you control and an opponent. Flip a coin. If you lose the flip, that opponent gains control of that creature. mana={3}{R}{R}{R} @@ -8394,6 +8658,21 @@ text=When you set this scheme in motion, for each opponent, put a 2/2 black Zomb type=Scheme [/card] [card] +name=Rowan's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[+1]: Up to one target creature +auto=teach(creature) +2/+0 +auto=teach(creature) first strike +auto=teach(creature) trample " +auto=teach(creature) Whenever you activateloyalty ability of enchanted planeswalker copy that ability You may choose new targets for the copy +text=Enchant planeswalker -- Enchanted planeswalker has "[+1]: Up to one target creature gets +2/+0 and gains first strike and trample until end of turn." -- Whenever you activate a loyalty ability of enchanted planeswalker, copy that ability. You may choose new targets for the copy. +mana={2}{R}{R} +type=Enchantment +subtype=Aura +[/card] +[card] name=Rules Lawyer text=State-based actions don't apply to you or other permanents you control. (You don't lose the game due to having 0 or less life or drawing from an empty library. Your creatures aren't destroyed due to damage or deathtouch and aren't put into a graveyard due to having 0 or less toughness. Your planeswalkers aren't put into a graveyard if they have 0 loyalty. You don't put a legendary permanent into a graveyard if you control two with the same name. Counters aren't removed from your permanents due to game rules. Permanents you control attached or combined illegally remain on the battlefield. For complete rules and regulations, see rule 704.) mana={3}{W}{W} @@ -8476,6 +8755,17 @@ type=Enchantment subtype=Aura [/card] [card] +name=Saint Traft and Rem Karolus +auto=@tapped(this):create(human:creature human:1/1:red) +auto=@movedTo(|mystack):untap saint traft && rem karolus +text=Whenever Saint Traft and Rem Karolus becomes tapped, create a 1/1 red Human creature token if this is the first time this ability has resolved this turn. If it's the second time, create a 1/1 blue Spirit creature token with flying. If it's the third time, create a 4/4 white Angel creature token with flying. -- Whenever you cast a spell that has convoke, untap Saint Traft and Rem Karolus. +mana={U}{R}{W} +type=Legendary Creature +subtype=Spirit Human +power=3 +toughness=4 +[/card] +[card] name=Sakashima the Impostor text=You may have Sakashima the Impostor enter the battlefield as a copy of any creature on the battlefield, except its name is still Sakashima the Impostor, it's legendary in addition to its other types, and it gains "{2}{U}{U}: Return Sakashima the Impostor to its owner's hand at the beginning of the next end step." mana={2}{U}{U} @@ -8503,7 +8793,7 @@ type=Instant name=Sanctum of Serra text=When you planeswalk away from Sanctum of Serra, destroy all nonland permanents. -- Whenever you roll {C}, you may have your life total become 20. type=Plane -subtype=Serra’s Realm +subtype=Serra?s Realm [/card] [card] name=Sands of Time @@ -8512,6 +8802,18 @@ mana={4} type=Artifact [/card] [card] +name=Sandsteppe War Riders +abilities=trample +auto=lord(creature|myBattlefield) +auto=@each my combatbegins:bolster x, where x is the number of differently named artifact tokens|myBattlefield) +text=Trample -- At the beginning of combat on your turn, bolster X, where X is the number of differently named artifact tokens you control. (Choose a creature with the least toughness among creatures you control and put X +1/+1 counters on it.) +mana={3}{G} +type=Creature +subtype=Human Warrior +power=4 +toughness=4 +[/card] +[card] name=Sap Sucker text=Whenever you crank Sap Sucker, add {G}. Until end of turn, you don't lose this mana as steps and phases end. type=Artifact @@ -8849,7 +9151,7 @@ type=Land [/card] [card] name=Shellephant -text={0}: Choose one. You may activate this ability while Shellephant is in any zone. -- • Shellephant has base power and toughness 1/4. -- • Shellephant has base power and toughness 3/3. +text={0}: Choose one. You may activate this ability while Shellephant is in any zone. -- ? Shellephant has base power and toughness 1/4. -- ? Shellephant has base power and toughness 3/3. mana={1}{G}{G} type=Creature subtype=Turtle and/or Elephant @@ -9849,6 +10151,14 @@ mana={W} type=Instant [/card] [card] +name=Strixhaven +auto=@chaos ensues target(instant,sorcery card from a graveyard moveto(ownerhand) +text=Instant and sorcery spells players cast have demonstrate. (Whenever a player casts an instant or sorcery spell, they may copy it. If they do, they choose an opponent to also copy it. Players may choose new targets for their copies.) -- Whenever chaos ensues, return up to one target instant or sorcery card from a graveyard to its owner's hand. +mana=null +type=Plane +subtype=Arcavios +[/card] +[card] name=Stromgald Spy text=Whenever Stromgald Spy attacks and isn't blocked, you may have defending player play with his or her hand revealed for as long as Stromgald Spy remains on the battlefield. If you do, Stromgald Spy assigns no combat damage this turn. mana={3}{B} @@ -10166,6 +10476,18 @@ mana={1}{U} type=Instant [/card] [card] +name=Teferi's Talent +target=planeswalker +auto=teach(creature) Enchant planeswalker +auto=teach(creature) Enchanted planeswalker +auto=teach(creature) "[-12]: You get an emblem with 'You may activate loyalty abilities of planeswalkers you control on any player's turn any time you could cast an instant'" +auto=teach(creature) Whenever you drawcard putloyalty counter on enchanted planeswalker +text=Enchant planeswalker -- Enchanted planeswalker has "[-12]: You get an emblem with 'You may activate loyalty abilities of planeswalkers you control on any player's turn any time you could cast an instant.'" -- Whenever you draw a card, put a loyalty counter on enchanted planeswalker. +mana={3}{U}{U} +type=Enchantment +subtype=Aura +[/card] +[card] name=Tember City text=Whenever a player taps a land for mana, Tember City deals 1 damage to that player. -- Whenever you roll {K}, each other player sacrifices a nonland permanent. type=Plane @@ -10233,6 +10555,16 @@ power=2 toughness=2 [/card] [card] +name=Ten Wizards Mountain +auto=@roll the planar diecounter(1/1) target(creature +auto=all(other creature|myBattlefield) flying +auto=@chaos ensuescreature|myBattlefield)) flying ueot +text=Whenever you roll the planar die, put a +1/+1 counter on up to one target creature. -- Whenever chaos ensues, creatures you control gain flying until end of turn. +mana=null +type=Plane +subtype=Shenmeng +[/card] +[card] name=Teremko Griffin abilities=flying,banding text=Flying; 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.) @@ -10249,6 +10581,14 @@ type=Plane subtype=Iquatana [/card] [card] +name=The Caldaia +auto=@chaos ensuestarget(creature|mygraveyard) moveto(ownerhand) +text=Creature spells you cast from your hand have blitz {3}. (If you cast a 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.) -- Whenever chaos ensues, return target creature card from your graveyard to your hand. +mana=null +type=Plane +subtype=Capenna +[/card] +[card] name=The Chain Veil text=At the beginning of your end step, if you didn't activate a loyalty ability of a planeswalker this turn, you lose 2 life. -- {4}, {T}: For each planeswalker you control, you may activate one of its loyalty abilities once this turn as though none of its loyalty abilities have been activated this turn. mana={4} @@ -10291,7 +10631,15 @@ name=The Fate of the Flammable text=When you set this scheme in motion, target opponent chooses self or others. If that player chooses self, this scheme deals 6 damage to him or her. If the player chooses others, this scheme deals 3 damage to each of your other opponents. type=Scheme [/card] - +[card] +name=The Fertile Lands of Saulvinia +auto=@player taps a land for manathat player adds one mana of any type that land produced +auto=@chaos ensuesreveal cards from the top of your planar deck until you reveal a plane card chaos ensuesthat plane then put all cards revealed this waythe bottom of your planar deck in any order +text=Whenever a player taps a land for mana, that player adds one mana of any type that land produced. -- Whenever chaos ensues, reveal cards from the top of your planar deck until you reveal a plane card. Chaos ensues on that plane. Then put all cards revealed this way on the bottom of your planar deck in any order. +mana=null +type=Plane +subtype=Antausia +[/card] [card] name=The Fourth Sphere text=At the beginning of your upkeep, sacrifice a nonblack creature. -- Whenever you roll {C}, put a 2/2 black Zombie creature token onto the battlefield. @@ -10299,12 +10647,30 @@ type=Plane subtype=Phyrexia [/card] [card] +name=The Golden City of Orazca +auto=lord(other creature|myBattlefield) the city's blessing +auto=@one or more creatures you control deal combat damage to a playertoken(Treasure,Artifact Treasure) and!( transforms((,newability[{T}{S}:Add{W}])(,newability[{T}{S}:Add{R}])(,newability[{T}{S}:Add{G}])(,newability[{T}{S}:Add{U}])(,newability[{T}{S}:Add{B}])) forever )! +auto=@chaos ensuesmay permanent card from your hand onto the battlefield tapped +text=Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.) -- Whenever one or more creatures you control deal combat damage to a player, create a Treasure token. Then draw a card if you have the city's blessing. -- Whenever chaos ensues, you may put a permanent card from your hand onto the battlefield tapped. +mana=null +type=Plane +subtype=Ixalan +[/card] +[card] name=The Grand Calcutron text=When The Grand Calcutron enters the battlefield, each player's hand becomes a program (an ordered row of revealed cards). -- Players can only play the first card of their program. -- If a card would be put into a player's hand from anywhere, that player reveals it and places it anywhere within their program instead. -- At the beginning of each player's end step, if that player's program has fewer than five cards, they draw cards equal to the difference. mana={W}{U} type=Legendary Artifact [/card] [card] +name=The Great Aerie +auto=@chaos ensueschoose target(creature|myBattlefield) && target(creature|opponentBattlefield) all(of those creature deals damage equal its toughness the other +text=When you planeswalk to The Great Aerie and at the beginning of your upkeep, bolster 3. (Choose a creature with the least toughness among creatures you control and put three +1/+1 counters on it.) -- Whenever chaos ensues, choose up to one target creature you control and up to one target creature an opponent controls. Each of those creatures deals damage equal to its toughness to the other. +mana=null +type=Plane +subtype=Tarkir +[/card] +[card] name=The Great Aurora text=Each player shuffles all cards from his or her hand and all permanents he or she owns into his or her library, then draws that many cards. Each player may put any number of land cards from his or her hand onto the battlefield. Exile The Great Aurora. mana={6}{G}{G}{G} @@ -10354,6 +10720,15 @@ text=When you set this scheme in motion, draw two cards. Artifact spells you cas type=Scheme [/card] [card] +name=The Pit +auto=@you planeswalk to The Pitall(player creates their choice of a 3/3 white angel creature token with flying,a 6/6 black demon creature token with flying, trample, && "at the beginning of your upkeep, {S(other creature|mybattlefield)} if you can't, this creature damage:6 you" +auto=@chaos ensuesall(player sacrifices a nonartifact creature +text=When you planeswalk to The Pit, each player creates their choice of a 3/3 white Angel creature token with flying or a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you." -- Whenever chaos ensues, each player sacrifices a nonartifact creature. +mana=null +type=Plane +subtype=The Abyss +[/card] +[card] name=The Ultimate Nightmare of Wizards of the Coast® Customer Service text=The Ultimate Nightmare of Wizards of the Coast® Customer Service deals X damage to each of Y target creatures and Z target players. mana={X}{R}{R} @@ -10365,6 +10740,23 @@ text=(An ongoing scheme remains face up until it's abandoned.) -- Creatures you type=Ongoing Scheme [/card] [card] +name=The Western Cloud +auto=lord(creature|myBattlefield) +auto=@chaos ensuestoken(Treasure,Artifact Treasure) and!( transforms((,newability[{T}{S}:Add{W}])(,newability[{T}{S}:Add{R}])(,newability[{T}{S}:Add{G}])(,newability[{T}{S}:Add{U}])(,newability[{T}{S}:Add{B}])) forever )! +text=Prevent all damage that would be dealt to creatures and planeswalkers you control. -- Whenever chaos ensues, create three tapped Treasure tokens. They each deal 1 damage to each creature and each planeswalker. +mana=null +type=Plane +subtype=Gobakhan +[/card] +[card] +name=The Wilds +auto=@chaos ensuestoken +text=When you planeswalk to The Wilds and at the beginning of your upkeep, create a Food token. -- Whenever chaos ensues, target player sacrifices a creature. If they do, you create a Food token. You create two Food tokens instead if the sacrificed creature's toughness was 4 or greater. +mana=null +type=Plane +subtype=Eldraine +[/card] +[card] name=The Wretched text=At end of combat, gain control of all creatures blocking The Wretched for as long as you control The Wretched. mana={3}{B}{B} @@ -10669,6 +11061,17 @@ mana={3}{R} type=Sorcery [/card] [card] +name=Towashi +auto=lord(other creature|myBattlefield) trample and "whenever this creature deals combat damage to a player or planeswalker, draw a card +auto=Modified creatures you control have trample and "@this creature deals combat damage to a player or planeswalkerdraw:1" +auto=lord(other creature|myBattlefield) creatures you control +auto=@chaos ensuesdistribute three counter(1/1)s among one, two,,three target(creature|myBattlefield) +text=Modified creatures you control have trample and "Whenever this creature deals combat damage to a player or planeswalker, draw a card." (Equipment, Auras you control, and counters are modifications.) -- Whenever chaos ensues, distribute three +1/+1 counters among one, two, or three target creatures you control. +mana=null +type=Plane +subtype=Kamigawa +[/card] +[card] name=Toy Boat text=Cumulative upkeep-Say "Toy Boat" quickly. (At the beginning of your upkeep, put an age counter on Toy Boat, then sacrifice it unless you say "Toy Boat" once for each age counter on it-without pausing between or fumbling it.) mana={3} @@ -10859,6 +11262,13 @@ mana={2}{G} type=Enchantment [/card] [card] +name=Uncivil Unrest +auto=lord(other creature|myBattlefield) riot +text=Nontoken creatures you control have riot. (They enter the battlefield with your choice of a +1/+1 counter or haste.) -- If a creature you control with a +1/+1 counter on it would deal damage to a permanent or player, it deals double that damage instead. +mana={4}{R} +type=Enchantment +[/card] +[card] name=Undercity Plague text=Target player loses 1 life, discards a card, then sacrifices a permanent. -- Cipher (Then you may exile this spell card encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost.) mana={4}{B}{B} @@ -10887,6 +11297,15 @@ mana={3}{R}{R} type=Enchantment [/card] [card] +name=Unyaro +auto=@each my endofturn:if you planeswalked this turn, untap all creature they phase out until a player planeswalks +auto=@chaos ensuescreate(knight:creature knight:2/2:white,blue:vigilance)*2 +text=At the beginning of your end step, if you planeswalked to Unyaro this turn, untap all creatures. They phase out until a player planeswalks. (Treat them and anything attached to them as though they didn't exist.) -- Whenever chaos ensues, create two 2/2 white and blue Knight creature tokens with vigilance. +mana=null +type=Plane +subtype=Zhalfir +[/card] +[card] name=Urza's Contact Lenses text=Urza's Contact Lenses comes into play tapped and does not untap during its controller's untap phase. -- All players play with their hands face up. -- Clap your hands twice: Tap or untap Urza's Contact Lenses. mana={0} @@ -10941,6 +11360,15 @@ mana={W} type=Instant [/card] [card] +name=Valor's Reach +auto=@your team attacks with exactly two creaturesthose creature) double strike ueot +auto=@chaos ensuesuntap target(creature your team controls if it's a main phase, there is an additional combat phase after this phase, followed by an additional main phase +text=Whenever your team attacks with exactly two creatures, those creatures gain double strike until end of turn. -- Whenever chaos ensues, untap up to two target creatures your team controls. If it's a main phase, there is an additional combat phase after this phase, followed by an additional main phase. +mana=null +type=Plane +subtype=Kylem +[/card] +[card] name=Varolz, the Scar-Striped text=Each creature card in your graveyard has scavenge. The scavenge cost is equal to its mana cost. (Exile a creature card from your graveyard and pay its mana cost: Put a number of +1/+1 counters equal to that card's power on target creature. Scavenge only as a sorcery.) -- Sacrifice another creature: Regenerate Varolz, the Scar-Striped. mana={1}{B}{G} @@ -11199,6 +11627,17 @@ power=0 toughness=1 [/card] [card] +name=Vulpine Harvester +auto=lord(creature|myBattlefield) artifact card from your graveyard to the battlefield if its mana value is less than or equal to their total power +auto=@one or more Phyrexians you control attacktarget(artifact|mygraveyard) the battlefield if its mana value is less than,equal their total power +text=Whenever one or more Phyrexians you control attack, return target artifact card from your graveyard to the battlefield if its mana value is less than or equal to their total power. +mana={3}{W} +type=Creature +subtype=Phyrexian Fox +power=3 +toughness=3 +[/card] +[card] name=Wall of Caltrops abilities=defender text=Defender (This creature can't attack.) -- Whenever Wall of Caltrops blocks a creature, if no non-Wall creatures are blocking that creature, Wall of Caltrops gains banding until end of turn. (If any creatures with banding you control are blocking a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by.) @@ -11273,6 +11712,16 @@ mana={4} type=Artifact [/card] [card] +name=Wand of the Worldsoul +auto=tapped +auto={T}:add {w} +auto={T}:Add{W} +auto={T}:the next spell you cast this turn) convoke +text=Wand of the Worldsoul enters the battlefield tapped. -- {T}: Add {W}. -- {T}: The next spell you cast this turn has convoke. +mana={2}{W} +type=Artifact +[/card] +[card] name=War 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.) @@ -11510,6 +11959,16 @@ mana={3}{R} type=Sorcery [/card] [card] +name=Wildfire Awakener +auto=create(elemental:creature elemental:1/1:red:"whenever this creature becomes tapped, it deals 1 damage to target player)x +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.) -- When Wildfire Awakener enters the battlefield, create X 1/1 red Elemental creature tokens with "Whenever this creature becomes tapped, it deals 1 damage to target player." +mana={X}{1}{R}{W} +type=Creature +subtype=Human Wizard +power=3 +toughness=2 +[/card] +[card] name=Wildfire Devils text=When Wildfire Devils enters the battlefield and at the beginning of your upkeep, choose a player at random. That player exiles an instant or sorcery card from their graveyard. Copy that card. You may cast the copy without paying its mana cost. mana={3}{R} diff --git a/projects/mtg/bin/createWindowsZip.py b/projects/mtg/bin/createWindowsZip.py index 0a8b851f1..d309fae0a 100644 --- a/projects/mtg/bin/createWindowsZip.py +++ b/projects/mtg/bin/createWindowsZip.py @@ -26,12 +26,14 @@ def getFilename(filename): return filename def createStandardResFile(): - print("Creating Resource File") + #print("Creating Resource File") + print "Creating Resource File" cmd = 'python createResourceZip.py -n ' + getFilename('core') + '.zip' os.chdir("Res") os.system(cmd) os.chdir("..") - print("Creating Windows Package File") + #print("Creating Windows Package File") + print "Creating Windows Package File" filename = 'Wagic-windows.zip' createWindowsZipFile( filename ) #print(sys.stderr, 'Created Windows Package: {0}'.format( filename)) diff --git a/projects/mtg/include/Subtypes.h b/projects/mtg/include/Subtypes.h index ff091e198..59424e2aa 100644 --- a/projects/mtg/include/Subtypes.h +++ b/projects/mtg/include/Subtypes.h @@ -34,7 +34,8 @@ public: TYPE_EMBLEM = 19, TYPE_CONSPIRACY = 20, TYPE_BACKGROUND = 21, - LAST_TYPE = TYPE_BACKGROUND, + TYPE_BATTLE = 22, + LAST_TYPE = TYPE_BATTLE, }; protected: diff --git a/projects/mtg/src/AIPlayerBaka.cpp b/projects/mtg/src/AIPlayerBaka.cpp index dfe9069b8..d00154caf 100644 --- a/projects/mtg/src/AIPlayerBaka.cpp +++ b/projects/mtg/src/AIPlayerBaka.cpp @@ -723,7 +723,7 @@ int OrderedAIAction::getEfficiency() if (ability->source) { - if(ability->source->hasType(Subtypes::TYPE_PLANESWALKER)) + if(ability->source->hasType(Subtypes::TYPE_PLANESWALKER) || ability->source->hasType(Subtypes::TYPE_BATTLE)) efficiency += 40; else if(ability->source->hasType(Subtypes::TYPE_LAND)) { // probably a shockland, don't pay life if hand is empty @@ -2813,6 +2813,9 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty if (card->hasType(Subtypes::TYPE_PLANESWALKER) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_PLANESWALKER,card->types[1])) continue; + + if (card->hasType(Subtypes::TYPE_BATTLE) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_BATTLE,card->types[1])) + continue; if(hints && hints->HintSaysItsForCombo(observer,card)) { @@ -2981,6 +2984,9 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty if (card->hasType(Subtypes::TYPE_PLANESWALKER) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_PLANESWALKER,card->types[1])) continue; + + if (card->hasType(Subtypes::TYPE_BATTLE) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_BATTLE,card->types[1])) + continue; if(hints && hints->HintSaysItsForCombo(observer,card)) { @@ -3748,7 +3754,7 @@ int AIPlayerBaka::computeActions() else { //look for the most expensive creature we can afford. If not found, try enchantment, then artifact, etc... - const char* types[] = {"planeswalker","creature", "enchantment", "artifact", "sorcery", "instant"}; + const char* types[] = {"planeswalker","creature", "enchantment", "artifact", "sorcery", "instant", "battle"}; int count = 0; while (!nextCardToPlay && count < 6) { diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index f96d3e52d..c6467bbae 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -1545,7 +1545,7 @@ AADamager::AADamager(GameObserver* observer, int _id, MTGCardInstance * _source, if (_target) { WParsedInt damage(d, NULL, (MTGCardInstance *)source); - if(_target == game->opponent() && game->opponent()->inPlay()->hasType("planeswalker") && !redirected) + if(_target == game->opponent() && (game->opponent()->inPlay()->hasType("planeswalker") || game->opponent()->inPlay()->hasType("battle")) && !redirected) { vectorselection; MTGCardInstance * check = NULL; @@ -1557,7 +1557,7 @@ AADamager::AADamager(GameObserver* observer, int _id, MTGCardInstance * _source, for(int i = 0; i < checkWalkers;++i) { check = ((Player*)_target)->game->battlefield->cards[i]; - if(check->hasType(Subtypes::TYPE_PLANESWALKER)) + if(check->hasType(Subtypes::TYPE_PLANESWALKER) || check->hasType(Subtypes::TYPE_BATTLE)) { this->redirected = true; MTGAbility * setWalker = this->clone(); @@ -1591,7 +1591,7 @@ AADamager::AADamager(GameObserver* observer, int _id, MTGCardInstance * _source, const string AADamager::getMenuText() { MTGCardInstance * _target = dynamic_cast(target); - if(_target && _target->hasType(Subtypes::TYPE_PLANESWALKER)) + if(_target && (_target->hasType(Subtypes::TYPE_PLANESWALKER) || _target->hasType(Subtypes::TYPE_BATTLE))) return _target->name.c_str(); if(redirected) { @@ -10015,7 +10015,7 @@ int AACastCard::resolveSpell() } } - if (putinplay && (copy->hasType(Subtypes::TYPE_ARTIFACT) || copy->hasType(Subtypes::TYPE_CREATURE) || copy->hasType(Subtypes::TYPE_ENCHANTMENT) || copy->hasType(Subtypes::TYPE_PLANESWALKER))) + if (putinplay && (copy->hasType(Subtypes::TYPE_ARTIFACT) || copy->hasType(Subtypes::TYPE_CREATURE) || copy->hasType(Subtypes::TYPE_ENCHANTMENT) || copy->hasType(Subtypes::TYPE_PLANESWALKER) || copy->hasType(Subtypes::TYPE_BATTLE))) spell->resolve(); // Fixed a crash when using and!()! with namedcard permanents. if(andAbility) @@ -10041,7 +10041,7 @@ int AACastCard::resolveSpell() MTGCardInstance * copy = NULL; if ((normal || asNormalMadness)||(!_target->hasType(Subtypes::TYPE_INSTANT) && !_target->hasType(Subtypes::TYPE_SORCERY))) { - if (putinplay && (_target->hasType(Subtypes::TYPE_ARTIFACT)||_target->hasType(Subtypes::TYPE_CREATURE)||_target->hasType(Subtypes::TYPE_ENCHANTMENT)||_target->hasType(Subtypes::TYPE_PLANESWALKER))) + if (putinplay && (_target->hasType(Subtypes::TYPE_ARTIFACT)||_target->hasType(Subtypes::TYPE_CREATURE)||_target->hasType(Subtypes::TYPE_ENCHANTMENT)||_target->hasType(Subtypes::TYPE_PLANESWALKER)||_target->hasType(Subtypes::TYPE_BATTLE))) copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->reveal, noEvent); // Fixed a problem with previous zone of card, it cannot be directly battlefield. else copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->stack, noEvent); @@ -10051,7 +10051,7 @@ int AACastCard::resolveSpell() } else { - if (putinplay && (_target->hasType(Subtypes::TYPE_ARTIFACT)||_target->hasType(Subtypes::TYPE_CREATURE)||_target->hasType(Subtypes::TYPE_ENCHANTMENT)||_target->hasType(Subtypes::TYPE_PLANESWALKER))) + if (putinplay && (_target->hasType(Subtypes::TYPE_ARTIFACT)||_target->hasType(Subtypes::TYPE_CREATURE)||_target->hasType(Subtypes::TYPE_ENCHANTMENT)||_target->hasType(Subtypes::TYPE_PLANESWALKER)||_target->hasType(Subtypes::TYPE_BATTLE))) copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->reveal, noEvent); // Fixed a problem with previous zone of card, it cannot be directly battlefield. else copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->stack, noEvent); diff --git a/projects/mtg/src/Damage.cpp b/projects/mtg/src/Damage.cpp index 3ba6ab790..cf7a4f30a 100644 --- a/projects/mtg/src/Damage.cpp +++ b/projects/mtg/src/Damage.cpp @@ -75,7 +75,7 @@ int Damage::resolve() //------------------------------------------------- //Ajani Steadfast --- - if(target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE && ((MTGCardInstance*)target)->hasType("planeswalker") && ((MTGCardInstance*)target)->controller()->forcefield) + if(target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE && (((MTGCardInstance*)target)->hasType("planeswalker") || ((MTGCardInstance*)target)->hasType("battle")) && ((MTGCardInstance*)target)->controller()->forcefield) damage = 1; if (target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE) { @@ -310,6 +310,19 @@ int Damage::resolve() } } } + + if (target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE && ((MTGCardInstance*)target)->hasType(Subtypes::TYPE_BATTLE)){ // Fix life calculation for battle damage. + if (((MTGCardInstance*)target)->counters){ + Counters * counters = ((MTGCardInstance*)target)->counters; + for(size_t i = 0; i < counters->counters.size(); ++i){ + Counter * counter = counters->counters[i]; + if(counter->name == "defense"){ + target->life = counter->nb - target->damageCount; + break; + } + } + } + } //Send (Damage/Replaced effect) event to listeners observer->receiveEvent(e); return a; diff --git a/projects/mtg/src/GameObserver.cpp b/projects/mtg/src/GameObserver.cpp index 505ba6016..c4f4d61b3 100644 --- a/projects/mtg/src/GameObserver.cpp +++ b/projects/mtg/src/GameObserver.cpp @@ -857,6 +857,8 @@ void GameObserver::gameStateBasedEffects() found++; if(stypes.find("planeswalker") != string::npos && card->target->hasType("planeswalker")) found++; + if(stypes.find("battle") != string::npos && card->target->hasType("battle")) + found++; } if((!found || protectionfromQ) && !card->isBestowed) diff --git a/projects/mtg/src/GuiPlay.cpp b/projects/mtg/src/GuiPlay.cpp index b5a49fa2e..a955f61f7 100644 --- a/projects/mtg/src/GuiPlay.cpp +++ b/projects/mtg/src/GuiPlay.cpp @@ -196,7 +196,7 @@ GuiPlay::~GuiPlay() bool isSpell(CardView* c) { - return c->card->isSpell() && !c->card->isCreature() && !c->card->hasType(Subtypes::TYPE_PLANESWALKER); + return c->card->isSpell() && !c->card->isCreature() && !c->card->hasType(Subtypes::TYPE_PLANESWALKER) && !c->card->hasType(Subtypes::TYPE_BATTLE); } void GuiPlay::Replace() { @@ -208,7 +208,7 @@ void GuiPlay::Replace() for (iterator it = cards.begin(); it != end_spells; ++it) if (!(*it)->card->target) { - if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && (*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) + if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && (*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER) && !(*it)->card->hasType(Subtypes::TYPE_BATTLE)) { if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller()) ++selfSpellsN; @@ -229,7 +229,7 @@ void GuiPlay::Replace() else ++opponentCreaturesN; } - else if ((*it)->card->isLand() || (*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) + else if ((*it)->card->isLand() || (*it)->card->hasType(Subtypes::TYPE_PLANESWALKER) || (*it)->card->hasType(Subtypes::TYPE_BATTLE)) { if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller()) ++selfLandsN; @@ -244,7 +244,7 @@ void GuiPlay::Replace() for (iterator it = cards.begin(); it != end_spells; ++it) if (!(*it)->card->target) { - if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && (*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) + if((!(*it)->card->hasSubtype(Subtypes::TYPE_AURA)|| ((*it)->card->hasSubtype(Subtypes::TYPE_AURA) && (*it)->card->playerTarget)) && !(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER) && !(*it)->card->hasType(Subtypes::TYPE_BATTLE)) { if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller()) selfSpells.Enstack(*it); @@ -287,7 +287,7 @@ void GuiPlay::Replace() //rerun the iter reattaching planes walkers to the back of the lands. for (iterator it = end_spells; it != cards.end(); ++it) { - if ((*it)->card->hasType(Subtypes::TYPE_PLANESWALKER) && !(*it)->card->isCreature()) + if (((*it)->card->hasType(Subtypes::TYPE_PLANESWALKER) || (*it)->card->hasType(Subtypes::TYPE_BATTLE)) && !(*it)->card->isCreature()) { if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller()) selfLands.Enstack(*it); @@ -310,7 +310,7 @@ void GuiPlay::Render() if(dtarget && dtarget->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE) { MTGCardInstance * ctarget = ((MTGCardInstance *)(*it)->card->isAttacking); - if(ctarget->hasType(Subtypes::TYPE_PLANESWALKER) && observer->isInPlay(ctarget) && observer->getCurrentGamePhase() < MTG_PHASE_COMBATEND) + if((ctarget->hasType(Subtypes::TYPE_PLANESWALKER) || ctarget->hasType(Subtypes::TYPE_BATTLE)) && observer->isInPlay(ctarget) && observer->getCurrentGamePhase() < MTG_PHASE_COMBATEND) { JRenderer::GetInstance()->DrawLine((*it)->actX,(*it)->actY,ctarget->view->actX,ctarget->view->actY,0.5f,ARGB(128 - wave, 255, 40, 40)); } @@ -331,7 +331,7 @@ void GuiPlay::Render() else opponentCreatures.Render(*it, cards.begin(), end_spells); } - else if(!(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER)) + else if(!(*it)->card->hasType(Subtypes::TYPE_PLANESWALKER) && !(*it)->card->hasType(Subtypes::TYPE_BATTLE)) { if (!(*it)->card->target) { diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 6cf65f8bd..d9435e818 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -521,6 +521,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe if (grave->hasType("land")) checkTypesAmount++; if (grave->hasType("artifact")) checkTypesAmount++; if (grave->hasType("planeswalker")) checkTypesAmount++; + if (grave->hasType("battle")) checkTypesAmount++; if (grave->hasType("tribal")) checkTypesAmount++; if (checkTypesAmount < 4) return 0; @@ -540,6 +541,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe if (grave->hasType("land")) checkTypesAmount++; if (grave->hasType("artifact")) checkTypesAmount++; if (grave->hasType("planeswalker")) checkTypesAmount++; + if (grave->hasType("battle")) checkTypesAmount++; if (grave->hasType("tribal")) checkTypesAmount++; if (checkTypesAmount > 3) return 0; diff --git a/projects/mtg/src/MTGRules.cpp b/projects/mtg/src/MTGRules.cpp index 2ad46b7f7..63bc8d2d1 100644 --- a/projects/mtg/src/MTGRules.cpp +++ b/projects/mtg/src/MTGRules.cpp @@ -2055,7 +2055,7 @@ int MTGAttackRule::receiveEvent(WEvent *e) if(dtarget->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE) { MTGCardInstance * ctarget = ((MTGCardInstance *)card->isAttacking); - if(ctarget->hasType(Subtypes::TYPE_PLANESWALKER)) + if(ctarget->hasType(Subtypes::TYPE_PLANESWALKER) || ctarget->hasType(Subtypes::TYPE_BATTLE)) card->toggleAttacker();//if a card has cantpwattack, then you cant } } @@ -2112,14 +2112,20 @@ int MTGPlaneswalkerAttackRule::isReactingToClick(MTGCardInstance * card, ManaCos { if (currentPhase == MTG_PHASE_COMBATATTACKERS && card->controller() == game->currentPlayer && card->controller() == game->currentlyActing())//on my turn and when I am the acting player. { - if(!card->controller()->opponent()->game->inPlay->hasType("planeswalker")) + if(!card->controller()->opponent()->game->inPlay->hasType("planeswalker") && !card->controller()->opponent()->game->inPlay->hasType("battle")) return 0; if(card->isPhased) return 0; if ((card->isAttacker()) || (card->canAttack(true) && card->attackPlaneswalkerCost < 1)) { - if(!card->isAttacker()) - attackpwmenu = "Attack Planeswalker"; + if(!card->isAttacker()){ + if(card->controller()->opponent()->game->inPlay->hasType("planeswalker") && !card->controller()->opponent()->game->inPlay->hasType("battle")) + attackpwmenu = "Attack a Planeswalker"; + else if(!card->controller()->opponent()->game->inPlay->hasType("planeswalker") && card->controller()->opponent()->game->inPlay->hasType("battle")) + attackpwmenu = "Attack a Battle"; + else + attackpwmenu = "Attack Planeswalker or Battle"; + } else attackpwmenu = "Remove Attacker"; @@ -2158,7 +2164,7 @@ int MTGPlaneswalkerAttackRule::reactToClick(MTGCardInstance * card) for(int i = 0; i < checkWalkers;++i) { check = card->controller()->opponent()->game->battlefield->cards[i]; - if(check->hasType(Subtypes::TYPE_PLANESWALKER)) + if(check->hasType(Subtypes::TYPE_PLANESWALKER) || check->hasType(Subtypes::TYPE_BATTLE)) { MTGAbility * setPw = NEW AAPlaneswalkerAttacked(game, game->mLayers->actionLayer()->getMaxId(), card,check); MTGAbility * setWalker = setPw->clone(); @@ -2168,7 +2174,6 @@ int MTGPlaneswalkerAttackRule::reactToClick(MTGCardInstance * card) } } - if(selection.size()) { MTGAbility * a1 = NEW MenuAbility(game, this->GetId(), card, card,false,selection); @@ -3969,6 +3974,15 @@ int MTGPlaneswalkerDamage::receiveEvent(WEvent * event) } return 1; } + if (d->damage > 0 && card && card->hasType(Subtypes::TYPE_BATTLE)) + { + int howMany = d->damage; + for(int k = 0; k < howMany; k++) + { + card->counters->removeCounter("defense", 0, 0); + } + return 1; + } } if (WEventCounters * removel = dynamic_cast(event)) { @@ -3978,7 +3992,6 @@ int MTGPlaneswalkerDamage::receiveEvent(WEvent * event) removel->targetCard->toGrave(true); return 1; } - } return 0; } diff --git a/projects/mtg/src/Rules.cpp b/projects/mtg/src/Rules.cpp index 9f53e1db6..73082e17b 100644 --- a/projects/mtg/src/Rules.cpp +++ b/projects/mtg/src/Rules.cpp @@ -418,33 +418,20 @@ 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()); -#endif tempDeck->meta_commander = true; string lands[] = { "", "forest", "island", "mountain", "swamp", "plains", "basic", "basic" }; 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"); -#if !defined (PSP) - myCommandZone.reset(new DeckDataWrapper(cmdTempDeck.get())); -#else myCommandZone = NEW DeckDataWrapper(cmdTempDeck); -#endif commander = myCommandZone->getCard(0, true); } @@ -481,15 +468,6 @@ Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) 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); @@ -497,7 +475,6 @@ Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) player = NEW AIPlayerBaka(observer, deckFile, deckFileSmall, "", tempDeck); return player; -#endif } Player * Rules::loadPlayerHorde(GameObserver* observer, int isAI) diff --git a/projects/mtg/src/Subtypes.cpp b/projects/mtg/src/Subtypes.cpp index e1ce589a4..70c602865 100644 --- a/projects/mtg/src/Subtypes.cpp +++ b/projects/mtg/src/Subtypes.cpp @@ -26,6 +26,8 @@ Subtypes::Subtypes() find("Dungeon"); find("Emblem"); find("Conspiracy"); + find("Backgorund"); + find("Battle"); } int Subtypes::find(string value, bool forceAdd) @@ -97,7 +99,12 @@ bool Subtypes::isType(unsigned int type) type == TYPE_TRIBAL || type == TYPE_PLANE || type == TYPE_SCHEME || - type == TYPE_VANGUARD + type == TYPE_VANGUARD || + type == TYPE_DUNGEON || + type == TYPE_EMBLEM || + type == TYPE_CONSPIRACY || + type == TYPE_BACKGROUND || + type == TYPE_BATTLE ); } diff --git a/projects/mtg/src/TargetChooser.cpp b/projects/mtg/src/TargetChooser.cpp index 98ec1c747..c4f9b7583 100644 --- a/projects/mtg/src/TargetChooser.cpp +++ b/projects/mtg/src/TargetChooser.cpp @@ -141,19 +141,21 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta several = s.find(""); if (several != string::npos) maxtargets = TargetChooser::UNLITMITED_TARGETS; found = s.find("creature,planeswalker"); - if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker) + if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker, battle) found = s.find("planeswalker,creature"); - if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker) + if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker, battle) found = s.find("creature^planeswalker"); - if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker) + if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker, battle) found = s.find("planeswalker^creature"); - if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker) + if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker, battle) found = s.find("permanent"); - if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "permanent"); //Any player or permanet (player, creature, planeswalker, artifact, land, enchantment) + if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "permanent"); //Any player or permanent (player, creature, planeswalker, artifact, land, enchantment, battle) found = s.find("creature"); if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other); //2 Damageable target (player, creature) found = s.find("planeswalker"); if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "planeswalker"); //2 Damageable target (player, planeswalker) + found = s.find("battle"); + if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "battle"); //2 Damageable target (player, battle) return NEW PlayerTargetChooser(observer, card, maxtargets); //Any player } @@ -967,6 +969,7 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta cd->removeType("legendary"); cd->removeType("creature"); cd->removeType("planeswalker"); + cd->removeType("battle"); cd->removeType("tribal"); if (!cd->types.size()){ int i = rand() % 10000 + 1; @@ -1527,6 +1530,8 @@ TypeTargetChooser::TypeTargetChooser(GameObserver *observer, const char * _type, addType(id); id = MTGAllCards::findType("planeswalker"); addType(id); + id = MTGAllCards::findType("battle"); + addType(id); } else if(!strcmp(_type,"permanent")){ int id = MTGAllCards::findType("creature"); addType(id); @@ -1538,6 +1543,8 @@ TypeTargetChooser::TypeTargetChooser(GameObserver *observer, const char * _type, addType(id); id = MTGAllCards::findType("enchantment"); addType(id); + id = MTGAllCards::findType("battle"); + addType(id); } else { int id = MTGAllCards::findType(_type); addType(id); diff --git a/projects/mtg/src/WGui.cpp b/projects/mtg/src/WGui.cpp index 6e957d9ae..b9f37ab75 100644 --- a/projects/mtg/src/WGui.cpp +++ b/projects/mtg/src/WGui.cpp @@ -2112,6 +2112,9 @@ void WGuiFilterItem::updateValue() mParent->addArg("Sorcery", "t:Sorcery;"); mParent->addArg("Tribal", "t:Tribal;"); mParent->addArg("Planeswalker", "t:Planeswalker;"); + mParent->addArg("Battle", "t:Battle;"); + mParent->addArg("Dungeon", "t:Dungeon;"); + mParent->addArg("Conspiracy", "t:Conspiracy;"); } else if (filterType == FILTER_SUBTYPE) diff --git a/projects/mtg/src/WParsedInt.cpp b/projects/mtg/src/WParsedInt.cpp index 299edd8ae..30131c157 100644 --- a/projects/mtg/src/WParsedInt.cpp +++ b/projects/mtg/src/WParsedInt.cpp @@ -1184,6 +1184,8 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card) intValue++; if(card->hasType(Subtypes::TYPE_ARTIFACT)) intValue++; + if(card->hasType(Subtypes::TYPE_BATTLE)) + intValue++; } } else if (s == "pcycledcount" || s == "ocycledcount") //return how may cards have been cycled this turn from a specific player. @@ -1258,6 +1260,8 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card) cc = 1; if(cardHasTypeinZone("artifact",checkZone)) ac = 1; + if(cardHasTypeinZone("battle",checkZone)) + ac = 1; } } else { MTGGameZone * checkZone = (s.find("oppbattlefieldcardtypes")!=string::npos)?card->getObserver()->opponent()->game->inPlay:card->controller()->game->inPlay; @@ -1277,6 +1281,8 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card) cc = 1; if(cardHasTypeinZone("artifact",checkZone)) ac = 1; + if(cardHasTypeinZone("battle",checkZone)) + ac = 1; } intValue = pc+tc+sc+lc+ic+ec+cc+ac; } @@ -1303,6 +1309,8 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card) cc = 1; if(cardHasTypeinZone("artifact",checkZone)) ac = 1; + if(cardHasTypeinZone("battle",checkZone)) + ac = 1; } } else { MTGGameZone * checkZone = (s.find("oppgravecardtypes")!=string::npos)?card->getObserver()->opponent()->game->graveyard:card->controller()->game->graveyard; @@ -1322,6 +1330,8 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card) cc = 1; if(cardHasTypeinZone("artifact",checkZone)) ac = 1; + if(cardHasTypeinZone("battle",checkZone)) + ac = 1; } intValue = pc+tc+sc+lc+ic+ec+cc+ac; } @@ -1334,6 +1344,7 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card) (s.find("totcntart") != string::npos && card->controller()->game->inPlay->cards[j]->hasType(Subtypes::TYPE_ARTIFACT)) || (s.find("totcntenc") != string::npos && card->controller()->game->inPlay->cards[j]->hasType(Subtypes::TYPE_ENCHANTMENT)) || (s.find("totcntlan") != string::npos && card->controller()->game->inPlay->cards[j]->hasType(Subtypes::TYPE_LAND)) || + (s.find("totcntbat") != string::npos && card->controller()->game->inPlay->cards[j]->hasType(Subtypes::TYPE_BATTLE)) || s.find("totcntall") != string::npos){ if (card->controller()->game->inPlay->cards[j]->counters){ Counters * counters = card->controller()->game->inPlay->cards[j]->counters; diff --git a/tools/travis-script.sh b/tools/travis-script.sh index fabc2c4f2..8e02ff1e4 100755 --- a/tools/travis-script.sh +++ b/tools/travis-script.sh @@ -27,7 +27,7 @@ cd ../.. # we create resource package if [ "$BUILD_RES" = "YES" ] || [ "$BUILD_PSP" = "YES" ]; then cd projects/mtg/bin/Res - python createResourceZip.py + python2 createResourceZip.py # if we let the zip here, Wagic will use it in the testsuite # and we'll get 51 failed test cases mv core_*.zip ../../../../core.zip