Bug fixes in primitives

Berserk Murlodont
Urborg Justice
Beledros Witherbloom
Mirror-Mad Phantasm
Phyrexian Metamorph
Mannichi, the Fevered Dream
The Circle of Loyalty
Riot Ringleader
Rionya, Fire Dancer
Etrata, the Silencer
Natural State
squallmonger
Steward of Solidarity
This commit is contained in:
Eduardo MG
2022-11-11 12:07:53 -06:00
parent f212e633a1
commit fd59b376e6
3 changed files with 19 additions and 18 deletions

View File

@@ -5752,6 +5752,7 @@ toughness=2
name=Beledros Witherbloom name=Beledros Witherbloom
abilities=flying abilities=flying
auto=@each upkeep:name(Create Pest) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! auto=@each upkeep:name(Create Pest) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )!
auto={L:10}:all(land|myBattlefield) untap limit:1
text=Flying -- At the beginning of each upkeep, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." -- Pay 10 life: Untap all lands you control. Activate only once each turn. text=Flying -- At the beginning of each upkeep, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." -- Pay 10 life: Untap all lands you control. Activate only once each turn.
mana={5}{B}{G} mana={5}{B}{G}
type=Legendary Creature type=Legendary Creature
@@ -7280,7 +7281,7 @@ type=Sorcery
[card] [card]
name=Bloodcrazed Paladin name=Bloodcrazed Paladin
abilities=flash abilities=flash
auto=foreach(creature[fresh]|mygraveyard) counter(1/1) auto=foreach(creature[fresh]|graveyard) counter(1/1)
text=Flash -- Bloodcrazed Paladin enters the battlefield with a +1/+1 counter on it for each creature that died this turn. text=Flash -- Bloodcrazed Paladin enters the battlefield with a +1/+1 counter on it for each creature that died this turn.
mana={1}{B} mana={1}{B}
type=Creature type=Creature
@@ -8654,7 +8655,7 @@ type=Enchantment
[card] [card]
name=Brawl-Bash Ogre name=Brawl-Bash Ogre
abilities=menace abilities=menace
auto=_ATTACKING_may name(sacrifice) transforms((,newability[sacrifice notatarget(other creature|myBattlefield)],newability[2/2])) ueot auto=_ATTACKING_may name(sacrifice) transforms((,newability[sacrifice notatarget(other creature|myBattlefield)],newability[2/2])) ueot
text=Menace (This creature can't be blocked except by two or more creatures.) -- Whenever Brawl-Bash Ogre attacks, you may sacrifice another creature. If you do, Brawl-Bash Ogre gets +2/+2 until end of turn. text=Menace (This creature can't be blocked except by two or more creatures.) -- Whenever Brawl-Bash Ogre attacks, you may sacrifice another creature. If you do, Brawl-Bash Ogre gets +2/+2 until end of turn.
mana={2}{B}{R} mana={2}{B}{R}
type=Creature type=Creature
@@ -22848,7 +22849,7 @@ type=Enchantment
subtype=Aura subtype=Aura
[/card] [/card]
[card] [card]
name=Errata, the Silencer name=Etrata, the Silencer
abilities=unblockable abilities=unblockable
auto=@damagefoeof(player) from(this): transforms((,newability[moveTo(opponentExile) target(creature|opponentBattlefield) with counter{0/0.1.Hit}],newability[if restriction{type(creature[counter{0/0.1.Hit}]|opponentExile)~morethan~2} wingame controller)) && moveTo(ownerlibrary) all(this) && shuffle auto=@damagefoeof(player) from(this): transforms((,newability[moveTo(opponentExile) target(creature|opponentBattlefield) with counter{0/0.1.Hit}],newability[if restriction{type(creature[counter{0/0.1.Hit}]|opponentExile)~morethan~2} wingame controller)) && moveTo(ownerlibrary) all(this) && shuffle
text=Etrata, the Silencer can't be blocked. -- Whenever Etrata deals combat damage to a player, exile target creature that player controls and put a hit counter on that card. That player loses the game if they own three or more exiled cards with hit counters on them. Etrata's owner shuffles Etrata into their library. text=Etrata, the Silencer can't be blocked. -- Whenever Etrata deals combat damage to a player, exile target creature that player controls and put a hit counter on that card. That player loses the game if they own three or more exiled cards with hit counters on them. Etrata's owner shuffles Etrata into their library.
@@ -28022,7 +28023,7 @@ toughness=5
[card] [card]
name=Gargos, Vicious Watcher name=Gargos, Vicious Watcher
abilities=vigilance abilities=vigilance
auto=lord(hydra|mycastingzone) altercost(colorless, -4) auto=lord(hydra|mycastingzone) altercost(colorless,-4)
auto=@targeted(creature|mybattlefield):transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>])) auto=@targeted(creature|mybattlefield):transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>]))
text=Vigilance -- Hydra spells you cast cost {4} less to cast. -- Whenever a creature you control becomes the target of a spell, Gargos, Vicious Watcher fights up to one target creature you don't control. text=Vigilance -- Hydra spells you cast cost {4} less to cast. -- Whenever a creature you control becomes the target of a spell, Gargos, Vicious Watcher fights up to one target creature you don't control.
mana={3}{G}{G}{G} mana={3}{G}{G}{G}
@@ -31671,7 +31672,7 @@ toughness=5
[card] [card]
name=Grizzly Ghoul name=Grizzly Ghoul
abilities=trample abilities=trample
auto=foreach(creature[fresh]|mygraveyard) counter(1/1) auto=foreach(creature[fresh]|graveyard) counter(1/1)
text=Trample -- Grizzly Ghoul enters the battlefield with a +1/+1 counter on it for each creature that died this turn. text=Trample -- Grizzly Ghoul enters the battlefield with a +1/+1 counter on it for each creature that died this turn.
type=Creature type=Creature
subtype=Zombie Bear subtype=Zombie Bear
@@ -33415,7 +33416,7 @@ type=Instant
name=Heartless Pillage name=Heartless Pillage
target=opponent target=opponent
auto=ability$!discard(<2>*|myhand)!$ targetedplayer auto=ability$!discard(<2>*|myhand)!$ targetedplayer
auto=if raid then token(435451) auto=if raid then token(Treasure sur)
text=Target opponent discards two cards. -- Raid - If you attacked with a creature this turn, create a colorless Treasure artifact token with "{T}, Sacrifice this artifact: Add one mana of any color to your mana pool." text=Target opponent discards two cards. -- Raid - If you attacked with a creature this turn, create a colorless Treasure artifact token with "{T}, Sacrifice this artifact: Add one mana of any color to your mana pool."
mana={2}{B} mana={2}{B}
type=Sorcery type=Sorcery
@@ -52998,7 +52999,8 @@ toughness=3
name=Phyrexian Metamorph name=Phyrexian Metamorph
auto=may name(Copy artifact or creature) target(*[creature;artifact]|battlefield) copy and!( transforms((Artifact)) forever )! auto=may name(Copy artifact or creature) target(*[creature;artifact]|battlefield) copy and!( transforms((Artifact)) forever )!
text=({U/P} can be paid with either {U} or 2 life.) -- You may have Phyrexian Metamorph enter the battlefield as a copy of any artifact or creature on the battlefield, except it's an artifact in addition to its other types. text=({U/P} can be paid with either {U} or 2 life.) -- You may have Phyrexian Metamorph enter the battlefield as a copy of any artifact or creature on the battlefield, except it's an artifact in addition to its other types.
mana={3}{P(U)} mana={3}{p(U)}
color=blue
type=Artifact Creature type=Artifact Creature
subtype=Phyrexian Shapeshifter subtype=Phyrexian Shapeshifter
power=0 power=0
@@ -59031,6 +59033,7 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Rionya, Fire Dancer name=Rionya, Fire Dancer
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~0}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)])) oneshot
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~1}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~1}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~2}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~2}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~3}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~3}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
@@ -59292,7 +59295,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Rite of Belzenlok name=Rite of Belzenlok
auto=counter(0/0,3,Lore) auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore)
auto=create(cleric:creature cleric:0/1:black:)*2 auto=create(cleric:creature cleric:0/1:black:)*2
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) create(cleric:creature cleric:0/1:black:)*2 auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) create(cleric:creature cleric:0/1:black:)*2
@@ -70018,7 +70021,6 @@ type=Instant
[/card] [/card]
[card] [card]
name=Steward of Solidarity name=Steward of Solidarity
abilities=vigilance
auto=@exerted(this):token(Warrior,creature Warrior,1/1,white,vigilance) auto=@exerted(this):token(Warrior,creature Warrior,1/1,white,vigilance)
auto={T}:exert auto={T}:exert
text={T}, Exert Steward of Solidarity: Create a 1/1 white Warrior creature token with vigilance. (An exerted creature won't untap during your next untap step.) text={T}, Exert Steward of Solidarity: Create a 1/1 white Warrior creature token with vigilance. (An exerted creature won't untap during your next untap step.)
@@ -73856,7 +73858,7 @@ toughness=4
[card] [card]
name=The Circle of Loyalty name=The Circle of Loyalty
anyzone=foreach(creature[knight]|myBattlefield) changecost(colorless:-1) forcedalive anyzone=foreach(creature[knight]|myBattlefield) changecost(colorless:-1) forcedalive
auto=all(creature|mybattlefield) 1/1 auto=lord(creature|mybattlefield) 1/1
auto=@movedto(*[legendary]|mystack):create(knight:creature knight:2/2:white:vigilance) auto=@movedto(*[legendary]|mystack):create(knight:creature knight:2/2:white:vigilance)
auto={3}{W}{T}:create(knight:creature knight:2/2:white:vigilance) auto={3}{W}{T}:create(knight:creature knight:2/2:white:vigilance)
text=This spell costs {1} less to cast for each Knight you control. -- Creatures you control get +1/+1. -- Whenever you cast a legendary spell, create a 2/2 white Knight creature token with vigilance. -- {3}{W}, {T}: Create a 2/2 white Knight creature token with vigilance. text=This spell costs {1} less to cast for each Knight you control. -- Creatures you control get +1/+1. -- Whenever you cast a legendary spell, create a 2/2 white Knight creature token with vigilance. -- {3}{W}, {T}: Create a 2/2 white Knight creature token with vigilance.

