Added / fixed some primitives, updated missing cards by set list, added new "reconfigure" ability based on "equip" one.

This commit is contained in:
Vittorio Alfieri
2023-06-04 20:11:40 +02:00
parent 50251e460b
commit f8fc173e86
7 changed files with 199 additions and 62 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 02-06-2023
#I sorted this programmatically - Thanks to Vitty85 04-06-2023
[card]
name=+2 Mace
auto={3}:equip
@@ -348,6 +348,19 @@ type=Legendary Enchantment
subtype=Background
[/card]
[card]
name=Acquisition Octopus
auto={2}:reconfigure
auto=this(cantargetcard(*[attached]|*) {2}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):name(Draw a card) name(Draw a card) draw:1 controller]))
auto=@combatdamaged(player) from(this):name(Draw a card) name(Draw a card) ability$!name(Draw a card) name(Draw a card) draw:1 controller!$ controller
text=Whenever Acquisition Octopus or equipped creature deals combat damage to a player, draw a card. -- Reconfigure {2} ({2}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={2}{U}
type=Artifact Creature
subtype=Equipment Octopus
power=2
toughness=2
[/card]
[card]
name=Acquisitions Expert
aicode=activate reject notatarget(*|opponenthand)
auto=reveal:calculateparty revealzone(opponenthand) optionone name(choose discards) notatarget(<1>*|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend
@@ -4020,6 +4033,19 @@ mana={1}{W}
type=Instant
[/card]
[card]
name=Armguard Familiar
auto={4}:reconfigure
auto=this(cantargetcard(*[attached]|*) {4}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((,newability[2/2],newability[@targeted(this) from(*|opponentstack):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*|opponentstack) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot]))
auto=_WARD_(2)
text=Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- Equipped creature gets +2/+1 and has ward {2}. -- Reconfigure {4} ({4}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={1}{U}
type=Artifact Creature
subtype=Equipment Beast
power=2
toughness=1
[/card]
[card]
name=Armix, Filigree Thrasher
abilities=partner
auto=_ATTACKING_may name(discard a card) reject notatarget(*|myhand) && ability$!name(Choose creature) target(creature|opponentbattlefield) -type:artifact:mygraveyardplustype:artifact:myBattlefieldplusend/-type:artifact:mygraveyardplustype:artifact:myBattlefieldplusend ueot!$ controller
@@ -8101,6 +8127,19 @@ type=Artifact
subtype=Equipment
[/card]
[card]
name=Blade of the Oni
abilities=menace
auto={2}{B}{B}:reconfigure
auto=this(cantargetcard(*[attached]|*) {2}{B}{B}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((Demon,setpower=5,settoughness=5,newcolors[black],newability[menace]))
text=Menace -- Equipped creature has base power and toughness 5/5, has menace, and is a black Demon in addition to its other colors and types. -- Reconfigure {2}{B}{B} ({2}{B}{B}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={1}{B}
type=Artifact Creature
subtype=Equipment Demon
power=3
toughness=1
[/card]
[card]
name=Blade-Blizzard Kitsune
abilities=double strike
autohand={3}{W}{N}:ninjutsu
@@ -10357,6 +10396,16 @@ power=2
toughness=1
[/card]
[card]
name=Born to Drive
target=artifact,creature
auto=teach(creature) foreach(*[creature;vehicle]|mybattlefield) 1/1
autohand={2}{W}{D}:name(Create 2 pilots) token(Pilot)*2
text=Enchant artifact or creature -- As long as enchanted permanent is a creature, it gets +1/+1 for each creature and/or Vehicle you control. -- Channel - {2}{W}, Discard Born to Drive: Create two 1/1 colorless Pilot creature tokens with "This creature crews Vehicles as though its power were 2 greater."
mana={2}{W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Boros Challenger
abilities=mentor
auto=_ATTACKING_name(Choose attacking creature) transforms((,newability[target(other creature[attacking;power<=pminus1minusend]|myBattlefield) counter(1/1)])) oneshot
@@ -10369,16 +10418,6 @@ power=2
toughness=3
[/card]
[card]
name=Born to Drive
target=artifact,creature
auto=teach(creature) foreach(*[creature;vehicle]|mybattlefield) 1/1
autohand={2}{W}{D}:name(Create 2 pilots) token(Pilot)*2
text=Enchant artifact or creature -- As long as enchanted permanent is a creature, it gets +1/+1 for each creature and/or Vehicle you control. -- Channel - {2}{W}, Discard Born to Drive: Create two 1/1 colorless Pilot creature tokens with "This creature crews Vehicles as though its power were 2 greater."
mana={2}{W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Boros Locket
auto={T}:Add{R}
auto={T}:Add{W}
@@ -13866,6 +13905,19 @@ power=3
toughness=2
[/card]
[card]
name=Chainflail Centipede
auto={2}:reconfigure
auto=this(cantargetcard(*[attached]|*) {2}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((,newability[@combat(attacking) source(this):name(Gains 2/0) name(Gains 2/0) 2/0 ueot]))
auto=@combat(attacking) source(this):name(Gains 2/0) name(Gains 2/0) ability$!name(Gains 2/0) all(mysource) 2/0 ueot!$ controller
text=Whenever Chainflail Centipede or equipped creature attacks, it gets +2/+0 until end of turn. -- Reconfigure {2} ({2}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={2}{B}
type=Artifact Creature
subtype=Equipment Insect
power=2
toughness=2
[/card]
[card]
name=Chains of Custody
target=creature|myBattlefield
auto=(blink)forsrc target(*[-land]|opponentbattlefield)
@@ -16074,6 +16126,19 @@ power=1
toughness=1
[/card]
[card]
name=Cloudsteel Kirin
abilities=flying
auto={5}:reconfigure
auto=this(cantargetcard(*[attached]|*) {5}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((,newability[flying],newability[cantlose]))
text=Flying -- Equipped creature has flying and "You can't lose the game and your opponents can't win the game." -- Reconfigure {5} ({5}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={2}{W}
type=Artifact Creature
subtype=Equipment Kirin
power=3
toughness=2
[/card]
[card]
name=Clue
auto={S}{2}:name(Draw 1) draw:1 controller
text={2}, Sacrifice this artifact: Draw a card.
@@ -44589,6 +44654,16 @@ power=2
toughness=3
[/card]
[card]
name=Ingenious Leonin
auto={3}{W}:name(Put counter) target(other creature[attacking]|myBattlefield) transforms((,newability[counter(1/1)],newability[if cantargetcard(*[cat]|*) then transforms((,newability[first strike])) ueot])) ueot
text={3}{W}: Put a +1/+1 counter on another target attacking creature you control. If that creature is a Cat, it gains first strike until end of turn.
mana={4}{W}
type=Creature
subtype=Cat Soldier
power=4
toughness=4
[/card]
[card]
name=Ingenious Mastery
other={2}{U} name(Cast without X)
aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot
@@ -49857,6 +49932,20 @@ power=6
toughness=6
[/card]
[card]
name=Komainu Battle Armor
abilities=menace
auto={4}:reconfigure
auto=this(cantargetcard(*[attached]|*) {4}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((,newability[menace],newability[2/2],newability[@combatdamagefoeof(player) from(this):name(Goad opponent creatures) name(Goad opponent creatures) all(creature|opponentbattlefield) _GOAD_]))
auto=@combatdamagefoeof(player) from(this):name(Goad opponent creatures) name(Goad opponent creatures) ability$!name(Goad opponent creatures) all(creature|mybattlefield) _GOAD_!$ controller
text=Menace -- Equipped creature gets +2/+2 and has menace. -- Whenever Komainu Battle Armor or equipped creature deals combat damage to a player, goad each creature that player controls. -- Reconfigure {4} ({4}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={2}{R}
type=Artifact Creature
subtype=Equipment Dog
power=2
toughness=2
[/card]
[card]
name=Kopala, Warden of Waves
auto=@targeted(merfolk|myBattlefield) from(*[instant;sorcery]|opponentzones):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot
text=Spells your opponents cast that target a Merfolk you control cost {2} more to cast. -- Abilities your opponents activate that target a Merfolk you control cost {2} more to activate.
@@ -52326,6 +52415,19 @@ power=3
toughness=3
[/card]
[card]
name=Lion Sash
auto={2}:reconfigure
auto=this(cantargetcard(*[attached]|*) {2}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing
auto=teach(creature) storedhascnt11/storedhascnt11 nonstatic
auto={W}:name(Exile card from graveyard) target(*|graveyard) moveto(exile) and!( if cantargetcard(*[-instant;-sorcery]|*) then all(this) counter(1/1) )!
text={W}: Exile target card from a graveyard. If it was a permanent card, put a +1/+1 counter on Lion Sash. -- Equipped creature gets +1/+1 for each +1/+1 counter on Lion Sash. -- Reconfigure {2} ({2}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={1}{W}
type=Artifact Creature
subtype=Equipment Cat
power=1
toughness=1
[/card]
[card]
name=Liquid Fire
target=creature
auto=choice name(Choose 0) damage:5 targetcontroller
@@ -75039,7 +75141,7 @@ auto={2}{B}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|myb
auto={2}{B}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:name(Sacrifice 18 artifacts) target(creature[power<=18]|mygraveyard) moveto(mybattlefield)
auto={2}{B}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:name(Sacrifice 19 artifacts) target(creature[power<=19]|mygraveyard) moveto(mybattlefield)
auto={2}{B}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:name(Sacrifice 20 artifacts) target(creature[power<=20]|mygraveyard) moveto(mybattlefield)
text=When Ruthless Technomancer enters the battlefield, you may sacrifice another creature you control. If you do, create a number of Treasure tokens equal to that creatures power. -- {2}{B}, Sacrifice X artifacts: Return target creature card with power X or less from your graveyard to the battlefield. X cant be 0.
text=When Ruthless Technomancer enters the battlefield, you may sacrifice another creature you control. If you do, create a number of Treasure tokens equal to that creatureâ??s power. -- {2}{B}, Sacrifice X artifacts: Return target creature card with power X or less from your graveyard to the battlefield. X canâ??t be 0.
mana={3}{B}
type=Creature
subtype=Human Wizard
@@ -89249,6 +89351,19 @@ type=Artifact
subtype=Equipment
[/card]
[card]
name=Tanuki Transplanter
auto={3}:reconfigure
auto=this(cantargetcard(*[attached]|*) {3}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((,newability[@combat(attacking) source(this):name(Add green mana) thisforeach(variable{power}>0) ability$!name(Add green amana) add{G} doesntempty!$ controller]))
auto=@combat(attacking) source(this):name(Add green mana) thisforeach(variable{power}>0) ability$!name(Add green amana) add{G} doesntempty!$ controller
text=Whenever Tanuki Transplanter or equipped creature attacks, add an amount of {G} equal to its power. Until end of turn, you don't lose this mana as steps and phases end. -- Reconfigure {3} ({3}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={3}{G}
type=Artifact Creature
subtype=Equipment Dog
power=2
toughness=4
[/card]
[card]
name=Tapping at the Window
flashback={2}{G}
aicode=activate transforms((,newability[if type(creature[zpos<=3]|mylibrary)~equalto~0 then all(*[zpos<=3]|mylibrary) moveto(mygraveyard) else target(creature[zpos<=3]|mylibrary) moveto(myhand) and!( all(*[zpos<=3]|mylibrary) moveto(mygraveyard) )!])) oneshot
@@ -91197,6 +91312,19 @@ type=Enchantment
subtype=Saga
[/card]
[card]
name=The Reality Chip
abilities=showfromtoplibrary
auto={2}{U}:reconfigure
auto=this(cantargetcard(*[attached]|*) {2}{U}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery
auto=teach(creature) transforms((,newability[canplayfromlibrarytop]))
text=You may look at the top card of your library any time. -- As long as The Reality Chip is attached to a creature, you may play lands and cast spells from the top of your library. -- Reconfigure {2}{U} ({2}{U}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.)
mana={1}{U}
type=Legendary Artifact Creature
subtype=Equipment Jellyfish
power=0
toughness=4
[/card]
[card]
name=The Reaver Cleaver
auto=teach(creature) 1/1
auto=teach(creature) trample

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 23-05-2023
#I sorted this programmatically so the other comments are removed except for AUTO_DEFINE - Vitty85 04-06-2023
[card]
name=Abandon Reason
target=<upto:2>creature
@@ -18579,24 +18579,28 @@ type=Artifact
[/card]
[card]
name=Chalice of the Void
auto=counter(0/0,xx,Charge)
auto=this(counter{0/0.1.Charge}<1) transforms((,newability[@movedTo(*[manacost=0]|stack):choice fizzle all(*[manacost==0]|stack)]))
auto=this(counter{0/0.1.Charge}) transforms((,newability[@movedTo(*[manacost=1]|stack):choice fizzle all(*[manacost==1]|stack)]))
auto=this(counter{0/0.2.Charge}) transforms((,newability[@movedTo(*[manacost=2]|stack):choice fizzle all(*[manacost==2]|stack)]))
auto=this(counter{0/0.3.Charge}) transforms((,newability[@movedTo(*[manacost=3]|stack):choice fizzle all(*[manacost==3]|stack)]))
auto=this(counter{0/0.4.Charge}) transforms((,newability[@movedTo(*[manacost=4]|stack):choice fizzle all(*[manacost==4]|stack)]))
auto=this(counter{0/0.5.Charge}) transforms((,newability[@movedTo(*[manacost=5]|stack):choice fizzle all(*[manacost==5]|stack)]))
auto=this(counter{0/0.6.Charge}) transforms((,newability[@movedTo(*[manacost=6]|stack):choice fizzle all(*[manacost==6]|stack)]))
auto=this(counter{0/0.7.Charge}) transforms((,newability[@movedTo(*[manacost=7]|stack):choice fizzle all(*[manacost==7]|stack)]))
auto=this(counter{0/0.8.Charge}) transforms((,newability[@movedTo(*[manacost=8]|stack):choice fizzle all(*[manacost==8]|stack)]))
auto=this(counter{0/0.9.Charge}) transforms((,newability[@movedTo(*[manacost=9]|stack):choice fizzle all(*[manacost==9]|stack)]))
auto=this(counter{0/0.10.Charge}) transforms((,newability[@movedTo(*[manacost=10]|stack):choice fizzle all(*[manacost==10]|stack)]))
auto=this(counter{0/0.11.Charge}) transforms((,newability[@movedTo(*[manacost=11]|stack):choice fizzle all(*[manacost=11]|stack)]))
auto=this(counter{0/0.12.Charge}) transforms((,newability[@movedTo(*[manacost=12]|stack):choice fizzle all(*[manacost=12]|stack)]))
auto=this(counter{0/0.13.Charge}) transforms((,newability[@movedTo(*[manacost=13]|stack):choice fizzle all(*[manacost=13]|stack)]))
auto=this(counter{0/0.14.Charge}) transforms((,newability[@movedTo(*[manacost=14]|stack):choice fizzle all(*[manacost=14]|stack)]))
auto=this(counter{0/0.15.Charge}) transforms((,newability[@movedTo(*[manacost=15]|stack):choice fizzle all(*[manacost=15]|stack)]))
auto=this(counter{0/0.16.Charge}) transforms((,newability[@movedTo(*[manacost=16]|stack):choice fizzle all(*[manacost=16]|stack)]))
auto=counter(0/0,halfpaid,Charge)
auto=@movedTo(*[manacost=0]|stack) restriction{compare(hascntcharge)~equalto~0}:choice name(Counter spell) fizzle all(*[manacost=0]|stack)
auto=@movedTo(*[manacost=1]|stack) restriction{compare(hascntcharge)~equalto~1}:choice name(Counter spell) fizzle all(*[manacost=1]|stack)
auto=@movedTo(*[manacost=2]|stack) restriction{compare(hascntcharge)~equalto~2}:choice name(Counter spell) fizzle all(*[manacost=2]|stack)
auto=@movedTo(*[manacost=3]|stack) restriction{compare(hascntcharge)~equalto~3}:choice name(Counter spell) fizzle all(*[manacost=3]|stack)
auto=@movedTo(*[manacost=4]|stack) restriction{compare(hascntcharge)~equalto~4}:choice name(Counter spell) fizzle all(*[manacost=4]|stack)
auto=@movedTo(*[manacost=5]|stack) restriction{compare(hascntcharge)~equalto~5}:choice name(Counter spell) fizzle all(*[manacost=5]|stack)
auto=@movedTo(*[manacost=6]|stack) restriction{compare(hascntcharge)~equalto~6}:choice name(Counter spell) fizzle all(*[manacost=6]|stack)
auto=@movedTo(*[manacost=7]|stack) restriction{compare(hascntcharge)~equalto~7}:choice name(Counter spell) fizzle all(*[manacost=7]|stack)
auto=@movedTo(*[manacost=8]|stack) restriction{compare(hascntcharge)~equalto~8}:choice name(Counter spell) fizzle all(*[manacost=8]|stack)
auto=@movedTo(*[manacost=9]|stack) restriction{compare(hascntcharge)~equalto~9}:choice name(Counter spell) fizzle all(*[manacost=9]|stack)
auto=@movedTo(*[manacost=10]|stack) restriction{compare(hascntcharge)~equalto~10}:choice name(Counter spell) fizzle all(*[manacost=10]|stack)
auto=@movedTo(*[manacost=11]|stack) restriction{compare(hascntcharge)~equalto~11}:choice name(Counter spell) fizzle all(*[manacost=11]|stack)
auto=@movedTo(*[manacost=12]|stack) restriction{compare(hascntcharge)~equalto~12}:choice name(Counter spell) fizzle all(*[manacost=12]|stack)
auto=@movedTo(*[manacost=13]|stack) restriction{compare(hascntcharge)~equalto~13}:choice name(Counter spell) fizzle all(*[manacost=13]|stack)
auto=@movedTo(*[manacost=14]|stack) restriction{compare(hascntcharge)~equalto~14}:choice name(Counter spell) fizzle all(*[manacost=14]|stack)
auto=@movedTo(*[manacost=15]|stack) restriction{compare(hascntcharge)~equalto~15}:choice name(Counter spell) fizzle all(*[manacost=15]|stack)
auto=@movedTo(*[manacost=16]|stack) restriction{compare(hascntcharge)~equalto~16}:choice name(Counter spell) fizzle all(*[manacost=16]|stack)
auto=@movedTo(*[manacost=17]|stack) restriction{compare(hascntcharge)~equalto~17}:choice name(Counter spell) fizzle all(*[manacost=17]|stack)
auto=@movedTo(*[manacost=18]|stack) restriction{compare(hascntcharge)~equalto~18}:choice name(Counter spell) fizzle all(*[manacost=18]|stack)
auto=@movedTo(*[manacost=19]|stack) restriction{compare(hascntcharge)~equalto~19}:choice name(Counter spell) fizzle all(*[manacost=19]|stack)
auto=@movedTo(*[manacost>=20]|stack) restriction{compare(hascntcharge)~morethan~19}:choice name(Counter spell) fizzle all(*[manacost>=20]|stack)
text=Chalice of the Void enters the battlefield with X charge counters on it. -- Whenever a player casts a spell with mana value equal to the number of charge counters on Chalice of the Void, counter that spell.
mana={X}{X}
type=Artifact