Merge branch 'WagicProject:master' into master

This commit is contained in:
Eduardo MG
2023-05-13 15:57:47 -06:00
committed by GitHub
38 changed files with 4913 additions and 746 deletions
+17 -11
View File
@@ -9,7 +9,7 @@ before_install:
- export BUILD_ANDROID=YES - export BUILD_ANDROID=YES
- export BUILD_Qt=YES - export BUILD_Qt=YES
- export BUILD_MAC=NO - 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 - git lfs pull
# Only building on Mac when not handling pull request # Only building on Mac when not handling pull request
# - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then # - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
@@ -54,12 +54,16 @@ install:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64; export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64;
export PATH=$JAVA_HOME/bin:$PATH; export PATH=$JAVA_HOME/bin:$PATH;
fi fi
- sudo pip install --upgrade pip
- sudo pip install setuptools-rust - curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
- sudo pip install pyOpenSSL - sudo python2 get-pip.py
- sudo pip install pyjavaproperties - sudo python2 -m pip install --upgrade pip
- sudo pip install github3.py - sudo python2 -m pip install setuptools-rust
- sudo pip install cpp-coveralls - 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: before_script:
- export REQUESTS_CA_BUNDLE=/usr/local/lib/python2.7/dist-packages/certifi/cacert.pem - 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: after_success:
- coveralls -b . -e JGE/src -e JGE/include -i projects/mtg/include -i projects/mtg/src --gcov-options '\-lp' - 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 - export VERSION=$(grep "=" projects/mtg/build.number.properties | sed 's/.*=//' | tr -d '\n\t\r ')
- 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 - python2 tools/upload-binaries.py -t $GH_TOKEN2 -s $TRAVIS_COMMIT -l core.zip -r Wagic-core-$VERSION.zip -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 - 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
- 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 - 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
@@ -2774,7 +2774,7 @@ public class ImgDownloader {
if(id.equals("296754t") || id.equals("296741t") || id.equals("296730t") || id.equals("296728t") || id.equals("296723t") || 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 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"; 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"; 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 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"; 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"; 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 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"; 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"; 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"; 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"; 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"; 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 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"; 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 */* 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"; 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") || 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"; 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 else if (id.equals("3242t")) //Wall 0/2
tokenurl = "https://www.mtg.onl/static/18f8f17bbe1f81822efa4bed878b6437/4d406/PROXY_Wall_0_2.jpg"; 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"; 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 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"; 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"; 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 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"; 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"; 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 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"; 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"; 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 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"; 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 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") || else if(id.equals("17841t") || id.equals("17850t") || id.equals("17852t") || id.equals("19444t") || id.equals("294101t") ||
id.equals("294226t")) //Elf Warrior 1/1 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"; 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"; 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 */* 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"; 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"; tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/9/4/94e4345b-61b1-4026-a01c-c9f2036c5c8a.jpg?1637115661";
else if(id.equals("296943t")) else if(id.equals("296943t"))
tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/e/5/e5c0f400-41be-488b-be84-b07289b1ef62.jpg?1637115451"; 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; 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("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("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("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 false;
return true; return true;
} }
@@ -3683,7 +3693,7 @@ public class ImgDownloader {
set.equals("UNH") || set.equals("XLN") || set.equals("SOI") || set.equals("SOK") || 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("BOK") || set.equals("CHK") || set.equals("ZNR") || set.equals("KHM") ||
set.equals("STX") || set.equals("MID") || set.equals("CC2") || set.equals("VOW") || 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 = ""; rarity = "";
if(id != null && !rarity.equals("t") && (negativeId || id.equals("209162") || id.equals("209163") || id.equals("401721") || if(id != null && !rarity.equals("t") && (negativeId || id.equals("209162") || id.equals("209163") || id.equals("401721") ||
id.equals("401722") || id.equals("999902"))) 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") || 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("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("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 = ""; rarity = "";
int c = lines.indexOf("[/card]", lastIndex); int c = lines.indexOf("[/card]", lastIndex);
if (c > 0) 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("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("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("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 { try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get(); doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
Elements outlinks = doc.select("body a"); 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("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("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("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 { try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get(); doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
Elements outlinks = doc.select("body a"); 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("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("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("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 { try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get(); doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
} catch (Exception e) { } 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("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("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("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"); Elements metadata = doc.select("head meta");
if(metadata != null) { if(metadata != null) {
for (int j = 0; j < metadata.size(); j++){ for (int j = 0; j < metadata.size(); j++){
+145 -57
View File
@@ -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;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;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;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;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;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 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;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;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;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;597905;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;597906;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;597907;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;597908;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;597909;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;597910;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;597911;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;597912;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;597913;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;597914;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;597915;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;597916;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;597917;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;597918;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;597919;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;597920;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;597921;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;597922;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;597923;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;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;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;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;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 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;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;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;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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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/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;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;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 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;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;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 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;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;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 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;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;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 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;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;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 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;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;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;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;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;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 MOM;610515;https://cards.scryfall.io/large/front/1/5/151ba146-78fa-48de-b289-99f03b935794.jpg
Can't render this file because it is too large.
+81 -89
View File
@@ -1,90 +1,82 @@
#NAME:Omnath Commander #NAME:Omnath Commander 2023
#DESC:The Budget league Omnath Deck #DESC:Deck concept by HurricaneHands
#DESC:(tappedout.net)
#DESC:Refined for Wagic by Bob
#HINT:castpriority(commander,*) #HINT:castpriority(commander,*)
Smokebraider (*) *1 Ancient Greenwarden
Cloudkin Seer (*) *1 Avenger of Zendikar
Flickerwisp (*) *1 Azusa, Lost but Seeking
Kazandu Mammoth (*) *1 Blighted Woodland
Risen Reef (*) *1 Cinder Glade
Soulherder (*) *1 Circuitous Route
Springbloom Druid (*) *1 Command Tower
Angel of Finality (*) *1 Commander's Sphere
Archaeomancer (*) *1 Court of Bounty
Emeria Angel (*) *1 Courser of Kruphix
Felidar Guardian (*) *1 Crash of Rhino Beetles
Mina and Denn, Wildborn (*) *1 Crucible of Worlds
Slithermuse (*) *1 Cultivate
Acidic Slime (*) *1 Doubling Season
Cataclysmic Gearhulk (*) *1 Dragonmaster Outcast
Cavalier of Thorns (*) *1 Elvish Reclaimer
Mnemonic Wall (*) *1 Evolving Wilds
Mulldrifter (*) *1 Explore
Yorion, Sky Nomad (*) *1 Farseek
Multani, Yavimaya's Avatar (*) *1 Far Wanderings
Phylath, World Sculptor (*) *1 Feed the Clan
Rampaging Baloths (*) *1 Fiery Emancipation
Omnath, Locus of Rage (*) *1 Forest (ZEN) *4
Ephemerate (*) *1 Forest (ONE) *4
Gelatinous Genesis (*) *1 Forest (NEO) *4
Path to Exile (*) *1 Forest (SNC) *4
Spikefield Hazard (*) *1 Forest (M10) *4
Wildest Dreams (*) *1 Forest
Disdainful Stroke (*) *1 Gaea's Revenge
Growth Spiral (*) *1 Gruul Guildgate
Reap the Past (*) *1 Harrow
Sejiri Shelter (*) *1 Incandescent Soulstoke
Starstorm (*) *1 Khalni Heart Expedition
Eerie Interlude (*) *1 Liege of the Tangle
Far Wanderings (*) *1 Lotus Cobra
Ghostly Flicker (*) *1 Mina and Denn, Wildborn
Harrow (*) *1 Mountain (ONE) *4
Release to the Wind (*) *1 Mountain (NEO) *4
Roiling Regrowth (*) *1 Mountain *4
Silundi Vision (*) *1 Multani, Yavimaya's Avatar
Whirlwind Denial (*) *1 Myriad Landscape
Circuitous Route (*) *1 Naturalize (8ED)
Crush Contraband (*) *1 Nissa's Renewal
Fact or Fiction (*) *1 Nissa, Vastwood Seer
Summary Dismissal (*) *1 Nissa, Worldwaker
Sylvan Reclamation (*) *1 Nissa's Zendikon
Time Wipe (*) *1 Nyxbloom Ancient
Tragic Arrogance (*) *1 Phylath, World Sculpture
Urban Evolution (*) *1 Phytotitan
Austere Command (*) *1 Radha, Heart of Keld
Hour of Revelation (*) *1 Rampaging Baloths
Nissa's Renewal (*) *1 Rampant Growth
Sublime Epiphany (*) *1 Ranger's Path
Ondu Inversion (*) *1 Rhythm of the Wild
Khalni Heart Expedition (*) *1 Rites of Flourishing
Rites of Flourishing (*) *1 Roiling Regrowth
Court of Bounty (*) *1 Rootbound Crag
Felidar Retreat (*) *1 Rubblehulk
Retreat to Emeria (*) *1 Sarkhan's Unsealing
Wilderness Reclamation (*) *1 Scute Mob
Zendikar's Roil (*) *1 Scute Swarm
Blighted Woodland (*) *1 Second Harvest
Command Tower (*) *1 Skyshroud Claim
Evolving Wilds (*) *1 Sol Ring
Exotic Orchard (*) *1 Temple of Abandon
Field of Ruin (*) *1 Terramorphic Expanse
Forest (*) *7 Terror of the Peaks
Frontier Bivouac (*) *1 Thicket Crasher
Gruul Guildgate (*) *1 Tornado Elemental
Gruul Turf (*) *1 Undergrowth Champion
Island (*) *3 Vandalblast
Jungle Shrine (*) *1 Warstorm Surge
Krosan Verge (*) *1 Where Ancients Tread
Mountain (*) *4 Wooded Foothills
Myriad Landscape (*) *1 Zendikar Incarnate
Mystic Monastery (*) *1 Zendikar's Roil
Naya Panorama (*) *1 #CMD:Omnath, Locus of Rage (*) *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
+4 -2
View File
@@ -49,7 +49,8 @@ def createStandardResFile(filename):
if not filename: if not filename:
filename = getFilename() + '.zip' filename = getFilename() + '.zip'
createResZipFile( filename ) 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): def createIosResFile(filename):
print('Preparing Resource Package for iOS') 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.write("../../iOS/Res/rules/modrules.xml", "rules/modrules.xml", zipfile.ZIP_STORED)
zip_file.close() 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: class ZipUtilities:
@@ -60,7 +60,7 @@ name=Portal Mage
abilities=flash abilities=flash
auto=phasealter(remove,combatphases,controller) auto=phasealter(remove,combatphases,controller)
auto=nextphasealter(add,combatphases,controller,after<combatends>) auto=nextphasealter(add,combatphases,controller,after<combatends>)
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} mana={2}{U}
type=Creature type=Creature
subtype=Human Wizard subtype=Human Wizard
@@ -78,7 +78,7 @@ name=Portal Mage
abilities=flash abilities=flash
auto=phasealter(remove,combatphases,controller) auto=phasealter(remove,combatphases,controller)
auto=nextphasealter(add,combatphases,controller,after<combatends>) auto=nextphasealter(add,combatphases,controller,after<combatends>)
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} mana={2}{U}
type=Creature type=Creature
subtype=Human Wizard subtype=Human Wizard
@@ -1,6 +1,6 @@
[card] [card]
name=Nerf War 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} mana={3}{U}{R}
type=Sorcery type=Sorcery
[/card] [/card]
@@ -1,4 +1,313 @@
[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=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 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. 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 type=Plane
@@ -114,6 +423,125 @@ type=Plane
subtype=Dominaria subtype=Dominaria
[/card] [/card]
[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 <upto:1> target(creature|myBattlefield) && <upto:1> 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 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.") 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} mana={2}
@@ -126,8 +554,315 @@ mana={3}
type=Artifact type=Artifact
[/card] [/card]
[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 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. 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} mana={G}{W}
type=Instant type=Instant
[/card] [/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 <upto:2> 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<upto:1> 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)<upto: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]
@@ -169,7 +169,7 @@ toughness=5
[/card] [/card]
[card] [card]
name=Horizon Boughs 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 type=Plane
subtype=Pyrulea subtype=Pyrulea
[/card] [/card]
@@ -208,7 +208,7 @@ type=Land
[/card] [/card]
[card] [card]
name=Mirrored Depths 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 type=Plane
subtype=Karsus subtype=Karsus
[/card] [/card]
@@ -473,7 +473,7 @@ type=Enchantment
[/card] [/card]
[card] [card]
name=Red-Hot Hottie 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} mana={2}{R}{R}
type=Creature type=Creature
subtype=Elemental subtype=Elemental
@@ -619,7 +619,7 @@ toughness=6
[/card] [/card]
[card] [card]
name=Shellephant 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} mana={1}{G}{G}
type=Creature type=Creature
subtype=Turtle and/or Elephant subtype=Turtle and/or Elephant
@@ -84,8 +84,6 @@ Glimmer Lens
Elesh Norn, Mother of Machines Elesh Norn, Mother of Machines
Melira, the Living Cure Melira, the Living Cure
Thrun, Breaker of Silence Thrun, Breaker of Silence
Jor Kadeen, First Goldwarden
Kemba, Kha Enduring
Soulless Jailer Soulless Jailer
Mercurial Spelldancer Mercurial Spelldancer
Tablet of Compleation Tablet of Compleation
@@ -101,10 +99,8 @@ Kinzu of the Bleak Coven
Serum Snare Serum Snare
Red Sun's Twilight Red Sun's Twilight
Urabrask's Forge Urabrask's Forge
Vindictive Flamestoker
Font of Progress Font of Progress
Green Sun's Twilight Green Sun's Twilight
Venerated Rotpriest
Ichormoon Gauntlet Ichormoon Gauntlet
Conduit of Worlds Conduit of Worlds
Mirran Safehouse Mirran Safehouse
@@ -128,10 +124,8 @@ Kethek, Crucible Goliath
Atraxa, Grand Unifier Atraxa, Grand Unifier
Ezuri, Stalker of Spheres Ezuri, Stalker of Spheres
Ovika, Enigma Goliath Ovika, Enigma Goliath
Urabrask's Anointer
Ria Ivor, Bane of Bladehold Ria Ivor, Bane of Bladehold
Malcator, Purity Overseer Malcator, Purity Overseer
Furnace Punisher
Necrogen Rotpriest Necrogen Rotpriest
Venser, Corpse Puppet Venser, Corpse Puppet
Slobad, Iron Goblin Slobad, Iron Goblin
@@ -149,39 +143,30 @@ Tyvar, Jubilant Brawler
Lukka, Bound to Ruin Lukka, Bound to Ruin
Vraska, Betrayal's Sting Vraska, Betrayal's Sting
The Eternal Wanderer The Eternal Wanderer
Tamiyo's Logbook
Maze's Mantle Maze's Mantle
Lattice-Blade Mantis Lattice-Blade Mantis
Noxious Assault Noxious Assault
Plague Nurse Plague Nurse
Porcelain Zealot Porcelain Zealot
Vanish into Eternity Vanish into Eternity
Armored Scrapgorger
Kuldotha Cackler
Magmatic Sprinter Magmatic Sprinter
Nahiri's Sacrifice Nahiri's Sacrifice
Molten Rebuke Molten Rebuke
Rebel Salvo Rebel Salvo
Shrapnel Slinger
Compleat Devotion Compleat Devotion
Churning Reservoir Churning Reservoir
Bladehold War-Whip Bladehold War-Whip
Forgehammer Centurion Forgehammer Centurion
Slaughter Singer Slaughter Singer
Flensing Raptor Flensing Raptor
Indoctrination Attendant
Hexgold Slash Hexgold Slash
Incisor Glider
Phyrexian Atlas
Awaken the Sleeper Awaken the Sleeper
All Will Be One All Will Be One
Against All Odds Against All Odds
Bladegraft Aspirant Bladegraft Aspirant
Cacophony Scamp Cacophony Scamp
Ravenous Necrotitan
Scheming Aspirant Scheming Aspirant
Ichorplate Golem Ichorplate Golem
Fleshless Gladiator
Serum-Core Chimera Serum-Core Chimera
Tainted Observer Tainted Observer
Necrosquito Necrosquito
@@ -192,7 +177,6 @@ Cruel Grimnarch
Viral Spawning Viral Spawning
Venomous Brutalizer Venomous Brutalizer
Trawler Drake Trawler Drake
Ambulatory Edifice
Watchful Blisterzoa Watchful Blisterzoa
Cinderslash Ravager Cinderslash Ravager
Anoint with Affliction Anoint with Affliction
@@ -218,78 +202,30 @@ Tiller Engine
Unite the Coalition Unite the Coalition
Verrak, Warped Sengir Verrak, Warped Sengir
Gerrard's Hourglass Pendant 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 The Mana Rig
Saint Traft and Rem Karolus Xira, the Golden Sting
Rashmi and Ragavan Tobias, Doomed Conqueror
Elenda and Azor Tetsuo, Imperial Champion
Elspeth's Talent Torsten, Founder of Benalia
Teferi's Talent Tor Wauki the Younger
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
Stensia Stensia
Krosa Krosa
Sokenzan Sokenzan
Gavony Gavony
Jund 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 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 Chandra, Hope's Beacon
Invasion of Azgol Invasion of Azgol
Invasion of Amonkhet Invasion of Amonkhet
@@ -786,7 +722,6 @@ Greasefang, Okiba Boss
Tales of Master Seshiro Tales of Master Seshiro
Storyweave Storyweave
Spinning Wheel Kick Spinning Wheel Kick
Shigeki, Jukai Visionary
Leech Gauntlet Leech Gauntlet
Webspinner Cuff Webspinner Cuff
Kami of Terrible Secrets Kami of Terrible Secrets
@@ -840,7 +775,6 @@ The Shattered States Era
Seismic Wave Seismic Wave
Behold the Unspeakable Behold the Unspeakable
Roadside Reliquary Roadside Reliquary
Dokuchi Silencer
Awakened Awareness Awakened Awareness
Otawara, Soaring City Otawara, Soaring City
Heiko Yamazaki, the General Heiko Yamazaki, the General
@@ -863,7 +797,6 @@ Reckoner Bankbuster
Norika Yamazaki, the Poet Norika Yamazaki, the Poet
The Reality Chip The Reality Chip
Flame Discharge Flame Discharge
Tameshi, Reality Architect
Michiko's Reign of Truth Michiko's Reign of Truth
Mirror Box Mirror Box
Blade of the Oni Blade of the Oni
@@ -882,7 +815,6 @@ Assassin's Ink
Chainflail Centipede Chainflail Centipede
Go-Shintai of Boundless Vigor Go-Shintai of Boundless Vigor
Reality Heist Reality Heist
Planar Incision
Harmonious Emergence Harmonious Emergence
The Modern Age The Modern Age
Mobilizer Mech Mobilizer Mech
@@ -906,7 +838,6 @@ Farid, Enterprising Salvager
Hexavus Hexavus
Kayla's Music Box Kayla's Music Box
Machine God's Effigy Machine God's Effigy
Scavenged Brawler
Smelting Vat Smelting Vat
Scholar of New Horizons Scholar of New Horizons
The Brothers' War The Brothers' War
@@ -934,12 +865,8 @@ Phyrexian Fleshgorger
Hostile Negotiations Hostile Negotiations
Dreams of Steel and Oil Dreams of Steel and Oil
Junkyard Genius Junkyard Genius
Carrion Locust
Gix's Command Gix's Command
Battlefield Butcher
Kill-Zone Acrobat
Visions of Phyrexia Visions of Phyrexia
Skitterbeam Battalion
Gurgling Anointer Gurgling Anointer
Over the Top Over the Top
Mechanized Warfare Mechanized Warfare
@@ -975,25 +902,19 @@ Weakstone's Subjugation
Zephyr Sentinel Zephyr Sentinel
Wasteful Harvest Wasteful Harvest
Urza, Powerstone Prodigy Urza, Powerstone Prodigy
Shoot Down
Soul Partition Soul Partition
Tawnos's Tinkering
Sarinth Steelseeker Sarinth Steelseeker
Stone Retrieval Unit Stone Retrieval Unit
Steel Exemplar Steel Exemplar
The Stone Brain The Stone Brain
The Stasis Coffin The Stasis Coffin
Slagstone Refinery Slagstone Refinery
Power Plant Worker
Demolition Field
Excavation Explosion Excavation Explosion
Tower Worker
Thran Power Suit Thran Power Suit
Thran Spider Thran Spider
Symmetry Matrix Symmetry Matrix
Mishra, Claimed by Gix Mishra, Claimed by Gix
The Mightstone and Weakstone The Mightstone and Weakstone
Recommission
Repair and Recharge Repair and Recharge
Powerstone Engineer Powerstone Engineer
Horned Stoneseeker Horned Stoneseeker
@@ -1003,7 +924,6 @@ Meticulous Excavation
Sardian Cliffstomper Sardian Cliffstomper
Tomakul Scrapsmith Tomakul Scrapsmith
Sibling Rivalry Sibling Rivalry
Raze to the Ground
Static Net Static Net
Great Desert Prospector Great Desert Prospector
Liberator, Urza's Battlethopter Liberator, Urza's Battlethopter
@@ -1016,4 +936,3 @@ Bladecoil Serpent
Sarinth Greatwurm Sarinth Greatwurm
Skyfisher Spider Skyfisher Spider
Saheeli, Filigree Master Saheeli, Filigree Master
Mine Worker
+411 -1
View File
@@ -2,9 +2,419 @@
author=Wagic Team author=Wagic Team
name=Commander Legends: Battle for Baldur's Gate name=Commander Legends: Battle for Baldur's Gate
year=2022-06-10 year=2022-06-10
total=849 total=933
[/meta] [/meta]
[card] [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 primitive=Undercity
id=57018400 id=57018400
rarity=T rarity=T
+101 -1
View File
@@ -2,7 +2,7 @@
author=Wagic Team author=Wagic Team
name=Dominaria United Commander name=Dominaria United Commander
year=2022-09-09 year=2022-09-09
total=241 total=219
[/meta] [/meta]
[card] [card]
primitive=Dihada, Binder of Wills primitive=Dihada, Binder of Wills
@@ -145,6 +145,106 @@ id=580494
rarity=M rarity=M
[/card] [/card]
[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 primitive=Dihada, Binder of Wills
id=578711 id=578711
rarity=M rarity=M
File diff suppressed because it is too large Load Diff
+396 -1
View File
@@ -2,9 +2,404 @@
author=Wagic Team author=Wagic Team
name=March of the Machine Commander name=March of the Machine Commander
year=2023-04-21 year=2023-04-21
total=451 total=530
[/meta] [/meta]
[card] [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 primitive=Bright-Palm, Soul Awakener
id=612004 id=612004
rarity=M rarity=M
+101 -11
View File
@@ -2,9 +2,109 @@
author=Wagic Team author=Wagic Team
name=March of the Machine name=March of the Machine
year=2023-04-21 year=2023-04-21
total=463 total=471
[/meta] [/meta]
[card] [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 primitive=Invasion of Ravnica
id=607011 id=607011
rarity=M rarity=M
@@ -1765,16 +1865,6 @@ id=610390
rarity=L rarity=L
[/card] [/card]
[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 primitive=Heliod, the Radiant Dawn
id=610513 id=610513
rarity=R rarity=R
@@ -160,7 +160,7 @@
# Learn # 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 #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 #AUTO_DEFINE _SPECTACLE_ compare(oplifelost)~morethan~0
# Extort # Extort
File diff suppressed because it is too large Load Diff
+46 -44
View File
@@ -176,7 +176,7 @@ toughness=6
[/card] [/card]
[card] [card]
name=Aboroth 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.) 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} mana={4}{G}{G}
type=Creature type=Creature
@@ -2427,7 +2427,7 @@ toughness=1
[card] [card]
name=Alabaster Potion name=Alabaster Potion
auto=choice life:X target(player) 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. 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} mana={X}{W}{W}
type=Instant type=Instant
@@ -7323,7 +7323,7 @@ toughness=8
name=Avacyn, Guardian Angel name=Avacyn, Guardian Angel
abilities=flying,vigilance abilities=flying,vigilance
auto={1}{W}:name(Prevent white damage) target(other creature) transforms((,newability[preventalldamage from(*[white])] )) ueot 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 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 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 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 name=Bane of the Living
facedown={3} facedown={3}
autofacedown={X}{B}{B}:morph 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. 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} mana={2}{B}{B}
type=Creature type=Creature
@@ -10163,7 +10163,7 @@ toughness=3
name=Beckon Apparition name=Beckon Apparition
target=*|graveyard target=*|graveyard
auto=moveTo(exile) 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. text=Exile target card from a graveyard. Put a 1/1 white and black Spirit creature token with flying onto the battlefield.
mana={WB} mana={WB}
type=Instant type=Instant
@@ -11961,7 +11961,7 @@ toughness=3
name=Blizzard name=Blizzard
restriction=control snow land restriction=control snow land
auto=cumulativeupcost[{2}] sacrifice 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. 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} mana={G}{G}
type=Enchantment type=Enchantment
@@ -21629,7 +21629,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Complex Automaton 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. text=At the beginning of your upkeep, if you control seven or more permanents, return Complex Automaton to its owner's hand.
mana={4} mana={4}
type=Artifact Creature type=Artifact Creature
@@ -22152,7 +22152,7 @@ type=Instant
[card] [card]
name=Consuming Vapors name=Consuming Vapors
target=player target=player
auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt toughnesslifegain abilitycontroller!> sacrifice ) !$ targetedplayer auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt toughnesslifegain abilitycontroller!> sacrifice !$ targetedplayer
auto=_REBOUND_ 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.) 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} mana={3}{B}
@@ -27892,7 +27892,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Defender en-Vec 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 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. 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} mana={3}{W}
@@ -30706,7 +30706,7 @@ toughness=6
[/card] [/card]
[card] [card]
name=Door of Destinies 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. 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} mana={4}
type=Artifact type=Artifact
@@ -45556,7 +45556,7 @@ toughness=0
name=Ghave, Guru of Spores name=Ghave, Guru of Spores
auto=counter(1/1,5) auto=counter(1/1,5)
auto={1}{C(1/1,-1),creature|mybattlefield}:_SAPROLINGTOKEN_ 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. 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} mana={2}{B}{G}{W}
type=Legendary Creature type=Legendary Creature
@@ -47429,7 +47429,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Goblin Artillery 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. text={T}: Goblin Artillery deals 2 damage to target creature or player and 3 damage to you.
mana={1}{R}{R} mana={1}{R}{R}
type=Creature type=Creature
@@ -48173,7 +48173,7 @@ toughness=2
[card] [card]
name=Goblin Ringleader name=Goblin Ringleader
abilities=haste 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 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. 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} mana={3}{R}
@@ -49550,7 +49550,7 @@ toughness=2
[card] [card]
name=Grave Strength name=Grave Strength
target=creature target=creature
auto=deplete:3 auto=deplete:3 controller
auto=foreach(creature|mygraveyard) counter(1/1) 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. 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} mana={1}{B}
@@ -63446,7 +63446,8 @@ toughness=4
[/card] [/card]
[card] [card]
name=Kjeldoran Gargoyle 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. text=Flying, first strike -- Whenever Kjeldoran Gargoyle deals damage, you gain that much life.
mana={5}{W} mana={5}{W}
type=Creature type=Creature
@@ -67665,14 +67666,14 @@ subtype=Aura
[/card] [/card]
[card] [card]
name=Living Death 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. 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} mana={3}{B}{B}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Living End 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. 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} mana={0}
color=black color=black
@@ -68370,7 +68371,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Lore Broker 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. text={T}: Each player draws a card, then discards a card.
mana={1}{U} mana={1}{U}
type=Creature type=Creature
@@ -71682,7 +71683,7 @@ subtype=Equipment
[card] [card]
name=Mask of the Mimic name=Mask of the Mimic
target=creature[-token] 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. 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)} mana={U}{S(creature|mybattlefield)}
type=Instant type=Instant
@@ -78421,7 +78422,7 @@ type=Sorcery
[card] [card]
name=Natural Selection name=Natural Selection
target=player 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 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. 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} mana={G}
@@ -80363,7 +80364,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Nivmagus Elemental 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.) 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) other={convoke} name(Convoke)
mana={UR} mana={UR}
@@ -84830,7 +84831,7 @@ toughness=7
[card] [card]
name=Patron of the Valiant name=Patron of the Valiant
abilities=flying 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. 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} mana={3}{W}{W}
type=Creature type=Creature
@@ -86652,7 +86653,7 @@ toughness=2
name=Pick the Brain name=Pick the Brain
target=opponent 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 )! 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. 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} mana={2}{B}
type=Sorcery type=Sorcery
@@ -87097,7 +87098,7 @@ toughness=1
[card] [card]
name=Plagiarize name=Plagiarize
target=opponent 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. 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} mana={3}{U}
type=Instant type=Instant
@@ -87320,7 +87321,7 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Planar Guide 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. 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} mana={W}
type=Creature type=Creature
@@ -92742,7 +92743,7 @@ toughness=2
name=Realm Seekers name=Realm Seekers
auto=counter(1/1,type:*:hand) auto=counter(1/1,type:*:hand)
aicode=activate target(land|mylibrary) moveto(myhand) 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. 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} mana={4}{G}{G}
type=Creature type=Creature
@@ -94976,7 +94977,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Rewards of Diversity 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. text=Whenever an opponent casts a multicolored spell, you gain 4 life.
mana={2}{W} mana={2}{W}
type=Enchantment type=Enchantment
@@ -95158,7 +95159,7 @@ subtype=Arcane
[card] [card]
name=Riddle of Lightning 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 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.) 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} mana={3}{R}{R}
type=Instant type=Instant
@@ -96108,7 +96109,7 @@ toughness=5
name=Rix Maadi Guildmage name=Rix Maadi Guildmage
auto={B}{R}:name(target creature -1/-1) target(creature[blocking]) -1/-1 ueot 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 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. 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} mana={B}{R}
type=Creature type=Creature
@@ -100501,7 +100502,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Scrap Mastery 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. 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} mana={3}{R}{R}
type=Sorcery type=Sorcery
@@ -103630,7 +103631,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Shattered Perception name=Shattered Perception
auto=all(*|myhand) transforms((,newability[draw:1],newability[reject])])) auto=all(*|myhand) transforms((,newability[draw:1],newability[reject]))
flashback={5}{R} flashback={5}{R}
text=Discard all the cards in your hand, then draw that many card. -- Flashback {5}{R} text=Discard all the cards in your hand, then draw that many card. -- Flashback {5}{R}
mana={2}{R} mana={2}{R}
@@ -104427,7 +104428,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Shock name=Shock
target=creature,player target=player,creature,planeswalker
auto=Damage:2 auto=Damage:2
text=Shock deals 2 damage to target creature or player. text=Shock deals 2 damage to target creature or player.
mana={R} mana={R}
@@ -109016,7 +109017,7 @@ toughness=1
[card] [card]
name=Soldier of the Pantheon name=Soldier of the Pantheon
auto=protection from(*[multicolor]) 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. text=Protection from multicolored. -- Whenever an opponent casts a multicolored spell, you gain 1 life.
mana={W} mana={W}
type=Creature type=Creature
@@ -109507,7 +109508,7 @@ toughness=2
[card] [card]
name=Soratami Seer name=Soratami Seer
abilities=flying 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. 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} mana={4}{U}
type=Creature type=Creature
@@ -113871,7 +113872,7 @@ subtype=Aura
name=Stonehewer Giant name=Stonehewer Giant
abilities=vigilance abilities=vigilance
aicode=activate moveTo(myBattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)! target(equipment|myLibrary) 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. 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} mana={3}{W}{W}
type=Creature type=Creature
@@ -118383,8 +118384,8 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Teferi's Realm 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 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 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) 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.) 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} mana={1}{U}{U}
@@ -119435,7 +119436,7 @@ toughness=3
name=Teysa, Envoy of Ghosts name=Teysa, Envoy of Ghosts
abilities=Vigilance abilities=Vigilance
auto=protection from(creature) 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. 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} mana={5}{W}{B}
type=Legendary Creature type=Legendary Creature
@@ -120523,7 +120524,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Thoughtflare 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. text=Draw four cards, then discard two cards.
mana={3}{U}{R} mana={3}{U}{R}
type=Instant type=Instant
@@ -120556,7 +120557,7 @@ type=Enchantment
[card] [card]
name=Thoughtpicker Witch name=Thoughtpicker Witch
aicode=activate transforms((,newability[choice all(*[zpos=2]|targetedpersonslibrary) moveto(exile)],newability[choice all(*[zpos=1]|targetedpersonslibrary) moveto(exile)])) ueot 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. text={1}, Sacrifice a creature: Look at the top two cards of target opponent's library, then exile one of them.
mana={B} mana={B}
type=Creature type=Creature
@@ -123472,7 +123473,7 @@ type=Instant
[card] [card]
name=Trap Digger name=Trap Digger
auto={2}{w}{t}:counter(0/0,1,Trap) target(land|mybattlefield) 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. 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} mana={3}{W}
type=Creature type=Creature
@@ -123711,7 +123712,8 @@ toughness=2
[/card] [/card]
[card] [card]
name=Treasure Hunt 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. 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} mana={1}{U}
type=Sorcery type=Sorcery
@@ -125077,7 +125079,7 @@ type=Instant
[card] [card]
name=Twisted Justice name=Twisted Justice
target=player target=player
auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt powerdraw abilitycontroller!> sacrifice ) !$ targetedplayer auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt powerdraw abilitycontroller!> sacrifice !$ targetedplayer
text=Target player sacrifices a creature. You draw cards equal to that creature's power. text=Target player sacrifices a creature. You draw cards equal to that creature's power.
mana={4}{U}{B} mana={4}{U}{B}
type=Sorcery type=Sorcery
@@ -126801,7 +126803,7 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Urza's Guilt 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. text=Each player draws two cards, then discards three cards, then loses 4 life.
mana={2}{U}{B} mana={2}{U}{B}
type=Sorcery type=Sorcery
@@ -783,7 +783,7 @@ name=Dovin, Grand Arbiter
auto=counter(0/0,3,loyalty) auto=counter(0/0,3,loyalty)
aicode=activate target(*[zpos<=10]|mylibrary) moveto(myhand) 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: 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 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. 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} mana={1}{W}{U}
@@ -1943,7 +1943,7 @@ name=Mordenkainen
auto=counter(0/0,5,Loyalty) 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: 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,-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." 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} mana={4}{U}{U}
type=Legendary Planeswalker 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,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(<upto:1>land|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend revealend 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(<upto:1>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(<upto:1>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[zpos=1]|mylibrary)~morethan~0} name(+0: Look top card) reveal:1 optionone name(Put on battlefield) target(<upto:1>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(<upto:2>land|mybattlefield) transforms((Creature Elemental,setpower=5,settoughness=5,newability[haste],newability[flying],newability[untap])) ueot auto={C(0/0,-6,Loyalty)}:name(-6: Two lands become creatures 5/5 with flying) target(<upto:2>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. 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} mana={X}{G}{U}
@@ -2272,7 +2272,7 @@ subtype=Nissa
name=Ob Nixilis of the Black Oath name=Ob Nixilis of the Black Oath
abilities=canbecommander abilities=canbecommander
auto=counter(0/0,3,loyalty) 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,-2,Loyalty)}:name(-2: Create a 5/5 black Demon with flying...) token(Demon,Creature Demon,5/5,black,flying) && life:-2 controller
auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "{1}{B}, sacrifice a creature: Draw X and gain X life") emblem transforms((,newability[{1}{B}{S(creature|myBattlefield)}:draw:storedpower && life:storedpower])) forever dontremove auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "{1}{B}, sacrifice a creature: Draw X and gain X life") emblem transforms((,newability[{1}{B}{S(creature|myBattlefield)}:draw:storedpower && life:storedpower])) forever dontremove
text=+2: Each opponent loses 1 life. You gain life equal to the life lost this way. -- -2: Create a 5/5 black Demon creature token with flying. You lose 2 life. -- -8: You get an emblem with "{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature's power." -- Ob Nixilis of the Black Oath can be your commander. 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] [card]
name=Tezzeret, Artifice Master name=Tezzeret, Artifice Master
auto=counter(0/0,5,loyalty) 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,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 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." 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] [card]
name=Ugin, the Spirit Dragon name=Ugin, the Spirit Dragon
auto=counter(0/0,7,loyalty) 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,-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,-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]) 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])
@@ -2,7 +2,7 @@ grade=unsupported
#The cards in this file are not implemented/incomplete yet. #The cards in this file are not implemented/incomplete yet.
#Updated Card lists not in primitives (Borderline, Crappy, Unsupported and Missing Cards) #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 #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] [card]
name="Ach! Hans, Run!" 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. 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 type=Scheme
[/card] [/card]
[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 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. 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} mana={2}{W}
@@ -161,6 +137,30 @@ mana={B}
type=Instant type=Instant
[/card] [/card]
[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 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.) 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} mana={2}
@@ -755,6 +755,14 @@ type=Artifact
subtype=Contraption subtype=Contraption
[/card] [/card]
[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 name=Behold the Power of Destruction
text=When you set this scheme in motion, destroy all nonland permanents target opponent controls. text=When you set this scheme in motion, destroy all nonland permanents target opponent controls.
type=Scheme type=Scheme
@@ -880,6 +888,17 @@ type=Instant
subtype=Arcane subtype=Arcane
[/card] [/card]
[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 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. 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} mana={2}{B}{R}
@@ -1072,6 +1091,17 @@ mana={1}{R}
type=Instant type=Instant
[/card] [/card]
[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 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. 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} mana={W}{W}{U}{U}{U}{B}{B}
@@ -1823,6 +1853,18 @@ mana={2}{U}{U}
type=Enchantment type=Enchantment
[/card] [/card]
[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 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. 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} mana={3}{R}{R}
@@ -2083,6 +2125,17 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[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 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. 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} mana={U}
@@ -2111,6 +2164,15 @@ mana={2}
type=Artifact type=Artifact
[/card] [/card]
[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 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. 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 type=Scheme
@@ -2619,12 +2681,6 @@ power=3{1/2}
toughness=2 toughness=2
[/card] [/card]
[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 name=Dungeon Master
auto=counter(0/0,1,loyalty) 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 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 subtype=Dungeon Master
[/card] [/card]
[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 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. 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} mana={3}{U}{U}
@@ -2699,6 +2761,19 @@ type=Enchantment
subtype=Aura subtype=Aura
[/card] [/card]
[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 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. 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} mana={3}{R}
@@ -2711,6 +2786,19 @@ type=Plane
subtype=Shandalar subtype=Shandalar
[/card] [/card]
[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 name=Elvish House Party
text=Elvish House Party's power and toughness are each equal to the current hour, using the twelve-hour system. text=Elvish House Party's power and toughness are each equal to the current hour, using the twelve-hour system.
mana={4}{G}{G} mana={4}{G}{G}
@@ -2752,6 +2840,16 @@ power=0
toughness=1 toughness=1
[/card] [/card]
[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 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. 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} mana={5}{R}
@@ -2788,6 +2886,14 @@ mana={3}{U}{U}
type=Enchantment type=Enchantment
[/card] [/card]
[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 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. 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} mana={1}{R}
@@ -2895,6 +3001,15 @@ mana={X}{U}
type=Instant type=Instant
[/card] [/card]
[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 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." 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} mana={U}
@@ -3266,6 +3381,17 @@ mana={X}{G}{G}
type=Sorcery type=Sorcery
[/card] [/card]
[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 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. 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} mana={2}{U}{B}
@@ -3393,7 +3519,7 @@ toughness=3
[/card] [/card]
[card] [card]
name=Fraternal Exaltation 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} mana={U}{U}{U}{U}
type=Sorcery type=Sorcery
[/card] [/card]
@@ -3639,6 +3765,16 @@ type=Summon
subtype=Ogre subtype=Ogre
[/card] [/card]
[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 name=Ghostly Flame
text=Black and/or red permanents and spells are colorless sources of damage. text=Black and/or red permanents and spells are colorless sources of damage.
mana={B}{R} mana={B}{R}
@@ -3699,7 +3835,7 @@ subtype=Aura
[/card] [/card]
[card] [card]
name=Gifts Given name=Gifts Given
text=Search target opponents library for four cards with different names and reveal them. That player chooses two of those cards. Put the chosen cards into the players 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} mana={3}{U}
type=Instant type=Instant
[/card] [/card]
@@ -3727,6 +3863,18 @@ type=Tribal Instant
subtype=Elf subtype=Elf
[/card] [/card]
[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 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.) 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} mana={W}
@@ -4445,7 +4593,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Horizon Boughs name=Horizon Boughs
text=All permanents untap during each players 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 type=Plane
subtype=Pyrulea subtype=Pyrulea
[/card] [/card]
@@ -4821,12 +4969,6 @@ type=Artifact
subtype=Contraption subtype=Contraption
[/card] [/card]
[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 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. 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} mana={R}{G}{W}{U}
@@ -4836,6 +4978,12 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[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 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}.) 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} mana={3}
@@ -4900,6 +5048,14 @@ mana={1}{W}
type=Instant type=Instant
[/card] [/card]
[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 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. 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} mana={R}
@@ -5121,6 +5277,17 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[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 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. 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} mana={2}{W}{B}{G}
@@ -5154,6 +5321,14 @@ mana={1}{B}{R}
type=Enchantment type=Enchantment
[/card] [/card]
[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 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. 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 type=Plane
@@ -5485,6 +5660,22 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[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 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. 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 type=Plane
@@ -5534,22 +5725,6 @@ mana={4}{R}
type=Sorcery type=Sorcery
[/card] [/card]
[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 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.) 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} mana={1}{R}
@@ -5751,6 +5926,14 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[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 name=Little Girl
text= text=
mana={HW} mana={HW}
@@ -6140,6 +6323,14 @@ power=2
toughness=3 toughness=3
[/card] [/card]
[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 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. 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} mana={4}{R}
@@ -6351,8 +6542,19 @@ mana={5}
type=Artifact type=Artifact
[/card] [/card]
[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 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 its 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 type=Plane
subtype=Karsus subtype=Karsus
[/card] [/card]
@@ -6735,6 +6937,14 @@ mana={5}
type=Artifact type=Artifact
[/card] [/card]
[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 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. 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} mana={2}{R}{R}
@@ -6851,7 +7061,7 @@ subtype=Equipment
[/card] [/card]
[card] [card]
name=Nerf War 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 owners 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} mana={3}{U}{R}
type=Sorcery type=Sorcery
[/card] [/card]
@@ -6884,6 +7094,15 @@ type=Artifact
subtype=Contraption subtype=Contraption
[/card] [/card]
[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 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.) 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 type=Creature
@@ -6957,6 +7176,14 @@ type=Plane
subtype=New Phyrexia subtype=New Phyrexia
[/card] [/card]
[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 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. 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} mana={3}{B}
@@ -7026,6 +7253,15 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[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 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.) 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} mana={3}{W}
@@ -7370,6 +7606,15 @@ mana={2}{B}
type=Sorcery type=Sorcery
[/card] [/card]
[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 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. 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} mana={1}{W}
@@ -7670,14 +7915,14 @@ type=Instant
name=Pools of Becoming 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. 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 type=Plane
subtype=Bolass Meditation Realm subtype=Bolas?s Meditation Realm
[/card] [/card]
[card] [card]
name=Portal Mage name=Portal Mage
abilities=flash abilities=flash
auto=phasealter(remove,combatphases,controller) auto=phasealter(remove,combatphases,controller)
auto=nextphasealter(add,combatphases,controller,after<combatends>) auto=nextphasealter(add,combatphases,controller,after<combatends>)
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 cant attack its controller or its controllers 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} mana={2}{U}
type=Creature type=Creature
subtype=Human Wizard subtype=Human Wizard
@@ -8012,6 +8257,16 @@ mana={2}{B}{R}
type=Sorcery type=Sorcery
[/card] [/card]
[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 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. 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} mana={4}{R}{R}{W}{W}
@@ -8100,7 +8355,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Red-Hot Hottie 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} mana={2}{R}{R}
type=Creature type=Creature
subtype=Elemental subtype=Elemental
@@ -8318,6 +8573,15 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[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 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. 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} 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 type=Scheme
[/card] [/card]
[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 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.) 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} mana={3}{W}{W}
@@ -8476,6 +8755,17 @@ type=Enchantment
subtype=Aura subtype=Aura
[/card] [/card]
[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 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." 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} mana={2}{U}{U}
@@ -8503,7 +8793,7 @@ type=Instant
name=Sanctum of Serra 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. 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 type=Plane
subtype=Serras Realm subtype=Serra?s Realm
[/card] [/card]
[card] [card]
name=Sands of Time name=Sands of Time
@@ -8512,6 +8802,18 @@ mana={4}
type=Artifact type=Artifact
[/card] [/card]
[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 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. 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 type=Artifact
@@ -8849,7 +9151,7 @@ type=Land
[/card] [/card]
[card] [card]
name=Shellephant 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} mana={1}{G}{G}
type=Creature type=Creature
subtype=Turtle and/or Elephant subtype=Turtle and/or Elephant
@@ -9849,6 +10151,14 @@ mana={W}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Strixhaven
auto=@chaos ensues<upto:1> 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 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. 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} mana={3}{B}
@@ -10166,6 +10476,18 @@ mana={1}{U}
type=Instant type=Instant
[/card] [/card]
[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 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. 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 type=Plane
@@ -10233,6 +10555,16 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Ten Wizards Mountain
auto=@roll the planar diecounter(1/1)<upto: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 name=Teremko Griffin
abilities=flying,banding 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.) 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 subtype=Iquatana
[/card] [/card]
[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 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. 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} 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. 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 type=Scheme
[/card] [/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] [card]
name=The Fourth Sphere 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. 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 subtype=Phyrexia
[/card] [/card]
[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 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. 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} mana={W}{U}
type=Legendary Artifact type=Legendary Artifact
[/card] [/card]
[card] [card]
name=The Great Aerie
auto=@chaos ensueschoose <upto:1> target(creature|myBattlefield) && <upto:1> 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 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. 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} 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 type=Scheme
[/card] [/card]
[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 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. 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} mana={X}{R}{R}
@@ -10365,6 +10740,23 @@ text=(An ongoing scheme remains face up until it's abandoned.) -- Creatures you
type=Ongoing Scheme type=Ongoing Scheme
[/card] [/card]
[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 name=The Wretched
text=At end of combat, gain control of all creatures blocking The Wretched for as long as you control 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} mana={3}{B}{B}
@@ -10669,6 +11061,17 @@ mana={3}{R}
type=Sorcery type=Sorcery
[/card] [/card]
[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 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.) 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} mana={3}
@@ -10859,6 +11262,13 @@ mana={2}{G}
type=Enchantment type=Enchantment
[/card] [/card]
[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 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.) 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} mana={4}{B}{B}
@@ -10887,6 +11297,15 @@ mana={3}{R}{R}
type=Enchantment type=Enchantment
[/card] [/card]
[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 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. 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} mana={0}
@@ -10941,6 +11360,15 @@ mana={W}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Valor's Reach
auto=@your team attacks with exactly two creaturesthose creature) double strike ueot
auto=@chaos ensuesuntap <upto:2> 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 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. 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} mana={1}{B}{G}
@@ -11199,6 +11627,17 @@ power=0
toughness=1 toughness=1
[/card] [/card]
[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 name=Wall of Caltrops
abilities=defender 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.) 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 type=Artifact
[/card] [/card]
[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 name=War Elephant
abilities=trample,banding 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.) 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 type=Sorcery
[/card] [/card]
[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 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. 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} mana={3}{R}
+4 -2
View File
@@ -26,12 +26,14 @@ def getFilename(filename):
return filename return filename
def createStandardResFile(): def createStandardResFile():
print("Creating Resource File") #print("Creating Resource File")
print "Creating Resource File"
cmd = 'python createResourceZip.py -n ' + getFilename('core') + '.zip' cmd = 'python createResourceZip.py -n ' + getFilename('core') + '.zip'
os.chdir("Res") os.chdir("Res")
os.system(cmd) os.system(cmd)
os.chdir("..") os.chdir("..")
print("Creating Windows Package File") #print("Creating Windows Package File")
print "Creating Windows Package File"
filename = 'Wagic-windows.zip' filename = 'Wagic-windows.zip'
createWindowsZipFile( filename ) createWindowsZipFile( filename )
#print(sys.stderr, 'Created Windows Package: {0}'.format( filename)) #print(sys.stderr, 'Created Windows Package: {0}'.format( filename))
+2 -1
View File
@@ -34,7 +34,8 @@ public:
TYPE_EMBLEM = 19, TYPE_EMBLEM = 19,
TYPE_CONSPIRACY = 20, TYPE_CONSPIRACY = 20,
TYPE_BACKGROUND = 21, TYPE_BACKGROUND = 21,
LAST_TYPE = TYPE_BACKGROUND, TYPE_BATTLE = 22,
LAST_TYPE = TYPE_BATTLE,
}; };
protected: protected:
+8 -2
View File
@@ -723,7 +723,7 @@ int OrderedAIAction::getEfficiency()
if (ability->source) 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; efficiency += 40;
else if(ability->source->hasType(Subtypes::TYPE_LAND)) else if(ability->source->hasType(Subtypes::TYPE_LAND))
{ // probably a shockland, don't pay life if hand is empty { // probably a shockland, don't pay life if hand is empty
@@ -2814,6 +2814,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])) if (card->hasType(Subtypes::TYPE_PLANESWALKER) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_PLANESWALKER,card->types[1]))
continue; 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)) if(hints && hints->HintSaysItsForCombo(observer,card))
{ {
if(hints->canWeCombo(observer,card,this)) if(hints->canWeCombo(observer,card,this))
@@ -2982,6 +2985,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])) if (card->hasType(Subtypes::TYPE_PLANESWALKER) && card->types.size() > 0 && game->inPlay->hasTypeSpecificInt(Subtypes::TYPE_PLANESWALKER,card->types[1]))
continue; 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)) if(hints && hints->HintSaysItsForCombo(observer,card))
{ {
if(hints->canWeCombo(observer,card,this)) if(hints->canWeCombo(observer,card,this))
@@ -3748,7 +3754,7 @@ int AIPlayerBaka::computeActions()
else else
{ {
//look for the most expensive creature we can afford. If not found, try enchantment, then artifact, etc... //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; int count = 0;
while (!nextCardToPlay && count < 6) while (!nextCardToPlay && count < 6)
{ {
+6 -6
View File
@@ -1545,7 +1545,7 @@ AADamager::AADamager(GameObserver* observer, int _id, MTGCardInstance * _source,
if (_target) if (_target)
{ {
WParsedInt damage(d, NULL, (MTGCardInstance *)source); 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)
{ {
vector<MTGAbility*>selection; vector<MTGAbility*>selection;
MTGCardInstance * check = NULL; MTGCardInstance * check = NULL;
@@ -1557,7 +1557,7 @@ AADamager::AADamager(GameObserver* observer, int _id, MTGCardInstance * _source,
for(int i = 0; i < checkWalkers;++i) for(int i = 0; i < checkWalkers;++i)
{ {
check = ((Player*)_target)->game->battlefield->cards[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; this->redirected = true;
MTGAbility * setWalker = this->clone(); MTGAbility * setWalker = this->clone();
@@ -1591,7 +1591,7 @@ AADamager::AADamager(GameObserver* observer, int _id, MTGCardInstance * _source,
const string AADamager::getMenuText() const string AADamager::getMenuText()
{ {
MTGCardInstance * _target = dynamic_cast<MTGCardInstance*>(target); MTGCardInstance * _target = dynamic_cast<MTGCardInstance*>(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(); return _target->name.c_str();
if(redirected) 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. spell->resolve(); // Fixed a crash when using and!()! with namedcard permanents.
if(andAbility) if(andAbility)
@@ -10041,7 +10041,7 @@ int AACastCard::resolveSpell()
MTGCardInstance * copy = NULL; MTGCardInstance * copy = NULL;
if ((normal || asNormalMadness)||(!_target->hasType(Subtypes::TYPE_INSTANT) && !_target->hasType(Subtypes::TYPE_SORCERY))) 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. 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 else
copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->stack, noEvent); copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->stack, noEvent);
@@ -10051,7 +10051,7 @@ int AACastCard::resolveSpell()
} }
else 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. 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 else
copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->stack, noEvent); copy = _target->controller()->game->putInZone(_target, _target->currentZone, source->controller()->game->stack, noEvent);
+14 -1
View File
@@ -75,7 +75,7 @@ int Damage::resolve()
//------------------------------------------------- //-------------------------------------------------
//Ajani Steadfast --- //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; damage = 1;
if (target->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE) 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 //Send (Damage/Replaced effect) event to listeners
observer->receiveEvent(e); observer->receiveEvent(e);
return a; return a;
+2
View File
@@ -857,6 +857,8 @@ void GameObserver::gameStateBasedEffects()
found++; found++;
if(stypes.find("planeswalker") != string::npos && card->target->hasType("planeswalker")) if(stypes.find("planeswalker") != string::npos && card->target->hasType("planeswalker"))
found++; found++;
if(stypes.find("battle") != string::npos && card->target->hasType("battle"))
found++;
} }
if((!found || protectionfromQ) && !card->isBestowed) if((!found || protectionfromQ) && !card->isBestowed)
+7 -7
View File
@@ -196,7 +196,7 @@ GuiPlay::~GuiPlay()
bool isSpell(CardView* c) 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() void GuiPlay::Replace()
{ {
@@ -208,7 +208,7 @@ void GuiPlay::Replace()
for (iterator it = cards.begin(); it != end_spells; ++it) for (iterator it = cards.begin(); it != end_spells; ++it)
if (!(*it)->card->target) 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()) if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller())
++selfSpellsN; ++selfSpellsN;
@@ -229,7 +229,7 @@ void GuiPlay::Replace()
else else
++opponentCreaturesN; ++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()) if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller())
++selfLandsN; ++selfLandsN;
@@ -244,7 +244,7 @@ void GuiPlay::Replace()
for (iterator it = cards.begin(); it != end_spells; ++it) for (iterator it = cards.begin(); it != end_spells; ++it)
if (!(*it)->card->target) 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()) if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller())
selfSpells.Enstack(*it); selfSpells.Enstack(*it);
@@ -287,7 +287,7 @@ void GuiPlay::Replace()
//rerun the iter reattaching planes walkers to the back of the lands. //rerun the iter reattaching planes walkers to the back of the lands.
for (iterator it = end_spells; it != cards.end(); ++it) 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()) if (mpDuelLayers->getRenderedPlayer() == (*it)->card->controller())
selfLands.Enstack(*it); selfLands.Enstack(*it);
@@ -310,7 +310,7 @@ void GuiPlay::Render()
if(dtarget && dtarget->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE) if(dtarget && dtarget->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE)
{ {
MTGCardInstance * ctarget = ((MTGCardInstance *)(*it)->card->isAttacking); 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)); 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 else
opponentCreatures.Render(*it, cards.begin(), end_spells); 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) if (!(*it)->card->target)
{ {
+2
View File
@@ -521,6 +521,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
if (grave->hasType("land")) checkTypesAmount++; if (grave->hasType("land")) checkTypesAmount++;
if (grave->hasType("artifact")) checkTypesAmount++; if (grave->hasType("artifact")) checkTypesAmount++;
if (grave->hasType("planeswalker")) checkTypesAmount++; if (grave->hasType("planeswalker")) checkTypesAmount++;
if (grave->hasType("battle")) checkTypesAmount++;
if (grave->hasType("tribal")) checkTypesAmount++; if (grave->hasType("tribal")) checkTypesAmount++;
if (checkTypesAmount < 4) if (checkTypesAmount < 4)
return 0; return 0;
@@ -540,6 +541,7 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
if (grave->hasType("land")) checkTypesAmount++; if (grave->hasType("land")) checkTypesAmount++;
if (grave->hasType("artifact")) checkTypesAmount++; if (grave->hasType("artifact")) checkTypesAmount++;
if (grave->hasType("planeswalker")) checkTypesAmount++; if (grave->hasType("planeswalker")) checkTypesAmount++;
if (grave->hasType("battle")) checkTypesAmount++;
if (grave->hasType("tribal")) checkTypesAmount++; if (grave->hasType("tribal")) checkTypesAmount++;
if (checkTypesAmount > 3) if (checkTypesAmount > 3)
return 0; return 0;
+20 -7
View File
@@ -2055,7 +2055,7 @@ int MTGAttackRule::receiveEvent(WEvent *e)
if(dtarget->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE) if(dtarget->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE)
{ {
MTGCardInstance * ctarget = ((MTGCardInstance *)card->isAttacking); 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 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 (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; return 0;
if(card->isPhased) if(card->isPhased)
return 0; return 0;
if ((card->isAttacker()) || (card->canAttack(true) && card->attackPlaneswalkerCost < 1)) if ((card->isAttacker()) || (card->canAttack(true) && card->attackPlaneswalkerCost < 1))
{ {
if(!card->isAttacker()) if(!card->isAttacker()){
attackpwmenu = "Attack Planeswalker"; 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 else
attackpwmenu = "Remove Attacker"; attackpwmenu = "Remove Attacker";
@@ -2158,7 +2164,7 @@ int MTGPlaneswalkerAttackRule::reactToClick(MTGCardInstance * card)
for(int i = 0; i < checkWalkers;++i) for(int i = 0; i < checkWalkers;++i)
{ {
check = card->controller()->opponent()->game->battlefield->cards[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 * setPw = NEW AAPlaneswalkerAttacked(game, game->mLayers->actionLayer()->getMaxId(), card,check);
MTGAbility * setWalker = setPw->clone(); MTGAbility * setWalker = setPw->clone();
@@ -2168,7 +2174,6 @@ int MTGPlaneswalkerAttackRule::reactToClick(MTGCardInstance * card)
} }
} }
if(selection.size()) if(selection.size())
{ {
MTGAbility * a1 = NEW MenuAbility(game, this->GetId(), card, card,false,selection); MTGAbility * a1 = NEW MenuAbility(game, this->GetId(), card, card,false,selection);
@@ -3969,6 +3974,15 @@ int MTGPlaneswalkerDamage::receiveEvent(WEvent * event)
} }
return 1; 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<WEventCounters*>(event)) if (WEventCounters * removel = dynamic_cast<WEventCounters*>(event))
{ {
@@ -3978,7 +3992,6 @@ int MTGPlaneswalkerDamage::receiveEvent(WEvent * event)
removel->targetCard->toGrave(true); removel->targetCard->toGrave(true);
return 1; return 1;
} }
} }
return 0; return 0;
} }
-23
View File
@@ -418,33 +418,20 @@ Player * Rules::loadPlayerRandomFive(GameObserver* observer, int isAI)
Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI) Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI)
{ {
#if !defined (PSP)
std::unique_ptr<MTGDeck> cmdTempDeck(new MTGDeck(MTGCollection()));
std::unique_ptr<MTGDeck> tempDeck(new MTGDeck(MTGCollection()));
#else
MTGDeck * cmdTempDeck = NEW MTGDeck(MTGCollection()); MTGDeck * cmdTempDeck = NEW MTGDeck(MTGCollection());
MTGDeck * tempDeck = NEW MTGDeck(MTGCollection()); MTGDeck * tempDeck = NEW MTGDeck(MTGCollection());
#endif
tempDeck->meta_commander = true; tempDeck->meta_commander = true;
string lands[] = { "", "forest", "island", "mountain", "swamp", "plains", "basic", "basic" }; string lands[] = { "", "forest", "island", "mountain", "swamp", "plains", "basic", "basic" };
cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary");
#if !defined (PSP)
std::unique_ptr<DeckDataWrapper> myCommandZone(new DeckDataWrapper(cmdTempDeck.get()));
#else
DeckDataWrapper * myCommandZone = NEW DeckDataWrapper(cmdTempDeck); DeckDataWrapper * myCommandZone = NEW DeckDataWrapper(cmdTempDeck);
#endif
MTGCard * commander = myCommandZone->getCard(0, true); MTGCard * commander = myCommandZone->getCard(0, true);
while(!commander->data->isCreature()) while(!commander->data->isCreature())
{ {
cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary"); cmdTempDeck->addRandomCards(1, 0, 0, -1, "legendary");
#if !defined (PSP)
myCommandZone.reset(new DeckDataWrapper(cmdTempDeck.get()));
#else
myCommandZone = NEW DeckDataWrapper(cmdTempDeck); myCommandZone = NEW DeckDataWrapper(cmdTempDeck);
#endif
commander = myCommandZone->getCard(0, true); commander = myCommandZone->getCard(0, true);
} }
@@ -481,15 +468,6 @@ Player * Rules::loadPlayerRandomCommander(GameObserver* observer, int isAI)
string deckFile = "random"; string deckFile = "random";
string deckFileSmall = "random"; string deckFileSmall = "random";
#if !defined (PSP)
std::unique_ptr<Player> 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; Player *player = NULL;
if (!isAI) // Human Player if (!isAI) // Human Player
player = NEW HumanPlayer(observer, deckFile, deckFileSmall, false, tempDeck); 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); player = NEW AIPlayerBaka(observer, deckFile, deckFileSmall, "", tempDeck);
return player; return player;
#endif
} }
Player * Rules::loadPlayerHorde(GameObserver* observer, int isAI) Player * Rules::loadPlayerHorde(GameObserver* observer, int isAI)
+8 -1
View File
@@ -26,6 +26,8 @@ Subtypes::Subtypes()
find("Dungeon"); find("Dungeon");
find("Emblem"); find("Emblem");
find("Conspiracy"); find("Conspiracy");
find("Backgorund");
find("Battle");
} }
int Subtypes::find(string value, bool forceAdd) int Subtypes::find(string value, bool forceAdd)
@@ -97,7 +99,12 @@ bool Subtypes::isType(unsigned int type)
type == TYPE_TRIBAL || type == TYPE_TRIBAL ||
type == TYPE_PLANE || type == TYPE_PLANE ||
type == TYPE_SCHEME || type == TYPE_SCHEME ||
type == TYPE_VANGUARD type == TYPE_VANGUARD ||
type == TYPE_DUNGEON ||
type == TYPE_EMBLEM ||
type == TYPE_CONSPIRACY ||
type == TYPE_BACKGROUND ||
type == TYPE_BATTLE
); );
} }
+12 -5
View File
@@ -141,19 +141,21 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
several = s.find("<anyamount>"); several = s.find("<anyamount>");
if (several != string::npos) maxtargets = TargetChooser::UNLITMITED_TARGETS; if (several != string::npos) maxtargets = TargetChooser::UNLITMITED_TARGETS;
found = s.find("creature,planeswalker"); 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"); 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"); 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"); 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"); 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"); found = s.find("creature");
if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other); //2 Damageable target (player, creature) if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other); //2 Damageable target (player, creature)
found = s.find("planeswalker"); found = s.find("planeswalker");
if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "planeswalker"); //2 Damageable target (player, 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 return NEW PlayerTargetChooser(observer, card, maxtargets); //Any player
} }
@@ -967,6 +969,7 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
cd->removeType("legendary"); cd->removeType("legendary");
cd->removeType("creature"); cd->removeType("creature");
cd->removeType("planeswalker"); cd->removeType("planeswalker");
cd->removeType("battle");
cd->removeType("tribal"); cd->removeType("tribal");
if (!cd->types.size()){ if (!cd->types.size()){
int i = rand() % 10000 + 1; int i = rand() % 10000 + 1;
@@ -1527,6 +1530,8 @@ TypeTargetChooser::TypeTargetChooser(GameObserver *observer, const char * _type,
addType(id); addType(id);
id = MTGAllCards::findType("planeswalker"); id = MTGAllCards::findType("planeswalker");
addType(id); addType(id);
id = MTGAllCards::findType("battle");
addType(id);
} else if(!strcmp(_type,"permanent")){ } else if(!strcmp(_type,"permanent")){
int id = MTGAllCards::findType("creature"); int id = MTGAllCards::findType("creature");
addType(id); addType(id);
@@ -1538,6 +1543,8 @@ TypeTargetChooser::TypeTargetChooser(GameObserver *observer, const char * _type,
addType(id); addType(id);
id = MTGAllCards::findType("enchantment"); id = MTGAllCards::findType("enchantment");
addType(id); addType(id);
id = MTGAllCards::findType("battle");
addType(id);
} else { } else {
int id = MTGAllCards::findType(_type); int id = MTGAllCards::findType(_type);
addType(id); addType(id);
+3
View File
@@ -2112,6 +2112,9 @@ void WGuiFilterItem::updateValue()
mParent->addArg("Sorcery", "t:Sorcery;"); mParent->addArg("Sorcery", "t:Sorcery;");
mParent->addArg("Tribal", "t:Tribal;"); mParent->addArg("Tribal", "t:Tribal;");
mParent->addArg("Planeswalker", "t:Planeswalker;"); 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) else if (filterType == FILTER_SUBTYPE)
+11
View File
@@ -1184,6 +1184,8 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card)
intValue++; intValue++;
if(card->hasType(Subtypes::TYPE_ARTIFACT)) if(card->hasType(Subtypes::TYPE_ARTIFACT))
intValue++; 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. 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; cc = 1;
if(cardHasTypeinZone("artifact",checkZone)) if(cardHasTypeinZone("artifact",checkZone))
ac = 1; ac = 1;
if(cardHasTypeinZone("battle",checkZone))
ac = 1;
} }
} else { } else {
MTGGameZone * checkZone = (s.find("oppbattlefieldcardtypes")!=string::npos)?card->getObserver()->opponent()->game->inPlay:card->controller()->game->inPlay; 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; cc = 1;
if(cardHasTypeinZone("artifact",checkZone)) if(cardHasTypeinZone("artifact",checkZone))
ac = 1; ac = 1;
if(cardHasTypeinZone("battle",checkZone))
ac = 1;
} }
intValue = pc+tc+sc+lc+ic+ec+cc+ac; intValue = pc+tc+sc+lc+ic+ec+cc+ac;
} }
@@ -1303,6 +1309,8 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card)
cc = 1; cc = 1;
if(cardHasTypeinZone("artifact",checkZone)) if(cardHasTypeinZone("artifact",checkZone))
ac = 1; ac = 1;
if(cardHasTypeinZone("battle",checkZone))
ac = 1;
} }
} else { } else {
MTGGameZone * checkZone = (s.find("oppgravecardtypes")!=string::npos)?card->getObserver()->opponent()->game->graveyard:card->controller()->game->graveyard; 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; cc = 1;
if(cardHasTypeinZone("artifact",checkZone)) if(cardHasTypeinZone("artifact",checkZone))
ac = 1; ac = 1;
if(cardHasTypeinZone("battle",checkZone))
ac = 1;
} }
intValue = pc+tc+sc+lc+ic+ec+cc+ac; 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("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("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("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){ s.find("totcntall") != string::npos){
if (card->controller()->game->inPlay->cards[j]->counters){ if (card->controller()->game->inPlay->cards[j]->counters){
Counters * counters = card->controller()->game->inPlay->cards[j]->counters; Counters * counters = card->controller()->game->inPlay->cards[j]->counters;
+1 -1
View File
@@ -27,7 +27,7 @@ cd ../..
# we create resource package # we create resource package
if [ "$BUILD_RES" = "YES" ] || [ "$BUILD_PSP" = "YES" ]; then if [ "$BUILD_RES" = "YES" ] || [ "$BUILD_PSP" = "YES" ]; then
cd projects/mtg/bin/Res cd projects/mtg/bin/Res
python createResourceZip.py python2 createResourceZip.py
# if we let the zip here, Wagic will use it in the testsuite # if we let the zip here, Wagic will use it in the testsuite
# and we'll get 51 failed test cases # and we'll get 51 failed test cases
mv core_*.zip ../../../../core.zip mv core_*.zip ../../../../core.zip