Fixed some primitives from issue #1085, fixed some primitives from Discord Channel, fixed "except" keyword for triggers, added "nocost" option for "totalcounteradded" event to avoid to trigger in case of counter cost (e.g. "Doubling Season"), added "removeallcolors" and "removeallsubtypes" options for "transforms" ability.

This commit is contained in:
Vittorio Alfieri
2023-07-25 17:38:25 +02:00
parent 751fda6521
commit 816c42b63b
9 changed files with 183 additions and 123 deletions

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 24-07-2023
#I sorted this programmatically - Thanks to Vitty85 25-07-2023
[card]
name=+2 Mace
auto={3}:equip
@@ -18701,7 +18701,7 @@ name=Contamination
auto=upcost[{S(creature|mybattlefield)}] sacrifice
auto=lord(land) loseabilities
auto=lord(land) losesubtypesof(land)
auto=lord(land) transforms((Swamp))
auto=lord(land) transforms((,newability[{T}:add{B}]))
text=At the beginning of your upkeep, sacrifice Contamination unless you sacrifice a creature. -- If a land is tapped for mana, it produces {B} instead of any other type and amount.
mana={2}{B}
type=Enchantment
@@ -18907,7 +18907,7 @@ toughness=2
[/card]
[card]
name=Corpsejack Menace
auto=@counteradded(1/1) from(creature|battlefield) except(Corpsejack Menace):may target(creature[counter{1/1.1}]|Battlefield) counter(1/1) notrg
auto=@totalcounteradded(1/1) from(creature|battlefield) duplicate(all):ability$!name(Double the counter) donothing!$ controller
text=If one or more +1/+1 counters would be placed on a creature you control, twice that many +1/+1 counters are placed on it instead.
mana={2}{B}{G}
type=Creature
@@ -22478,7 +22478,7 @@ toughness=2
[/card]
[card]
name=Deep Water
auto={U}:name(All lands produce blue mana) ueot loseabilities && losesubtypesof(land) && transforms((island)) target(<type:land:myBattlefield>land|mybattlefield)
auto={U}:name(All lands produce blue mana) transforms((,newability[lord(land|mybattlefield) loseabilities],newability[lord(land|mybattlefield) losesubtypesof(land)],newability[lord(land|mybattlefield) transforms((,newability[{T}:add{U}]))])) ueot
text={U}: Until end of turn, if you tap a land you control for mana, it produces {U} instead of any other type.
mana={U}{U}
type=Enchantment
@@ -25063,7 +25063,7 @@ type=Sorcery
[card]
name=Doubling Season
auto=@tokencreated(*|myBattlefield):name(Double the token) all(trigger) clone options(notrigger)
auto=@counteradded(duplicateAll) from(*|myBattlefield):ability$!name(Double the counter) donothing!$ controller
auto=@totalcounteradded(1/1) from(*|myBattlefield) duplicate(all) nocost:ability$!name(Double the counter) donothing!$ controller
text=If an effect would put one or more tokens onto the battlefield under your control, it puts twice that many of those tokens onto the battlefield instead. -- If an effect would place one or more counters on a permanent you control, it places twice that many of those counters on that permanent instead.
mana={4}{G}
type=Enchantment
@@ -37247,8 +37247,8 @@ type=Instant
[/card]
[card]
name=Generous Patron
auto=target(<upto:2>creature) counter(1/1)
auto=@counteradded(any) from(creature|opponentbattlefield):may draw:1 controller
auto=may name(Put 1/1 counters) target(<upto:2>creature) counter(1/1)
auto=@totalcounteradded(any) from(creature|opponentbattlefield):may name(Draw a card) draw:1 controller
text=When Generous Patron enters the battlefield, support 2. (Put a +1/+1 counter on each of up to two other target creatures.) -- Whenever you put one or more counters on a creature you don't control, draw a card.
mana={2}{G}
type=Creature
@@ -43466,7 +43466,7 @@ toughness=3
[/card]
[card]
name=Harvest Mage
auto={G}{T}{D(*|myhand)}:lord(land|mybattlefield) transforms((,newability[producecolor:land],newability[producecolor:green],newability[producecolor:blue],newability[producecolor:red],newability[producecolor:black],newability[producecolor:white])) ueot
auto={G}{T}{D(*|myhand)}:name(Lands produce any color) transforms((,newability[lord(land|mybattlefield) loseabilities],newability[lord(land|mybattlefield) losesubtypesof(land)],newability[lord(land|mybattlefield) transforms((,newability[{T}:add{G}],newability[{T}:add{R}],newability[{T}:add{U}],newability[{T}:add{B}],newability[{T}:add{W}]))])) ueot
text={G}, {T}, Discard a card: Until end of turn, if you tap a land for mana, it produces one mana of a color of your choice instead of any other type and amount.
mana={G}
type=Creature
@@ -46951,8 +46951,9 @@ type=Artifact
[/card]
[card]
name=Idol of Oblivion
auto={T}:draw:1 restriction{thisturn(*[token]|mybattlefield)~morethan~0}
auto={8}{T}{S}:token(Eldrazi,Creature Eldrazi,10/10,colorless)
auto=if type(*[token&fresh]|mybattlefield)~morethan~0 then name(Gain ability)name(Gain ability) transforms((,newability[{T}:name(Draw a card) name(Draw a card) draw:1 controller])) ueot
auto=@movedto(*[token]|mybattlefield):name(Gain ability) transforms((,newability[{T}:name(Draw a card) name(Draw a card) draw:1 controller])) ueot
auto={8}{T}{S}:name(Create eldrazi) token(Eldrazi,Creature Eldrazi,10/10)
text={T}: Draw a card. Activate this ability only if you created a token this turn. -- {8}, {T}, Sacrifice Idol of Oblivion: Create a 10/10 colorless Eldrazi creature token.
mana={2}
type=Artifact
@@ -47040,8 +47041,8 @@ type=Instant
[card]
name=Ignite the Future
flashback={7}{R}
auto=ifnot gravecast then all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=if gravecast then all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent],newability[zerocast uent])) uent )!
auto=ifnot gravecast then all(*[zpos<=3]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=if gravecast then all(*[zpos<=3]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile uent],newability[zerocast uent])) uent )!
text=Exile the top three cards of your library. Until the end of your next turn, you may play those cards. If this spell was cast from a graveyard, you may play cards this way without paying their mana costs. -- Flashback {7}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
mana={3}{R}
type=Sorcery
@@ -47703,9 +47704,9 @@ toughness=1
[/card]
[card]
name=Imprisoned in the Moon
target=*[creature;land;planeswalker]|battlefield
target=creature,land,planeswalker
auto=loseabilities
auto=transforms((removetypes,newability[becomes(Land)],newability[{T}:add{1}])) forever
auto=teach(*) transforms((removeallsubtypes,removeallcolors,newability[becomes(Land)],newability[{T}:add{C}]))
text=Enchant creature, land, or planeswalker -- Enchanted permanent is a colorless land with "{T}: Add {C} to your mana pool" and loses all other card types and abilities.
mana={2}{U}
type=Enchantment
@@ -47713,7 +47714,7 @@ subtype=Aura
[/card]
[card]
name=Improbable Alliance
auto=_SECOND_DRAW_create(Faerie:creature Faerie:1/1:blue:flying)
auto=_SECOND_DRAW_ name(Create faerie) token(Faerie,Creature Faerie,1/1,blue,flying)
auto={4}{U}{R}:_LOOT_
text=Whenever you draw your second card each turn, create a 1/1 blue Faerie creature token with flying. -- {4}{U}{R}: Draw a card, then discard a card.
mana={U}{R}
@@ -48095,7 +48096,7 @@ type=Sorcery
[card]
name=Inevitable End
target=creature
auto=teach(creature) @each controller upkeep:upcost[{S(creature|myBattlefield)}] sacrifice
auto=teach(creature) transforms((,newability[@each my upkeep:name(Sacrifice a creature) target(creature|myBattlefield) sacrifice]))
text=Enchant creature -- Enchanted creature has "At the beginning of your upkeep, sacrifice a creature."
mana={2}{B}
type=Enchantment
@@ -48150,9 +48151,9 @@ subtype=Aura
[card]
name=Infernal Darkness
auto=cumulativeupcost[{B}{L:1}] sacrifice
auto=all(land|battlefield) loseabilities && all(land|battlefield) losesubtypesof(land) && all(land|battlefield) transforms((swamp)) ueot
auto=@each untap:all(land|battlefield) loseabilities && all(land|battlefield) losesubtypesof(land) && all(land|battlefield) transforms((swamp)) ueot
auto=@movedTo(land|battlefield):all(trigger[to]) loseabilities && all(trigger[to]) losesubtypesof(land) && all(trigger[to]) transforms((swamp)) ueot
auto=lord(land) loseabilities
auto=lord(land) losesubtypesof(land)
auto=lord(land) transforms((,newability[{T}:add{B}]))
text=Cumulative upkeep-Pay {B} and 1 life. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) -- If a land is tapped for mana, it produces {B} instead of any other type.
mana={2}{B}{B}
type=Enchantment
@@ -49175,8 +49176,7 @@ toughness=3
[/card]
[card]
name=Intuition
auto=target(*|mylibrary) moveto(myhand)
auto=ability$!name(Put in graveyard) name(Put in graveyard) target(<2>*|opponentlibrary) moveto(opponentgraveyard)!$ opponent
auto=name(Search first card) target(*|mylibrary) moveto(myhand) and!( transforms((tobeint,newability[name(Search second card) target(*|mylibrary) moveto(myhand) and!( transforms((tobeint,newability[name(Search third card) target(*|mylibrary) moveto(myhand) and!( transforms((tobeint,newability[shuffle],newability[ability$!name(Put in graveyard) name(Put in graveyard) target(tobeint|opponenthand) moveto(opponentgraveyard) and!( all(other tobeint|opponenthand) losesatype(tobeint) )!!$ opponent])) ueot )!])) ueot )!])) ueot )!
text=Search your library for any three cards and reveal them. Target opponent chooses one. Put that card into your hand and the rest into your graveyard. Then shuffle your library.
mana={2}{U}
type=Instant
@@ -50186,7 +50186,7 @@ subtype=Plains Island
[card]
name=Isareth the Awakener
abilities=deathtouch
auto=_ATTACKING_pay({2}) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield)
auto=_ATTACKING_may name(Pay and return) pay({x}) name(Pay and return) transforms((,newability[name(Pay and return) target(creature[manacost=x]|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[counter(0/0.1.Corpse)],newability[exiledeath])) forever )!])) forever
text=Deathtouch -- Whenever Isareth the Awakener attacks, you may pay {X}. When you do, return target creature card with mana value X from your graveyard to the battlefield with a corpse counter on it. If that creature would leave the battlefield, exile it instead of putting it anywhere else.
mana={1}{B}{B}
type=Legendary Creature
@@ -50230,7 +50230,9 @@ type=Legendary Instant
[/card]
[card]
name=Island Sanctuary
auto=replacedraw turnlimited ability$!name(Choose one) choice name(Skip draw and become unattackable) lord(creature[-flying;-islandwalk]|opponentBattlefield) cantattack uynt _ choice name(Draw card) draw:1 noreplace controller!$ controller
auto=replacedraw turnlimited ability$!name(Choose one) choice name(Skip draw and become unattackable) all(Island Sanctuary[-unattackable]|mybattlefield) becomes(unattackable) forever _ choice name(Draw card) draw:1 noreplace controller!$ controller
auto=this(cantargetcard(*[unattackable]|*) transforms((,newability[lord(creature[-flying]|opponentBattlefield) cantattack],newability[lord(creature[-islandwalk]|opponentBattlefield) cantattack]))
auto=@each opponent end:name(Effect ends) losesatype(unattackable)
text=If you would draw a card during your draw step, instead you may skip that draw. If you do, until your next turn, you can't be attacked except by creatures with flying and/or islandwalk.
mana={1}{W}
type=Enchantment
@@ -69806,7 +69808,7 @@ type=Legendary Artifact
[/card]
[card]
name=Pale Moon
auto=emblem transforms((,newability[lord(land[-basic]|battlefield) transforms((,newability[loseabilities],newability[{T}:name(Add colorless) add{C}]))])) ueot
auto=emblem transforms((,newability[lord(land[-basic]|battlefield) transforms((,newability[loseabilities],newability[losesubtypesof(land)],newability[{T}:name(Add colorless) add{C}]))])) ueot
text=Until end of turn, if a player taps a nonbasic land for mana, it produces colorless mana instead of any other type.
mana={1}{U}
type=Instant
@@ -73273,7 +73275,7 @@ type=Sorcery
name=Primal Vigor
auto=@tokencreated(*|myBattlefield):name(Double the token) all(trigger) clone options(notrigger)
auto=@tokencreated(*|opponentBattlefield):name(Double the token) all(trigger) clone options(notrigger) and!( transforms((,newability[moveto(opponentBattlefield)])) forever )!
auto=@counteradded(1/1) from(creature|battlefield) except(Primal Vigor):may counter(1/1) target(creature[counter{1/1.1}]|Battlefield)
auto=@totalcounteradded(1/1) from(creature|battlefield) duplicate(all):ability$!name(Double the counter) donothing!$ controller
text=If one or more tokens would be put onto the battlefield, twice that many of those tokens are put onto the battlefield instead. -- If one or more +1/+1 counters would be placed on a creature, twice that many +1/+1 counters are placed on that creature instead.
mana={4}{G}
type=Enchantment
@@ -74249,7 +74251,9 @@ type=Sorcery
[/card]
[card]
name=Pulse of Llanowar
auto=all(land[basic]|mybattlefield) transforms((,newability[producecolor:land],newability[producecolor:green],newability[producecolor:blue],newability[producecolor:red],newability[producecolor:black],newability[producecolor:white])) forever
auto=lord(land[basic]|mybattlefield) loseabilities
auto=lord(land[basic]|mybattlefield) losesubtypesof(land)
auto=lord(land[basic]|mybattlefield) transforms((,newability[{T}:add{G}],newability[{T}:add{R}],newability[{T}:add{U}],newability[{T}:add{B}],newability[{T}:add{W}]))
text=If a basic land you control is tapped for mana, it produces mana of a color of your choice instead of any other type.
mana={3}{G}
type=Enchantment
@@ -79547,8 +79551,9 @@ type=Sorcery
[card]
name=Ritual of Subdual
auto=cumulativeupcost[{2}] sacrifice
auto=all(land|mybattlefield) loseabilities && transforms((,newability[producecolor:land])) forever
auto=all(land|opponentbattlefield) loseabilities && transforms((,newability[producecolor:land])) forever
auto=lord(land|battlefield) loseabilities
auto=lord(land|battlefield) losesubtypesof(land)
auto=lord(land|battlefield) transforms((,newability[{T}:name(Add colorless) add{C}]))
text=Cumulative upkeep {2} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) -- If a land is tapped for mana, it produces colorless mana instead of any other type.
mana={4}{G}{G}
type=Enchantment
@@ -82982,7 +82987,7 @@ auto=@movedTo(mytgt|sideboard) from(battlefield):all(this) moveTo(mySideboard)
auto=@movedTo(mytgt|commandzone) from(battlefield):all(this) moveTo(myCommandzone)
auto={9999}:equip
other={3}{G} name(Mutate)
auto=if paid(alternative) then if compare(mutations)~equalto~0 then choice name(Mutate Over) name(Mutate Over) name(Mutate Over) target(other creature[-human]|mybattlefield) mutateover
auto=if paid(alternative) then if compare(mutations)~equalto~0 then choice name(Mutate Over) name(Mutate Over) name(Mutate Over) target(other creature[-human]|mybattlefield) mutateover
auto=if paid(alternative) then if compare(mutations)~equalto~0 then choice name(Mutate Over) name(Mutate Under) name(Mutate Under) target(other creature[-human]|mybattlefield) mutateunder
auto=@mutated(this):name(Destroy and create token) target(*[-creature]|battlefield) destroy and!( transforms((,newability[token(Beast Saw) controller])) oneshot )!
auto=@mutated(mytgt):name(Destroy and create token) target(*[-creature]|battlefield) destroy and!( transforms((,newability[token(Beast Saw) controller])) oneshot )!
@@ -106785,7 +106790,7 @@ toughness=0
[/card]
[card]
name=Vizier of Remedies
auto=@totalcounteradded(-1/-1) from(creature|myBattlefield):name(That many minus one) all(trigger[from]) name(That many minus one) counter(-1/-1,-1)
auto=@totalcounteradded(-1/-1) from(creature|myBattlefield):name(That many minus one) all(trigger[from]) name(That many minus one) counter(-1/-1,-1) notrg
text=If one or more -1/-1 counters would be put on a creature you control, that many -1/-1 counters minus one are put on it instead.
mana={1}{W}
type=Creature
@@ -107365,14 +107370,14 @@ toughness=6
[card]
name=Vorinclex, Monstrous Raider
abilities=trample,haste
auto=@totalcounteradded(duplicateAll) from(*|myBattlefield):ability$!name(Double the counters) donothing!$ controller
auto=@totalcounteradded(halfAll) from(*|opponentbattlefield):ability$!name(Half the counters) donothing!$ controller
auto=@energizedof(player) duplicate(All):ability$!name(Double the counters) donothing!$ controller
auto=@energizedfoeof(player) half(All):ability$!name(Half the counters) donothing!$ controller
auto=@poisonedof(player) half(All):ability$!name(Half the counters) donothing!$ controller
auto=@poisonedfoeof(player) duplicate(All):ability$!name(Double the counters) donothing!$ controller
auto=@experiencedof(player) duplicate(All):ability$!name(Double the counters) donothing!$ controller
auto=@experiencedfoeof(player) half(All):ability$!name(Half the counters) donothing!$ controller
auto=@totalcounteradded(any) from(*|myBattlefield) duplicate(all) except(*|opponentzones):ability$!name(Double the counters) donothing!$ controller
auto=@totalcounteradded(any) from(*|opponentbattlefield) half(all) except(*|myzones):ability$!name(Half the counters) donothing!$ controller
auto=@energizedof(player) duplicate(all):ability$!name(Double the counters) donothing!$ controller
auto=@energizedfoeof(player) half(all):ability$!name(Half the counters) donothing!$ controller
auto=@poisonedof(player) half(all):ability$!name(Half the counters) donothing!$ controller
auto=@poisonedfoeof(player) duplicate(all):ability$!name(Double the counters) donothing!$ controller
auto=@experiencedof(player) duplicate(all):ability$!name(Double the counters) donothing!$ controller
auto=@experiencedfoeof(player) half(all):ability$!name(Half the counters) donothing!$ controller
text=Trample, haste -- If you would put one or more counters on a permanent or player, put twice that many of each of those kinds of counters on that permanent or player instead. -- If an opponent would put one or more counters on a permanent or player, they put half that many of each of those kinds of counters on that permanent or player instead, rounded down.
mana={4}{G}{G}
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 24-07-2023
#I sorted this programmatically so the other comments are removed except for AUTO_DEFINE - Vitty85 25-07-2023
[card]
name=Abandon Reason
target=<upto:2>creature
@@ -24482,7 +24482,16 @@ type=Land
[/card]
[card]
name=Crypt Rats
auto={X:black}:damage:X all(creature) && damage:X all(player)
auto={B}:name(X=1) damage:1 all(creature|battlefield) && damage:1 all(player)
auto={B}{B}:name(X=2) damage:2 all(creature|battlefield) && damage:2 all(player)
auto={B}{B}{B}:name(X=3) damage:3 all(creature|battlefield) && damage:3 all(player)
auto={B}{B}{B}{B}:name(X=4) damage:4 all(creature|battlefield) && damage:4 all(player)
auto={B}{B}{B}{B}{B}:name(X=5) damage:5 all(creature|battlefield) && damage:5 all(player)
auto={B}{B}{B}{B}{B}{B}:name(X=6) damage:6 all(creature|battlefield) && damage:6 all(player)
auto={B}{B}{B}{B}{B}{B}{B}:name(X=7) damage:7 all(creature|battlefield) && damage:7 all(player)
auto={B}{B}{B}{B}{B}{B}{B}{B}:name(X=8) damage:8 all(creature|battlefield) && damage:8 all(player)
auto={B}{B}{B}{B}{B}{B}{B}{B}{B}:name(X=9) damage:9 all(creature|battlefield) && damage:9 all(player)
auto={B}{B}{B}{B}{B}{B}{B}{B}{B}{B}{X:black}:name(X>=10) damage:Xplus10plusend all(creature|battlefield) && damage:Xplus10plusend all(player)
text={X}: Crypt Rats deals X damage to each creature and each player. Spend only black mana this way.
mana={2}{B}
type=Creature
@@ -29106,7 +29115,8 @@ toughness=2
[card]
name=Devoted Druid
auto={T}:add{G}
auto={0}:name(Put counter and untap) transforms((,newability[counter(-1/-1)],newability[untap])) oneshot
#auto={0}:name(Put counter and untap) transforms((,newability[counter(-1/-1)],newability[untap])) oneshot
auto={C(-1/-1,1)}:name(Put counter and untap) untap
text={T}: Add {G} to your mana pool. -- Put a -1/-1 counter on Devoted Druid: Untap Devoted Druid.
mana={1}{G}
type=Creature