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

@@ -0,0 +1,18 @@
[card]
name=Swift Reconfiguration
target=creature,vehicle
abilities=flash
text=Flash -- Enchant creature or Vehicle -- Enchanted permanent is a Vehicle artifact with crew 5 and it loses all other card types. (It's not a creature unless it's crewed.)
mana={W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Swift Reconfiguration
target=creature,vehicle
abilities=flash
text=Flash -- Enchant creature or Vehicle -- Enchanted permanent is a Vehicle artifact with crew 5 and it loses all other card types. (It's not a creature unless it's crewed.)
mana={W}
type=Enchantment
subtype=Aura
[/card]

View File

@@ -1,10 +1,7 @@
Primal Command
Rowan Kenrith
Kitsune Ace
Pyre-Sledge Arsonist
Sokenzan Smelter
Hotshot Mechanic
Imperial Recovery Unit
Ossuary Rats
Rodolf Duskbringer
Skullslither Worm
@@ -27,7 +24,6 @@ Zask, Skittering Swarmlord
Dutiful Replicator
Instruments of War
Planar Atlas
Ingenious Leonin
Lita, Mechanical Engineer
Magnanimous Magistrate
Preston, the Vanisher
@@ -476,27 +472,14 @@ Call In a Professional
Whack
Security Rhox
Ormos, Archive Keeper
Ruthless Technomancer
Myojin of Cryptic Dreams
Kami of Celebration
Collision of Realms
Akki Battle Squad
Smoke Spirits' Aid
Komainu Battle Armor
Shorikai, Genesis Engine
Kaima, the Fractured Calm
Access Denied
Katsumasa, the Animator
Imposter Mech
Universal Surveillance
Aerial Surveyor
Swift Reconfiguration
Release to Memory
Kotori, Pilot Prodigy
Kosei, Penitent Warlord
Tanuki Transplanter
One with the Kami
Myojin of Towering Might
Unforgiving One
Silver-Fur Master
Satsuki, the Living Lore
@@ -510,7 +493,6 @@ Atsushi, the Blazing Sky
Dramatist's Puppet
Ambitious Assault
Containment Construct
Lion Sash
March of Otherworldly Light
Akki Ember-Keeper
Bronze Cudgels
@@ -527,7 +509,6 @@ Risona, Asari Commander
Tatsunari, Toad Rider
Soul Transfer
Prodigy's Prototype
Cloudsteel Kirin
Naomi, Pillar of Order
Reckoner Shakedown
Kotose, the Silent Spider
@@ -549,7 +530,6 @@ Webspinner Cuff
Kami of Terrible Secrets
Weaver of Harmony
Teachings of the Kirin
Guardians of Oboro
Go-Shintai of Lost Wisdom
Invoke the Ancients
Thundering Raiju
@@ -568,8 +548,6 @@ Coiling Stalker
March of Burgeoning Life
Azusa's Many Journeys
Upriser Renegade
Acquisition Octopus
Armguard Familiar
Mech Hangar
Explosive Singularity
Anchor to Reality
@@ -585,7 +563,6 @@ Goro-Goro, Disciple of Ryusei
Biting-Palm Ninja
Scrap Welder
Thousand-Faced Shadow
Disruption Protocol
Simian Sling
Sokenzan, Crucible of Defiance
Prosperous Thief
@@ -599,7 +576,6 @@ Awakened Awareness
Otawara, Soaring City
Heiko Yamazaki, the General
Invoke Despair
When We Were Young
Boseiju, Who Endures
Touch the Spirit Realm
Kumano Faces Kakkazan
@@ -611,14 +587,10 @@ Dragonspark Reactor
Crackling Emergence
Experimental Synthesizer
Iron Apprentice
Regent's Authority
Go-Shintai of Ancient Wars
Reckoner Bankbuster
Norika Yamazaki, the Poet
The Reality Chip
Flame Discharge
Mirror Box
Blade of the Oni
Mechtitan Core
Hidetsugu, Devouring Chaos
Season of Renewal
@@ -631,7 +603,6 @@ Go-Shintai of Hidden Cruelty
Enormous Energy Blade
Debt to the Kami
Assassin's Ink
Chainflail Centipede
Go-Shintai of Boundless Vigor
Reality Heist
Harmonious Emergence
@@ -640,7 +611,6 @@ Boseiju Reaches Skyward
Blossom Prancer
Moonsnare Prototype
Careful Cultivation
Born to Drive
Banishing Slash
Ancestral Katana
Lithoform Engine

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

View File

@@ -3545,6 +3545,7 @@ private:
vector<MTGAbility *> currentAbilities;
public:
bool isReconfiguration;
AEquip(GameObserver* observer, int _id, MTGCardInstance * _source, ManaCost * _cost = NULL,
int restrictions = ActivatedAbility::AS_SORCERY);

View File

@@ -9650,6 +9650,7 @@ AEquip::AEquip(GameObserver* observer, int _id, MTGCardInstance * _source, ManaC
{
aType = MTGAbility::STANDARD_EQUIP;
isAttach = restrictions != ActivatedAbility::AS_SORCERY;
isReconfiguration = false;
}
int AEquip::unequip()
@@ -9678,6 +9679,8 @@ int AEquip::unequip()
}
game->removeObserver(currentAbilities[i]);
}
if(isReconfiguration && !source->hasType(Subtypes::TYPE_CREATURE))
source->addType(Subtypes::TYPE_CREATURE);
currentAbilities.clear();
WEvent * e = NEW WEventCardUnattached(source);
game->receiveEvent(e);
@@ -9686,6 +9689,8 @@ int AEquip::unequip()
int AEquip::equip(MTGCardInstance * equipped)
{
if(isReconfiguration && source->hasType(Subtypes::TYPE_CREATURE))
source->removeType(Subtypes::TYPE_CREATURE);
source->target = equipped;
source->target->equipment += 1;
source->parentCards.push_back(equipped);
@@ -9768,6 +9773,8 @@ const string AEquip::getMenuText()
{
if (isAttach)
return "Attach";
else if (isReconfiguration)
return "Reconfigure Attach";
else
return "Equip";
}

View File

@@ -3644,7 +3644,16 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
if ((s.find("equipment") == string::npos) && (s.find("equipped") == string::npos)) // Fix a bug on parser when reading the substring "equip" with a different meaning.
return NEW AEquip(observer, id, card);
}
//Reconfiguration
found = s.find("reconfigure");
if (found != string::npos)
{
AEquip* a = NEW AEquip(observer, id, card);
a->isReconfiguration = true;
return a;
}
// TODO: deprecate this ability in favor of retarget
//Equipment (attach)
found = s.find("attach");