diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 00d8c5bc5..db52d14aa 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1211,8 +1211,8 @@ type=Sorcery [card] name=Agrus Kos, Spirit of Justice abilities=double strike,vigilance -auto=may target(creature) _SUSPECT_IT_ && if cantargetcard(suspect) then moveto(exile) -auto=_ATTACKING_may target(creature) _SUSPECT_IT_ && if cantargetcard(suspect) then moveto(exile) +auto=may target(creature) if cantargetcard(suspect) then moveto(exile) else _SUSPECT_IT_ +auto=_ATTACKING_may target(creature) if cantargetcard(suspect) then moveto(exile) else _SUSPECT_IT_ text=Double strike, vigilance -- Whenever Agrus Kos, Spirit of Justice enters or attacks, choose up to one target creature. If it's suspected, exile it. Otherwise, suspect it. (A suspected creature has menace and can't block.) mana={2}{R}{W} type=Legendary Creature @@ -1838,7 +1838,7 @@ toughness=1 [/card] [card] name=Alloy Animist -auto={2}{G}:target(artifact[-creature]|myBattlefield) transforms((Artifact Creature,setpower=4,settoughness=4)) ueot +auto=aslongas(artifact[-creature]|myBattlefield) {2}{G}:target(artifact[-creature]|myBattlefield) transforms((Artifact Creature,setpower=4,settoughness=4)) ueot text={2}{G}: Until end of turn, target noncreature artifact you control becomes a 4/4 artifact creature. mana={G} type=Creature @@ -7154,8 +7154,7 @@ toughness=2 [/card] [card] name=Bane, Lord of Darkness -auto=this(controllerlife <= 10) indestructible -auto=aslongas(*[iscommander]|*) this(controllerlife <= 20) indestructible +auto=this(variable{phalfinitlife}) indestructible auto=@movedTo(other creature[-token;toughness=0]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=0]|myhand) moveto(mybattlefield)]))oneshot !$ opponent auto=@movedTo(other creature[-token;toughness=1]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=1]|myhand) moveto(mybattlefield)]))oneshot !$ opponent auto=@movedTo(other creature[-token;toughness=2]|graveyard) from(myBattlefield):name(Draw or play) ability$!choice name(Opponent draws 1 card) draw:1 opponent _ choice name(Opponent plays a creature) all(*[zpos=1]|opponenthand) transforms((,newability[name(Put creature in play) target(creature[toughness<=2]|myhand) moveto(mybattlefield)]))oneshot !$ opponent @@ -9036,8 +9035,7 @@ toughness=2 [/card] [card] name=Bhaal, Lord of Murder -auto=this(controllerlife <= 10) indestructible -auto=aslongas(*[iscommander]|*) this(controllerlife <= 20) indestructible +auto=this(variable{phalfinitlife}) indestructible auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):name(Put 1/1 counter and goad) target(creature|battlefield) transforms((,newability[counter(1/1)],newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[phaseaction[end next once sourceinplay] removeallcounters(0/0.-1.Goaded)])) forever text=As long as your life total is less than or equal to half your starting life total, Bhaal, Lord of Murder has indestructible. -- Whenever another nontoken creature you control dies, put a +1/+1 counter on target creature and goad it. mana={2}{B}{R}{G} @@ -36835,7 +36833,7 @@ name=Fighter Class auto=counter(0/0,1,Level) auto=name(Search equipment) target(artifact[equipment]|mylibrary) moveto(hand) and!( shuffle )! auto=this(variable{hascntlevel}=1) {1}{R}{W}:name(Level 2) counter(0/0,1,Level) asSorcery -auto=this(variable{hascntlevel}>=2) lord(artifact[equipment]|myBattlefield) transforms((,newability[{0}:name(Add 2 mana for equip) add{C}{C}])) +auto=this(variable{hascntlevel}>=2) lord(artifact[equipment]|myBattlefield) transforms((,newability[{0} turnLimited:name(Add 2 mana for equip) add{C}{C}])) auto=this(variable{hascntlevel}=2) {3}{R}{W}:name(Level 3) counter(0/0,1,Level) asSorcery auto=@combat(attacking) source(creature|mybattlefield) restriction{compare(hascntlevel)~morethan~2}:may name(Creature has to block) target(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot text=(Gain the next level as a sorcery to add its ability.) -- When Fighter Class enters, search your library for an Equipment card, reveal it, put it into your hand, then shuffle. -- {1}{R}{W}: Level 2 -- Equip abilities you activate cost {2} less to activate. -- {3}{R}{W}: Level 3 -- Whenever a creature you control attacks, up to one target creature blocks it this combat if able. @@ -37771,7 +37769,7 @@ toughness=2 [card] name=Flamerush Rider other={2}{R}{R} name(Dash) -auto=if paid(alternative) then transforms((,haste,newability[@next end:moveto(hand)]))ueot +auto=if paid(alternative) then transforms((,haste,newability[@next end:all(this) moveTo(hand)]))ueot auto=_ATTACKING_target(other creature[attacking]) clone with(unearth,battleready) text=Whenever Flamerush Rider attacks, create a token that's a copy of another target attacking creature and that's tapped and attacking. Exile the token at end of combat. -- Dash {2}{R}{R} (You may cast this spell for its dash cost. If you do, it gains haste, and it's returned from the battlefield to its owner's hand at the beginning of the next end step.) mana={4}{R} @@ -45377,7 +45375,7 @@ toughness=4 [/card] [card] name=Greasefang, Okiba Boss -auto=@each my combatbegins:name(Return a vehicle) target(vehicle|mygraveyard) moveto(mybattlefield) and!( transforms((,haste,newability[@next end:moveTo(hand)])) ueot )! +auto=@each my combatbegins:name(Return a vehicle) target(vehicle|mygraveyard) moveto(mybattlefield) and!( transforms((,haste,newability[@next end:all(this) moveTo(hand)])) ueot )! text=At the beginning of combat on your turn, return target Vehicle card from your graveyard to the battlefield. It gains haste. Return it to its owner's hand at the beginning of your next end step. mana={1}{W}{B} type=Legendary Creature @@ -51500,9 +51498,9 @@ toughness=0 [/card] [card] name=Hydroid Krasis -abilities=flying, trample -autostack=if casted(this) then draw:3 -autostack=if casted(this) then life:3 +abilities=flying,trample +auto=draw:XX +auto=life:XX auto=counter(1/1,X) text=When you cast this spell, you gain half X life and draw half X cards. Round down each time. -- Flying, trample -- Hydroid Krasis enters with X +1/+1 counters on it. mana={X}{G}{U} @@ -51970,7 +51968,7 @@ toughness=7 [card] name=Ilharg, the Raze-Boar abilities=trample -auto=_ATTACKING_target(creature|myhand) transforms((,newability[@next end:moveTo(hand)],newability[readytofight])) forever +auto=_ATTACKING_target(creature|myhand) transforms((,newability[@next end:all(this) moveTo(hand)],newability[readytofight])) forever auto=_DIES_may name(Move back to hand) target(Ilharg^ the Raze-Boar[fresh]|graveyard) placefromthetop(3) auto=@movedto(this|exile) from(myBattlefield):may name(Move back to hand) target(Ilharg^ the Raze-Boar[fresh]|exile) placefromthetop(3) text=Trample -- Whenever Ilharg, the Raze-Boar attacks, you may put a creature card from your hand onto the battlefield tapped and attacking. Return that creature to your hand at the beginning of the next end step. -- When Ilharg, the Raze-Boar dies or is put into exile from the battlefield, you may put it into its owner's library third from the top. @@ -65065,7 +65063,7 @@ toughness=4 [card] name=Mangara, the Diplomat abilities=lifelink -auto=@each opponent attackers restriction{type(creature[attacking])~morethan~1}:draw:1 controller +auto=@each opponent blockers restriction{type(creature[attacking])~morethan~1}:draw:1 controller auto=@movedto(*|opponentStack) restriction{thisturn(*|opponentStack)~equalto~1}:draw:1 controller text=Lifelink -- Whenever an opponent attacks with creatures, if two or more of those creatures are attacking you and/or planeswalkers you control, draw a card. -- Whenever an opponent casts their second spell each turn, draw a card. mana={3}{W} @@ -70500,8 +70498,7 @@ toughness=3 [/card] [card] name=Myrkul, Lord of Bones -auto=this(controllerlife <= 10) indestructible -auto=aslongas(*[iscommander]|*) this(controllerlife <= 20) indestructible +auto=this(variable{phalfinitlife}) indestructible auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):may name(Exile and copy) all(trigger[to]) moveto(myexile) and!( clone and!( transforms((removetypes,newability[becomes(enchantment)])) )! )! text=As long as your life total is less than or equal to half your starting life total, Myrkul, Lord of Bones has indestructible. -- Whenever another nontoken creature you control dies, you may exile it. If you do, create a token that's a copy of that card, except it's an enchantment and loses all other card types. mana={4}{W}{B}{G} @@ -74906,7 +74903,7 @@ toughness=4 name=Omo, Queen of Vesuva auto=ability$! may target(creature) counter(0/0.1.everything) !$ controller && ability$! may target(land) counter(0/0.1.everything) !$ controller auto=_ATTACKING_ability$! may target(creature) counter(0/0.1.everything) !$ controller && ability$! may target(land) counter(0/0.1.everything) !$ controller -auto=lord(land[counter{0/0.1.everything}]) transforms((Cave Desert Forest Gate Island Lair Locus Mine Mountain Plains Power-Plant Sphere Swamp Tower Urza's)) +auto=lord(land[counter{0/0.1.everything}]) becomes(Cave Desert Forest Gate Island Lair Locus Mine Mountain Plains Power-Plant Sphere Swamp Tower Urza's) auto=lord(creature[-land;counter{0/0.1.everything}]) transforms((allsubtypes)) text=Whenever Omo, Queen of Vesuva enters or attacks, put an everything counter on each of up to one target land and up to one target creature. -- Each land with an everything counter on it is every land type in addition to its other types. -- Each nonland creature with an everything counter on it is every creature type. mana={2}{GU} @@ -82829,7 +82826,7 @@ toughness=1 [card] name=Ragavan, Nimble Pilferer other={1}{R} name(Dash) -auto=if paid(alternative) then transforms((,haste,newability[@next end:moveto(hand)])) forever +auto=if paid(alternative) then transforms((,haste,newability[@next end:all(this) moveTo(hand)])) forever auto=@combatdamaged(player) from(this):_TREASURE_ auto=@combatdamagefoeof(player) from(this):name(Exile top card) name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[canplayfromexile],newability[phaseaction[end once checkex] moveTo(ownerexile)])) ueot )! auto=@combatdamageof(player) from(this):name(Exile top card) name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[this(cantargetcard(*[-land]|*)) canplayfromexile])) ueot )! @@ -110999,7 +110996,7 @@ type=Sorcery [card] name=Titania's Song auto=lord(artifact[-creature]) transforms((creature,noactivatedability,newability[manacost/manacost])) -auto=_DIES_all(artifact[-creature]|myBattlefield) transforms((creature,noactivatedability,newability[manacost/manacost])) ueot +autograveyard=_DIES_all(artifact[-creature]|myBattlefield) transforms((creature,noactivatedability,newability[manacost/manacost])) ueot text=Each noncreature artifact loses all abilities and becomes an artifact creature with power and toughness each equal to its mana value. If Titania's Song leaves the battlefield, this effect continues until end of turn. mana={3}{G} type=Enchantment @@ -116183,7 +116180,7 @@ toughness=1 [/card] [card] name=Vedalken Humiliator -auto=aslongas(artifact|mybattlefield) _ATTACKING_all(creature|opponentBattlefield) transforms((,newability[loseabilities],setpower=1,settoughness=1)) >2 +auto=@combat(attacking) source(this) restriction{type(artifact|mybattlefield)~morethan~2}:all(creature|opponentBattlefield) transforms((,newability[loseabilities],setpower=1,settoughness=1)) text=Metalcraft - Whenever Vedalken Humiliator attacks, if you control three or more artifacts, creatures your opponents control lose all abilities and have base power and toughness 1/1 until end of turn. mana={3}{U} type=Creature @@ -121188,7 +121185,7 @@ toughness=* [/card] [card] name=Winota, Joiner of Forces -auto=@combat(attacking) source(creature[-human]|myBattlefield):Reveal:6 revealzone(mylibrary) optionone name(Get Creature) target(human|reveal) transforms((,newability[moveto(mybattlefield)],newability[battleready],indestructible)) ueot optiononeend optiontwo choice name(Shuffle) all(*|reveal) bottomoflibrary && shuffle controller optiontwoend revealend +auto=@combat(attacking) source(creature[-human]|myBattlefield):Reveal:6 revealzone(mylibrary) optionone name(Get Creature) target(human|reveal) transforms((,newability[readytofight],indestructible)) ueot optiononeend optiontwo choice name(Shuffle) all(*|reveal) bottomoflibrary && shuffle controller optiontwoend revealend text=Whenever a non-Human creature you control attacks, look at the top six cards of your library. You may put a Human creature card from among them onto the battlefield tapped and attacking. It gains indestructible until end of turn. Put the rest of the cards on the bottom of your library in a random order. mana={2}{R}{W} type=Legendary Creature @@ -123051,8 +123048,8 @@ toughness=4 [card] name=Zara, Renegade Recruiter abilities=flying -aicode=activate target(creature|opponenthand) moveto(mybattlefield) and!( transforms((,newability[readytofight],newability[@next end:moveto(hand)])) forever )! -auto=_ATTACKING_reveal:type:*:opponenthand revealzone(opponenthand) optionone name(Reveal) target(creature|reveal) moveto(mybattlefield) and!( transforms((,newability[readytofight],newability[@next end:moveto(hand)])) forever )! optiononeend optiontwo all(*|reveal) moveto(opponenthand) optiontwoend revealend +aicode=activate target(creature|opponenthand) moveto(mybattlefield) and!( transforms((,newability[readytofight],newability[@next end:all(this) moveTo(hand)])) forever )! +auto=_ATTACKING_reveal:type:*:opponenthand revealzone(opponenthand) optionone name(Reveal) target(creature|reveal) moveto(mybattlefield) and!( transforms((,newability[readytofight],newability[@next end:all(this) moveTo(hand)])) forever )! optiononeend optiontwo all(*|reveal) moveto(opponenthand) optiontwoend revealend text=Flying -- Whenever Zara, Renegade Recruiter attacks, look at defending player's hand. You may put a creature card from it onto the battlefield under your control tapped and attacking that player or a planeswalker they control. Return that creature to its owner's hand at the beginning of the next end step. mana={3}{U}{R} type=Legendary Creature @@ -123495,8 +123492,8 @@ toughness=6 name=Zoraline, Cosmos Caller abilities=flying,vigilance auto=@combat(attacking) source(Bat|myBattlefield):life:1 -auto=pay({W}{B}) target(*[-land;-instant;-sorcery;manacost<=3]|mygraveyard) moveTo(battlefield) and!( transforms((,newability[life:-2],newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])) forever )! -auto=_ATTACKING_pay({W}{B}) target(*[-land;-instant;-sorcery;manacost<=3]|mygraveyard) moveTo(battlefield) and!( transforms((,newability[life:-2],newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])) forever )! +auto=if type(*[-land;-instant;-sorcery;manacost<=3]|mygraveyard)~morethan~0 then pay({W}{B}) target(*[-land;-instant;-sorcery;manacost<=3]|mygraveyard) moveTo(battlefield) and!( transforms((,newability[life:-2],newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])) forever )! +auto=_ATTACKING_pay({W}{B}) target(*[-land;-instant;-sorcery;manacost<=3]|mygraveyard) moveTo(battlefield) and!( transforms((,newability[life:-2],newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])) forever )! restriction{type(*[-land;-instant;-sorcery;manacost<=3]|mygraveyard)~morethan~0} text=Flying, vigilance -- Whenever a Bat you control attacks, you gain 1 life. -- Whenever Zoraline enters or attacks, you may pay {W}{B} and 2 life. When you do, return target nonland permanent card with mana value 3 or less from your graveyard to the battlefield with a finality counter on it. mana={1}{W}{B} type=Legendary Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 2654ffd9f..5d3b21ac9 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -1449,7 +1449,7 @@ toughness=5 [/card] [card] name=Aethermage's Touch -auto=reveal:4 optionone name(Get Creature) target(creature|reveal) transforms((,newability[moveto(mybattlefield)],newability[@next my end:moveto(hand)])) forever optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +auto=reveal:4 optionone name(Get Creature) target(creature|reveal) transforms((,newability[moveto(mybattlefield)],newability[@next my end:all(this) moveto(hand)])) forever optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Reveal the top four cards of your library. You may put a creature card from among them onto the battlefield. It has "At the beginning of your end step, return this creature to its owner's hand." Then put the rest of the cards revealed this way on the bottom of your library in any order. mana={2}{W}{U} type=Instant @@ -31134,7 +31134,7 @@ subtype=Aura [/card] [card] name=Dragon Mask -auto={3}{T}:target(creature|mybattlefield) transforms((,newability[2/2],newability[@next end:moveTo(hand)])) ueot +auto={3}{T}:target(creature|mybattlefield) transforms((,newability[2/2],newability[@next end:all(this) moveTo(hand)])) ueot text={3}, {T}: Target creature you control gets +2/+2 until end of turn. Return it to its owner's hand at the beginning of the next end step. (Return it only if it's on the battlefield.) mana={3} type=Artifact @@ -91371,7 +91371,7 @@ type=Enchantment [/card] [card] name=Rakalite -auto={2}:prevent:1 target(anytarget) && all(this) transforms((,newability[@next end:moveTo(hand)])) +auto={2}:prevent:1 target(anytarget) && all(this) transforms((,newability[@next end:all(this) moveTo(hand)])) text={2}: Prevent the next 1 damage that would be dealt to any target this turn. Return Rakalite to its owner's hand at the beginning of the next end step. mana={6} type=Artifact diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 7c45db90c..d3f2d84c4 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -2263,11 +2263,11 @@ subtype=Nahiri [card] name=Nahiri, the Harbinger auto=counter(0/0,4,loyalty) -aicode=activate target(*[artifact;creature]|myLibrary) moveto(myBattlefield) and!( transforms((,haste,newability[@next end:moveTo(hand)])) ueot )! +aicode=activate target(*[artifact;creature]|myLibrary) moveto(myBattlefield) and!( transforms((,haste,newability[@next end:all(this) moveTo(hand)])) ueot )! auto={C(0/0,2,Loyalty)}:name(+2: Don't discard any card) donothing auto={C(0/0,2,Loyalty)}:name(+2: Discard and draw a card) target(*|myHand) reject and!( draw:1 controller )! auto={C(0/0,-2,Loyalty)}:name(-2: Exile target enchantment, tapped Artifact or Creature) ability$!name(Choose one) choice name(Exile target enchantment) moveTo(exile) target(enchantment) _ choice name(Exile target tapped creature) moveTo(exile) target(creature[tapped]) _ choice name(Exile target tapped artifact) moveTo(exile) target(artifact[tapped])!$ controller -auto={C(0/0,-8,Loyalty)}:name(-8: Search a creature or artifact) reveal:plibrarycount optionone name(choose a creature or artifact) target(*[artifact;creature]|reveal) moveTo(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(*|reveal) moveTo(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!( shuffle )! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(myBattlefield) and!( transforms((,haste,newability[@next end:moveTo(hand)])) ueot )! afterrevealedend revealend +auto={C(0/0,-8,Loyalty)}:name(-8: Search a creature or artifact) reveal:plibrarycount optionone name(choose a creature or artifact) target(*[artifact;creature]|reveal) moveTo(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(*|reveal) moveTo(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!( shuffle )! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(myBattlefield) and!( transforms((,haste,newability[@next end:all(this) moveTo(hand)])) ueot )! afterrevealedend revealend text=+2: You may discard a card. If you do, draw a card. -- -2: Exile target enchantment, tapped artifact, or tapped creature. -- -8: Search your library for an artifact or creature card, put it onto the battlefield, then shuffle. It gains haste. Return it to your hand at the beginning of the next end step. mana={2}{R}{W} type=Legendary Planeswalker