Added KHM and KHC sets, improved Android downloader, fixed/added primitives, improved "hascnt" keyword, added "myhandexilegrave" and "opponenthandexilegrave" zone targeters.
This commit is contained in:
@@ -1674,6 +1674,74 @@ public class ImgDownloader {
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/c/a/caa7922e-3313-4f12-b91e-95aaa2d76cc2.jpg?1574133191";
|
||||
else if(id.equals("476217"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/a/9/a9a6cf9c-3560-435c-b0ec-8653a9dc7776.jpg?1578369133";
|
||||
else if(id.equals("503841t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/d/f/df826c7d-5508-4e21-848c-91bc3e3f447a.jpg?1611206331";
|
||||
else if(id.equals("503619"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/9/7/97502411-5c93-434c-b77b-ceb2c32feae7.jpg?1608253263";
|
||||
else if(id.equals("503620t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/9/7/97502411-5c93-434c-b77b-ceb2c32feae7.jpg?1608253263";
|
||||
else if(id.equals("503626"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/3/6/3606519e-5677-4c21-a34e-be195b6669fa.jpg?1611000242";
|
||||
else if(id.equals("503627t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/3/6/3606519e-5677-4c21-a34e-be195b6669fa.jpg?1611000242";
|
||||
else if(id.equals("503646"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/5/d/5d131784-c1a3-463e-a37b-b720af67ab62.jpg?1611323243";
|
||||
else if(id.equals("503647t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/5/d/5d131784-c1a3-463e-a37b-b720af67ab62.jpg?1611323243";
|
||||
else if(id.equals("503657"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/f/a/fab2fca4-a99f-4ffe-9c02-edb6e0be2358.jpg?1611862762";
|
||||
else if(id.equals("503658t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/f/a/fab2fca4-a99f-4ffe-9c02-edb6e0be2358.jpg?1611862762";
|
||||
else if(id.equals("503700"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/9/d/9dfdb73d-b001-4a59-b79e-8c8c1baea116.jpg?1610397419";
|
||||
else if(id.equals("503701t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/9/d/9dfdb73d-b001-4a59-b79e-8c8c1baea116.jpg?1610397419";
|
||||
else if(id.equals("503721"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/1/4/14dc88ee-bba9-4625-af0d-89f3762a0ead.jpg?1610586381";
|
||||
else if(id.equals("503722t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/1/4/14dc88ee-bba9-4625-af0d-89f3762a0ead.jpg?1610586381";
|
||||
else if(id.equals("503724"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/e/a/ea7e4c65-b4c4-4795-9475-3cba71c50ea5.jpg?1610153366";
|
||||
else if(id.equals("503725t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/e/a/ea7e4c65-b4c4-4795-9475-3cba71c50ea5.jpg?1610153366";
|
||||
else if(id.equals("503734"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/4/4/44657ab1-0a6a-4a5f-9688-86f239083821.jpg?1611054410";
|
||||
else if(id.equals("503735t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/4/4/44657ab1-0a6a-4a5f-9688-86f239083821.jpg?1611054410";
|
||||
else if(id.equals("503766"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/2/2/22a6a5f1-1405-4efb-af3e-e1f58d664e99.jpg?1610652603";
|
||||
else if(id.equals("503767t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/2/2/22a6a5f1-1405-4efb-af3e-e1f58d664e99.jpg?1610652603";
|
||||
else if(id.equals("503781"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/f/6/f6cd7465-9dd0-473c-ac5e-dd9e2f22f5f6.jpg?1610295185";
|
||||
else if(id.equals("503782t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/f/6/f6cd7465-9dd0-473c-ac5e-dd9e2f22f5f6.jpg?1610295185";
|
||||
else if(id.equals("503793"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/c/6/c697548f-925b-405e-970a-4e78067d5c8e.jpg?1610996900";
|
||||
else if(id.equals("503794t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/c/6/c697548f-925b-405e-970a-4e78067d5c8e.jpg?1610996900";
|
||||
else if(id.equals("503796"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/b/7/b76bed98-30b1-4572-b36c-684ada06826c.jpg?1610368590";
|
||||
else if(id.equals("503797t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/b/7/b76bed98-30b1-4572-b36c-684ada06826c.jpg?1610368590";
|
||||
else if(id.equals("503867"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/b/6/b6de14ae-0132-4261-af00-630bf15918cd.jpg?1608226844";
|
||||
else if(id.equals("503868t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/b/6/b6de14ae-0132-4261-af00-630bf15918cd.jpg?1608226844";
|
||||
else if(id.equals("503869"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/0/c/0ce39a19-f51d-4a35-ae80-5b82eb15fcff.jpg?1608058149";
|
||||
else if(id.equals("503870t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/0/c/0ce39a19-f51d-4a35-ae80-5b82eb15fcff.jpg?1608058149";
|
||||
else if(id.equals("503872"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/8/7/87a4e5fe-161f-42da-9ca2-67c8e8970e94.jpg?1608057969";
|
||||
else if(id.equals("503873t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/8/7/87a4e5fe-161f-42da-9ca2-67c8e8970e94.jpg?1608057969";
|
||||
else if(id.equals("503879"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/7/e/7ef37cb3-d803-47d7-8a01-9c803aa2eadc.jpg?1608058266";
|
||||
else if(id.equals("503880t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/back/7/e/7ef37cb3-d803-47d7-8a01-9c803aa2eadc.jpg?1608058266";
|
||||
else if(id.equals("503837t"))
|
||||
cardurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/5/4/54a1c6a9-3531-4432-9157-e4400dbc89fd.jpg?1611206522";
|
||||
|
||||
return cardurl;
|
||||
}
|
||||
@@ -2159,6 +2227,15 @@ public class ImgDownloader {
|
||||
tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/6/2/623a08d1-f5ff-48b7-bdb6-54b8d7a4b931.jpg?1562639829";
|
||||
else if(id.equals("503330t"))
|
||||
tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/c/5/c5ad13b4-bbf5-4c98-868f-4d105eaf8833.jpg?1592710082";
|
||||
else if(id.equals("503754t") || id.equals("503827t"))
|
||||
tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/4/a/4ae9f454-4f8c-4123-9886-674bc439dfe7.jpg?1611206933";
|
||||
else if(id.equals("503846t"))
|
||||
tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/3/d/3db39e3b-fad4-4c9b-911f-69883ac7e0e1.jpg?1611206884";
|
||||
else if(id.equals("503821t"))
|
||||
tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/e/f/ef775ad0-b1a9-4254-ab6f-304558bb77a1.jpg?1611247501";
|
||||
else if(id.equals("508147t") || id.equals("508338t") || id.equals("508160t") || id.equals("508357t") ||
|
||||
id.equals("508354t") || id.equals("508349t") || id.equals("508343t"))
|
||||
tokenurl = "https://c1.scryfall.com/file/scryfall-cards/large/front/1/1/118d0655-5719-4512-8bc1-fe759669811b.jpg?1611206824";
|
||||
|
||||
return tokenurl;
|
||||
}
|
||||
@@ -2179,7 +2256,8 @@ public class ImgDownloader {
|
||||
id.equals("473123") || id.equals("473160") || id.equals("16743") || id.equals("16741") || id.equals("294493") || id.equals("293253") ||
|
||||
id.equals("293198") || id.equals("479634") || id.equals("479702") || id.equals("489837") || id.equals("489861") || id.equals("491359") ||
|
||||
id.equals("294872") || id.equals("295110") || id.equals("294842") || id.equals("295067") || id.equals("491767") || id.equals("295386") ||
|
||||
id.equals("295229") || id.equals("295387") || id.equals("295206") || id.equals("295706") || id.equals("497549") || id.equals("497666"))
|
||||
id.equals("295229") || id.equals("295387") || id.equals("295206") || id.equals("295706") || id.equals("497549") || id.equals("497666") ||
|
||||
id.equals("503860"))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
697
projects/mtg/bin/Res/sets/KHC/_cards.dat
Normal file
697
projects/mtg/bin/Res/sets/KHC/_cards.dat
Normal file
@@ -0,0 +1,697 @@
|
||||
[meta]
|
||||
author=Wagic Team
|
||||
name=Kaldheim Commander
|
||||
orderindex=COM-P.KHC
|
||||
year=2021-02-05
|
||||
total=138
|
||||
[/meta]
|
||||
[card]
|
||||
primitive=Bird
|
||||
id=-508377
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Elemental
|
||||
id=-508368
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Warrior
|
||||
id=-508357
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Warrior
|
||||
id=-508354
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Warrior
|
||||
id=-508349
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Servo
|
||||
id=-508345
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Warrior
|
||||
id=-508343
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Warrior
|
||||
id=-508338
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Thopter
|
||||
id=-508335
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Thopter
|
||||
id=-508330
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Dragon
|
||||
id=-508328
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Boar
|
||||
id=-508327
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Pegasus
|
||||
id=-508323
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Spirit
|
||||
id=-508315
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Soldier
|
||||
id=-508313
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Soldier
|
||||
id=-508311
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Warrior
|
||||
id=-508160
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Spirit
|
||||
id=-508148
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Warrior
|
||||
id=-508147
|
||||
rarity=T
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Lathril, Blade of the Elves
|
||||
id=508147
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Ranar the Ever-Watchful
|
||||
id=508148
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Cosmic Intervention
|
||||
id=508149
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Hero of Bretagard
|
||||
id=508150
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Stoic Farmer
|
||||
id=508151
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sage of the Beyond
|
||||
id=508152
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Spectral Deluge
|
||||
id=508153
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Tales of the Ancestors
|
||||
id=508154
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Pact of the Serpent
|
||||
id=508155
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Ruthless Winnower
|
||||
id=508156
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Serpent's Soul-Jar
|
||||
id=508157
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Bounty of Skemfar
|
||||
id=508158
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Crown of Skemfar
|
||||
id=508159
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Wolverine Riders
|
||||
id=508160
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Elderfang Venom
|
||||
id=508161
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Ethereal Valkyrie
|
||||
id=508162
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Angel of Finality
|
||||
id=508307
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Angel of Serenity
|
||||
id=508308
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Banishing Light
|
||||
id=508309
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Cleansing Nova
|
||||
id=508310
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Cloudgoat Ranger
|
||||
id=508311
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Eerie Interlude
|
||||
id=508312
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Evangel of Heliod
|
||||
id=508313
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Flickerwisp
|
||||
id=508314
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Geist-Honored Monk
|
||||
id=508315
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Ghostly Prison
|
||||
id=508316
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Goldnight Commander
|
||||
id=508317
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Kor Cartographer
|
||||
id=508318
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Marshal's Anthem
|
||||
id=508319
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Momentary Blink
|
||||
id=508320
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Restoration Angel
|
||||
id=508321
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Return to Dust
|
||||
id=508322
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Storm Herd
|
||||
id=508323
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sun Titan
|
||||
id=508324
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Wall of Omens
|
||||
id=508325
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Arcane Artisan
|
||||
id=508326
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Curse of the Swine
|
||||
id=508327
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Day of the Dragons
|
||||
id=508328
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Ghostly Flicker
|
||||
id=508329
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Inspired Sphinx
|
||||
id=508330
|
||||
rarity=M
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Mist Raven
|
||||
id=508331
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Mulldrifter
|
||||
id=508332
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sea Gate Oracle
|
||||
id=508333
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Synthetic Destiny
|
||||
id=508334
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Whirler Rogue
|
||||
id=508335
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Windfall
|
||||
id=508336
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Ambition's Cost
|
||||
id=508337
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Eyeblight Cullers
|
||||
id=508338
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Eyeblight Massacre
|
||||
id=508339
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Lys Alana Scarblade
|
||||
id=508340
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Miara, Thorn of the Glade
|
||||
id=508341
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Pride of the Perfect
|
||||
id=508342
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Prowess of the Fair
|
||||
id=508343
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Beast Whisperer
|
||||
id=508344
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Cultivator of Blades
|
||||
id=508345
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Dwynen, Gilt-Leaf Daen
|
||||
id=508346
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Elvish Archdruid
|
||||
id=508347
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Elvish Mystic
|
||||
id=508348
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Elvish Promenade
|
||||
id=508349
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Elvish Rejuvenator
|
||||
id=508350
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=End-Raze Forerunners
|
||||
id=508351
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Farhaven Elf
|
||||
id=508352
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Harvest Season
|
||||
id=508353
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Imperious Perfect
|
||||
id=508354
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Jagged-Scar Archers
|
||||
id=508355
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Llanowar Tribe
|
||||
id=508356
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Lys Alana Huntmaster
|
||||
id=508357
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Marwyn, the Nurturer
|
||||
id=508358
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Masked Admirers
|
||||
id=508359
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Nullmage Shepherd
|
||||
id=508360
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Numa, Joraga Chieftain
|
||||
id=508361
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Reclamation Sage
|
||||
id=508362
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Rhys the Exiled
|
||||
id=508363
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Springbloom Druid
|
||||
id=508364
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sylvan Messenger
|
||||
id=508365
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Timberwatch Elf
|
||||
id=508366
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Voice of Many
|
||||
id=508367
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Voice of the Woods
|
||||
id=508368
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Wirewood Channeler
|
||||
id=508369
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Wood Elves
|
||||
id=508370
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Abomination of Llanowar
|
||||
id=508371
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Brago, King Eternal
|
||||
id=508372
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Casualties of War
|
||||
id=508373
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Cloudblazer
|
||||
id=508374
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Empyrean Eagle
|
||||
id=508375
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Golgari Findbroker
|
||||
id=508376
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Migratory Route
|
||||
id=508377
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Mistmeadow Witch
|
||||
id=508378
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Moldervine Reclamation
|
||||
id=508379
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Poison-Tip Archer
|
||||
id=508380
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Putrefy
|
||||
id=508381
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Shaman of the Pack
|
||||
id=508382
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Soulherder
|
||||
id=508383
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Thunderclap Wyvern
|
||||
id=508384
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Twinblade Assassins
|
||||
id=508385
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Arcane Signet
|
||||
id=508386
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Azorius Signet
|
||||
id=508387
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Burnished Hart
|
||||
id=508388
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Commander's Sphere
|
||||
id=508389
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Marble Diamond
|
||||
id=508390
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Meteor Golem
|
||||
id=508391
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Mind Stone
|
||||
id=508392
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sky Diamond
|
||||
id=508393
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sol Ring
|
||||
id=508394
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Swiftfoot Boots
|
||||
id=508395
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Azorius Chancery
|
||||
id=508396
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Azorius Guildgate
|
||||
id=508397
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Command Tower
|
||||
id=508398
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Cryptic Caves
|
||||
id=508399
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Foul Orchard
|
||||
id=508400
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Golgari Guildgate
|
||||
id=508401
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Golgari Rot Farm
|
||||
id=508402
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Jungle Hollow
|
||||
id=508403
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Meandering River
|
||||
id=508404
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Myriad Landscape
|
||||
id=508405
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Opal Palace
|
||||
id=508406
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Path of Ancestry
|
||||
id=508407
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Sejiri Refuge
|
||||
id=508408
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
primitive=Tranquil Cove
|
||||
id=508409
|
||||
rarity=C
|
||||
[/card]
|
||||
1867
projects/mtg/bin/Res/sets/KHM/_cards.dat
Normal file
1867
projects/mtg/bin/Res/sets/KHM/_cards.dat
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1394,6 +1394,18 @@ type=Legendary Planeswalker
|
||||
subtype=Kaya
|
||||
[/card]
|
||||
[card]
|
||||
name=Kaya the Inexorable
|
||||
auto=counter(0/0,5,Loyalty)
|
||||
auto={C(0/0,1,Loyalty)}:name(+1: Don't target any creature) donothing
|
||||
auto={C(0/0,1,Loyalty)}:name(+1: Target creature gets ghostform) target(creature[-token]|mybattlefield) transforms((,newability[counter(0/0.1.Ghostform)],newability[@movedto(this|graveyard) from(battlefield) restriction{compare(hascntghostform)~morethan~0}:name(Put back to hand) all(creature[fresh;counter{0/0.1.Ghostform}]|mygraveyard) moveto(myhand) and!( token(Spirit Cai) )!],newability[@movedto(this|graveyard) from(battlefield) restriction{compare(hascntghostform)~morethan~0}:counter(0/0.1.Ghostform)],newability[@movedto(this|exile) from(battlefield) restriction{compare(hascntghostform)~morethan~0}:name(Put back to hand) all(creature[fresh;counter{0/0.1.Ghostform}]|myexile) moveto(myhand) and!( token(Spirit Cai) )!],newability[@movedto(this|exile) from(battlefield) restriction{compare(hascntghostform)~morethan~0}:counter(0/0.1.Ghostform)])) forever
|
||||
auto={C(0/0,-3,Loyalty)}:name(-3: Exile non-land permanent) target(*[-land]|battlefield) moveto(exile)
|
||||
auto={C(0/0,-7,Loyalty)}:name(-7: Emblem cast during upkeep) emblem transforms((,newability[@each my upkeep:may name(Cast legendary spell) target(*[legendary]|myhandexilegrave) activate castcard(normal)])) forever dontremove
|
||||
text=+1: Put a ghostform counter on up to one target nontoken creature. It gains "When this creature dies or is put into exile, return it to its owner's hand and create a 1/1 white Spirit creature token with flying." -- -3: Exile target nonland permanent. -- -7: You get an emblem with "At the beginning of your upkeep, you may cast a legendary spell from your hand, from your graveyard, or from among cards you own in exile without paying its mana cost."
|
||||
mana={3}{W}{B}
|
||||
type=Legendary Planeswalker
|
||||
subtype=Kaya
|
||||
[/card]
|
||||
[card]
|
||||
name=Kiora, Behemoth Beckoner
|
||||
auto=counter(0/0,7,loyalty)
|
||||
auto=@movedTo(creature[power>=4]|myBattlefield):draw:1
|
||||
@@ -1800,6 +1812,19 @@ subtype=Bolas
|
||||
color=blue,black,red
|
||||
[/card]
|
||||
[card]
|
||||
name=Niko Aris
|
||||
auto=token(Shard)*x
|
||||
auto=counter(0/0,3,Loyalty)
|
||||
auto={C(0/0,1,Loyalty)}:name(+1: Don't target creature) donothing
|
||||
auto={C(0/0,1,Loyalty)}:name(+1: Target creature gains unblockable) target(creature|mybattlefield) transforms((,newability[unblockable],newability[@damaged(player) from(this):moveto(ownerhand)],newability[@damaged(*[creature;planeswalker]|battlefield) from(this):moveto(ownerhand)])) ueot
|
||||
auto={C(0/0,-1,Loyalty)}:name(-1: Create a shard) token(Shard)
|
||||
auto={C(0/0,-1,Loyalty)}:name(-1: Deals 2 damage) target(creature[tapped]) damage:twicepdrewcount
|
||||
text=When Niko Aris enters the battlefield, create X Shard tokens. (They're enchantments with "{2}, Sacrifice this enchantment: Scry 1, then draw a card.") -- +1: Up to one target creature you control can't be blocked this turn. Whenever that creature deals damage this turn, return it to its owner's hand. -- -1: Niko Aris deals 2 damage to target tapped creature for each card you've drawn this turn. -- -1: Create a Shard token.
|
||||
mana={X}{W}{U}{U}
|
||||
type=Legendary Planeswalker
|
||||
subtype=Niko
|
||||
[/card]
|
||||
[card]
|
||||
name=Nissa, Genesis Mage
|
||||
auto=counter(0/0,5,loyalty)
|
||||
auto={C(0/0,2,Loyalty)}:name(+2: Untap up to two target creature and lands) untap target(<upto:2>creature) && ability$!name(Untap lands) untap target(<upto:2>land)!$ controller
|
||||
@@ -2545,6 +2570,18 @@ mana={3}{W}
|
||||
type=Legendary Planeswalker
|
||||
[/card]
|
||||
[card]
|
||||
name=Tibalt, Cosmic Impostor
|
||||
auto=counter(0/0,5,Loyalty)
|
||||
auto=create(TibaltEmblem:TibaltEmblem:0/0:shroud:indestructible)])) and!( transforms((,newability[lord(*[counter{0/0.1.TibaltExiled}]|myexile) canplayfromexile],newability[lord(*[counter{0/0.1.TibaltExiled}]|myexile) anytypeofmana],newability[{0}:name(Cast from opponent exile) target(*[counter{0/0.1.TibaltExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.TibaltExiled)],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.TibaltExiled)])) ueot )!])) forever )!
|
||||
auto={C(0/0,2,Loyalty)}:name(+2: Exile the top card) all(*[zpos=1]|library) moveto(ownerexile) and!( counter(0/0,1,TibaltExiled) )!
|
||||
auto={C(0/0,-3,Loyalty)}:name(-3: Exile target artifact or creature) target(*[artifact;creature]|battlefield) moveto(ownerexile) and!( counter(0/0,1,TibaltExiled) )!
|
||||
auto={C(0/0,-8,Loyalty)}:name(-8: Exile all cards from all graveyards) all(*|graveyard) moveto(ownerexile) and!( counter(0/0,1,TibaltExiled) )!
|
||||
text=As Tibalt enters the battlefield, you get an emblem with "You may play cards exiled with Tibalt, Cosmic Impostor, and you may spend mana as though it were mana of any color to cast those spells." -- +2: Exile the top card of each player’s library. -- -3: Exile target artifact or creature. -- -8: Exile all cards from all graveyards. Add {R}{R}{R}.
|
||||
mana={5}{B}{R}
|
||||
type=Legendary Planeswalker
|
||||
subtype=Tibalt
|
||||
[/card]
|
||||
[card]
|
||||
name=Tibalt, Rakish Instigator
|
||||
auto=counter(0/0,5,loyalty)
|
||||
abilities=nolifegainopponent
|
||||
@@ -2566,6 +2603,18 @@ type=Legendary Planeswalker
|
||||
subtype=Tibalt
|
||||
[/card]
|
||||
[card]
|
||||
name=Tyvar Kell
|
||||
auto=counter(0/0,3,Loyalty)
|
||||
auto=lord(elf|mybattlefield) transforms((,newability[{T}:add{B}]))
|
||||
auto={C(0/0,1,Loyalty)}:name(+1: Put +1/+1 counter) target(elf|mybattlefield) transforms((,newability[counter(1/1)],newability[deathtouch],newability[untap])) ueot
|
||||
auto={C(0/0,0,Loyalty)}:name(0: Create 1/1 Elf) token(Warrior,Creature Elf Warrior,1/1,green)
|
||||
auto={C(0/0,-6,Loyalty)}:name(-6: Emblem cast elf) emblem transforms((,newability[@movedTo(elf|mybattlefield):all(trigger[to]) transforms((,newability[haste],newability[draw:2 controller])) ueot])) forever dontremove
|
||||
text=Elves you control have “{T}: Add {B}.” -- +1: Put a +1/+1 counter on up to one target Elf. Untap it. It gains deathtouch until end of turn. -- 0: Create a 1/1 green Elf Warrior creature token. -- -6: You get an emblem with “Whenever you cast an Elf spell, it gains haste until end of turn and you draw two cards.”
|
||||
mana={2}{G}{G}
|
||||
type=Legendary Planeswalker
|
||||
subtype=Tyvar
|
||||
[/card]
|
||||
[card]
|
||||
name=Ugin, the Ineffable
|
||||
auto=counter(0/0,4,loyalty)
|
||||
auto=lord(*[colorless]|mycastingzone) altercost(colorless,-2)
|
||||
|
||||
@@ -474,13 +474,11 @@ mana={U}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Artisan of Forms
|
||||
text=Heroic — Whenever you cast a spell that targets Artisan of Forms, you may have Artisan of Forms become a copy of target creature and gain this ability.
|
||||
mana={1}{U}
|
||||
type=Creature
|
||||
subtype=Human Wizard
|
||||
power=1
|
||||
toughness=1
|
||||
name=Ascent of the Worthy
|
||||
text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I, II — Choose a creature you control. Until your next turn, all damage that would be dealt to creatures you control is dealt to that creature instead. -- III — Return target creature card from your graveyard to the battlefield with a flying counter on it. That creature is an Angel Warrior in addition to its other types.
|
||||
mana={1}{W}{B}
|
||||
type=Enchantment
|
||||
subtype=Saga
|
||||
[/card]
|
||||
[card]
|
||||
name=Ashcloud Phoenix
|
||||
|
||||
@@ -137,6 +137,10 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
|
||||
if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other, false, "creature,planeswalker"); //Any Damageable target (player, creature, planeswalker)
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
found = s.find("creature");
|
||||
if (found != string::npos) return NEW DamageableTargetChooser(observer, card, maxtargets, other); //2 Damageable target (player, creature)
|
||||
found = s.find("planeswalker");
|
||||
@@ -286,6 +290,18 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
|
||||
zones[nbzones++] = MTGGameZone::OPPONENT_HAND;
|
||||
zones[nbzones++] = MTGGameZone::OPPONENT_COMMANDZONE;
|
||||
}
|
||||
else if (zoneName.compare("myhandexilegrave") == 0)
|
||||
{
|
||||
zones[nbzones++] = MTGGameZone::MY_GRAVEYARD;
|
||||
zones[nbzones++] = MTGGameZone::MY_EXILE;
|
||||
zones[nbzones++] = MTGGameZone::MY_HAND;
|
||||
}
|
||||
else if (zoneName.compare("opponenthandexilegrave") == 0)
|
||||
{
|
||||
zones[nbzones++] = MTGGameZone::OPPONENT_GRAVEYARD;
|
||||
zones[nbzones++] = MTGGameZone::OPPONENT_EXILE;
|
||||
zones[nbzones++] = MTGGameZone::OPPONENT_HAND;
|
||||
}
|
||||
else if (zoneName.compare("myzones") == 0)
|
||||
{
|
||||
zones[nbzones++] = MTGGameZone::MY_BATTLEFIELD;
|
||||
|
||||
@@ -610,7 +610,12 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card)
|
||||
Counters * counters = card->counters;
|
||||
for(size_t i = 0; i < counters->counters.size(); ++i){
|
||||
Counter * counter = counters->counters[i];
|
||||
if(counter->name == s.substr(6)){
|
||||
if(counter->name == "" && (s.substr(6) == "11" || s.substr(6) == "-1-1")){
|
||||
if((counter->power == 1 && counter->toughness == 1 && s.substr(6) == "11") || (counter->power == -1 && counter->toughness == -1 && s.substr(6) == "-1-1")){
|
||||
intValue = counter->nb;
|
||||
break;
|
||||
}
|
||||
} else if(counter->name == s.substr(6)){
|
||||
intValue = counter->nb;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user