Fixed some primitives from issue #1085, fixed _BLINK_UEOT_ macro, improved several abilities to allow the usage og "and" option.

This commit is contained in:
Vittorio Alfieri
2023-07-27 18:18:49 +02:00
parent 29262b4c78
commit 332f0542f7
7 changed files with 547 additions and 289 deletions

View File

@@ -203,7 +203,7 @@
#AUTO_DEFINE _RENOWN_($c) this(cantargetcard(*[-renown]) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.$c) && becomes(renown) forever]))
# Exile card. Return it to the battlefield under its owner's control at the beginning of the next end step.
#AUTO_DEFINE _BLINK_UEOT_ name(Blink ueot) all(this) transforms((,newability[moveto(exile)],newability[if cantargetcard(*[-token]|*) then phaseactionmulti[endofturn once] moveto(ownerbattlefield)]))
#AUTO_DEFINE _BLINK_UEOT_ moveto(exile) and!( transforms((,newability[phaseaction[endofturn once checkex] moveto(ownerbattlefield)])) forever )!
# Connives. (Draw a card, then discard a card. If you discarded a nonland card, put a +1/+1 counter on this creature.)
#AUTO_DEFINE _CONNIVES_ draw:1 && transforms((,newability[if type(*[-land]|myhand)~morethan~0 then choice name(Discard a nonland) name(Discard a nonland) target(*[-land]|myhand) reject && counter(1/1) all(this)],newability[if type(land|myhand)~morethan~0 then choice name(Discard a land) name(Discard a land) target(land|myhand) reject])) oneshot

View File

