diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index dc93180e7..49b50014a 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -172,6 +172,9 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati # Ward #AUTO_DEFINE _WARD_($cost) @targeted(this) from(*|opponentzones):choice name(This spell costs $cost more) name(This spell costs $cost more) target(*|opponentzones) transforms((,newability[pay[[{$cost}]] name(pay $cost mana) donothing?fizzle])) oneshot +# Renown +#AUTO_DEFINE _RENOWN_($c) this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.$c) && becomes(renown) forever])) + # Angel Token #AUTO_DEFINE _ANGELTOKEN_ create(Angel:Creature Angel:4/4:white:flying) @@ -190,6 +193,9 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati # Insect Token #AUTO_DEFINE _INSECTTOKEN_ create(Insect:Creature Insect:1/1:green) +# Knight Token +#AUTO_DEFINE _KNIGHTTOKEN_ create(Knight:Creature Knight:2/2:white:vigilance) + # Phyrexian Mite Token #AUTO_DEFINE _PHYREXIANMITETOKEN_ create(phyrexian mite:artifact creature phyrexian mite:1/1:poisontoxic:cantblock) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 6eaddca2a..73b570299 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,6 +1,6 @@ #Bordeline Primitives Pack for Wagic the Homebrew. #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#I sorted this programatically - Thanks to Vitty85 09-04-2023 +#I sorted this programmatically - Thanks to Vitty85 09-04-2023 [card] name=+2 Mace auto={3}:equip @@ -2424,7 +2424,7 @@ other={4}{B} target=creature,planeswalker auto=destroy text=As an additional cost to cast this spell, pay {4} or sacrifice an artifact or creature. -- Destroy target creature or planeswalker. -mana={B}{S(artifact,creature)} +mana={B}{S(artifact,creature|mybattlefield)} type=Sorcery [/card] [card] @@ -2651,8 +2651,7 @@ toughness=4 [card] name=Apostle of Purifying Light abilities=protection from black -target=*|graveyard -auto={2}:moveto(exile) +auto={2}:moveto(exile) target(*|graveyard) text=Protection from black (This creature can't be blocked, targeted, dealt damage, enchanted, or equipped by anything black.) -- {2}: Exile target card from a graveyard. mana={1}{W} type=Creature @@ -5494,7 +5493,7 @@ toughness=2 name=Banish into Fable auto=if casted(this) restriction{type(artifact|myBattlefield)~morethan~0} then copy(Banish into Fable) auto=if casted(this) restriction{type(enchantment|myBattlefield)~morethan~0} then copy(Banish into Fable) -auto=moveTo(ownerhand) target(*[-land]) && token(Knight,creature Knight,2/2,white,vigilance) controller +auto=moveTo(ownerhand) target(*[-land]) && _KNIGHTTOKEN_ controller text=When you cast this spell from your hand, copy it if you control an artifact, then copy it if you control an enchantment. You may choose new targets for the copies. -- Return target nonland permanent to its owner's hand. You create a 2/2 white Knight creature token with vigilance. mana={4}{W}{U} type=Instant @@ -6191,9 +6190,7 @@ toughness=* [card] name=Bearded Axe auto={2}:equip -auto=teach(creature) type:dwarf:mybattlefield/type:dwarf:mybattlefield nonstatic -auto=teach(creature) type:equipment:mybattlefield/type:equipment:mybattlefield nonstatic -auto=teach(creature) type:vehicle:mybattlefield/type:vehicle:mybattlefield nonstatic +auto=teach(creature) transforms((,newability[foreach(*[Dwarf;Equipment;Vehicle]|mybattlefield) 1/1])) text=Equipped creature gets +1/+1 for each Dwarf, Equipment, and/or Vehicle you control. -- Equip {2} mana={2}{R} type=Artifact @@ -12785,7 +12782,8 @@ type=Sorcery [/card] [card] name=Chandra's Pyreling -auto=@damaged(player) from(*|myBattlefield,myStack,myGraveyard,mySideboard,myExile) 1/0 ueot && double strike ueot +auto=@noncombatdamagefoeof(player) from(*|myzones):1/0 ueot +auto=@noncombatdamagefoeof(player) from(*|myzones):double strike ueot text=Whenever a source you control deals noncombat damage to an opponent, Chandra's Pyreling gets +1/+0 and gains double strike until end of turn. (It deals both first-strike and regular combat damage.) mana={1}{R} type=Creature @@ -12982,7 +12980,7 @@ type=Artifact name=Chapel Shieldgeist backside=Chaplain of Alms abilities=flying,first strike,exiledeath -auto=@targeted(creature|myBattlefield) from(*|opponentstack):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentstack) transforms((,newability[pay[[{1}]] name(pay 1 more) donothing?fizzle])) oneshot +auto=@targeted(creature|myBattlefield) from(*|opponentzones):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentzones) transforms((,newability[pay[[{1}]] name(pay 1 more) donothing?fizzle])) oneshot text=Flying, first strike -- Each creature you control has ward {1}. (Whenever it becomes the target of a spell or ability an opponent controls, counter it unless that player pays {1}.) -- If Chapel Shieldgeist would be put into a graveyard from anywhere, exile it instead. // Chaplain of Alms type=Creature subtype=Spirit Cleric @@ -12998,7 +12996,7 @@ restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) retrace={3}{W} name(Cast with disturb) auto=if paid(retrace) then flip(backside) -auto=@targeted(this) from(*|opponentstack):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentstack) transforms((,newability[pay[[{1}]] name(pay 1 more) donothing?fizzle])) oneshot +auto=_WARD_(1) text=First strike -- Ward {1} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {1}.) -- Disturb {3}{W} (You may cast this card from your graveyard transformed for its disturb cost.) // Chapel Shieldgeist mana={W} type=Creature @@ -13466,7 +13464,9 @@ toughness=4 [card] name=Chishiro, the Shattered Blade auto=@movedTo(*[Aura;Equipment]|myBattlefield):create(spirit:creature spirit:2/2:red:menace) -auto=@each my endofturn:counter(1/1) all(creature[geared;enchanted;counter{any}]|myBattlefield) +auto=@each my endofturn:counter(1/1) all(creature[geared]|myBattlefield) +auto=@each my endofturn:counter(1/1) all(creature[enchanted]|myBattlefield) +auto=@each my endofturn:counter(1/1) all(creature[counter{any}]|myBattlefield) text=Whenever an Aura or Equipment enters the battlefield under your control, create a 2/2 red Spirit creature token with menace. -- At the beginning of your end step, put a +1/+1 counter on each modified creature you control. (Equipment, Auras you control, and counters are modifications.) mana={2}{R}{G} type=Legendary Creature @@ -15636,7 +15636,7 @@ toughness=2 [/card] [card] name=Constable of the Realm -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.2) && becomes(renown) forever])) +auto=_RENOWN_(2) auto=@counteradded(1/1) from(this):may name(Exile non-land permanent) target(*[-land]|battlefield) (blink)forsrc text=Renown 2 (When this creature deals combat damage to a player, if it isn't renowned, put two +1/+1 counters on it and it becomes renowned.) -- Whenever one or more +1/+1 counters are put on Constable of the Realm, exile up to one other target nonland permanent until Constable of the Realm leaves the battlefield. mana={4}{W} @@ -17267,8 +17267,8 @@ toughness=3 [card] name=Curate aicode=activate transforms((,newability[draw:1 controller],newability[deplete:1 controller])) ueot -auto=name(look) reveal:2 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<2>*|reveal) moveto(mylibrary) optiontwoend afterrevealed draw:1 controller afterrevealedend revealend -text=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. -- Draw a card. +auto=name(Surveil 2) reveal:2 optionone name(Put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed all(*[zpos<=2]|mylibrary)controller oneshot afterrevealedend revealend && draw:1 +text=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.) -- Draw a card. mana={1}{U} type=Instant [/card] @@ -18311,7 +18311,7 @@ type=Instant [/card] [card] name=Dawn Evangel -auto=@movedTo(graveyard) from(creature[geared]|myBattlefield):moveto(myhand) target(creature[manacost<3]|mygraveyard) +auto=@movedTo(graveyard) from(creature[enchanted]|myBattlefield):moveto(myhand) target(creature[manacost<3]|mygraveyard) text=Whenever a creature dies, if an Aura you controlled was attached to it, return target creature card with mana value 2 or less from your graveyard to your hand. mana={2}{W} type=Enchantment Creature @@ -20766,7 +20766,8 @@ type=Instant [/card] [card] name=Disaster Radius -auto=target(creature|myhand) transforms((,newability[damage:manacost all(creature|opponentbattlefield) ueot])) +restriction=type(creature|myhand)~morethan~0 +auto=target(creature|myhand) transforms((,newability[all(creature|opponentbattlefield) dynamicability])) forever text=As an additional cost to cast Disaster Radius, reveal a creature card from your hand. -- Disaster Radius deals X damage to each creature your opponents control, where X is the revealed card's mana value. mana={5}{R}{R} type=Sorcery @@ -21288,8 +21289,8 @@ toughness=3 [/card] [card] name=Doom Foretold -auto=@each my upkeep:ability$!if type(*[-land;-token]|myBattlefield)~morethan~0 then sacrifice(*[-land;-token]|myBattlefield) itnot reject life:-2 controller draw:1 life:2 token(Knight,Creature Knight,2/2,white,vigilance) sacrifice(Doom Foretold) !$ opponent -auto=@each my upkeep:ability$!if type(*[-land;-token]|myBattlefield)~morethan~0 then sacrifice(*[-land;-token]|myBattlefield) itnot reject life:-2 controller draw:1 life:2 token(Knight,Creature Knight,2/2,white,vigilance) sacrifice(Doom Foretold) !$ opponent +auto=@each my upkeep:ability$!if type(*[-land;-token]|myBattlefield)~morethan~0 then sacrifice(*[-land;-token]|myBattlefield) itnot reject life:-2 controller draw:1 life:2 _KNIGHTTOKEN_ sacrifice(Doom Foretold) !$ opponent +auto=@each my upkeep:ability$!if type(*[-land;-token]|myBattlefield)~morethan~0 then sacrifice(*[-land;-token]|myBattlefield) itnot reject life:-2 controller draw:1 life:2 _KNIGHTTOKEN_ sacrifice(Doom Foretold) !$ opponent text=At the beginning of each player's upkeep, that player sacrifices a nonland, nontoken permanent. If that player can't, they discard a card, they lose 2 life, you draw a card, you gain 2 life, you create a 2/2 white Knight creature token with vigilance, then you sacrifice Doom Foretold. mana={2}{W}{B} type=Enchantment @@ -22257,7 +22258,7 @@ toughness=6 [/card] [card] name=Dreadlight Monstrosity -auto=@targeted(this) from(*|opponentzones):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*|opponentzones) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot +auto=_WARD_(2) auto=this(variable{type:*:myexile}>0) {3}{U}{U}:name(Gains unblockable) transforms((,newability[unblockable])) ueot text=Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- {3}{U}{U}: Dreadlight Monstrosity can't be blocked this turn. Activate only if you own a card in exile. mana={4}{U}{U} @@ -25367,8 +25368,8 @@ toughness=2 [/card] [card] name=Etali, Primal Storm -auto=_ATTACKING_Reveal:1 revealzone(mylibrary) revealuntil(*|mylibrary) optionone choice name(Cast Card) target(*|reveal) moveto(mylibrary) and!(activate castcard(putinplay))! optiononeend optiontwo target(<1>*|reveal) bottomoflibrary and!(all(*|reveal) bottomoflibrary)! optiontwoend revealend -auto=_ATTACKING_Reveal:1 revealzone(opponentlibrary) revealuntil(*|opponentlibrary) optionone choice name(Cast Card) target(*|reveal) moveto(opponentlibrary) and!(activate castcard(putinplay))! optiononeend optiontwo target(<1>*|reveal) bottomoflibrary and!(all(*|reveal) bottomoflibrary)! optiontwoend revealend +auto=_ATTACKING_Reveal:1 revealzone(mylibrary) revealuntil(*|mylibrary) optionone choice name(Cast Card) target(*[-land]|reveal) moveto(myExile) and!(activate castcard(putinplay))! optiononeend optiontwo target(<1>*|reveal) moveto(myExile) optiontwoend revealend +auto=_ATTACKING_Reveal:1 revealzone(opponentlibrary) revealuntil(*|opponentlibrary) optionone choice name(Cast Card) target(*[-land]|reveal) moveto(opponentExile) and!(activate castcard(putinplay))! optiononeend optiontwo target(<1>*|reveal) moveto(opponentExile) optiontwoend revealend text=Whenever Etali, Primal Storm attacks, exile the top card of each player's library, then you may cast any number of spells from among those cards without paying their mana costs. mana={4}{R}{R} type=Legendary Creature @@ -25755,37 +25756,37 @@ type=Sorcery [/card] [card] name=Excavator -auto={T}{S(basic[island]|myBattlefield)}:target(creature) islandwalk ueot -auto={T}{S(basic[mountain]|myBattlefield)}:target(creature) mountainwalk ueot auto={T}{S(basic[plains]|myBattlefield)}:target(creature) plainswalk ueot -auto={T}{S(basic[forest]|myBattlefield)}:target(creature) forestwalk ueot +auto={T}{S(basic[island]|myBattlefield)}:target(creature) islandwalk ueot auto={T}{S(basic[swamp]|myBattlefield)}:target(creature) swampwalk ueot -auto={T}{S(land[basic,swamp,island]|myBattlefield)}:target(creature) swampwalk ueot && islandwalk ueot -auto={T}{S(land[basic,mountain,island]|myBattlefield)}:target(creature) mountainwalk ueot && islandwalk ueot -auto={T}{S(land[basic,plains,island]|myBattlefield)}:target(creature) plainswalk ueot && islandwalk ueot -auto={T}{S(land[basic,forest,island]|myBattlefield)}:target(creature) forestwalk ueot && islandwalk ueot -auto={T}{S(land[basic,mountain,swamp]|myBattlefield)}:target(creature) mountainwalk ueot && swampwalk ueot -auto={T}{S(land[basic,plains,swamp]|myBattlefield)}:target(creature) plainswalk ueot && swampwalk ueot -auto={T}{S(land[basic,forest,swamp]|myBattlefield)}:target(creature) forestwalk ueot && swampwalk ueot -auto={T}{S(land[basic,mountain,plains]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot -auto={T}{S(land[basic,plains,forest]|myBattlefield)}:target(creature) plainswalk ueot && forestwalk ueot -auto={T}{S(land[basic,forest,mountain]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot -auto={T}{S(land[basic,mountain,forest,island]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && islandwalk ueot -auto={T}{S(land[basic,mountain,forest,swamp]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && swampwalk ueot -auto={T}{S(land[basic,mountain,forest,plains]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && plainswalk ueot -auto={T}{S(land[basic,mountain,island,swamp]|myBattlefield)}:target(creature) mountainwalk ueot && swampwalk ueot && islandwalk ueot -auto={T}{S(land[basic,mountain,island,plains]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot && islandwalk ueot -auto={T}{S(land[basic,mountain,swamp,plains]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot && swampwalk ueot -auto={T}{S(land[basic,swamp,island,plains]|myBattlefield)}:target(creature) swampwalk ueot && plainswalk ueot && islandwalk ueot -auto={T}{S(land[basic,swamp,island,forest]|myBattlefield)}:target(creature) forestwalk ueot && swampwalk ueot && islandwalk ueot -auto={T}{S(land[basic,swamp,plains,forest]|myBattlefield)}:target(creature) forestwalk ueot && swampwalk ueot && plainswalk ueot -auto={T}{S(land[basic,plains,forest,island]|myBattlefield)}:target(creature) forestwalk ueot && islandwalk ueot && plainswalk ueot -auto={T}{S(land[basic,mountain,island,forest,plains]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && islandwalk ueot && plainswalk ueot -auto={T}{S(land[basic,mountain,island,forest,swamp]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && islandwalk ueot && swampwalk ueot -auto={T}{S(land[basic,mountain,island,swamp,plains]|myBattlefield)}:target(creature) mountainwalk ueot && swampwalk ueot && islandwalk ueot && plainswalk ueot -auto={T}{S(land[basic,mountain,plains,forest,swamp]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && plainswalk ueot && swampwalk ueot -auto={T}{S(land[basic,plains,island,forest,swamp]|myBattlefield)}:target(creature) plainswalk ueot && forestwalk ueot && islandwalk ueot && swampwalk ueot -auto={T}{S(land[basic,mountain,plains,island,forest,swamp]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot && forestwalk ueot && islandwalk ueot && swampwalk ueot +auto={T}{S(basic[mountain]|myBattlefield)}:target(creature) mountainwalk ueot +auto={T}{S(basic[forest]|myBattlefield)}:target(creature) forestwalk ueot +auto={T}{S(basic[swamp;island]|myBattlefield)}:target(creature) swampwalk ueot && islandwalk ueot +auto={T}{S(basic[mountain;island]|myBattlefield)}:target(creature) mountainwalk ueot && islandwalk ueot +auto={T}{S(basic[plains;island]|myBattlefield)}:target(creature) plainswalk ueot && islandwalk ueot +auto={T}{S(basic[forest;island]|myBattlefield)}:target(creature) forestwalk ueot && islandwalk ueot +auto={T}{S(basic[mountain;swamp]|myBattlefield)}:target(creature) mountainwalk ueot && swampwalk ueot +auto={T}{S(basic[plains;swamp]|myBattlefield)}:target(creature) plainswalk ueot && swampwalk ueot +auto={T}{S(basic[forest;swamp]|myBattlefield)}:target(creature) forestwalk ueot && swampwalk ueot +auto={T}{S(basic[mountain;plains]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot +auto={T}{S(basic[plains;forest]|myBattlefield)}:target(creature) plainswalk ueot && forestwalk ueot +auto={T}{S(basic[forest;mountain]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot +auto={T}{S(basic[mountain;forest;island]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && islandwalk ueot +auto={T}{S(basic[mountain;forest;swamp]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && swampwalk ueot +auto={T}{S(basic[mountain;forest;plains]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && plainswalk ueot +auto={T}{S(basic[mountain;island;swamp]|myBattlefield)}:target(creature) mountainwalk ueot && swampwalk ueot && islandwalk ueot +auto={T}{S(basic[mountain;island;plains]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot && islandwalk ueot +auto={T}{S(basic[mountain;swamp;plains]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot && swampwalk ueot +auto={T}{S(basic[swamp;island;plains]|myBattlefield)}:target(creature) swampwalk ueot && plainswalk ueot && islandwalk ueot +auto={T}{S(basic[swamp;island;forest]|myBattlefield)}:target(creature) forestwalk ueot && swampwalk ueot && islandwalk ueot +auto={T}{S(basic[swamp;plains;forest]|myBattlefield)}:target(creature) forestwalk ueot && swampwalk ueot && plainswalk ueot +auto={T}{S(basic[plains;forest;island]|myBattlefield)}:target(creature) forestwalk ueot && islandwalk ueot && plainswalk ueot +auto={T}{S(basic[mountain;island;forest;plains]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && islandwalk ueot && plainswalk ueot +auto={T}{S(basic[mountain;island;forest;swamp]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && islandwalk ueot && swampwalk ueot +auto={T}{S(basic[mountain;island;swamp;plains]|myBattlefield)}:target(creature) mountainwalk ueot && swampwalk ueot && islandwalk ueot && plainswalk ueot +auto={T}{S(basic[mountain;plains;forest;swamp]|myBattlefield)}:target(creature) mountainwalk ueot && forestwalk ueot && plainswalk ueot && swampwalk ueot +auto={T}{S(basic[plains;island;forest;swamp]|myBattlefield)}:target(creature) plainswalk ueot && forestwalk ueot && islandwalk ueot && swampwalk ueot +auto={T}{S(basic[mountain;plains;island;forest;swamp]|myBattlefield)}:target(creature) mountainwalk ueot && plainswalk ueot && forestwalk ueot && islandwalk ueot && swampwalk ueot text={T}, Sacrifice a basic land: Target creature gains landwalk of each of the land types of the sacrificed land until end of turn. mana={2} type=Artifact @@ -25980,14 +25981,6 @@ power=1 toughness=1 [/card] [card] -name=Experimental Augury -auto=name(look) reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend -auto=_PROLIFERATE_ -text=Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) -mana={1}{U} -type=Instant -[/card] -[card] name=Experimental Frenzy abilities=showfromtoplibrary,canplayfromlibrarytop auto=lord(*|myhand) altercost(colorless, 99) @@ -26924,7 +26917,7 @@ type=Instant [/card] [card] name=Farewell -auto=ability$!name(Exile all graveyards) may name(Exile all graveyards) moveto(exile) all(graveyard)!$ controller +auto=ability$!name(Exile all graveyards) may name(Exile all graveyards) moveto(exile) all(*|graveyard)!$ controller auto=ability$!name(Exile all enchantments) may name(Exile all enchantments) moveto(exile) all(enchantment)!$ controller auto=ability$!name(Exile all creatures) may name(Exile all creatures) moveto(exile) all(creature)!$ controller auto=ability$!name(Exile all artifacts) may name(Exile all artifacts) moveto(exile) all(artifact)!$ controller @@ -27565,8 +27558,8 @@ toughness=1 name=Ferocious Tigorilla auto=this(counter{0/0.1.Trample}>=1) trample auto=this(counter{0/0.1.Menace}>=1) menace -auto=choice name(Flying) counter(0/0,1,Trample) -auto=choice name(First Strike) counter(0/0,1,Menace) +auto=choice name(Trample) counter(0/0,1,Trample) +auto=choice name(Menace) counter(0/0,1,Menace) text=Ferocious Tigorilla enters the battlefield with your choice of a trample counter or a menace counter on it. (A creature with menace can't be blocked except by two or more creatures.) mana={3}{R} type=Creature @@ -32016,7 +32009,7 @@ subtype=Forest [card] name=Gingerbrute abilities=haste -auto={1}:cantbeblockedby(creature[-haste]) +auto={1}:transforms((,newability[cantbeblockedby(creature)])) ueot auto={2}{T}{S}:life:3 text=Haste -- {1}: Gingerbrute can't be blocked this turn except by creatures with haste. -- {2}, {T}, Sacrifice Gingerbrute: You gain 3 life. mana={1} @@ -34328,7 +34321,7 @@ toughness=3 [card] name=Gravitic Punch target=creature|myBattlefield -auto=target(player) dynamicability +auto=transforms((,newability[target(player) dynamicability])) forever flashback={3}{R}{D(*|myhand)} text=Target creature you control deals damage equal to its power to target player. -- Jump-start (You may cast this card from your graveyard by discarding a card in addition to paying its other costs. Then exile this card.) mana={3}{R} @@ -34347,7 +34340,7 @@ toughness=4 [card] name=Gray Harbor Merfolk abilities=unblockable -auto=auto=aslongas(*[iscommander]|mybattlefield) 2/0 >0 +auto=aslongas(*[iscommander]|mybattlefield) 2/0 >0 text=Gray Harbor Merfolk can't be blocked. -- Gray Harbor Merfolk gets +2/+0 as long as you control a commander that's a creature or planeswalker. mana={1}{U} type=Creature @@ -35802,7 +35795,8 @@ otherrestriction=can play equipment,compare(isflipped)~equalto~1 restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(Sword of the Realms) autostack=if paid(alternative) then flip(Sword of the Realms) forcetype(Legendary Artifact) -auto=this(variable{isflipped}<1) lord(creature[geared;enchanted]|myBattlefield) double strike +auto=this(variable{isflipped}<1) lord(creature[enchanted]|myBattlefield) double strike +auto=this(variable{isflipped}<1) lord(creature[geared]|myBattlefield) double strike auto=@each combatbegins restriction{compare(isflipped)~equalto~0,type(creature|mybattlefield)~morethan~1,type(creature[equipped]|mybattlefield)~morethan~0,type(creature[enchanted]|mybattlefield)~equalto~0}:may name(Re-attach target equipment) target(*[equipment]|mybattlefield) transforms((,newability[name(Attach to creature) name(Attach to creature) rehook target(creature|mybattlefield)])) oneshot auto=@each combatbegins restriction{compare(isflipped)~equalto~0,type(creature|mybattlefield)~morethan~1,type(creature[equipped]|mybattlefield)~equalto~0,type(creature[enchanted]|mybattlefield)~morethan~0}:may name(Re-attach target aura) target(*[aura]|mybattlefield) transforms((,newability[name(Attach to creature) name(Attach to creature) rehook target(creature|mybattlefield)])) oneshot auto=@each combatbegins restriction{compare(isflipped)~equalto~0,type(creature|mybattlefield)~morethan~1,type(creature[equipped]|mybattlefield)~morethan~0,type(creature[enchanted]|mybattlefield)~morethan~0}:may name(Re-attach target equipment or aura) target(*[aura;equipment]|mybattlefield) transforms((,newability[name(Attach to creature) name(Attach to creature) rehook target(creature|mybattlefield)])) oneshot @@ -35825,7 +35819,7 @@ toughness=3 [/card] [card] name=Hamlet Vanguard -auto=@targeted(this) from(*|opponentzones):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*|opponentzones) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot +auto=_WARD_(2) auto=foreach(other human[-token]|mybattlefield) counter(1/1) text=Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- Hamlet Vanguard enters the battlefield with two +1/+1 counters on it for each other nontoken Human you control. mana={2}{G} @@ -41030,7 +41024,7 @@ toughness=6 name=Into the Night auto=if type(*[day;night]|battlefield)~equalto~0 then if type(*[nonight]|battlefield)~equalto~0 then name(It becomes night) name(It becomes night) name(It becomes night) activate castcard(noevent named!:Night:!) auto=may name(Discard cards) target(*|myhand) reject and!( draw:1 controller )! -auto=draw:1 controller +auto=ability$!may draw:1!$ controller text=It becomes night. Discard any number of cards, then draw that many cards plus one. mana={3}{R} type=Sorcery @@ -42756,7 +42750,21 @@ toughness=2 [card] name=Kaho, Minamo Historian auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(*[instant]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myexile)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend -auto={X}{T}:target(instant[manacost=X]|myexile) activate castcard(normal) +auto={0}{T}:name(mana value 0) castcard(normal) target(instant[manacost=0]|myexile) +auto={1}{T}:name(mana value 1) castcard(normal) target(instant[manacost=1]|myexile) +auto={2}{T}:name(mana value 2) castcard(normal) target(instant[manacost=2]|myexile) +auto={3}{T}:name(mana value 3) castcard(normal) target(instant[manacost=3]|myexile) +auto={4}{T}:name(mana value 4) castcard(normal) target(instant[manacost=4]|myexile) +auto={5}{T}:name(mana value 5) castcard(normal) target(instant[manacost=5]|myexile) +auto={6}{T}:name(mana value 6) castcard(normal) target(instant[manacost=6]|myexile) +auto={7}{T}:name(mana value 7) castcard(normal) target(instant[manacost=7]|myexile) +auto={8}{T}:name(mana value 8) castcard(normal) target(instant[manacost=8]|myexile) +auto={9}{T}:name(mana value 9) castcard(normal) target(instant[manacost=9]|myexile) +auto={10}{T}:name(mana value 10) castcard(normal) target(instant[manacost=10]|myexile) +auto={11}{T}:name(mana value 11) castcard(normal) target(instant[manacost=11]|myexile) +auto={12}{T}:name(mana value 12) castcard(normal) target(instant[manacost=12]|myexile) +auto={13}{T}:name(mana value 13) castcard(normal) target(instant[manacost=13]|myexile) +auto={14}{T}:name(mana value 14) castcard(normal) target(instant[manacost=14]|myexile) text=When Kaho, Minamo Historian enters the battlefield, search your library for up to three instant cards and exile them. Then shuffle your library. -- {X}, {T}: You may cast a card with mana value X exiled with Kaho without paying its mana cost. mana={2}{U}{U} type=Legendary Creature @@ -43005,7 +43013,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}:name(Cast from your graveyard) target(creature|mygraveyard) transforms((,newability[canPlayFromGraveyard])) ueot limit:1 +auto=this(variable{controllerturn}>0) {0} turnlimited:name(Cast from your graveyard) target(creature|mygraveyard) transforms((,newability[canPlayFromGraveyard])) ueot limit:1 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 @@ -45350,7 +45358,7 @@ auto={16}{G}:name(Becomes a 16/16 hydra) becomes(Creature Hydra,16/16,green) ueo auto={17}{G}:name(Becomes a 17/17 hydra) becomes(Creature Hydra,17/17,green) ueot auto={18}{G}:name(Becomes a 18/18 hydra) becomes(Creature Hydra,18/18,green) ueot auto={19}{G}:name(Becomes a 19/19 hydra) becomes(Creature Hydra,19/19,green) ueot -auto={20}{G}:name(Becomes a 20/20 hydra) becomes(Creature Hydra,10/10,green) ueot +auto={20}{G}:name(Becomes a 20/20 hydra) becomes(Creature Hydra,20/20,green) ueot text=If you control two or more other lands, Lair of the Hydra enters the battlefield tapped. -- {T}: Add {G}. -- {X}{G}: Until end of turn, Lair of the Hydra becomes an X/X green Hydra creature. it's still a land. X can't be 0. type=Land [/card] @@ -46970,15 +46978,6 @@ type=Enchantment subtype=Aura [/card] [card] -name=Lithoform Engine -#auto={2}{T}:No copy for triggered abilities ATM... -auto={3}{T}:name(Copy target instant or sorcery) target(*[instant;sorcery]|myStack) castcard(copied noevent) -auto={4}{T}:name(Copy target permanent spell) target(*[-instant;-sorcery]|myStack) castcard(copied noevent) -text={2},{T}: Copy target activated or triggered ability you control. You may choose new targets for the copy. -- {3},{T}: Copy target instant or sorcery spell you control. You may choose new targets for the copy. -- {4},{T}: Copy target permanent spell you control. (the copy becomes a token.) -type=Legendary Artifact -mana={4} -[/card] -[card] name=Littjara Glade-Warden abilities=changeling auto={2}{G}{T}{E(creature|mygraveyard)}:name(Put two 1/1 counters) target(creature) counter(1/1,2) asSorcery @@ -47312,7 +47311,7 @@ type=Instant name=Lonesome Unicorn // Rider in Need abilities=vigilance,adventure other={2}{W} name(Adventure) -auto=if paid(alternative) then name(Create knight) name(Create knight) token(Knight,creature Knight,2/2,white,vigilance) +auto=if paid(alternative) then name(Create knight) name(Create knight) _KNIGHTTOKEN_ auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever text=Vigilance // Create a 2/2 white Knight creature token with vigilance. (Then exile this card. You may cast the creature later from exile.) mana={4}{W} @@ -48638,7 +48637,7 @@ toughness=4 [card] name=Majestic Heliopterus abilities=flying -auto=_ATTACKING_target(creature[dinosaur]|mybattlefield):flying ueot +auto=_ATTACKING_target(other creature[dinosaur]|mybattlefield):flying ueot text=Flying -- Whenever Majestic Heliopterus attacks, another target Dinosaur you control gains flying until end of turn. mana={3}{W} type=Creature @@ -50662,7 +50661,7 @@ toughness=3 [card] name=Militant Angel abilities=flying, lifelink -auto=if raid then token(Knight,creature Knight,2/2,white,vigilance) +auto=if raid then _KNIGHTTOKEN_ text=Flying, Lifelink -- When Militant Angel enters the battlefield, create a number of 2/2 white Knight creature tokens with vigilance equal to the number of opponents you attacked this turn. mana={3}{W}{W} type=Creature @@ -53275,9 +53274,9 @@ name=Necravolver abilities=hasotherkicker other={2}{B}{W} name(Kicker White) kicker={1}{G} name(Kicker Green or both) -auto=if paid(alternative) then transforms((,newability[counter(1/1)],newability[lifelink])) forever +auto=if paid(alternative) then transforms((,newability[counter(1/1)],newability[spiritlink])) forever auto=if paid(kicker) then transforms((,newability[counter(1/1.2)],newability[trample])) forever -auto=if paid(kicker) then pay({W}) name(Pay also kicker white) transforms((,newability[counter(1/1)],newability[lifelink])) forever +auto=if paid(kicker) then pay({W}) name(Pay also kicker white) transforms((,newability[counter(1/1)],newability[spiritlink])) forever text=Kicker {1}{G} and/or {W} (You may pay an additional {1}{G} and/or {W} as you cast this spell.) -- If Necravolver was kicked with its {1}{G} kicker, it enters the battlefield with two +1/+1 counters on it and with trample. -- If Necravolver was kicked with its {W} kicker, it enters the battlefield with a +1/+1 counter on it and with "Whenever Necravolver deals damage, you gain that much life." mana={2}{B} type=Creature @@ -53853,7 +53852,7 @@ name=Neverwinter Hydra abilities=trample auto=if compare(halfpaid)~morethan~0 then counter(1/1) auto=@dierolled(this) from(controller) once:counter(1/1,-1) -auto=@targeted(this) from(*|opponentstack):choice name(This spell costs 4 more) name(This spell costs 4 more) target(*|opponentstack) transforms((,newability[pay[[{4}]] name(pay 4 mana) donothing?fizzle])) oneshot +auto=_WARD_(4) auto=thisforeach(variable{halfpaid}>0) ability$!name(Roll a d6) name(Roll a d6) all(mysource) rolld6 6 winability counter(1/1.lastrollresult) winabilityend loseability counter(1/1.lastrollresult) loseabilityend rolld6end!$ controller text=As Neverwinter Hydra enters the battlefield, roll X d6. It enters with a number of +1/+1 counters on it equal to the total of those results. -- Trample -- Ward {4} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {4}.) mana={X}{X}{G}{G} @@ -55351,7 +55350,7 @@ name=Octavia, Living Thesis other={U}{U} otherrestriction=type(*[instant;sorcery]|mygraveyard)~morethan~7 restriction=type(*[instant;sorcery]|mygraveyard)~lessthan~8 -auto=@targeted(this) from(*|opponentstack):choice name(This spell costs 8 more) name(This spell costs 8 more) target(*|opponentstack) transforms((,newability[pay[[{8}]] name(pay 8 mana) donothing?fizzle])) oneshot +auto=_WARD_(8) auto=@movedto(*[instant;sorcery]|mystack):name(Choose creature) target(creature|battlefield) becomes(,8/8) ueot text=This spell costs {8} less to cast if you have eight or more instant and/or sorcery cards in your graveyard. -- Ward {8} -- Magecraft - Whenever you cast or copy an instant or sorcery spell, target creature has base power and toughness 8/8 until end of turn. mana={8}{U}{U} @@ -57701,7 +57700,7 @@ toughness=4 [/card] [card] name=Patchwork Automaton -auto=@targeted(this) from(*|opponentzones):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*|opponentzones) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot +auto=_WARD_(2) auto=@movedTo(artifact|mystack):counter(1/1) text=Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- Whenever you cast an artifact spell, put a +1/+1 counter on Patchwork Automaton. mana={2} @@ -58810,7 +58809,7 @@ type=Sorcery [card] name=Pirate Pur abilities=cantblock -auto=all(creature|mybattlefield) mustattack +auto=lord(creature|mybattlefield) mustattack type=Creature subtype=Pirate power=1 @@ -62132,7 +62131,7 @@ abilities=hasotherkicker other={2}{R}{U} name(Kicker Blue) kicker={1}{W} name(Kicker White or both) auto=if paid(alternative) then transforms((,newability[counter(1/1)],newability[flying])) forever -auto=if paid(kicker) then transforms((,newability[counter(1/1.2)],newability[lifelink])) forever +auto=if paid(kicker) then transforms((,newability[counter(1/1.2)],newability[spiritlink])) forever auto=if paid(kicker) then pay({U}) name(Pay also kicker blue) transforms((,newability[counter(1/1)],newability[flying])) forever text=Kicker {1}{W} and/or {U} (You may pay an additional {1}{W} and/or {U} as you cast this spell.) -- If Rakavolver was kicked with its {1}{W} kicker, it enters the battlefield with two +1/+1 counters on it and with "Whenever Rakavolver deals damage, you gain that much life." -- If Rakavolver was kicked with its {U} kicker, it enters the battlefield with a +1/+1 counter on it and with flying. mana={2}{R} @@ -63058,8 +63057,7 @@ subtype=Aura [card] name=Reality Shift target=creature -auto=moveto(exile) -auto=manifest all(*[zpos=1]|mylibrary) controller +auto=moveto(exile) && ability$! manifest all(*[zpos=1]|mylibrary) !$ targetController text=Exile target creature. Its controller manifests the top card of their library. (That player puts the top card of their library onto the battlefield face down as a 2/2 creature. If it's a creature card, it can be turned face up any time for its mana cost.) mana={1}{U} type=Instant @@ -63447,7 +63445,7 @@ type=Instant [/card] [card] name=Redcap Raiders -auto=_ATTACKING_may name(tap non-Human) tap target(creature[-human;-tapped]|myBattlefield) and!(1/1)! ueot +auto=_ATTACKING_may name(tap non-Human) tap target(creature[-human;-tapped]|myBattlefield) && all(this) 1/1 text=Whenever Redcap Raiders attacks, you may tap an untapped non-Human creature you control. If you do, Redcap Raiders gets +1/+1 and gains trample until end of turn. mana={2}{R} type=Creature @@ -64997,11 +64995,11 @@ toughness=1 [/card] [card] name=Righteous Confluence -auto=choice name(Choose 1, 1, 1) token(Knight,Creature Knight,2/2,white,vigilance)*3 -auto=choice name(Choose 1, 1, 2) token(Knight,Creature Knight,2/2,white,vigilance)*2 && target(enchantment|battlefield) moveto(exile) -auto=choice name(Choose 1, 1, 3) token(Knight,Creature Knight,2/2,white,vigilance)*2 && life:5 controller -auto=choice name(Choose 1, 2, 2) token(Knight,Creature Knight,2/2,white,vigilance) && target(<2>enchantment|battlefield) moveto(exile) -auto=choice name(Choose 1, 2, 3) token(Knight,Creature Knight,2/2,white,vigilance) && target(enchantment|battlefield) moveto(exile) && life:5 controller +auto=choice name(Choose 1, 1, 1) _KNIGHTTOKEN_*3 +auto=choice name(Choose 1, 1, 2) _KNIGHTTOKEN_*2 && target(enchantment|battlefield) moveto(exile) +auto=choice name(Choose 1, 1, 3) _KNIGHTTOKEN_*2 && life:5 controller +auto=choice name(Choose 1, 2, 2) _KNIGHTTOKEN_ && target(<2>enchantment|battlefield) moveto(exile) +auto=choice name(Choose 1, 2, 3) _KNIGHTTOKEN_ && target(enchantment|battlefield) moveto(exile) && life:5 controller auto=choice name(Choose 2, 2, 2) target(<3>enchantment|battlefield) moveto(exile) auto=choice name(Choose 2, 2, 3) target(<2>enchantment|battlefield) moveto(exile) && life:5 controller auto=choice name(Choose 2, 3, 3) target(enchantment|battlefield) moveto(exile) && life:10 controller @@ -66654,7 +66652,7 @@ type=Instant [/card] [card] name=Run Aground -target=creature +target=artifact,creature auto=moveto(ownerlibrary) text=Put target artifact or creature on top of its owner's library. mana={3}{U} @@ -69374,8 +69372,8 @@ aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=5] other={2}{U}[U} name(Entwine) auto=ifnot paid(alternative) then choice name(Look your library) reveal:5 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend auto=ifnot paid(alternative) then choice name(Look opponent library) reveal:5 revealzone(opponentlibrary) optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(opponentlibrary) optiontwoend revealend -auto=if paid(alternative) then name(Look your library) reveal:5 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend auto=if paid(alternative) then name(Look opponent library) reveal:5 revealzone(opponentlibrary) optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(opponentlibrary) optiontwoend revealend +auto=if paid(alternative) then name(Look your library) reveal:5 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend text=Choose one Look at the top five cards of target opponent's library, then put them back in any order; or look at the top five cards of your library, then put them back in any order. -- Entwine {U} (Choose both if you pay the entwine cost.) mana={2}{U} type=Instant @@ -70061,14 +70059,14 @@ toughness=4 [card] name=Serra's Emissary abilities=flying -auto=choice name(artifact) transforms((,newability[preventalldamage to(controller) from(artifact)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(artifact)]))])) forever -auto=choice name(creature) transforms((,newability[preventalldamage to(controller) from(creature)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(creature)]))])) forever -auto=choice name(enchantment) transforms((,newability[preventalldamage to(controller) from(enchantment)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(enchantment)]))])) forever -auto=choice name(instant) transforms((,newability[preventalldamage to(controller) from(instant)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(instant)]))])) forever -auto=choice name(land) transforms((,newability[preventalldamage to(controller) from(land)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(land)]))])) forever -auto=choice name(planeswalker) transforms((,newability[preventalldamage to(controller) from(planeswalker)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(planeswalker)]))])) forever -auto=choice name(sorcery) transforms((,newability[preventalldamage to(controller) from(sorcery)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(sorcery)]))])) forever -auto=choice name(tribal) transforms((,newability[preventalldamage to(controller) from(tribal)],newability[lord(creature|myBattlefield) transforms((,newability[protection from(tribal)]))])) forever +auto=choice name(artifact) transforms((,newability[preventalldamage to(controller) from(artifact)],newability[lord(creature|myBattlefield) protection from(artifact)])) forever +auto=choice name(creature) transforms((,newability[preventalldamage to(controller) from(creature)],newability[lord(creature|myBattlefield) protection from(creature)])) forever +auto=choice name(enchantment) transforms((,newability[preventalldamage to(controller) from(enchantment)],newability[lord(creature|myBattlefield) protection from(enchantment)])) forever +auto=choice name(instant) transforms((,newability[preventalldamage to(controller) from(instant)],newability[lord(creature|myBattlefield) protection from(instant)])) forever +auto=choice name(land) transforms((,newability[preventalldamage to(controller) from(land)],newability[lord(creature|myBattlefield) protection from(land)])) forever +auto=choice name(planeswalker) transforms((,newability[preventalldamage to(controller) from(planeswalker)],newability[lord(creature|myBattlefield) protection from(planeswalker)])) forever +auto=choice name(sorcery) transforms((,newability[preventalldamage to(controller) from(sorcery)],newability[lord(creature|myBattlefield) protection from(sorcery)])) forever +auto=choice name(tribal) transforms((,newability[preventalldamage to(controller) from(tribal)],newability[lord(creature|myBattlefield) protection from(tribal)])) forever text=Flying -- As Serra's Emissary enters the battlefield, choose a card type. -- You and creatures you control have protection from the chosen card type. mana={4}{W}{W}{W} type=Creature @@ -72198,7 +72196,7 @@ toughness=1 name=Silverwing Squadron abilities=flying,vigilance anyzone=type:creature:mybattlefield/type:creature:mybattlefield cdaactive -auto=_ATTACKING_token(Knight,creature Knight,2/2,white,vigilance) +auto=_ATTACKING__KNIGHTTOKEN_ text=Flying, vigilance -- Silverwing Squadron's power and toughness are each equal to the number of creatures you control. -- Whenever Silverwing Squadron attacks, create a number of 2/2 white Knight creature tokens with vigilance equal to the number of opponents you have. mana={5}{W} type=Creature @@ -74171,10 +74169,10 @@ type=Sorcery [/card] [card] name=Somberwald Beastmaster -auto=lord(creature|myBattlefield) deathtouch auto=token(Wolf,Creature Wolf,2/2,green,tnum.11) auto=token(Beast,Creature Beast,3/3,green,tnum.12) auto=token(Beast,Creature Beast,4/4,green,tnum.13) +auto=lord(creature[token]|mybattlefield) deathtouch text=When Somberwald Beastmaster enters the battlefield, create a 2/2 green Wolf creature token, a 3/3 green Beast creature token, and a 4/4 green Beast creature token. -- Creature tokens you control have deathtouch. mana={6}{G} type=Creature @@ -78071,13 +78069,6 @@ mana={G} type=Instant [/card] [card] -name=Suffer the Past -auto=thisforeach(X) may moveTo(myexile) target(*|opponentgraveyard) && life:1 controller && life:-1 opponent -text=Exile X target cards from target player's graveyard. For each card exiled this way, that player loses 1 life and you gain 1 life. -mana={X}{B} -type=Instant -[/card] -[card] name=Suffocating Blast target=*|stack auto=fizzle @@ -86625,7 +86616,7 @@ toughness=1 [card] name=Valiant Endeavor auto=name(Roll a d6) all(*[zpos=1]|mylibrary) transforms((,newability[@dierolled(*|mylibrary) from(controller) once:all(creature[power>=lastrollresult]|battlefield) destroy],newability[name(Roll a d6) rolld6 6 winability donothing winabilityend rolld6end])) oneshot -auto=name(Roll a d6) rolld6 6 winability token(Knight,Creature Knight,2/2,white,vigilance)*lastrollresult winabilityend loseability token(Knight,Creature Knight,2/2,white,vigilance)*lastrollresult loseabilityend rolld6end +auto=name(Roll a d6) rolld6 6 winability _KNIGHTTOKEN_*lastrollresult winabilityend loseability _KNIGHTTOKEN_*lastrollresult loseabilityend rolld6end text=Roll two d6 and choose on result. Destroy each creature with power greater than or equal to that result. Then create a number of 2/2 white Knight creature tokens with vigilance equal to the other result. mana={4}{W}{W} type=Sorcery @@ -90967,7 +90958,7 @@ toughness=3 name=Wings of Hubris auto={1}:equip auto=teach(creature) flying -auto={S} transforms((,newability[unblockable(mytgt),newability[@each my endofturn:sacrifice(mytgt)]])) +auto={S}:transforms((,newability[unblockable(mytgt),newability[@each my endofturn:sacrifice(mytgt)]])) text=Equipped creature has flying. -- Sacrifice Wings of Hubris: Equipped creature can't be blocked this turn. Sacrifice it at the beginning of the next end step. -- Equip 1 ( 1 : Attach to target creature you control. Equip only as a sorcery.) mana={2} type=Artifact @@ -92299,7 +92290,7 @@ type=Instant [card] name=You Meet in a Tavern aicode=activate target(creature[zpos<=5]|mylibrary) moveTo(myhand) and!( all(*[-creature;zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! -auto=choice name(Search library) reveal:5 optionone name(Get Creature) target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=choice name(Search library) reveal:5 optionone name(Get Creature) target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend auto=choice name(Creatures get +2/+2) all(creature|mybattlefield) transforms((,newability[2/2])) ueot text=Choose one -- Form a Party - Look at the top five cards of your library. You may reveal any number of creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order. -- Start a Brawl - Creatures you control get +2/+2 until end of turn. mana={2}{G}{G} diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 83e09d0d6..8af3c6aa0 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -690,7 +690,7 @@ toughness=3 [/card] [card] name=Acolyte of the Inferno -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) auto=@combat(blocked) source(this) from(creature):all(trigger[from]) damage:2 text=Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- Whenever Acolyte of the Inferno becomes blocked by a creature, it deals 2 damage to that creature. mana={2}{R} @@ -2255,7 +2255,7 @@ toughness=3 [card] name=Akroan Sergeant abilities=first strike -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=First strike (This creature deals combat damage before creatures without first strike.) -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) mana={2}{R} type=Creature @@ -4631,8 +4631,8 @@ toughness=3 name=Aquamorph Entity facedown={3} autofacedown={2}{U}:morph -auto=choice transforms((,setpower=5,settoughness=1)) forever -auto=choice transforms((,setpower=1,settoughness=5)) forever +auto=choice name(becomes 5/1) transforms((,setpower=5,settoughness=1)) forever +auto=choice name(becomes 1/5) transforms((,setpower=1,settoughness=5)) forever text=As Aquamorph Entity enters the battlefield or is turned face up, it becomes your choice of 5/1 or 1/5. -- Morph {2}{U} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) mana={2}{U}{U} type=Creature @@ -18581,17 +18581,17 @@ type=Artifact [card] name=Chalice of the Void auto=counter(0/0,xx,Charge) -auto=this(counter{0/0.1.Charge}<1) transforms((,newability[@movedTo(*[manacost==0]|stack):choice fizzle all(*[manacost==0]|stack)])) -auto=this(counter{0/0.1.Charge}) transforms((,newability[@movedTo(*[manacost==1]|stack):choice fizzle all(*[manacost==1]|stack)])) -auto=this(counter{0/0.2.Charge}) transforms((,newability[@movedTo(*[manacost==2]|stack):choice fizzle all(*[manacost==2]|stack)])) -auto=this(counter{0/0.3.Charge}) transforms((,newability[@movedTo(*[manacost==3]|stack):choice fizzle all(*[manacost==3]|stack)])) -auto=this(counter{0/0.4.Charge}) transforms((,newability[@movedTo(*[manacost==4]|stack):choice fizzle all(*[manacost==4]|stack)])) -auto=this(counter{0/0.5.Charge}) transforms((,newability[@movedTo(*[manacost==5]|stack):choice fizzle all(*[manacost==5]|stack)])) -auto=this(counter{0/0.6.Charge}) transforms((,newability[@movedTo(*[manacost==6]|stack):choice fizzle all(*[manacost==6]|stack)])) -auto=this(counter{0/0.7.Charge}) transforms((,newability[@movedTo(*[manacost==7]|stack):choice fizzle all(*[manacost==7]|stack)])) -auto=this(counter{0/0.8.Charge}) transforms((,newability[@movedTo(*[manacost==8]|stack):choice fizzle all(*[manacost==8]|stack)])) -auto=this(counter{0/0.9.Charge}) transforms((,newability[@movedTo(*[manacost==9]|stack):choice fizzle all(*[manacost==9]|stack)])) -auto=this(counter{0/0.10.Charge}) transforms((,newability[@movedTo(*[manacost==10]|stack):choice fizzle all(*[manacost==10]|stack)])) +auto=this(counter{0/0.1.Charge}<1) transforms((,newability[@movedTo(*[manacost=0]|stack):choice fizzle all(*[manacost==0]|stack)])) +auto=this(counter{0/0.1.Charge}) transforms((,newability[@movedTo(*[manacost=1]|stack):choice fizzle all(*[manacost==1]|stack)])) +auto=this(counter{0/0.2.Charge}) transforms((,newability[@movedTo(*[manacost=2]|stack):choice fizzle all(*[manacost==2]|stack)])) +auto=this(counter{0/0.3.Charge}) transforms((,newability[@movedTo(*[manacost=3]|stack):choice fizzle all(*[manacost==3]|stack)])) +auto=this(counter{0/0.4.Charge}) transforms((,newability[@movedTo(*[manacost=4]|stack):choice fizzle all(*[manacost==4]|stack)])) +auto=this(counter{0/0.5.Charge}) transforms((,newability[@movedTo(*[manacost=5]|stack):choice fizzle all(*[manacost==5]|stack)])) +auto=this(counter{0/0.6.Charge}) transforms((,newability[@movedTo(*[manacost=6]|stack):choice fizzle all(*[manacost==6]|stack)])) +auto=this(counter{0/0.7.Charge}) transforms((,newability[@movedTo(*[manacost=7]|stack):choice fizzle all(*[manacost==7]|stack)])) +auto=this(counter{0/0.8.Charge}) transforms((,newability[@movedTo(*[manacost=8]|stack):choice fizzle all(*[manacost==8]|stack)])) +auto=this(counter{0/0.9.Charge}) transforms((,newability[@movedTo(*[manacost=9]|stack):choice fizzle all(*[manacost==9]|stack)])) +auto=this(counter{0/0.10.Charge}) transforms((,newability[@movedTo(*[manacost=10]|stack):choice fizzle all(*[manacost==10]|stack)])) auto=this(counter{0/0.11.Charge}) transforms((,newability[@movedTo(*[manacost=11]|stack):choice fizzle all(*[manacost=11]|stack)])) auto=this(counter{0/0.12.Charge}) transforms((,newability[@movedTo(*[manacost=12]|stack):choice fizzle all(*[manacost=12]|stack)])) auto=this(counter{0/0.13.Charge}) transforms((,newability[@movedTo(*[manacost=13]|stack):choice fizzle all(*[manacost=13]|stack)])) @@ -20023,7 +20023,7 @@ type=Instant [card] name=Citadel Castellan abilities=vigilance -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.2) && becomes(renown) forever])) +auto=_RENOWN_(2) text=Vigilance (Attacking doesn't cause this creature to tap.) -- Renown 2 (When this creature deals combat damage to a player, if it isn't renowned, put two +1/+1 counters on it and it becomes renowned.) mana={1}{G}{W} type=Creature @@ -22069,7 +22069,7 @@ type=Artifact [card] name=Consul's Lieutenant abilities=first strike -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) auto=this(cantargetcard(*[renown]) transforms((,newability[_ATTACKING_all(other creature[attacking]|mybattlefield) 1/1 ueot])) text=First strike -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- Whenever Consul's Lieutenant attacks, if it's renowned, other attacking creatures you control get +1/+1 until end of turn. mana={W}{W} @@ -25791,6 +25791,7 @@ type=Enchantment name=Dark Maze abilities=defender auto={0}:canattack ueot && phaseaction[endofturn once] moveTo(exile) +auto={0}:name(do nothing) doNothing text=Defender (This creature can't attack.) -- {0}: Dark Maze can attack this turn as though it didn't have defender. Exile it at the beginning of the next end step. mana={4}{U} type=Creature @@ -28556,7 +28557,7 @@ name=Depala, Pilot Exemplar auto=lord(other dwarf|mybattlefield) 1/1 auto=lord(creature[vehicle]|mybattlefield) 1/1 aicode=activate target(*[zpos<=x]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-dwarf;-vehicle]|*) then bottomoflibrary))! -auto=@tapped(this):may pay({x}) name(Pay X) Reveal:x revealzone(mylibrary) optionone all(*[dwarf;vehicle]|reveal) moveto(ownerhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend +auto=@tapped(this):may pay({1}) name(Pay 1) Reveal:1 revealzone(mylibrary) optionone all(*[dwarf;vehicle]|reveal) moveto(ownerhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text=Other Dwarves you control get +1/+1. -- Each Vehicle you control gets +1/+1 as long as it's a creature. -- Whenever Depala, Pilot Exemplar becomes tapped, you may pay {X}. If you do, reveal the top X cards of your library, put all Dwarf and Vehicle cards from among them into your hand, then put the rest on the bottom of your library in a random order. -- mana={1}{R}{W} type=Legendary Creature @@ -40765,7 +40766,7 @@ toughness=2 [card] name=Firefiend Elemental abilities=haste -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=Haste (This creature can attack and {T} as soon as it comes under your control.) -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) mana={3}{R} type=Creature @@ -46333,7 +46334,7 @@ toughness=1 [/card] [card] name=Gideon's Phalanx -auto=if type(*[instant;sorcery]|mygraveyard)~lessthan~1 then token(Knight,Creature Knight,2/2,white,vigilance)*4 controller else token(Knight,Creature Knight,2/2,white,vigilance)*4 && all(creature|mybattlefield) indestructible ueot +auto=if type(*[instant;sorcery]|mygraveyard)~lessthan~1 then _KNIGHTTOKEN_*4 controller else _KNIGHTTOKEN_*4 && all(creature|mybattlefield) indestructible ueot text=Put four 2/2 white Knight creature tokens with vigilance onto the battlefield. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, creatures you control gain indestructible until end of turn. mana={5}{W}{W} type=Instant @@ -47456,16 +47457,6 @@ power=1 toughness=1 [/card] [card] -name=Goblin Bangchuckers -auto={T}:flipacoin winability damage:2 target(creature,player) winabilityend loseability damage:2 loseabilityend flipend -text={T}: Flip a coin. If you win the flip, Goblin Bangchuckers deals 2 damage to target creature or player. If you lose the flip, Goblin Bangchuckers deals 2 damage to itself. -mana={2}{R}{R} -type=Creature -subtype=Goblin Warrior -power=2 -toughness=2 -[/card] -[card] name=Goblin Battle Jester auto=@movedTo(*[red]|mystack):cantblock target(creature) text=Whenever you cast a red spell, target creature can't block this turn. @@ -47831,7 +47822,7 @@ toughness=1 [/card] [card] name=Goblin Glory Chaser -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) auto=this(cantargetcard(*[renown]) transforms((,newability[menace])) forever text=Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- As long as Goblin Glory Chaser is renowned, it has menace. (It can't be blocked except by two or more creatures.) mana={R} @@ -55308,7 +55299,7 @@ toughness=1 [/card] [card] name=Honored Hierarch -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) auto=this(cantargetcard(*[renown]) transforms((,newability[{t}:add{g}],newability[{t}:add{r}],newability[{t}:add{u}],newability[{t}:add{b}],newability[{t}:add{w}],newability[vigilance])) text=Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- As long as Honored Hierarch is renowned, it has vigilance and "{T}: Add one mana of any color to your mana pool." mana={G} @@ -63311,7 +63302,7 @@ toughness=1 [card] name=Kithkin Spellduster abilities=flying,persist -auto={1}{W}{S}:destroy target(other enchantment) +auto={1}{W}{S}:destroy target(enchantment) text=Flying -- {1}{W}, Sacrifice Kithkin Spellduster: Destroy target enchantment. -- Persist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) mana={4}{W} type=Creature @@ -63321,7 +63312,7 @@ toughness=3 [/card] [card] name=Kithkin Zealot -auto=life:type:*[black;red]:opponentbattlefield target(opponent) +auto=life:type:*[black;red]:opponentbattlefield controller target(opponent) text=When Kithkin Zealot enters the battlefield, you gain 1 life for each black and/or red permanent target opponent controls. mana={1}{W} type=Creature @@ -63331,7 +63322,7 @@ toughness=3 [/card] [card] name=Kithkin Zephyrnaut -auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(*[creature;share!types!]|reveal)~morethan~0 then +2/+2 ueot && flying ueot && vigilance ueot optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend +auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(*[creature;share!types!]|reveal)~morethan~0 then transforms((,newability[2/2],newability[flying],newability[vigilance])) ueot optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Kithkin Zephyrnaut, you may reveal it. If you do, Kithkin Zephyrnaut gets +2/+2 and gains flying and vigilance until end of turn. mana={2}{W} type=Creature @@ -63457,7 +63448,7 @@ toughness=4 [/card] [card] name=Kjeldoran Gargoyle -auto=flying,first strike,lifelink +auto=flying,first strike,spiritlink text=Flying, first strike -- Whenever Kjeldoran Gargoyle deals damage, you gain that much life. mana={5}{W} type=Creature @@ -63490,7 +63481,7 @@ toughness=2 name=Kjeldoran Outpost auto=if type(plains|mybattlefield)~morethan~0 then sacrifice notatarget(plains|mybattlefield) oneshot else sacrifice auto={T}:Add{W} -auto={1}{W}{T}:token(Soldier,creature soldier, 1/1,white) +auto={1}{W}{T}:_SOLDIERTOKEN_ text=If Kjeldoran Outpost would enter the battlefield, sacrifice a Plains instead. If you do, put Kjeldoran Outpost onto the battlefield. If you don't, put it into its owner's graveyard. -- {T}: Add {W} to your mana pool. -- {1}{W}, {T}: Put a 1/1 white Soldier creature token onto the battlefield. type=Land [/card] @@ -63658,7 +63649,7 @@ toughness=2 [/card] [card] name=Knight of the Pilgrim's Road -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) mana={2}{W} type=Creature @@ -63701,7 +63692,7 @@ toughness=2 [/card] [card] name=Knight Watch -auto=token(Knight,Creature Knight,2/2,white,vigilance)*2 +auto=_KNIGHTTOKEN_*2 text=Put two 2/2 white Knight creature tokens with vigilance onto the battlefield. mana={4}{W} type=Sorcery @@ -63738,7 +63729,7 @@ name=Knightly Valor target=creature auto=2/2 auto=vigilance -auto=token(Knight,Creature Knight,2/2,white,vigilance) +auto=_KNIGHTTOKEN_ text=Enchant creature -- When Knightly Valor enters the battlefield, put a 2/2 white Knight creature token with vigilance onto the battlefield. -- Enchanted creature gets +2/+2 and has vigilance. mana={4}{W} type=Enchantment @@ -64200,7 +64191,7 @@ toughness=3 [card] name=Kor Spiritdancer auto=thisforeach(auras > 0) 2/2 -auto=@movedTo(aura|mystack):draw:1 controller +auto=@movedTo(aura|mystack):may draw:1 controller text=Kor Spiritdancer gets +2/+2 for each Aura attached to it. -- Whenever you cast an Aura spell, you may draw a card. mana={1}{W} type=Creature @@ -65207,7 +65198,7 @@ toughness=2 [card] name=Kytheon's Irregulars auto={W}{W}:tap target(creature) -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- {W}{W}: Tap target creature. mana={2}{W}{W} type=Creature @@ -72901,7 +72892,7 @@ toughness=2 [/card] [card] name=Mercurial Pretender -auto=may copy NotATarget(creature) and!( transforms((,newability[{2}{U}{U}:moveto(ownerhand)])) forever )! +auto=may copy NotATarget(creature|myBattlefield) and!( transforms((,newability[{2}{U}{U}:moveto(ownerhand)])) forever )! text=You may have Mercurial Pretender enter the battlefield as a copy of any creature you control except it gains "{2}{U}{U}: Return this creature to its owner's hand." mana={4}{U} type=Creature @@ -75381,7 +75372,7 @@ toughness=4 [/card] [card] name=Mobilization -auto={2}{W}:token(Soldier,creature soldier, 1/1,white) +auto={2}{W}:_SOLDIERTOKEN_ auto=lord(soldier) vigilance text=Soldier creatures have vigilance. (Attacking doesn't cause them to tap.) -- {2}{W}: Put a 1/1 white Soldier creature token onto the battlefield. mana={2}{W} @@ -78527,7 +78518,7 @@ type=Sorcery [/card] [card] name=Nature's Will -auto=@each combatdamage restriction{opponentdamagedbycombat}:tap all(land|opponentBattlefield) && untap all(land|myBattlefield) +auto=@each combatdamage restriction{opponentdamagedbycombat,myturnonly}:tap all(land|opponentBattlefield) && untap all(land|myBattlefield) text=Whenever one or more creatures you control deal combat damage to a player, tap all lands that player controls and untap all lands you control. mana={2}{G}{G} type=Enchantment @@ -80304,9 +80295,8 @@ type=Sorcery [/card] [card] name=Nissa's Pilgrimage -aicode=activate transforms((,newability[if type(*[instant;sorcery]|mygraveyard)~lessthan~2 then moveTo(myBattlefield) and!(tap(noevent))! target(forest[basic]|myLibrary)],newability[if type(*[instant;sorcery]|mygraveyard)~morethan~1 then moveTo(myBattlefield) and!(tap(noevent))! target(forest[basic]|myLibrary)])) ueot -auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then name(search card) reveal:plibrarycount optionone name(choose card) target(forest[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend -auto=if type(*[instant;sorcery]|mygraveyard)~lessthan~2 then name(search card) reveal:plibrarycount optionone name(choose card) target(forest[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend +auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then name(fetch to play) notatarget(forest[basic]|mylibrary) transforms((,newability[name(move to hand) notatarget(forest[basic]|mylibrary) moveTo(myhand)],newability[moveTo(myBattlefield) and!(tap(noevent))!])) oneshot +auto=if type(*[instant;sorcery]|mygraveyard)~lessthan~2 then name(fetch to play) notatarget(forest[basic]|mylibrary) transforms((,newability[name(move to hand) notatarget(forest[basic]|mylibrary) moveTo(myhand)],newability[moveTo(myBattlefield) and!(tap(noevent))!])) oneshot text=Search your library for up to two basic Forest cards, reveal those cards, and put one onto the battlefield tapped and the rest into your hand. Then shuffle your library. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, search your library for up to three basic Forest cards instead of two. mana={2}{G} type=Sorcery @@ -83524,7 +83514,7 @@ toughness=4 [card] name=Outland Colossus abilities=oneblocker -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.6) && becomes(renown) forever])) +auto=_RENOWN_(6) text=Renown 6 (When this creature deals combat damage to a player, if it isn't renowned, put six +1/+1 counters on it and it becomes renowned.) -- Outland Colossus can't be blocked by more than one creature. mana={3}{G}{G} type=Creature @@ -86000,7 +85990,7 @@ type=Instant [card] name=Pharika's Disciple abilities=deathtouch -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=Deathtouch (Any amount of damage this deals to a creature is enough to destroy it.) -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) mana={3}{G} type=Creature @@ -91350,7 +91340,7 @@ type=Sorcery [/card] [card] name=Raise the Alarm -auto=token(Soldier,creature soldier, 1/1,white)*2 +auto=_SOLDIERTOKEN_*2 text=Put two 1/1 white Soldier creature tokens onto the battlefield. mana={1}{W} type=Instant @@ -92743,15 +92733,6 @@ mana={1}{U} type=Instant [/card] [card] -name=Reality Spasm -target=* -auto=choice tap -auto=choice untap -text=Choose one - Tap X target permanents; or untap X target permanents. -mana={X}{U}{U} -type=Instant -[/card] -[card] name=Realm Razer auto=(blink)forsrc all(land) text=When Realm Razer enters the battlefield, exile all lands. -- When Realm Razer leaves the battlefield, return the exiled cards to the battlefield tapped under their owners' control. @@ -93791,7 +93772,7 @@ subtype=Aura [/card] [card] name=Relic Seeker -auto=this(cantargetcard(*[-renown])) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) auto=this(cantargetcard(*[renown]) transforms((,newability[may moveto(myhand) notatarget(equipment|mylibrary)])) text=Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- When Relic Seeker becomes renowned, you may search your library for an Equipment card, reveal it, put it into your hand, then shuffle your library. mana={1}{W} @@ -95057,7 +95038,7 @@ toughness=3 [card] name=Rhox Maulers abilities=trample -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.2) && becomes(renown) forever])) +auto=_RENOWN_(2) text=Trample (This creature can deal excess combat damage to defending player or planeswalker while attacking.) -- Renown 2 (When this creature deals combat damage to a player, if it isn't renowned, put two +1/+1 counters on it and it becomes renowned.) mana={4}{G} type=Creature @@ -99620,7 +99601,7 @@ toughness=1 [card] name=Scab-Clan Berserker abilities=haste -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) auto=this(cantargetcard(*[renown]) transforms((,newability[@movedto(*[-creature]|opponentstack):damage:2 opponent])) text=Haste -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- Whenever an opponent casts a noncreature spell, if Scab-Clan Berserker is renowned, Scab-Clan Berserker deals 2 damage to that player. mana={1}{R}{R} @@ -101595,7 +101576,7 @@ type=Instant name=Security Blockade target=land auto=teach(land) transforms((,newability[{T}:prevent:1 controller])) -auto=token(Knight,Creature Knight,2/2,white,vigilance) +auto=_KNIGHTTOKEN_ text=Enchant land -- When Security Blockade enters the battlefield, put a 2/2 white Knight creature token with vigilance onto the battlefield. -- Enchanted land has "{T}: Prevent the next 1 damage that would be dealt to you this turn." mana={2}{W} type=Enchantment @@ -102072,7 +102053,7 @@ toughness=3 name=Selesnya Charm auto=choice name(2/2 & trample) target(creature) transforms((,newability[2/2],newability[trample])) ueot auto=choice moveTo(exile) target(creature[power>=5]) -auto=choice token(Knight,Creature Knight,2/2,white,vigilance) +auto=choice _KNIGHTTOKEN_ text=Choose one -- Target creature gets +2/+2 and gains trample until end of turn; or exile target creature with power 5 or greater; or put a 2/2 white Knight creature token with vigilance onto the battlefield. mana={G}{W} type=Instant @@ -112182,11 +112163,11 @@ toughness=2 [/card] [card] name=Springleaf Drum -auto={T}{T(creature|myBattlefield)}:Add{W} -auto={T}{T(creature|myBattlefield)}:Add{U} -auto={T}{T(creature|myBattlefield)}:Add{B} -auto={T}{T(creature|myBattlefield)}:Add{R} -auto={T}{T(creature|myBattlefield)}:Add{G} +auto={T}{T(other creature|myBattlefield)}:Add{W} +auto={T}{T(other creature|myBattlefield)}:Add{U} +auto={T}{T(other creature|myBattlefield)}:Add{B} +auto={T}{T(other creature|myBattlefield)}:Add{R} +auto={T}{T(other creature|myBattlefield)}:Add{G} text={T}, Tap an untapped creature you control: Add one mana of any color to your mana pool. mana={1} type=Artifact @@ -112673,7 +112654,7 @@ toughness=3 [card] name=Stalwart Aven abilities=flying -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=Flying (This creature can't be blocked except by creatures with flying or reach.) -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) mana={2}{W} type=Creature @@ -115878,7 +115859,7 @@ toughness=2 [/card] [card] name=Sunspire Gatekeepers -auto=if type(land[Gate]|mybattlefield)~morethan~1 then token(Knight,Creature Knight,2/2,white,vigilance) +auto=if type(land[Gate]|mybattlefield)~morethan~1 then _KNIGHTTOKEN_ text=When Sunspire Gatekeepers enters the battlefield, if you control two or more Gates, put a 2/2 Knight creature token with vigilance onto the battlefield. mana={3}{W} type=Creature @@ -121035,16 +121016,6 @@ power=2 toughness=2 [/card] [card] -name=Thromok the Insatiable -auto=may target(other creature|mybattlefield) sacrifice && counter(1/1,storedanyamount) all(this) -text=Devour X, where X is the numer of creatures devoured this way. (As this enters the battlefield, you may sacrifice any number of creatures. This creature enters the battlefield with X +1/+1 counters on it for each of those creatures.) -mana={3}{R}{G} -type=Legendary Creature -subtype=Hellion -power=0 -toughness=0 -[/card] -[card] name=Throne of Bone auto=@movedto(*[black]|stack):pay({1}) life:1 text=Whenever a player casts a black spell, you may pay {1}. If you do, you gain 1 life. @@ -122452,7 +122423,7 @@ toughness=2 [card] name=Topan Freeblade abilities=vigilance -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=Vigilance (Attacking doesn't cause this creature to tap.) -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) mana={1}{W} type=Creature @@ -125804,7 +125775,7 @@ toughness=1 [/card] [card] name=Undercity Troll -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) auto={2}{G}:regenerate text=Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) -- {2}{G}: Regenerate Undercity Troll. (The next time this creature would be destroyed this turn, it isn't. Instead tap it, remove all damage from it, and remove it from combat.) mana={1}{G} @@ -128394,7 +128365,8 @@ toughness=4 [/card] [card] name=Vesuva -auto=may copy notatarget(land) and!( tap(noevent) )! +auto=tap(noevent) +auto=may copy notatarget(land) text=You may have Vesuva enter the battlefield tapped as a copy of any land on the battlefield. type=Land [/card] @@ -131880,7 +131852,7 @@ toughness=3 [card] name=War Oracle abilities=lifelink -auto=this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) && becomes(renown) forever])) +auto=_RENOWN_(1) text=Lifelink (Damage dealt by this creature also causes you to gain that much life.) -- Renown 1 (When this creature deals combat damage to a player, if it isn't renowned, put a +1/+1 counter on it and it becomes renowned.) mana={2}{W}{W} type=Creature