Fixed generic Affinity ability, fixzed some primitives with affinity abilities.

This commit is contained in:
Vittorio Alfieri
2023-05-26 21:36:11 +02:00
parent 3dfd3253b2
commit ad9ea0f972
2 changed files with 36 additions and 146 deletions

View File

@@ -2423,17 +2423,7 @@ type=Instant
[card] [card]
name=Angelic Observer name=Angelic Observer
abilities=flying abilities=flying
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(citizen|mybattlefield) reduce({1})
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(citizen|mybattlefield) altercost(colorless,-1) >10
text=This spell costs {1} less to cast for each Citizen you control. -- Flying text=This spell costs {1} less to cast for each Citizen you control. -- Flying
mana={5}{W} mana={5}{W}
type=Creature type=Creature
@@ -12017,6 +12007,15 @@ power=3
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Calamity's Wake
abilities=exiledeath
auto=emblem transforms((,newability[maxCast(*[-creature])0 opponent],newability[maxCast(*[-creature])0 controller])) ueot
auto=all(*|graveyard) moveto(ownerexile)
text=Exile all graveyards. Players can't cast noncreature spells this turn. Exile Calamity's Wake.
mana={1}{W}
type=Instant
[/card]
[card]
name=Calciform Pools name=Calciform Pools
auto={T}:add{C} auto={T}:add{C}
auto={1}{T}:counter(0/0,1,Storage) auto={1}{T}:counter(0/0,1,Storage)
@@ -12095,7 +12094,7 @@ name=Calix, Guided by Fate
auto=@movedTo(enchantment|myBattlefield):name(Put 1/1 counter) target(creature|battlefield) counter(1/1) auto=@movedTo(enchantment|myBattlefield):name(Put 1/1 counter) target(creature|battlefield) counter(1/1)
auto=name(Put 1/1 counter) target(creature|battlefield) counter(1/1) auto=name(Put 1/1 counter) target(creature|battlefield) counter(1/1)
auto=@combatdamaged(player) from(Calix^ Guided by Fate,creature[enchanted]|myBattlefield) turnlimited:may name(Copy enchantment) target(enchantment[-legendary]|myBattlefield) clone and!( transforms((,newability[if cantargetcard(*[aura]|*) then rehook target(creature|mybattlefield)])) forever )! auto=@combatdamaged(player) from(Calix^ Guided by Fate,creature[enchanted]|myBattlefield) turnlimited:may name(Copy enchantment) target(enchantment[-legendary]|myBattlefield) clone and!( transforms((,newability[if cantargetcard(*[aura]|*) then rehook target(creature|mybattlefield)])) forever )!
text=Constellation â?? Whenever Calix, Guided by Fate or another enchantment enters the battlefield under your control, put a +1/+1 counter on target creature. -- Whenever Calix or an enchanted creature you control deals combat damage to a player, you may create a token that's a copy of a nonlegendary enchantment you control. Do this only once each turn. text=Constellation -- Whenever Calix, Guided by Fate or another enchantment enters the battlefield under your control, put a +1/+1 counter on target creature. -- Whenever Calix or an enchanted creature you control deals combat damage to a player, you may create a token that's a copy of a nonlegendary enchantment you control. Do this only once each turn.
mana={1}{G}{W} mana={1}{G}{W}
type=Legendary Enchantment Creature type=Legendary Enchantment Creature
subtype=Human Druid subtype=Human Druid
@@ -33412,17 +33411,7 @@ toughness=5
[/card] [/card]
[card] [card]
name=Gate Colossus name=Gate Colossus
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(gate|mybattlefield) reduce({1})
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(land[Gate]|mybattlefield) altercost(colorless,-1) >10
auto=cantbeblockedby(creature[power<=2]) auto=cantbeblockedby(creature[power<=2])
autograveyard=@movedTo(land[Gate]|myBattlefield):may moveTo(myLibray) autograveyard=@movedTo(land[Gate]|myBattlefield):may moveTo(myLibray)
text=This spell costs {1} less to cast for each Gate you control. -- Gate Colossus can't be blocked by creatures with power 2 or less. -- Whenever a Gate enters the battlefield under your control, you may put Gate Colossus from your graveyard on top of your library. text=This spell costs {1} less to cast for each Gate you control. -- Gate Colossus can't be blocked by creatures with power 2 or less. -- Whenever a Gate enters the battlefield under your control, you may put Gate Colossus from your graveyard on top of your library.
@@ -33631,8 +33620,10 @@ type=Artifact
[card] [card]
name=Geistlight Snare name=Geistlight Snare
target=*|stack target=*|stack
restriction=type(*[enchantment]|mybattlefield)~equalto~0
otherrestriction=type(*[enchantment]|mybattlefield)~morethan~0
anyzone=this(variable{type:spirit:mybattlefield}>0) changecost(colorless:-1) forcedalive anyzone=this(variable{type:spirit:mybattlefield}>0) changecost(colorless:-1) forcedalive
anyzone=this(variable{type:enchantment:mybattlefield}>0) changecost(colorless:-1) forcedalive other={1}{U} name(Cast for 1 less
auto=transforms((,newability[pay[[{3}]] name(pay 3 mana) donothing?fizzle])) forever auto=transforms((,newability[pay[[{3}]] name(pay 3 mana) donothing?fizzle])) forever
text=This spell costs {1} less to cast if you control a Spirit. It also costs {1} less to cast if you control an enchantment. -- Counter target spell unless its controller pays {3}. text=This spell costs {1} less to cast if you control a Spirit. It also costs {1} less to cast if you control an enchantment. -- Counter target spell unless its controller pays {3}.
mana={2}{U} mana={2}{U}
@@ -38494,10 +38485,11 @@ toughness=0
[/card] [/card]
[card] [card]
name=Hagra Mauling name=Hagra Mauling
restriction=compare(isflipped)~equalto~0 restriction=compare(isflipped)~equalto~0,type(land[basic]|opponentBattlefield)~morethan~0
otherrestriction=type(land[basic]|opponentBattlefield)~equalto~0
anyzone={0}:doubleside(Hagra Broodpit) anyzone={0}:doubleside(Hagra Broodpit)
autohand={0}:restriction{can play land,compare(isflipped)~equalto~1} name(Hagra Broodpit) name(Hagra Broodpit) flip(Hagra Broodpit) forcetype(land) autohand={0}:restriction{can play land,compare(isflipped)~equalto~1} name(Hagra Broodpit) name(Hagra Broodpit) flip(Hagra Broodpit) forcetype(land)
anyzone=this(variable{type:land[basic]:opponenthand}<1) changecost(colorless:-1) forcedalive other={1}{B}{B} name(Cast for 1 less
auto=name(Destroy a creature) name(Destroy a creature) destroy target(creature) auto=name(Destroy a creature) name(Destroy a creature) destroy target(creature)
text=This spell costs {1} less if an opponent controls no basic lands. -- Destroy target creature. // Hagra Broodpit text=This spell costs {1} less if an opponent controls no basic lands. -- Destroy target creature. // Hagra Broodpit
mana={2}{B}{B} mana={2}{B}{B}
@@ -38888,17 +38880,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Hamza, Guardian of Arashin name=Hamza, Guardian of Arashin
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(creature[counter{1/1}]|mybattlefield) reduce({1})
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(creature[counter{1/1}]|mybattlefield) altercost(colorless,-1) >10
auto=lord(creature|mycastingzone) foreach(creature[counter{1/1}]|mybattlefield) changecost(colorless:-1) forcedalive auto=lord(creature|mycastingzone) foreach(creature[counter{1/1}]|mybattlefield) changecost(colorless:-1) forcedalive
text=This spell costs {1} less to cast for each creature you control with a +1/+1 counter on it. -- Creature spells you cast cost {1} less to cast for each creature you control with a +1/+1 counter on it. text=This spell costs {1} less to cast for each creature you control with a +1/+1 counter on it. -- Creature spells you cast cost {1} less to cast for each creature you control with a +1/+1 counter on it.
mana={4}{G}{W} mana={4}{G}{W}
@@ -42242,17 +42224,7 @@ type=Snow Artifact
[/card] [/card]
[card] [card]
name=Icebreaker Kraken name=Icebreaker Kraken
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(land[snow]|mybattlefield) reduce({1})
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(land[snow]|mybattlefield) altercost(colorless,-1) >10
auto=all(*[artifact;creature]|opponentbattlefield) frozen auto=all(*[artifact;creature]|opponentbattlefield) frozen
auto={H(land[snow]|mybattlefield)}{H(land[snow]|mybattlefield)}{H(land[snow]|mybattlefield)}:moveTo(ownerhand) auto={H(land[snow]|mybattlefield)}{H(land[snow]|mybattlefield)}{H(land[snow]|mybattlefield)}:moveTo(ownerhand)
text=This spell costs {1} less to cast for each snow land you control. -- When Icebreaker Kraken enters the battlefield, artifacts and creatures target opponent controls don't untap during that player's next untap step. -- Return three snow lands you control to their owner's hand: Return Icebreaker Kraken to its owner's hand. text=This spell costs {1} less to cast for each snow land you control. -- When Icebreaker Kraken enters the battlefield, artifacts and creatures target opponent controls don't untap during that player's next untap step. -- Return three snow lands you control to their owner's hand: Return Icebreaker Kraken to its owner's hand.
@@ -44443,7 +44415,7 @@ toughness=6
name=Into the Fire name=Into the Fire
auto=choice name(Deals 2 damage) all(*[creature;planeswalker;battle]|battlefield) damage:2 auto=choice name(Deals 2 damage) all(*[creature;planeswalker;battle]|battlefield) damage:2
auto=choice name(Put cards on bottom) all(*[zpos=1]|mylibrary) moveto(myhand) and!( transforms((,newability[name(Put cards on bottom) target(<anyamount>other *|myhand) bottomoflibrary and!( draw:1 controller )!])) oneshot )! auto=choice name(Put cards on bottom) all(*[zpos=1]|mylibrary) moveto(myhand) and!( transforms((,newability[name(Put cards on bottom) target(<anyamount>other *|myhand) bottomoflibrary and!( draw:1 controller )!])) oneshot )!
text=Choose one â?? -- â?¢ Into the Fire deals 2 damage to each creature, planeswalker, and battle. -- â?¢ Put any number of cards from your hand on the bottom of your library, then draw that many cards plus one. text=Choose one -- Into the Fire deals 2 damage to each creature, planeswalker, and battle. -- Put any number of cards from your hand on the bottom of your library, then draw that many cards plus one.
mana={2}{R} mana={2}{R}
type=Sorcery type=Sorcery
[/card] [/card]
@@ -46751,17 +46723,7 @@ toughness=5
[/card] [/card]
[card] [card]
name=Junk Winder name=Junk Winder
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(*[token]|mybattlefield) reduce({1})
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(*[token]|mybattlefield) altercost(colorless,-1) >10
auto=@movedto(*[token]|myBattlefield):name(Freeze non-land permanent) target(*[-land]|opponentBattlefield) freeze auto=@movedto(*[token]|myBattlefield):name(Freeze non-land permanent) target(*[-land]|opponentBattlefield) freeze
text=Affinity for tokens (This spell costs 1 less to cast for each token you control.) -- Whenever a token enters the battlefield under your control, tap target nonland permanent an opponent controls. It doesn't untap during its controller's next untap step. text=Affinity for tokens (This spell costs 1 less to cast for each token you control.) -- Whenever a token enters the battlefield under your control, tap target nonland permanent an opponent controls. It doesn't untap during its controller's next untap step.
mana={5}{U}{U} mana={5}{U}{U}
@@ -55487,17 +55449,7 @@ toughness=3
[card] [card]
name=Millicent, Restless Revenant name=Millicent, Restless Revenant
abilities=flying abilities=flying
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(spirit|mybattlefield) reduce({1})
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(spirit|mybattlefield) altercost(colorless,-1) >10
auto=@damaged(player) from(spirit[-token]|myBattlefield):name(Create Spirit) _SPIRITTOKEN_ auto=@damaged(player) from(spirit[-token]|myBattlefield):name(Create Spirit) _SPIRITTOKEN_
auto=@movedto(spirit[-token]|graveyard) from(myBattlefield):name(Create Spirit) _SPIRITTOKEN_ auto=@movedto(spirit[-token]|graveyard) from(myBattlefield):name(Create Spirit) _SPIRITTOKEN_
text=This spell costs {1} less to cast for each Spirit you control. -- Flying -- Whenever Millicent, Restless Revenant or another nontoken Spirit you control dies or deals damage to a player, create a 1/1 white Spirit creature token with flying. text=This spell costs {1} less to cast for each Spirit you control. -- Flying -- Whenever Millicent, Restless Revenant or another nontoken Spirit you control dies or deals damage to a player, create a 1/1 white Spirit creature token with flying.
@@ -58054,17 +58006,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Nahiri, Forged in Fury name=Nahiri, Forged in Fury
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(equipment|mybattlefield) reduce({1})
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >10
auto=@combat(attacking) source(creature[geared]|myBattlefield):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[this(cantargetcard(*[equipment]|*) zerocast])) ueot )! auto=@combat(attacking) source(creature[geared]|myBattlefield):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[this(cantargetcard(*[equipment]|*) zerocast])) ueot )!
text=Affinity for Equipment (This spell costs {1} less to cast for each Equipment you control.) -- Whenever an equipped creature you control attacks, exile the top card of your library. You may play that card this turn. You may cast Equipment spells this way without paying their mana costs. text=Affinity for Equipment (This spell costs {1} less to cast for each Equipment you control.) -- Whenever an equipped creature you control attacks, exile the top card of your library. You may play that card this turn. You may cast Equipment spells this way without paying their mana costs.
mana={4}{R}{W} mana={4}{R}{W}
@@ -58075,7 +58017,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Naiad of Hidden Coves name=Naiad of Hidden Coves
auto=aslongas opponentturnonly: (*|mycastingzone) changecost(colorless:-1) auto=this(variable{opponentturn}>0) lord(*|mycastingzone) changecost(colorless:-1)
text=As long as it's not your turn, spells you cast cost {1} less to cast. text=As long as it's not your turn, spells you cast cost {1} less to cast.
mana={2}{U} mana={2}{U}
type=Enchantment Creature type=Enchantment Creature
@@ -59725,7 +59667,7 @@ name=Nissa, Resurgent Animist
aicode=activate transforms((,newability[if type(*[elf;elemental]|mylibrary)~equalto~0 then shuffle],newability[if type(elf|mylibrary)~equalto~0 then if type(elemental|mylibrary)~morethan~0 then all(*[zpos=findfirsttypeelemental]|mylibrary) moveto(myhand) and!( all(*[zpos<=findfirsttypeelemental]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!],newability[if type(elf|mylibrary)~morethan~0 then all(*[zpos=findfirsttypeelf]|mylibrary) moveto(myhand) and!( all(*[zpos<=findfirsttypeelf]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot aicode=activate transforms((,newability[if type(*[elf;elemental]|mylibrary)~equalto~0 then shuffle],newability[if type(elf|mylibrary)~equalto~0 then if type(elemental|mylibrary)~morethan~0 then all(*[zpos=findfirsttypeelemental]|mylibrary) moveto(myhand) and!( all(*[zpos<=findfirsttypeelemental]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!],newability[if type(elf|mylibrary)~morethan~0 then all(*[zpos=findfirsttypeelf]|mylibrary) moveto(myhand) and!( all(*[zpos<=findfirsttypeelf]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot
auto=@movedTo(land|myBattlefield):name(Add 1 mana) ability$!name(Choose one) choice add{W} _ choice add{U} _ choice add{R} _ choice add{G} _ choice add{B}!$ controller auto=@movedTo(land|myBattlefield):name(Add 1 mana) ability$!name(Choose one) choice add{W} _ choice add{U} _ choice add{R} _ choice add{G} _ choice add{B}!$ controller
auto=@movedTo(land|myBattlefield) restriction{thisturn(land[fresh]|myBattlefield)~equalto~1}:name(Reveal cards) name(Reveal cards) Reveal:1 revealzone(mylibrary) revealuntil(*[elf;elemental]|mylibrary) optionone name(Put in hand) target(*[elf;elemental]|reveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend auto=@movedTo(land|myBattlefield) restriction{thisturn(land[fresh]|myBattlefield)~equalto~1}:name(Reveal cards) name(Reveal cards) Reveal:1 revealzone(mylibrary) revealuntil(*[elf;elemental]|mylibrary) optionone name(Put in hand) target(*[elf;elemental]|reveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
text=Landfall â?? Whenever a land enters the battlefield under your control, add one mana of any color. Then if this is the second time this ability has resolved this turn, reveal cards from the top of your library until you reveal an Elf or Elemental card. Put that card into your hand and the rest on the bottom of your library in a random order. text=Landfall -- Whenever a land enters the battlefield under your control, add one mana of any color. Then if this is the second time this ability has resolved this turn, reveal cards from the top of your library until you reveal an Elf or Elemental card. Put that card into your hand and the rest on the bottom of your library in a random order.
mana={2}{G} mana={2}{G}
type=Legendary Creature type=Legendary Creature
subtype=Elf Scout subtype=Elf Scout
@@ -61925,17 +61867,7 @@ toughness=1
[card] [card]
name=Ore-Scale Guardian name=Ore-Scale Guardian
abilities=flying,haste abilities=flying,haste
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >0 anyzone=affinity(land|mygraveyard) reduce({1})
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >1
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >2
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >3
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >4
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >5
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >6
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >7
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >8
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >9
anyzone=aslongas(land|mygraveyard) altercost(colorless,-1) >10
text=This spell costs {1} less to cast for each land card in your graveyard. -- Flying, haste text=This spell costs {1} less to cast for each land card in your graveyard. -- Flying, haste
mana={5}{R}{R} mana={5}{R}{R}
type=Creature type=Creature
@@ -62600,17 +62532,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Oxidda Finisher name=Oxidda Finisher
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >0 anyzone=affinity(equipment|mybattlefield) reduce({1})
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >1
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >2
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >3
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >4
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >5
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >6
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >7
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >8
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >9
anyzone=aslongas(equipment|mybattlefield) altercost(colorless,-1) >10
abilities=trample abilities=trample
text=Affinity for Equipment (This spell costs {1} less to cast for each Equipment you control.) -- Trample text=Affinity for Equipment (This spell costs {1} less to cast for each Equipment you control.) -- Trample
mana={5}{R}{R} mana={5}{R}{R}
@@ -73912,17 +73834,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Sailors' Bane name=Sailors' Bane
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >0 anyzone=affinity(*[instant;sorcery;adventure]|mygraveyard) reduce({1})
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >1
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >2
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >3
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >4
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >5
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >6
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >7
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >8
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >9
anyzone=aslongas(*[instant;sorcery;adventure]|mygraveyard) altercost(colorless,-1) >10
auto=_WARD_(4) auto=_WARD_(4)
text=This spell costs {1} less to cast for each card you own in exile and in your graveyard that's an instant card, a sorcery card, or a card that has an Adventure. -- Ward {4} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {4}.) text=This spell costs {1} less to cast for each card you own in exile and in your graveyard that's an instant card, a sorcery card, or a card that has an Adventure. -- Ward {4} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {4}.)
mana={7}{U}{U} mana={7}{U}{U}
@@ -75816,9 +75728,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Sea Gate Colossus name=Sea Gate Colossus
autoexile=thisforeach(variable{calculateparty}>0) changecost(colorless:-1) forcedalive abilities=affinityparty
autograveyard=thisforeach(variable{calculateparty}>0) changecost(colorless:-1) forcedalive
autohand=thisforeach(variable{calculateparty}>0) changecost(colorless:-1) forcedalive
text=This spell costs {1} less for each creature in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.) text=This spell costs {1} less for each creature in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.)
mana={7} mana={7}
type=Artifact Creature type=Artifact Creature
@@ -88957,17 +88867,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=The Circle of Loyalty name=The Circle of Loyalty
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >0 anyzone=affinity(knight|myBattlefield) reduce({1})
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >1
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >2
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >3
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >4
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >5
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >6
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >7
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >8
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >9
anyzone=aslongas(knight|myBattlefield) altercost(colorless,-1) >10
auto=lord(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)
@@ -89137,7 +89037,7 @@ auto=@counteradded(0/0,1,EvolutionDepleted) from(*|mygraveyard) restriction{comp
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~2}:name(Distribute 1/1 counters) transforms((,newability[thisforeach(variable{7}) ability$!name(Put 1/1 counter) target(creature|mybattlefield) counter(1/1)!$ controller])) oneshot auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~2}:name(Distribute 1/1 counters) transforms((,newability[thisforeach(variable{7}) ability$!name(Put 1/1 counter) target(creature|mybattlefield) counter(1/1)!$ controller])) oneshot
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(Creatures can fight) name(Creatures can fight) all(creature|myBattlefield) transforms((,newability[{1}:name(Fights opponent creature) target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>])) auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(Creatures can fight) name(Creatures can fight) all(creature|myBattlefield) transforms((,newability[{1}:name(Fights opponent creature) target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>]))
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(Exile and return) moveto(myexile) and!( moveto(mybattlefield) and!( transforms((,newability[becomes(Legendary) forever],newability[@movedto(creature|mybattlefield):name(Creatures can fight) name(Creatures can fight) all(trigger[to]) transforms((,newability[{1}:name(Fights opponent creature) target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>])) ueot])) ueot )! )! auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(Exile and return) moveto(myexile) and!( moveto(mybattlefield) and!( transforms((,newability[becomes(Legendary) forever],newability[@movedto(creature|mybattlefield):name(Creatures can fight) name(Creatures can fight) all(trigger[to]) transforms((,newability[{1}:name(Fights opponent creature) target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>])) ueot])) ueot )! )!
text=(As this Saga enters and after your draw step, add a lore counter.) -- I â?? Mill ten cards. Put up to two creature cards from among the milled cards onto the battlefield. -- II â?? Distribute seven +1/+1 counters among any number of target creatures you control. -- III â?? Until end of turn, creatures you control gain "{1}: This creature fights target creature you don't control." Exile The Grand Evolution, then return it to the battlefield (front face up). text=(As this Saga enters and after your draw step, add a lore counter.) -- I -- Mill ten cards. Put up to two creature cards from among the milled cards onto the battlefield. -- II -- Distribute seven +1/+1 counters among any number of target creatures you control. -- III -- Until end of turn, creatures you control gain "{1}: This creature fights target creature you don't control." Exile The Grand Evolution, then return it to the battlefield (front face up).
color=green color=green
type=Enchantment type=Enchantment
subtype=Saga subtype=Saga
@@ -89174,7 +89074,7 @@ auto=name(Damage opponent and creatures) damage:3 opponent && damage:3 all(creat
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) name(Create 3 treasures) token(Treasure Sur)*3 auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) name(Create 3 treasures) token(Treasure Sur)*3
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Cast spells from graveyard) name(Cast spells from graveyard) all(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Cast spells from graveyard) name(Cast spells from graveyard) all(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Exile and return) moveto(myexile) and!( moveto(mybattlefield) and!( transforms((,newability[becomes(Legendary) forever],newability[@movedto(*[instant;sorcery]|mygraveyard):name(Cast spells from graveyard) name(Cast spells from graveyard) all(trigger[to]) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot])) ueot )! )! auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Exile and return) moveto(myexile) and!( moveto(mybattlefield) and!( transforms((,newability[becomes(Legendary) forever],newability[@movedto(*[instant;sorcery]|mygraveyard):name(Cast spells from graveyard) name(Cast spells from graveyard) all(trigger[to]) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot])) ueot )! )!
text=(As this Saga enters and after your draw step, add a lore counter.) -- I â?? The Great Work deals 3 damage to target opponent and each creature they control. -- II â?? Create three Treasure tokens. -- III â?? Until end of turn, you may cast instant and sorcery spells from any graveyard. If a spell cast this way would be put into a graveyard, exile it instead. Exile The Great Work, then return it to the battlefield (front face up). text=(As this Saga enters and after your draw step, add a lore counter.) -- I -- The Great Work deals 3 damage to target opponent and each creature they control. -- II -- Create three Treasure tokens. -- III -- Until end of turn, you may cast instant and sorcery spells from any graveyard. If a spell cast this way would be put into a graveyard, exile it instead. Exile The Great Work, then return it to the battlefield (front face up).
color=red color=red
type=Enchantment type=Enchantment
subtype=Saga subtype=Saga
@@ -93748,7 +93648,7 @@ toughness=4
name=Undercity Upheaval name=Undercity Upheaval
auto=all(creature|myBattlefield) transforms((,newability[vigilance])) ueot auto=all(creature|myBattlefield) transforms((,newability[vigilance])) ueot
auto=thisforeach(variable{type:creature:mygraveyard}>0) ability$!name(Put 1/1 counter) target(creature|myBattlefield) counter(1/1)!$ controller auto=thisforeach(variable{type:creature:mygraveyard}>0) ability$!name(Put 1/1 counter) target(creature|myBattlefield) counter(1/1)!$ controller
text=Undergrowth â?? Distribute X +1/+1 counters among any number of target creatures you control, where X is the number of creature cards in your graveyard as you cast this spell. Creatures you control gain vigilance until end of turn. text=Undergrowth -- Distribute X +1/+1 counters among any number of target creatures you control, where X is the number of creature cards in your graveyard as you cast this spell. Creatures you control gain vigilance until end of turn.
mana={1}{G}{G} mana={1}{G}{G}
type=Sorcery type=Sorcery
[/card] [/card]
@@ -94582,17 +94482,7 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Urza, Chief Artificer name=Urza, Chief Artificer
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >0 anyzone=affinity(creature[artifact]|myBattlefield) reduce({1})
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >1
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >2
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >3
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >4
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >5
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >6
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >7
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >8
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >9
anyzone=aslongas(creature[artifact]|myBattlefield) altercost(colorless,-1) >10
auto=lord(other artifact[creature]|myBattlefield) menace auto=lord(other artifact[creature]|myBattlefield) menace
auto=@each my endofturn:create(construct) auto=@each my endofturn:create(construct)
text=Affinity for artifact creatures (This spell costs {1} less to cast for each artifact creature you control.) -- Artifact creatures you control have menace. -- At the beginning of your end step, create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." text=Affinity for artifact creatures (This spell costs {1} less to cast for each artifact creature you control.) -- Artifact creatures you control have menace. -- At the beginning of your end step, create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control."

View File

@@ -1271,7 +1271,7 @@ ManaCost * MTGCardInstance::computeNewCost(MTGCardInstance * card,ManaCost * Cos
SAFE_DELETE(tcn); SAFE_DELETE(tcn);
ManaCost * removingCost = ManaCost::parseManaCost(newAff->manaString); ManaCost * removingCost = ManaCost::parseManaCost(newAff->manaString);
for (int j = 0; j < reducem; j++) for (int j = 0; j < reducem; j++)
original->remove(removingCost); Cost->remove(removingCost);
SAFE_DELETE(removingCost); SAFE_DELETE(removingCost);
} }
}//end2 }//end2