@@ -1,7 +1,7 @@
grade=borderline
#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 programmatically - Thanks to Vitty85 26-07-2023
#I sorted this programmatically - Thanks to Vitty85 27-07-2023
[card]
name=+2 Mace
auto={3}:equip
@@ -47294,27 +47294,27 @@ toughness=3
[card]
name=Imbraham, Dean of Theory
abilities=flying
auto={1}{U}{U}{T}:name(X=1) all(*[zpos<=1]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={2}{U}{U}{T}:name(X=2) all(*[zpos<=2]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={3}{U}{U}{T}:name(X=3) all(*[zpos<=3]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={4}{U}{U}{T}:name(X=4) all(*[zpos<=4]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={5}{U}{U}{T}:name(X=5) all(*[zpos<=5]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={6}{U}{U}{T}:name(X=6) all(*[zpos<=6]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={7}{U}{U}{T}:name(X=7) all(*[zpos<=7]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={8}{U}{U}{T}:name(X=8) all(*[zpos<=8]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={9}{U}{U}{T}:name(X=9) all(*[zpos<=9]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={10}{U}{U}{T}:name(X=10) all(*[zpos<=10]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={11}{U}{U}{T}:name(X=1) all(*[zpos<=11]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={12}{U}{U}{T}:name(X=2) all(*[zpos<=12]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={13}{U}{U}{T}:name(X=3) all(*[zpos<=13]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={14}{U}{U}{T}:name(X=4) all(*[zpos<=14]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={15}{U}{U}{T}:name(X=5) all(*[zpos<=15]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={16}{U}{U}{T}:name(X=6) all(*[zpos<=16]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={17}{U}{U}{T}:name(X=7) all(*[zpos<=17]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={18}{U}{U}{T}:name(X=8) all(*[zpos<=18]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={19}{U}{U}{T}:name(X=9) all(*[zpos<=19]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={20}{U}{U}{T}:name(X=10) all(*[zpos<=20]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[phaseaction[endofturn once checkex] counter(0/0.-1.study)])) oneshot )!
auto={0}:name(Put exiled card in hand) target(*[counter{0/0.1.study}]|myexile) moveto(myhand) limit:1
auto={U}{U}{T}:name(X=0) ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller
auto={1}{U}{U}{T}:name(X=1) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={2}{U}{U}{T}:name(X=2) all(*[zpos=2]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=2]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={3}{U}{U}{T}:name(X=3) all(*[zpos=3]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=3]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={4}{U}{U}{T}:name(X=4) all(*[zpos=4]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=4]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={5}{U}{U}{T}:name(X=5) all(*[zpos=5]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=5]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={6}{U}{U}{T}:name(X=6) all(*[zpos=6]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=6]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={7}{U}{U}{T}:name(X=7) all(*[zpos=7]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=7]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={8}{U}{U}{T}:name(X=8) all(*[zpos=8]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=8]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={9}{U}{U}{T}:name(X=9) all(*[zpos=9]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=9]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={10}{U}{U}{T}:name(X=10) all(*[zpos=10]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=10]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={11}{U}{U}{T}:name(X=11) all(*[zpos=11]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=11]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={12}{U}{U}{T}:name(X=12) all(*[zpos=12]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=12]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={13}{U}{U}{T}:name(X=13) all(*[zpos=13]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=13]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={14}{U}{U}{T}:name(X=14) all(*[zpos=14]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=14]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={15}{U}{U}{T}:name(X=15) all(*[zpos=15]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=15]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={16}{U}{U}{T}:name(X=16) all(*[zpos=16]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=16]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={17}{U}{U}{T}:name(X=17) all(*[zpos=17]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=17]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={18}{U}{U}{T}:name(X=18) all(*[zpos=18]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=18]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={19}{U}{U}{T}:name(X=19) all(*[zpos=19]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=19]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
auto={20}{U}{U}{T}:name(X=20) all(*[zpos=20]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.study)],newability[all(*[zpos<=20]|mylibrary) moveto(myexile) and!( counter(0/0.1.study) )!],newability[ability$!may name(Put exiled card in hand) name(Put exiled card in hand) target(<upto:1>*[counter{0/0.1.study}]|myexile) moveto(myhand)!$ controller])) oneshot )!
text=Flying -- {X}{U}{U}, {T}: Exile the top X cards of your library and put a study counter on each of them. Then you may put a card you own in exile with a study counter on it into your hand. // {2}{G} Kianne, Dean of Substance
mana={2}{U}{U}
type=Legendary Creature
@@ -52387,16 +52387,15 @@ subtype=Aura
[card]
name=Kaya's Guile
other={4}{W}{B} name(Entwine)
auto=ifnot paid(alternative) then choice name(Choose 1 and 2):ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent && moveto(exile) all(creature|opponentbattlefield)
auto=ifnot paid(alternative) then choice name(Choose 1 and 3):ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent && _AFTERLIFETOKEN_
auto=ifnot paid(alternative) then choice name(Choose 1 and 4):ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent && life:4 controller
auto=ifnot paid(alternative) then choice name(Choose 2 and 3):moveto(exile) all(creature|opponentbattlefield) && _AFTERLIFETOKEN_
auto=ifnot paid(alternative) then choice name(Choose 2 and 4):moveto(exile) all(creature|opponentbattlefield) && life:4 controller
auto=ifnot paid(alternative) then choice name(Choose 3 and 4):_AFTERLIFETOKEN_ && life:4 controller
auto=if paid(alternative) then ability$!name(sacrifice) notatarget(*[creature]|myBattlefield) sacrifice!$ opponent
auto=if paid(alternative) then moveto(exile) all(creature|opponentbattlefield)
auto=if paid(alternative) then _AFTERLIFETOKEN_
auto=if paid(alternative) then life:4 controller
auto=ifnot paid(alternative) then if type(creature|opponentbattlefield)~morethan~0 then choice name(Sacrifice creature and exile cards) name(Sacrifice creature and exile cards) name(Sacrifice creature and exile cards) ability$!name(Sacrifice a creature) notatarget(creature|myBattlefield) sacrifice and!( moveto(exile) all(*|mygraveyard) )!!$ opponent &&
auto=ifnot paid(alternative) then if type(creature|opponentbattlefield)~equalto~0 then choice name(Sacrifice creature and exile cards) name(Sacrifice creature and exile cards) name(Sacrifice creature and exile cards) moveto(exile) all(*|opponentgraveyard)
auto=ifnot paid(alternative) then choice name(Sacrifice creature and create spirit) name(Sacrifice creature and create spirit) token(Spirit,Creature Spirit,1/1,white,black,flying) && ability$!name(Sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent
auto=ifnot paid(alternative) then choice name(Sacrifice creature and gain life) name(Sacrifice creature and gain life) life:4 controller && ability$!name(Sacrifice a creature) notatarget(creature|myBattlefield) sacrifice!$ opponent
auto=ifnot paid(alternative) then choice name(Create spirit and exile cards) name(Create spirit and exile cards) token(Spirit,Creature Spirit,1/1,white,black,flying) and!( moveto(exile) all(*|opponentgraveyard) )!
auto=ifnot paid(alternative) then choice name(Gain life and exile cards) name(Gain life and exile cards) life:4 controller && moveto(exile) all(creature|opponentgraveyard)
auto=ifnot paid(alternative) then choice name(Create spirit and gain life) name(Create spirit and gain life) token(Spirit,Creature Spirit,1/1,white,black,flying) and!( life:4 controller )!
auto=if paid(alternative) then name(Sacrifice creature and exile cards) name(Sacrifice creature and exile cards) ability$!name(Sacrifice a creature) notatarget(creature|myBattlefield) sacrifice and!( moveto(exile) all(*|mygraveyard) )!!$ opponent
auto=if paid(alternative) then name(Create spirit and gain life) name(Create spirit and gain life) token(Spirit,Creature Spirit,1/1,white,black,flying) and!( life:4 controller )!
text=Choose two -- Each opponent sacrifices a creature. -- Exile all cards from each opponent's graveyard. -- Create a 1/1 white and black Spirit creature token with flying. -- You gain 4 life. -- Entwine 3 (Choose all if you pay the entwine cost.)
mana={1}{W}{B}
type=Instant
@@ -52414,8 +52413,8 @@ type=Instant
[/card]
[card]
name=Kaya's Wrath
auto=destroy all(creature)
auto=@movedto(graveyard) from(creature|myBattlefield):life:1
auto=all(creature|opponentbattlefield) destroy
auto=all(creature|mybattlefield) destroy and!( life:1 controller )!
text=Destroy all creatures. You gain life equal to the number of creatures you controlled that were destroyed this way.
mana={W}{W}{B}{B}
type=Sorcery
@@ -52445,7 +52444,7 @@ type=Legendary Artifact
[/card]
[card]
name=Kayla's Reconstruction
aicode=activate transforms((,newability[if type(creature[manacost<=3&zpos<=7]|mylibrary)~equalto~0 then if type(artifact[manacost<=3&zpos<=7]|mylibrary)~equalto~0 then all(*[zpos<=7]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!],newability[if type(creature[manacost<=3&zpos<=7]|mylibrary)~morethan~0 then target(<upto:fullpaid>creature[manacost<=3&zpos<=7]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[all(*[zpos<=7]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!],newability[if type(artifact[manacost<=3&zpos<=7]|mylibrary)~morethan~0 then target(<upto:fullpaid>artifact[manacost<=3&zpos<=7]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[all(*[zpos<=7]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot )! ])) oneshot
aicode=activate transforms((,newability[if type(creature[manacost<=3&zpos<=7]|mylibrary)~equalto~0 then if type(artifact[manacost<=3&zpos<=7]|mylibrary)~equalto~0 then all(*[zpos<=7]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!],newability[if type(creature[manacost<=3&zpos<=7]|mylibrary)~morethan~0 then target(<upto:fullpaid>creature[manacost<=3&zpos<=7]|mylibrary) moveto(mybattlefield) and!( all(*[zpos<=7]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!]auto=,newability[if type(creature[manacost<=3&zpos<=7]|mylibrary)~equalto~0 then if type(artifact[manacost<=3&zpos<=7]|mylibrary)~morethan~0 then target(<upto:fullpaid>artifact[manacost<=3&zpos<=7]|mylibrary) moveto(mybattlefield) and!( all(*[zpos<=7]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot
auto=name(Look top 7 cards) reveal:7 optionone name(Choose artifacts or creatures) target(<upto:fullpaid>*[manacost<=3]|reveal) moveto(mylibrary) and!( if cantargetcard(*[artifact;creature]|*) then becomes(tobecast) ueot )! optiononeend optiontwo name(Put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mybattlefield) afterrevealedend revealend
text=Look at the top seven cards of your library. Put up to X artifact and/or creature cards with mana value 3 or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.
mana={X}{W}{W}{W}
@@ -53147,8 +53146,8 @@ otherrestriction=can play creature,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Imbraham, Dean of Theory)
autostack=if paid(alternative) then name(Imbraham, Dean of Theory) name(Imbraham, Dean of Theory) flip(Imbraham, Dean of Theory) forcetype(Legendary Creature)
auto=this(variable{isflipped}<1) {T}:all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[this(cantargetcard(*[land]|*) moveto(myhand)],newability[this(cantargetcard(*[-land]|*) counter(0/0.1.study)])) oneshot )!
auto=this(variable{isflipped}<1) {4}{G}:token(Fractal,Creature Fractal,0/0,green,blue) and!( transforms((,newability[if type(*[-land;red;counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land;black;counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land;green;counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land;white;counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land;blue;counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)])) oneshot )!
auto=this(variable{isflipped}<1) {T}:name(Exile top card) name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[if cantargetcard(*[land]|*) then moveto(myhand)],newability[if cantargetcard(*[-land]|*) then counter(0/0.1.Study)])) oneshot )!
auto=this(variable{isflipped}<1) {4}{G}:name(Create fractal) name(Create fractal) token(Fractal,Creature Fractal,0/0,green,blue) and!( transforms((,newability[if type(*[-land&manacost=0&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=1&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=2&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=3&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=4&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=5&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=6&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=7&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=8&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=9&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=10&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=11&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=12&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=13&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=14&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=15&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=16&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=17&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=18&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost=19&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)],newability[if type(*[-land&manacost>=20&counter{0/0.1.study}]|myexile)~morethan~0 then counter(1/1)])) oneshot )!
text={T}: Exile the top card of your library. If it's a land card, put it into your hand. Otherwise, put a study counter on it. -- {4}{G}: Create a 0/0 green and blue Fractal creature token. Put a +1/+1 counter on it for each different mana value among nonland cards you own in exile with study counters on them. // {2}{U}{U} name(Imbraham, Dean of Theory)
mana={2}{G}
type=Legendary Creature
@@ -53463,8 +53462,7 @@ toughness=5
[card]
name=Kira, Great Glass-Spinner
abilities=flying
auto=lord(other creature|mybattlefield) transforms((,newability[@targeted(this) turnlimited:name(Counter spell) all(trigger[from]) fizzle]))
auto=@targeted(this) turnlimited:name(Counter spell) target(*|stack) fizzle
auto=lord(creature|mybattlefield) transforms((,newability[@targeted(this) turnlimited:name(Counter first spell) name(Counter first spell) target(*|stack) fizzle]))
text=Flying -- Creatures you control have "Whenever this creature becomes the target of a spell or ability for the first time in a turn, counter that spell or ability."
mana={1}{U}{U}
type=Legendary Creature
@@ -65633,7 +65631,7 @@ toughness=3
name=Nezahal, Primal Tide
abilities=nofizzle,nomaxhand
auto=@movedTo(*[-creature]|opponentstack):draw:1
auto={D(*|myhand)}{D(*|myhand)}{D(*|myhand)}:_BLINK_UEOT_
auto={D(*|myhand)}{D(*|myhand)}{D(*|myhand)}:name(Blink ueot) _BLINK_UEOT_
text=Nezahal, Primal Tide can't be countered. -- You have no maximum hand size. -- Whenever an opponent casts a noncreature spell, draw a card. -- Discard three cards: Exile Nezahal. Return it to the battlefield tapped under its owner's control at the beginning of the next end step.
mana={5}{U}{U}
type=Legendary Creature

View File

@@ -1,6 +1,6 @@
#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 programmatically so the other comments are removed except for AUTO_DEFINE - Vitty85 26-07-2023
#I sorted this programmatically so the other comments are removed except for AUTO_DEFINE - Vitty85 27-07-2023
[card]
name=Abandon Reason
target=<upto:2>creature
@@ -1438,7 +1438,7 @@ type=Instant
[/card]
[card]
name=Aetherling
auto={U}:_BLINK_UEOT_
auto={U}:name(Blink ueot) _BLINK_UEOT_
auto={U}:unblockable
auto={1}:1/-1
auto={1}:-1/1
@@ -4354,7 +4354,7 @@ toughness=2
[/card]
[card]
name=Anurid Brushhopper
auto={D(*|myhand)}{D(*|myhand)}:_BLINK_UEOT_
auto={D(*|myhand)}{D(*|myhand)}:name(Blink ueot) _BLINK_UEOT_
text=Discard two cards: Exile Anurid Brushhopper. Return it to the battlefield under its owner's control at the beginning of the next end step.
mana={1}{G}{W}
type=Creature
@@ -5585,7 +5585,7 @@ type=Instant
[card]
name=Argent Sphinx
abilities=flying
auto=aslongas(artifact|mybattlefield) {U}:_BLINK_UEOT_ >2
auto=aslongas(artifact|mybattlefield) {U}:name(Blink ueot) name(Blink ueot) _BLINK_UEOT_ >2
text=Flying -- Metalcraft {U}: Exile Argent Sphinx. Return it to the battlefield under your control at the beginning of the next end step. Activate this ability only if you control three or more artifacts.
mana={2}{U}{U}
type=Creature
@@ -43487,7 +43487,7 @@ toughness=6
[/card]
[card]
name=Frenetic Sliver
auto=lord(sliver) {0}:flipacoin winability _BLINK_UEOT_ winabilityend loseability sacrifice loseabilityend flipend
auto=lord(sliver) {0}:flipacoin winability name(Blink ueot) _BLINK_UEOT_ winabilityend loseability sacrifice loseabilityend flipend
text=All Slivers have "{0}: If this permanent is on the battlefield, flip a coin. If you win the flip, exile this permanent and return it to the battlefield under its owner's control at the beginning of the next end step. If you lose the flip, sacrifice it."
mana={1}{U}{R}
type=Creature
@@ -45740,7 +45740,7 @@ toughness=3
[card]
name=Ghost Council of Orzhova
auto=choice target(opponent) life:-1 && life:1 controller
auto={1}{S(creature|mybattlefield)}:_BLINK_UEOT_
auto={1}{S(creature|mybattlefield)}:name(Blink ueot) _BLINK_UEOT_
text=When Ghost Council of Orzhova enters the battlefield, target opponent loses 1 life and you gain 1 life. -- {1}, Sacrifice a creature: Exile Ghost Council of Orzhova. Return it to the battlefield under its owner's control at the beginning of the next end step.
mana={W}{W}{B}{B}
type=Legendary Creature
@@ -54716,7 +54716,7 @@ type=Sorcery
[card]
name=Hikari, Twilight Guardian
abilities=flying
auto=@movedTo(spirit,arcane|mystack):may _BLINK_UEOT_
auto=@movedTo(spirit,arcane|mystack):may name(Blink ueot) _BLINK_UEOT_
text=Flying -- Whenever you cast a Spirit or Arcane spell, you may exile Hikari, Twilight Guardian. If you do, return it to the battlefield under its owner's control at the beginning of the next end step.
mana={3}{W}{W}
type=Legendary Creature
@@ -64872,9 +64872,9 @@ toughness=*
[/card]
[card]
name=Krovikan Plague
target=creature[-Wall]|myBattlefield
auto=@next upkeep:draw:1 controller
auto=teach(creature) {T}:damage:1 target(anytarget) && all(this) counter(0/-1,1)
target=creature[-wall]|myBattlefield
auto=@next upkeep:name(Draw a card) draw:1 controller
auto=teach(creature) transforms((,newability[{T}{C(0/-1.1)}:name(Deal damage) damage:1 target(anytarget)]))
text=Enchant non-Wall creature you control -- When Krovikan Plague enters the battlefield, draw a card at the beginning of the next turn's upkeep. -- Enchanted creature has "{T}: Put a -0/-1 counter on this creature, and Krovikan Plague deals 1 damage to target creature or player."
mana={2}{B}
type=Enchantment
@@ -64971,7 +64971,7 @@ type=Artifact
[card]
name=Kudzu
target=land
auto=@tapped(mytgt):all(trigger) destroy && all(this) transforms((,newability[target(land) retarget])) forever
auto=@tapped(mytgt):all(trigger) destroy && all(this) transforms((,newability[name(Attach to land) target(land|battlefield) retarget])) forever
text=Enchant land -- When enchanted land becomes tapped, destroy it. That land's controller attaches Kudzu to a land of his or her choice.
mana={1}{G}{G}
type=Enchantment

View File

@@ -1,6 +1,6 @@
#Planeswalkers Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#We sorted this in alphabetical order - Luruz & Vitty85 26-07-2023
#We sorted this in alphabetical order - Luruz & Vitty85 27-07-2023
[card]
name=Abian, Luvion Usurper
auto=counter(0/0,5,loyalty)
@@ -1666,10 +1666,9 @@ subtype=Karn
name=Karn, the Great Creator
auto=counter(0/0,5,loyalty)
auto=lord(artifact|opponentBattlefield) noactivatedability
auto={C(0/0,1,Loyalty)}:name(+1: Becomes a creature) target(artifact[-creature]) transforms((creature,newability[manacost/manacost])) uynt
auto={C(0/0,1,Loyalty)}:name(+1: Loyalty counter) donothing
auto={C(0/0,-2,Loyalty)}:name(-2: move a card from exile) moveto(ownerhand) target(artifact|myexile)
auto={C(0/0,-2,Loyalty)}:name(-2: move a card from sideboard) reveal:type:*:mysideboard revealzone(mysideboard) optionone name(choose card) target(<1>*[artifact]|reveal) moveto(myhand) and!(all(other *|reveal) moveto(ownersideboard))! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownersideboard) and!(all(other *|reveal) moveto(ownersideboard))! optiontwoend revealend
auto={C(0/0,1,Loyalty)}:name(+1: Transform an artifact) target(artifact[-creature]) transforms((creature,newability[manacost/manacost])) uynt
auto={C(0/0,1,Loyalty)}:name(+1: Don't transform any artifact) donothing
auto={C(0/0,-2,Loyalty)}:name(-2: Move a card from outside game) target(artifact|myexile,mysideboard) moveto(myhand)
text=Activated abilities of artifacts your opponents control can't be activated. -- +1: Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness each equal to its mana value. -- -2: You may choose an artifact card you own from outside the game or in exile, reveal that card, and put it into your hand.
mana={4}
type=Legendary Planeswalker
@@ -1763,9 +1762,11 @@ subtype=Kaya
[card]
name=Kaya, Ghost Assassin
auto=counter(0/0,5,loyalty)
auto={C(0/0,0,Loyalty)}:name(+0: Exile Kaya or creature) ability$!name(Choose creature or this) choice name(Kaya, Ghost Assassin) all(this) (blink)ueot && life:-2 controller _choice name(Creature) target(creature) (blink)ueot controller!$ controller && life:-2
auto={C(0/0,-1,Loyalty)}:name(-1: Each opponent loses life and you gain) life:-2 opponent && life:2 controller
auto={C(0/0,-2,Loyalty)}:name(-2: Each opponent discard and draw) ability$!name(discard a card) notatarget(*|myHand) reject!$ opponent && draw:1 controller
auto={C(0/0,0,Loyalty)}:name(+0: Exile creature) target(creature|battlefield) moveto(exile) and!( life:-2 controller && transforms((,newability[phaseaction[endofturn once checkex] moveto(ownerbattlefield)])) forever )!
auto={C(0/0,0,Loyalty)}:name(+0: Exile kaya) moveto(exile) and!( life:-2 controller && counter(0/0,hascntloyalty,Loyalty) && transforms((,newability[@next endofturn:name(Return to battlefield) moveto(ownerbattlefield) and!( counter(0/0.hascntloyalty.Loyalty) notrg && counter(0/0.-5.Loyalty) notrg)! ])) forever )!
auto={C(0/0,0,Loyalty)}:name(+0: Don't exile anything) life:-2 controller
auto={C(0/0,-1,Loyalty)}:name(-1: Opponent loses life) lifeleech:-2 opponent
auto={C(0/0,-2,Loyalty)}:name(-2: Each opponent discard and draw) ability$!name(Discard a card) notatarget(*|myHand) reject!$ opponent && draw:1 controller
text=0: Exile Kaya, Ghost Assassin or up to one target creature. Return that card to the battlefield under its owner's control at the beginning of your next upkeep. You lose 2 life. -- -1: Each opponent loses 2 life and you gain 2 life. -- -2: Each opponent discards a card and you draw a card.
mana={2}{W}{B}
type=Legendary Planeswalker