From 4fd4619fd8eb9ad138eba454618b6b9bab2631ec Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Thu, 26 Jan 2023 22:49:43 -0600 Subject: [PATCH] Bug fixes in primitives Knight of Old Benalia Scalelord Reckoner Insurrection affects also your creatures Scaretiller Secrets of the Golden City Trial of Ambition Channeler Initiate Hecatomb Brash Taunter Bonder's Ornament Livio, Oathsworn Sentinel, may exile, still missing aegis counters Rowan Kenrith not close to actual effect fecundity is a may Crypt Rats crashed the game Sphere of Safety Fairgrounds Trumpeter still needs the condition at end of turn Cavalry Drillmaster Bloodmist Infiltrator Sudden Demise Rishkar, Peema Renegade Glowspore Shaman Oracle of Bones Jugan, the Rising Star should be a may Corrupted Grafstone Lantern of the Lost --- .../bin/Res/sets/primitives/borderline.txt | 49 ++++++++++--------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 28 ++++++----- .../bin/Res/sets/primitives/planeswalkers.txt | 14 ------ 3 files changed, 40 insertions(+), 51 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 0435bbb0b..5aade1613 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -7899,7 +7899,7 @@ toughness=1 [/card] [card] name=Bloodmist Infiltrator -auto=_ATTACKING_may name(Sacrifice other creature) target(other creature|mybattlefield) sacrifice and!( all(this) transforms((,newability[unblockable])) ueot )! +auto=_ATTACKING_may name(sacrifice another creature) transforms((,newability[sacrifice notatarget(other creature|myBattlefield)],newability[unblockable])) ueot text=Whenever Bloodmist Infiltrator attacks, you may sacrifice another creature. If you do, Bloodmist Infiltrator can't be blocked this turn. mana={2}{B} type=Creature @@ -8535,7 +8535,7 @@ auto={T}:Add{U} auto={T}:Add{B} auto={T}:Add{R} auto={T}:Add{G} -auto={4}{T}:if type(artifact[Bonder's Ornament]|myBattlefield) then draw:1 controller && if type(artifact[Bonder's Ornament]|opponentBattlefield) then draw:1 controller +auto={4}{T}:if type(artifact[Bonder's Ornament]|myBattlefield) then draw:1 controller && if type(artifact[Bonder's Ornament]|opponentBattlefield) then draw:1 opponent text={T}: Add one mana of any color. -- {4}, {T}: Each player who controls a permanent named Bonder's Ornament draws a card. mana={3} type=Artifact @@ -9230,7 +9230,7 @@ type=Land [card] name=Brash Taunter abilities=indestructible -auto=_ENRAGE_damage:thatmuch opponent +auto=_ENRAGE_damage:thatmuch target(opponent) auto={2}{R}{T}:transforms((,newability[target(other creature|battlefield) dynamicability])) oneshot text=Indestructible -- Whenever Brash Taunter is dealt damage, it deals that much damage to target opponent. -- {2}{R}, {T}: Brash Taunter fights another target creature. mana={4}{R} @@ -11601,7 +11601,7 @@ toughness=6 [/card] [card] name=Cavalry Drillmaster -auto=target(creature) 2/0 && first strike ueot +auto=target(creature) transforms((,newability[2/0],newability[first strike])) ueot text=When Cavalry Drillmaster enters the battlefield, target creature gets +2/+0 and gains first strike until end of turn. (It deals combat damage before creatures without first strike.) mana={1}{W} type=Creature @@ -12456,11 +12456,11 @@ type=Instant [card] name=Channeler Initiate auto=counter(-1/-1,3) target(creature|mybattlefield) -auto={T}{restriction type(this[counter(-1/-1)])~morethan~0}:name(add green) counter(-1/-1,-1) && add{G} -auto={T}{restriction type(this[counter(-1/-1)])~morethan~0}:name(add blue) counter(-1/-1,-1) && add{U} -auto={T}{restriction type(this[counter(-1/-1)])~morethan~0}:name(add black) counter(-1/-1,-1) && add{B} -auto={T}{restriction type(this[counter(-1/-1)])~morethan~0}:name(add red) counter(-1/-1,-1) && add{R} -auto={T}{restriction type(this[counter(-1/-1)])~morethan~0}:name(add white) counter(-1/-1,-1) && add{W} +auto={T}{C(-1/-1,-1)}:name(add white) add{W} +auto={T}{C(-1/-1,-1)}:name(add blue) add{U} +auto={T}{C(-1/-1,-1)}:name(add black) add{B} +auto={T}{C(-1/-1,-1)}:name(add red) add{R} +auto={T}{C(-1/-1,-1)}:name(add green) add{G} text=When Channeler Initiate enters the battlefield, put three -1/-1 counters on target creature you control. -- {T}, Remove a -1/-1 counter from Channeler Initiate: Add one mana of any color to your mana pool. mana={1}{G} type=Creature @@ -18807,7 +18807,7 @@ type=Sorcery [/card] [card] name=Demon Arc -abilities=flyng +abilities=flying type=Creature subtype=Demon power=5 @@ -25753,7 +25753,7 @@ toughness=1 [/card] [card] name=Fairgrounds Trumpeter -auto=@counteradded(1/1) from(*|mybattlefield):counter(1/1) +auto=@counteradded(1/1) from(*|mybattlefield) turnlimited:counter(1/1) text=At the beginning of each end step, if a +1/+1 counter was placed on a permanent under your control this turn, put a +1/+1 counter on Fairgrounds Trumpeter. mana={2}{G} type=Creature @@ -31661,7 +31661,8 @@ toughness=4 [/card] [card] name=Glowspore Shaman -auto=deplete:3 && may (land|mygraveyard) moveTo(myLibrary) +auto=deplete:3 +auto=may notATarget(land|mygraveyard) moveTo(myLibrary) text=When Glowspore Shaman enters the battlefield, put the top three cards of your library into your graveyard. You may put a land card from your graveyard on top of your library. mana={B}{G} type=Creature @@ -43110,7 +43111,7 @@ toughness=1 [card] name=Knight of Old Benalia suspend(5)={W} -auto=lord(creature|myBattlefield) 1/1 ueot +auto=lord(other creature|myBattlefield) 1/1 ueot text=Suspend 5-{W} (Rather than cast this card from your hand, you may pay {W} and exile it with five 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. It has haste.) -- When Knight of Old Benalia enters the battlefield, other creatures you control get +1/+1 until end of turn. mana={3}{W}{W} type=Creature @@ -44135,7 +44136,7 @@ type=Instant [/card] [card] name=Lantern of the Lost -auto=name(Exile a card) target(*graveyard) moveto(exile) +auto=name(Exile a card) moveto(exile) target(*|graveyard) auto={1}{T}{E}:name(Exile cards and draw) transforms((,newability[all(*|graveyard) moveto(exile)],newability[draw:1 controller])) oneshot text=When Lantern of the Lost enters the battlefield, exile target card from a graveyard. -- {1}, {T}, Exile Lantern of the Lost: Exile all cards from all graveyards, then draw a card. mana={1} @@ -45765,7 +45766,7 @@ toughness=5 [card] name=Livio, Oathsworn Sentinel abilities=partner -auto={1}{W}:target(other creature) moveto(exile) +auto={1}{W}:target(other creature) may moveto(exile) auto={2}{W}{T}:moveto(ownerbattlefield) all(creature|exile) text={1}{W}: Choose another target creature. Its controller may exile it with an aegis counter on it. -- {2}{W}, {T}: Return all exiled cards with aegis counters on them to the battlefield under their owners' control. -- Partner (You can have two commanders if both have partner.) mana={1}{W} @@ -54564,9 +54565,10 @@ toughness=5 [/card] [card] name=Oracle of Bones -auto=if type(*[instant;sorcery]|mygraveyard)~morethan~0 then all(this) flipacoin winability counter(0/0,1,TributeUnpaid) winabilityend loseability counter(1/1,2) loseabilityend flipend +abilities=haste +auto=if type(*[instant;sorcery]|myhand)~morethan~0 then all(this) flipacoin winability counter(0/0,1,TributeUnpaid) winabilityend loseability counter(1/1,2) loseabilityend flipend auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:counter(0/0,-1,TributeUnpaid) all(this) -auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:may name(Cast instant or sorcery) name(Cast instant or sorcery) activate castcard(normal) target(*[sorcery;instant]|mygraveyard) +auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:may name(Cast instant or sorcery) name(Cast instant or sorcery) activate castcard(normal) target(*[sorcery;instant]|myhand) text=Haste -- Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.) -- When Oracle of Bones enters the battlefield, if tribute wasn't paid, you may cast an instant or sorcery card from your hand without paying its mana cost. mana={2}{R}{R} type=Creature @@ -66437,7 +66439,7 @@ toughness=3 [card] name=Scalelord Reckoner abilities=flying -auto=@targeted(dragon|mybattlefield):destroy target(*[-land]|opponentbattlefield) +auto=@targeted(dragon|mybattlefield) from(*|opponentbattlefield,opponenthand,opponentstack,opponentgraveyard,opponentexile,opponentlibrary):destroy target(*[-land]|opponentbattlefield) text=Flying -- Whenever a Dragon you control becomes the target of a spell or ability an opponent controls, destroy target nonland permanent that player controls. mana={3}{W}{W} type=Creature @@ -66487,8 +66489,7 @@ type=Instant [/card] [card] name=Scaretiller -auto=@tapped(this):choice may moveto(myBattlefield) and!(tap(noevent))! target(land|myhand) -auto=@tapped(this):choice may moveto(myBattlefield) and!(tap(noevent))! target(land|mygraveyard) +auto=@tapped(this):may moveto(myBattlefield) and!(tap(noevent))! target(land|myhand,mygraveyard) text=Whenever Scaretiller becomes tapped, Choose one -- You may put a land card from your hand onto the battlefield tapped. -- Return target land card from your graveyard to the battlefield tapped. mana={4} type=Artifact Creature @@ -67437,7 +67438,7 @@ type=Conspiracy [card] name=Secrets of the Golden City auto=_ASCEND_ -auto=_CITY'S_BLESSING_ draw:1 controller +auto=choice _CITY'S_BLESSING_ draw:1 controller auto=draw:2 controller text=Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.) -- Draw two cards. If you have the city's blessing, draw three cards instead. mana={1}{U}{U} @@ -73353,7 +73354,7 @@ type=Artifact [/card] [card] name=Sphere of Safety -auto=lord(creature|opponentbattlefield) transforms((,newability[foreach(enchantment|mybattlefield) attackcost:1])) +auto=lord(creature|opponentbattlefield) transforms((,newability[foreach(enchantment|opponentbattlefield) attackcost:1])) text=Creatures can't attack you or a planeswalker you control unless their controller pays {X} for each of those creatures, where X is the number of enchantments you control. mana={4}{W} type=Enchantment @@ -75940,7 +75941,7 @@ type=Instant [/card] [card] name=Sudden Demise -auto=chooseacolor damage:X all (creature[chosencolor]|battlefield) chooseend +auto=chooseacolor all(creature[chosencolor]|battlefield) damage:X chooseend text=Choose a color. Sudden Demise deals X damage to each creature of the chosen color. mana={X}{R} type=Sorcery @@ -82099,7 +82100,7 @@ type=Instant [/card] [card] name=Trial of Ambition -auto=ability$!name(Sacrifice a creature) notatarget(creature|mybattlefield) sacrifice!$ opponent +auto=ability$!name(Sacrifice a creature) notatarget(creature|mybattlefield) sacrifice!$ target(opponent) auto=@movedto(cartouche|mybattlefield):moveto(myhand) text=When Trial of Ambition enters the battlefield, target opponent sacrifices a creature. -- When a Cartouche enters the battlefield under your control, return Trial of Ambition to its owner's hand. mana={1}{B} diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 956ed5320..7bcf187e8 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -22832,11 +22832,11 @@ subtype=Aura [card] name=Corrupted Grafstone auto=tap(noevent) -auto=aslongas(*[green]|mygraveyard)~morethan~0 {T}:add{G} -auto=aslongas(*[white]|mygraveyard)~morethan~0 {T}:add{W} -auto=aslongas(*[black]|mygraveyard)~morethan~0 {T}:add{B} -auto=aslongas(*[blue]|mygraveyard)~morethan~0 {T}:add{U} -auto=aslongas(*[red]|mygraveyard)~morethan~0 {T}:add{R} +auto=aslongas(*[white]|mygraveyard) {T}:add{W} +auto=aslongas(*[blue]|mygraveyard) {T}:add{U} +auto=aslongas(*[black]|mygraveyard) {T}:add{B} +auto=aslongas(*[red]|mygraveyard) {T}:add{R} +auto=aslongas(*[green]|mygraveyard) {T}:add{G} text=Corrupted Grafstone enters the battlefield tapped. -- {T}: Choose a color of a card in your graveyard. Add one mana of that color to your mana pool. mana={2} type=Artifact @@ -24484,7 +24484,7 @@ type=Land [/card] [card] name=Crypt Rats -auto={X:black}:damage:X all(creature,player) +auto={X:black}:damage:X all(creature) && damage:X controller && damage:X opponent text={X}: Crypt Rats deals X damage to each creature and each player. Spend only black mana this way. mana={2}{B} type=Creature @@ -39508,7 +39508,7 @@ type=Instant [card] name=Fecundity auto=@movedTo(creature|mygraveyard) from(battlefield):may draw:1 controller -auto=@movedTo(creature|opponentgraveyard) from(battlefield):draw:1 opponent +auto=@movedTo(creature|opponentgraveyard) from(battlefield):may draw:1 opponent text=Whenever a creature dies, that creature's controller may draw a card. mana={2}{G} type=Enchantment @@ -49303,7 +49303,7 @@ toughness=2 name=Grand Arbiter Augustin IV auto=lord(*[white]|mycastingzone) altercost(colorless,-1) auto=lord(*[blue]|mycastingzone) altercost(colorless,-1) -auto=lord(*|opponentcastingzone) altercost( colorless,+1) +auto=lord(*|opponentcastingzone) altercost(colorless,+1) text=White spells you cast cost {1} less to cast. -- Blue spells you cast cost {1} less to cast. -- Spells your opponents cast cost {1} more to cast. mana={2}{W}{U} type=Legendary Creature @@ -53482,8 +53482,8 @@ subtype=Equipment [/card] [card] name=Hecatomb -auto=aslongas(creature|mybattlefield) choice target(<4>other creature|mybattlefield) sacrifice oneshot >4 -auto=choice sacrifice all(this) +auto=aslongas(creature|mybattlefield) choice name(sacrifice four creatures) target(<4>creature|mybattlefield) sacrifice oneshot >3 +auto=choice name(sacrifice Hecatomb) sacrifice all(this) auto={T(swamp|mybattlefield)}:damage:1 target(creature,player) text=When Hecatomb enters the battlefield, sacrifice Hecatomb unless you sacrifice four creatures. -- Tap an untapped Swamp you control: Hecatomb deals 1 damage to target creature or player. mana={1}{B}{B} @@ -58756,6 +58756,8 @@ type=Instant [card] name=Insurrection auto=all(creature|opponentbattlefield) transforms((,newability[moveTo(opponentbattlefield)],newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],haste)) ueot +auto=all(creature|mybattlefield) untap +auto=all(creature|mybattlefield) haste text=Untap all creatures and gain control of them until end of turn. They gain haste until end of turn. mana={5}{R}{R}{R} type=Sorcery @@ -60773,7 +60775,7 @@ toughness=1 [card] name=Jugan, the Rising Star abilities=flying -auto=_DIES_ability$!counter(1/1) target(creature)!$ controller && ability$!counter(1/1) target(creature)!$ controller && ability$!counter(1/1) target(creature)!$ controller && ability$!counter(1/1) target(creature)!$ controller && ability$!counter(1/1) target(creature)!$ controller +auto=_DIES_ability$!may counter(1/1) target(creature)!$ controller && ability$!may counter(1/1) target(creature)!$ controller && ability$!may counter(1/1) target(creature)!$ controller && ability$!may counter(1/1) target(creature)!$ controller && ability$!may counter(1/1) target(creature)!$ controller text=Flying -- When Jugan, the Rising Star is put into a graveyard from the battlefield, you may distribute five +1/+1 counters among any number of target creatures. mana={3}{G}{G}{G} type=Legendary Creature @@ -95889,7 +95891,7 @@ type=Land [/card] [card] name=Rishkar, Peema Renegade -auto=counter(1/1) target(creature) +auto=counter(1/1) target(creature|mybattlefield) auto=lord(creature[counter{any}]|mybattlefield) {T}:Add{G} text=When Rishkar, Peema Renegade enters the battlefield, put a +1/+1 counter on each of up to two target creatures. -- Each creature you control with a counter on it has "{T}: Add {G} to your mana pool." mana={2}{G} @@ -105067,7 +105069,7 @@ toughness=4 [/card] [card] name=Sidisi's Pet -abilities=Lifelink +abilities=lifelink facedown={3} autofacedown={1}{B}:morph text=Lifelink (Damage dealt by this creature also causes you to gain that much life.) -- Morph {1}{B} (You may cast this card face down as a 2/2 creature for 3. Turn it face up any time for its morph cost.) diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 86a0765ae..a7278d390 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -2379,20 +2379,6 @@ type=Legendary Planeswalker subtype=Rowan [/card] [card] -name=Rowan Kenrith -abilities=partner,canbecommander -partner=Will Kenrith -auto=counter(0/0,4,loyalty) -auto={C(0/0,2,Loyalty)}:name(+2: Opponent creatures must attack) token(Rowan Effect,Emblem,0/0,shroud,indestructible,notrigger) and!( transforms((,newability[@each opponent endofturn:name(Sacrifice) sacrifice],newability[lord(creature|opponentbattlefield) mustattack])) forever )! -auto={C(0/0,2,Loyalty)}:name(+2: Your creatures must attack) token(Rowan Effect,Emblem,0/0,shroud,indestructible,notrigger) and!( transforms((,newability[@each opponent endofturn:counter(0/0.1.Rem)],newability[@each my endofturn restriction{compare(hascntrem)~equalto~1}:name(Sacrifice) sacrifice],newability[this(counter{0/0.1.Rem}>0) lord(creature|mybattlefield) mustattack])) forever )! -auto={C(0/0,-2,Loyalty)}:name(-2: Deals 3 damage to opponent tapped creatures) damage:3 all(creature[tapped]|opponentBattlefield) -auto={C(0/0,-2,Loyalty)}:name(-2: Deals 3 damage to your tapped creatures) damage:3 all(creature[tapped]|myBattlefield) -text=+2: During target player's next turn, each creature that player controls attacks if able. -- −2: Rowan Kenrith deals 3 damage to each tapped creature target player controls. -- −8: Target player gets an emblem with "Whenever you activate an ability that isn't a mana ability, copy it. You may choose new targets for the copy." -- Partner with Will Kenrith -- Rowan Kenrith can be your commander. -mana={4}{R}{R} -type=Legendary Planeswalker -subtype=Rowan -[/card] -[card] name=Rowan, Scholar of Sparks other={4}{U} name(Will, Scholar of Frost) otherrestriction=can play planeswalker,compare(isflipped)~equalto~1