diff --git a/projects/mtg/bin/Res/sets/10E/_cards.dat b/projects/mtg/bin/Res/sets/10E/_cards.dat index 0d31769b3..5281319d4 100644 --- a/projects/mtg/bin/Res/sets/10E/_cards.dat +++ b/projects/mtg/bin/Res/sets/10E/_cards.dat @@ -38,8 +38,7 @@ id=129913 auto={3}:deplete:3 target(player) name=Ambassador Laquatus rarity=R -type=Creature -abilities=legendary +type=Legendary Creature mana={1}{U}{U} power=1 subtype=Merfolk Wizard @@ -137,11 +136,10 @@ type=Land text={T}: Draw three cards. {2}{U}{U}: Return Arcanis the Omnipotent to its owner's hand. auto={T}:draw:3 auto={2}{U}{U}:moveTo(ownerhand) -abilities=legendary id=106426 name=Arcanis the Omnipotent rarity=R -type=Creature +type=Legendary Creature mana={3}{U}{U}{U} power=3 subtype=Wizard @@ -149,13 +147,13 @@ toughness=4 [/card] [card] text=Flying (This creature can't be blocked except by creatures with flying or reach.) Other black creatures get +1/+1. Nonblack creatures get -1/-1. -abilities=legendary,flying +abilities=flying auto=lord(creature[black]) 1/1 other auto=lord(creature[-black]) -1/-1 id=106525 name=Ascendant Evincar rarity=R -type=Creature +type=Legendary Creature mana={4}{B}{B} power=3 subtype=Vampire @@ -1242,12 +1240,11 @@ toughness=3 [/card] [card] text=Haste (This creature can attack and {T} as soon as it comes under your control.) {T}: Kamahl, Pit Fighter deals 3 damage to target creature or player. -abilities=haste,legendary auto={T}:Damage:3 target(creature,player) id=106398 name=Kamahl, Pit Fighter rarity=R -type=Creature +type=Legendary Creature mana={4}{R}{R} power=6 subtype=Human Barbarian @@ -1530,11 +1527,11 @@ mana={2} [/card] [card] text=First strike, forestwalk, vigilance (This creature deals combat damage before creatures without first strike, it's unblockable as long as defending player controls a Forest, and attacking doesn't cause this creature to tap.) -abilities=first strike,forestwalk,vigilance,legendary +abilities=first strike,forestwalk,vigilance id=106405 name=Mirri, Cat Warrior rarity=R -type=Creature +type=Legendary Creature mana={1}{G}{G} power=2 subtype=Cat Warrior @@ -1564,12 +1561,12 @@ toughness=1 [/card] [card] text=Trample (If this creature would deal enough combat damage to its blockers to destroy them, you may have it deal the rest of its damage to defending player.) Molimo, Maro-Sorcerer's power and toughness are equal to the number of lands you control. -abilities=trample,legendary +abilities=trample auto=foreach(land|myinplay) 1/1 id=106368 name=Molimo, Maro-Sorcerer rarity=R -type=Creature +type=Legendary Creature mana={4}{G}{G}{G} power=* subtype=Elemental @@ -2028,8 +2025,8 @@ id=106384 name=Reya Dawnbringer auto=@each my upkeep:may moveto(myBattlefield) target(creature|myGraveyard) rarity=R -type=Creature -abilities=legendary,flying +type=Legendary Creature +abilities=flying mana={6}{W}{W}{W} power=4 subtype=Angel @@ -2518,11 +2515,10 @@ id=106473 name=Squee, Goblin Nabob rarity=R mana={2}{R} -type=Creature +type=Legendary Creature subtype=Goblin power=1 toughness=1 -abilities=legendary [/card] [card] text={7}{W}: You gain 5 life. diff --git a/projects/mtg/bin/Res/sets/5DN/_cards.dat b/projects/mtg/bin/Res/sets/5DN/_cards.dat index f4d5e8e5e..68f6f520b 100644 --- a/projects/mtg/bin/Res/sets/5DN/_cards.dat +++ b/projects/mtg/bin/Res/sets/5DN/_cards.dat @@ -355,7 +355,7 @@ type=Artifact id=47449 name=Helm of Kaldra mana={3} -type=Artifact +type=Legendary Artifact subtype=Equipment text=Equipped creature has first strike, trample, and haste. {1}: If you control Equipment named Helm of Kaldra, Sword of Kaldra, and Shield of Kaldra, put a legendary 4/4 colorless Avatar creature token named Kaldra onto the battlefield and attach those Equipment to it. Equip {2} auto=first strike @@ -368,7 +368,6 @@ auto={2}:equip # It currently doesn't matter though since the sword can't be # implemented anyway. # auto --- aslongas(Sword of Kaldra|mybattlefield) aslongas(Shield of Kaldra|mybattlefield) {1}:token(Kaldra,Creature Avatar,4/4,legendary) && attach target(Kaldra) -abilities=legendary rarity=R [/card] [card] diff --git a/projects/mtg/bin/Res/sets/ALA/_cards.dat b/projects/mtg/bin/Res/sets/ALA/_cards.dat index a2b8f440b..0f11ef96f 100644 --- a/projects/mtg/bin/Res/sets/ALA/_cards.dat +++ b/projects/mtg/bin/Res/sets/ALA/_cards.dat @@ -1243,11 +1243,11 @@ id=175127 name=Sharuum the Hegemon rarity=M mana={3}{W}{U}{B} -type=Artifact Creature +type=Legendary Artifact Creature subtype=Sphinx power=5 toughness=5 -abilities=flying,legendary +abilities=flying [/card] [card] text={U}: Shore Snapper gains islandwalk until end of turn. diff --git a/projects/mtg/bin/Res/sets/ALL/_cards.dat b/projects/mtg/bin/Res/sets/ALL/_cards.dat index fd3b1cd0f..611f05e8f 100644 --- a/projects/mtg/bin/Res/sets/ALL/_cards.dat +++ b/projects/mtg/bin/Res/sets/ALL/_cards.dat @@ -260,12 +260,11 @@ id=184553 name=Kaysa rarity=R mana={3}{G}{G} -type=Creature +type=Legendary Creature subtype=Elf Druid auto=lord(creature[green]|myBattlefield)1/1 power=2 toughness=3 -abilities=legendary [/card] [card] text=Shuffle a card from your hand into your library. If you do, draw two cards at the beginning of the next turn's upkeep. diff --git a/projects/mtg/bin/Res/sets/ARB/_cards.dat b/projects/mtg/bin/Res/sets/ARB/_cards.dat index 47bb525ab..42a543022 100644 --- a/projects/mtg/bin/Res/sets/ARB/_cards.dat +++ b/projects/mtg/bin/Res/sets/ARB/_cards.dat @@ -167,7 +167,7 @@ type=Sorcery [card] text=Haste Swampcycling {2}, mountaincycling {2} ({2}, Discard this card: Search your library for a Swamp or Mountain card, reveal it, and put it into your hand. Then shuffle your library.) autohand={2}{S}:moveTo(myHand) target(mountain,swamp|myLibrary) - + id=144276 name=Igneous Pouncer rarity=C @@ -208,12 +208,12 @@ id=180605 name=Jenara, Asura of War rarity=M mana={G}{W}{U} -type=Creature +type=Legendary Creature subtype=Angel auto={1}{W}:counter(1/1) power=3 toughness=3 -abilities=legendary,flying +abilities=flying [/card] [card] text=Fear Islandcycling {2}, swampcycling {2} ({2}, Discard this card: Search your library for an Island or Swamp card, reveal it, and put it into your hand. Then shuffle your library.) @@ -248,14 +248,14 @@ id=180587 name=Karrthus, Tyrant of Jund rarity=M mana={4}{B}{R}{G} -type=Creature +type=Legendary Creature subtype=Dragon auto=moveTo(myBattlefield) all(dragon) auto=untap all(dragon) auto=lord(dragon|myBattlefield) haste other power=7 toughness=7 -abilities=flying,haste,legendary +abilities=flying,haste [/card] [card] text=When Leonin Armorguard enters the battlefield, creatures you control get +1/+1 until end of turn. diff --git a/projects/mtg/bin/Res/sets/BOK/_cards.dat b/projects/mtg/bin/Res/sets/BOK/_cards.dat index e8671b6b0..aa6545db1 100644 --- a/projects/mtg/bin/Res/sets/BOK/_cards.dat +++ b/projects/mtg/bin/Res/sets/BOK/_cards.dat @@ -92,9 +92,8 @@ id=74517 name=Day of Destiny rarity=R mana={3}{W} -type=Enchantment +type=Legendary Enchantment auto=lord(creature[legendary]|myBattlefield) 2/2 -abilities=legendary [/card] [card] text=Empty-Shrine Kannushi has protection from the colors of permanents you control. @@ -183,10 +182,9 @@ text={T}: Add {1} to your mana pool. When Gods' Eye, Gate to the Reikai is put id=74668 name=Gods' Eye, Gate to the Reikai rarity=U -type=Land +type=Legendary Land auto={T}:Add {1} auto=@movedto(this|mygraveyard) from(Battlefield):token(Spirit,Creature Spirit,1/1) -abilities=legendary [/card] [card] text=Protection from non-Spirit creatures Soulshift 4 (When this is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost 4 or less from your graveyard to your hand.) @@ -229,11 +227,10 @@ id=74636 name=Ishi-Ishi, Akki Crackshot rarity=R mana={1}{R} -type=Creature +type=Legendary Creature subtype=Goblin Warrior power=1 toughness=1 -abilities=legendary [/card] [card] text=Sacrifice Kami of False Hope: Prevent all combat damage that would be dealt this turn. @@ -329,11 +326,11 @@ id=74027 name=Oyobi, Who Split the Heavens rarity=R mana={6}{W} -type=Creature +type=Legendary Creature subtype=Spirit power=3 toughness=6 -abilities=legendary,flying +abilities=flying [/card] [card] text=Enchant creature Enchanted creature has flying. Sacrifice Phantom Wings: Return enchanted creature to its owner's hand. @@ -492,9 +489,8 @@ name=Yukora, the Prisoner rarity=R mana={2}{B}{B} auto=@movedto(this|mygraveyard):bury all(creature[-ogre]|myBattlefield) -type=Creature +type=Legendary Creature subtype=Demon Spirit power=5 toughness=5 -abilities=legendary [/card] \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/CFX/_cards.dat b/projects/mtg/bin/Res/sets/CFX/_cards.dat index 6c656a5a1..8bdd94b92 100644 --- a/projects/mtg/bin/Res/sets/CFX/_cards.dat +++ b/projects/mtg/bin/Res/sets/CFX/_cards.dat @@ -154,12 +154,12 @@ id=180516 name=Child of Alara rarity=M mana={W}{U}{B}{R}{G} -type=Creature +type=Legendary Creature subtype=Avatar auto=@movedTo(this|graveyard) from(Battlefield):bury all(*[-land]|battlefield) power=6 toughness=6 -abilities=trample,legendary +abilities=trample [/card] [card] text=Cliffrunner Behemoth has haste as long as you control a red permanent. Cliffrunner Behemoth has lifelink as long as you control a white permanent. @@ -646,11 +646,11 @@ id=185810 name=Rakka Mar rarity=R mana={2}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Shaman power=2 toughness=2 -abilities=haste,legendary +abilities=haste [/card] [card] text=Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.) When Rhox Bodyguard comes into play, you gain 3 life. diff --git a/projects/mtg/bin/Res/sets/CHK/_cards.dat b/projects/mtg/bin/Res/sets/CHK/_cards.dat index 154644061..28b8240b1 100644 --- a/projects/mtg/bin/Res/sets/CHK/_cards.dat +++ b/projects/mtg/bin/Res/sets/CHK/_cards.dat @@ -42,11 +42,10 @@ id=79248 name=Ben-Ben, Akki Hermit rarity=R mana={2}{R}{R} -type=Creature +type=Legendary Creature subtype=Goblin Shaman power=1 toughness=1 -abilities=legendary [/card] [card] text=Untap target nonlegendary creature and gain control of it until end of turn. That creature gains haste until end of turn. @@ -302,9 +301,8 @@ id=79159 name=Honden of Cleansing Fire rarity=U mana={3}{W} -type=Enchantment +type=Legendary Enchantment subtype=Shrine -abilities=legendary [/card] [card] text=At the beginning of your upkeep, put a 1/1 colorless Spirit creature token onto the battlefield for each Shrine you control. @@ -313,9 +311,8 @@ id=79180 name=Honden of Life's Web rarity=U mana={4}{G} -type=Enchantment +type=Legendary Enchantment subtype=Shrine -abilities=legendary [/card] [card] text=At the beginning of your upkeep, draw a card for each Shrine you control. @@ -324,9 +321,8 @@ id=79176 name=Honden of Seeing Winds rarity=U mana={4}{U} -type=Enchantment +type=Legendary Enchantment subtype=Shrine -abilities=legendary [/card] [card] text=Shroud @@ -383,11 +379,10 @@ id=79217 name=Isamaru, Hound of Konda rarity=R mana={W} -type=Creature +type=Legendary Creature subtype=Hound power=2 toughness=2 -abilities=legendary [/card] [card] id=79074 @@ -587,11 +582,11 @@ id=50488 name=Kodama of the North Tree rarity=R mana={2}{G}{G}{G} -type=Creature +type=Legendary Creature subtype=Spirit power=6 toughness=4 -abilities=shroud,trample,legendary +abilities=shroud,trample [/card] [card] text=Whenever you cast a Spirit or Arcane spell, each other creature you control gets +1/+1 and gains trample until end of turn. @@ -601,11 +596,10 @@ id=80288 name=Kodama of the South Tree rarity=R mana={2}{G}{G} -type=Creature +type=Legendary Creature subtype=Spirit power=4 toughness=4 -abilities=legendary [/card] [card] text=Flying When Kokusho, the Evening Star is put into a graveyard from the battlefield, each opponent loses 5 life. You gain life equal to the life lost this way. @@ -613,13 +607,13 @@ id=50445 name=Kokusho, the Evening Star rarity=R mana={4}{B}{B} -type=Creature +type=Legendary Creature subtype=Dragon Spirit auto=@movedTo(this|graveyard) from(battlefield):life:5 controller auto=@movedTo(this|graveyard) from(battlefield):life:-5 opponent power=5 toughness=5 -abilities=flying,legendary +abilities=flying [/card] [card] text=Flying @@ -651,12 +645,11 @@ id=50253 name=Marrow-Gnawer rarity=R mana={3}{B}{B} -type=Creature +type=Legendary Creature subtype=Rat Rogue auto=lord(rat) fear power=2 toughness=3 -abilities=legendary [/card] [card] text=Flying {1}, Return a land you control to its owner's hand: Put a 1/1 blue Illusion creature token with flying onto the battlefield. @@ -665,11 +658,11 @@ id=75268 name=Meloku the Clouded Mirror rarity=R mana={4}{U} -type=Creature +type=Legendary Creature subtype=Moonfolk Wizard power=2 toughness=4 -abilities=flying,legendary +abilities=flying [/card] [card] text=Enchanted Creature has "{B}: This Creature gets +1/+1 until end of turn." @@ -689,8 +682,7 @@ auto={U}{T}:Untap target(*[legendary]) id=79179 name=Minamo, School at Water's Edge rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Trample @@ -772,8 +764,7 @@ id=78991 name=Night of Souls' Betrayal rarity=R mana={2}{B}{B} -type=Enchantment -abilities=legendary +type=Legendary Enchantment [/card] [card] id=75265 @@ -794,8 +785,7 @@ auto={G}{T}:1/1 target(creature[legendary]) id=80251 name=Okina, Temple to the Grandfathers rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Reach (This creature can block creatures with flying.) Whenever you cast a Spirit or Arcane spell, Orbweaver Kumo gains forestwalk until end of turn. @@ -989,11 +979,11 @@ id=79242 name=Ryusei, the Falling Star rarity=R mana={5}{R} -type=Creature +type=Legendary Creature subtype=Dragon Spirit power=5 toughness=5 -abilities=flying,legendary +abilities=flying [/card] [card] text=Other Snake creatures you control get +0/+1. Shamans you control have "{T}: Add {G}{G} to your mana pool." @@ -1001,13 +991,12 @@ id=80254 name=Sachi, Daughter of Seshiro rarity=U mana={2}{G}{G} -type=Creature +type=Legendary Creature subtype=Snake Shaman auto=lord(snake|mybattlefield) 0/1 other auto=lord(shaman|mybattlefield) {T}:Add{G}{G} power=1 toughness=3 -abilities=legendary [/card] [card] text=Sacrifice Sakura-Tribe Elder: Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library. @@ -1042,11 +1031,10 @@ id=78965 name=Seizan, Perverter of Truth rarity=R mana={3}{B}{B} -type=Creature +type=Legendary Creature subtype=Demon Spirit power=6 toughness=5 -abilities=legendary [/card] [card] text=Flash Enchant creature Enchanted creature gets +1/+1. {G}: Regenerate enchanted creature. @@ -1069,11 +1057,10 @@ id=80256 name=Seshiro the Anointed rarity=R mana={4}{G}{G} -type=Creature +type=Legendary Creature subtype=Snake Monk power=3 toughness=4 -abilities=legendary [/card] [card] text={T}: Add {R} to your mana pool. {R}, {T}: Target legendary creature gains first strike until end of turn. @@ -1082,8 +1069,7 @@ auto={R}{T}:first strike target(creature[legendary]) id=79121 name=Shinka, the Bloodsoaked Keep rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text={T}: Add {B} to your mana pool. {B}, {T}: Target legendary Creature gains fear until end of turn. @@ -1092,8 +1078,7 @@ auto={B}{T}:fear target(creature[legendary]) id=79186 name=Shizo, Death's Storehouse rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Flying Whenever you cast a Spirit or Arcane spell, you may draw a card. @@ -1208,11 +1193,11 @@ id=78693 name=The Unspeakable rarity=R mana={6}{U}{U}{U} -type=Creature +type=Legendary Creature subtype=Spirit power=6 toughness=7 -abilities=legendary,flying,trample +abilities=flying,trample [/card] [card] text=Whenever you cast a Spirit or Arcane spell, target opponent loses 1 life and you gain 1 life. Soulshift 2 (When this is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost 2 or less from your graveyard to your hand.) @@ -1338,9 +1323,8 @@ id=80274 name=Zo-Zu the Punisher rarity=R mana={1}{R}{R} -type=Creature +type=Legendary Creature subtype=Goblin Warrior power=2 toughness=2 -abilities=legendary [/card] \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/CSP/_cards.dat b/projects/mtg/bin/Res/sets/CSP/_cards.dat index be4f6560b..00b84fc6d 100644 --- a/projects/mtg/bin/Res/sets/CSP/_cards.dat +++ b/projects/mtg/bin/Res/sets/CSP/_cards.dat @@ -193,11 +193,10 @@ id=121147 name=Heidar, Rimewind Master rarity=R mana={4}{U} -type=Creature +type=Legendary Creature subtype=Human Wizard power=3 toughness=3 -abilities=legendary [/card] [card] text=Highland Weald enters the battlefield tapped. {T}: Add {R} or {G} to your mana pool. @@ -285,14 +284,13 @@ id=113542 name=Lovisa Coldeyes rarity=R mana={3}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Barbarian auto=lord(warrior) 2/2 other auto=lord(berserker) 2/2 other auto=lord(barbarian) 2/2 other power=3 toughness=3 -abilities=legendary [/card] [card] text=Destroy target artifact or enchantment. Draw a card at the beginning of the next turn's upkeep. @@ -371,11 +369,10 @@ id=121261 name=Sek'Kuar, Deathkeeper rarity=R mana={2}{B}{R}{G} -type=Creature +type=Legendary Creature subtype=Orc Shaman power=4 toughness=3 -abilities=legendary [/card] [card] text=Discard a land card: Simian Brawler gets +1/+1 until end of turn. diff --git a/projects/mtg/bin/Res/sets/DST/_cards.dat b/projects/mtg/bin/Res/sets/DST/_cards.dat index 8450d2ee5..0bfb39001 100644 --- a/projects/mtg/bin/Res/sets/DST/_cards.dat +++ b/projects/mtg/bin/Res/sets/DST/_cards.dat @@ -476,13 +476,12 @@ rarity=C id=48582 name=Shield of Kaldra mana={4} -type=Artifact +type=Legendary Artifact subtype=Equipment text=Equipment named Sword of Kaldra, Shield of Kaldra, and Helm of Kaldra are indestructible. Equipped creature is indestructible. ("Destroy" effects and lethal damage don't destroy it.) Equip {4} auto=lord(sword of kaldra,shield of kaldra,helm of kaldra) indestructible auto=indestructible auto={4}:equip -abilities=legendary rarity=R [/card] [card] @@ -503,8 +502,7 @@ name=Slobad, Goblin Tinkerer id=51055 auto={S(artifact|myBattlefield)}:indestructible target(artifact) mana={1}{R} -type=Creature -abilities=legendary +type=Legendary Creature subtype=Goblin Artificer power=1 toughness=2 diff --git a/projects/mtg/bin/Res/sets/EXO/_cards.dat b/projects/mtg/bin/Res/sets/EXO/_cards.dat index da1f44d0d..ca86cc01e 100644 --- a/projects/mtg/bin/Res/sets/EXO/_cards.dat +++ b/projects/mtg/bin/Res/sets/EXO/_cards.dat @@ -167,11 +167,10 @@ auto={2}{U}{U}{T}:fizzle target(*|stack) name=Ertai, Wizard Adept rarity=R mana={2}{U} -type=Creature +type=Legendary Creature subtype=Human Wizard power=1 toughness=1 -abilities=legendary [/card] [card] text=Flying Exalted Dragon can't attack unless you sacrifice a land. @@ -294,11 +293,11 @@ id=6155 name=Mirri, Cat Warrior rarity=R mana={1}{G}{G} -type=Creature +type=Legendary Creature subtype=Cat Warrior power=2 toughness=3 -abilities=legendary,first strike,forestwalk,vigilance +abilities=first strike,forestwalk,vigilance [/card] [card] text=All creatures get -1/-1 until end of turn. @@ -434,7 +433,7 @@ type=Sorcery [card] text=Sacrifice a creature, Return Recurring Nightmare to its owner's hand: Return target creature card from your graveyard to the battlefield. Activate this ability only any time you could cast a sorcery. auto={S(creature|myBattlefield)}:moveto(myhand) all(this) && moveto(myBattlefield) target(creature|mygraveyard) asSorcery - + id=6103 name=Recurring Nightmare rarity=R diff --git a/projects/mtg/bin/Res/sets/FUT/_cards.dat b/projects/mtg/bin/Res/sets/FUT/_cards.dat index ebae5183b..bd17947c0 100644 --- a/projects/mtg/bin/Res/sets/FUT/_cards.dat +++ b/projects/mtg/bin/Res/sets/FUT/_cards.dat @@ -4,7 +4,7 @@ id=136150 name=Akroma's Memorial rarity=R mana={7} -type=Artifact +type=Legendary Artifact auto=lord(creature|myBattlefield) flying auto=lord(creature|myBattlefield) first strike auto=lord(creature|myBattlefield) vigilance @@ -12,7 +12,6 @@ auto=lord(creature|myBattlefield) trample auto=lord(creature|myBattlefield) haste auto=lord(creature|myBattlefield) protection from red auto=lord(creature|myBattlefield) protection from black -abilities=legendary [/card] [card] id=132212 @@ -402,7 +401,7 @@ text=Swampwalk Cycling - Pay 2 life. (Pay 2 life, Discard this card: Draw a card id=136205 name=Street Wraith rarity=U - + mana={3}{B}{B} type=Creature subtype=Wraith diff --git a/projects/mtg/bin/Res/sets/GPT/_cards.dat b/projects/mtg/bin/Res/sets/GPT/_cards.dat index 7ba94883e..73b88e94d 100644 --- a/projects/mtg/bin/Res/sets/GPT/_cards.dat +++ b/projects/mtg/bin/Res/sets/GPT/_cards.dat @@ -30,12 +30,12 @@ id=97229 name=Borborygmos rarity=R mana={3}{R}{R}{G}{G} -type=Creature +type=Legendary Creature subtype=Cyclops auto=@damaged(player) from(this):lord(creature|mybattlefield) counter(1/1) power=6 toughness=7 -abilities=legendary,trample +abilities=trample [/card] [card] text=Exile target land. diff --git a/projects/mtg/bin/Res/sets/HML/_cards.dat b/projects/mtg/bin/Res/sets/HML/_cards.dat index 2faadcdf7..b65c2f4c4 100644 --- a/projects/mtg/bin/Res/sets/HML/_cards.dat +++ b/projects/mtg/bin/Res/sets/HML/_cards.dat @@ -184,12 +184,12 @@ rarity=U id=2962 name=Autumn Willow mana={4}{G}{G} -type=Creature +type=Legendary Creature subtype=Avatar power=4 toughness=4 text=Shroud {G}: Until end of turn, Autumn Willow can be the target of spells and abilities controlled by target player as though it didn't have shroud. -abilities=opponentshroud,shroud,legendary +abilities=opponentshroud,shroud auto={G}:-shroud #Slightly borderline assumption you will never activate this ability to let the opponent target Autumn Willow rarity=R @@ -327,12 +327,11 @@ rarity=C id=2997 name=Chandler mana={4}{R} -type=Creature +type=Legendary Creature subtype=Human Rogue power=3 toughness=3 text={R}{R}{R}, {T}: Destroy target artifact creature. -abilities=legendary auto={R}{R}{R}{T}:destroy target(creature[artifact]) rarity=C [/card] @@ -437,12 +436,12 @@ rarity=C id=3002 name=Eron the Relentless mana={3}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Rogue power=5 toughness=2 text=Haste {R}{R}{R}: Regenerate Eron the Relentless. -abilities=legendary,haste +abilities=haste auto={R}{R}{R}:regenerate rarity=U [/card] @@ -495,12 +494,11 @@ rarity=C id=2922 name=Grandmother Sengir mana={4}{B} -type=Creature +type=Legendary Creature subtype=Human Wizard power=3 toughness=3 text={1}{B}, {T}: Target creature gets -1/-1 until end of turn. -abilities=legendary auto={1}{B}{T}:-1/-1 target(creature) rarity=R [/card] @@ -519,24 +517,23 @@ rarity=C id=2925 name=Ihsan's Shade mana={3}{B}{B}{B} -type=Creature +type=Legendary Creature subtype=Shade Knight power=5 toughness=5 text=Protection from white -abilities=legendary,protection from white +abilities=protection from white rarity=U [/card] [card] id=3006 name=Joven mana={3}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Rogue power=3 toughness=3 text={R}{R}{R}, {T}: Destroy target noncreature artifact. -abilities=legendary auto={R}{R}{R}{T}:destroy target(artifact[-creature]) rarity=C [/card] @@ -778,12 +775,11 @@ rarity=C id=2934 name=Veldrane of Sengir mana={5}{B}{B} -type=Creature +type=Legendary Creature subtype=Human Rogue power=5 toughness=5 text={1}{B}{B}: Veldrane of Sengir gets -3/-0 and gains forestwalk until end of turn. -abilities=legendary auto={1}{B}{B}:-3/0 && forestwalk rarity=R [/card] diff --git a/projects/mtg/bin/Res/sets/INV/_cards.dat b/projects/mtg/bin/Res/sets/INV/_cards.dat index 2919119d0..3ba3c3a9d 100644 --- a/projects/mtg/bin/Res/sets/INV/_cards.dat +++ b/projects/mtg/bin/Res/sets/INV/_cards.dat @@ -302,12 +302,11 @@ auto={T}:moveTo(myHand) target(*[legendary]|myLibrary) id=25976 name=Captain Sisay rarity=R +type=Legendary Creature mana={2}{G}{W} -type=Creature subtype=Human Soldier power=2 toughness=2 -abilities=legendary [/card] [card] text=Vigilance {G}: Regenerate Charging Troll. @@ -548,11 +547,10 @@ id=23007 name=Empress Galina rarity=R mana={3}{U}{U} -type=Creature +type=Legendary Creature subtype=Merfolk power=1 toughness=3 -abilities=legendary [/card] [card] text=Counter target creature spell. Draw a card. @@ -718,11 +716,10 @@ id=25977 name=Hanna, Ship's Navigator rarity=R mana={1}{W}{U} -type=Creature +type=Legendary Creature subtype=Human Artificer power=1 toughness=2 -abilities=legendary [/card] [card] text={2}: Target blue or red creature gets +1/+0 until end of turn. @@ -945,8 +942,7 @@ auto={4}{R}{T}{S(creature|myBattlefield)}:Damage:2 target(creature,player) id=25930 name=Keldon Necropolis rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text={W}: Llanowar Cavalry gains vigilance until end of turn. @@ -1071,11 +1067,11 @@ auto=foreach(land|myBattlefield) 1/1 name=Molimo, Maro-Sorcerer rarity=R mana={4}{G}{G}{G} -type=Creature +type=Legendary Creature subtype=Elemental power=* toughness=* -abilities=legendary,trample +abilities=trample [/card] [card] text={T}: Add {R} to your mana pool. @@ -1488,11 +1484,11 @@ id=22965 name=Reya Dawnbringer rarity=R mana={6}{W}{W}{W} -type=Creature +type=Legendary Creature subtype=Angel power=4 toughness=6 -abilities=legendary,flying +abilities=flying [/card] [card] text=Vigilance When Riptide Crab is put into a graveyard from the battlefield, draw a card. @@ -2087,13 +2083,13 @@ id=23321 name=Tsabo Tavoc rarity=R mana={5}{B}{R} -type=Creature +type=Legendary Creature subtype=Horror auto=protection from(creature[legendary]) auto={B}{B}:bury target(creature[legendary]) power=7 toughness=4 -abilities=legendary,first strike +abilities=first strike [/card] [card] text=Counter target spell. Its controller loses 3 life. diff --git a/projects/mtg/bin/Res/sets/JUD/_cards.dat b/projects/mtg/bin/Res/sets/JUD/_cards.dat index b008b6e07..c8a9db2d4 100644 --- a/projects/mtg/bin/Res/sets/JUD/_cards.dat +++ b/projects/mtg/bin/Res/sets/JUD/_cards.dat @@ -130,12 +130,12 @@ id=35893 name=Commander Eesha rarity=R mana={2}{W}{W} -type=Creature +type=Legendary Creature subtype=Bird Soldier auto=protection from(creature) power=2 toughness=4 -abilities=legendary,flying +abilities=flying [/card] [card] text=Enchant creature. Enchanted creature gets +3/+3. When enchanted creature is put into a graveyard, put a 3/3 green Elephant creature token onto the battlefield. @@ -254,12 +254,12 @@ id=36451 name=Jeska, Warrior Adept rarity=R mana={2}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Barbarian Warrior auto={T}:damage:1 target(creature,player) power=3 toughness=1 -abilities=legendary,first strike,haste +abilities=first strike,haste [/card] [card] text=Draw a card for each attacking creature. @@ -393,12 +393,11 @@ id=36525 name=Thriss, Nantuko Primus rarity=R mana={5}{G}{G} -type=Creature +type=Legendary Creature subtype=Insect Druid auto={G}{T}:5/5 target(creature) power=5 toughness=5 -abilities=legendary [/card] [card] text=Discard a card: Regenerate Tunneler Wurm. diff --git a/projects/mtg/bin/Res/sets/LEG/_cards.dat b/projects/mtg/bin/Res/sets/LEG/_cards.dat index 795edd381..cad8f0b5b 100644 --- a/projects/mtg/bin/Res/sets/LEG/_cards.dat +++ b/projects/mtg/bin/Res/sets/LEG/_cards.dat @@ -24,11 +24,10 @@ id=1642 name=Adun Oakenshield rarity=R mana={B}{R}{G} -type=Creature +type=Legendary Creature subtype=Human Knight power=1 toughness=2 -abilities=legendary [/card] [card] text=Rampage 3 (Whenever this creature becomes blocked, it gets +3/+3 until end of turn for each creature blocking it beyond the first.) @@ -113,11 +112,10 @@ id=1647 name=Barktooth Warbeard rarity=U mana={4}{B}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Warrior power=6 toughness=5 -abilities=legendary [/card] [card] text=Protection from red Beasts of Bogardan gets +1/+1 as long as any opponent controls a white permanent. @@ -148,12 +146,11 @@ id=1649 name=Boris Devilboon rarity=R mana={3}{B}{R} -type=Creature +type=Legendary Creature subtype=Zombie Wizard auto={2}{B}{R}{T}:token(Minor Demon,creature demon, 1/1,black red) power=2 toughness=2 -abilities=legendary [/card] [card] text={1}: Carrion Ants gets +1/+1 until end of turn. @@ -263,11 +260,10 @@ id=1651 name=Dakkon Blackblade rarity=R mana={2}{B}{U}{U}{W} -type=Creature +type=Legendary Creature subtype=Human Warrior power=* toughness=* -abilities=legendary [/card] [card] text=Prevent all combat damage that would be dealt this turn. @@ -500,12 +496,12 @@ id=1653 name=Gosta Dirk rarity=R mana={3}{W}{W}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Warrior auto=lord(creature) -islandwalk power=4 toughness=4 -abilities=legendary,first strike +abilities=first strike [/card] [card] text=All creatures lose flying. @@ -542,11 +538,10 @@ name=Gwendlyn Di Corci auto={T}:discard:1 target(player) myTurnOnly rarity=R mana={U}{B}{B}{R} -type=Creature +type=Legendary Creature subtype=Human Rogue power=3 toughness=5 -abilities=legendary [/card] [card] text=Creatures with plainswalk can be blocked as though they didn't have plainswalk. @@ -644,12 +639,11 @@ id=1657 name=Hunding Gjornersen rarity=U mana={3}{W}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Warrior auto=rampage(1/1,1) power=5 toughness=4 -abilities=legendary [/card] [card] text={T}: You may tap or untap target artifact an opponent controls. @@ -707,44 +701,40 @@ id=1658 name=Jacques le Vert rarity=R mana={1}{R}{G}{W} -type=Creature +type=Legendary Creature subtype=Human Warrior power=3 toughness=2 -abilities=legendary [/card] [card] name=Jasmine Boreal id=1659 rarity=U mana={3}{G}{W} -type=Creature +type=Legendary Creature subtype=Human power=4 toughness=5 -abilities=legendary [/card] [card] name=Jedit Ojanen id=1660 rarity=U mana={4}{W}{W}{U} -type=Creature +type=Legendary Creature subtype=Cat Warrior power=5 toughness=5 -abilities=legendary [/card] [card] name=Jerrard of the Closed Fist id=1661 rarity=U mana={3}{G}{G}{R} -type=Creature +type=Legendary Creature subtype=Human Knight power=6 toughness=5 -abilities=legendary [/card] [card] text=Jovial Evil deals X damage to target opponent, where X is twice the number of white creatures that player controls. @@ -762,19 +752,17 @@ name=Karakas auto={T}:Add {W} auto={T}:moveTo(ownerhand) target(creature[legendary]) rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] name=Kasimir the Lone Wolf id=1663 rarity=U mana={4}{U}{W} -type=Creature +type=Legendary Creature subtype=Human Warrior power=5 toughness=3 -abilities=legendary [/card] [card] name=Keepers of the Faith @@ -854,12 +842,11 @@ id=1665 name=Lady Caleria rarity=R mana={3}{G}{G}{W}{W} -type=Creature +type=Legendary Creature subtype=Human Archer auto={T}:damage:3 target(creature[attacking;blocking]) power=3 toughness=6 -abilities=legendary [/card] [card] text={W}{B}, {T}: Prevent all combat damage that would be dealt by target creature this turn. @@ -867,23 +854,21 @@ id=1666 name=Lady Evangela rarity=R mana={W}{U}{B} -type=Creature +type=Legendary Creature subtype=Human Cleric auto={W}{B}{T}:preventAllCombatDamage from target(creature) ueot power=1 toughness=2 -abilities=legendary [/card] [card] id=1667 name=Lady Orca rarity=U mana={5}{B}{R} -type=Creature +type=Legendary Creature subtype=Demon power=7 toughness=4 -abilities=legendary [/card] [card] text=Whenever a Mountain an opponent controls becomes tapped, you gain 1 life. @@ -909,11 +894,11 @@ id=1668 name=Livonya Silone rarity=R mana={2}{R}{R}{G}{G} -type=Creature +type=Legendary Creature subtype=Human Warrior power=4 toughness=4 -abilities=legendary,first strike +abilities=first strike [/card] [card] text=First strike Creatures with plainswalk can be blocked as though they didn't have plainswalk. Creatures with forestwalk can be blocked as though they didn't have forestwalk. @@ -921,13 +906,13 @@ id=1669 name=Lord Magnus rarity=U mana={3}{G}{W}{W} -type=Creature +type=Legendary Creature subtype=Human Druid auto=lord(creature) -plainswalk auto=lord(creature) -forestwalk power=4 toughness=3 -abilities=legendary,first strike +abilities=first strike [/card] [card] text=Swampwalk @@ -947,12 +932,11 @@ id=1670 name=Marhault Elsdragon rarity=U mana={3}{G}{R}{R} -type=Creature +type=Legendary Creature subtype=Elf Warrior power=4 toughness=6 auto=rampage(1/1,1) -abilities=legendary [/card] [card] text=Creatures without flying can't attack. @@ -991,12 +975,11 @@ id=1674 name=Pavel Maliki rarity=U mana={4}{B}{R} -type=Creature +type=Legendary Creature subtype=Human auto={B}{R}:1/0 power=5 toughness=3 -abilities=legendary [/card] [card] text={T}: Add {G} to your mana pool. {T}: Target 1/1 creature gets +1/+2 until end of turn. @@ -1005,8 +988,7 @@ auto={T}:Add {G} auto={T}: 1/2 target(creature[power=1;toughness=1]) name=Pendelhaven rarity=U -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Flying {G}{G}{G}, {T}: Target creature gains flying until end of turn. @@ -1039,12 +1021,11 @@ id=1675 name=Princess Lucrezia rarity=U mana={3}{U}{U}{B} -type=Creature +type=Legendary Creature subtype=Human Wizard auto={T}:Add {U} power=5 toughness=4 -abilities=legendary [/card] [card] text=Creatures with swampwalk can be blocked as though they didn't have swampwalk. @@ -1083,12 +1064,11 @@ id=1676 name=Ragnar rarity=R mana={W}{U}{G} -type=Creature +type=Legendary Creature subtype=Human Cleric auto={W}{U}{G}{T}:regenerate target(creature) power=2 toughness=2 -abilities=legendary [/card] [card] text=First strike @@ -1096,11 +1076,11 @@ id=1677 name=Ramirez DePietro rarity=U mana={3}{U}{B}{B} -type=Creature +type=Legendary Creature subtype=Human Pirate power=4 toughness=3 -abilities=legendary,first strike +abilities=first strike [/card] [card] text={T}: Tap target artifact. @@ -1139,12 +1119,11 @@ id=1680 name=Riven Turnbull rarity=U mana={5}{U}{B} -type=Creature +type=Legendary Creature subtype=Human Advisor auto={T}:Add {B} power=5 toughness=7 -abilities=legendary [/card] [card] text=Islandwalk @@ -1183,22 +1162,20 @@ id=1684 name=Sivitri Scarzam rarity=U mana={5}{U}{B} -type=Creature +type=Legendary Creature subtype=Human power=6 toughness=4 -abilities=legendary [/card] [card] id=1683 name=Sir Shandlar of Eberyn rarity=U -type=Creature +type=Legendary Creature mana={4}{G}{W} power=4 subtype=Human Knight toughness=7 -abilities=legendary [/card] [card] text=Swampwalk Whenever a player casts a black spell, you gain 1 life. @@ -1206,12 +1183,12 @@ id=1685 name=Sol'kanar the Swamp King rarity=R mana={2}{U}{B}{R} -type=Creature +type=Legendary Creature subtype=Demon auto=@movedTo(*[black]|stack):life:1 power=5 toughness=5 -abilities=swampwalk,legendary +abilities=swampwalk [/card] [card] text={T}: Destroy target blue creature. @@ -1262,12 +1239,11 @@ id=1687 name=Sunastian Falconer rarity=U mana={3}{R}{G} -type=Creature +type=Legendary Creature subtype=Human Shaman auto={T}:Add {2} power=4 toughness=4 -abilities=legendary [/card] [card] text=Syphon Soul deals 2 damage to each other player. You gain life equal to the damage dealt this way. @@ -1306,11 +1282,10 @@ id=1689 name=The Lady of the Mountain rarity=U mana={4}{R}{G} -type=Creature +type=Legendary Creature subtype=Giant power=5 toughness=5 -abilities=legendary [/card] [card] text=Flying, first strike @@ -1329,11 +1304,10 @@ id=1691 name=Tobias Andrion rarity=U mana={3}{W}{U} -type=Creature +type=Legendary Creature subtype=Human Advisor power=4 toughness=4 -abilities=legendary [/card] [card] text={T}: Tor Wauki deals 2 damage to target attacking or blocking creature. @@ -1341,23 +1315,21 @@ id=1692 name=Tor Wauki rarity=U mana={2}{B}{B}{R} -type=Creature +type=Legendary Creature subtype=Human Archer auto={T}:damage:2 target(creature[attacking;blocking]) power=3 toughness=3 -abilities=legendary [/card] [card] id=1693 name=Torsten Von Ursus rarity=U mana={3}{G}{G}{W} -type=Creature +type=Legendary Creature subtype=Human Soldier power=5 toughness=5 -abilities=legendary [/card] [card] text=Flying {R}{G}, {T}: Target creature gets +2/+2 until end of turn. @@ -1365,12 +1337,12 @@ id=1694 name=Tuknir Deathlock rarity=R mana={R}{R}{G}{G} -type=Creature +type=Legendary Creature subtype=Human Wizard auto={R}{G}{T}:2/2 target(creature) power=2 toughness=2 -abilities=legendary,flying +abilities=flying [/card] [card] text=First strike (This creature deals combat damage before creatures without first strike.) @@ -1410,8 +1382,7 @@ auto={T}:-first strike target(creature) id=1707 name=Urborg rarity=U -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Search your library for a basic land card and put that card onto the battlefield. Then shuffle your library. @@ -1429,12 +1400,12 @@ id=1695 name=Ur-Drago rarity=R mana={3}{U}{U}{B}{B} -type=Creature +type=Legendary Creature subtype=Elemental auto=lord(creature) -swampwalk power=4 toughness=4 -abilities=legendary,first strike +abilities=first strike [/card] [card] text=Flying (This creature can't be blocked except by creatures with flying or reach.) {B}: Vampire Bats gets +1/+0 until end of turn. Activate this ability no more than twice each turn. @@ -1541,12 +1512,12 @@ id=1697 name=Xira Arien rarity=R mana={B}{R}{G} -type=Creature +type=Legendary Creature subtype=Insect Wizard auto={B}{R}{G}{T}:draw:1 power=1 toughness=2 -abilities=legendary,flying +abilities=flying [/card] [card] text=Flying, vigilance diff --git a/projects/mtg/bin/Res/sets/LGN/_cards.dat b/projects/mtg/bin/Res/sets/LGN/_cards.dat index 7c4185a58..84e287d12 100644 --- a/projects/mtg/bin/Res/sets/LGN/_cards.dat +++ b/projects/mtg/bin/Res/sets/LGN/_cards.dat @@ -4,11 +4,11 @@ id=42049 name=Akroma, Angel of Wrath rarity=R mana={5}{W}{W}{W} -type=Creature +type=Legendary Creature subtype=Angel power=6 toughness=6 -abilities=flying,first strike,trample,haste,protection from black,protection from red,vigilance,legendary +abilities=flying,first strike,trample,haste,protection from black,protection from red,vigilance [/card] [card] text=Cleric creatures have vigilance. diff --git a/projects/mtg/bin/Res/sets/LRW/_cards.dat b/projects/mtg/bin/Res/sets/LRW/_cards.dat index 0db6d0d56..4cb44ef29 100644 --- a/projects/mtg/bin/Res/sets/LRW/_cards.dat +++ b/projects/mtg/bin/Res/sets/LRW/_cards.dat @@ -147,11 +147,11 @@ auto={T}:damage:2 all(creature[attacking;blocking]|opponentBattlefield) auto={T}:damage:2 all(creature[attacking;blocking]|myBattlefield) rarity=R mana={2}{W}{W} -type=Creature +type=Legendary Creature subtype=Kithkin Archer power=2 toughness=3 -abilities=legendary,first strike +abilities=first strike [/card] [card] text=Reach (This can block creatures with flying.) @@ -490,11 +490,11 @@ id=140219 name=Horde of Notions rarity=R mana={W}{U}{B}{R}{G} -type=Creature +type=Legendary Creature subtype=Elemental power=5 toughness=5 -abilities=vigilance,trample,haste,legendary +abilities=vigilance,trample,haste [/card] [card] text={T}: Put a +1/+1 counter on target creature for each Elf you control. @@ -756,11 +756,10 @@ auto=@movedTo(*|opponentgraveyard) from(opponenthand):may token(Elf Warrior,Crea name=Nath of the Gilt-Leaf rarity=R mana={3}{B}{G} -type=Creature +type=Legendary Creature subtype=Elf Warrior power=4 toughness=4 -abilities=legendary [/card] [card] text=Protection from Elves @@ -1112,11 +1111,11 @@ id=140172 name=Sygg, River Guide rarity=R mana={W}{U} -type=Creature +type=Legendary Creature subtype=Merfolk Wizard power=2 toughness=2 -abilities=legendary,islandwalk +abilities=islandwalk [/card] [card] text={T}, Sacrifice a Goblin: Tar Pitcher deals 2 damage to target creature or player. @@ -1243,11 +1242,11 @@ id=140226 name=Wort, Boggart Auntie rarity=R mana={2}{B}{R} -type=Creature +type=Legendary Creature subtype=Goblin Shaman power=3 toughness=3 -abilities=fear,legendary +abilities=fear [/card] [card] text=Flash,flying. {U}{B}, Pay 1 life: Return Wydwen, the Biting Gale to its owner's hand. @@ -1256,11 +1255,11 @@ id=140229 name=Wydwen, the Biting Gale rarity=R mana={2}{U}{B} -type=Creature +type=Legendary Creature subtype=Faerie Wizard power=3 toughness=3 -abilities=legendary,flying,flash +abilities=flying,flash [/card] [card] text=Enchant creature Enchanted creature has defender and flying. diff --git a/projects/mtg/bin/Res/sets/MIR/_cards.dat b/projects/mtg/bin/Res/sets/MIR/_cards.dat index 306d6e473..9784421a5 100644 --- a/projects/mtg/bin/Res/sets/MIR/_cards.dat +++ b/projects/mtg/bin/Res/sets/MIR/_cards.dat @@ -1237,14 +1237,14 @@ id=3311 name=Shauku, Endbringer rarity=R mana={5}{B}{B} -type=Creature +type=Legendary Creature subtype=Vampire auto=@each my upkeep:life:-3 controller auto=aslongas(other creature|battlefield) cantattack auto={T}:counter(1/1) all(this) && moveTo(exile) target(creature) power=5 toughness=5 -abilities=legendary,flying +abilities=flying [/card] [card] text={B}{R}{T}: Shauku's Minion deals 2 damage to target white creature. @@ -1274,13 +1274,13 @@ id=3315 name=Spirit of the Night rarity=R mana={6}{B}{B}{B} -type=Creature +type=Legendary Creature subtype=Demon Spirit auto=@each my combatbegins:first strike auto=@each my combatends:-first strike power=6 toughness=5 -abilities=legendary,flying,trample,haste,protection from black +abilities=flying,trample,haste,protection from black [/card] [card] text=Spitting Earth deals damage equal to the number of Mountains you control to target creature. @@ -1619,12 +1619,12 @@ abilities=lifelink text=Flying Other Griffin creatures get +1/+1. id=3526 name=Zuberi, Golden Feather -type=Creature +type=Legendary Creature subtype=Griffin rarity=R mana={4}{W} auto=lord(griffin) 1/1 other power=3 toughness=3 -abilities=flying,legendary +abilities=flying [/card] \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/MRQ/_cards.dat b/projects/mtg/bin/Res/sets/MRQ/_cards.dat index 00ebfcfb9..38c73fd7f 100644 --- a/projects/mtg/bin/Res/sets/MRQ/_cards.dat +++ b/projects/mtg/bin/Res/sets/MRQ/_cards.dat @@ -1445,11 +1445,10 @@ id=19716 name=Squee, Goblin Nabob rarity=R mana={2}{R} -type=Creature +type=Legendary Creature subtype=Goblin power=1 toughness=1 -abilities=legendary [/card] [card] text=Vigilance (Attacking doesn't cause this creature to tap.) diff --git a/projects/mtg/bin/Res/sets/NMS/_cards.dat b/projects/mtg/bin/Res/sets/NMS/_cards.dat index 4d5f4f217..c5e5c8f27 100644 --- a/projects/mtg/bin/Res/sets/NMS/_cards.dat +++ b/projects/mtg/bin/Res/sets/NMS/_cards.dat @@ -26,13 +26,13 @@ id=22897 name=Ascendant Evincar rarity=R mana={4}{B}{B} -type=Creature +type=Legendary Creature subtype=Vampire auto=lord(creature[black]) 1/1 other auto=lord(creature[-black]) -1/-1 power=3 toughness=3 -abilities=legendary,flying +abilities=flying [/card] [card] text=Flying Battlefield Percher can block only creatures with flying. {1}{B}: Battlefield Percher gets +1/+1 until end of turn. @@ -245,8 +245,7 @@ name=Kor Haven auto={T}:Add {1} auto={1}{W}{T}:preventAllCombatDamage from target(creature[attacking]) ueot rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text={T}, Sacrifice Lawbringer: Exile target red creature. @@ -351,8 +350,7 @@ auto={5}{T}:destroy target(creature[flying]) name=Predator, Flagship rarity=R mana={5} -type=Artifact -abilities=legendary +type=Legendary Artifact [/card] [card] text=At the beginning of each opponent's upkeep, Rackling deals X damage to that player, where X is 3 minus the number of cards in his or her hand. @@ -412,8 +410,7 @@ auto={4}{T}{S(land|myBattlefield)}:damage:1 target(creature,player) id=21402 name=Rath's Edge rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Islandwalk (This creature is unblockable as long as defending player controls an Island.) diff --git a/projects/mtg/bin/Res/sets/ODY/_cards.dat b/projects/mtg/bin/Res/sets/ODY/_cards.dat index ee97fa210..db7da7d2f 100644 --- a/projects/mtg/bin/Res/sets/ODY/_cards.dat +++ b/projects/mtg/bin/Res/sets/ODY/_cards.dat @@ -794,12 +794,12 @@ id=29963 name=Kamahl, Pit Fighter rarity=R mana={4}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Barbarian auto={T}:damage:3 target(creature,player) power=6 toughness=1 -abilities=legendary,haste +abilities=haste [/card] [card] text=Enchant creature Enchanted creature can't attack. Threshold - Enchanted creature can't block as long as seven or more cards are in your graveyard. @@ -879,12 +879,12 @@ id=31820 name=Lieutenant Kirtar rarity=R mana={1}{W}{W} -type=Creature +type=Legendary Creature subtype=Bird Soldier auto={1}{W}{S}:moveTo(exile) target(creature[attacking]) power=2 toughness=2 -abilities=legendary,flying +abilities=flying [/card] [card] text=Target player gains 4 life, then gains 4 life for each card named Life Burst in each graveyard. @@ -1484,12 +1484,11 @@ id=29985 name=Seton, Krosan Protector rarity=R mana={G}{G}{G} -type=Creature +type=Legendary Creature subtype=Centaur Druid auto={0}:tap target(druid[-tapped]|myBattlefield) && add{G} power=2 toughness=2 -abilities=legendary [/card] [card] text={2}, {T}, Sacrifice Shadowblood Egg: Add {B}{R} to your mana pool. Draw a card. diff --git a/projects/mtg/bin/Res/sets/ONS/_cards.dat b/projects/mtg/bin/Res/sets/ONS/_cards.dat index 60e8d9554..e55aa8dc6 100644 --- a/projects/mtg/bin/Res/sets/ONS/_cards.dat +++ b/projects/mtg/bin/Res/sets/ONS/_cards.dat @@ -60,13 +60,12 @@ id=39932 name=Arcanis the Omnipotent rarity=R mana={3}{U}{U}{U} -type=Creature +type=Legendary Creature subtype=Wizard power=3 toughness=4 auto={T}:draw:3 auto={2}{U}{U}:moveTo(myhand) -abilities=legendary [/card] [card] text=Put target enchantment on top of its owner's library. Cycling {2} ({2}, Discard this card: Draw a card.) @@ -1060,11 +1059,11 @@ id=39859 name=Rorix Bladewing rarity=R mana={3}{R}{R}{R} -type=Creature +type=Legendary Creature subtype=Dragon power=6 toughness=5 -abilities=flying,haste,legendary +abilities=flying,haste [/card] [card] text=Whenever Rotlung Reanimator or another Cleric is put into a graveyard from the battlefield, put a 2/2 black Zombie creature token onto the battlefield. @@ -1172,12 +1171,12 @@ id=39860 name=Silvos, Rogue Elemental rarity=R mana={3}{G}{G}{G} -type=Creature +type=Legendary Creature subtype=Elemental auto={G}:regenerate power=8 toughness=5 -abilities=trample,legendary +abilities=trample [/card] [card] text=Sacrifice a Goblin: Add {R} to your mana pool. @@ -1449,12 +1448,12 @@ id=39863 name=Visara the Dreadful rarity=R mana={3}{B}{B}{B} -type=Creature +type=Legendary Creature subtype=Gorgon auto={T}:bury target(creature) power=5 toughness=5 -abilities=flying,legendary +abilities=flying [/card] [card] text=Choose one: Put a 1/1 green Insect creature token onto the battlefield; or target creature gets +1/+1 and gains trample until end of turn; or regenerate target Beast. diff --git a/projects/mtg/bin/Res/sets/PLC/_cards.dat b/projects/mtg/bin/Res/sets/PLC/_cards.dat index 886b457f3..3fb4c171f 100644 --- a/projects/mtg/bin/Res/sets/PLC/_cards.dat +++ b/projects/mtg/bin/Res/sets/PLC/_cards.dat @@ -91,11 +91,10 @@ id=122487 name=Crovax, Ascendant Hero rarity=R mana={4}{W}{W} -type=Creature +type=Legendary Creature subtype=Human Lord power=4 toughness=4 -abilities=legendary [/card] [card] text=Destroy all creatures. They can't be regenerated. @@ -327,12 +326,12 @@ id=122406 name=Mirri the Cursed rarity=R mana={2}{B}{B} -type=Creature +type=Legendary Creature subtype=Vampire Cat auto=@damaged(creature) from(this):counter(1/1,1) power=3 toughness=2 -abilities=flying,first strike,haste,legendary +abilities=flying,first strike,haste [/card] [card] text=All Slivers have "{3}, Sacrifice this permanent: Destroy target permanent." diff --git a/projects/mtg/bin/Res/sets/PLS/_cards.dat b/projects/mtg/bin/Res/sets/PLS/_cards.dat index ea0e79920..74bf49444 100644 --- a/projects/mtg/bin/Res/sets/PLS/_cards.dat +++ b/projects/mtg/bin/Res/sets/PLS/_cards.dat @@ -1,5 +1,5 @@ [card] -text=Domain Target player draws a card for each basic land type among lands he or she controls. +text=Domain ETarget player draws a card for each basic land type among lands he or she controls. auto=aslongas(plains|myBattlefield) draw:1 auto=aslongas(island|myBattlefield) draw:1 auto=aslongas(swamp|myBattlefield) draw:1 @@ -130,11 +130,10 @@ name=Ertai, the Corrupted rarity=R mana={2}{W}{U}{B} auto={U}{T}{S(creature,enchantment|myBattlefield)}:fizzle target(*|stack) -type=Creature +type=Legendary Creature subtype=Wizard power=3 toughness=4 -abilities=legendary [/card] [card] text={2}{U}: Return target white or black creature you control to its owner's hand. @@ -146,7 +145,7 @@ mana={2}{U} type=Enchantment [/card] [card] -text=Domain Target player loses X life and you gain X life, where X is the number of basic land types among lands you control. +text=Domain ETarget player loses X life and you gain X life, where X is the number of basic land types among lands you control. auto=aslongas(plains|myBattlefield) life:-1 opponent && life:1 controller auto=aslongas(island|myBattlefield) life:-1 opponent && life:1 controller auto=aslongas(swamp|myBattlefield) life:-1 opponent && life:1 controller @@ -362,13 +361,12 @@ id=26412 name=Nemata, Grove Guardian rarity=R mana={4}{G}{G} -type=Creature +type=Legendary Creature subtype=Treefolk auto={2}{G}:token(Saproling,creature saproling,1/1,green) auto={S(saproling|myBattlefield)}:lord(saproling) 1/1 ueot power=4 toughness=5 -abilities=legendary [/card] [card] text=When Pygmy Kavu enters the battlefield, draw a card for each black creature your opponents control. diff --git a/projects/mtg/bin/Res/sets/PTK/_cards.dat b/projects/mtg/bin/Res/sets/PTK/_cards.dat index 28a677781..93a69f542 100644 --- a/projects/mtg/bin/Res/sets/PTK/_cards.dat +++ b/projects/mtg/bin/Res/sets/PTK/_cards.dat @@ -106,12 +106,12 @@ id=10712 name=Cao Ren, Wei Commander rarity=R mana={2}{B}{B} -type=Creature +type=Legendary Creature subtype=Human Soldier Warrior auto=life:-3 power=3 toughness=3 -abilities=legendary,horsemanship +abilities=horsemanship [/card] [card] text=When Council of Advisors enters the battlefield, draw a card. @@ -286,12 +286,11 @@ id=10570 name=Hua Tuo, Honored Physician rarity=R mana={1}{G}{G} -type=Creature +type=Legendary Creature subtype=Human auto={T}:moveTo(mylibrary) target(creature|mygraveyard) myTurnOnly power=1 toughness=2 -abilities=legendary [/card] [card] text=Whenever Hunting Cheetah deals damage to an opponent, you may search your library for a Forest card, reveal that card, put it into your hand, then shuffle your library. @@ -360,12 +359,11 @@ id=10490 name=Kongming, "Sleeping Dragon" rarity=R mana={2}{W}{W} -type=Creature +type=Legendary Creature subtype=Human Advisor auto=lord(creature|myBattlefield) 1/1 other power=2 toughness=2 -abilities=legendary [/card] [card] text={T}: Kongming's Contraptions deals 2 damage to target attacking creature. Play this ability only during the declare attackers step, and only on an opponent's turn. @@ -385,11 +383,11 @@ id=10609 name=Lady Zhurong, Warrior Queen rarity=R mana={4}{G} -type=Creature +type=Legendary Creature subtype=Human Soldier Warrior power=4 toughness=3 -abilities=legendary,horsemanship +abilities=horsemanship [/card] [card] text=Sacrifice Loyal Retainers: Return target legendary creature card from your graveyard onto the battlefield. Play this ability only during your turn, before attackers are declared. @@ -409,11 +407,11 @@ id=10536 name=Lu Bu, Master-at-Arms rarity=R mana={5}{R} -type=Creature +type=Legendary Creature subtype=Human Soldier Warrior power=4 toughness=3 -abilities=legendary,horsemanship,haste +abilities=horsemanship,haste [/card] [card] text=Horsemanship (This creature can't be blocked except by creatures with horsemanship.) @@ -421,11 +419,11 @@ id=10710 name=Lu Meng, Wu General rarity=U mana={3}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Soldier power=4 toughness=4 -abilities=legendary,horsemanship +abilities=horsemanship [/card] [card] text={T}: Draw a card. Activate this ability only during your turn, before attackers are declared. @@ -433,12 +431,11 @@ id=10614 name=Lu Su, Wu Advisor rarity=R mana={3}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Advisor auto={T}:Draw:1 myTurnOnly power=1 toughness=2 -abilities=legendary [/card] [card] text=Horsemanship (This creature can't be blocked except by creatures with horsemanship.) Whenever Lu Xun, Scholar General deals damage to an opponent, you may draw a card. @@ -447,11 +444,11 @@ id=10616 name=Lu Xun, Scholar General rarity=U mana={2}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Soldier power=1 toughness=3 -abilities=legendary,horsemanship +abilities=horsemanship [/card] [card] text=Other green creatures you control get +1/+1. @@ -459,12 +456,11 @@ id=10732 name=Meng Huo, Barbarian King rarity=R mana={3}{G}{G} -type=Creature +type=Legendary Creature subtype=Human Barbarian Soldier auto=lord(creature[green]|myBattlefield) 1/1 other power=4 toughness=4 -abilities=legendary [/card] [card] id=10503 @@ -541,12 +537,11 @@ id=10713 name=Pang Tong, "Young Phoenix" rarity=R mana={1}{W}{W} -type=Creature +type=Legendary Creature subtype=Human Advisor auto={T}:0/2 target(creature) myTurnOnly power=1 toughness=2 -abilities=legendary [/card] [card] text=You gain 2 life for each creature you control. @@ -778,12 +773,11 @@ id=10630 name=Sima Yi, Wei Field Marshal rarity=R mana={5}{B} -type=Creature +type=Legendary Creature subtype=Human Soldier auto=foreach(swamp|myBattlefield) 1/0 power=* toughness=4 -abilities=legendary [/card] [card] id=10545 @@ -850,12 +844,12 @@ id=10709 name=Sun Ce, Young Conquerer rarity=U mana={3}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Soldier auto=may moveto(ownerhand) target(creature|battlefield) power=3 toughness=3 -abilities=legendary,horsemanship +abilities=horsemanship [/card] [card] text=Creatures you control have horsemanship. (They can't be blocked except by creatures with horsemanship.) @@ -863,12 +857,11 @@ id=10513 name=Sun Quan, Lord of Wu rarity=R mana={4}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Soldier auto=lord(creature|battlefield) horsemanship power=4 toughness=4 -abilities=legendary [/card] [card] text={T}: Add {B} to your mana pool. @@ -1113,12 +1106,12 @@ id=10590 name=Xiahou Dun, the One-Eyed rarity=U mana={2}{B}{B} -type=Creature +type=Legendary Creature subtype=Human Soldier auto={S}:moveTo(ownerhand) target(*[black]|mygraveyard) myTurnOnly power=3 toughness=2 -abilities=legendary,horsemanship +abilities=horsemanship [/card] [card] text={T}: Target creature gets +2/+0 until end of turn. Activate this ability only during your turn, before attackers are declared. @@ -1126,12 +1119,11 @@ id=13831 name=Xun Yu, Wei Advisor rarity=R mana={1}{B}{B} -type=Creature +type=Legendary Creature subtype=Human Advisor auto={T}:2/0 target(creature|myBattlefield) myTurnOnly power=1 toughness=1 -abilities=legendary [/card] [card] text=Horsemanship (This creature can't be blocked except by creatures with horsemanship.) Yellow Scarves Cavalry can't block. @@ -1200,11 +1192,11 @@ id=10604 name=Zhang Fei, Fierce Warrior rarity=U mana={4}{W}{W} -type=Creature +type=Legendary Creature subtype=Human Soldier Warrior power=4 toughness=4 -abilities=legendary,horsemanship,vigilance +abilities=horsemanship,vigilance [/card] [card] text=Zhou Yu, Chief Commander can't attack unless defending player controls an Island. @@ -1225,12 +1217,11 @@ id=10711 name=Zhuge Jin, Wu Strategist rarity=R mana={1}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Advisor auto={T}:unblockable target(creature) myTurnOnly power=1 toughness=1 -abilities=legendary [/card] [card] text=Mountainwalk @@ -1382,10 +1373,10 @@ id=10610 name=Zuo Ci, the Mocking Sage rarity=R mana={1}{G}{G} -type=Creature +type=Legendary Creature subtype=Human Advisor auto=cantbeblockedby(creature[horsemanship]) power=1 toughness=2 -abilities=legendary,opponentshroud +abilities=opponentshroud [/card] \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/RAV/_cards.dat b/projects/mtg/bin/Res/sets/RAV/_cards.dat index c883e5dcc..58c572adf 100644 --- a/projects/mtg/bin/Res/sets/RAV/_cards.dat +++ b/projects/mtg/bin/Res/sets/RAV/_cards.dat @@ -1175,14 +1175,13 @@ id=89110 name=Tolsimir Wolfblood rarity=R mana={4}{G}{W} -type=Creature +type=Legendary Creature subtype=Elf Warrior auto=lord(creature[green]|myBattlefield) 1/1 other auto=lord(creature[white]|myBattlefield) 1/1 other auto={T}:token(Voja,creature wolf, 2/2,green white legendary) power=3 toughness=4 -abilities=legendary [/card] [card] text={W}, Sacrifice Transluminant: Put a 1/1 white Spirit creature token with flying onto the battlefield at end of turn. diff --git a/projects/mtg/bin/Res/sets/SCG/_cards.dat b/projects/mtg/bin/Res/sets/SCG/_cards.dat index 815fec43e..6a8c451c2 100644 --- a/projects/mtg/bin/Res/sets/SCG/_cards.dat +++ b/projects/mtg/bin/Res/sets/SCG/_cards.dat @@ -14,12 +14,12 @@ id=42024 name=Bladewing the Risen rarity=R mana={3}{B}{B}{R}{R} -type=Creature +type=Legendary Creature subtype=Zombie Dragon auto={B}{R}:lord(dragon) 1/1 power=4 toughness=4 -abilities=legendary,flying +abilities=flying [/card] [card] text=Destroy target artifact or enchantment. Cycling {2} ({2}, Discard this card: Draw a card.) @@ -340,8 +340,7 @@ rarity=C id=45166 name=Sliver Overlord mana={W}{U}{B}{R}{G} -type=Creature -abilities=Legendary +type=Legendary Creature subtype=Sliver Mutant power=7 toughness=7 diff --git a/projects/mtg/bin/Res/sets/SOK/_cards.dat b/projects/mtg/bin/Res/sets/SOK/_cards.dat index bd7667273..4d84d665d 100644 --- a/projects/mtg/bin/Res/sets/SOK/_cards.dat +++ b/projects/mtg/bin/Res/sets/SOK/_cards.dat @@ -4,15 +4,14 @@ id=74187 name=Adamaro, First to Desire rarity=R mana={1}{R}{R} -type=Creature +type=Legendary Creature subtype=Spirit auto=foreach(*|opponenthand) 1/1 power=* toughness=* -abilities=legendary [/card] [card] -text=Choose one Tap all Spirits; or tap all non-Spirit creatures. +text=Choose one ETap all Spirits; or tap all non-Spirit creatures. id=74208 auto=may tap all(spirit) auto=may tap all(creature[-spirit]) @@ -52,12 +51,11 @@ id=84370 name=Ayumi, the Last Visitor rarity=R mana={3}{G}{G} -type=Creature +type=Legendary Creature subtype=Spirit auto=aslongas(land[legendary]|opponentbattlefield) unblockable power=7 toughness=3 -abilities=legendary [/card] [card] text={R}: Target creature gets +1/+0 until end of turn. @@ -138,7 +136,7 @@ toughness=3 [card] text=Gaze of Adamaro deals damage equal to the number of cards in target player's hand to that player. id=89401 - + target=player alias=129750 name=Gaze of Adamaro @@ -148,7 +146,7 @@ type=Instant subtype=Arcane [/card] [card] -text={2}{G}, {T}: Target creature gets +2/+2 until end of turn. Channel {3}{G}, Discard Ghost-Lit Nourisher: Target creature gets +4/+4 until end of turn. +text={2}{G}, {T}: Target creature gets +2/+2 until end of turn. Channel E{3}{G}, Discard Ghost-Lit Nourisher: Target creature gets +4/+4 until end of turn. id=74068 name=Ghost-Lit Nourisher rarity=U @@ -161,7 +159,7 @@ power=2 toughness=1 [/card] [card] -text={2}{R}, {T}: Ghost-Lit Raider deals 2 damage to target creature. Channel {3}{R}, Discard Ghost-Lit Raider: Ghost-Lit Raider deals 4 damage to target creature. +text={2}{R}, {T}: Ghost-Lit Raider deals 2 damage to target creature. Channel E{3}{R}, Discard Ghost-Lit Raider: Ghost-Lit Raider deals 4 damage to target creature. id=87341 name=Ghost-Lit Raider rarity=U @@ -174,7 +172,7 @@ power=2 toughness=1 [/card] [card] -text={W}, {T}: You gain 2 life. Channel {1}{W}, Discard Ghost-Lit Redeemer: You gain 4 life. +text={W}, {T}: You gain 2 life. Channel E{1}{W}, Discard Ghost-Lit Redeemer: You gain 4 life. id=74082 name=Ghost-Lit Redeemer rarity=U @@ -238,13 +236,12 @@ id=74016 name=Kagemaro, First to Suffer rarity=R mana={3}{B}{B} -type=Creature +type=Legendary Creature subtype=Demon Spirit auto=foreach(*|myhand) 1/1 auto={B}{S}:foreach(*|myhand) -1/-1 all(creature) power=* toughness=* -abilities=legendary [/card] [card] text=Enchant creature Enchanted creature gets -X/-X, where X is the number of cards in your hand. @@ -263,13 +260,12 @@ id=84364 name=Kami of the Crescent Moon rarity=R mana={U}{U} -type=Creature +type=Legendary Creature subtype=Spirit auto=@each my draw:draw:1 controller auto=@each opponent draw:draw:1 opponent power=1 toughness=3 -abilities=legendary [/card] [card] text=Soulshift 3 (When this is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost 3 or less from your graveyard to your hand.) @@ -311,12 +307,11 @@ id=74184 name=Masumaro, First to Live rarity=R mana={3}{G}{G}{G} -type=Creature +type=Legendary Creature subtype=Spirit auto=foreach(*|myhand) 2/2 power=* toughness=* -abilities=legendary [/card] [card] text=All creatures get -X/-0, where X is the number of cards in your hand. @@ -325,8 +320,7 @@ auto=foreach(*|myhand) lord(creature) -1/0 name=Meishin, the Mind Cage rarity=R mana={4}{U}{U}{U} -type=Enchantment -abilities=legendary +type=Legendary Enchantment [/card] [card] text={T}: Add {1} to your mana pool. {2}, {T}: Each player draws a card. @@ -335,8 +329,7 @@ name=Mikokoro, Center of the Sea auto={T}:Add {1} auto={2}{T}:draw:1 controller && draw:1 opponent rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Flying {W}: Moonwing Moth gets +0/+1 until end of turn. @@ -370,8 +363,7 @@ name=Oboro, Palace in the Clouds auto={T}:Add {U} auto={1}:moveto(ownerhand) rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Discard your hand. @@ -453,11 +445,10 @@ name=Reki, the History of Kamigawa rarity=R mana={2}{G} auto=@movedto(*[legendary]|mystack):draw:1 controller -type=Creature +type=Legendary Creature subtype=Human Shaman power=1 toughness=2 -abilities=legendary [/card] [card] text=Creatures with power 2 or less can't attack you. @@ -490,7 +481,7 @@ mana={2} type=Artifact [/card] [card] -text=Shinen of Fear's Chill can't block. Channel {1}{B}, Discard Shinen of Fear's Chill: Target creature can't block this turn. +text=Shinen of Fear's Chill can't block. Channel E{1}{B}, Discard Shinen of Fear's Chill: Target creature can't block this turn. id=88812 name=Shinen of Fear's Chill rarity=C @@ -503,7 +494,7 @@ toughness=2 abilities=cantblock [/card] [card] -text=Flying Channel {U}, Discard Shinen of Flight's Wings: Target creature gains flying until end of turn. +text=Flying Channel E{U}, Discard Shinen of Flight's Wings: Target creature gains flying until end of turn. id=74088 name=Shinen of Flight's Wings rarity=C @@ -516,7 +507,7 @@ toughness=3 abilities=flying [/card] [card] -text=Haste Channel {R}, Discard Shinen of Fury's Fire: Target creature gains haste until end of turn. +text=Haste Channel E{R}, Discard Shinen of Fury's Fire: Target creature gains haste until end of turn. id=87339 name=Shinen of Fury's Fire rarity=C @@ -529,7 +520,7 @@ toughness=1 abilities=haste [/card] [card] -text=First strike Channel {1}{W}, Discard Shinen of Stars' Light: Target creature gains first strike until end of turn. +text=First strike Channel E{1}{W}, Discard Shinen of Stars' Light: Target creature gains first strike until end of turn. id=74361 name=Shinen of Stars' Light rarity=C @@ -547,13 +538,13 @@ id=74170 name=Soramaro, First to Dream rarity=R mana={4}{U}{U} -type=Creature +type=Legendary Creature subtype=Spirit auto=foreach(*|myhand) 1/1 auto={4}:moveto(ownerhand) target(land|myBattlefield) && draw:1 controller power=* toughness=* -abilities=flying,legendary +abilities=flying [/card] [card] text={2}: Target creature you control gains flying until end of turn. {2}: Prevent all combat damage that would be dealt to and dealt by target creature you control this turn. diff --git a/projects/mtg/bin/Res/sets/STH/_cards.dat b/projects/mtg/bin/Res/sets/STH/_cards.dat index 918f1b29d..8e0ab66e3 100644 --- a/projects/mtg/bin/Res/sets/STH/_cards.dat +++ b/projects/mtg/bin/Res/sets/STH/_cards.dat @@ -481,11 +481,10 @@ auto={2}:token(Sliver,creature sliver, 1/1) name=Sliver Queen rarity=R mana={W}{U}{B}{R}{G} -type=Creature +type=Legendary Creature subtype=Sliver power=7 toughness=7 -abilities=legendary [/card] [card] text=Whenever a Sliver becomes blocked, that Sliver gets +1/+1 until end of turn for each creature blocking it. @@ -540,8 +539,7 @@ id=5250 name=Sword of the Chosen rarity=R mana={2} -type=Artifact -abilities=legendary +type=Legendary Artifact [/card] [card] text=Enchant creature Enchanted creature gets -3/-0. @@ -603,8 +601,7 @@ name=Volrath's Stronghold auto={T}:Add {1} auto={1}{B}{T}:moveTo(myLibrary) target(creature|mygraveyard) rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Walking Dream is unblockable. Walking Dream doesn't untap during your untap step if an opponent controls two or more creatures. diff --git a/projects/mtg/bin/Res/sets/TMP/_cards.dat b/projects/mtg/bin/Res/sets/TMP/_cards.dat index 0d09196cf..f2e66f2ef 100644 --- a/projects/mtg/bin/Res/sets/TMP/_cards.dat +++ b/projects/mtg/bin/Res/sets/TMP/_cards.dat @@ -457,11 +457,10 @@ auto=lord(elf) forestwalk other auto=lord(elf) shroud other rarity=R mana={G}{G} -type=Creature +type=Legendary Creature subtype=Elf Warrior power=2 toughness=2 -abilities=legendary [/card] [card] text=At the beginning of each player's precombat main phase, add {G}{G} to that player's mana pool. @@ -1578,12 +1577,12 @@ id=4916 name=Selenia, Dark Angel rarity=R mana={3}{W}{B} -type=Creature +type=Legendary Creature subtype=Angel auto={0}:moveTo(ownerhand) && life:-2 controller power=3 toughness=3 -abilities=legendary,flying +abilities=flying [/card] [card] text=Destroy target enchantment. You gain life equal to its converted mana cost. diff --git a/projects/mtg/bin/Res/sets/TOR/_cards.dat b/projects/mtg/bin/Res/sets/TOR/_cards.dat index eb789977c..cfb82fbb6 100644 --- a/projects/mtg/bin/Res/sets/TOR/_cards.dat +++ b/projects/mtg/bin/Res/sets/TOR/_cards.dat @@ -16,11 +16,10 @@ name=Ambassador Laquatus rarity=R mana={1}{U}{U} auto={3}:deplete:3 target(player) -type=Creature +type=Legendary Creature subtype=Merfolk Wizard power=1 toughness=3 -abilities=legendary [/card] [card] text=Flying, first strike @@ -66,13 +65,12 @@ name=Balthor the Stout id=19553 rarity=R mana={1}{R}{R} -type=Creature +type=Legendary Creature subtype=Dwarf Barbarian auto=lord(barbarian)1/1 other auto={R}:1/0 target(other barbarian) power=2 toughness=2 -abilities=legendary [/card] [card] text={2}, {T}: Add {B} to your mana pool for each Swamp you control. @@ -165,7 +163,7 @@ mana={2}{G}{G} type=Sorcery [/card] [card] -text=Kamahl's Sledge deals 4 damage to target creature. Threshold If seven or more cards are in your graveyard, instead Kamahl's Sledge deals 4 damage to that creature and 4 damage to that creature's controller. +text=Kamahl's Sledge deals 4 damage to target creature. Threshold EIf seven or more cards are in your graveyard, instead Kamahl's Sledge deals 4 damage to that creature and 4 damage to that creature's controller. id=32229 target=creature auto=damage:4 @@ -194,12 +192,12 @@ id=29912 name=Major Teroh rarity=R mana={3}{W} -type=Creature +type=Legendary Creature subtype=Bird Soldier auto={3}{W}{W}{S}:moveto(exile) all(creature[black]) power=2 toughness=3 -abilities=flying,legendary +abilities=flying [/card] [card] text=Exile all cards from all graveyards. @@ -230,7 +228,7 @@ mana={2}{B}{B} type=Sorcery [/card] [card] -text=Flying Threshold As long as seven or more cards are in your graveyard, Mystic Familiar gets +1/+1 and has protection from black. +text=Flying Threshold EAs long as seven or more cards are in your graveyard, Mystic Familiar gets +1/+1 and has protection from black. id=30607 name=Mystic Familiar rarity=C @@ -244,7 +242,7 @@ toughness=2 abilities=flying [/card] [card] -text=Protection from black Threshold Nantuko Blightcutter gets +1/+1 for each black permanent your opponents control as long as seven or more cards are in your graveyard. +text=Protection from black Threshold ENantuko Blightcutter gets +1/+1 for each black permanent your opponents control as long as seven or more cards are in your graveyard. id=32243 name=Nantuko Blightcutter rarity=R @@ -257,7 +255,7 @@ toughness=2 abilities=protection from black [/card] [card] -text={G}, {T}, Sacrifice Nantuko Calmer: Destroy target enchantment. Threshold Nantuko Calmer gets +1/+1 as long as seven or more cards are in your graveyard. +text={G}, {T}, Sacrifice Nantuko Calmer: Destroy target enchantment. Threshold ENantuko Calmer gets +1/+1 as long as seven or more cards are in your graveyard. id=31851 name=Nantuko Calmer rarity=C @@ -305,7 +303,7 @@ toughness=2 abilities=first strike [/card] [card] -text=Discard a card: Putrid Imp gains flying until end of turn. Threshold As long as seven or more cards are in your graveyard, Putrid Imp gets +1/+1 and can't block. +text=Discard a card: Putrid Imp gains flying until end of turn. Threshold EAs long as seven or more cards are in your graveyard, Putrid Imp gets +1/+1 and can't block. id=34470 name=Putrid Imp rarity=C @@ -319,7 +317,7 @@ power=1 toughness=1 [/card] [card] -text=Destroy target land. Threshold If seven or more cards are in your graveyard, instead destroy that land and Rancid Earth deals 1 damage to each creature and each player. +text=Destroy target land. Threshold EIf seven or more cards are in your graveyard, instead destroy that land and Rancid Earth deals 1 damage to each creature and each player. id=31598 target=land auto=destroy @@ -330,7 +328,7 @@ mana={1}{B}{B} type=Sorcery [/card] [card] -text=Reach (This creature can block creatures with flying.) Threshold Seton's Scout gets +2/+2 as long as seven or more cards are in your graveyard. +text=Reach (This creature can block creatures with flying.) Threshold ESeton's Scout gets +2/+2 as long as seven or more cards are in your graveyard. id=32244 name=Seton's Scout rarity=U diff --git a/projects/mtg/bin/Res/sets/TSP/_cards.dat b/projects/mtg/bin/Res/sets/TSP/_cards.dat index 62047f0be..bb80f09de 100644 --- a/projects/mtg/bin/Res/sets/TSP/_cards.dat +++ b/projects/mtg/bin/Res/sets/TSP/_cards.dat @@ -3,11 +3,10 @@ text={T}: Add {1} to your mana pool. {1}{U}, {T}: Put target artifact card in your graveyard on top of your library. id=116725 name=Academy Ruins -type=Land +type=Legendary Land auto={T}:Add {1} auto={1}{U}{T}:moveTo(mylibrary) target(artifact|mygraveyard) rarity=R -abilities=legendary [/card] [card] text=Flash (You may cast this spell any time you could cast an instant.) Enchant creature Enchanted creature gets +1/+1, has reach, and can block creatures with shadow as though they didn't have shadow. (Creatures with reach can block creatures with flying.) @@ -235,8 +234,7 @@ name=Flagstones of Trokair rarity=R auto={T}:Add {W} auto=@movedTo(this|graveyard) from(battlefield):may moveTo(myBattlefield) target(plains|mylibrary) && tap -type=Land -abilities=legendary +type=Legendary Land [/card] [card] id=118906 @@ -415,7 +413,7 @@ id=109752 name=Jaya Ballard, Task Mage rarity=R mana={1}{R}{R} -type=Creature +type=Legendary Creature subtype=Human Spellshaper auto={R}{T}{S(*|myHand)}:destroy target(*[blue]) auto={1}{R}{T}{S(*|myHand)}:cantregenerate && damage:3 target(creature) @@ -423,7 +421,6 @@ auto={1}{R}{T}{S(*|myHand)}:damage:3 target(player) auto={5}{R}{R}{S(*|myHand)}:damage:6 all(creature,player) power=2 toughness=2 -abilities=legendary [/card] [card] text=Vigilance When Jedit's Dragoons enters the battlefield, you gain 4 life. @@ -445,8 +442,7 @@ name=Kher Keep auto={T}:Add {1} auto={1}{R}{T}:token(Kobolds of Kher Keep,creature kobold, 0/1, red) rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Magus of the Disk enters the battlefield tapped. {1}, {T}: Destroy all artifacts, creatures, and enchantments. @@ -467,12 +463,11 @@ id=113563 name=Mangara of Corondor rarity=R mana={1}{W}{W} -type=Creature +type=Legendary Creature subtype=Human Wizard auto={T}:moveTo(exile) all(this) && moveTo(exile) target(*) power=1 toughness=1 -abilities=legendary [/card] [card] text=All Sliver creatures get +2/+2. @@ -734,12 +729,12 @@ id=118915 name=Stonebrow, Krosan Hero rarity=R mana={3}{R}{G} -type=Creature +type=Legendary Creature subtype=Centaur Warrior auto=lord(creature[attacking;trample]|myBattlefield) 2/2 power=4 toughness=4 -abilities=legendary,trample +abilities=trample [/card] [card] text=Until end of turn, target creature gains trample and gets +X/+X, where X is the number of attacking creatures. diff --git a/projects/mtg/bin/Res/sets/UDS/_cards.dat b/projects/mtg/bin/Res/sets/UDS/_cards.dat index 5a71e74e6..c62fd1871 100644 --- a/projects/mtg/bin/Res/sets/UDS/_cards.dat +++ b/projects/mtg/bin/Res/sets/UDS/_cards.dat @@ -434,12 +434,11 @@ id=15237 name=Rofellos, Llanowar Emissary rarity=R mana={G}{G} -type=Creature +type=Legendary Creature subtype=Elf Druid auto={T}:foreach(forest|myBattlefield) add:{G} power=2 toughness=1 -abilities=legendary [/card] [card] text=Flying {T}: Target attacking or blocking creature gets +2/+2 until end of turn. @@ -644,6 +643,5 @@ name=Yavimaya Hollow auto={T}:Add {1} auto={G}{T}:regenerate target(creature) rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/ULG/_cards.dat b/projects/mtg/bin/Res/sets/ULG/_cards.dat index 59dd02317..ed63d3425 100644 --- a/projects/mtg/bin/Res/sets/ULG/_cards.dat +++ b/projects/mtg/bin/Res/sets/ULG/_cards.dat @@ -343,11 +343,11 @@ auto=foreach(*|opponenthand) 1/1 name=Multani, Maro-Sorcerer rarity=R mana={4}{G}{G} -type=Creature +type=Legendary Creature subtype=Elemental power=* toughness=* -abilities=legendary,shroud +abilities=shroud [/card] [card] text={T}: Target creature you control gains protection from the color of your choice until end of turn. @@ -505,11 +505,11 @@ auto=foreach(other creature[flying]) 1/1 name=Radiant, Archangel rarity=R mana={3}{W}{W} -type=Creature +type=Legendary Creature subtype=Angel power=3 toughness=3 -abilities=legendary,flying,vigilance +abilities=flying,vigilance [/card] [card] text=Destroy target creature with power 4 or greater. Cycling {2} ({2}, Discard this card: Draw a card.) diff --git a/projects/mtg/bin/Res/sets/USG/_cards.dat b/projects/mtg/bin/Res/sets/USG/_cards.dat index 15a06dc9f..c72521642 100644 --- a/projects/mtg/bin/Res/sets/USG/_cards.dat +++ b/projects/mtg/bin/Res/sets/USG/_cards.dat @@ -110,12 +110,11 @@ id=9856 name=Barrin, Master Wizard rarity=R mana={1}{U}{U} -type=Creature +type=Legendary Creature subtype=Human Wizard auto={2}{S(*|myBattlefield)}:moveTo(ownerhand) target(creature) power=1 toughness=1 -abilities=legendary [/card] [card] text=Creatures can't block. @@ -595,8 +594,7 @@ id=10422 auto={T}:foreach(creature|myBattlefield) add:{G} name=Gaea's Cradle rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Enchant creature Enchanted creature gets +3/+3 and has trample. {G}: Regenerate enchanted creature. @@ -1027,8 +1025,7 @@ name=Phyrexian Tower auto={T}:Add {1} auto={T}{s(creature|myBattlefield)}:Add {B}{B} rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text={2},{T},Sacrifice Pit Trap: Destroy target attacking creature without flying. It can't be regenerated. @@ -1260,8 +1257,7 @@ auto={T}:foreach(enchantment|myBattlefield)add:{W} id=9674 name=Serra's Sanctum rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Defender (This creature can't attack.) First strike Cycling {2} ({2}, Discard this card: Draw a card.) @@ -1309,8 +1305,7 @@ name=Shivan Gorge auto={T}:Add {1} auto={2}{R}{T}:damage:1 opponent rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Enchant creature Enchanted creature gets -1/-1. Cycling {2} ({2}, Discard this card: Draw a card.) @@ -1511,8 +1506,7 @@ auto={T}:foreach(artifact|myBattlefield)add:{U} id=8883 name=Tolarian Academy rarity=R -type=Land -abilities=legendary +type=Legendary Land [/card] [card] text=Treefolk Seedlings's toughness is equal to the number of Forests you control. diff --git a/projects/mtg/bin/Res/sets/WTH/_cards.dat b/projects/mtg/bin/Res/sets/WTH/_cards.dat index a8f032341..5c6bee4ea 100644 --- a/projects/mtg/bin/Res/sets/WTH/_cards.dat +++ b/projects/mtg/bin/Res/sets/WTH/_cards.dat @@ -295,11 +295,10 @@ mana={4}{R}{R} auto=foreach(artifact[-tapped]|myBattlefield) 1/1 auto=foreach(creature[-tapped]|myBattlefield) 1/1 auto=foreach(land[-tapped]|myBattlefield) 1/1 -type=Creature +type=Legendary Creature subtype=Human Warrior power=* toughness=* -abilities=legendary [/card] [card] text={T}: Add {1} to your mana pool. {1}, {T}, Sacrifice Mind Stone: Draw a card. diff --git a/projects/mtg/bin/Res/sets/ZEN/_cards.dat b/projects/mtg/bin/Res/sets/ZEN/_cards.dat index 4e9fb9e93..88a6f0c4c 100644 --- a/projects/mtg/bin/Res/sets/ZEN/_cards.dat +++ b/projects/mtg/bin/Res/sets/ZEN/_cards.dat @@ -929,12 +929,11 @@ id=192219 name=Ob Nixilis, the Fallen rarity=M mana={3}{B}{B} -type=Creature +type=Legendary Creature subtype=Demon auto=@movedTo(land|myBattlefield):may counter(1/1,3) && life:-3 opponent power=3 toughness=3 -abilities=legendary [/card] [card] text=When Ondu Cleric or another Ally enters the battlefield under your control, you may gain 1 life for each Ally you control. @@ -1543,7 +1542,7 @@ type=Instant [card] text=Double strike Whenever Warren Instigator deals damage to an opponent, you may put a Goblin creature card from your hand onto the battlefield. auto=@damaged(player) from(this):may moveto(myBattlefield) target(creature[goblin]|myHand) - + id=191368 name=Warren Instigator rarity=M diff --git a/projects/mtg/include/MTGDefinitions.h b/projects/mtg/include/MTGDefinitions.h index 5f27e28e7..699502976 100644 --- a/projects/mtg/include/MTGDefinitions.h +++ b/projects/mtg/include/MTGDefinitions.h @@ -83,7 +83,7 @@ class Constants PERSIST = 25, RETRACE = 26, EXALTED = 27, - LEGENDARY = 28, + NOFIZZLE = 28, SHADOW = 29, REACHSHADOW = 30, FORESTHOME = 31, @@ -102,9 +102,8 @@ class Constants DEATHTOUCH = 44, HORSEMANSHIP = 45, CANTREGENERATE = 46, - NOFIZZLE = 47, - NB_BASIC_ABILITIES = 48, + NB_BASIC_ABILITIES = 47, RARITY_M = 'M', //Mythics diff --git a/projects/mtg/include/Subtypes.h b/projects/mtg/include/Subtypes.h index 5c9d23459..cf92b025f 100644 --- a/projects/mtg/include/Subtypes.h +++ b/projects/mtg/include/Subtypes.h @@ -10,6 +10,7 @@ using namespace std; class Subtypes{ public: + //A list of commonly used types enum { TYPE_CREATURE = 1, TYPE_ENCHANTMENT = 2, @@ -17,6 +18,7 @@ public: TYPE_INSTANT = 4, TYPE_LAND = 5, TYPE_ARTIFACT = 6, + TYPE_LEGENDARY = 7, }; diff --git a/projects/mtg/src/AIPlayer.cpp b/projects/mtg/src/AIPlayer.cpp index 951a3c614..655ed4669 100644 --- a/projects/mtg/src/AIPlayer.cpp +++ b/projects/mtg/src/AIPlayer.cpp @@ -622,7 +622,7 @@ MTGCardInstance * AIPlayerBaka::FindCardToPlay(ManaCost * pMana, const char * ty card = NULL; while((card = cd.nextmatch(game->hand, card))){ if (card->hasType(Subtypes::TYPE_LAND) && !this->canPutLandsIntoPlay) continue; - if (card->has(Constants::LEGENDARY) && game->inPlay->findByName(card->name)) continue; + if (card->hasType(Subtypes::TYPE_LEGENDARY) && game->inPlay->findByName(card->name)) continue; int currentCost = card->getManaCost()->getConvertedCost(); int hasX = card->getManaCost()->hasX(); if ((currentCost > maxCost || hasX) && pMana->canAfford(card->getManaCost())){ diff --git a/projects/mtg/src/MTGCardInstance.cpp b/projects/mtg/src/MTGCardInstance.cpp index 30f8792fe..81f8cabca 100644 --- a/projects/mtg/src/MTGCardInstance.cpp +++ b/projects/mtg/src/MTGCardInstance.cpp @@ -355,10 +355,10 @@ int MTGCardInstance::canBlock(MTGCardInstance * opponent){ if (opponent->protectedAgainst(this)) return 0; if (opponent->cantBeBlockedBy(this)) return 0; if (opponent->basicAbilities[Constants::UNBLOCKABLE]) return 0; - if (opponent->basicAbilities[Constants::FEAR] && !(hasColor(Constants::MTG_COLOR_ARTIFACT) || hasColor(Constants::MTG_COLOR_BLACK))) return 0; + if (opponent->basicAbilities[Constants::FEAR] && !(hasType(Subtypes::TYPE_ARTIFACT) || hasColor(Constants::MTG_COLOR_BLACK))) return 0; //intimidate - if (opponent->basicAbilities[Constants::INTIMIDATE] && !(hasColor(Constants::MTG_COLOR_ARTIFACT))){ + if (opponent->basicAbilities[Constants::INTIMIDATE] && !(hasType(Subtypes::TYPE_ARTIFACT))){ int canblock = 0; for (int i = Constants::MTG_COLOR_GREEN; i <= Constants::MTG_COLOR_WHITE; ++i){ if(hasColor(i) && opponent->hasColor(i)){ diff --git a/projects/mtg/src/MTGDeck.cpp b/projects/mtg/src/MTGDeck.cpp index cc6eb001e..4a65da90a 100644 --- a/projects/mtg/src/MTGDeck.cpp +++ b/projects/mtg/src/MTGDeck.cpp @@ -1,6 +1,7 @@ #include "../include/config.h" #include "../include/MTGDeck.h" #include "../include/utils.h" +#include "../include/Subtypes.h" #include "../include/Translate.h" #include #include @@ -15,10 +16,10 @@ using std::string; //MTGAllCards int MTGAllCards::processConfLine(string s, MTGCard *card, CardPrimitive * primitive){ + if (s.size() && s[0] == '#') return 0; unsigned int i = s.find_first_of("="); if (i == string::npos){ #if defined (_DEBUG) - if (s.size() && s[0] == '#') return 0; char buffer[4096]; sprintf(buffer, "MTGDECK: Bad Line:\n %s\n", s.c_str()); OutputDebugString(buffer); @@ -27,145 +28,133 @@ int MTGAllCards::processConfLine(string s, MTGCard *card, CardPrimitive * primit } string key = s.substr(0,i); string value = s.substr(i+1); + if (!key.size()) return 0; - if(key.compare( "auto")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - primitive->addMagicText(value); - } - else if(key.find("auto") == 0){ - if(!primitive) primitive = NEW CardPrimitive(); - primitive->addMagicText(value,key.substr(4)); - } - else if(key.compare( "alias")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - primitive->alias=atoi(value.c_str()); - } - else if(key.compare( "target")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - std::transform( value.begin(), value.end(), value.begin(),::tolower ); - primitive->spellTargetType=value; - } - else if(key.compare( "text")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - primitive->setText(value); - }else if (key.compare("abilities")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - //Specific Abilities - std::transform( value.begin(), value.end(), value.begin(),::tolower ); - while (value.size()){ - string attribute; - size_t found2 = value.find(","); - if (found2 != string::npos){ - attribute = value.substr(0,found2); - value = value.substr(found2+1); - }else{ - attribute = value; - value = ""; - } - for (int j = Constants::NB_BASIC_ABILITIES-1; j >=0 ; j--){ - size_t found = attribute.find(Constants::MTGBasicAbilities[j]); - if (found != string::npos){ - primitive->basicAbilities[j] = 1; - break; + switch(key[0]) { + case 'a': + if(key.compare( "auto")==0){ + if(!primitive) primitive = NEW CardPrimitive(); + primitive->addMagicText(value); + } else if(key.find("auto") == 0){ + if(!primitive) primitive = NEW CardPrimitive(); + primitive->addMagicText(value,key.substr(4)); + } else if(key.compare( "alias")==0){ + if(!primitive) primitive = NEW CardPrimitive(); + primitive->alias=atoi(value.c_str()); + } else if (key.compare("abilities")==0){ + if(!primitive) primitive = NEW CardPrimitive(); + //Specific Abilities + std::transform( value.begin(), value.end(), value.begin(),::tolower ); + while (value.size()){ + string attribute; + size_t found2 = value.find(","); + if (found2 != string::npos){ + attribute = value.substr(0,found2); + value = value.substr(found2+1); + }else{ + attribute = value; + value = ""; + } + for (int j = Constants::NB_BASIC_ABILITIES-1; j >=0 ; j--){ + size_t found = attribute.find(Constants::MTGBasicAbilities[j]); + if (found != string::npos){ + primitive->basicAbilities[j] = 1; + break; + } + } } } - } - }else if(key.compare("id")==0){ - if (!card) card = NEW MTGCard(); - card->setMTGId(atoi(value.c_str())); - }else if(key.compare("name")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - primitive->setName(value); - }else if(key.compare("rarity")==0){ - if (!card) card = NEW MTGCard(); - card->setRarity (value.c_str()[0]); - }else if(key.compare("mana")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - std::transform( value.begin(), value.end(), value.begin(),::tolower ); - primitive->setManaCost(value); - } else if(key.compare("color")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - std::transform( value.begin(), value.end(), value.begin(),::tolower ); - primitive->setColor(value,1); - }else if(key.compare("type")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - switch(value.c_str()[0]){ - case 'C': - case 'c': - primitive->setType( "Creature"); - break; - case 'A': - case 'a': - primitive->setType( "Artifact"); - primitive->setColor(Constants::MTG_COLOR_ARTIFACT); - if (value.c_str()[8] == ' ' && value.c_str()[9] == 'C') - primitive->setSubtype("Creature"); - break; - case 'E': - case 'e': - primitive->setType( "Enchantment"); - break; - case 'S': - case 's': - primitive->setType( "Sorcery"); - break; - case 'B'://Basic Land - case 'b': - primitive->setColor(Constants::MTG_COLOR_LAND); - primitive->setType("Land"); - primitive->setType("Basic"); - break; - case 'L': - case 'l': - primitive->setColor(Constants::MTG_COLOR_LAND); - primitive->setType( "Land"); - break; - case 'I': - case 'i': - primitive->setType( "Instant"); - break; - default: - primitive->setType( "Error"); -#if defined (_DEBUG) - if (primitive) { - char buffer[4096]; - sprintf(buffer, "MTGDECK: Bad Card Type\n %s\n", s.c_str()); - OutputDebugString(buffer); - } -#endif break; - } - }else if(key.compare("power")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - primitive->setPower (atoi(value.c_str())); - }else if(key.compare("subtype")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - while (value.size()){ - unsigned int found = value.find(" "); - if (found != string::npos){ - primitive->setSubtype(value.substr(0,found)); - value = value.substr(found+1); - }else{ - primitive->setSubtype(value); - value = ""; + case 'c': //color + if(!primitive) primitive = NEW CardPrimitive(); + std::transform( value.begin(), value.end(), value.begin(),::tolower ); + primitive->setColor(value,1); + break; + + case 'k': //kicker + if(!primitive) primitive = NEW CardPrimitive(); + std::transform( value.begin(), value.end(), value.begin(),::tolower ); + if (ManaCost * cost = primitive->getManaCost()){ + cost->kicker = ManaCost::parseManaCost(value); } - } - }else if(key.compare("toughness")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - primitive->setToughness(atoi(value.c_str())); - }else if(key.compare("kicker")==0){ - if(!primitive) primitive = NEW CardPrimitive(); - std::transform( value.begin(), value.end(), value.begin(),::tolower ); - if (ManaCost * cost = primitive->getManaCost()){ - cost->kicker = ManaCost::parseManaCost(value); - } - }else if(key.compare("primitive")==0){ - if(!card) card = NEW MTGCard(); - card->setPrimitive(primitives[value]); - }else{ - string error = "MTGDECK Parsing Error:" + s + "\n"; - OutputDebugString(error.c_str()); + break; + + case 'i': //id + if (!card) card = NEW MTGCard(); + card->setMTGId(atoi(value.c_str())); + break; + + case 'm': //mana + if(!primitive) primitive = NEW CardPrimitive(); + std::transform( value.begin(), value.end(), value.begin(),::tolower ); + primitive->setManaCost(value); + break; + + case 'n': //name + if(!primitive) primitive = NEW CardPrimitive(); + primitive->setName(value); + break; + + case 'p': + if(key.compare("primitive")==0){ + if(!card) card = NEW MTGCard(); + card->setPrimitive(primitives[value]); + } else { //power + if(!primitive) primitive = NEW CardPrimitive(); + primitive->setPower (atoi(value.c_str())); + } + break; + + case 'r': //rarity + if (!card) card = NEW MTGCard(); + card->setRarity (value.c_str()[0]); + break; + + case 's': //subtype + if(!primitive) primitive = NEW CardPrimitive(); + while (value.size()){ + unsigned int found = value.find(" "); + if (found != string::npos){ + primitive->setSubtype(value.substr(0,found)); + value = value.substr(found+1); + }else{ + primitive->setSubtype(value); + value = ""; + } + } + break; + + case 't': + if(key.compare( "target")==0){ + if(!primitive) primitive = NEW CardPrimitive(); + std::transform( value.begin(), value.end(), value.begin(),::tolower ); + primitive->spellTargetType=value; + }else if(key.compare( "text")==0){ + if(!primitive) primitive = NEW CardPrimitive(); + primitive->setText(value); + }else if (key.compare("type")==0) { + if(!primitive) primitive = NEW CardPrimitive(); + while (value.size()){ + unsigned int found = value.find(" "); + if (found != string::npos){ + primitive->setType(value.substr(0,found).c_str()); + value = value.substr(found+1); + }else{ + primitive->setType(value.c_str()); + value = ""; + } + } + }else if(key.compare("toughness")==0){ + if(!primitive) primitive = NEW CardPrimitive(); + primitive->setToughness(atoi(value.c_str())); + } + break; + + default: + string error = "MTGDECK Parsing Error:" + s + "\n"; + OutputDebugString(error.c_str()); + break; } tempPrimitive = primitive; @@ -338,6 +327,12 @@ bool MTGAllCards::addPrimitive(CardPrimitive * primitive, MTGCard * card){ OutputDebugString(primitive->name.c_str()); OutputDebugString("\n"); } + + //Legacy: + //For the Deck editor, we need Lands and Artifact to be colors... + if (primitive->hasType(Subtypes::TYPE_LAND)) primitive->setColor(Constants::MTG_COLOR_LAND); + if (primitive->hasType(Subtypes::TYPE_ARTIFACT)) primitive->setColor(Constants::MTG_COLOR_ARTIFACT); + primitives[key] = primitive; return true; } diff --git a/projects/mtg/src/MTGDefinitions.cpp b/projects/mtg/src/MTGDefinitions.cpp index 24287fd3c..0014ff1c4 100644 --- a/projects/mtg/src/MTGDefinitions.cpp +++ b/projects/mtg/src/MTGDefinitions.cpp @@ -36,7 +36,7 @@ const char* Constants::MTGBasicAbilities[] = { "persist", "retrace", "exalted", -"legendary", +"nofizzle", "shadow", "reachshadow", "foresthome", @@ -55,7 +55,6 @@ const char* Constants::MTGBasicAbilities[] = { "deathtouch", "horsemanship", "cantregenerate", -"nofizzle", }; diff --git a/projects/mtg/src/MTGRules.cpp b/projects/mtg/src/MTGRules.cpp index 801b5ad35..815f2ab4b 100644 --- a/projects/mtg/src/MTGRules.cpp +++ b/projects/mtg/src/MTGRules.cpp @@ -1,6 +1,7 @@ #include "../include/config.h" #include "../include/MTGRules.h" #include "../include/Translate.h" +#include "../include/Subtypes.h" #include "../include/GameOptions.h" MTGPutInPlayRule::MTGPutInPlayRule(int _id):MTGAbility(_id, NULL){ @@ -519,7 +520,7 @@ HUDDisplay::~HUDDisplay(){ MTGLegendRule::MTGLegendRule(int _id):ListMaintainerAbility(_id){}; int MTGLegendRule::canBeInList(MTGCardInstance * card){ - if (card->basicAbilities[Constants::LEGENDARY] && game->isInPlay(card)){ + if (card->hasType(Subtypes::TYPE_LEGENDARY) && game->isInPlay(card)){ return 1; } return 0; diff --git a/projects/mtg/src/Subtypes.cpp b/projects/mtg/src/Subtypes.cpp index ab62de54f..064ffe80c 100644 --- a/projects/mtg/src/Subtypes.cpp +++ b/projects/mtg/src/Subtypes.cpp @@ -15,6 +15,7 @@ Subtypes::Subtypes(){ find("Instant"); find("Land"); find("Artifact"); + find("Legendary"); } int Subtypes::find(string value, bool forceAdd){ diff --git a/projects/mtg/src/TargetChooser.cpp b/projects/mtg/src/TargetChooser.cpp index ce5948435..d97ffc85b 100644 --- a/projects/mtg/src/TargetChooser.cpp +++ b/projects/mtg/src/TargetChooser.cpp @@ -191,7 +191,7 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta }else{ int attributefound = 0; //Colors - for (int cid = 0; cid < Constants::MTG_NB_COLORS; cid++){ + for (int cid = 1; cid < Constants::MTG_NB_COLORS - 1; cid++){ //remove Artifact and Land from the loop if (attribute.find(Constants::MTGColorStrings[cid]) != string::npos){ attributefound = 1; if (minus){