Added/fixed primitives, updated the "missing_cards_by_sets" folder, improved all cards with replicate (now they use a special version of multikicker but they don't count as kicked spell), improved all cards with "fizzle" and "fizzleto" ability and improved engine for "fizzle" and "nofizzle" ability (e.g. now it's possible to grant a card the nofizzle ability on stack), added new keyword "mycolnum" to count the number colors of a card.

This commit is contained in:
Vittorio Alfieri
2021-08-31 20:06:33 +02:00
parent 45de20c8d3
commit 54d0c32035
28 changed files with 455 additions and 616 deletions

View File

@@ -4236,7 +4236,7 @@ type=Instant
[/card]
[card]
name=Annul
target=artifact,enchantment|stack
target=*[artifact;enchantment]|stack
auto=fizzle
text=Counter target artifact or enchantment spell.
mana={U}
@@ -4896,8 +4896,8 @@ toughness=7
[card]
name=Arcane Denial
target=*|stack
auto=@next upkeep:draw:1 controller
auto=target(*|stack) transforms((,newability[fizzle],newability[phaseaction[upkeep once] draw:2 controller]))
auto=phaseaction[upkeep next once] draw:1 controller
auto=transforms((,newability[fizzle],newability[phaseaction[upkeep next once] draw:2 controller]))
text=Counter target spell. Its controller may draw up to two cards at the beginning of the next turn's upkeep. -- You draw a card at the beginning of the next turn's upkeep.
mana={1}{U}
type=Instant
@@ -21801,7 +21801,7 @@ toughness=1
[/card]
[card]
name=Confirm Suspicions
target=*|mystack
target=*|stack
auto=fizzle
auto=name(Create clue) token(Clue)*3 controller
text=Counter target spell. -- Investigate three times. (To investigate, put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.")
@@ -36761,7 +36761,7 @@ toughness=1
[/card]
[card]
name=Ertai, the Corrupted
auto={U}{T}{S(creature,enchantment|myBattlefield)}:fizzle target(*|stack)
auto={U}{T}{S(*[creature;enchantment]|myBattlefield)}:fizzle target(*|stack)
text={U}, {T}, Sacrifice a creature or enchantment: Counter target spell.
mana={2}{W}{U}{B}
type=Legendary Creature
@@ -68356,7 +68356,7 @@ type=Instant
name=Lost in the Mist
target=*|stack
auto=fizzle
auto=moveTo(ownerhand) target(*)
auto=moveTo(ownerhand) target(*|battlefield)
text=Counter target spell. Return target permanent to its owner's hand.
mana={3}{U}{U}
type=Instant
@@ -72026,7 +72026,7 @@ toughness=2
name=Mausoleum Wanderer
abilities=flying
auto=@movedto(spirit|mybattlefield):1/1 ueot
auto={s}:target(instant,sorcery|opponentstack) transforms((,newability[pay[[{value:storedpower}]] name(pay {value} mana) donothing?fizzle])) forever
auto={s}:target(*[instant;sorcery]|opponentstack) transforms((,newability[pay[[{value:storedpower}]] name(pay {value} mana) donothing?fizzle])) forever
text=Flying -- Whenever another Spirit enters the battlefield under your control, Mausoleum Wanderer gets +1/+1 until end of turn. -- Sacrifice Mausoleum Wanderer: Counter target instant or sorcery spell unless its controller pays {X}, where X is Mausoleum Wanderer's power.
mana={U}
type=Creature
@@ -76940,7 +76940,7 @@ toughness=1
[/card]
[card]
name=Muddle the Mixture
target=instant,sorcery|stack
target=*[instant;sorcery]|stack
auto=fizzle
aicode=activate target(*[manacost=2]|mylibrary) moveto(myhand)
autohand={1}{U}{U}{discard}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*[manacost=2]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend asSorcery
@@ -77848,7 +77848,7 @@ type=Sorcery
[card]
name=Mystic Snake
abilities=flash
auto=if type(*|stack)~morethan~0 then fizzle target(*|stack)
auto=fizzle target(*|stack)
text=Flash (You may cast this spell any time you could cast an instant.) -- When Mystic Snake enters the battlefield, counter target spell.
mana={1}{G}{U}{U}
type=Creature
@@ -89602,7 +89602,7 @@ type=Instant
name=Punish Ignorance
target=*|stack
auto=fizzle
auto=life:-3 opponent
auto=life:-3 targetcontroller
auto=life:3 controller
text=Counter target spell. Its controller loses 3 life and you gain 3 life.
mana={W}{U}{U}{B}
@@ -90262,7 +90262,7 @@ type=Enchantment
[/card]
[card]
name=Quash
target=instant,sorcery|stack
target=*[instant;sorcery]|stack
auto=fizzle
auto=all(*[share!name!]|targetcontrollerlibrary) moveto(exile)
auto=all(*[share!name!]|targetcontrollerhand) moveto(exile)
@@ -94871,7 +94871,7 @@ type=Enchantment
name=Rewind
target=*|stack
auto=fizzle
auto=may untap target(<upto:4>land)
auto=may name(Untap lands) untap target(<upto:4>land)
text=Counter target spell, then untap up to four lands.
mana={2}{U}{U}
type=Instant
@@ -110702,7 +110702,7 @@ toughness=6
[card]
name=Sphinx of the Final Word
abilities=nofizzle,flying,opponentshroud
auto=@targeted(*[instant;sorcery]|mystack) from(instant|opponentzones):choice name(Instant and sorcery can't be countered) name(Instant and sorcery can't be countered) all(instant|opponentzones) fizzle
auto=lord(*[instant;sorcery]|mystack) nofizzle
text=Sphinx of the Final Word can't be countered. -- Flying, hexproof -- Instant and sorcery spells you control can't be countered by spells or abilities.
mana={5}{U}{U}
type=Creature
@@ -123392,7 +123392,7 @@ toughness=3
[/card]
[card]
name=Trap Essence
target=*[creature]|stack
target=creature|stack
auto=fizzle
auto=may counter(1/1,2) target(creature)
text=Counter target creature spell. Put two +1/+1 counters on up to one target creature.
@@ -126346,7 +126346,8 @@ toughness=1
[card]
name=Unyaro Griffin
abilities=flying
auto={S}:fizzle target(instant[red],sorcery[red]|stack)
auto={S}:name(Counter red instant) fizzle target(instant[red]|stack)
auto={S}:name(Counter red sorcery) fizzle target(sorcery[red]|stack)
text=Flying -- Sacrifice Unyaro Griffin: Counter target red instant or sorcery spell.
mana={3}{W}
type=Creature