diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 13f576ff6..424b2d317 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -5752,6 +5752,7 @@ toughness=2 name=Beledros Witherbloom 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={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. mana={5}{B}{G} type=Legendary Creature @@ -7280,7 +7281,7 @@ type=Sorcery [card] name=Bloodcrazed Paladin 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. mana={1}{B} type=Creature @@ -8654,7 +8655,7 @@ type=Enchantment [card] name=Brawl-Bash Ogre 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. mana={2}{B}{R} type=Creature @@ -22848,7 +22849,7 @@ type=Enchantment subtype=Aura [/card] [card] -name=Errata, the Silencer +name=Etrata, the Silencer 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 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] name=Gargos, Vicious Watcher 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])) 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} @@ -31671,7 +31672,7 @@ toughness=5 [card] name=Grizzly Ghoul 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. type=Creature subtype=Zombie Bear @@ -33415,7 +33416,7 @@ type=Instant name=Heartless Pillage target=opponent 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." mana={2}{B} type=Sorcery @@ -52998,7 +52999,8 @@ toughness=3 name=Phyrexian Metamorph 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. -mana={3}{P(U)} +mana={3}{p(U)} +color=blue type=Artifact Creature subtype=Phyrexian Shapeshifter power=0 @@ -59031,6 +59033,7 @@ type=Artifact [/card] [card] 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~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 @@ -59292,7 +59295,7 @@ type=Instant [/card] [card] 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=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] name=Steward of Solidarity -abilities=vigilance auto=@exerted(this):token(Warrior,creature Warrior,1/1,white,vigilance) 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.) @@ -73856,7 +73858,7 @@ toughness=4 [card] name=The Circle of Loyalty 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={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. diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index ddc5a6d68..a8f278fa3 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -10643,7 +10643,6 @@ type=Enchantment [card] name=Berserk Murlodont 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. mana={4}{G} type=Creature @@ -70746,7 +70745,7 @@ type=Sorcery [/card] [card] 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. mana={2}{R} type=Legendary Creature @@ -74738,7 +74737,7 @@ toughness=4 [card] name=Mirror-Mad Phantasm 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. mana={3}{U}{U} type=Creature @@ -95613,7 +95612,7 @@ toughness=1 [/card] [card] 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. mana={2}{R} type=Creature @@ -96182,7 +96181,7 @@ type=Sorcery [card] name=Roar of the Crowd 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. mana={3}{R} type=Sorcery @@ -118957,7 +118956,7 @@ type=Sorcery [/card] [card] 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)! 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} @@ -126660,7 +126659,7 @@ toughness=1 [card] name=Urborg Justice target=opponent -auto=ability$!name(sacrifice) target(creature|mybattlefield) sacrifice !$ targetedplayer +auto=ability$!name(sacrifice) target(creature|mybattlefield) sacrifice !$ targetedplayer text=Target opponent sacrifices a creature for each creature that died this turn. mana={B}{B} type=Instant diff --git a/projects/mtg/src/Rules.cpp b/projects/mtg/src/Rules.cpp index f9e72acbd..84796c0c7 100644 --- a/projects/mtg/src/Rules.cpp +++ b/projects/mtg/src/Rules.cpp @@ -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, "instant", 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 deckFileSmall = "random";