From cc5d8940bfbaa820b34d7e247a99f9000edb41cf Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 26 Jul 2016 07:43:13 +0800 Subject: [PATCH 1/3] Clue tokens --- projects/mtg/bin/Res/sets/primitives/mtg.txt | 99 ++++++++++---------- 1 file changed, 47 insertions(+), 52 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index d5c1149b3..aa3248ec3 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -9141,7 +9141,7 @@ toughness=2 [card] name=Bearer of Overwhelming Truths auto=@movedto(*[-creature|mystack):1/1 ueot -auto=@combatdamaged(player) from(this):token(-410067) controller +auto=@combatdamaged(player) from(this):token(Clue) 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 @@ -14804,7 +14804,7 @@ type=Instant [card] name=Bygone Bishop abilities=flying -auto=@movedto(creature[manacost<=3]|mystack):token(-410067) controller +auto=@movedto(creature[manacost<=3]|mystack):token(Clue) 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 @@ -14814,7 +14814,7 @@ toughness=3 [/card] [card] name=Byway Courier -auto=@movedTo(this|graveyard) from(battlefield):token(-410067) controller +auto=@movedTo(this|graveyard) from(battlefield):token(Clue) 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 @@ -20245,7 +20245,7 @@ toughness=1 name=Confirm Suspicions target=*|mystack auto=fizzle -auto=token(-410067)*3 controller +auto=token(Clue)*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 @@ -20262,7 +20262,7 @@ subtype=Aura [card] name=Confront the Unknown target=creature -auto=token(-410067) controller +auto=token(Clue) 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} @@ -25402,7 +25402,7 @@ type=Artifact [card] name=Declaration in Stone target=creature -auto=transforms((,newability[all(*[share!name!]) moveto(exile)],newability[@movedto(exile) all([share!name!])token(-410067) controller])) +auto=transforms((,newability[all(*[share!name!]) moveto(exile)],newability[@movedto(exile) all([share!name!])token(Clue) 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 @@ -28807,7 +28807,7 @@ toughness=7 [card] name=Dragonlord Kolaghan abilities=flying,haste -auto=lord(other creature|mybattlefield) haste +auto=emblem transforms((,newability[aslongas(Dragonlord Kolaghan|mybattlefield) lord(creature|mybattlefield) haste >0])) ueot 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} @@ -30017,7 +30017,7 @@ toughness=3 [/card] [card] name=Drownyard Explorers -auto=token(-410067) controller +auto=token(Clue) 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 @@ -31863,7 +31863,7 @@ subtype=Aura [/card] [card] name=Elephant Resurgence -auto=token(-21382) controller && token(-21382) opponent +auto=token(Elephant T1) controller && token(Elephant T1) opponent text=Each player puts a green Elephant creature token onto the battlefield. Those creatures have "This creature's power and toughness are each equal to the number of creature cards in its controller's graveyard." mana={1}{G} type=Sorcery @@ -33829,7 +33829,7 @@ type=Legendary Enchantment [card] name=Erdwal Illuminator abilities=flying -auto=@movedto(clue|mybattlefield) restriction{type(clue[fresh]|mybattlefield)~equalto~1}:token(-410067) +auto=@movedto(clue|mybattlefield) restriction{type(clue[fresh]|mybattlefield)~equalto~1}:token(Clue) text=Flying -- Whenever you investigate for the first time each turn, investigate an additional time. mana={1}{U} type=Creature @@ -35057,7 +35057,7 @@ type=Sorcery name=Expose Evil target=creature auto=tap -auto=token(-410067) controller +auto=token(Clue) 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 @@ -38406,7 +38406,7 @@ toughness=1 [/card] [card] name=Fleeting Memories -auto=token(-410067) controller +auto=token(Clue) 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} @@ -45167,7 +45167,7 @@ toughness=6 name=Gone Missing target=* auto=moveto(ownerlibrary) -auto=token(-410067) controller +auto=token(Clue) 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 @@ -51674,7 +51674,7 @@ toughness=1 name=Humble the Brute target=creature[power>3] auto=destroy -auto=token(-410067) controller +auto=token(Clue) 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 @@ -54989,7 +54989,7 @@ toughness=1 name=Jace's Scrutiny target=creature auto=-4/-0 -auto=token(-410067) controller +auto=token(Clue) 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 @@ -64535,7 +64535,7 @@ type=Instant [card] name=Magnifying Glass auto={T}:Add{1} -auto={4}{T}:token(-410067) controller +auto={4}{T}:token(Clue) 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 @@ -76074,8 +76074,8 @@ toughness=3 [/card] [card] name=Ongoing Investigation -auto=@combatdamaged(player):token(-410067) controller -auto={1}{G}{e(creature|mygraveyard)}:token(-410067) controller && life:2 +auto=@combatdamaged(player):token(Clue) controller +auto={1}{G}{e(creature|mygraveyard)}:token(Clue) 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 @@ -81634,7 +81634,7 @@ type=Sorcery name=Press for Answers target=creature auto=frozen -auto=token(-410067) controller +auto=token(Clue) 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 @@ -89329,7 +89329,7 @@ type=Enchantment name=Root Out target=artifact,enchantment auto=destroy -auto=token(-410067) controller +auto=token(Clue) 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 @@ -91838,16 +91838,11 @@ type=Instant [/card] [card] name=Sarpadian Empires, Vol. VII -auto=choice name(white citizen) counter(0/0,1,White Citizen) all(this) -auto=choice name(blue camarid) counter(0/0,1,Blue Camarid) all(this) -auto=choice name(black thrull) counter(0/0,1,Black Thrull) all(this) -auto=choice name(red goblin) counter(0/0,1,Red Goblin) all(this) -auto=choice name(green saproling) counter(0/0,1,Green Saproling) all(this) -auto=this(counter{0/0.1.White Citizen}) {3}{T}:token(-11492111) -auto=this(counter{0/0.1.Blue Camarid}) {3}{T}:token(-11492112) -auto=this(counter{0/0.1.Black Thrull}) {3}{T}:token(-11492113) -auto=this(counter{0/0.1.Red Goblin}) {3}{T}:token(-11492114) -auto=this(counter{0/0.1.Green Saproling}) {3}{T}:token(-11492115) +auto=choice name(white citizen) transforms((,newability[{3}{T}:token(-11492111)])) forever +auto=choice name(blue camarid) transforms((,newability[{3}{T}:token(-11492112)])) forever +auto=choice name(black thrull) transforms((,newability[{3}{T}:token(-11492113)])) forever +auto=choice name(red goblin) transforms((,newability[{3}{T}:token(-11492114)])) forever +auto=choice name(green saproling) transforms((,newability[{3}{T}:token(-11492115)])) forever text=As Sarpadian Empires, Vol. VII enters the battlefield, choose white Citizen, blue Camarid, black Thrull, red Goblin, or green Saproling. -- {3}, {T}: Put a 1/1 creature token of the chosen color and type onto the battlefield. mana={3} type=Artifact @@ -107845,7 +107840,7 @@ name=Survive the Night target=creature auto=1/0 auto=indestructible -auto=token(-410067) controller +auto=token(Clue) 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 @@ -109252,7 +109247,7 @@ subtype=Tamiyo [/card] [card] name=Tamiyo's Journal -auto=@upkeep:token(-410067) +auto=@upkeep:token(Clue) 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} @@ -110472,7 +110467,7 @@ subtype=Arcane [/card] [card] name=Terastodon -auto=may name(destroy) target(*[-creature]|battlefield) transforms((,newability[@movedTo(this|graveyard) from(battlefield):token(-197137)],newability[destroy])) +auto=may name(destroy) target(*[-creature]|battlefield) transforms((,newability[@movedTo(this|graveyard) from(battlefield):token(Elephant Token)],newability[destroy])) text=When Terastodon enters the battlefield, you may destroy up to three target noncreature permanents. For each permanent put into a graveyard this way, its controller puts a 3/3 green Elephant creature token onto the battlefield. mana={6}{G}{G} type=Creature @@ -110713,7 +110708,7 @@ toughness=1 name=Tetravus abilities=flying auto=counter(1/1,3) -auto={c(1/1,-1)}:token(-2073) myupkeeponly +auto={c(1/1,-1)}:token(Tetravite) myupkeeponly auto={e(Tetravite|myBattlefield)}:counter(1/1,1) myupkeeponly text=Flying -- Tetravus enters the battlefield with three +1/+1 counters on it. -- At the beginning of your upkeep, you may remove any number of +1/+1 counters from Tetravus. If you do, put that many 1/1 colorless Tetravite artifact creature tokens onto the battlefield. They each have flying and "This creature can't be enchanted." -- At the beginning of your upkeep, you may exile any number of tokens put onto the battlefield with Tetravus. If you do, put that many +1/+1 counters on Tetravus. mana={6} @@ -111903,7 +111898,7 @@ toughness=2 [/card] [card] name=Thraben Inspector -auto=token(-410067) controller +auto=token(Clue) 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 @@ -113129,7 +113124,7 @@ toughness=3 [/card] [card] name=Tireless Tracker -auto=@movedto(land|mybattlefield):token(-410067) controller +auto=@movedto(land|mybattlefield):token(Clue) 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} @@ -114229,7 +114224,7 @@ type=Instant [/card] [card] name=Trail of Evidence -auto=@movedto(instant,sorcery|mystack):token(-410067) controller +auto=@movedto(instant,sorcery|mystack):token(Clue) 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 @@ -115273,7 +115268,7 @@ toughness=1 name=Triskelavus abilities=flying auto=counter(1/1,3) -auto={1}{C(1/1,-1)}:token(-114919) +auto={1}{C(1/1,-1)}:token(Triskelavite Token) text=Flying -- Triskelavus enters the battlefield with three +1/+1 counters on it. -- {1}, Remove a +1/+1 counter from Triskelavus: Put a 1/1 colorless Triskelavite artifact creature token with flying onto the battlefield. It has "Sacrifice this creature: This creature deals 1 damage to target creature or player." mana={7} type=Artifact Creature @@ -115496,9 +115491,9 @@ type=Instant [/card] [card] name=Trostani's Summoner -auto=token(-19784611) -auto=token(-19784612) -auto=token(-19784613) +auto=token(Trostani Knight) +auto=token(Trostani Centaur) +auto=token(Trostani Rhino) text=When Trostani's Summoner enters the battlefield, put a 2/2 white Knight creature token with vigilance, a 3/3 green Centaur creature token,and a 4/4 green Rhino creature token with trample onto the battlefield. mana={5}{G}{W} type=Creature @@ -116362,7 +116357,7 @@ toughness=* [/card] [card] name=Ulvenwald Mysteries -auto=@movedto(creature[-token]|mygraveyard):token(-410067) controller +auto=@movedto(creature[-token]|mygraveyard):token(Clue) 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} @@ -118260,7 +118255,7 @@ toughness=2 name=Varchild's War-Riders abilities=trample auto=rampage(1/1,1) -auto=@each my upkeep:counter(0/0,1,Age) && all(this) transforms((,newability[choice sacrifice],newability[choice thisforeach(counter{0/0.1.Age}) token(-3187) opponent])) +auto=@each my upkeep:counter(0/0,1,Age) && all(this) transforms((,newability[choice sacrifice],newability[choice thisforeach(counter{0/0.1.Age}) token(Survivor Token) opponent])) text=Cumulative upkeep - Put a 1/1 red Survivor creature token onto the battlefield under an opponent's control. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) -- Trample; rampage 1 (Whenever this creature becomes blocked, it gets +1/+1 until end of turn for each creature blocking it beyond the first.) mana={1}{R} type=Creature @@ -120654,8 +120649,8 @@ toughness=2 [/card] [card] name=Voice of Resurgence -auto=@movedTo(*|opponentstack) restriction{myturnonly}:token(-19784555) -auto=@movedTo(this|graveyard) from(battlefield):token(-19784555) +auto=@movedTo(*|opponentstack) restriction{myturnonly}:token(Elemental) +auto=@movedTo(this|graveyard) from(battlefield):token(Elemental) text=Whenever an opponent casts a spell during your turn, or whenever Voice of Resurgence dies, put a green and white Elemental creature token onto the battlefield with "This creature's power and toughness are each equal to the number of creatures you control." mana={G}{W} type=Creature @@ -121286,7 +121281,7 @@ name=Vraska the Unseen auto=counter(0/0,5,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: dread) transforms((,newability[@combatdamaged(this) from(creature):all(trigger[from]) destroy])) uynt auto={C(0/0,-3,Loyalty)}:name(-3: destroy) destroy target(*[-land]) -auto={C(0/0,-7,Loyalty)}:name(-7: assassin) token(-290538)*3 +auto={C(0/0,-7,Loyalty)}:name(-7: assassin) token(Assassin Token)*3 text=+1: Until your next turn, whenever a creature deals combat damage to Vraska the Unseen, destroy that creature. -- -3: Destroy target nonland permanent. -- -7: Put three 1/1 black Assassin creature tokens onto the battlefield with "Whenever this creature deals combat damage to a player, that player loses the game." mana={3}{B}{G} type=Planeswalker @@ -122184,8 +122179,8 @@ type=Artifact [/card] [card] name=Wand of the Elements -auto={T}{S(island|myBattlefield)}:token(-4977511) -auto={T}{S(mountain|myBattlefield)}:token(-4977512) +auto={T}{S(island|myBattlefield)}:token(Elemental T1) +auto={T}{S(mountain|myBattlefield)}:token(Elemental T2) text={T}, Sacrifice an Island: Put a 2/2 blue Elemental creature token with flying onto the battlefield. -- {T}, Sacrifice a Mountain: Put a 3/3 red Elemental creature token onto the battlefield. mana={4} type=Artifact @@ -123416,7 +123411,7 @@ toughness=1 [/card] [card] name=Weirding Wood -auto=token(-410067) controller +auto=token(Clue) controller auto=teach(land) {T}:add{G}{G} auto=teach(land) {T}:add{W}{W} auto=teach(land) {T}:add{U}{U} @@ -126286,7 +126281,7 @@ type=Sorcery [card] name=Wurmcoil Engine abilities=lifelink,deathtouch -auto=@movedTo(this|graveyard) from(battlefield):token(-20787511) && token(-20787512) +auto=@movedTo(this|graveyard) from(battlefield):token(Wurm T1) && token(Wurm T2) text=Deathtouch, Lifelink -- When Wurmcoil Engine dies, put a 3/3 colorless Wurm artifact creature token with deathtouch and a 3/3 colorless Wurm artifact creature token with lifelink onto the battlefield. mana={6} type=Artifact Creature @@ -126394,8 +126389,8 @@ color=black [/card] [card] name=Xathrid Necromancer -autograveyard=@movedTo(this|graveyard) from(mybattlefield):token(-370619) controller -auto=@movedTo(other human|graveyard) from(mybattlefield):token(-370619) controller +autograveyard=@movedTo(this|graveyard) from(mybattlefield):token(Xathrid Necromancer Zombie) controller +auto=@movedTo(other human|graveyard) from(mybattlefield):token(Xathrid Necromancer Zombie) 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 From 43fd399d10aa07edd066d3a54294a348b37acba1 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 26 Jul 2016 07:46:18 +0800 Subject: [PATCH 2/3] Update _tests.txt --- projects/mtg/bin/Res/test/_tests.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index dc83fac83..bb14f8a79 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -463,6 +463,7 @@ living_lands.txt livingweapon.txt lord_of_the_pit.txt lord_of_the_pit2.txt +Living_Death.txt magma_spray.txt manabarbs_dual_lands_i562.txt master_decoy.txt From 12b80307a795945e268f58a5151f66507cc89816 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Tue, 26 Jul 2016 08:51:46 +0800 Subject: [PATCH 3/3] Update Living_Death.txt Use Living Death and Clone --- projects/mtg/bin/Res/test/Living_Death.txt | 41 ++++++---------------- 1 file changed, 10 insertions(+), 31 deletions(-) diff --git a/projects/mtg/bin/Res/test/Living_Death.txt b/projects/mtg/bin/Res/test/Living_Death.txt index 4f89aebd3..3b9e017e0 100644 --- a/projects/mtg/bin/Res/test/Living_Death.txt +++ b/projects/mtg/bin/Res/test/Living_Death.txt @@ -1,43 +1,22 @@ #Bug: Haste from legendary lords [INIT] -UNTAP +FIRSTMAIN [PLAYER1] -inplay:Worry Beads,swamp,forest,plains -graveyard:99, Dragonlord Kolaghan -library:Krosan Cloudscraper -hand:5556,Dark Ritual,651,Animate Dead,Exhume -manapool:{2}{B}{B}{G} +graveyard:Krosan Cloudscraper, Dragonlord Kolaghan, Clone +hand:Living Death +manapool:{2}{B}{B}{B} [PLAYER2] [DO] -next -#upkeep -next -#draw -next -#firstmain -swamp -forest -plains -Dark Ritual -651 -Animate Dead -Krosan Cloudscraper -5556 -choice 0 -Dragonlord Kolaghan -5556 -choice 0 -99 +Living Death choice 0 Dragonlord Kolaghan choice 0 -next #begins next #attack -Krosan Cloudscraper -99 next +Clone +Krosan Cloudscraper #block next #damage @@ -47,8 +26,8 @@ eot [ASSERT] UNTAP [PLAYER1] -inplay:99, Krosan Cloudscraper, Worry Beads,swamp,forest,plains,Animate Dead -graveyard:Dragonlord Kolaghan, Exhume, Dark Ritual, 651, 5556 +inplay:Krosan Cloudscraper, Clone +graveyard:Dragonlord Kolaghan, Living Death [PLAYER2] -life:2 +life:1 [END]