diff --git a/projects/mtg/bin/Res/sets/ALL/_cards.dat b/projects/mtg/bin/Res/sets/ALL/_cards.dat index 249099b70..b887edcbc 100644 --- a/projects/mtg/bin/Res/sets/ALL/_cards.dat +++ b/projects/mtg/bin/Res/sets/ALL/_cards.dat @@ -786,11 +786,6 @@ id=3118 rarity=U [/card] [card] -primitive=Splinter Token -id=-3148 -rarity=T -[/card] -[card] primitive=Splintering Wind id=3148 rarity=R diff --git a/projects/mtg/bin/Res/sets/BFZ/_cards.dat b/projects/mtg/bin/Res/sets/BFZ/_cards.dat index 4dca3bfb5..625afae02 100644 --- a/projects/mtg/bin/Res/sets/BFZ/_cards.dat +++ b/projects/mtg/bin/Res/sets/BFZ/_cards.dat @@ -291,11 +291,6 @@ id=401859 rarity=C [/card] [card] -primitive=Dragon -id=-401860 -rarity=T -[/card] -[card] primitive=Dragonmaster Outcast id=401860 rarity=M @@ -331,106 +326,11 @@ id=401866 rarity=C [/card] [card] -primitive=Elemental -rarity=T -id=-401806 -[/card] -[card] -primitive=Elemental -rarity=T -id=-401973 -[/card] -[card] -primitive=Eldrazi -rarity=T -id=-401857 -[/card] -[card] primitive=Eldrazi Devastator id=401867 rarity=C [/card] [card] -primitive=Eldrazi Scion -rarity=T -id=-401803 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401819 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401825 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401832 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401833 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401836 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401838 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401839 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401893 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-402092 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401900 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401863 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401868 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401875 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-401915 -[/card] -[card] -primitive=Eldrazi Scion -rarity=T -id=-402046 -[/card] -[card] primitive=Eldrazi Skyspawner id=401868 rarity=C @@ -756,21 +656,11 @@ id=401932 rarity=C [/card] [card] -primitive=Knight Ally -rarity=T -id=-401897 -[/card] -[card] primitive=Kor Ally rarity=T id=-402007 [/card] [card] -primitive=Kor Ally -rarity=T -id=-402084 -[/card] -[card] primitive=Kor Bladewhirl id=401933 rarity=U @@ -971,11 +861,6 @@ id=401972 rarity=M [/card] [card] -primitive=Octopus -rarity=T -id=-401931 -[/card] -[card] primitive=Omnath, Locus of Rage id=401973 rarity=M @@ -1091,11 +976,6 @@ id=401995 rarity=R [/card] [card] -primitive=Plant -rarity=T -id=-401904 -[/card] -[card] primitive=Plated Crusher id=401996 rarity=U diff --git a/projects/mtg/bin/Res/sets/EMN/_cards.dat b/projects/mtg/bin/Res/sets/EMN/_cards.dat index c6efbb6c5..4f5fcee85 100644 --- a/projects/mtg/bin/Res/sets/EMN/_cards.dat +++ b/projects/mtg/bin/Res/sets/EMN/_cards.dat @@ -1120,52 +1120,7 @@ id=414301 rarity=C [/card] [card] -primitive=Zombie -id=414513 -rarity=T -[/card] -[card] primitive=Eldrazi Horror id=414514 rarity=T [/card] -[card] -primitive=Human -id=414515 -rarity=T -[/card] -[card] -primitive=Human -id=414516 -rarity=T -[/card] -[card] -primitive=Spirit -id=414517 -rarity=T -[/card] -[card] -primitive=Spider -id=414518 -rarity=T -[/card] -[card] -primitive=Insect -id=414519 -rarity=T -[/card] -[card] -primitive=Devil -id=414520 -rarity=T -[/card] -[card] -primitive=Human Soldier -id=414521 -rarity=T -[/card] -[card] -primitive=Wolf -id=414522 -rarity=T -[/card] diff --git a/projects/mtg/bin/Res/sets/FRF/_cards.dat b/projects/mtg/bin/Res/sets/FRF/_cards.dat index bd46c03d1..c1fbe503e 100644 --- a/projects/mtg/bin/Res/sets/FRF/_cards.dat +++ b/projects/mtg/bin/Res/sets/FRF/_cards.dat @@ -521,11 +521,6 @@ id=391883 rarity=M [/card] [card] -primitive=Monk Token -id=-391883 -rarity=T -[/card] -[card] primitive=Monastery Siege id=391884 rarity=R diff --git a/projects/mtg/bin/Res/sets/ISD/_cards.dat b/projects/mtg/bin/Res/sets/ISD/_cards.dat index 202981d90..71eddf33d 100644 --- a/projects/mtg/bin/Res/sets/ISD/_cards.dat +++ b/projects/mtg/bin/Res/sets/ISD/_cards.dat @@ -1425,8 +1425,3 @@ primitive=Wreath of Geists id=237017 rarity=U [/card] -[card] -primitive=Zombie Token -id=-229968 -rarity=T -[/card] diff --git a/projects/mtg/bin/Res/sets/M14/_cards.dat b/projects/mtg/bin/Res/sets/M14/_cards.dat index ee9dcd082..fdd245029 100644 --- a/projects/mtg/bin/Res/sets/M14/_cards.dat +++ b/projects/mtg/bin/Res/sets/M14/_cards.dat @@ -625,11 +625,6 @@ id=370740 rarity=R [/card] [card] -primitive=Liliana's Reaver Zombie -id=-370740 -rarity=T -[/card] -[card] primitive=Liturgy of Blood id=370652 rarity=C @@ -1250,11 +1245,6 @@ id=370619 rarity=R [/card] [card] -primitive=Xathrid Necromancer Zombie -id=-370619 -rarity=T -[/card] -[card] primitive=Young Pyromancer id=370600 rarity=U diff --git a/projects/mtg/bin/Res/sets/M15/_cards.dat b/projects/mtg/bin/Res/sets/M15/_cards.dat index 36e2f0008..7b9294382 100644 --- a/projects/mtg/bin/Res/sets/M15/_cards.dat +++ b/projects/mtg/bin/Res/sets/M15/_cards.dat @@ -805,11 +805,6 @@ id=383323 rarity=R [/card] [card] -primitive=Zombie Token -id=-383323 -rarity=T -[/card] -[card] primitive=Negate id=383324 rarity=C diff --git a/projects/mtg/bin/Res/sets/OGW/_cards.dat b/projects/mtg/bin/Res/sets/OGW/_cards.dat index aa6c94fe7..3290965bf 100644 --- a/projects/mtg/bin/Res/sets/OGW/_cards.dat +++ b/projects/mtg/bin/Res/sets/OGW/_cards.dat @@ -31,11 +31,6 @@ id=407560 rarity=C [/card] [card] -primitive=Angel -id=-407535 -rarity=T -[/card] -[card] primitive=Ayli, Eternal Pilgrim id=407661 rarity=R @@ -226,46 +221,6 @@ id=407606 rarity=R [/card] [card] -primitive=Eldrazi Scion -id=-407522 -rarity=T -[/card] -[card] -primitive=Eldrazi Scion -id=-407587 -rarity=T -[/card] -[card] -primitive=Eldrazi Scion -id=-407635 -rarity=T -[/card] -[card] -primitive=Eldrazi Scion -id=-407550 -rarity=T -[/card] -[card] -primitive=Eldrazi Scion -id=-407633 -rarity=T -[/card] -[card] -primitive=Eldrazi Scion -id=-407631 -rarity=T -[/card] -[card] -primitive=Elemental -id=-407614 -rarity=T -[/card] -[card] -primitive=Elemental -id=-407653 -rarity=T -[/card] -[card] primitive=Elemental Uprising id=407640 rarity=C @@ -436,21 +391,6 @@ id=407622 rarity=U [/card] [card] -primitive=Knight Ally -id=-407525 -rarity=T -[/card] -[card] -primitive=Kor Ally -id=-407540 -rarity=T -[/card] -[card] -primitive=Kor Ally -id=-407672 -rarity=T -[/card] -[card] primitive=Kor Scythemaster id=407533 rarity=C @@ -616,11 +556,6 @@ id=407585 rarity=C [/card] [card] -primitive=Octopus -id=-407563 -rarity=T -[/card] -[card] primitive=Ondu War Cleric id=407541 rarity=C @@ -631,11 +566,6 @@ id=407571 rarity=R [/card] [card] -primitive=Plant -id=-407648 -rarity=T -[/card] -[card] primitive=Press into Service id=407624 rarity=U @@ -1001,21 +931,6 @@ id=407657 rarity=R [/card] [card] -primitive=Zombie -id=-407594 -rarity=T -[/card] -[card] -primitive=Zombie -id=-407596 -rarity=T -[/card] -[card] -primitive=Zombie -id=-407598 -rarity=T -[/card] -[card] primitive=Zulaport Chainmage id=407603 rarity=C diff --git a/projects/mtg/bin/Res/sets/ROE/_cards.dat b/projects/mtg/bin/Res/sets/ROE/_cards.dat index 5d5438e0d..8d3b1d096 100644 --- a/projects/mtg/bin/Res/sets/ROE/_cards.dat +++ b/projects/mtg/bin/Res/sets/ROE/_cards.dat @@ -56,11 +56,6 @@ id=193507 rarity=R [/card] [card] -primitive=Eldrazi Spawn -rarity=T -id=-193507 -[/card] -[card] primitive=Bala Ged Scorpion id=194944 rarity=C diff --git a/projects/mtg/bin/Res/sets/SOI/_cards.dat b/projects/mtg/bin/Res/sets/SOI/_cards.dat index ccbca8b56..0a12fa8f1 100644 --- a/projects/mtg/bin/Res/sets/SOI/_cards.dat +++ b/projects/mtg/bin/Res/sets/SOI/_cards.dat @@ -41,16 +41,6 @@ id=409952 rarity=T [/card] [card] -primitive=Angel -id=-409751 -rarity=T -[/card] -[card] -primitive=Angel -id=-410011 -rarity=T -[/card] -[card] primitive=Angel of Deliverance id=409738 rarity=R @@ -221,131 +211,6 @@ id=409955 rarity=C [/card] [card] -primitive=Clue -rarity=T -id=-409746 -[/card] -[card] -primitive=Clue -rarity=T -id=-409750 -[/card] -[card] -primitive=Clue -rarity=T -id=-409757 -[/card] -[card] -primitive=Clue -rarity=T -id=-409762 -[/card] -[card] -primitive=Clue -rarity=T -id=-409781 -[/card] -[card] -primitive=Clue -rarity=T -id=-409784 -[/card] -[card] -primitive=Clue -rarity=T -id=-409795 -[/card] -[card] -primitive=Clue -rarity=T -id=-409797 -[/card] -[card] -primitive=Clue -rarity=T -id=-409799 -[/card] -[card] -primitive=Clue -rarity=T -id=-409805 -[/card] -[card] -primitive=Clue -rarity=T -id=-409810 -[/card] -[card] -primitive=Clue -rarity=T -id=-409813 -[/card] -[card] -primitive=Clue -rarity=T -id=-409820 -[/card] -[card] -primitive=Clue -rarity=T -id=-409823 -[/card] -[card] -primitive=Clue -rarity=T -id=-409838 -[/card] -[card] -primitive=Clue -rarity=T -id=-409953 -[/card] -[card] -primitive=Clue -rarity=T -id=-409954 -[/card] -[card] -primitive=Clue -rarity=T -id=-409956 -[/card] -[card] -primitive=Clue -rarity=T -id=-409986 -[/card] -[card] -primitive=Clue -rarity=T -id=-409997 -[/card] -[card] -primitive=Clue -rarity=T -id=-410000 -[/card] -[card] -primitive=Clue -rarity=T -id=-410004 -[/card] -[card] -primitive=Clue -rarity=T -id=-410007 -[/card] -[card] -primitive=Clue -rarity=T -id=-410024 -[/card] -[card] -primitive=Clue -rarity=T -id=-410032 -[/card] -[card] primitive=Compelling Deterrence id=409794 rarity=U @@ -441,21 +306,6 @@ id=409751 rarity=M [/card] [card] -primitive=Devil -rarity=T -id=-410068 -[/card] -[card] -primitive=Devil -rarity=T -id=-409902 -[/card] -[card] -primitive=Devil -rarity=T -id=-409903 -[/card] -[card] primitive=Devils' Playground id=409903 rarity=R @@ -826,26 +676,6 @@ id=409919 rarity=C [/card] [card] -primitive=Human Cleric -id=-409760 -rarity=T -[/card] -[card] -primitive=Human Cleric -id=-410049 -rarity=T -[/card] -[card] -primitive=Human Soldier -id=-409780 -rarity=T -[/card] -[card] -primitive=Human Soldier -id=-410015 -rarity=T -[/card] -[card] primitive=Humble the Brute id=409762 rarity=U @@ -886,11 +716,6 @@ id=409763 rarity=C [/card] [card] -primitive=Insect -id=-409957 -rarity=T -[/card] -[card] primitive=Insidious Mist id=409856 rarity=T @@ -1191,11 +1016,6 @@ id=409820 rarity=U [/card] [card] -primitive=Ooze -id=-409973 -rarity=T -[/card] -[card] primitive=Open the Armory id=409771 rarity=U @@ -1496,41 +1316,6 @@ id=409778 rarity=U [/card] [card] -primitive=Spirit -id=-409749 -rarity=T -[/card] -[card] -primitive=Spirit -id=-410031 -rarity=T -[/card] -[card] -primitive=Spirit -rarity=T -id=-409753 -[/card] -[card] -primitive=Spirit -rarity=T -id=-409768 -[/card] -[card] -primitive=Spirit -rarity=T -id=-409769 -[/card] -[card] -primitive=Spirit -rarity=T -id=-409789 -[/card] -[card] -primitive=Spirit -rarity=T -id=-409755 -[/card] -[card] primitive=Spiteful Motives id=409939 rarity=U @@ -1761,16 +1546,6 @@ id=409788 rarity=C [/card] [card] -primitive=Vampire Knight -id=-409850 -rarity=T -[/card] -[card] -primitive=Vampire Knight -id=-410016 -rarity=T -[/card] -[card] primitive=Vampire Noble id=409893 rarity=C @@ -1871,21 +1646,6 @@ id=410037 rarity=U [/card] [card] -primitive=Wolf -id=-409959 -rarity=T -[/card] -[card] -primitive=Wolf -id=-409983 -rarity=T -[/card] -[card] -primitive=Wolf -id=-409991 -rarity=T -[/card] -[card] primitive=Wolf of Devil's Breach id=409949 rarity=M @@ -1895,38 +1655,3 @@ primitive=Woodland Stream id=410051 rarity=U [/card] -[card] -primitive=Zombie -id=-409800 -rarity=T -[/card] -[card] -primitive=Zombie -id=-409826 -rarity=T -[/card] -[card] -primitive=Zombie -id=-409854 -rarity=T -[/card] -[card] -primitive=Zombie -id=-409859 -rarity=T -[/card] -[card] -primitive=Zombie -id=-409860 -rarity=T -[/card] -[card] -primitive=Zombie -id=-409862 -rarity=T -[/card] -[card] -primitive=Zombie -id=-409884 -rarity=T -[/card] diff --git a/projects/mtg/bin/Res/sets/ZVE/_cards.dat b/projects/mtg/bin/Res/sets/ZVE/_cards.dat index d3b802a93..fd7e9f8d4 100644 --- a/projects/mtg/bin/Res/sets/ZVE/_cards.dat +++ b/projects/mtg/bin/Res/sets/ZVE/_cards.dat @@ -76,21 +76,6 @@ id=401693 rarity=C [/card] [card] -primitive=Eldrazi Spawn -id=401718 -rarity=C -[/card] -[card] -primitive=Eldrazi Spawn -id=401719 -rarity=C -[/card] -[card] -primitive=Eldrazi Spawn -id=401720 -rarity=C -[/card] -[card] primitive=Eldrazi Temple id=401710 rarity=U diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 2a3f3bd26..5b46b1771 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -234,7 +234,7 @@ name=Abstruse Interference abilities=devoid target=*|stack auto=transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) forever -auto=token(Eldrazi Scion) controller +auto=token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller text=Devoid (This card has no color.) -- Counter target spell unless its controller pays {1}. You put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." ({C} represents colorless mana.) mana={2}{U} type=Instant @@ -866,7 +866,7 @@ name=Adverse Conditions target=creature|battlefield auto=tap auto=frozen -auto=token(Eldrazi Scion) controller +auto=token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller text=Devoid (This card has no color.) -- Tap up to two target creatures. Those creatures don't untap during their controller's next untap step. Put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." mana={3}{U} abilities=devoid @@ -5477,7 +5477,7 @@ type=Instant [/card] [card] name=Army of the Damned -auto=token(-229968)*13 +auto=token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )!*13 flashback={7}{B}{B}{B} text=Put thirteen 2/2 black Zombie creature tokens onto the battlefield tapped. -- Flashback {7}{B}{B}{B} mana={5}{B}{B}{B} @@ -7219,7 +7219,7 @@ toughness=1 [/card] [card] name=Awakening Zone -auto=@each my upkeep:Token(-193507) +auto=@each my upkeep:token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=At the beginning of your upkeep, put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." mana={2}{G} type=Enchantment @@ -9145,7 +9145,7 @@ toughness=2 [card] name=Bearer of Overwhelming Truths auto=@movedto(*[-creature|mystack):1/1 ueot -auto=@combatdamaged(player) from(this):token(Clue) controller +auto=@combatdamaged(player) from(this):token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- Whenever Bearer of Overwhelming Truths deals combat damage to a player, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") type=Creature subtype=Human Wizard @@ -9957,7 +9957,7 @@ toughness=1 [card] name=Birthing Hulk auto={1}{C}:regenerate -auto=token(Eldrazi scion)*2 +auto=token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2 text=Devoid (This card has no color.) -- When Birthing Hulk enters the battlefield, put two 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {C} to your mana pool." ({C} represents colorless mana.) -- {1}{C}: Regenerate Birthing Hulk. mana={6}{G} abilities=devoid @@ -10584,7 +10584,7 @@ type=Sorcery [card] name=Blight Herder kicker={discard(*|opponentexile)}{discard(*|opponentexile)} -auto=kicker token(Eldrazi scion)*3 +auto=kicker token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3 text=When you cast Blight Herder, you may put two cards your opponents own from exile into their owners' graveyards. If you do, put three 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {C} to your mana pool." mana={5} type=Creature @@ -10980,7 +10980,7 @@ toughness=1 [/card] [card] name=Blisterpod -auto=@movedTo(this|graveyard) from(battlefield):token(Eldrazi Scion) controller +auto=@movedTo(this|graveyard) from(battlefield):token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller text=Devoid (This card has no color.) -- When Blisterpod dies, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." mana={G} abilities=devoid @@ -14073,14 +14073,14 @@ toughness=2 [/card] [card] name=Brood Birthing -auto=aslongas(eldrazi spawn|myBattlefield) Token(-193507)*3 +auto=aslongas(eldrazi spawn|myBattlefield) token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3 text=If you control at least one 0/1 Eldrazi Spawn creature token, put three 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={1}{R} type=Sorcery [/card] [card] name=Brood Butcher -auto=choice token(Eldrazi Scion) controller +auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller auto={B}{G}{S(creature|mybattlefield):target(creature) -2/-2 ueot text=Devoid (This card has no color.) -- When Brood Butcher enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." -- {B}{G}, Sacrifice a creature: Target creature gets -2/-2 until end of turn. mana={3}{B}{G} @@ -14113,7 +14113,7 @@ toughness=3 [/card] [card] name=Brood Monitor -auto=choice token(Eldrazi Scion)*3 controller +auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3 controller text=Devoid (This card has no color.) -- When Brood Monitor enters the battlefield, put three 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={4}{G}{G} abilities=devoid @@ -14812,7 +14812,7 @@ type=Instant [card] name=Bygone Bishop abilities=flying -auto=@movedto(creature[manacost<=3]|mystack):token(Clue) controller +auto=@movedto(creature[manacost<=3]|mystack):token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Flying -- Whenever you cast a creature spell with converted mana cost 3 or less, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={2}{W} type=Creature @@ -14822,7 +14822,7 @@ toughness=3 [/card] [card] name=Byway Courier -auto=@movedTo(this|graveyard) from(battlefield):token(Clue) controller +auto=@movedTo(this|graveyard) from(battlefield):token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=When Byway Courier dies, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={2}{G} type=Creature @@ -15196,7 +15196,7 @@ type=Sorcery [/card] [card] name=Call the Scions -auto=token(Eldrazi Scion)*2 controller +auto=token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2 controller text=Devoid (This card has no color.) -- Put two 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={2}{G} abilities=devoid @@ -15918,7 +15918,7 @@ toughness=1 [/card] [card] name=Carrier Thrall -auto=@movedTo(this|graveyard) from(battlefield):token(Eldrazi Scion) controller +auto=@movedTo(this|graveyard) from(battlefield):token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller text=When Carrier Thrall dies, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." mana={1}{B} type=Creature @@ -16147,7 +16147,7 @@ toughness=4 [card] name=Catacomb Sifter abilities=devoid -auto=choice token(Eldrazi Scion) controller +auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller auto=@movedTo(other creature|graveyard) from(myBattlefield):name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Devoid (This card has no color.) -- When Catacomb Sifter enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." -- Whenever another creature you control dies, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{B}{G} @@ -19517,13 +19517,6 @@ mana={5}{U}{R} type=Enchantment [/card] [card] -name=Clue -auto={2}{s}: draw:1 -text={2}, sacrifice this token, draw a card -type=Artifact -subtype=Clue -[/card] -[card] name=Clutch of Currents target=creature|battlefield auto=moveto(ownerhand) @@ -20255,7 +20248,7 @@ toughness=1 name=Confirm Suspicions target=*|mystack auto=fizzle -auto=token(Clue)*3 controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )!*3 controller text=Counter target spell. -- Investigate three times. (To investigate, put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={3}{U}{U} type=Instant @@ -20272,7 +20265,7 @@ subtype=Aura [card] name=Confront the Unknown target=creature -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller auto=foreach(clue|mybattlefield) 1/1 text=Investigate, then target creature gets +1/+1 until end of turn for each Clue you control. (To investigate, put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={G} @@ -20423,15 +20416,6 @@ mana={U} type=Instant [/card] [card] -name=Construct -type=Artifact Creature -subtype=Construct -abilities=trample -auto=@next endofturn:moveTo(exile) -power=6 -toughness=12 -[/card] -[card] name=Consul's Lieutenant abilities=first strike auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) @@ -21065,7 +21049,7 @@ toughness=3 name=Corpsehatch target=creature[-black] auto=destroy -auto=Token(-193507)*2 +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2 text=Destroy target nonblack creature. -- Put two 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have sacrifice this creature: Add {1} to your mana pool. mana={3}{B}{B} type=Sorcery @@ -23579,7 +23563,7 @@ type=Instant [/card] [card] name=Dance with Devils -auto=token(-410068)*2 +auto=token(Devil,Creature Devil,1/1,red) and!( transforms((,newability[@movedto(this|mygraveyard): damage:1 target(*[creature;player])])) forever )!*2 text=Put two 1/1 red Devil creature tokens onto the battlefield. They have "When this creature dies, it deals 1 damage to target creature or player." mana={3}{R} type=Instant @@ -25409,7 +25393,7 @@ type=Artifact [card] name=Declaration in Stone target=creature -auto=transforms((,newability[all(*[share!name!]) moveto(exile)],newability[moveto(exile)],newability[token(Clue) controller])) +auto=transforms((,newability[all(*[share!name!]) moveto(exile)],newability[moveto(exile)],newability[token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller])) text=Exile target creature and all other creatures its controller controls with the same name as that creature. That player investigates for each nontoken creature exiled this way. mana={1}{W} type=Sorcery @@ -26788,15 +26772,6 @@ type=Enchantment subtype=Aura [/card] [card] -name=Devil -type=Creature -subtype=Devil -auto=@movedto(this|mygraveyard): damage:1 target(creature,player) -text=when this creature dies it deals 1 damage to target creature or player -power=1 -toughness=1 -[/card] -[card] name=Devil's Play target=creature,player auto=damage:X @@ -26807,7 +26782,7 @@ type=Sorcery [/card] [card] name=Devils' Playground -auto=token(-410068)*4 +auto=token(Devil,Creature Devil,1/1,red) and!( transforms((,newability[@movedto(this|mygraveyard): damage:1 target(*[creature;player])])) forever )!*4 text=Put four 1/1 red Devil creature tokens onto the battlefield. They have "When this creature dies, it deals 1 damage to target creature or player." mana={4}{R}{R} type=Sorcery @@ -27328,7 +27303,7 @@ toughness=2 [card] name=Diregraf Colossus auto=foreach(zombie|mygraveyard)counter(1/1,1) -auto=@movedto(zombie|mystack):token(-370619) +auto=@movedto(zombie|mystack):token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! text=Diregraf Colossus enters the battlefield with a +1/+1 counter on it for each Zombie card in your graveyard. -- Whenever you cast a Zombie spell, put a 2/2 black Zombie creature token onto the battlefield tapped. mana={2}{B} type=Creature @@ -28816,7 +28791,7 @@ toughness=7 [card] name=Dragonlord Kolaghan abilities=flying,haste -auto=emblem transforms((,newability[aslongas(Dragonlord Kolaghan|mybattlefield) lord(creature|mybattlefield) haste >0])) ueot +auto=lord(creature|mybattlefield) haste auto=@movedto(*[creature;planeswalker]|opponentstack):all(trigger[to]) transforms((,newability[if type(*[share!name!]|mygraveyard)~morethan~0 then life:-10 controller])) oneshot text=Flying, haste -- Other creatures you control have haste. -- Whenever an opponent casts a creature or planeswalker spell with the same name as a card in his or her graveyard, that player loses 10 life. mana={4}{B}{R} @@ -29109,7 +29084,7 @@ toughness=3 [/card] [card] name=Drana's Chosen -auto={T(ally|myBattlefield)}{t}:token(-370619) +auto={T(ally|myBattlefield)}{t}:token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! text=Cohort ? {T}, Tap an untapped Ally you control: Put a 2/2 black Zombie creature token onto the battlefield tapped. mana={3}{B} type=Creature @@ -29168,7 +29143,7 @@ toughness=8 [/card] [card] name=Dread Drone -auto=Token(-193507)*2 +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2 text=When Dread Drone enters the battlefield, put two 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={4}{B} type=Creature @@ -30004,7 +29979,7 @@ toughness=1 [/card] [card] name=Drowner of Hope -auto=choice token(Eldrazi Scion) *2 controller +auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! *2 controller auto={S(Eldrazi Scion|mybattlefield)}:tap target(creature) text=Devoid (This card has no color.) -- When Drowner of Hope enters the battlefield, put two 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." -- Sacrifice an Eldrazi Scion: Tap target creature. mana={5}{U} @@ -30026,7 +30001,7 @@ toughness=3 [/card] [card] name=Drownyard Explorers -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=When Drownyard Explorers enters the battlefield, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={3}{U} type=Creature @@ -31706,18 +31681,9 @@ power=3 toughness=1 [/card] [card] -name=Eldrazi Scion -auto={S}:Add{1} -text=Sacrifice this creature: Add {1} to your mana pool. -type=Creature -subtype=Eldrazi Scion -power=1 -toughness=1 -[/card] -[card] name=Eldrazi Skyspawner abilities=flying -auto=choice token(Eldrazi Scion) controller +auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller text=Devoid (This card has no color.) -- Flying -- When Eldrazi Skyspawner enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." mana={2}{U} abilities=devoid @@ -31727,14 +31693,6 @@ power=2 toughness=1 [/card] [card] -name=Eldrazi Spawn -type=Creature -subtype=Eldrazi Spawn -auto={S}:Add{1} -power=0 -toughness=1 -[/card] -[card] name=Electric Eel auto=damage:1 controller auto={R}{R}:2/0 && damage:1 controller @@ -32961,7 +32919,7 @@ toughness=15 [/card] [card] name=Emrakul's Hatcher -auto=Token(-193507)*3 +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3 text=When Emrakul's Hatcher enters the battlefield, put three 0/1 colorless Eldrazi Spawn creatures onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={4}{R} type=Creature @@ -33840,7 +33798,7 @@ type=Legendary Enchantment [card] name=Erdwal Illuminator abilities=flying -auto=@movedto(clue|mybattlefield) restriction{type(clue[fresh]|mybattlefield)~equalto~1}:token(Clue) +auto=@movedto(clue|mybattlefield) restriction{type(clue[fresh]|mybattlefield)~equalto~1}:token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! text=Flying -- Whenever you investigate for the first time each turn, investigate an additional time. mana={1}{U} type=Creature @@ -34172,7 +34130,7 @@ name=Essence Feed target=player auto=life:-3 auto=life:3 controller -auto=Token(-193507)*3 +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3 text=Target player loses 3 life. You gain 3 life and put three 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={5}{B} type=Sorcery @@ -35068,7 +35026,7 @@ type=Sorcery name=Expose Evil target=creature auto=tap -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Tap up to two target creatures. -- Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={1}{W} type=Instant @@ -35295,7 +35253,7 @@ subtype=Elf [/card] [card] name=Eyeless Watcher -auto=choice token(Eldrazi Scion)*2 controller +auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2 controller text=Devoid (This card has no color.) -- When Eyeless Watcher enters the battlefield, put two 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={3}{G} abilities=devoid @@ -38419,7 +38377,7 @@ toughness=1 [/card] [card] name=Fleeting Memories -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller auto=@movedto(clue|mygraveyard):deplete:3 opponent text=When Fleeting Memories enters the battlefield, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- Whenever you sacrifice a Clue, target player puts the top three cards of his or her library into his or her graveyard. mana={2}{U} @@ -40162,7 +40120,7 @@ toughness=1 [/card] [card] name=From Beyond -auto=@each my upkeep:token(Eldrazi Scion) controller +auto=@each my upkeep:token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller auto={1}{G}{S}:moveto(myhand) notatarget(*[eldrazi]|mylibrary) text=Devoid (This card has no color.) -- At the beginning of your upkeep, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." -- {1}{G}, Sacrifice From Beyond: Search your library for an Eldrazi card, reveal it, put it into your hand, then shuffle your library. mana={3}{G} @@ -40171,8 +40129,10 @@ type=Enchantment [/card] [card] name=From Under the Floorboards -auto=ifnot madnessplayed then token(-229968)*3 && life:3 -auto=if madnessplayed then token(-229968)*x && life:x +auto=ifnot madnessplayed then token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )!*3 +auto=ifnot madnessplayed then life:3 +auto=if madnessplayed then token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )!*x +auto=if madnessplayed then life:x abilities=madness autoexile=restriction{discarded} pay({b}{b}{x}) name(pay XBB to cast) activate name(pay XBB to cast) castcard(normal madness)?name(put in graveyard) moveto(ownergraveyard) text=Madness {X}{B}{B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) -- Put three 2/2 black Zombie creature tokens onto the battlefield tapped and you gain 3 life. If From Under the Floorboards's madness cost was paid, instead put X of those tokens onto the battlefield tapped and you gain X life. @@ -45181,7 +45141,7 @@ toughness=6 name=Gone Missing target=* auto=moveto(ownerlibrary) -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Put target permanent on top of its owner's library. -- Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={4}{U} type=Sorcery @@ -45585,7 +45545,7 @@ type=Land name=Grave Birthing target=opponent auto=ability$!moveto(exile) notatarget(*|mygraveyard)!$ targetedplayer -auto=token(Eldrazi Scion) controller +auto=token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller auto=draw:1 controller text=Devoid (This card has no color.) -- Target opponent exiles a card from his or her graveyard. You put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." -- Draw a card. mana={2}{B} @@ -46941,7 +46901,7 @@ type=Enchantment [card] name=Growth Spasm auto=moveTo(myBattlefield) and!(tap(noevent))! notatarget(land[basic]|myLibrary) -auto=Token(-193507) +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library. -- Put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." mana={2}{G} type=Sorcery @@ -51691,7 +51651,7 @@ toughness=1 name=Humble the Brute target=creature[power>3] auto=destroy -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Destroy target creature with power 4 or greater. -- Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={4}{W} type=Instant @@ -53224,7 +53184,7 @@ type=Sorcery [/card] [card] name=Incubator Drone -auto=choice token(Eldrazi Scion) controller +auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller text=Devoid (This card has no color.) -- When Incubator Drone enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {1} to your mana pool." mana={3}{U} abilities=devoid @@ -55008,7 +54968,7 @@ toughness=1 name=Jace's Scrutiny target=creature auto=-4/-0 -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Target creature gets -4/-0 until end of turn. -- Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={1}{U} type=Instant @@ -59464,7 +59424,7 @@ toughness=5 [/card] [card] name=Kozilek's Predator -auto=Token(-193507)*2 +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2 text=When Kozilek's Predator enters the battlefield, put two 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={3}{G} type=Creature @@ -62305,18 +62265,9 @@ mana={1}{B} type=Enchantment [/card] [card] -name=Liliana's Reaver Zombie -type=Creature -subtype=Zombie -auto=tap -power=2 -toughness=2 -color=black -[/card] -[card] name=Liliana's Reaver abilities=deathtouch -auto=@combatdamaged(player) from(this):token(-370740) +auto=@combatdamaged(player) from(this):token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! auto=@combatdamagefoeof(player) from(this):ability$!name(discard) notatarget(*|myhand) reject!$ opponent auto=@combatdamageof(player) from(this):ability$!name(discard) notatarget(*|myhand) reject!$ controller text=Deathtouch. -- Whenever Liliana's Reaver deals combat damage to a player, that player discards a card and you put a 2/2 black Zombie creature token onto the battlefield tapped. @@ -62767,7 +62718,7 @@ toughness=2 [/card] [card] name=Llanowar Mentor -auto={G}{T}{discard(*|myhand)}:token(461) +auto={G}{T}{discard(*|myhand)}:token(Llanowar Elves) text={G}, {T}, Discard a card: Put a 1/1 green Elf Druid creature token named Llanowar Elves onto the battlefield. It has "{T}: Add {G} to your mana pool." mana={G} type=Creature @@ -64564,7 +64515,7 @@ type=Instant [card] name=Magnifying Glass auto={T}:Add{1} -auto={4}{T}:token(Clue) controller +auto={4}{T}:token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text={T}: Add {1} to your mana pool. -- {4}, {T}: Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={3} type=Artifact @@ -65664,7 +65615,7 @@ toughness=4 [card] name=Mardu Charm auto=choice name(4 Damage) damage:4 target(creature) -auto=choice name(2 Warrior tokens) token(-386593)*2 +auto=choice name(2 Warrior tokens) token(Warrior,Creature Warrior,1/1,white) and!( transforms((,newability[first strike])) ueot )!*2 auto=choice name(discard opponent) target(opponent) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) target(*[-creature;-land]|reveal) moveto(ownerhand) and!( reject )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend text=Choose one: -- Mardu Charm deals 4 damage to target creature. -- Put two 1/1 white Warrior creature tokens onto the battlefield. They gain first strike until end of turn. -- Target opponent reveals his or her hand. You choose a noncreature, nonland card from it. That player discards that card. mana={R}{W}{B} @@ -65767,16 +65718,6 @@ power=3 toughness=2 [/card] [card] -name=Mardu Warrior token -auto=first strike ueot -text= -type=Creature -color=white -subtype=Warrior -power=1 -toughness=1 -[/card] -[card] name=Mardu Warshrieker auto=if raid then Add{R}{W}{B} text=Raid - When Mardu Warshrieker enters the battlefield, if you attacked with a creature this turn, add {R}{W}{B} to your mana pool. @@ -67909,7 +67850,7 @@ type=Instant [card] name=Midnight Ritual target=creature|mygraveyard -auto=transforms((,newability[moveTo(exile)],newability[token(-19707)])) +auto=transforms((,newability[moveTo(exile)],newability[token(Zombie)])) text=Exile X target creature cards from your graveyard. For each creature card exiled this way, put a 2/2 black Zombie creature token onto the battlefield. mana={X}{2}{B} type=Sorcery @@ -69013,7 +68954,7 @@ type=Land [card] name=Mirror-Sigil Sergeant abilities=trample -auto=@each my upkeep restriction{type(*[blue]|myBattlefield)~morethan~0}:may token(158598) +auto=@each my upkeep restriction{type(*[blue]|myBattlefield)~morethan~0}:may token(Mirror-Sigil Sergeant) text=Trample -- At the beginning of your upkeep, if you control a blue permanent, you may put a token that's a copy of Mirror-Sigil Sergeant onto the battlefield. mana={5}{W} type=Creature @@ -70159,7 +70100,7 @@ toughness=2 [card] name=Monastery Mentor auto=@movedTo(*[-creature]|mystack):1/1 ueot -auto=@movedTo(*[-creature]|mystack):choice name(Create Monk) token(-391883) controller +auto=@movedTo(*[-creature]|mystack):choice name(Create Monk) token(Monk,Creature Monk,1/1,white) and!( transforms((,newability[@movedTo(*[-creature]|mystack):1/1])) forever )! controller text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- Whenever you cast a noncreature spell, put a 1/1 white Monk creature token with prowess onto the battlefield. mana={2}{W} type=Creature @@ -70223,16 +70164,6 @@ power=1 toughness=1 [/card] [card] -name=Monk Token -auto=@movedTo(*[-creature]|mystack):1/1 ueot -text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -color=white -type=Creature -subtype=Monk -power=1 -toughness=1 -[/card] -[card] name=Monkey Cage auto=@movedTo(creature[manacost=0]|battlefield) once:sacrifice all(this) && loseabilities all(this) auto=@movedTo(creature[manacost=1]|battlefield) once:sacrifice all(this) && loseabilities all(this) && token(Ape,Creature Ape,2/2,green) @@ -71793,7 +71724,7 @@ toughness=1 [/card] [card] name=Myr Propagator -auto={3}{T}:token(215069) +auto={3}{T}:token(Myr Propagator) text={3}, {T}: Put a token that's a copy of Myr Propagator onto the battlefield. mana={3} type=Artifact Creature @@ -72822,7 +72753,7 @@ subtype=Aura [/card] [card] name=Necromancer's Stockpile -auto=aslongas(creature|myhand) {1}{B}:notatarget(creature|myhand) and!( if cantargetcard(zombie|*) then token(-383323) )! reject && draw:1 +auto=aslongas(creature|myhand) {1}{B}:notatarget(creature|myhand) and!( if cantargetcard(zombie|*) then token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! )! reject && draw:1 text={1}{B},Discard a creature card: Draw a card. If the discarded card was a Zombie card, put a 2/2 black Zombie creature token onto the battlefield tapped. mana={1}{B} type=Enchantment @@ -73184,7 +73115,7 @@ toughness=3 [/card] [card] name=Nest Invader -auto=Token(-193507) +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=When Nest Invader enters the battlefield, put a 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={1}{G} type=Creature @@ -74848,7 +74779,7 @@ type=Artifact [/card] [card] name=Null Caller -auto={3}{b}{e(creature|mygraveyard)}:token(-370619) +auto={3}{b}{e(creature|mygraveyard)}:token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! text={3}{B}, Exile a creature card from your graveyard: Put a 2/2 black Zombie creature token onto the battlefield tapped. mana={3}{B} type=Creature @@ -76109,8 +76040,8 @@ toughness=3 [/card] [card] name=Ongoing Investigation -auto=@combatdamaged(player):token(Clue) controller -auto={1}{G}{e(creature|mygraveyard)}:token(Clue) controller && life:2 +auto=@combatdamaged(player):token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller +auto={1}{G}{e(creature|mygraveyard)}:token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller && life:2 text=Whenever one or more creatures you control deal combat damage to a player, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- {1}{G}, Exile a creature card from your graveyard: Investigate. You gain 2 life. mana={1}{U} type=Enchantment @@ -77549,7 +77480,7 @@ type=Sorcery [card] name=Pack Rat anyzone=type:rat:mybattlefield/type:rat:mybattlefield cdaactive -auto={2}{B}{discard(*|myhand)}:token(253624) +auto={2}{B}{discard(*|myhand)}:token(Pack Rat) text=Pack Rat's power and toughness are each equal to the number of Rats you control. -- {2}{B}, Discard a card: Put a token onto the battlefield that's a copy of Pack Rat. mana={1}{B} type=Creature @@ -78491,8 +78422,8 @@ toughness=3 [/card] [card] name=Pawn of Ulamog -auto=@movedTo(this|graveyard) from(myBattlefield):may token(-193507) -auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):may token(-193507) +auto=@movedTo(this|graveyard) from(myBattlefield):may token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )! +auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):may token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=Whenever Pawn of Ulamog or another nontoken creature you control dies, you may put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. It has "Sacrifice this creature: Add 1 to your mana pool." mana={1}{B}{B} type=Creature @@ -81680,7 +81611,7 @@ type=Sorcery name=Press for Answers target=creature auto=frozen -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Tap target creature. It doesn't untap during its controller's next untap step. -- Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={1}{U} type=Sorcery @@ -85055,7 +84986,7 @@ type=Sorcery [card] name=Rapacious One abilities=trample -auto=@combatdamaged(player) from(this):token(-193507)*thatmuch +auto=@combatdamaged(player) from(this):token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*thatmuch text=Trample -- Whenever Rapacious One deals combat damage to a player, put that many colorless 0/1 Eldrazi Spawn tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={5}{R} type=Creature @@ -88525,8 +88456,8 @@ type=Sorcery [/card] [card] name=Rise from the Tides -auto=foreach(sorcery|mygraveyard):token(-370619) -auto=foreach(instant|mygraveyard):token(-370619) +auto=foreach(sorcery|mygraveyard):token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! +auto=foreach(instant|mygraveyard):token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! text=Put a 2/2 black Zombie creature token onto the battlefield tapped for each instant and sorcery card in your graveyard. mana={5}{U} type=Sorcery @@ -89384,7 +89315,7 @@ type=Enchantment name=Root Out target=artifact,enchantment auto=destroy -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Destroy target artifact or enchantment. -- Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={2}{G} type=Sorcery @@ -92749,7 +92680,7 @@ toughness=4 [/card] [card] name=Scion Summoner -auto=token(Eldrazi scion) +auto=token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=Devoid (This card has no color.) -- When Scion Summoner enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." ({C} represents colorless mana.) mana={2}{G} abilities=devoid @@ -97401,7 +97332,7 @@ subtype=Arcane [/card] [card] name=Sifter of Skulls -auto=@movedto(other creature[-token]|graveyard) from(mybattlefield):token(Eldrazi scion) controller +auto=@movedto(other creature[-token]|graveyard) from(mybattlefield):token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! controller text=Devoid (This card has no color.) -- Whenever another nontoken creature you control dies, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." ({C} represents colorless mana.) mana={3}{B} abilities=devoid @@ -98852,7 +98783,7 @@ toughness=1 [/card] [card] name=Skirk Ridge Exhumer -auto={B}{discard(*|myhand)}{T}:token(39905) +auto={B}{discard(*|myhand)}{T}:token(Festering Goblin) text={B}, {T}, Discard a card: Put a 1/1 black Zombie Goblin creature token named Festering Goblin onto the battlefield. It has "When Festering Goblin dies, target creature gets -1/-1 until end of turn." mana={1}{B} type=Creature @@ -98936,7 +98867,7 @@ toughness=3 [/card] [card] name=Skittering Invasion -auto=Token(-193507)*5 +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*5 text=Put five 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." mana={7} type=Tribal Sorcery @@ -102283,7 +102214,7 @@ toughness=1 [/card] [card] name=Sparkspitter -auto={R}{T}{discard(*|myhand)}:token(73579) +auto={R}{T}{discard(*|myhand)}:token(Spark Elemental) text={R}, {T}, Discard a card: Put a 3/1 red Elemental creature token named Spark Elemental onto the battlefield. It has trample, haste, and "At the beginning of the end step, sacrifice Spark Elemental." mana={2}{R} type=Creature @@ -102354,7 +102285,7 @@ toughness=4 [card] name=Spawning Bed auto={T}:add{1} -auto={6}{T}{S}:token(Eldrazi Scion)*3 +auto={6}{T}{S}:token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3 text={T}: Add {1} to your mana pool. -- {6}, {T}, Sacrifice Spawning Bed: Put three 1/1 colorless Eldrazi Scion creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool." type=Land [/card] @@ -102362,7 +102293,7 @@ type=Land name=Spawning Breath target=creature,player auto=damage:1 -auto=Token(-193507) +auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=Spawning Breath deals 1 damage to target creature or player. -- Put a 0/1 colorless Eldrazi Spawn creature token with "Sacrifice this creature: Add {1} to your mana pool" onto the battlefield. mana={1}{R} type=Instant @@ -102387,7 +102318,7 @@ type=Land name=Spawnsire of Ulamog mana={10} auto=@combat(attacking) source(this):name(Annihilate) ability$!name(sacrifice a permanent) notatarget(<1>*|mybattlefield) sacrifice!$ opponent -auto={4}:token(-193507)*2 +auto={4}:token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2 auto={20}:name(Cast Eldrazi's) ability$!castcard(named!:Emrakul, the Aeons Torn:!) _ castcard(named!:It That Betrays:!) _ castcard(named!:Ulamog, the Infinite Gyre:!) _ castcard(named!:Kozilek, Butcher of Truth:!) _ castcard(named!:Spawnsire of Ulamog:!) _ castcard(named!:Artisan of Kozilek:!) _ castcard(named!:Hand of Emrakul:!) _ castcard(named!:Ulamog's Crusher:!)!$ controller type=Creature subtype=Eldrazi @@ -102398,7 +102329,7 @@ text=Annihilator 1 (Whenever this creature attacks, defending player sacrifices [card] name=Spawnwrithe abilities=trample -auto=@combatdamaged(player) from(this):token(158687) +auto=@combatdamaged(player) from(this):token(Spawnwrithe) text=Trample -- Whenever Spawnwrithe deals combat damage to a player, put a token that's a copy of Spawnwrithe onto the battlefield. mana={2}{G} type=Creature @@ -103812,17 +103743,6 @@ power=2 toughness=2 [/card] [card] -name=Splinter Token -type=Creature -subtype=Splinter -abilities=flying -auto=cumulativeupcost[{G}] sacrifice -text=Flying -- Cumulative upkeep {G} -power=1 -toughness=1 -color=green -[/card] -[card] name=Splinter Twin target=creature auto=teach(creature) {T}:clone with(unearth,haste) @@ -103856,7 +103776,7 @@ type=Sorcery [/card] [card] name=Splintering Wind -auto={2}{G}:damage:1 target(creature) && token(-3148) +auto={2}{G}:damage:1 target(creature) && token(Splinter Token,Creature Splinter,1/1,green,flying) and!( transforms((,newability[cumulativeupcost[{G}] sacrifice])) forever )! auto=@movedTo(splinter token|nonbattlezone) from(mybattlefield):damage:1 all(creature) && damage:1 controller text={2}{G}: Splintering Wind deals 1 damage to target creature. Put a 1/1 green Splinter creature token onto the battlefield. It has flying and "Cumulative upkeep {G}." (At the beginning of its controller's upkeep, that player puts an age counter on it, then sacrifices it unless he or she pays its upkeep cost for each age counter on it.) -- Whenever a Splinter token leaves the battlefield, it deals 1 damage to you and each creature you control. mana={2}{G}{G} @@ -104119,7 +104039,7 @@ type=Instant [card] name=Sprouting Phytohydra abilities=defender -auto=@damaged(this):may token(111220) +auto=@damaged(this):may token(Sprouting Phytohydra) text=Defender (This creature can't attack.) -- Whenever Sprouting Phytohydra is dealt damage, you may put a token that's a copy of Sprouting Phytohydra onto the battlefield. mana={4}{G} type=Creature @@ -105587,7 +105507,7 @@ toughness=2 [card] name=Stone Idol Trap autohand=affinity(creature[attacking]|battlefield) reduce({1}) -auto=token(-191552) +auto=token(Construct,Artifact Creature Construct,6/12,trample) and!( transforms((,newability[@next endofturn:moveTo(exile)])) forever )! text=Stone Idol Trap costs {1} less to cast for each attacking creature. -- Put a 6/12 colorless Construct artifact creature token with trample onto the battlefield. Exile it at the beginning of your next end step. mana={5}{R} type=Instant @@ -107912,7 +107832,7 @@ name=Survive the Night target=creature auto=1/0 auto=indestructible -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Target creature gets +1/+0 and gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.) -- Investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={2}{W} type=Instant @@ -109319,7 +109239,7 @@ subtype=Tamiyo [/card] [card] name=Tamiyo's Journal -auto=@upkeep:token(Clue) +auto=@upkeep:token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! auto={T}{S(clue|mybattlefield)}{S(clue|mybattlefield)}{S(clue|mybattlefield)}: moveto(myhand) target(*|mylibrary) text=at the beginning of your upkeep, investigate -- {T}, sacrifice three clues: search your library for a card and put that card into your hand, then shuffle your library mana={5} @@ -111970,7 +111890,7 @@ toughness=2 [/card] [card] name=Thraben Inspector -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=When Thraben Inspector enters the battlefield, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={W} type=Creature @@ -113197,7 +113117,7 @@ toughness=3 [/card] [card] name=Tireless Tracker -auto=@movedto(land|mybattlefield):token(Clue) controller +auto=@movedto(land|mybattlefield):token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller auto=@sacrificed(clue|mybattlefield):counter(1/1,1) text=Whenever a land enters the battlefield under your control, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- Whenever you sacrifice a Clue, put a +1/+1 counter on Tireless Tracker. mana={2}{G} @@ -114299,7 +114219,7 @@ type=Instant [/card] [card] name=Trail of Evidence -auto=@movedto(instant,sorcery|mystack):token(Clue) controller +auto=@movedto(instant,sorcery|mystack):token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller text=Whenever you cast an instant or sorcery spell, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") mana={2}{U} type=Enchantment @@ -116432,7 +116352,7 @@ toughness=* [/card] [card] name=Ulvenwald Mysteries -auto=@movedto(creature[-token]|mygraveyard):token(Clue) controller +auto=@movedto(creature[-token]|mygraveyard):token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller auto=@sacrificed(clue|mybattlefield):token(Human Soldier,creature Human Soldier,1/1,white) text=Whenever a nontoken creature you control dies, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- Whenever you sacrifice a Clue, put a 1/1 white Human Soldier creature token onto the battlefield. mana={2}{G} @@ -117429,7 +117349,7 @@ type=Enchantment [/card] [card] name=Urabrask the Hidden -auto=emblem transforms((,newability[aslongas(Urabrask the Hidden|mybattlefield) lord(creature|mybattlefield) haste >0])) ueot +auto=lord(creature|mybattlefield) haste auto=lord(creature|opponentbattlefield) transforms((,newability[tap(noevent)])) text=Creatures you control have Haste. -- Creatures your opponents control enter the battlefield tapped. mana={3}{R}{R} @@ -119846,7 +119766,7 @@ type=Instant [card] name=Vile Redeemer abilities=flash -auto=pay({c}) foreach(creature[fresh]|mygraveyard) token(Eldrazi scion) +auto=pay({c}) foreach(creature[fresh]|mygraveyard) token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=Devoid (This card has no color.) -- Flash -- When you cast Vile Redeemer, you may pay {C}. If you do, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield for each nontoken creature that died under your control this turn. Those tokens have "Sacrifice this creature: Add {C} to your mana pool." mana={2}{G} abilities=devoid @@ -120790,7 +120710,7 @@ type=Sorcery [card] name=Void Attendant abilities=devoid -auto={1}{G}{s2g(*|opponentexile)}:token(Eldrazi Scion) +auto={1}{G}{s2g(*|opponentexile)}:token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )! text=Devoid (This card has no color.) -- {1}{G}, Put a card an opponent owns from exile into that player's graveyard: Put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." mana={2}{G} type=Creature @@ -123487,7 +123407,7 @@ toughness=1 [/card] [card] name=Weirding Wood -auto=token(Clue) controller +auto=token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! controller auto=teach(land) {T}:add{G}{G} auto=teach(land) {T}:add{W}{W} auto=teach(land) {T}:add{U}{U} @@ -126456,18 +126376,9 @@ power=3 toughness=6 [/card] [card] -name=Xathrid Necromancer Zombie -type=Creature -subtype=Zombie -auto=tap(noevent) -power=2 -toughness=2 -color=black -[/card] -[card] name=Xathrid Necromancer -autograveyard=@movedTo(this|graveyard) from(mybattlefield):token(Xathrid Necromancer Zombie) controller -auto=@movedTo(other human|graveyard) from(mybattlefield):token(Xathrid Necromancer Zombie) controller +autograveyard=@movedTo(this|graveyard) from(mybattlefield):token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! controller +auto=@movedTo(other human|graveyard) from(mybattlefield):token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! controller text=Whenever Xathrid Necromancer or another Human creature you control dies, put a 2/2 black Zombie creature token onto the battlefield tapped. mana={2}{B} type=Creature @@ -127618,15 +127529,6 @@ power=2 toughness=2 [/card] [card] -name=Zombie Token -type=Creature -subtype=Zombie -auto=tap(noevent) -power=2 -toughness=2 -color=black -[/card] -[card] name=Zombie Trailblazer auto={T(zombie|mybattlefield)}:ueot name(land becomes a swamp) loseabilities && losesubtypesof(land) && transforms((swamp)) target(land) auto={T(zombie|mybattlefield)}:swampwalk target(creature) diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 867439b56..142bfda5d 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -3524,6 +3524,7 @@ public: bool battleReady; MTGCardInstance * myToken; vector currentAbilities; + MTGAbility * andAbility; Player * tokenReciever; //by id ATokenCreator(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable *, ManaCost * _cost, int tokenId,string starfound, WParsedInt * multiplier = NULL, @@ -3534,6 +3535,7 @@ public: MTGCard * card = MTGCollection()->getCardById(tokenId); if (card) name = card->data->getName(); battleReady = false; + andAbility = NULL; } //by name, card still require valid card.dat info, this just makes the primitive code far more readable. token(Eldrazi scion) instead of token(-1234234)... ATokenCreator(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable *, ManaCost * _cost, string cardName, string starfound, WParsedInt * multiplier = NULL, @@ -3545,6 +3547,7 @@ public: tokenId = card->getId(); if (card) name = card->data->getName(); battleReady = false; + andAbility = NULL; } //by construction ATokenCreator(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable *, ManaCost * _cost, string sname, string stypes, int _power, int _toughness, @@ -3557,6 +3560,7 @@ public: tokenId = 0; aType = MTGAbility::STANDARD_TOKENCREATOR; battleReady = false; + andAbility = NULL; if (!multiplier) this->multiplier = NEW WParsedInt(1); //TODO this is a copy/past of other code that's all around the place, everything should be in a dedicated parser class; @@ -3685,6 +3689,21 @@ public: { battleReadyToken(spell->source); } + //andability + if(andAbility) + { + MTGAbility * andAbilityClone = andAbility->clone(); + andAbilityClone->target = spell->source; + if(andAbility->oneShot) + { + andAbilityClone->resolve(); + SAFE_DELETE(andAbilityClone); + } + else + { + andAbilityClone->addToGame(); + } + } delete spell; } return 1; @@ -4500,8 +4519,9 @@ class AAFlip: public InstantAbility public: vector currentAbilities; string flipStats; + bool forcedcopy; bool isflipcard; - AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats, bool isflipcard = false); + AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats, bool isflipcard = false, bool forcedcopy = false); int resolve(); int testDestroy(); const string getMenuText(); diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index 20f475a4c..fb180fac0 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -1462,16 +1462,31 @@ int AACopier::resolve() if (_target) { MTGCard* clone ; - if(_target->isToken || (_target->isACopier && _target->hasCopiedToken)) + if((_target->isToken || _target->isACopier) && _target->hasCopiedToken) { clone = _target; tokencopied = true; } else clone = MTGCollection()->getCardById(_target->copiedID); - MTGCardInstance * myClone = NEW MTGCardInstance(clone, source->controller()->game); - source->copy(myClone); - SAFE_DELETE(myClone); + + if(tokencopied) + { + MTGCardInstance * myClone = NEW MTGCardInstance(clone, source->controller()->game); + source->copy(myClone); + SAFE_DELETE(myClone); + } + else + {/********************************************* + * instead of using source->copy(myClone) use * + * AAFlip with forcedcopy to true * + *********************************************/ + AAFlip * af = NEW AAFlip(game, game->mLayers->actionLayer()->getMaxId(), source, source, clone->data->name, false, true); + af->oneShot; + af->canBeInterrupted = false; + af->resolve(); + SAFE_DELETE(af); + } source->isACopier = true; source->hasCopiedToken = tokencopied; source->copiedID = _target->copiedID; @@ -3155,8 +3170,8 @@ AAMeld * AAMeld::clone() const } // flip a card -AAFlip::AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats, bool isflipcard) : -InstantAbility(observer, id, card, _target),flipStats(flipStats),isflipcard(isflipcard) +AAFlip::AAFlip(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,string flipStats, bool isflipcard, bool forcedcopy) : +InstantAbility(observer, id, card, _target),flipStats(flipStats),isflipcard(isflipcard),forcedcopy(forcedcopy) { target = _target; } @@ -3179,7 +3194,7 @@ int AAFlip::resolve() MTGCardInstance * _target = (MTGCardInstance *) target; if (_target) { - if((_target->isACopier||_target->isToken) && !isflipcard) + if((_target->isACopier||_target->isToken) && !isflipcard && !forcedcopy) { game->removeObserver(this); return 0; @@ -3208,9 +3223,20 @@ int AAFlip::resolve() _target->types = myFlip->types; _target->text = myFlip->text; _target->formattedText = myFlip->formattedText; - _target->basicAbilities = myFlip->basicAbilities; + //_target->basicAbilities = myFlip->basicAbilities; + for(int k = 0; k < Constants::NB_BASIC_ABILITIES; k++) + { + if(myFlip->model->data->basicAbilities[k]) + _target->basicAbilities[k] = myFlip->model->data->basicAbilities[k]; + } + _target->modbasicAbilities = myFlip->modbasicAbilities; cdaDamage = _target->damageCount; _target->copiedID = myFlip->getMTGId();//for copier + if(forcedcopy && _target->owner->playMode != Player::MODE_TEST_SUITE) + { + _target->setMTGId(myFlip->getMTGId()); + _target->setId = myFlip->setId; + } for(unsigned int i = 0;i < _target->cardsAbilities.size();i++) { MTGAbility * a = dynamic_cast(_target->cardsAbilities[i]); diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 99fa8f123..66b0bb004 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -2381,6 +2381,13 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG ATokenCreator * tok = NEW ATokenCreator(observer, id, card,target, NULL, tokenId, starfound, multiplier, who); tok->oneShot = 1; + //andability + if(storedAndAbility.size()) + { + string stored = storedAndAbility; + storedAndAbility.clear(); + ((ATokenCreator*)tok)->andAbility = parseMagicLine(stored, id, spell, card); + } return tok; } @@ -2395,6 +2402,13 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG { ATokenCreator * tok = NEW ATokenCreator(observer, id, card, target, NULL, cardName, starfound, multiplier, who); tok->oneShot = 1; + //andability + if(storedAndAbility.size()) + { + string stored = storedAndAbility; + storedAndAbility.clear(); + ((ATokenCreator*)tok)->andAbility = parseMagicLine(stored, id, spell, card); + } return tok; } } @@ -2431,6 +2445,13 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG tok->oneShot = 1; if(aLivingWeapon) tok->forceDestroy = 1; + //andability + if(storedAndAbility.size()) + { + string stored = storedAndAbility; + storedAndAbility.clear(); + ((ATokenCreator*)tok)->andAbility = parseMagicLine(stored, id, spell, card); + } return tok; } diff --git a/projects/mtg/src/MTGCardInstance.cpp b/projects/mtg/src/MTGCardInstance.cpp index b0dd57f9e..1c0e85162 100644 --- a/projects/mtg/src/MTGCardInstance.cpp +++ b/projects/mtg/src/MTGCardInstance.cpp @@ -104,7 +104,7 @@ void MTGCardInstance::copy(MTGCardInstance * card) if(card->model->data->basicAbilities[k]) basicAbilities[k] = card->model->data->basicAbilities[k]; } - + modbasicAbilities = card->modbasicAbilities; for (size_t i = 0; i < data->types.size(); i++) { types.push_back(data->types[i]); @@ -141,9 +141,9 @@ void MTGCardInstance::copy(MTGCardInstance * card) mtgid = backupid; // there must be a way to get the token id... else { - mtgid = card->getMTGId(); /////////////////////////////////////////////////// - setId = card->setId; // Copier/Cloner cards produces the same token...// - rarity = card->getRarity(); /////////////////////////////////////////////////// + mtgid = card->getMTGId(); /////////////////////////////////////////////////// + setId = card->setId; // Copier/Cloner cards produces the same token...// + //rarity = card->getRarity(); /////////////////////////////////////////////////// } castMethod = castMethodBackUP; backupTargets = this->backupTargets; @@ -611,7 +611,7 @@ int MTGCardInstance::hasSummoningSickness() { if (!summoningSickness) return 0; - if (basicAbilities[(int)Constants::HASTE]) + if (has(Constants::HASTE)) return 0; if (!isCreature()) return 0;