Fixed some primitives from issue #1085, fixed some primitived from Discord channel, updated some AI decks, added new ability "canloyaltyasinst" to allow a planeswalker to activate loyalty abilities as instant (e.g. "The Wandering Emperor"), fixed a possible crash when a card change zone with different card types than its original version (e.g. morphed cards).

This commit is contained in:
Vittorio Alfieri
2023-07-24 19:08:20 +02:00
parent 6625907180
commit 751fda6521
9 changed files with 446 additions and 209 deletions

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 21-07-2023
#I sorted this programmatically so the other comments are removed except for AUTO_DEFINE - Vitty85 24-07-2023
[card]
name=Abandon Reason
target=<upto:2>creature
@@ -29105,8 +29105,8 @@ toughness=2
[/card]
[card]
name=Devoted Druid
auto={T}:Add{G}
auto={C(-1/-1,1)}:untap
auto={T}:add{G}
auto={0}:name(Put counter and untap) transforms((,newability[counter(-1/-1)],newability[untap])) oneshot
text={T}: Add {G} to your mana pool. -- Put a -1/-1 counter on Devoted Druid: Untap Devoted Druid.
mana={1}{G}
type=Creature
@@ -55019,7 +55019,8 @@ toughness=3
[card]
name=Hollow Specter
abilities=flying
auto=@combatdamagefoeof(player) from(this):may pay({1}) name(Specter Pay 1) Reveal:1 revealzone(opponenthand) optionone choice name(choose Discards) target(<1>*|reveal) transforms((,newability[moveto(ownerhand) and!(reject)!])) oneshot optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) oneshot optiontwoend revealend
auto=@combatdamagefoeof(player) from(this) restriction{type(*|opponenthand)~morethan~0}:may name(Pay x and look) transforms((,newability[choice name(Pay 1 and look) ability$!name(Pay 1 and look) pay({1}) name(Pay 1 and look) target(*[zpos<=1]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~1 then choice name(Pay 2 and look) name(Pay 2 and look) ability$!name(Pay 2 and look) pay({2}) name(Pay 2 and look) target(*[zpos<=2]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~2 then choice name(Pay 3 and look) name(Pay 3 and look) name(Pay 3 and look) ability$!name(Pay 3 and look) pay({3}) name(Pay 3 and look) target(*[zpos<=3]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~3 then choice name(Pay 4 and look) name(Pay 4 and look) name(Pay 4 and look) ability$!name(Pay 4 and look) pay({4}) name(Pay 4 and look) target(*[zpos<=4]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~4 then choice name(Pay 5 and look) name(Pay 5 and look) name(Pay 5 and look) ability$!name(Pay 5 and look) pay({5}) name(Pay 5 and look) target(*[zpos<=5]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~5 then choice name(Pay 6 and look) name(Pay 6 and look) name(Pay 6 and look) ability$!name(Pay 6 and look) pay({6}) name(Pay 6 and look) target(*[zpos<=6]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~6 then choice name(Pay 7 and look) name(Pay 7 and look) name(Pay 7 and look) ability$!name(Pay 7 and look) pay({7}) name(Pay 7 and look) target(*[zpos<=7]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~7 then choice name(Pay 8 and look) name(Pay 8 and look) name(Pay 8 and look) ability$!name(Pay 8 and look) pay({8}) name(Pay 8 and look) target(*[zpos<=8]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~8 then choice name(Pay 9 and look) name(Pay 9 and look) name(Pay 9 and look) ability$!name(Pay 9 and look) pay({9}) name(Pay 9 and look) target(*[zpos<=9]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~9 then choice name(Pay 10 and look) name(Pay 10 and look) name(Pay 10 and look) ability$!name(Pay 10 and look) pay({10}) name(Pay 10 and look) target(*[zpos<=10]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~10 then choice name(Pay 11 and look) name(Pay 11 and look) name(Pay 11 and look) ability$!name(Pay 11 and look) pay({11}) name(Pay 11 and look) target(*[zpos<=11]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~11 then choice name(Pay 12 and look) name(Pay 12 and look) name(Pay 12 and look) ability$!name(Pay 12 and look) pay({12}) name(Pay 12 and look) target(*[zpos<=12]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~12 then choice name(Pay 13 and look) name(Pay 13 and look) name(Pay 13 and look) ability$!name(Pay 13 and look) pay({13}) name(Pay 13 and look) target(*[zpos<=13]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~13 then choice name(Pay 14 and look) name(Pay 14 and look) name(Pay 14 and look) ability$!name(Pay 14 and look) pay({14}) name(Pay 14 and look) target(*[zpos<=14]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~14 then choice name(Pay 15 and look) name(Pay 15 and look) name(Pay 15 and look) ability$!name(Pay 15 and look) pay({15}) name(Pay 15 and look) target(*[zpos<=15]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~15 then choice name(Pay 16 and look) name(Pay 16 and look) name(Pay 16 and look) ability$!name(Pay 16 and look) pay({16}) name(Pay 16 and look) target(*[zpos<=16]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~16 then choice name(Pay 17 and look) name(Pay 17 and look) name(Pay 17 and look) ability$!name(Pay 17 and look) pay({17}) name(Pay 17 and look) target(*[zpos<=17]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~17 then choice name(Pay 18 and look) name(Pay 18 and look) name(Pay 18 and look) ability$!name(Pay 18 and look) pay({18}) name(Pay 18 and look) target(*[zpos<=18]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~18 then choice name(Pay 19 and look) name(Pay 19 and look) name(Pay 19 and look) ability$!name(Pay 19 and look) pay({19}) name(Pay 19 and look) target(*[zpos<=19]|opponenthand) reject!$ controller],newability[if type(*|opponenthand)~morethan~19 then choice name(Pay 20 and look) name(Pay 20 and look) name(Pay 20 and look) ability$!name(Pay 20 and look) pay({20}) name(Pay 20 and look) target(*[zpos<=20]|opponenthand) reject!$ controller])) oneshot
auto=@combatdamageof(player) from(this) restriction{type(*|myhand)~morethan~0}:may name(Pay x and look) transforms((,newability[choice name(Pay 1 and look) ability$!name(Pay 1 and look) pay({1}) name(Pay 1 and look) target(*[zpos<=1]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~1 then choice name(Pay 2 and look) name(Pay 2 and look) ability$!name(Pay 2 and look) pay({2}) name(Pay 2 and look) target(*[zpos<=2]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~2 then choice name(Pay 3 and look) name(Pay 3 and look) name(Pay 3 and look) ability$!name(Pay 3 and look) pay({3}) name(Pay 3 and look) target(*[zpos<=3]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~3 then choice name(Pay 4 and look) name(Pay 4 and look) name(Pay 4 and look) ability$!name(Pay 4 and look) pay({4}) name(Pay 4 and look) target(*[zpos<=4]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~4 then choice name(Pay 5 and look) name(Pay 5 and look) name(Pay 5 and look) ability$!name(Pay 5 and look) pay({5}) name(Pay 5 and look) target(*[zpos<=5]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~5 then choice name(Pay 6 and look) name(Pay 6 and look) name(Pay 6 and look) ability$!name(Pay 6 and look) pay({6}) name(Pay 6 and look) target(*[zpos<=6]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~6 then choice name(Pay 7 and look) name(Pay 7 and look) name(Pay 7 and look) ability$!name(Pay 7 and look) pay({7}) name(Pay 7 and look) target(*[zpos<=7]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~7 then choice name(Pay 8 and look) name(Pay 8 and look) name(Pay 8 and look) ability$!name(Pay 8 and look) pay({8}) name(Pay 8 and look) target(*[zpos<=8]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~8 then choice name(Pay 9 and look) name(Pay 9 and look) name(Pay 9 and look) ability$!name(Pay 9 and look) pay({9}) name(Pay 9 and look) target(*[zpos<=9]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~9 then choice name(Pay 10 and look) name(Pay 10 and look) name(Pay 10 and look) ability$!name(Pay 10 and look) pay({10}) name(Pay 10 and look) target(*[zpos<=10]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~10 then choice name(Pay 11 and look) name(Pay 11 and look) name(Pay 11 and look) ability$!name(Pay 11 and look) pay({11}) name(Pay 11 and look) target(*[zpos<=11]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~11 then choice name(Pay 12 and look) name(Pay 12 and look) name(Pay 12 and look) ability$!name(Pay 12 and look) pay({12}) name(Pay 12 and look) target(*[zpos<=12]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~12 then choice name(Pay 13 and look) name(Pay 13 and look) name(Pay 13 and look) ability$!name(Pay 13 and look) pay({13}) name(Pay 13 and look) target(*[zpos<=13]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~13 then choice name(Pay 14 and look) name(Pay 14 and look) name(Pay 14 and look) ability$!name(Pay 14 and look) pay({14}) name(Pay 14 and look) target(*[zpos<=14]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~14 then choice name(Pay 15 and look) name(Pay 15 and look) name(Pay 15 and look) ability$!name(Pay 15 and look) pay({15}) name(Pay 15 and look) target(*[zpos<=15]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~15 then choice name(Pay 16 and look) name(Pay 16 and look) name(Pay 16 and look) ability$!name(Pay 16 and look) pay({16}) name(Pay 16 and look) target(*[zpos<=16]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~16 then choice name(Pay 17 and look) name(Pay 17 and look) name(Pay 17 and look) ability$!name(Pay 17 and look) pay({17}) name(Pay 17 and look) target(*[zpos<=17]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~17 then choice name(Pay 18 and look) name(Pay 18 and look) name(Pay 18 and look) ability$!name(Pay 18 and look) pay({18}) name(Pay 18 and look) target(*[zpos<=18]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~18 then choice name(Pay 19 and look) name(Pay 19 and look) name(Pay 19 and look) ability$!name(Pay 19 and look) pay({19}) name(Pay 19 and look) target(*[zpos<=19]|myhand) reject!$ controller],newability[if type(*|myhand)~morethan~19 then choice name(Pay 20 and look) name(Pay 20 and look) name(Pay 20 and look) ability$!name(Pay 20 and look) pay({20}) name(Pay 20 and look) target(*[zpos<=20]|myhand) reject!$ controller])) oneshot
text=Flying -- Whenever Hollow Specter deals combat damage to a player, you may pay {X}. If you do, that player reveals X cards from his or her hand and you choose one of them. That player discards that card.
mana={1}{B}{B}
type=Creature
@@ -55365,10 +55366,9 @@ toughness=2
[card]
name=Hooded Hydra
facedown={3}
autofacedown={3}{G}{G}:morph
autofaceup=counter(1/1,5)
autofacedown={3}{G}{G}:counter(1/1,5) && morph
auto=counter(1/1,X)
auto=_DIES_thisforeach(counter{1/1.1}) token(Snake,Creature Snake,1/1,green)
auto=_DIES_name(Create snakes) thisforeach(counter{1/1.1}) token(Snake,Creature Snake,1/1,green)
text=Hooded Hydra enters the battlefield with X +1/+1 counters on it. -- When Hooded Hydra dies, put a 1/1 green Snake creature token onto the battlefield for each +1/+1 counter on it. -- Morph {3}G}{G}: As Hooded Hydra is turned face up, put five +1/+1 counters on it.
mana={X}{G}{G}
type=Creature
@@ -55812,7 +55812,7 @@ subtype=Aura
name=Hot Soup
auto={3}:equip
auto=teach(creature) unblockable
auto=@damaged(mytgt):destroy all(mytgt)
auto=teach(creature) transforms((,newability[@damaged(this):name(Destroy equipped creature) destroy]))
text=Equipped creature is unblockable. -- Whenever equipped creature is dealt damage, destroy it. -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.)
mana={1}
type=Artifact