Added / fixed primitives from ONE set, updated missing card by sets list, improved triggers and added new trigger for proliferation effect.

This commit is contained in:
Vittorio Alfieri
2023-06-15 19:15:44 +02:00
parent b7e8907877
commit 8a440d5d09
11 changed files with 468 additions and 38 deletions

View File

@@ -22,9 +22,6 @@ toughness=4
[card]
name=Elenda and Azor
abilities=flying
auto=Flying_WARD_(2)
auto=_ATTACKING_may pay( {x}{w}{u}{b} draw x cards
auto=@each endofturn:create(1/1 black vampire knight:creature 1/1 black vampire knight:number:of:lifelink equal to the number of cards you've drawn this turn)
text=Flying, ward {2} -- Whenever Elenda and Azor attacks, you may pay {X}{W}{U}{B}. If you do, draw X cards. -- At the beginning of each end step, you may pay 4 life. If you do, create a number of 1/1 black Vampire Knight creature tokens with lifelink equal to the number of cards you've drawn this turn.
mana={3}{W}{U}{B}
type=Legendary Creature
@@ -199,9 +196,6 @@ type=Sorcery
[card]
name=Elenda and Azor
abilities=flying
auto=Flying_WARD_(2)
auto=_ATTACKING_may pay( {x}{w}{u}{b} draw x cards
auto=@each endofturn:create(1/1 black vampire knight:creature 1/1 black vampire knight:number:of:lifelink equal to the number of cards you've drawn this turn)
text=Flying, ward {2} -- Whenever Elenda and Azor attacks, you may pay {X}{W}{U}{B}. If you do, draw X cards. -- At the beginning of each end step, you may pay 4 life. If you do, create a number of 1/1 black Vampire Knight creature tokens with lifelink equal to the number of cards you've drawn this turn.
mana={3}{W}{U}{B}
type=Legendary Creature

View File

@@ -0,0 +1,58 @@
[card]
name=Elesh Norn, Mother of Machines
abilities=vigilance
text=Vigilance -- If a permanent entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- Permanents entering the battlefield don't cause abilities of permanents your opponents control to trigger.
mana={4}{W}
type=Legendary Creature
subtype=Phyrexian Praetor
power=4
toughness=7
[/card]
[card]
name=Elesh Norn, Mother of Machines
abilities=vigilance
text=Vigilance -- If a permanent entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- Permanents entering the battlefield don't cause abilities of permanents your opponents control to trigger.
mana={4}{W}
type=Legendary Creature
subtype=Phyrexian Praetor
power=4
toughness=7
[/card]
[card]
name=Drivnod, Carnage Dominus
text=If a creature dying causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- {B/P}{B/P}, Exile three creature cards from your graveyard: Put an indestructible counter on Drivnod, Carnage Dominus. ({B/P} can be paid with either {B} or 2 life.)
mana={3}{B}{B}
type=Legendary Creature
subtype=Phyrexian Horror
power=8
toughness=3
[/card]
[card]
name=Elesh Norn, Mother of Machines
abilities=vigilance
text=Vigilance -- If a permanent entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- Permanents entering the battlefield don't cause abilities of permanents your opponents control to trigger.
mana={4}{W}
type=Legendary Creature
subtype=Phyrexian Praetor
power=4
toughness=7
[/card]
[card]
name=Elesh Norn, Mother of Machines
abilities=vigilance
text=Vigilance -- If a permanent entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- Permanents entering the battlefield don't cause abilities of permanents your opponents control to trigger.
mana={4}{W}
type=Legendary Creature
subtype=Phyrexian Praetor
power=4
toughness=7
[/card]
[card]
name=Drivnod, Carnage Dominus
text=If a creature dying causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- {B/P}{B/P}, Exile three creature cards from your graveyard: Put an indestructible counter on Drivnod, Carnage Dominus. ({B/P} can be paid with either {B} or 2 life.)
mana={3}{B}{B}
type=Legendary Creature
subtype=Phyrexian Horror
power=8
toughness=3
[/card]

View File

@@ -4,13 +4,10 @@ Pyre-Sledge Arsonist
Sokenzan Smelter
Star Pupil
Sun Droplet
Elesh Norn, Mother of Machines
Melira, the Living Cure
Thrun, Breaker of Silence
Soulless Jailer
Mercurial Spelldancer
Tablet of Compleation
Meldweb Strider
The Mycosynth Gardens
Rhuk, Hexgold Nabber
The Seedcore
@@ -20,25 +17,19 @@ Kinzu of the Bleak Coven
Red Sun's Twilight
Urabrask's Forge
Green Sun's Twilight
Ichormoon Gauntlet
Conduit of Worlds
Mirran Safehouse
Jace, the Perfected Mind
Monument to Perfection
Argentum Masticore
The Filigree Sylex
Carnivorous Canopy
Contagious Vorrac
Evolved Spinoderm
Bring the Ending
Expand the Sphere
Evolving Adaptive
Experimental Augury
Black Sun's Twilight
Glissa Sunslayer
Kethek, Crucible Goliath
Atraxa, Grand Unifier
Ezuri, Stalker of Spheres
Ovika, Enigma Goliath
Ria Ivor, Bane of Bladehold
Malcator, Purity Overseer
@@ -47,17 +38,12 @@ Venser, Corpse Puppet
Slobad, Iron Goblin
Solphim, Mayhem Dominus
Capricious Hellraiser
Skrelv, Defector Mite
Drivnod, Carnage Dominus
Tekuthal, Inquiry Dominus
Kaito, Dancing Shadow
Kaya, Intangible Slayer
Nahiri, the Unforgiving
Nissa, Ascended Animist
Tyvar, Jubilant Brawler
Lukka, Bound to Ruin
Vraska, Betrayal's Sting
The Eternal Wanderer
Maze's Mantle
Lattice-Blade Mantis
Plague Nurse
@@ -67,18 +53,10 @@ Molten Rebuke
Rebel Salvo
Churning Reservoir
Bladehold War-Whip
Forgehammer Centurion
Slaughter Singer
Awaken the Sleeper
All Will Be One
Against All Odds
Bladegraft Aspirant
Cacophony Scamp
Scheming Aspirant
Ichorplate Golem
Serum-Core Chimera
Tainted Observer
Necrosquito
Voidwing Hybrid
Vivisection Evangelist
Atraxa's Skitterfang

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 13-06-2023
#I sorted this programmatically - Thanks to Vitty85 15-06-2023
[card]
name=+2 Mace
auto={3}:equip
@@ -953,6 +953,17 @@ text=As Agadeem, the Undercrypt enters the battlefield, you may pay 3 life. If y
type=Land
[/card]
[card]
name=Against All Odds
auto=if type(*[artifact;creature]|mybattlefield)~morethan~0 then choice name(Exile artifact or creature) name(Exile artifact or creature) target(*[artifact;creature]|mybattlefield) moveto(myexile) and!( moveto(ownerbattlefield) )!
auto=if type(artifact[manacost<=3]|mygraveyard)~morethan~0 then choice name(Return artifact) name(Return artifact) target(artifact[manacost<=3]|mygraveyard) moveto(mybattlefield)
auto=if type(creature[manacost<=3]|mygraveyard)~morethan~0 then choice name(Return creature) name(Return creature) target(creature[manacost<=3]|mygraveyard) moveto(mybattlefield)
auto=if type(*[artifact;creature]|mybattlefield)~morethan~0 then if type(artifact[manacost<=3]|mygraveyard)~morethan~0 then choice name(Exile and return artifact) name(Exile and return artifact) name(Exile and return artifact) target(*[artifact;creature]|mybattlefield) moveto(myexile) and!( transforms((,newability[name(Return artifact) name(Return artifact) target(artifact[manacost<=3]|mygraveyard) moveto(mybattlefield)],newability[moveto(ownerbattlefield)])) ueot )!
auto=if type(*[artifact;creature]|mybattlefield)~morethan~0 then if type(creature[manacost<=3]|mygraveyard)~morethan~0 then choice name(Exile and return creature) name(Exile and return creature) name(Exile and return creature) target(*[artifact;creature]|mybattlefield) moveto(myexile) and!( transforms((,newability[name(Return creature) name(Return creature) target(creature[manacost<=3]|mygraveyard) moveto(mybattlefield)],newability[moveto(ownerbattlefield)])) ueot )!
text=Choose one or both -- Exile target artifact or creature you control, then return it to the battlefield under its owner's control. -- Return target artifact or creature card with mana value 3 or less from your graveyard to the battlefield.
mana={3}{W}
type=Sorcery
[/card]
[card]
name=Ageless Guardian
mana={1}{W}
type=Creature
@@ -1557,6 +1568,16 @@ type=Enchantment
subtype=Aura
[/card]
[card]
name=All Will Be One
auto=@totalcounteradded(any) from(*|mybattlefield):name(Deal damage) ability$!name(Choose one) choice name(Damage opponent) damage:storedthatmuch opponent _ choice name(Damage creature or planeswalker) target(*[creature;planeswalker]|opponentbattlefield) damage:storedthatmuch!$ controller
auto=@energizedof(player):name(Deal damage) ability$!name(Choose one) choice name(Damage opponent) damage:storedthatmuch opponent _ choice name(Damage creature or planeswalker) target(*[creature;planeswalker]|opponentbattlefield) damage:storedthatmuch!$ controller
auto=@experiencedof(player):name(Deal damage) ability$!name(Choose one) choice name(Damage opponent) damage:storedthatmuch opponent _ choice name(Damage creature or planeswalker) target(*[creature;planeswalker]|opponentbattlefield) damage:storedthatmuch!$ controller
auto=@poisonedfoeof(player):name(Deal damage) ability$!name(Choose one) choice name(Damage opponent) damage:storedthatmuch opponent _ choice name(Damage creature or planeswalker) target(*[creature;planeswalker]|opponentbattlefield) damage:storedthatmuch!$ controller
text=Whenever you put one or more counters on a permanent or player, All Will Be One deals that much damage to target opponent, creature an opponent controls, or planeswalker an opponent controls.
mana={3}{R}{R}
type=Enchantment
[/card]
[card]
name=Allied Assault
auto=choice name(Target 0 creatures) donothing
auto=choice name(Target 1 creature) target(creature) calculateparty/calculateparty ueot
@@ -2652,8 +2673,9 @@ toughness=2
[/card]
[card]
name=Animation Module
auto=@counteradded(1/1) from(*|mybattlefield):name(pay 1 for 1/1 Servo) pay[[{1}]] name(pay 1 for 1/1 Servo) _SERVOTOKEN_
auto={3}{T}:name(Add a counter) name(Add a counter) target(proliferation) duplicatecounters(single)
auto=@totalcounteradded(1/1) from(*|mybattlefield):name(pay 1 for 1/1 Servo) pay[[{1}]] name(pay 1 for 1/1 Servo) _SERVOTOKEN_
auto={3}{T}:name(Add a counter on player) name(Add a counter on player) target(player) duplicatecounters(single)
auto={3}{T}:name(Add a counter on permanent) name(Add a counter on permanent) target(*[counter{any}]|battlefield) duplicatecounters(single)
text=Whenever one or more +1/+1 counters are placed on a permanent you control, you may pay {1}. If you do, create a 1/1 colorless Servo artifact creature token. -- {3}, {T}: Choose a counter on target permanent or player. Give that permanent or player another counter of that kind.
mana={1}
type=Artifact
@@ -5524,6 +5546,14 @@ mana={3}{R}
type=Enchantment
[/card]
[card]
name=Awaken the Sleeper
target=creature
auto=moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],newability[haste],newability[if cantargetcard(*[geared]|*) then may name(Destroy equipments) name(Destroy equipments) all(myeqp) destroy])) ueot)!
text=Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. If it's equipped, you may destroy all Equipment attached to that creature.
mana={3}{R}
type=Sorcery
[/card]
[card]
name=Awaken the Woods
auto=create(Dryad Arbor)*X
text=Create X 1/1 green Forest Dryad land creature tokens. (They're affected by summoning sickness.)
@@ -8116,6 +8146,29 @@ power=2
toughness=2
[/card]
[card]
name=Black Sun's Twilight
auto=may name(Creature gets -X/-X) target(creature|battlefield) -fullpaid/-fullpaid ueot
auto=if compare(fullpaid)~equalto~5 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=5]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~6 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=6]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~7 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=7]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~8 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=8]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~9 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=9]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~10 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=10]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~11 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=11]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~12 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=12]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~13 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=13]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~14 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=14]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~15 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=15]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~16 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=16]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~17 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=17]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~18 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=18]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~equalto~19 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=19]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
auto=if compare(fullpaid)~morethan~19 then name(Return creature) ability$!name(Return creature) name(Return creature) target(creature[manacost<=20]|mygraveyard) moveto(mybattlefield) and!( tap(noevent) )!!$ controller
text=Up to one target creature gets -X/-X until end of turn. If X is 5 or more, return a creature card with mana value X or less from your graveyard to the battlefield tapped.
mana={X}{B}
type=Instant
[/card]
[card]
name=Blackblade Reforged
auto=teach(creature) type:land:mybattlefield/type:land:mybattlefield nonstatic
auto=name(Equip legendary) {3}:rehook target(creature[legendary]|mybattlefield) asSorcery
@@ -8314,6 +8367,18 @@ type=Artifact
subtype=Equipment
[/card]
[card]
name=Bladegraft Aspirant
#MISSING: Activated abilities of Equipment you control that target Bladegraft Aspirant cost {1} less to activate.
abilities=menace
auto=lord(equipment|mycastingzone) altercost(colorless,-1)
text=Menace -- Equipment spells you cast cost {1} less to cast. -- Activated abilities of Equipment you control that target Bladegraft Aspirant cost {1} less to activate.
mana={2}{R}
type=Creature
subtype=Phyrexian Warrior
power=2
toughness=3
[/card]
[card]
name=Bladegriff Prototype
abilities=flying
auto=@combatdamagefoeof(player) from(this):ability$!name(destroy) notatarget(*[-land]|mybattlefield) destroy!$ opponent
@@ -11486,6 +11551,14 @@ mana={3}{W}
type=Sorcery
[/card]
[card]
name=Bring the Ending
target=*|stack
auto=transforms((,newability[if compare(mypoisoncount)~lessthan~3 then pay[[{2}]] name(pay 2 mana) donothing?fizzle],newability[if compare(mypoisoncount)~morethan~2 then pay[[{0}]] name(counter spell) fizzle?fizzle])) forever
text=Counter target spell unless its controller pays {2}. -- Corrupted - Counter that spell instead if its controller has three or more poison counters.
mana={1}{U}
type=Instant
[/card]
[card]
name=Bring to Trial
target=creature[power>=4]
auto=moveto(exile)
@@ -12295,6 +12368,18 @@ power=2
toughness=5
[/card]
[card]
name=Cacophony Scamp
auto={0}:name(Test) _PROLIFERATE_
auto=@combatdamaged(player) from(this):may name(Sacrifice and proliferate) sacrifice and!( _PROLIFERATE_ )!
auto=_DIES_name(Damage any target) damage:power target(player,creature,planeswalker)
text=Whenever Cacophony Scamp deals combat damage to a player, you may sacrifice it. If you do, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) -- When Cacophony Scamp dies, it deals damage equal to its power to any target.
mana={R}
type=Creature
subtype=Phyrexian Goblin Warrior
power=1
toughness=1
[/card]
[card]
name=Cadira, Caller of the Small
abilities=trample
auto=@combatdamaged(player) from(this):create(rabbit:creature rabbit:1/1:white)*type:*[token]:myBattlefield
@@ -28753,6 +28838,14 @@ power=1
toughness=1
[/card]
[card]
name=Experimental Augury
aicode=activate transforms((,newability[target(*[zpos<=3]|mylibrary) moveto(myhand) and!( transforms((,newability[_PROLIFERATE_],newability[all(other *[zpos<=3]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot)!])) oneshot
auto=name(Look top 3 cards) reveal:3 optionone name(Get a card) target(*|reveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed _PROLIFERATE_ afterrevealedend revealend
text=Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
mana={1}{U}
type=Instant
[/card]
[card]
name=Experimental Frenzy
abilities=showfromtoplibrary,canplayfromlibrarytop
auto=lord(*|myhand) altercost(colorless, 99)
@@ -29107,6 +29200,17 @@ power=3
toughness=3
[/card]
[card]
name=Ezuri, Stalker of Spheres
auto=may name(Proliferate twice) name(Proliferate twice) pay({3}) name(Proliferate twice) name(Proliferate twice) thisforeach(variable{2}) ability$!name(Proliferate twice) name(Proliferate twice)) target(proliferation) proliferate!$ controller
auto=@proliferateof(player):name(Draw a card) draw:1 controller
text=When Ezuri, Stalker of Spheres enters the battlefield, you may pay {3}. If you do, proliferate twice. -- Whenever you proliferate, draw a card.
mana={2}{G}{U}
type=Legendary Creature
subtype=Phyrexian Elf Warrior
power=3
toughness=3
[/card]
[card]
name=Ezzaroot Channeler
abilities=reach
auto=token(manareducer,manareducer,0/0,shroud,indestructible,treason) and!( transforms((,newability[thisforeach(variable{lifegain}>0) lord(creature|mycastingzone) changecost(colorless:-1) forcedalive])) forever )!
@@ -32581,6 +32685,17 @@ text={T}: Add {C}. -- {T}: Choose target commander that entered the battlefield
type=Land
[/card]
[card]
name=Forgehammer Centurion
auto=@movedto(other *[creature;artifact]|graveyard) from(mybattlefield):name(Put oil counter) counter(0/0,1,Oil)
auto=@combat(attacking) source(this) restriction{compare(hascntoil)~morethan~1}:may name(Remove 2 oil counters) counter(0/0,-2,Oil) && ability$!name(Creature can't block) name(Creature can't block) target(creature|battlefield) transforms((,newability[cantblock])) ueot!$ controller
text=Whenever another creature or artifact you control is put into a graveyard from the battlefield, put an oil counter on Forgehammer Centurion. -- Whenever Forgehammer Centurion attacks, you may remove two oil counters from it. When you do, target creature can't block this turn.
mana={2}{R}
type=Creature
subtype=Phyrexian Warrior
power=3
toughness=2
[/card]
[card]
name=Forging the Anchor
aicode=activate transforms((,newability[if type(artifact[zpos<=5]|myLibrary)~morethan~0 then all(artifact[zpos<=5]|myLibrary) moveTo(myHand) and!( all(other *[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! else all(*[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary and!( draw:1 controller)! )! ])) oneshot
auto=name(Look 5 cards) reveal:5 optionone name(Get artifacts) target(<upto:5>artifact|reveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
@@ -43365,6 +43480,15 @@ power=1
toughness=3
[/card]
[card]
name=Ichormoon Gauntlet
auto=lord(planeswalker|myBattlefield) transforms((,newability[{C(0/0.0.Loyalty)}:name(+0: Proliferate) _PROLIFERATE_]))
auto=lord(planeswalker|myBattlefield) transforms((,newability[{C(0/0.-12.Loyalty)}:name(-12: Take an extra turn) turns:+1 controller]))
auto=@movedTo(*[-creature]|mystack):name(Add a counter on permanent) name(Add a counter on permanent) target(*[counter{any}]|battlefield) duplicatecounters(single)
text=Planeswalkers you control have "[0]: Proliferate" and "[-12]: Take an extra turn after this one." -- Whenever you cast a noncreature spell, choose a counter on target permanent. Put an additional counter of that kind on that permanent.
mana={2}{U}
type=Artifact
[/card]
[card]
name=Ichorspit Basilisk
abilities=deathtouch,poisontoxic
text=Deathtouch -- Toxic 1 (Players dealt combat damage by this creature also get a poison counter.)
@@ -56032,6 +56156,21 @@ power=3
toughness=4
[/card]
[card]
name=Meldweb Strider
abilities=vigilance
auto=counter(0/0,1,Oil)
auto={C(0/0,-1,Oil)}:name(Becomes an artifact creature) transforms((Artifact Creature)) ueot
auto={crew(other creature[power>=3]|myBattlefield)}:name(crew 3 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=3]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~2}
auto={crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=2]|myBattlefield)}:name(crew 3 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~0,type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0,type(other creature[-tapped;-cantcrew]|mybattlefield)~morethan~1,compare(crewtotalpower)~morethan~2}
auto={crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=1]|myBattlefield)}:name(crew 3 [3 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~2,compare(crewtotalpower)~morethan~2}
text=Vigilance -- Meldweb Strider enters the battlefield with an oil counter on it. -- Remove an oil counter from Meldweb Strider: It becomes an artifact creature until end of turn. -- Crew 3 (Tap any number of creatures you control with total power 3 or more: This Vehicle becomes an artifact creature until end of turn.)
mana={4}{U}
type=Artifact
subtype=Vehicle
power=5
toughness=5
[/card]
[card]
name=Meletis Charlatan
auto={2}{U}{T}:name(Controller copies instant or sorcery) target(*[instant;sorcery]|stack) transforms((,newability[activate castcard(copied)])) oneshot
text={2}{U}, {T}: The controller of target instant or sorcery spell copies it. That player may choose new targets for the copy.
@@ -56281,6 +56420,18 @@ mana={4}{B}{B}
type=Instant
[/card]
[card]
name=Mercurial Spelldancer
abilities=unblockable
auto=@movedTo(*[-creature]|mystack):name(put an oil counter) counter(0/0,1,Oil)
auto=@combatdamaged(player) from(this) restriction{compare(hascntoil)~morethan~1}:may name(Remove 2 oil counters) counter(0/0,-2,Oil) && emblem transforms((,newability[@movedTo(*[instant;sorcery]|mystack) turnlimited:name(Copy spell) all(trigger[to]<1>) activate castcard(copied noevent)])) ueot
text=Mercurial Spelldancer can't be blocked. -- Whenever you cast a noncreature spell, put an oil counter on Mercurial Spelldancer. -- Whenever Mercurial Spelldancer deals combat damage to a player, you may remove two oil counters from it. If you do, when you cast your next instant or sorcery spell this turn, copy that spell. You may choose new targets for the copy.
mana={1}{U}
type=Creature
subtype=Phyrexian Rogue
power=2
toughness=1
[/card]
[card]
name=Mercurial Transformation
target=*[-land]|battlefield
other={1}{U} name(Choose octopus)
@@ -60261,6 +60412,20 @@ power=4
toughness=5
[/card]
[card]
name=Necrosquito
abilities=flying
auto=2/2 ueot
auto=transforms((,newability[counter(0/0.2.Oil)],newability[-2/-2])) ueot
anyzone=hascntoil/hascntoil cdaactive
auto=@movedto(other *[creature;artifact]|graveyard) from(mybattlefield):name(Put oil counter) counter(0/0,1,Oil)
text=Flying -- Necrosquito enters the battlefield with two oil counters on it. -- Necrosquito gets +1/+1 for each oil counter on it. -- Whenever another creature or artifact you control is put into a graveyard from the battlefield, put an oil counter on Necrosquito.
mana={3}{B}
type=Creature
subtype=Phyrexian Insect
power=0
toughness=0
[/card]
[card]
name=Necrosynthesis
target=creature
aicode=activate target(*[zpos<=power]|mylibrary) moveto(myhand) and!( all(other *[zpos<=power]|mylibrary) moveto(myreveal) and !( bottomoflibrary )! )!
@@ -77481,6 +77646,17 @@ power=3
toughness=3
[/card]
[card]
name=Scheming Aspirant
auto=@proliferateof(player):name(You gain 2 life) life:2 controller
auto=@proliferateof(player):name(Opponent loses 2 life) life:-2 opponent
text=Whenever you proliferate, each opponent loses 2 life and you gain 2 life.
mana={1}{B}
type=Creature
subtype=Phyrexian Advisor
power=1
toughness=3
[/card]
[card]
name=Scheming Symmetry
auto=ability$!choice name(search a card) notatarget(*|mylibrary) moveto(mylibrary)!$ controller
auto=ability$!choice name(search a card) notatarget(*|mylibrary) moveto(mylibrary)!$ opponent
@@ -82201,6 +82377,26 @@ power=4
toughness=5
[/card]
[card]
name=Skrelv, Defector Mite
abilities=poisontoxic,cantblock
auto={W}{T}:name(Choose white) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from white],newability[cantbeblockedby(creature[white])])) ueot
auto={W}{T}:name(Choose red) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from red],newability[cantbeblockedby(creature[red])])) ueot
auto={W}{T}:name(Choose black) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from black],newability[cantbeblockedby(creature[black])])) ueot
auto={W}{T}:name(Choose green) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from green],newability[cantbeblockedby(creature[green])])) ueot
auto={W}{T}:name(Choose blue) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from blue],newability[cantbeblockedby(creature[blue])])) ueot
auto={L:2}{T}:name(Pay life and choose white) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from white],newability[cantbeblockedby(creature[white])])) ueot
auto={L:2}{T}:name(Pay life and choose red) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from red],newability[cantbeblockedby(creature[red])])) ueot
auto={L:2}{T}:name(Pay life and choose black) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from black],newability[cantbeblockedby(creature[black])])) ueot
auto={L:2}{T}:name(Pay life and choose green) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from green],newability[cantbeblockedby(creature[green])])) ueot
auto={L:2}{T}:name(Pay life and choose blue) target(other creature|myBattlefield) transforms((,newability[poisontoxic],newability[protection from blue],newability[cantbeblockedby(creature[blue])])) ueot
text=Toxic 1 (Players dealt combat damage by this creature also get a poison counter.) -- Skrelv, Defector Mite can't block. -- {W/P}, {T}: Choose a color. Another target creature you control gains toxic 1 and hexproof from that color until end of turn. It can't be blocked by creatures of that color this turn. ({W/P} can be paid with either {W} or 2 life.)
mana={W}
type=Legendary Artifact Creature
subtype=Phyrexian Mite
power=1
toughness=1
[/card]
[card]
name=Skrelv's Hive
auto=@each my upkeep:life:-1 controller && _PHYREXIANMITETOKEN_
auto=this(variable{opponentpoisoncount}>2) lord(other creature[poisontoxic]|myBattlefield) lifelink
@@ -90606,6 +90802,20 @@ type=Legendary Planeswalker
subtype=Teferi
[/card]
[card]
name=Tekuthal, Inquiry Dominus
abilities=flying
auto=@proliferateof(player) except(this):name(Proliferate twice) name(Proliferate twice) notatarget(proliferation) proliferate
auto=this(variable{totcntallanycnt}>2) {1}{U}{U}:name(Remove 3 counters) transforms((,newability[thisforeach(variable{3}) ability$!name(Remove a counter) name(Remove a counter) target(other *[counter{any}]|battlefield) removesinglecountertype(1)!$ controller],newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>=1) indestructible])) forever
auto=this(variable{totcntallanycnt}>2) {1}{U}{L:2}:name(Pay 2 life and remove 3 counters) transforms((,newability[thisforeach(variable{3}) ability$!name(Remove a counter) name(Remove a counter) target(other *[counter{any}]|battlefield) removesinglecountertype(1)!$ controller],newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>=1) indestructible])) forever
auto=this(variable{totcntallanycnt}>2) {1}{L:4}:name(Pay 4 life and remove 3 counters) transforms((,newability[thisforeach(variable{3}) ability$!name(Remove a counter) name(Remove a counter) target(other *[counter{any}]|battlefield) removesinglecountertype(1)!$ controller],newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>=1) indestructible])) forever
text=Flying -- If you would proliferate, proliferate twice instead. -- {1}{U/P}{U/P}, Remove three counters from among other artifacts, creatures, and planeswalkers you control: Put an indestructible counter on Tekuthal, Inquiry Dominus. ({U/P} can be paid with either {U} or 2 life.)
mana={2}{U}{U}
type=Legendary Creature
subtype=Phyrexian Horror
power=3
toughness=5
[/card]
[card]
name=Telepathy
abilities=showopponenthand
text=Your opponents play with their hands revealed.
@@ -96102,7 +96312,7 @@ type=Instant
name=Tyrite Sanctum
auto={T}:add{C}
auto={2}{T}:name(Creature becomes god) target(creature[legendary]|battlefield) transforms((God,newability[counter(1/1)])) forever
auto={4}{T}{S}:name(Sacrifice and put indestructible counter) target(*[god]|battlefield) transforms((,newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>=1) indestructible])) forever dontremove
auto={4}{T}{S}:name(Sacrifice and put indestructible counter) target(*[god]|battlefield) transforms((,newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>=1) indestructible])) forever
text={T}: Add {C}. -- {2}, {T}: Target legendary creature becomes a God in addition to its other types. Put a +1/+1 counter on it. -- {4}, {T}, Sacrifice Tyrite Sanctum: Put an indestructible counter on target God.
type=Land
[/card]

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 10-06-2023
#We sorted this in alphabetical order - Luruz & Vitty85 15-06-2023
[card]
name=Abian, Luvion Usurper
auto=counter(0/0,5,loyalty)
@@ -1434,6 +1434,60 @@ type=Legendary Planeswalker
subtype=Jace
[/card]
[card]
name=Jace, the Perfected Mind
auto=if paid(alternative) then counter(0/0,3,loyalty)
auto=ifnot paid(alternative) then counter(0/0,5,loyalty)
auto={C(0/0,+1,Loyalty)}:name(+1: Target creature gains -3/-0) target(creature|battlefield) transforms((,newability[-3/-0])) uynt
auto={C(0/0,+1,Loyalty)}:name(+1: Don't target any creature) donothing
auto={C(0/0,-2,Loyalty)}:name(-2: You mill 3 cards) deplete:3 controller && if type(*|mygraveyard)~morethan~19 then draw:3 controller else if type(*|opponentgraveyard)~morethan~19 then draw:3 controller else draw:1 controller
auto={C(0/0,-2,Loyalty)}:name(-2: Opponent mills 3 cards) deplete:3 opponent && if type(*|mygraveyard)~morethan~19 then draw:3 controller else if type(*|opponentgraveyard)~morethan~19 then draw:3 controller else draw:1 controller
auto={C(0/0,-1,Loyalty)}:name(-1: You mill 1 card three times) thisforeach(variable{3}) ability$!name(Mill 1 card) name(Mill 1 card) deplete:1!$ controller
auto={C(0/0,-1,Loyalty)}:name(-1: Opponent mills 1 card three times) thisforeach(variable{3}) ability$!name(Mill 1 card) name(Mill 1 card) deplete:1!$ opponent
auto={C(0/0,-2,Loyalty)}:name(-2: You mill 2 cards three times) thisforeach(variable{3}) ability$!name(Mill 2 cards) name(Mill 2 cards) deplete:2!$ controller
auto={C(0/0,-2,Loyalty)}:name(-2: Opponent mills 2 cards three times) thisforeach(variable{3}) ability$!name(Mill 2 cards) name(Mill 2 cards) deplete:2!$ opponent
auto={C(0/0,-3,Loyalty)}:name(-3: You mill 3 cards three times) thisforeach(variable{3}) ability$!name(Mill 3 cards) name(Mill 3 cards) deplete:3!$ controller
auto={C(0/0,-3,Loyalty)}:name(-3: Opponent mills 3 cards three times) thisforeach(variable{3}) ability$!name(Mill 3 cards) name(Mill 3 cards) deplete:3!$ opponent
auto={C(0/0,-4,Loyalty)}:name(-4: You mill 4 cards three times) thisforeach(variable{3}) ability$!name(Mill 4 cards) name(Mill 4 cards) deplete:4!$ controller
auto={C(0/0,-4,Loyalty)}:name(-4: Opponent mills 4 cards three times) thisforeach(variable{3}) ability$!name(Mill 4 cards) name(Mill 4 cards) deplete:4!$ opponent
auto={C(0/0,-5,Loyalty)}:name(-5: You mill 5 cards three times) thisforeach(variable{3}) ability$!name(Mill 5 cards) name(Mill 5 cards) deplete:5!$ controller
auto={C(0/0,-5,Loyalty)}:name(-5: Opponent mills 5 cards three times) thisforeach(variable{3}) ability$!name(Mill 5 cards) name(Mill 5 cards) deplete:5!$ opponent
auto={C(0/0,-6,Loyalty)}:name(-6: You mill 6 cards three times) thisforeach(variable{3}) ability$!name(Mill 6 cards) name(Mill 6 cards) deplete:6!$ controller
auto={C(0/0,-6,Loyalty)}:name(-6: Opponent mills 6 cards three times) thisforeach(variable{3}) ability$!name(Mill 6 cards) name(Mill 6 cards) deplete:6!$ opponent
auto={C(0/0,-7,Loyalty)}:name(-7: You mill 7 cards three times) thisforeach(variable{3}) ability$!name(Mill 7 cards) name(Mill 7 cards) deplete:7!$ controller
auto={C(0/0,-7,Loyalty)}:name(-7: Opponent mills 7 cards three times) thisforeach(variable{3}) ability$!name(Mill 7 cards) name(Mill 7 cards) deplete:7!$ opponent
auto={C(0/0,-8,Loyalty)}:name(-8: You mill 8 cards three times) thisforeach(variable{3}) ability$!name(Mill 8 cards) name(Mill 8 cards) deplete:8!$ controller
auto={C(0/0,-8,Loyalty)}:name(-8: Opponent mills 8 cards three times) thisforeach(variable{3}) ability$!name(Mill 8 cards) name(Mill 8 cards) deplete:8!$ opponent
auto={C(0/0,-9,Loyalty)}:name(-9: You mill 9 cards three times) thisforeach(variable{3}) ability$!name(Mill 9 cards) name(Mill 9 cards) deplete:9!$ controller
auto={C(0/0,-9,Loyalty)}:name(-9: Opponent mills 9 cards three times) thisforeach(variable{3}) ability$!name(Mill 9 cards) name(Mill 9 cards) deplete:9!$ opponent
auto={C(0/0,-10,Loyalty)}:name(-10: You mill 10 cards three times) thisforeach(variable{3}) ability$!name(Mill 10 cards) name(Mill 10 cards) deplete:10!$ controller
auto={C(0/0,-10,Loyalty)}:name(-10: Opponent mills 10 cards three times) thisforeach(variable{3}) ability$!name(Mill 10 cards) name(Mill 10 cards) deplete:10!$ opponent
auto={C(0/0,-11,Loyalty)}:name(-11: You mill 11 cards three times) thisforeach(variable{3}) ability$!name(Mill 11 cards) name(Mill 11 cards) deplete:11!$ controller
auto={C(0/0,-11,Loyalty)}:name(-11: Opponent mills 11 cards three times) thisforeach(variable{3}) ability$!name(Mill 11 cards) name(Mill 11 cards) deplete:11!$ opponent
auto={C(0/0,-12,Loyalty)}:name(-12: You mill 12 cards three times) thisforeach(variable{3}) ability$!name(Mill 12 cards) name(Mill 12 cards) deplete:12!$ controller
auto={C(0/0,-12,Loyalty)}:name(-12: Opponent mills 12 cards three times) thisforeach(variable{3}) ability$!name(Mill 12 cards) name(Mill 12 cards) deplete:12!$ opponent
auto={C(0/0,-13,Loyalty)}:name(-13: You mill 13 cards three times) thisforeach(variable{3}) ability$!name(Mill 13 cards) name(Mill 13 cards) deplete:13!$ controller
auto={C(0/0,-13,Loyalty)}:name(-13: Opponent mills 13 cards three times) thisforeach(variable{3}) ability$!name(Mill 13 cards) name(Mill 13 cards) deplete:13!$ opponent
auto={C(0/0,-14,Loyalty)}:name(-14: You mill 14 cards three times) thisforeach(variable{3}) ability$!name(Mill 14 cards) name(Mill 14 cards) deplete:14!$ controller
auto={C(0/0,-14,Loyalty)}:name(-14: Opponent mills 14 cards three times) thisforeach(variable{3}) ability$!name(Mill 14 cards) name(Mill 14 cards) deplete:14!$ opponent
auto={C(0/0,-15,Loyalty)}:name(-15: You mill 15 cards three times) thisforeach(variable{3}) ability$!name(Mill 15 cards) name(Mill 15 cards) deplete:15!$ controller
auto={C(0/0,-15,Loyalty)}:name(-15: Opponent mills 15 cards three times) thisforeach(variable{3}) ability$!name(Mill 15 cards) name(Mill 15 cards) deplete:15!$ opponent
auto={C(0/0,-16,Loyalty)}:name(-16: You mill 16 cards three times) thisforeach(variable{3}) ability$!name(Mill 16 cards) name(Mill 16 cards) deplete:16!$ controller
auto={C(0/0,-16,Loyalty)}:name(-16: Opponent mills 16 cards three times) thisforeach(variable{3}) ability$!name(Mill 16 cards) name(Mill 16 cards) deplete:16!$ opponent
auto={C(0/0,-17,Loyalty)}:name(-17: You mill 17 cards three times) thisforeach(variable{3}) ability$!name(Mill 17 cards) name(Mill 17 cards) deplete:17!$ controller
auto={C(0/0,-17,Loyalty)}:name(-17: Opponent mills 17 cards three times) thisforeach(variable{3}) ability$!name(Mill 17 cards) name(Mill 17 cards) deplete:17!$ opponent
auto={C(0/0,-18,Loyalty)}:name(-18: You mill 18 cards three times) thisforeach(variable{3}) ability$!name(Mill 18 cards) name(Mill 18 cards) deplete:18!$ controller
auto={C(0/0,-18,Loyalty)}:name(-18: Opponent mills 18 cards three times) thisforeach(variable{3}) ability$!name(Mill 18 cards) name(Mill 18 cards) deplete:18!$ opponent
auto={C(0/0,-19,Loyalty)}:name(-19: You mill 19 cards three times) thisforeach(variable{3}) ability$!name(Mill 19 cards) name(Mill 19 cards) deplete:19!$ controller
auto={C(0/0,-19,Loyalty)}:name(-19: Opponent mills 19 cards three times) thisforeach(variable{3}) ability$!name(Mill 19 cards) name(Mill 19 cards) deplete:19!$ opponent
auto={C(0/0,-20,Loyalty)}:name(-20: You mill 20 cards three times) thisforeach(variable{3}) ability$!name(Mill 20 cards) name(Mill 20 cards) deplete:20!$ controller
auto={C(0/0,-20,Loyalty)}:name(-20: Opponent mills 20 cards three times) thisforeach(variable{3}) ability$!name(Mill 20 cards) name(Mill 20 cards) deplete:20!$ opponent
text=Compleated ({U/P} can be paid with {U} or 2 life. If life was paid, this planeswalker enters with two fewer loyalty counters.) -- [+1]: Until your next turn, up to one target creature gets -3/-0. -- [-2]: Target player mills three cards. Then if a graveyard has twenty or more cards in it, you draw three cards. Otherwise, you draw a card. -- [-X]: Target player mills three times X cards.
other={2}{U}{L:2} name(Pay 2 life)
mana={2}{U}{U}
type=Legendary Planeswalker
subtype=Jace
[/card]
[card]
name=Jace, Unraveler of Secrets
auto=counter(0/0,5,loyalty)
aicode=activate transforms((,newability[draw:1 controller])) oneshot
@@ -3068,6 +3122,19 @@ type=Legendary Planeswalker
subtype=Tezzeret
[/card]
[card]
name=The Eternal Wanderer
#MISSING: No more than one creature can attack The Eternal Wanderer each combat
auto=counter(0/0,5,loyalty)
auto={C(0/0,+1,Loyalty)}:name(+1: Exile creature or artifact) target(*[artifact;creature]|battlefield) moveto(ownerexile) and!( transforms((,newability[phaseaction[my endofturn once sourceinplay] moveto(ownerbattlefield)])) forever )!
auto={C(0/0,+1,Loyalty)}:name(+1: Don't exile creature or artifact) donothing
auto={C(0/0,0,Loyalty)}:name(+0: Create a samurai) token(Samurai,Creature Samurai,2/2,white,double strike)
auto=this(variable{type:creature:mybattlefield}>0) {C(0/0,-4,Loyalty)}:name(-4: Sacrifice creatures) name(-4: Sacrifice creatures) target(creature|mybattlefield) transforms((,newability[all(other creature|mybattlefield) sacrifice],newability[name(Choose opponent creature) name(Choose opponent creature) target(creature|opponentbattlefield) transforms((,newability[all(other creature|mybattlefield) sacrifice])) ueot])) ueot
auto=this(variable{type:creature:mybattlefield}=0) {C(0/0,-4,Loyalty)}:name(-4: Sacrifice creatures) name(-4: Sacrifice creatures) target(<type:creature:opponentbattlefieldminus1minusend>creature|opponentbattlefield) transforms((,newability[sacrifice])) forever
text=No more than one creature can attack The Eternal Wanderer each combat. -- [+1]: Exile up to one target artifact or creature. Return that card to the battlefield under its owner's control at the beginning of that player's next end step. -- [0]: Create a 2/2 white Samurai creature token with double strike. -- [-4]: For each player, choose a creature that player controls. Each player sacrifices all creatures they control not chosen this way.
mana={4}{W}{W}
type=Legendary Planeswalker
[/card]
[card]
name=The Royal Scions
auto=counter(0/0,5,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Draw and Discard) draw:1 controller && ability$!name(discard a card) notatarget(*|myhand) reject!$ controller
@@ -3315,6 +3382,20 @@ type=Legendary Planeswalker
subtype=Vivien
[/card]
[card]
name=Vraska, Betrayal's Sting
auto=if paid(alternative) then counter(0/0,4,loyalty)
auto=ifnot paid(alternative) then counter(0/0,6,loyalty)
auto={C(0/0,0,Loyalty)}:name(0: Draw card and lose life) draw:1 controller && life:-1 controller && _PROLIFERATE_
auto={C(0/0,-2,Loyalty)}:name(-2: Creature becomes treasure) target(creature|battlefield) flip(Treasure Sur)
auto={C(0/0,-9,Loyalty)}:name(-9: You get poison counter) alterpoison:9minusmypoisoncountminusend controller
auto={C(0/0,-9,Loyalty)}:name(-9: Opponent gets poison counter) alterpoison:9minusopponentpoisoncountminusend opponent
text=Compleated ({B/P} can be paid with {B} or 2 life. If life was paid, this planeswalker enters with two fewer loyalty counters.) -- [0]: You draw a card and you lose 1 life. Proliferate. -- [-2]: Target creature becomes a Treasure artifact with "{T}, Sacrifice this artifact: Add one mana of any color" and loses all other card types and abilities. -- [-9]: If target player has fewer than nine poison counters, they get a number of poison counters equal to the difference.
other={2}{B}{L:2} name(Pay 2 life)
mana={4}{B}{B}
type=Legendary Planeswalker
subtype=Vraska
[/card]
[card]
name=Vraska, Golgari Queen
auto=counter(0/0,4,loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: May sacrifice to gain 1 life and draw a card) ability$!name(May sacrifice) may sacrifice notatarget(other *|myBattlefield) && life:1 controller && draw:1 controller!$ controller

View File

@@ -2671,6 +2671,15 @@ mana={2}
type=Artifact
[/card]
[card]
name=Drivnod, Carnage Dominus
text=If a creature dying causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- {B/P}{B/P}, Exile three creature cards from your graveyard: Put an indestructible counter on Drivnod, Carnage Dominus. ({B/P} can be paid with either {B} or 2 life.)
mana={3}{B}{B}
type=Legendary Creature
subtype=Phyrexian Horror
power=8
toughness=3
[/card]
[card]
name=Dromoka's Command
text=Choose two -- Prevent all damage target instant or sorcery spell would deal this turn. -- Target player sacrifices an enchantment. -- Put a +1/+1 counter on target creature. -- Target creature you control fights target creature you don't control.
mana={G}{W}
@@ -2798,9 +2807,6 @@ subtype=Aura
[card]
name=Elenda and Azor
abilities=flying
auto=Flying_WARD_(2)
auto=_ATTACKING_may pay( {x}{w}{u}{b} draw x cards
auto=@each endofturn:create(1/1 black vampire knight:creature 1/1 black vampire knight:number:of:lifelink equal to the number of cards you've drawn this turn)
text=Flying, ward {2} -- Whenever Elenda and Azor attacks, you may pay {X}{W}{U}{B}. If you do, draw X cards. -- At the beginning of each end step, you may pay 4 life. If you do, create a number of 1/1 black Vampire Knight creature tokens with lifelink equal to the number of cards you've drawn this turn.
mana={3}{W}{U}{B}
type=Legendary Creature
@@ -2809,6 +2815,16 @@ power=6
toughness=6
[/card]
[card]
name=Elesh Norn, Mother of Machines
abilities=vigilance
text=Vigilance -- If a permanent entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. -- Permanents entering the battlefield don't cause abilities of permanents your opponents control to trigger.
mana={4}{W}
type=Legendary Creature
subtype=Phyrexian Praetor
power=4
toughness=7
[/card]
[card]
name=Elkin Lair
text=At the beginning of each player's upkeep, that player exiles a card at random from his or her hand. The player may play that card this turn. At the beginning of the next end step, if the player hasn't played the card, he or she puts it into his or her graveyard.
mana={3}{R}

View File

@@ -553,6 +553,8 @@ public:
amount = amount / 2;
e->player->poisonCount = e->player->poisonCount - amount;
}
e->player->thatmuch = e->nb_count;
this->source->thatmuch = e->nb_count;
return 1;
}
@@ -596,6 +598,8 @@ public:
amount = amount / 2;
e->player->energyCount = e->player->energyCount - amount;
}
e->player->thatmuch = e->nb_count;
this->source->thatmuch = e->nb_count;
return 1;
}
@@ -639,6 +643,8 @@ public:
amount = amount / 2;
e->player->experienceCount = e->player->experienceCount - amount;
}
e->player->thatmuch = e->nb_count;
this->source->thatmuch = e->nb_count;
return 1;
}
@@ -677,6 +683,37 @@ public:
}
};
class TrplayerProliferated: public Trigger
{
public:
bool thiscontroller, thisopponent;
MTGCardInstance * proliferateException; //added exception to avid a proliferation loop (eg. Tekuthal, Inquiry Dominus)
TrplayerProliferated(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool thiscontroller = false, bool thisopponent = false, MTGCardInstance * proliferateException = NULL) :
Trigger(observer, id, source, once, tc), thiscontroller(thiscontroller), thisopponent(thisopponent), proliferateException(proliferateException)
{
}
int triggerOnEventImpl(WEvent * event)
{
WEventplayerProliferated * e = dynamic_cast<WEventplayerProliferated *> (event);
if (!e) return 0;
if (proliferateException && e->source && !strcmp(proliferateException->data->name.c_str(), e->source->data->name.c_str())) return 0; //If the source of proliferation it's the exception card it doesn't have effect (loop avoidance);
if (!tc->canTarget(e->player)) return 0;
if(thiscontroller)
if(e->player != source->controller())
return 0;
if(thisopponent)
if(e->player == source->controller())
return 0;
return 1;
}
TrplayerProliferated * clone() const
{
return NEW TrplayerProliferated(*this);
}
};
class TrplayerInitiative: public Trigger
{
public:
@@ -1517,7 +1554,7 @@ public:
int triggeredTurn;
MTGCardInstance * counterException; //added exception to avid a counter loop (eg. Doubling Season)
TrTotalCounter(GameObserver* observer, int id, MTGCardInstance * source, Counter * counter, TargetChooser * tc, int type = 0, bool once = false, bool duplicate = false, bool half = false, int plus = 0, bool limitOnceATurn = false, MTGCardInstance * counterException = NULL) :
Trigger(observer, id, source, once, tc), counter(counter), type(type), duplicate(duplicate), plus(plus), limitOnceATurn(limitOnceATurn), counterException(counterException)
Trigger(observer, id, source, once, tc), counter(counter), type(type), duplicate(duplicate), half(half), plus(plus), limitOnceATurn(limitOnceATurn), counterException(counterException)
{
triggeredTurn = -1;
}
@@ -1543,6 +1580,7 @@ public:
e->targetCard->counters->removeCounter(e->name.c_str(),e->power,e->toughness,true,true,e->source);
}
e->source->thatmuch = e->totalamount + plus;
this->source->thatmuch = e->totalamount + plus;
}
else if (duplicate){
if(type == 1) {
@@ -1553,6 +1591,7 @@ public:
e->targetCard->counters->removeCounter(e->name.c_str(),e->power,e->toughness,true,true,e->source);
}
e->source->thatmuch = e->totalamount * 2;
this->source->thatmuch = e->totalamount * 2;
}
else if (half){
int amount = e->totalamount;
@@ -1567,6 +1606,10 @@ public:
e->targetCard->counters->addCounter(e->name.c_str(),e->power,e->toughness,true,true,e->source);
}
e->source->thatmuch = e->totalamount - amount;
this->source->thatmuch = e->totalamount - amount;
} else {
e->source->thatmuch = e->totalamount;
this->source->thatmuch = e->totalamount;
}
triggeredTurn = game->turn;
return 1;
@@ -1784,6 +1827,7 @@ class AAProliferate: public ActivatedAbility
{
public:
bool allcounters;
bool notrigger;
AAProliferate(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, ManaCost * cost = NULL);
int resolve();
const string getMenuText();

View File

@@ -404,6 +404,15 @@ struct WEventplayerMonarch : public WEvent {
virtual Targetable * getTarget(Player * player);
};
//proliferate event
struct WEventplayerProliferated : public WEvent {
WEventplayerProliferated(Player * player);
Player * player;
MTGCardInstance * source;
using WEvent::getTarget;
virtual Targetable * getTarget(Player * player);
};
//initiative event
struct WEventplayerInitiative : public WEvent {
WEventplayerInitiative(Player * player);

View File

@@ -3052,7 +3052,7 @@ int AADuplicateCounters::resolve()
}
else
{
MTGAbility * a = NEW MenuAbility(game, this->GetId(), target, source,false,pcounters);
MTGAbility * a = NEW MenuAbility(game, this->GetId(), target, source, true, pcounters);
a->resolve();
}
}
@@ -3082,6 +3082,7 @@ ActivatedAbility(observer, id, source, cost, 0)
{
this->GetId();
allcounters = false;
notrigger = false;
}
int AAProliferate::resolve()
@@ -3138,6 +3139,11 @@ int AAProliferate::resolve()
a->resolve();
}
}
if(!notrigger){
WEventplayerProliferated * e = NEW WEventplayerProliferated(source->controller());
e->source = source;
game->receiveEvent(e);
}
return 1;
}

