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
@@ -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]
@@ -1,10 +1,7 @@
Primal Command Primal Command
Rowan Kenrith Rowan Kenrith
Kitsune Ace
Pyre-Sledge Arsonist Pyre-Sledge Arsonist
Sokenzan Smelter Sokenzan Smelter
Hotshot Mechanic
Imperial Recovery Unit
Ossuary Rats Ossuary Rats
Rodolf Duskbringer Rodolf Duskbringer
Skullslither Worm Skullslither Worm
@@ -27,7 +24,6 @@ Zask, Skittering Swarmlord
Dutiful Replicator Dutiful Replicator
Instruments of War Instruments of War
Planar Atlas Planar Atlas
Ingenious Leonin
Lita, Mechanical Engineer Lita, Mechanical Engineer
Magnanimous Magistrate Magnanimous Magistrate
Preston, the Vanisher Preston, the Vanisher
@@ -476,27 +472,14 @@ Call In a Professional
Whack Whack
Security Rhox Security Rhox
Ormos, Archive Keeper Ormos, Archive Keeper
Ruthless Technomancer
Myojin of Cryptic Dreams Myojin of Cryptic Dreams
Kami of Celebration Kami of Celebration
Collision of Realms Collision of Realms
Akki Battle Squad Akki Battle Squad
Smoke Spirits' Aid Smoke Spirits' Aid
Komainu Battle Armor
Shorikai, Genesis Engine
Kaima, the Fractured Calm Kaima, the Fractured Calm
Access Denied
Katsumasa, the Animator 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 One with the Kami
Myojin of Towering Might
Unforgiving One Unforgiving One
Silver-Fur Master Silver-Fur Master
Satsuki, the Living Lore Satsuki, the Living Lore
@@ -510,7 +493,6 @@ Atsushi, the Blazing Sky
Dramatist's Puppet Dramatist's Puppet
Ambitious Assault Ambitious Assault
Containment Construct Containment Construct
Lion Sash
March of Otherworldly Light March of Otherworldly Light
Akki Ember-Keeper Akki Ember-Keeper
Bronze Cudgels Bronze Cudgels
@@ -527,7 +509,6 @@ Risona, Asari Commander
Tatsunari, Toad Rider Tatsunari, Toad Rider
Soul Transfer Soul Transfer
Prodigy's Prototype Prodigy's Prototype
Cloudsteel Kirin
Naomi, Pillar of Order Naomi, Pillar of Order
Reckoner Shakedown Reckoner Shakedown
Kotose, the Silent Spider Kotose, the Silent Spider
@@ -549,7 +530,6 @@ Webspinner Cuff
Kami of Terrible Secrets Kami of Terrible Secrets
Weaver of Harmony Weaver of Harmony
Teachings of the Kirin Teachings of the Kirin
Guardians of Oboro
Go-Shintai of Lost Wisdom Go-Shintai of Lost Wisdom
Invoke the Ancients Invoke the Ancients
Thundering Raiju Thundering Raiju
@@ -568,8 +548,6 @@ Coiling Stalker
March of Burgeoning Life March of Burgeoning Life
Azusa's Many Journeys Azusa's Many Journeys
Upriser Renegade Upriser Renegade
Acquisition Octopus
Armguard Familiar
Mech Hangar Mech Hangar
Explosive Singularity Explosive Singularity
Anchor to Reality Anchor to Reality
@@ -585,7 +563,6 @@ Goro-Goro, Disciple of Ryusei
Biting-Palm Ninja Biting-Palm Ninja
Scrap Welder Scrap Welder
Thousand-Faced Shadow Thousand-Faced Shadow
Disruption Protocol
Simian Sling Simian Sling
Sokenzan, Crucible of Defiance Sokenzan, Crucible of Defiance
Prosperous Thief Prosperous Thief
@@ -599,7 +576,6 @@ Awakened Awareness
Otawara, Soaring City Otawara, Soaring City
Heiko Yamazaki, the General Heiko Yamazaki, the General
Invoke Despair Invoke Despair
When We Were Young
Boseiju, Who Endures Boseiju, Who Endures
Touch the Spirit Realm Touch the Spirit Realm
Kumano Faces Kakkazan Kumano Faces Kakkazan
@@ -611,14 +587,10 @@ Dragonspark Reactor
Crackling Emergence Crackling Emergence
Experimental Synthesizer Experimental Synthesizer
Iron Apprentice Iron Apprentice
Regent's Authority
Go-Shintai of Ancient Wars Go-Shintai of Ancient Wars
Reckoner Bankbuster Reckoner Bankbuster
Norika Yamazaki, the Poet
The Reality Chip
Flame Discharge Flame Discharge
Mirror Box Mirror Box
Blade of the Oni
Mechtitan Core Mechtitan Core
Hidetsugu, Devouring Chaos Hidetsugu, Devouring Chaos
Season of Renewal Season of Renewal
@@ -631,7 +603,6 @@ Go-Shintai of Hidden Cruelty
Enormous Energy Blade Enormous Energy Blade
Debt to the Kami Debt to the Kami
Assassin's Ink Assassin's Ink
Chainflail Centipede
Go-Shintai of Boundless Vigor Go-Shintai of Boundless Vigor
Reality Heist Reality Heist
Harmonious Emergence Harmonious Emergence
@@ -640,7 +611,6 @@ Boseiju Reaches Skyward
Blossom Prancer Blossom Prancer
Moonsnare Prototype Moonsnare Prototype
Careful Cultivation Careful Cultivation
Born to Drive
Banishing Slash Banishing Slash
Ancestral Katana Ancestral Katana
Lithoform Engine Lithoform Engine
@@ -1,7 +1,7 @@
grade=borderline grade=borderline
#Bordeline Primitives Pack for Wagic the Homebrew. #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 #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] [card]
name=+2 Mace name=+2 Mace
auto={3}:equip auto={3}:equip
@@ -348,6 +348,19 @@ type=Legendary Enchantment
subtype=Background subtype=Background
[/card] [/card]
[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 name=Acquisitions Expert
aicode=activate reject notatarget(*|opponenthand) 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 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 type=Instant
[/card] [/card]
[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 name=Armix, Filigree Thrasher
abilities=partner 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 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 subtype=Equipment
[/card] [/card]
[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 name=Blade-Blizzard Kitsune
abilities=double strike abilities=double strike
autohand={3}{W}{N}:ninjutsu autohand={3}{W}{N}:ninjutsu
@@ -10357,6 +10396,16 @@ power=2
toughness=1 toughness=1
[/card] [/card]
[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 name=Boros Challenger
abilities=mentor abilities=mentor
auto=_ATTACKING_name(Choose attacking creature) transforms((,newability[target(other creature[attacking;power<=pminus1minusend]|myBattlefield) counter(1/1)])) oneshot 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 toughness=3
[/card] [/card]
[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 name=Boros Locket
auto={T}:Add{R} auto={T}:Add{R}
auto={T}:Add{W} auto={T}:Add{W}
@@ -13866,6 +13905,19 @@ power=3
toughness=2 toughness=2
[/card] [/card]
[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 name=Chains of Custody
target=creature|myBattlefield target=creature|myBattlefield
auto=(blink)forsrc target(*[-land]|opponentbattlefield) auto=(blink)forsrc target(*[-land]|opponentbattlefield)
@@ -16074,6 +16126,19 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[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 name=Clue
auto={S}{2}:name(Draw 1) draw:1 controller auto={S}{2}:name(Draw 1) draw:1 controller
text={2}, Sacrifice this artifact: Draw a card. text={2}, Sacrifice this artifact: Draw a card.
@@ -44589,6 +44654,16 @@ power=2
toughness=3 toughness=3
[/card] [/card]
[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 name=Ingenious Mastery
other={2}{U} name(Cast without X) 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 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 toughness=6
[/card] [/card]
[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 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 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. 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 toughness=3
[/card] [/card]
[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 name=Liquid Fire
target=creature target=creature
auto=choice name(Choose 0) damage:5 targetcontroller 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)}: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)}: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) 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} mana={3}{B}
type=Creature type=Creature
subtype=Human Wizard subtype=Human Wizard
@@ -89249,6 +89351,19 @@ type=Artifact
subtype=Equipment subtype=Equipment
[/card] [/card]
[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 name=Tapping at the Window
flashback={2}{G} 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 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 subtype=Saga
[/card] [/card]
[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 name=The Reaver Cleaver
auto=teach(creature) 1/1 auto=teach(creature) 1/1
auto=teach(creature) trample auto=teach(creature) trample
+23 -19
View File
@@ -1,6 +1,6 @@
#Primitives Pack for Wagic the Homebrew. #Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card #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] [card]
name=Abandon Reason name=Abandon Reason
target=<upto:2>creature target=<upto:2>creature
@@ -18579,24 +18579,28 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Chalice of the Void name=Chalice of the Void
auto=counter(0/0,xx,Charge) auto=counter(0/0,halfpaid,Charge)
auto=this(counter{0/0.1.Charge}<1) transforms((,newability[@movedTo(*[manacost=0]|stack):choice fizzle all(*[manacost==0]|stack)])) auto=@movedTo(*[manacost=0]|stack) restriction{compare(hascntcharge)~equalto~0}:choice name(Counter spell) 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=@movedTo(*[manacost=1]|stack) restriction{compare(hascntcharge)~equalto~1}:choice name(Counter spell) 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=@movedTo(*[manacost=2]|stack) restriction{compare(hascntcharge)~equalto~2}:choice name(Counter spell) 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=@movedTo(*[manacost=3]|stack) restriction{compare(hascntcharge)~equalto~3}:choice name(Counter spell) 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=@movedTo(*[manacost=4]|stack) restriction{compare(hascntcharge)~equalto~4}:choice name(Counter spell) 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=@movedTo(*[manacost=5]|stack) restriction{compare(hascntcharge)~equalto~5}:choice name(Counter spell) 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=@movedTo(*[manacost=6]|stack) restriction{compare(hascntcharge)~equalto~6}:choice name(Counter spell) 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=@movedTo(*[manacost=7]|stack) restriction{compare(hascntcharge)~equalto~7}:choice name(Counter spell) 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=@movedTo(*[manacost=8]|stack) restriction{compare(hascntcharge)~equalto~8}:choice name(Counter spell) 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=@movedTo(*[manacost=9]|stack) restriction{compare(hascntcharge)~equalto~9}:choice name(Counter spell) 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=@movedTo(*[manacost=10]|stack) restriction{compare(hascntcharge)~equalto~10}:choice name(Counter spell) 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=@movedTo(*[manacost=11]|stack) restriction{compare(hascntcharge)~equalto~11}:choice name(Counter spell) 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=@movedTo(*[manacost=12]|stack) restriction{compare(hascntcharge)~equalto~12}:choice name(Counter spell) 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=@movedTo(*[manacost=13]|stack) restriction{compare(hascntcharge)~equalto~13}:choice name(Counter spell) 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=@movedTo(*[manacost=14]|stack) restriction{compare(hascntcharge)~equalto~14}:choice name(Counter spell) 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=@movedTo(*[manacost=15]|stack) restriction{compare(hascntcharge)~equalto~15}:choice name(Counter spell) 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=@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. 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} mana={X}{X}
type=Artifact type=Artifact
+1
View File
@@ -3545,6 +3545,7 @@ private:
vector<MTGAbility *> currentAbilities; vector<MTGAbility *> currentAbilities;
public: public:
bool isReconfiguration;
AEquip(GameObserver* observer, int _id, MTGCardInstance * _source, ManaCost * _cost = NULL, AEquip(GameObserver* observer, int _id, MTGCardInstance * _source, ManaCost * _cost = NULL,
int restrictions = ActivatedAbility::AS_SORCERY); int restrictions = ActivatedAbility::AS_SORCERY);
+7
View File
@@ -9650,6 +9650,7 @@ AEquip::AEquip(GameObserver* observer, int _id, MTGCardInstance * _source, ManaC
{ {
aType = MTGAbility::STANDARD_EQUIP; aType = MTGAbility::STANDARD_EQUIP;
isAttach = restrictions != ActivatedAbility::AS_SORCERY; isAttach = restrictions != ActivatedAbility::AS_SORCERY;
isReconfiguration = false;
} }
int AEquip::unequip() int AEquip::unequip()
@@ -9678,6 +9679,8 @@ int AEquip::unequip()
} }
game->removeObserver(currentAbilities[i]); game->removeObserver(currentAbilities[i]);
} }
if(isReconfiguration && !source->hasType(Subtypes::TYPE_CREATURE))
source->addType(Subtypes::TYPE_CREATURE);
currentAbilities.clear(); currentAbilities.clear();
WEvent * e = NEW WEventCardUnattached(source); WEvent * e = NEW WEventCardUnattached(source);
game->receiveEvent(e); game->receiveEvent(e);
@@ -9686,6 +9689,8 @@ int AEquip::unequip()
int AEquip::equip(MTGCardInstance * equipped) int AEquip::equip(MTGCardInstance * equipped)
{ {
if(isReconfiguration && source->hasType(Subtypes::TYPE_CREATURE))
source->removeType(Subtypes::TYPE_CREATURE);
source->target = equipped; source->target = equipped;
source->target->equipment += 1; source->target->equipment += 1;
source->parentCards.push_back(equipped); source->parentCards.push_back(equipped);
@@ -9768,6 +9773,8 @@ const string AEquip::getMenuText()
{ {
if (isAttach) if (isAttach)
return "Attach"; return "Attach";
else if (isReconfiguration)
return "Reconfigure Attach";
else else
return "Equip"; return "Equip";
} }
+9
View File
@@ -3645,6 +3645,15 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
return NEW AEquip(observer, id, card); 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 // TODO: deprecate this ability in favor of retarget
//Equipment (attach) //Equipment (attach)
found = s.find("attach"); found = s.find("attach");