View File

@@ -10643,7 +10643,6 @@ type=Enchantment
[card] [card]
name=Berserk Murlodont name=Berserk Murlodont
auto=lord(beast) rampage(1/1,0) auto=lord(beast) rampage(1/1,0)
auto=rampage(1/1,0)
text=Whenever a Beast becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. text=Whenever a Beast becomes blocked, it gets +1/+1 until end of turn for each creature blocking it.
mana={4}{G} mana={4}{G}
type=Creature type=Creature
@@ -70746,7 +70745,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Mannichi, the Fevered Dream name=Mannichi, the Fevered Dream
auto={1}{R}:swap all(creature) ueot auto={1}{R}:all(creature) swap ueot
text={1}{R}: Switch each creature's power and toughness until end of turn. text={1}{R}: Switch each creature's power and toughness until end of turn.
mana={2}{R} mana={2}{R}
type=Legendary Creature type=Legendary Creature
@@ -74738,7 +74737,7 @@ toughness=4
[card] [card]
name=Mirror-Mad Phantasm name=Mirror-Mad Phantasm
abilities=flying abilities=flying
auto={1}{U}:name(shuffle reveal) moveto(ownerlibrary) and!( transforms((,newability[shuffle],newability[Reveal:1 revealzone(mylibrary) revealuntil(Mirror-Mad Phantasm|mylibrary) optionone notatarget(Mirror-Mad Phantasm|reveal) bottomoflibrary optiononeend optiontwo all(*|reveal) moveto(ownergraveyard) optiontwoend revealend])) oneshot )! auto={1}{U}:name(shuffle reveal) moveto(ownerlibrary) and!( transforms((,newability[shuffle],newability[Reveal:1 revealzone(mylibrary) revealuntil(Mirror-Mad Phantasm|mylibrary) optionone notatarget(Mirror-Mad Phantasm|reveal) moveto(battlefield) optiononeend optiontwo all(*|reveal) moveto(ownergraveyard) optiontwoend revealend])) oneshot )!
text=Flying -- {1}{U}: Mirror-Mad Phantasm's owner shuffles it into his or her library. If that player does, he or she reveals cards from the top of that library until a card named Mirror-Mad Phantasm is revealed. The player puts that card onto the battlefield and all other cards revealed this way into his or her graveyard. text=Flying -- {1}{U}: Mirror-Mad Phantasm's owner shuffles it into his or her library. If that player does, he or she reveals cards from the top of that library until a card named Mirror-Mad Phantasm is revealed. The player puts that card onto the battlefield and all other cards revealed this way into his or her graveyard.
mana={3}{U}{U} mana={3}{U}{U}
type=Creature type=Creature
@@ -95613,7 +95612,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Riot Ringleader name=Riot Ringleader
auto=_ATTACKING_all(creature[human]|mybattlefield) 1/0 ueot auto=_ATTACKING_all(Human|mybattlefield) 1/0 ueot
text=Whenever Riot Ringleader attacks, Human creatures you control get +1/+0 until end of turn. text=Whenever Riot Ringleader attacks, Human creatures you control get +1/+0 until end of turn.
mana={2}{R} mana={2}{R}
type=Creature type=Creature
@@ -96182,7 +96181,7 @@ type=Sorcery
[card] [card]
name=Roar of the Crowd name=Roar of the Crowd
target=creature,player target=creature,player
auto=chooseatype damage:type:*[chosentype]:mybattlefield chooseend auto=chooseatype damage:type:chosentype:mybattlefield chooseend
text=Choose a creature type. Roar of the Crowd deals damage to target creature or player equal to the number of permanents you control of the chosen type. text=Choose a creature type. Roar of the Crowd deals damage to target creature or player equal to the number of permanents you control of the chosen type.
mana={3}{R} mana={3}{R}
type=Sorcery type=Sorcery
@@ -118957,7 +118956,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Temporary Insanity name=Temporary Insanity
target=creature[power <=type:*:mygraveyard] target=creature[power<=type:*:mygraveyard]
auto=moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],haste)) ueot)! auto=moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],haste)) ueot)!
text=Untap target creature with power less than the number of cards in your graveyard and gain control of it until end of turn. That creature gains haste until end of turn. text=Untap target creature with power less than the number of cards in your graveyard and gain control of it until end of turn. That creature gains haste until end of turn.
mana={3}{R} mana={3}{R}
@@ -126660,7 +126659,7 @@ toughness=1
[card] [card]
name=Urborg Justice name=Urborg Justice
target=opponent target=opponent
auto=ability$!name(sacrifice) target(<type:creature[fresh]:opponentgraveyard>creature|mybattlefield) sacrifice !$ targetedplayer auto=ability$!name(sacrifice) target(<type:creature[fresh]:graveyard>creature|mybattlefield) sacrifice !$ targetedplayer
text=Target opponent sacrifices a creature for each creature that died this turn. text=Target opponent sacrifices a creature for each creature that died this turn.
mana={B}{B} mana={B}{B}
type=Instant type=Instant

View File

@@ -528,7 +528,7 @@ Player * Rules::loadPlayerHorde(GameObserver* observer, int isAI)
tempDeck->addRandomCards(5, 0, 0, -1, "enchantment", tribeColor, nbColors); tempDeck->addRandomCards(5, 0, 0, -1, "enchantment", tribeColor, nbColors);
tempDeck->addRandomCards(5, 0, 0, -1, "instant", tribeColor, nbColors); tempDeck->addRandomCards(5, 0, 0, -1, "instant", tribeColor, nbColors);
tempDeck->addRandomCards(5, 0, 0, -1, "sorcery", tribeColor, nbColors); tempDeck->addRandomCards(5, 0, 0, -1, "sorcery", tribeColor, nbColors);
tempDeck->addRandomCards(1, 0, 0, -1, "artifact", tribeColor, nbColors); tempDeck->addRandomCards(1, 0, 0, -1, "artifact");
string deckFile = "random"; string deckFile = "random";
string deckFileSmall = "random"; string deckFileSmall = "random";