Update checks for balanced parentheses, brackets, and curly braces in all files within primitives

This update can help prevent errors and improve the quality of the code within the primitives directory.

Other bug fixes:
Taigam, Sidisi's Hand
Grave Strength
Cry of Contrition
Dread Summons
Old Stickfingers so it doesn't trigger certain cards that care about 1/1 counters
This commit is contained in:
Eduardo MG
2023-05-08 16:52:28 -06:00
parent 5f466399af
commit b6c733b397
3 changed files with 121 additions and 112 deletions

View File

@@ -176,7 +176,7 @@ toughness=6
[/card]
[card]
name=Aboroth
auto=cumulativeupcost[{C(-1/-1.1}] sacrifice
auto=cumulativeupcost[{C(-1/-1.1)}] sacrifice
text=Cumulative upkeep - Put a -1/-1 counter on Aboroth. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)
mana={4}{G}{G}
type=Creature
@@ -7323,7 +7323,7 @@ toughness=8
name=Avacyn, Guardian Angel
abilities=flying,vigilance
auto={1}{W}:name(Prevent white damage) target(other creature) transforms((,newability[preventalldamage from(*[white])] )) ueot
auto={1}{W}:name(Prevent blue damage) target(other creature) transforms((,newability[preventalldamage from(*[blue)])] )) ueot
auto={1}{W}:name(Prevent blue damage) target(other creature) transforms((,newability[preventalldamage from(*[blue])] )) ueot
auto={1}{W}:name(Prevent black damage) target(other creature) transforms((,newability[preventalldamage from(*[black])] )) ueot
auto={1}{W}:name(Prevent red damage) target(other creature) transforms((,newability[preventalldamage from(*[red])] )) ueot
auto={1}{W}:name(Prevent green damage) target(other creature) transforms((,newability[preventalldamage from(*[green])] )) ueot
@@ -11961,7 +11961,7 @@ toughness=3
name=Blizzard
restriction=control snow land
auto=cumulativeupcost[{2}] sacrifice
auto=lord(creature[flying] doesnotuntap
auto=lord(creature[flying]) doesnotuntap
text=Cast Blizzard only if you control a snow land. -- Cumulative upkeep {2} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) -- Creatures with flying don't untap during their controllers' untap steps.
mana={G}{G}
type=Enchantment
@@ -21629,7 +21629,7 @@ type=Instant
[/card]
[card]
name=Complex Automaton
auto=@each my upkeep restriction{type(*|myBattlefield)~morethan~6:moveTo(myhand)
auto=@each my upkeep restriction{type(*|myBattlefield)~morethan~6}:moveTo(myhand)
text=At the beginning of your upkeep, if you control seven or more permanents, return Complex Automaton to its owner's hand.
mana={4}
type=Artifact Creature
@@ -22152,7 +22152,7 @@ type=Instant
[card]
name=Consuming Vapors
target=player
auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt toughnesslifegain abilitycontroller!> sacrifice ) !$ targetedplayer
auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt toughnesslifegain abilitycontroller!> sacrifice !$ targetedplayer
auto=_REBOUND_
text=Target player sacrifices a creature. You gain life equal to that creature's toughness. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
mana={3}{B}
@@ -30706,7 +30706,7 @@ toughness=6
[/card]
[card]
name=Door of Destinies
auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|mystack)}:counter(0/0.1.Charge)],newability[thisforeach(counter{0/0.1.Charge}) lord(creature[chosentype]|mybattlefield) 1/1])) chooseend
auto=chooseatype transforms((,newability[@movedTo(creature[chosentype]|mystack):counter(0/0.1.Charge)],newability[thisforeach(counter{0/0.1.Charge}) lord(creature[chosentype]|mybattlefield) 1/1])) chooseend
text=As Door of Destinies enters the battlefield, choose a creature type. -- Whenever you cast a spell of the chosen type, put a charge counter on Door of Destinies. -- Creatures you control of the chosen type get +1/+1 for each charge counter on Door of Destinies.
mana={4}
type=Artifact
@@ -45556,7 +45556,7 @@ toughness=0
name=Ghave, Guru of Spores
auto=counter(1/1,5)
auto={1}{C(1/1,-1),creature|mybattlefield}:_SAPROLINGTOKEN_
auto={1}{S(creature|mybattlefield}:counter(1/1) target(creature)
auto={1}{S(creature|mybattlefield)}:counter(1/1) target(creature)
text=Ghave, Guru of Spores enters the battlefield with five +1/+1 counters on it. -- {1}, Remove a +1/+1 counter from a creature you control: Put a 1/1 green Saproling creature token onto the battlefield. -- {1}, Sacrifice a creature: Put a +1/+1 counter on target creature.
mana={2}{B}{G}{W}
type=Legendary Creature
@@ -48173,7 +48173,7 @@ toughness=2
[card]
name=Goblin Ringleader
abilities=haste
aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-goblin]|*) then bottomoflibrary))!
aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-goblin]|*) then bottomoflibrary)!
auto=reveal:4 optionone name(Get Goblin) target(<4>Goblin|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend
text=Haste -- When Goblin Ringleader enters the battlefield, reveal the top four cards of your library. Put all Goblin cards revealed this way into your hand and the rest on the bottom of your library.
mana={3}{R}
@@ -49550,7 +49550,7 @@ toughness=2
[card]
name=Grave Strength
target=creature
auto=deplete:3
auto=deplete:3 controller
auto=foreach(creature|mygraveyard) counter(1/1)
text=Choose target creature. Put the top three cards of your library into your graveyard, then put a +1/+1 counter on that creature for each creature card in your graveyard.
mana={1}{B}
@@ -67665,14 +67665,14 @@ subtype=Aura
[/card]
[card]
name=Living Death
auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[(moveto(battlefield)])))! oneshot
auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[moveto(battlefield)])))! oneshot
text=Each player exiles all creature cards from his or her graveyard, then sacrifices all creatures he or she controls, then puts all cards he or she exiled this way onto the battlefield.
mana={3}{B}{B}
type=Sorcery
[/card]
[card]
name=Living End
auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[(moveto(battlefield)])))! oneshot
auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(deadtemp)],newability[moveto(battlefield)])))! oneshot
text=Living End is black. -- Suspend 3 - {2}{B}{B} (Rather than cast this card from your hand, pay {2}{B}{B} and exile it with three time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.) -- Each player exiles all creature cards from his or her graveyard, then sacrifices all creatures he or she controls, then puts all cards he or she exiled this way onto the battlefield.
mana={0}
color=black
@@ -68370,7 +68370,7 @@ toughness=4
[/card]
[card]
name=Lore Broker
auto={T}:name(draw & discard) draw:1 all(player) && transforms((,newability[ability$!notatarget(*|myhand) reject)!$ controller],newability[ability$!notatarget(*|myhand) reject)!$ opponent])) all(this)
auto={T}:name(draw & discard) draw:1 all(player) && transforms((,newability[ability$!notatarget(*|myhand) reject!$ controller],newability[ability$!notatarget(*|myhand) reject!$ opponent])) all(this)
text={T}: Each player draws a card, then discards a card.
mana={1}{U}
type=Creature
@@ -71682,7 +71682,7 @@ subtype=Equipment
[card]
name=Mask of the Mimic
target=creature[-token]
auto=transforms((,newability[moveTo(myBattlefield) target(creature[share!name!|mylibrary)])) ueot
auto=transforms((,newability[moveTo(myBattlefield) target(creature[share!name!]|mylibrary)])) ueot
text=As an additional cost to cast Mask of the Mimic, sacrifice a creature. -- Search your library for a card with the same name as target nontoken creature and put that card onto the battlefield. Then shuffle your library.
mana={U}{S(creature|mybattlefield)}
type=Instant
@@ -78421,7 +78421,7 @@ type=Sorcery
[card]
name=Natural Selection
target=player
aicode=name(look) activate name(look) target(<3>*[zpos<=3]]|targetedpersonslibrary) moveto(ownerlibrary)
aicode=name(look) activate name(look) target(<3>*[zpos<=3]|targetedpersonslibrary) moveto(ownerlibrary)
auto=name(Look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed may shuffle targetedplayer afterrevealedend revealend
text=Look at the top three cards of target player's library and put them back in any order. You may have that player shuffle his or her library.
mana={G}
@@ -80363,7 +80363,7 @@ toughness=2
[/card]
[card]
name=Nivmagus Elemental
auto={e(*[instant;sorcery]|mystack}:counter(1/1,2)
auto={e(*[instant;sorcery]|mystack)}:counter(1/1,2)
text=Exile an instant or sorcery spell you control: Put two +1/+1 counters on Nivmagus Elemental. (That spell won't resolve.)
other={convoke} name(Convoke)
mana={UR}
@@ -84830,7 +84830,7 @@ toughness=7
[card]
name=Patron of the Valiant
abilities=flying
auto=choice all(creature[counter{1/1}|mybattlefield) counter(1/1)
auto=choice all(creature[counter{1/1}]|mybattlefield) counter(1/1)
text=Flying -- When Patron of the Valiant enters the battlefield, put a +1/+1 counter on each creature you control with a +1/+1 counter on it.
mana={3}{W}{W}
type=Creature
@@ -86652,7 +86652,7 @@ toughness=2
name=Pick the Brain
target=opponent
aicode=activate notatarget(*[-land]|targetedpersonshand) moveto(exile) and!( if delirium then transforms((,newability[moveTo(exile) all(*[share!name!]|mygraveyard)],newability[moveTo(exile) all(*[share!name!]|myhand)],newability[moveTo(exile) and!(shuffle)! all(*[share!name!]|mylibrary)])) oneshot )!
auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) target(*[-land]|reveal) moveto(exile) and!( if delirium then transforms((,newability[all(*[share!name!]|mygraveyard) moveto(exile)],newability[all(*[share!name!]|myhand) moveto(exile)],newability[all(*[share!name!]|mylibrary) moveto(exile) and!(shuffle)!]))) oneshot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend
auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) target(*[-land]|reveal) moveto(exile) and!( if delirium then transforms((,newability[all(*[share!name!]|mygraveyard) moveto(exile)],newability[all(*[share!name!]|myhand) moveto(exile)],newability[all(*[share!name!]|mylibrary) moveto(exile) and!(shuffle)!])) oneshot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend
text=Target opponent reveals his or her hand. You choose a nonland card from it and exile that card. -- Delirium -- If there are four or more card types among cards in your graveyard, search that player's graveyard, hand, and library for any number of cards with the same name as the exiled card, exile those cards, then that player shuffles his or her library.
mana={2}{B}
type=Sorcery
@@ -87097,7 +87097,7 @@ toughness=1
[card]
name=Plagiarize
target=opponent
auto=emblem transforms((,newability[opponentreplacedraw draw:1 noreplace)) ueot
auto=emblem transforms((,newability[opponentreplacedraw draw:1 noreplace])) ueot
text=Until end of turn, if target player would draw a card, instead that player skips that draw and you draw a card.
mana={3}{U}
type=Instant
@@ -94976,7 +94976,7 @@ type=Instant
[/card]
[card]
name=Rewards of Diversity
auto=@movedTo(*[multicolor]|opponentstack:life:4 controller
auto=@movedTo(*[multicolor]|opponentstack):life:4 controller
text=Whenever an opponent casts a multicolored spell, you gain 4 life.
mana={2}{W}
type=Enchantment
@@ -100501,7 +100501,7 @@ toughness=4
[/card]
[card]
name=Scrap Mastery
auto=all(artifact|battlefield) becomes(scraptemp) && all(artifact|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(scraptemp)],newability[(moveto(battlefield)])))! oneshot
auto=all(artifact|battlefield) becomes(scraptemp) && all(artifact|graveyard) moveto(exile) and!(transforms((,newability[sacrifice all(scraptemp)],newability[moveto(battlefield)])))! oneshot
text=Each player exiles all artifact cards from his or her graveyard, then sacrifices all artifacts he or she controls, then puts all cards he or she exiled this way onto the battlefield.
mana={3}{R}{R}
type=Sorcery
@@ -103630,7 +103630,7 @@ type=Sorcery
[/card]
[card]
name=Shattered Perception
auto=all(*|myhand) transforms((,newability[draw:1],newability[reject])]))
auto=all(*|myhand) transforms((,newability[draw:1],newability[reject]))
flashback={5}{R}
text=Discard all the cards in your hand, then draw that many card. -- Flashback {5}{R}
mana={2}{R}
@@ -109016,7 +109016,7 @@ toughness=1
[card]
name=Soldier of the Pantheon
auto=protection from(*[multicolor])
auto=@movedTo(*[multicolor]|opponentstack:life:1 controller
auto=@movedTo(*[multicolor]|opponentstack):life:1 controller
text=Protection from multicolored. -- Whenever an opponent casts a multicolored spell, you gain 1 life.
mana={W}
type=Creature
@@ -109507,7 +109507,7 @@ toughness=2
[card]
name=Soratami Seer
abilities=flying
auto={4}{H(land|mybattlefield)}{H(land|mybattlefield)}:all(*|myhand) transforms((,newability[draw:1],newability[reject])]))
auto={4}{H(land|mybattlefield)}{H(land|mybattlefield)}:all(*|myhand) transforms((,newability[draw:1],newability[reject]))
text=Flying -- {4}, Return two lands you control to their owner's hand: Discard all the cards in your hand, then draw that many cards.
mana={4}{U}
type=Creature
@@ -113871,7 +113871,7 @@ subtype=Aura
name=Stonehewer Giant
abilities=vigilance
aicode=activate moveTo(myBattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)! target(equipment|myLibrary)
auto={1}{W}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(equipment|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)! afterrevealedend revealend
auto={1}{W}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(equipment|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)!)! afterrevealedend revealend
text=Vigilance -- {1}{W}, {T}: Search your library for an Equipment card and put it onto the battlefield. Attach it to a creature you control. Then shuffle your library.
mana={3}{W}{W}
type=Creature
@@ -120523,7 +120523,7 @@ toughness=1
[/card]
[card]
name=Thoughtflare
auto=name(draw & discard) ability$!draw:4 _ choice notatarget(<2>*|myhand) reject)!$ controller
auto=name(draw & discard) ability$!draw:4 _ choice notatarget(<2>*|myhand) reject!$ controller
text=Draw four cards, then discard two cards.
mana={3}{U}{R}
type=Instant
@@ -120556,7 +120556,7 @@ type=Enchantment
[card]
name=Thoughtpicker Witch
aicode=activate transforms((,newability[choice all(*[zpos=2]|targetedpersonslibrary) moveto(exile)],newability[choice all(*[zpos=1]|targetedpersonslibrary) moveto(exile)])) ueot
auto={1}{s(creature|mybattlefield}:target(opponent) reveal:2 optionone name(Put in exile) target(*|reveal) moveto(ownerexile) optiononeend optiontwo name(put back) all(*|reveal) moveto(ownerlibrary) optiontwoend revealend
auto={1}{s(creature|mybattlefield)}:target(opponent) reveal:2 optionone name(Put in exile) target(*|reveal) moveto(ownerexile) optiononeend optiontwo name(put back) all(*|reveal) moveto(ownerlibrary) optiontwoend revealend
text={1}, Sacrifice a creature: Look at the top two cards of target opponent's library, then exile one of them.
mana={B}
type=Creature
@@ -123472,7 +123472,7 @@ type=Instant
[card]
name=Trap Digger
auto={2}{w}{t}:counter(0/0,1,Trap) target(land|mybattlefield)
auto={s(land[counter(0/0.1.Trap)]|mybattlefield}:damage:3 target(creature[attacking;-flying])
auto={s(land[counter(0/0.1.Trap)]|mybattlefield)}:damage:3 target(creature[attacking;-flying])
text={2}{W}, {T}: Put a trap counter on target land you control. -- Sacrifice a land with a trap counter on it: Trap Digger deals 3 damage to target attacking creature without flying.
mana={3}{W}
type=Creature
@@ -125078,7 +125078,7 @@ type=Instant
[card]
name=Twisted Justice
target=player
auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt powerdraw abilitycontroller!> sacrifice ) !$ targetedplayer
auto=ability$! notatarget(creature|mybattlefield) dynamicability<!mytgt powerdraw abilitycontroller!> sacrifice !$ targetedplayer
text=Target player sacrifices a creature. You draw cards equal to that creature's power.
mana={4}{U}{B}
type=Sorcery
@@ -126802,7 +126802,7 @@ type=Artifact
[/card]
[card]
name=Urza's Guilt
auto=draw:2 all(player) && transforms((,newability[ability$! choice name(lose 4 life) all(player) life:-4!$ controller],newability[ability$!notatarget(<3>*|myhand) reject)!$ controller],newability[ability$!notatarget(<3>*|myhand) reject)!$ opponent])) all(this)
auto=draw:2 all(player) && transforms((,newability[ability$! choice name(lose 4 life) all(player) life:-4!$ controller],newability[ability$!notatarget(<3>*|myhand) reject!$ controller],newability[ability$!notatarget(<3>*|myhand) reject!$ opponent])) all(this)
text=Each player draws two cards, then discards three cards, then loses 4 life.
mana={2}{U}{B}
type=Sorcery