diff --git a/projects/mtg/bin/Res/sets/primitives/XLN.txt b/projects/mtg/bin/Res/sets/primitives/XLN.txt index dff5cde91..ad0d4af62 100644 --- a/projects/mtg/bin/Res/sets/primitives/XLN.txt +++ b/projects/mtg/bin/Res/sets/primitives/XLN.txt @@ -1,5 +1,5 @@ grade=borderline -##cant code: Ixalan's Binding, Kopala, Warden of Waves, Dire Fleet Ravager, Lurking Chupacabra, Rowdy Crew, Trove of Temptation, Emergent Growth, Spike-Tailed Ceratops, Wildgrowth Walker, Belligerent Brontodon, Gishath, Sun's Avatar, Pillar of Origins, Shadowed Caravel, Sorcerous Spyglass, Unclaimed Territory, Huatli, Warrior Poet +##cant code: Ixalan's Binding, Kopala, Warden of Waves, Dire Fleet Ravager, Rowdy Crew, Trove of Temptation, Emergent Growth, Spike-Tailed Ceratops, Belligerent Brontodon, Gishath, Sun's Avatar, Pillar of Origins, Shadowed Caravel, Sorcerous Spyglass, Unclaimed Territory, Huatli, Warrior Poet ##experimental code: Tocatli Honor Guard, Ruin Raider, Sword-Point Diplomacy, Captivating Crew, Rampaging Ferocidon, Sunbird's Invocation, Admiral Beckett Brass @@ -91,7 +91,7 @@ toughness=1 [card] name=Emissary of Sunrise abilities=first strike -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=First strike -- When Emissary of Sunrise enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={2}{W} type=Creature @@ -415,7 +415,7 @@ toughness=3 [card] name=Sunrise Seeker abilities=vigilance -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=Vigilance -- When Sunrise Seeker enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={4}{W} type=Creature @@ -759,7 +759,7 @@ toughness=3 [card] name=Siren Lookout abilities=flying -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=Flying -- When Siren Lookout enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={2}{U} type=Creature @@ -981,7 +981,7 @@ toughness=2 [card] name=Deadeye Tracker -auto={1}{B}{T}:moveto(exile) target(<2>*|opponentgraveyard) && flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto={1}{B}{T}:moveto(exile) target(<2>*|opponentgraveyard) && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text={1}{B}, {T}: Exile two target cards from an opponent's graveyard. Deadeye Tracker explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={B} type=Creature @@ -1027,7 +1027,7 @@ toughness=1 [card] name=Dire Fleet Interloper abilities=menace -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=Menace -- When Dire Fleet Interloper enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={3}{B} type=Creature @@ -1104,15 +1104,27 @@ power=1 toughness=2 [/card] -#[card] -#name=Lurking Chupacabra -#text=Whenever a creature you control explores, target creature an opponent controls gets -2/-2 until end of turn. -#mana={3}{B} -#type=Creature -#subtype=Beast Horror -#power=2 -#toughness=3 -#[/card] +[card] +name=Lurking Chupacabra +auto=@movedTo(creature[Brazen Buccaneers]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Sunrise Seeker]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Emissary of Sunrise]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Siren Lookout]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Fleet Interloper]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Queen's Agent]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Seekers' Squire]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Ixalli's Diviner]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Merfolk Branchwalker]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Tishana's Wayfinder]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@movedTo(creature[Seekers' Squire]|mybattlefield):target(creature|opponentBattlefield) -2/-2 ueot +auto=@combatdamaged(player) from(creature[Emperor's Vanguard]):target(creature|opponentBattlefield) -2/-2 ueot +text=Whenever a creature you control explores, target creature an opponent controls gets -2/-2 until end of turn. +mana={3}{B} +type=Creature +subtype=Beast Horror +power=2 +toughness=3 +[/card] [card] name=March of the Drowned @@ -1126,7 +1138,7 @@ type=Sorcery [card] name=Queen's Agent abilities=lifelink -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=Lifelink -- When Queen's Agent enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={5}{B} type=Creature @@ -1197,7 +1209,7 @@ toughness=4 [card] name=Seekers' Squire -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=When Seekers' Squire enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={1}{B} type=Creature @@ -1336,7 +1348,7 @@ toughness=5 [card] name=Brazen Buccaneers abilities=haste -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=Haste -- When Brazen Buccaneers enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={3}{R} type=Creature @@ -1853,7 +1865,7 @@ toughness=1 [card] name=Emperor's Vanguard -auto=@combatdamaged(player) from(this):flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=@combatdamaged(player) from(this):reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend text=Whenever Emperor's Vanguard deals combat damage to a player, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={3}{G} type=Creature @@ -1892,7 +1904,7 @@ type=Legendary Land [card] name=Ixalli's Diviner -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=When Ixalli's Diviner enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={1}{G} type=Creature @@ -1949,7 +1961,7 @@ toughness=1 [card] name=Merfolk Branchwalker -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=When Merfolk Branchwalker enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={1}{G} type=Creature @@ -2092,7 +2104,7 @@ toughness=5 [card] name=Tishana's Wayfinder -auto=flipacoin winability moverandom(land) from(mylibrary) to(myhand) winabilityend loseability counter(1/1,1) loseabilityend flipend +auto=reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)],newability[may target(<1>*|reveal) moveto(myGraveyard)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then target(<1>*|reveal) moveto(myHand) else target(<1>*|reveal) moveto(myLibrary) optiontwoend revealend limit:1 text=When Tishana's Wayfinder enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.) mana={2}{G} type=Creature @@ -2148,6 +2160,18 @@ toughness=3 [card] name=Wildgrowth Walker +auto=@movedTo(creature[Brazen Buccaneers]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Sunrise Seeker]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Emissary of Sunrise]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Siren Lookout]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Fleet Interloper]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Queen's Agent]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Seekers' Squire]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Ixalli's Diviner]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Merfolk Branchwalker]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Tishana's Wayfinder]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@movedTo(creature[Seekers' Squire]|mybattlefield):counter(1/1,1) && life:3 controller +auto=@combatdamaged(player) from(creature[Emperor's Vanguard]):counter(1/1,1) && life:3 controller text=Whenever a creature you control explores, put a +1/+1 counter on Wildgrowth Walker and you gain 3 life. mana={1}{G} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 01c8fba96..132c6fe0b 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -147,9 +147,12 @@ type=Sorcery [/card] [card] name=Borrowed Hostility -auto=may name(Target creature gets +3/+0) target(creature) 3/0 ueot -auto=may name(Target creature gets first strike) target(creature) first strike ueot -auto=name(Escalate) emblem transforms((,newability[({3}:name(Target creature gets +3/+0) target(creature) 3/0 ueot],newability[{3}:name(Target creature gets first strike) target(creature) first strike ueot],newability[{3}:name(Target creature gets +3/+0 and...) target(creature) 3/0 && first strike ueot])) ueot +target=creature +other={3}{R} name(Escalate) +auto=if paid(alternative) then 3/0 ueot +auto=if paid(alternative) then target(creature) first strike ueot +auto=ifnot paid(alternative) then choice name(Target creature gets +3/+0) 3/0 ueot +auto=ifnot paid(alternative) then choice name(Target creature gets first strike) first strike ueot text=Escalate {3} (Pay this cost for each mode chosen beyond the first.) -- Choose one or both — -- • Target creature gets +3/+0 until end of turn. -- • Target creature gains first strike until end of turn. mana={R} type=Instant @@ -193,14 +196,18 @@ type=Sorcery [/card] [card] name=Collective Brutality +target=opponent +other={1}{B}{D(*|myhand)} name(Escalate) aicode=activate reject notatarget(*[instant;sorcery]|targetedpersonshand) -auto=choice name(Target opponent reveals and discard...) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) notatarget(<1>*[instant;sorcery]|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend -auto=choice name(Target creature gets -2/-2...) target (creature) -2/-2 ueot -auto=choice name(Target opponent loses 2 and you gain...) life:-2 opponent && life:2 controller -auto=name(Escalate) emblem transforms((,newability[({D(*|myhand)}:name(Target opponent reveals and discard...) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) notatarget(<1>*[instant;sorcery]|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend],newability[{D(*|myhand)}:name(Target creature gets -2/-2...) target (creature) -2/-2 ueot],newability[{D(*|myhand)}:name(Target opponent loses 2 and you gain...) life:-2 opponent && life:2 controller])) ueot -text=Escalate {1}{W} (Pay this cost for each mode chosen beyond the first.) -- Choose one or both — -- • Creatures you control get +2/+0 until end of turn. • Creatures you control get +0/+2 until end of turn. -mana={2}{W} -type=Instant +auto=if paid(alternative) then reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) notatarget(<1>*[instant;sorcery]|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend +auto=if paid(alternative) then target(creature) -2/-2 ueot +auto=if paid(alternative) then life:-2 opponent && life:2 controller +auto=ifnot paid(alternative) then choice name(Target opponent reveals and discard...) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) notatarget(<1>*[instant;sorcery]|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend +auto=ifnot paid(alternative) then choice name(Target creature gets -2/-2...) target(creature) -2/-2 ueot +auto=ifnot paid(alternative) then choice name(Target opponent loses 2 and you gain...) life:-2 opponent && life:2 controller +text=Escalate Discard a card. (Pay this cost for each mode chosen beyond the first.) Choose one or more — -- • Target opponent reveals their hand. You choose an instant or sorcery card from it. That player discards that card. -- • Target creature gets -2/-2 until end of turn. -- • Target opponent loses 2 life and you gain 2 life. +mana={1}{B} +type=Sorcery [/card] [card] name=Turn Aside @@ -281,10 +288,10 @@ type=Instant [/card [card] name=Borrowed Grace -auto=choice name(Creatures my control get +2/+0) all(creature|myBattlefield) 2/0 ueot -auto=choice name(Creatures my control get +0/+2) all(creature|myBattlefield) 0/2 ueot -auto=choice name(Creatures my control get +2/+2) all(creature|myBattlefield) 2/2 ueot -auto=name(Escalate) emblem transforms((,newability[({1}{W}:name(Creatures my control get +2/+0) all(creature|myBattlefield) 2/0 ueot],newability[{1}{W}:name(Creatures my control get +0/+2) all(creature|myBattlefield) 0/2 ueot],newability[{1}{W}:name(Creatures my control get +2/+2) all(creature|myBattlefield) 2/2 ueot])) ueot +other={3}{W}{W} name(Escalate) +auto=if paid(alternative) then all(creature|myBattlefield) 2/2 ueot ueot +auto=ifnot paid(alternative) then choice name(Creatures my control get +2/+0) all(creature|myBattlefield) 2/0 ueot +auto=ifnot paid(alternative) then choice name(Creatures my control get +0/+2) all(creature|myBattlefield) 0/2 ueot text=Escalate {1}{W} (Pay this cost for each mode chosen beyond the first.) -- Choose one or both — • Creatures you control get +2/+0 until end of turn. • Creatures you control get +0/+2 until end of turn. mana={2}{W} type=Instant