View File

@@ -1509,6 +1509,24 @@ TriggeredAbility * AbilityFactory::parseTrigger(string s, string, int id, Spell
return NEW TrplayerExperienced(observer, id, card, tc, once, false, true, plus, duplicate, half);
}
//proliferated - controller of card
if (TargetChooser * tc = parseSimpleTC(s, "proliferateof", card)){
TargetChooser *exception = parseSimpleTC(s, "except", card); // Added a new keyword except to specify an exception in order to avoid proliferation loop (eg. Tekuthal, Inquiry Dominus)
if(exception)
return NEW TrplayerProliferated(observer, id, card, tc, once, true, false, exception->source);
else
return NEW TrplayerProliferated(observer, id, card, tc, once, true, false);
}
//proliferated - opponent of card controller
if (TargetChooser * tc = parseSimpleTC(s, "proliferatefoeof", card)){
TargetChooser *exception = parseSimpleTC(s, "except", card); // Added a new keyword except to specify an exception in order to avoid proliferation loop (eg. Tekuthal, Inquiry Dominus)
if(exception)
return NEW TrplayerProliferated(observer, id, card, tc, once, false, true, exception->source);
else
return NEW TrplayerProliferated(observer, id, card, tc, once, false, true);
}
//becomes monarch - controller of card
if (TargetChooser * tc = parseSimpleTC(s, "becomesmonarchof", card))
return NEW TrplayerMonarch(observer, id, card, tc, once, true, false);
@@ -5353,9 +5371,12 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
MTGAbility * a = NEW AAProliferate(observer, id, card, target);
a->oneShot = 1;
a->canBeInterrupted = false;
bool noevent = (s.find("noproftrg") != string::npos)?true:false; // Added a way to don't trigger @proliferate effect.
((AAProliferate*)a)->allcounters = true;
((AAProliferate*)a)->notrigger = noevent;
return a;
}
//proliferate all counters
found = s.find("propagate");
if (found != string::npos)
@@ -5363,7 +5384,9 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
MTGAbility * a = NEW AAProliferate(observer, id, card, target);
a->oneShot = 1;
a->canBeInterrupted = false;
bool noevent = (s.find("noproftrg") != string::npos)?true:false; // Added a way to don't trigger @proliferated effect.
((AAProliferate*)a)->allcounters = true;
((AAProliferate*)a)->notrigger = noevent;
return a;
}

View File

@@ -317,6 +317,11 @@ WEventplayerMonarch::WEventplayerMonarch(Player * player) :
{
}
WEventplayerProliferated::WEventplayerProliferated(Player * player) :
player(player)
{
}
WEventplayerInitiative::WEventplayerInitiative(Player * player) :
player(player)
{
@@ -700,6 +705,12 @@ Targetable * WEventplayerMonarch::getTarget(Player * player)
return NULL;
}
Targetable * WEventplayerProliferated::getTarget(Player * player)
{
if (player) return player;
return NULL;
}
Targetable * WEventplayerInitiative::getTarget(Player * player)
{
if (player) return player;