Added abilities for cards which have to return battlefield or hand instead of graveyard (e.g. just like exiledeath ability), improved fresh attribute management also for card moved in hand, library, commandzone and for instants and sorcery spells, added/fixed primitives.
This commit is contained in:
@@ -29,7 +29,7 @@ type=Sorcery
|
||||
[card]
|
||||
name=Abnormal Endurance
|
||||
target=creature
|
||||
auto=transforms((,newability[2/0],newability[@movedTo(this|graveyard) from(battlefield):all(trigger[to]) moveTo(ownerBattlefield) and!(tap(noevent))!])) ueot
|
||||
auto=transforms((,newability[2/0],newability[inplaytapdeath])) ueot
|
||||
text=Until end of turn, target creature gets +2/+0 and gains "When this creature dies, return it to the battlefield tapped under its owner's control."
|
||||
mana={1}{B}
|
||||
type=Instant
|
||||
@@ -1605,6 +1605,24 @@ power=10
|
||||
toughness=10
|
||||
[/card]
|
||||
[card]
|
||||
name=Apex of Power
|
||||
autohand={7}{R}{R}{R}:name(Cast from hand and add 10 white mana) name(Cast from hand and add 10 white mana) add{W}{W}{W}{W}{W}{W}{W}{W}{W}{W} controller && target(Apex of Power|myhand) activate castcard(restricted)
|
||||
autohand={7}{R}{R}{R}:name(Cast from hand and add 10 black mana) name(Cast from hand and add 10 black mana) add{B}{B}{B}{B}{B}{B}{B}{B}{B}{B} controller && target(Apex of Power|myhand) activate castcard(restricted)
|
||||
autohand={7}{R}{R}{R}:name(Cast from hand and add 10 blue mana) name(Cast from hand and add 10 blue mana) add{U}{U}{U}{U}{U}{U}{U}{U}{U}{U} controller && target(Apex of Power|myhand) activate castcard(restricted)
|
||||
autohand={7}{R}{R}{R}:name(Cast from hand and add 10 green mana) name(Cast from hand and add 10 green mana) add{G}{G}{G}{G}{G}{G}{G}{G}{G}{G} controller && target(Apex of Power|myhand) activate castcard(restricted)
|
||||
autohand={7}{R}{R}{R}:name(Cast from hand and add 10 red mana) name(Cast from hand and add 10 red mana) add{R}{R}{R}{R}{R}{R}{R}{R}{R}{R} controller && target(Apex of Power|myhand) activate castcard(restricted)
|
||||
auto=if type(land[zpos=1]|mylibrary)~equalto~1 then all(*[zpos=1|mylibrary) moveto(exile) else all(*[zpos=1|mylibrary) moveto(exile) and!( transforms((,canplayfromexile)) ueot )!
|
||||
auto=if type(land[zpos=2]|mylibrary)~equalto~1 then all(*[zpos=2|mylibrary) moveto(exile) else all(*[zpos=2|mylibrary) moveto(exile) and!( transforms((,canplayfromexile)) ueot )!
|
||||
auto=if type(land[zpos=3]|mylibrary)~equalto~1 then all(*[zpos=3|mylibrary) moveto(exile) else all(*[zpos=3|mylibrary) moveto(exile) and!( transforms((,canplayfromexile)) ueot )!
|
||||
auto=if type(land[zpos=4]|mylibrary)~equalto~1 then all(*[zpos=4|mylibrary) moveto(exile) else all(*[zpos=4|mylibrary) moveto(exile) and!( transforms((,canplayfromexile)) ueot )!
|
||||
auto=if type(land[zpos=5]|mylibrary)~equalto~1 then all(*[zpos=5|mylibrary) moveto(exile) else all(*[zpos=5|mylibrary) moveto(exile) and!( transforms((,canplayfromexile)) ueot )!
|
||||
auto=if type(land[zpos=6]|mylibrary)~equalto~1 then all(*[zpos=6|mylibrary) moveto(exile) else all(*[zpos=6|mylibrary) moveto(exile) and!( transforms((,canplayfromexile)) ueot )!
|
||||
auto=if type(land[zpos=7]|mylibrary)~equalto~1 then all(*[zpos=7|mylibrary) moveto(exile) else all(*[zpos=7|mylibrary) moveto(exile) and!( transforms((,canplayfromexile)) ueot )!
|
||||
text=Exile the top seven cards of your library. Until end of turn, you may cast spells from among them. -- If this spell was cast from your hand, add ten mana of any one color.
|
||||
mana={7}{R}{R}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Aphemia, the Cacophony
|
||||
abilities=flying
|
||||
auto=@each my endofturn:may moveto(exile) target(enchantment|myGraveyard) && token(Zombie,Creature Zombie,2/2,black)
|
||||
@@ -5290,6 +5308,19 @@ mana={4}{G}{G}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Bounty of the Hunt
|
||||
target=creature
|
||||
restriction=type(creature|battlefield)~morethan~0
|
||||
otherrestriction=type(creature|battlefield)~morethan~0
|
||||
other={E(other *[green]|myhand)} name(Exile green card)
|
||||
auto=transforms((,newability[counter(1/1) all(this)],newability[phaseaction[cleanup once] counter(1/1.-1) all(this)])) oneshot
|
||||
auto=choice name(Give other 2 counters to 1 creature) name(Give other 2 counters to 1 creature) target(other creature) transforms((,newability[counter(1/1.2) all(this)],newability[phaseaction[cleanup once] counter(1/1.-2) all(this)])) oneshot
|
||||
auto=if type(creature|battlefield)~morethan~2 then choice name(Give 1 counter to other 2 creatures) name(Give 1 counter to other 2 creatures) target(<2>other creature) transforms((,newability[counter(1/1) all(this)],newability[phaseaction[cleanup once] counter(1/1.-1) all(this)])) oneshot
|
||||
text=You may exile a green card from your hand rather than pay Bounty of the Hunt's mana cost. -- Distribute three +1/+1 counters among one, two, or three target creatures. For each +1/+1 counter you put on a creature this way, remove a +1/+1 counter from that creature at the beginning of the next cleanup step.
|
||||
mana={3}{G}{G}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Bounty of the Luxa
|
||||
auto=@each my firstmain:if type(this[counter(flood)])~morethan~0 ability$!thisforeach(counter{0/0,1,flood}) counter(0/0,-1,flood) && add{1}{G}{U}!$ controller else ability$!counter(0/0,1,flood) && draw:1 controller!$ controller
|
||||
text=At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa. If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card. Otherwise, add {1}{G}{U} to your mana pool.
|
||||
@@ -11345,6 +11376,13 @@ mana={2}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Detection Tower
|
||||
auto={T}:add{C}
|
||||
auto={1}{T}:lord(*[opponentshroud;controllershroud]|opponentbattlefield) transforms((,newability[-opponentshroud]),newability[-controllershroud])) ueot
|
||||
text={T}: Add {C}. -- {1}, {T}: Until end of turn, your opponents and creatures your opponents control with hexproof can be the targets of spells and abilities you control as though they didn't have hexproof.
|
||||
type=Land
|
||||
[/card]
|
||||
[card]
|
||||
name=Devastating Dreams
|
||||
auto=if type(*|myHand)~morethan~0 then choice name(Discard 1 card) discard:1 controller && damage:1 all(creature) && ability$!sacrifice notatarget(land|mybattlefield)!$ controller && ability$!sacrifice notatarget(land|mybattlefield)!$ opponent
|
||||
auto=if type(*|myHand)~morethan~1 then choice name(Discard 2 cards) discard:2 controller && damage:2 all(creature) && ability$!sacrifice notatarget(<2>land|mybattlefield)!$ controller && ability$!sacrifice notatarget(<2>land|mybattlefield)!$ opponent
|
||||
@@ -16367,6 +16405,18 @@ mana={2}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Flame-Wreathed Phoenix
|
||||
abilities=flying
|
||||
auto=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:all(this) transforms((,newability[counter(0/0.-1.TributeUnpaid)],newability[haste],newability[handdeath])) forever
|
||||
text=Flying -- Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.) -- When Flame-Wreathed Phoenix enters the battlefield, if tribute wasn't paid, it gains haste and "When this creature dies, return it to its owner's hand."
|
||||
mana={2}{R}{R}
|
||||
type=Creature
|
||||
subtype=Phoenix
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Flameblade Adept
|
||||
abilities=menace
|
||||
auto=@movedto(*|mygraveyard) from(myhand):1/0 ueot
|
||||
@@ -28156,7 +28206,7 @@ type=Land
|
||||
name=Malakir Rebirth
|
||||
autohand={0}:restriction{can play land} name(Malakir Mire) name(Malakir Mire) flip(Malakir Mire) forcetype(land)
|
||||
auto=life:-2 controller
|
||||
auto=name(Choose a creature) name(Choose a creature) target(creature) transforms((,newability[@movedTo(this|graveyard) from(battlefield):all(trigger[to]) moveTo(ownerBattlefield) and!(tap(noevent))!])) ueot
|
||||
auto=name(Choose a creature) name(Choose a creature) target(creature) transforms((,newability[inplaytapdeath])) ueot
|
||||
text=Choose target creature. You lose 2 life. Until end of turn, that creature gains "When this creature dies, return it to the battlefield tapped under its owner's control."
|
||||
mana={B}
|
||||
type=Instant
|
||||
@@ -30959,6 +31009,18 @@ power=10
|
||||
toughness=6
|
||||
[/card]
|
||||
[card]
|
||||
name=Nessian Demolok
|
||||
auto=all(this) flipacoin winability counter(0/0,1,TributeUnpaid) winabilityend loseability counter(1/1,3) loseabilityend flipend
|
||||
auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:all(this) counter(0/0,-1,TributeUnpaid)
|
||||
auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:target(*[-creature]|battlefield) destroy
|
||||
text=Tribute 3 (As this creature enters the battlefield, an opponent of your choice may place three +1/+1 counters on it.) -- When Nessian Demolok enters the battlefield, if tribute wasn't paid, destroy target noncreature permanent.
|
||||
mana={3}{G}{G}
|
||||
type=Creature
|
||||
subtype=Beast
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Nessian Hornbeetle
|
||||
auto=@each my combatbegins restriction{type(creature[power>=4]|mybattlefield)~morethan~0}:counter(1/1,1)
|
||||
text=At the beginning of combat on your turn, if you control another creature with power 4 or greater, put a +1/+1 counter on Nessian Hornbeetle.
|
||||
@@ -32705,6 +32767,18 @@ mana={2}{U}
|
||||
type=Instant
|
||||
[/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
|
||||
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)
|
||||
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
|
||||
subtype=Minotaur Shaman
|
||||
power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Oracle's Vault
|
||||
auto={2}{T}{counter(0/0,1,brick)}:deplete:1 controller
|
||||
auto={T}{restriction type(this[counter(brick)>=3])~morethan~0}:deplete:1 controller
|
||||
@@ -33985,6 +34059,16 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Pharagax Giant
|
||||
auto=all(this) flipacoin winability damage:5 opponent winabilityend loseability counter(1/1,2) loseabilityend flipend
|
||||
text=Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.) -- When Pharagax Giant enters the battlefield, if tribute wasn't paid, Pharagax Giant deals 5 damage to each opponent.
|
||||
mana={4}{R}
|
||||
type=Creature
|
||||
subtype=Giant
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Pharika's Libation
|
||||
target=player
|
||||
auto=choice ability$!name(sacrifice an enchantment) notatarget(enchantment|myBattlefield) sacrifice!$ targetedplayer
|
||||
@@ -41131,6 +41215,18 @@ power=*
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Shambling Swarm
|
||||
auto=@movedTo(this|graveyard) from(battlefield):choice name(Assign -1/-1 counter) name(Assign -1/-1 counter) target(creature) transforms((,newability[counter(-1/-1) all(this)],newability[phaseaction[endofturn once] counter(-1/-1.-1) all(this)])) oneshot
|
||||
auto=@movedTo(this|graveyard) from(battlefield):choice name(Assign -1/-1 counter) name(Assign -1/-1 counter) target(creature) transforms((,newability[counter(-1/-1) all(this)],newability[phaseaction[endofturn once] counter(-1/-1.-1) all(this)])) oneshot
|
||||
auto=@movedTo(this|graveyard) from(battlefield):choice name(Assign -1/-1 counter) name(Assign -1/-1 counter) target(creature) transforms((,newability[counter(-1/-1) all(this)],newability[phaseaction[endofturn once] counter(-1/-1.-1) all(this)])) oneshot
|
||||
text=When Shambling Swarm dies, distribute three -1/-1 counters among one, two, or three target creatures. For each -1/-1 counter you put on a creature this way, remove a -1/-1 counter from that creature at the beginning of the next end step.
|
||||
mana={1}{B}{B}{B}
|
||||
type=Creature
|
||||
subtype=Horror
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Shanna, Sisay's Legacy
|
||||
auto=cantbetargetof(artifact,creatures,enchantment[-auras],land,planeswalker|opponentbattlefield,opponentgraveyard)
|
||||
auto=foreach(creature|myBattlefield) 1/1
|
||||
@@ -41711,6 +41807,19 @@ power=2
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Shrike Harpy
|
||||
abilities=flying
|
||||
auto=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:all(this) counter(0/0,-1,TributeUnpaid)
|
||||
auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:ability$!name(Sacrifice a creature) notatarget(creature|mybattlefield) sacrifice!$ opponent
|
||||
text=Flying -- Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.) -- When Shrike Harpy enters the battlefield, if tribute wasn't paid, target opponent sacrifices a creature.
|
||||
mana={3}{B}{B}
|
||||
type=Creature
|
||||
subtype=Harpy
|
||||
power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Shrine Keeper
|
||||
mana={1}{W}
|
||||
type=Creature
|
||||
@@ -42328,6 +42437,19 @@ power=1
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Siren of the Fanged Coast
|
||||
abilities=flying
|
||||
auto=if type(creature|opponentBattlefield)~morethan~0 then all(this) flipacoin winability counter(0/0,1,TributeUnpaid) winabilityend loseability counter(1/1,3) loseabilityend flipend
|
||||
auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:all(this) counter(0/0,-1,TributeUnpaid)
|
||||
auto=@counteradded(0/0,1,TributeUnpaid) from(this) once:target(creature) moveto(mybattlefield)
|
||||
text=Flying -- Tribute 3 (As this creature enters the battlefield, an opponent of your choice may place three +1/+1 counters on it.) -- When Siren of the Fanged Coast enters the battlefield, if tribute wasn't paid, gain control of target creature.
|
||||
mana={3}{U}{U}
|
||||
type=Creature
|
||||
subtype=Siren
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Siren Reaver
|
||||
abilities=flying
|
||||
text=Raid — This spell costs {1} less to cast if you attacked with a creature this turn. -- Flying
|
||||
@@ -46250,7 +46372,7 @@ type=Sorcery
|
||||
[card]
|
||||
name=Supernatural Stamina
|
||||
target=creature
|
||||
auto=transforms((,newability[2/0],newability[@movedTo(this|graveyard) from(battlefield):all(trigger[to]) moveTo(ownerBattlefield) and!(tap(noevent))!])) ueot
|
||||
auto=transforms((,newability[2/0],newability[inplaytapdeath])) ueot
|
||||
text=Until end of turn, target creature gets +2/+0 and gains "When this creature dies, return it to the battlefield tapped under its owner's control."
|
||||
mana={B}
|
||||
type=Instant
|
||||
@@ -51841,7 +51963,7 @@ type=Sorcery
|
||||
[card]
|
||||
name=Verdant Rebirth
|
||||
target=creature
|
||||
auto=transforms((,newability[@movedTo(this|graveyard) from(battlefield):all(trigger[to]) moveTo(ownerHand)])) ueot
|
||||
auto=transforms((,newability[handdeath])) ueot
|
||||
auto=draw:1 controller
|
||||
text=Until end of turn, target creature gains "When this creature dies, return it to its owner's hand." -- Draw a card.
|
||||
mana={1}{G}
|
||||
|
||||
@@ -1412,12 +1412,6 @@ mana={3}{B}{G} // {G}{U}
|
||||
type=Instant // Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Bounty of the Hunt
|
||||
text=You may exile a green card from your hand rather than pay Bounty of the Hunt's mana cost. -- Distribute three +1/+1 counters among one, two, or three target creatures. For each +1/+1 counter you put on a creature this way, remove a +1/+1 counter from that creature at the beginning of the next cleanup step.
|
||||
mana={3}{G}{G}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Brago's Favor
|
||||
text=Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly name a card. You may turn this conspiracy face up any time and reveal the chosen name.) -- Spells with the chosen name you cast cost {1} less to cast.
|
||||
type=Conspiracy
|
||||
@@ -4299,16 +4293,6 @@ mana={4}{U}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Flame-Wreathed Phoenix
|
||||
abilities=flying
|
||||
text=Flying -- Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.) -- When Flame-Wreathed Phoenix enters the battlefield, if tribute wasn't paid, it gains haste and "When this creature dies, return it to its owner's hand."
|
||||
mana={2}{R}{R}
|
||||
type=Creature
|
||||
subtype=Phoenix
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Flames of the Blood Hand
|
||||
text=Flames of the Blood Hand deals 4 damage to target player. The damage can't be prevented. If that player would gain life this turn, that player gains no life instead.
|
||||
mana={2}{R}
|
||||
@@ -8878,15 +8862,6 @@ type=Artifact
|
||||
subtype=Equipment
|
||||
[/card]
|
||||
[card]
|
||||
name=Nessian Demolok
|
||||
text=Tribute 3 (As this creature enters the battlefield, an opponent of your choice may place three +1/+1 counters on it.) -- When Nessian Demolok enters the battlefield, if tribute wasn't paid, destroy target noncreature permanent.
|
||||
mana={3}{G}{G}
|
||||
type=Creature
|
||||
subtype=Beast
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Nesting Grounds
|
||||
auto={T}:add{1}
|
||||
text={T}: Add {1}. -- {1}, {T}: Move a counter from target permanent you control onto another target permanent. Activate this ability only any time you could cast a sorcery.
|
||||
@@ -9305,15 +9280,6 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Oracle of Bones
|
||||
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
|
||||
subtype=Minotaur Shaman
|
||||
power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Oracle's Attendants
|
||||
text={T}: All damage that would be dealt to target creature this turn by a source of your choice is dealt to Oracle's Attendants instead.
|
||||
mana={3}{W}
|
||||
@@ -9647,15 +9613,6 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Pharagax Giant
|
||||
text=Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.) -- When Pharagax Giant enters the battlefield, if tribute wasn't paid, Pharagax Giant deals 5 damage to each opponent.
|
||||
mana={4}{R}
|
||||
type=Creature
|
||||
subtype=Giant
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Phoebe, Head of S.N.E.A.K.
|
||||
text=Phoebe, Head of S.N.E.A.K. can't be blocked by creatures with flavor text. -- {2}{U}{B}: Phoebe permanently steals target creature's text box. (That creature loses all rules text, flavor text, and watermarks. This creature gains them.)
|
||||
mana={1}{U}{B}
|
||||
@@ -11443,15 +11400,6 @@ mana={2}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Shambling Swarm
|
||||
text=When Shambling Swarm dies, distribute three -1/-1 counters among one, two, or three target creatures. For each -1/-1 counter you put on a creature this way, remove a -1/-1 counter from that creature at the beginning of the next end step.
|
||||
mana={1}{B}{B}{B}
|
||||
type=Creature
|
||||
subtype=Horror
|
||||
power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Shape Stealer
|
||||
text=Whenever Shape Stealer blocks or becomes blocked by a creature, change Shape Stealer's power and toughness to that creature's power and toughness until end of turn.
|
||||
mana={U}{U}
|
||||
@@ -11636,16 +11584,6 @@ power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Shrike Harpy
|
||||
abilities=flying
|
||||
text=Flying -- Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.) -- When Shrike Harpy enters the battlefield, if tribute wasn't paid, target opponent sacrifices a creature.
|
||||
mana={3}{B}{B}
|
||||
type=Creature
|
||||
subtype=Harpy
|
||||
power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Shrouded Lore
|
||||
text=Target opponent chooses a card in your graveyard. You may pay {B}. If you do, repeat this process except that opponent can't choose a card already chosen for Shrouded Lore. Then put the last chosen card into your hand.
|
||||
mana={B}
|
||||
@@ -11743,16 +11681,6 @@ power=3
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Siren of the Fanged Coast
|
||||
abilities=flying
|
||||
text=Flying -- Tribute 3 (As this creature enters the battlefield, an opponent of your choice may place three +1/+1 counters on it.) -- When Siren of the Fanged Coast enters the battlefield, if tribute wasn't paid, gain control of target creature.
|
||||
mana={3}{U}{U}
|
||||
type=Creature
|
||||
subtype=Siren
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Siren's Call
|
||||
text=Cast Siren's Call only during an opponent's turn, before attackers are declared. -- Creatures the active player controls attack this turn if able. -- At the beginning of the next end step, destroy all non-Wall creatures that player controls that didn't attack this turn. Ignore this effect for each creature the player didn't control continuously since the beginning of the turn.
|
||||
mana={U}
|
||||
|
||||
@@ -292,7 +292,10 @@ class Constants
|
||||
CANBECOMMANDER = 165,
|
||||
ISCOMMANDER = 166,
|
||||
THREEBLOCKERS = 167,
|
||||
NB_BASIC_ABILITIES = 168,
|
||||
HANDDEATH = 168,
|
||||
INPLAYDEATH = 169,
|
||||
INPLAYTAPDEATH = 170,
|
||||
NB_BASIC_ABILITIES = 171,
|
||||
|
||||
RARITY_S = 'S', //Special Rarity
|
||||
RARITY_M = 'M', //Mythics
|
||||
|
||||
@@ -589,6 +589,18 @@ int PutInGraveyard::resolve()
|
||||
card->controller()->game->putInZone(card, zone, card->owner->game->exile);
|
||||
return 1;
|
||||
}
|
||||
if (card->basicAbilities[(int)Constants::HANDDEATH])
|
||||
{
|
||||
card->controller()->game->putInZone(card, zone, card->owner->game->hand);
|
||||
return 1;
|
||||
}
|
||||
if (card->basicAbilities[(int)Constants::INPLAYDEATH] || card->basicAbilities[(int)Constants::INPLAYTAPDEATH])
|
||||
{
|
||||
card->controller()->game->putInZone(card, zone, card->owner->game->battlefield);
|
||||
if(card->basicAbilities[(int)Constants::INPLAYTAPDEATH])
|
||||
card->tap(true);
|
||||
return 1;
|
||||
}
|
||||
if (zone == observer->players[0]->game->inPlay || zone == observer->players[1]->game->inPlay)
|
||||
{
|
||||
card->controller()->game->putInZone(card, zone, card->owner->game->graveyard);
|
||||
|
||||
@@ -4925,6 +4925,9 @@ int AbilityFactory::abilityEfficiency(MTGAbility * a, Player * p, int mode, Targ
|
||||
badAbilities[(int)Constants::NOMANA] = true;
|
||||
badAbilities[(int)Constants::ONLYMANA] = true;
|
||||
badAbilities[(int)Constants::EXILEDEATH] = true;
|
||||
badAbilities[(int)Constants::HANDDEATH] = true;
|
||||
badAbilities[(int)Constants::INPLAYDEATH] = true;
|
||||
badAbilities[(int)Constants::INPLAYTAPDEATH] = true;
|
||||
badAbilities[(int)Constants::WEAK] = true;
|
||||
badAbilities[(int)Constants::NOLIFEGAIN] = true;
|
||||
badAbilities[(int)Constants::NOLIFEGAINOPPONENT] = true;
|
||||
@@ -5741,7 +5744,10 @@ void AbilityFactory::addAbilities(int _id, Spell * spell)
|
||||
if (card->basicAbilities[(int)Constants::EXILEDEATH])
|
||||
{
|
||||
card->controller()->game->putInZone(card, card->getCurrentZone(), card->owner->game->exile);
|
||||
|
||||
}
|
||||
else if (card->basicAbilities[(int)Constants::HANDDEATH])
|
||||
{
|
||||
card->controller()->game->putInZone(card, card->getCurrentZone(), card->owner->game->hand);
|
||||
}
|
||||
else if (card->alternateCostPaid[ManaCost::MANA_PAID_WITH_BUYBACK] > 0)
|
||||
{
|
||||
|
||||
@@ -510,6 +510,18 @@ int MTGCardInstance::toGrave( bool forced )
|
||||
p->game->putInZone(this, p->game->inPlay, owner->game->exile);
|
||||
return 1;
|
||||
}
|
||||
if (basicAbilities[(int)Constants::HANDDEATH])
|
||||
{
|
||||
p->game->putInZone(this, p->game->inPlay, owner->game->hand);
|
||||
return 1;
|
||||
}
|
||||
if (basicAbilities[(int)Constants::INPLAYDEATH] || basicAbilities[(int)Constants::INPLAYTAPDEATH])
|
||||
{
|
||||
p->game->putInZone(this, p->game->inPlay, owner->game->battlefield);
|
||||
if(basicAbilities[(int)Constants::INPLAYTAPDEATH])
|
||||
tap(true);
|
||||
return 1;
|
||||
}
|
||||
if (!basicAbilities[(int)Constants::INDESTRUCTIBLE])
|
||||
{
|
||||
p->game->putInZone(this, p->game->inPlay, owner->game->graveyard);
|
||||
|
||||
@@ -198,7 +198,10 @@ const char* Constants::MTGBasicAbilities[] = {
|
||||
"partner", //Has partner ability
|
||||
"canbecommander", //Can be a commander (eg. some planeswalkers can)
|
||||
"iscommander", //It's the current commander
|
||||
"threeblockers" //It can be blocked just by 3 creatures or more.
|
||||
"threeblockers", //It can be blocked just by 3 creatures or more.
|
||||
"handdeath", //It goes in hand after death.
|
||||
"inplaydeath", //It goes back in play untapped after death.
|
||||
"inplaytapdeath" //It goes back in play tapped after death.
|
||||
};
|
||||
|
||||
map<string,int> Constants::MTGBasicAbilitiesMap;
|
||||
|
||||
@@ -385,10 +385,20 @@ void MTGPlayerCards::showHand()
|
||||
// Moves a card to its owner's graveyard
|
||||
MTGCardInstance * MTGPlayerCards::putInGraveyard(MTGCardInstance * card)
|
||||
{
|
||||
if (card->basicAbilities[(int)Constants::EXILEDEATH])
|
||||
if (card->getCurrentZone() != card->controller()->game->hand && card->basicAbilities[(int)Constants::EXILEDEATH])
|
||||
{
|
||||
putInZone(card, card->getCurrentZone(), card->owner->game->exile);
|
||||
|
||||
return putInZone(card, card->getCurrentZone(), card->owner->game->exile);
|
||||
}
|
||||
else if (card->getCurrentZone() != card->controller()->game->hand && card->basicAbilities[(int)Constants::HANDDEATH])
|
||||
{
|
||||
return putInZone(card, card->getCurrentZone(), card->owner->game->hand);
|
||||
}
|
||||
else if (card->getCurrentZone() != card->controller()->game->hand && (card->basicAbilities[(int)Constants::INPLAYDEATH] || card->basicAbilities[(int)Constants::INPLAYTAPDEATH]))
|
||||
{
|
||||
MTGCardInstance* ret = putInZone(card, card->getCurrentZone(), card->owner->game->battlefield);
|
||||
if(card->basicAbilities[(int)Constants::INPLAYTAPDEATH])
|
||||
ret->tap(true);
|
||||
return ret;
|
||||
}
|
||||
return putInZone(card, card->currentZone, card->owner->game->graveyard);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user