diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index 76be1dc53..4a70ab31f 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -145,8 +145,12 @@ # Mentor, still not working with enhancements, pump effects #AUTO_DEFINE _MENTOR_ @combat(attacking) source(this):counter(1/1,1) target(other creature[attacking;power<=pminus1minusend]|myBattlefield) -# Surveil, not implemented -#AUTO_DEFINE _SURVEIL_($c) name(Surveil) reveal:$c optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<$c>*|reveal) moveto(ownerlibrary) optiontwoend revealend +# Surveil, like scry, using parameters causes bugs so each value has to be indicated +#AUTO_DEFINE _SURVEIL1_ name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend + +#AUTO_DEFINE _SURVEIL2_ name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend + +#AUTO_DEFINE _SURVEIL3_ name(Surveil 3) reveal:psurveiloffsetplus3plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend # Undergrowth, not implemented #AUTO_DEFINE _UNDERGROWTH_ foreach(creature|myGraveyard) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 3bce18629..c90eeef70 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -6271,7 +6271,7 @@ type=Instant name=Barrier of Bones abilities=defender aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL1_ text=Defender -- When Barrier of Bones enters the battlefield, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={B} type=Creature @@ -15017,7 +15017,7 @@ toughness=3 name=Citywatch Sphinx abilities=flying aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=_DIES_name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_DIES__SURVEIL2_ text=Flying -- When Citywatch Sphinx dies, surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on the top of your library in any order.) mana={5}{U} type=Creature @@ -19949,7 +19949,7 @@ name=Dazzling Lights target=creature auto=-3/-0 aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL2_ text=Target creature gets -3/-0 until end of turn. -- Surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on the top of your library in any order.) mana={U} type=Instant @@ -20191,7 +20191,7 @@ name=Deadly Visit target=creature auto=destroy aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL2_ text=Destroy target creature. -- Surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) mana={3}{B}{B} type=Sorcery @@ -21938,7 +21938,7 @@ type=Instant [card] name=Dimir Informant aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL2_ text=When Dimir Informant enters the battlefield, surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on the top of your library in any order.) mana={2}{U} type=Creature @@ -22864,7 +22864,7 @@ toughness=8 name=Doom Whisperer abilities=flying,trample aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto={L:2}:name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto={L:2}:_SURVEIL2_ text=Flying, trample -- Pay 2 life: Surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on the top of your library in any order.) mana={3}{B}{B} type=Creature @@ -23402,7 +23402,7 @@ type=Instant [card] name=Dragon's Rage Channeler aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=@movedTo(*[-creature]|myStack):name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=@movedTo(*[-creature]|myStack):_SURVEIL1_ auto=while(restriction{delirium}) 2/2 auto=while(restriction{delirium}) flying auto=while(restriction{delirium}) mustattack @@ -25848,7 +25848,7 @@ type=Instant [card] name=Eloise, Nephalia Sleuth aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=@sacrificed(*[token]|mybattlefield):name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=@sacrificed(*[token]|mybattlefield):_SURVEIL1_ auto=@movedTo(other creature|graveyard) from(mybattlefield):name(Investigate) token(Clue) text=Whenever another creature you control dies, investigate. (Create a colorless Clue artifact token with "{2}, Sacrifice this artifact: Draw a card.") -- Whenever you sacrifice a token, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={3}{U}{B} @@ -28565,7 +28565,7 @@ toughness=2 name=Failed Conversion target=creature auto=teach(creature) -4/-4 -auto=@movedto(mytgt|graveyard) from(Battlefield):name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=@movedto(mytgt|graveyard) from(Battlefield):_SURVEIL2_ text=Enchant creature -- Enchanted creature gets -4/-4. -- When enchanted creature dies, surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) mana={4}{B} type=Enchantment @@ -31876,7 +31876,7 @@ type=Sorcery name=Foul Watcher abilities=flying aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL1_ auto=while(restriction{delirium}) 1/0 text=Flying -- When Foul Watcher enters the battlefield, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) -- Delirium - Foul Watcher gets +1/+0 as long as there are four or more card types among cards in your graveyard. mana={1}{U} @@ -34187,7 +34187,7 @@ type=Instant name=Gift of Compleation auto=name(Incubate 3) name(Incubate 3) activate castcard(noevent costx!:3:! named!:Incubator:!) aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=@movedTo(phyrexian|graveyard) from(mybattlefield):name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=@movedTo(phyrexian|graveyard) from(mybattlefield):_SURVEIL1_ text=When Gift of Compleation enters the battlefield, incubate 3. (Create an Incubator token with three +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) -- Whenever a Phyrexian you control dies, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={1}{B} type=Enchantment @@ -41316,7 +41316,7 @@ type=Sorcery name=House Guildmage auto={1}{U}{T}:target(creature) frozen aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto={2}{B}{T}:name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto={2}{B}{T}:_SURVEIL2_ text={1}{U}, {T}: Target creature doesn't untap during its controller's next untap step. -- {2}{B}, {T}: Surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) mana={U}{B} type=Creature @@ -46882,7 +46882,7 @@ toughness=4 [card] name=Karador, Ghost Chieftain anyzone=thisforeach(variable{type:creature:mygraveyard}>0) changecost(colorless:-1) forcedalive -auto=this(variable{controllerturn}>0) {0} turnlimited:name(Cast from your graveyard) target(creature|mygraveyard) transforms((,newability[canPlayFromGraveyard])) ueot limit:1 +auto={0}:name(Cast from your graveyard) target(creature|mygraveyard) transforms((,newability[canPlayFromGraveyard])) ueot limit:1 myTurnOnly text=This spell costs {1} less to cast for each creature card in your graveyard. -- During each of your turns, you may cast one creature card from your graveyard. mana={5}{B}{G}{W} type=Legendary Creature @@ -49852,7 +49852,7 @@ type=Sorcery [card] name=Lazav, the Multifarious aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL1_ auto=counter(0/0,1,LazavEffect) auto=emblem transforms((,newability[lord(creature[counter{0/0.1.LazavEffect}]|mybattlefield) transforms((,newability[{X}:name(Copy creature) transforms((,newability[name(Copy creature) target(creature[manacost=x]|mygraveyard) copy and!( transforms((Legendary Lazav)) forever )!])) forever])) forever])) forever dontremove text=When Lazav, the Multifarious enters the battlefield, surveil 1. (Look at the top card of your library. You may put it into your graveyard.) -- {X}: Lazav, the Multifarious becomes a copy of target creature card in your graveyard with mana value X, except its name is Lazav, the Multifarious, it's legendary in addition to its other types, and it has this ability. @@ -53979,7 +53979,7 @@ toughness=2 [card] name=Master of Death aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL2_ autograveyard=@each my upkeep:pay({L:1}) moveto(myhand) text=When Master of Death enters the battlefield, surveil 2. -- At the beginning of your upkeep, if Master of Death is in your graveyard, you may pay 1 life. If you do, return it to your hand. mana={1}{U}{B} @@ -54393,7 +54393,7 @@ type=Sorcery name=Mephitic Vapors auto=all(creature) -1/-1 aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL2_ text=All creatures get -1/-1 until end of turn. -- Surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on the top of your library in any order.) mana={2}{B} type=Sorcery @@ -57529,8 +57529,8 @@ toughness=2 [card] name=Naga Oracle aicode=activate transforms((,newability[all(*[zpos<=3]|mylibrary) moveto(mygraveyard) and!( transforms((,newability[may name(Put back on top) moveto(mylibrary)])) oneshot )!])) oneshot -auto=name(Look top 3 cards) reveal:3 optionone name(Put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back on top) target(<3>*|reveal) moveto(mylibrary) optiontwoend revealend -text=When Naga Oracle enters the battlefield, look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. +auto=_SURVEIL3_ +text=When Naga Oracle enters the battlefield, surveil 3. (Look at the top three cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) mana={3}{U} type=Creature subtype=Naga Cleric @@ -58879,7 +58879,7 @@ toughness=3 name=Nightveil Sprite abilities=flying aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=_ATTACKING_name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_ATTACKING__SURVEIL1_ text=Flying -- Whenever Nightveil Sprite attacks, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={1}{U} type=Creature @@ -61676,8 +61676,8 @@ toughness=2 name=Otherworldly Gaze flashback={1}{U} aicode=activate transforms((,newability[target(*[zpos<=3]|mylibrary) moveto(mygraveyard)])) oneshot -auto=name(Reveal top 3 cards) reveal:3 optionone name(Put into your graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(top of your library) target(<3>*|reveal) moveto(mylibrary) optiontwoend revealend -text=Look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. -- Flashback {1}{U} (You may cast this card from your graveyard for its flashback cost. Then exile it.) +auto=_SURVEIL3_ +text=Surveil 3. (Look at the top three cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) -- Flashback {1}{U} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={U} type=Instant [/card] @@ -63820,7 +63820,7 @@ name=Pile On other={convoke} name(Convoke) target=creature,planeswalker auto=destroy -auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL2_ text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Destroy target creature or planeswalker. Surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) mana={3}{B} type=Instant @@ -75620,7 +75620,7 @@ toughness=2 name=Seer of Stolen Sight abilities=menace aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=@movedto(*[creature;artifact]|graveyard) from(myBattlefield):name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=@movedto(*[creature;artifact]|graveyard) from(myBattlefield):_SURVEIL1_ text=Menace (This creature can't be blocked except by two or more creatures.) -- Whenever one or more artifacts and/or creatures you control are put into a graveyard from the battlefield, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={2}{B} type=Creature @@ -78635,7 +78635,7 @@ name=Sinister Sabotage target=*|stack auto=fizzle aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL1_ text=Counter target spell. -- Surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={1}{U}{U} type=Instant @@ -78643,7 +78643,7 @@ type=Instant [card] name=Sinister Starfish aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto={T}:name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto={T}:_SURVEIL1_ text={T}: Surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={1}{B} type=Creature @@ -85783,7 +85783,7 @@ auto=teach(creature) 2/2 auto=teach(creature) protection from blue auto=teach(creature) protection from black auto=@combatdamaged(player) from(mytgt):may name(cast card) activate castcard(normal) target(*[instant;sorcery;manacost<=2]|mygraveyard) and!(transforms((,newability[gainedexiledeath])) forever)! -auto=@combatdamaged(player) from(mytgt):name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=@combatdamaged(player) from(mytgt):_SURVEIL2_ auto={2}:equip text=Equipped creature gets +2/+2 and has protection from blue and from black. -- Whenever equipped creature deals combat damage to a player, surveil 2. Then you may cast an instant or sorcery spell with mana value 2 or less from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead. -- Equip {2} mana={3} @@ -92169,7 +92169,7 @@ toughness=1 [/card] [card] name=Tuya Bearclaw -auto=_ATTACKING_power:highest:*:mybattlefield/power:highest:*:mybattlefield ueot +auto=_ATTACKING_otherpower:highest:creature:mybattlefield/otherpower:highest:creature:mybattlefield ueot text=Whenever Tuya Bearclaw attacks, it gets +X/+X until end of turn, where X is the greatest power among other creatures you control. mana={1}{R}{G} type=Legendary Creature @@ -93172,7 +93172,7 @@ name=Unexplained Disappearance target=creature|battlefield auto=moveto(ownerHand) aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL1_ text=Return target creature to its owner's hand. -- Surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={1}{U} type=Instant @@ -97266,8 +97266,8 @@ toughness=2 [/card] [card] name=Wary Thespian -auto=name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend -auto=_DIES_name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL1_ +auto=_DIES__SURVEIL1_ text=When Wary Thespian enters the battlefield or dies, surveil 1. (Look at the top card of your library. You may put that card into your graveyard.) mana={1}{G} type=Creature @@ -97322,7 +97322,7 @@ toughness=2 name=Watcher in the Mist abilities=flying aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL2_ text=Flying -- When Watcher in the Mist enters the battlefield, surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on the top of your library in any order.) mana={3}{U}{U} type=Creature @@ -97899,7 +97899,7 @@ type=Enchantment name=Whisper Agent abilities=flash aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend +auto=_SURVEIL1_ text=Flash -- When Whisper Agent enters the battlefield, surveil 1. (Look at the top card of your library. You may put it into your graveyard.) mana={1}{UB}{UB} type=Creature @@ -99080,7 +99080,7 @@ subtype=Equipment [card] name=Wolfwillow Haven target=land -auto=teach(land) transforms((,newability[@tappedformana(mytgt):produceextra:{G}])) +auto=teach(land) transforms((,newability[@tappedformana(this):add{G}])) auto={4}{G}{S}:_WOLFTOKEN_ myTurnOnly text=Enchant land -- Whenever enchanted land is tapped for mana, its controller adds an additional {G}. -- {4}{G}, Sacrifice Wolfwillow Haven: Create a 2/2 green Wolf creature token. Activate this ability only during your turn. mana={1}{G} diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index c4f3ea942..b642ba755 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -26397,7 +26397,7 @@ toughness=1 [card] name=Dauthi Mindripper abilities=shadow -auto=@combat(notblocked) source(this):may ability$!name(discard 2 cards) target(<3>*|myhand) reject!$ opponent && sacrifice all(this) +auto=@combat(notblocked) source(this):may ability$!name(discard 3 cards) target(<3>*|myhand) reject!$ opponent && sacrifice all(this) text=Shadow (This creature can block or be blocked by only creatures with shadow.) -- Whenever Dauthi Mindripper attacks and isn't blocked, you may sacrifice it. If you do, defending player discards three cards. mana={3}{B} type=Creature @@ -50351,9 +50351,9 @@ type=Enchantment name=Grim Flayer abilities=trample aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|mylibrary) moverandom(*[zpos<=3]) from(mylibrary) to(mylibrary)])) ueot -auto=@combatdamaged(player) from(this):name(look) reveal:3 optionone name(Put In Graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend +auto=@combatdamaged(player) from(this):_SURVEIL3_ auto=while(restriction{delirium}) 2/2 -text=Trample -- Whenever Grim Flayer deals combat damage to a player, look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. -- Delirium -- Grim Flayer gets +2/+2 as long as there are four or more card types among cards in your graveyard. +text=Trample -- Whenever Grim Flayer deals combat damage to a player, surveil 3. (Look at the top three cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) -- Delirium -- Grim Flayer gets +2/+2 as long as there are four or more card types among cards in your graveyard. mana={B}{G} type=Creature subtype=Human Warrior @@ -86256,7 +86256,7 @@ toughness=1 name=Phyrexian Etchings auto=cumulativeupcost[{B}] sacrifice auto=@each my endofturn:draw:counter{0%0.1.Age} controller -auto=_DIES_life:-counter{0%0.1.Age} controller +auto=_DIES_life:-counter{0%0.1.Age} controller && life:-counter{0%0.1.Age} controller text=Cumulative upkeep {B} (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.) -- At the beginning of your end step, draw a card for each age counter on Phyrexian Etchings. -- When Phyrexian Etchings is put into a graveyard from the battlefield, you lose 2 life for each age counter on it. mana={B}{B}{B} type=Enchantment @@ -86759,7 +86759,7 @@ toughness=5 [card] name=Pillar of Flame target=creature,player -auto=exiledeath +auto=if cantargetcard(creature|*) then exiledeath auto=damage:2 text=Pillar of Flame deals 2 damage to target creature or player. If a creature dealt damage this way would die this turn, exile it instead. mana={R} @@ -97909,7 +97909,7 @@ toughness=2 [card] name=Ryusei, the Falling Star abilities=flying -auto=_DIES_damage:5 all(creature[-flying]) +auto=_DIES_damage:5 all(*[creature;-flying]) text=Flying -- When Ryusei, the Falling Star dies, it deals 5 damage to each creature without flying. mana={5}{R} type=Legendary Creature @@ -115318,8 +115318,8 @@ type=Land [card] name=Sultai Ascendancy aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=2]|mylibrary) moverandom(*[zpos<=2]) from(mylibrary) to(mylibrary)])) ueot -auto=@each my upkeep:name(look) reveal:2 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<2>*|reveal) moveto(mylibrary) optiontwoend revealend -text=At the beginning of your upkeep, look at the top two cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. +auto=@each my upkeep:_SURVEIL2_ +text=At the beginning of your upkeep, surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) mana={B}{G}{U} type=Enchantment [/card]