Merge pull request #723 from kevlahnota/master

Deckstats Mana Rendering and Others
This commit is contained in:
Anthony Calosa
2016-07-06 09:09:32 +08:00
committed by GitHub
13 changed files with 153 additions and 136 deletions
@@ -352,3 +352,13 @@ mana={B}
type=Instant type=Instant
text=Target creature gets +2/+0 and gains deathtouch until end of turn. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) text=Target creature gets +2/+0 and gains deathtouch until end of turn. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)
[/card] [/card]
[card]
name=Yixlid Jailer
auto=lord(*|graveyard) loseabilities
text=Cards in graveyards lose all abilities.
mana={1}{B}
type=Creature
subtype=Zombie Wizard
power=2
toughness=1
[/card]
+87 -71
View File
@@ -11945,7 +11945,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Blustersquall name=Blustersquall
alias=11000 abilities=overload
other={3}{U} name(Overload) other={3}{U} name(Overload)
target=creature|opponentbattlefield target=creature|opponentbattlefield
auto=overload tap all(creature|opponentbattlefield) auto=overload tap all(creature|opponentbattlefield)
@@ -12646,7 +12646,6 @@ subtype=Equipment
[/card] [/card]
[card] [card]
name=Boneyard Wurm name=Boneyard Wurm
alias=1111
anyzone=type:creature:mygraveyard/type:creature:mygraveyard cdaactive anyzone=type:creature:mygraveyard/type:creature:mygraveyard cdaactive
text=Boneyard Wurm's power and toughness are each equal to the number of creature cards in your graveyard. text=Boneyard Wurm's power and toughness are each equal to the number of creature cards in your graveyard.
mana={1}{G} mana={1}{G}
@@ -15448,7 +15447,6 @@ subtype=Forest Plains
[/card] [/card]
[card] [card]
name=Cantivore name=Cantivore
alias=1111
abilities=vigilance abilities=vigilance
anyzone=type:enchantment:graveyard/type:enchantment:graveyard cdaactive anyzone=type:enchantment:graveyard/type:enchantment:graveyard cdaactive
text=Vigilance -- Cantivore's power and toughness are each equal to the number of enchantment cards in all graveyards. text=Vigilance -- Cantivore's power and toughness are each equal to the number of enchantment cards in all graveyards.
@@ -17740,7 +17738,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Chemister's Trick name=Chemister's Trick
alias=11000 abilities=overload
other={3}{U}{R} name(Overload) other={3}{U}{R} name(Overload)
target=creature|opponentbattlefield target=creature|opponentbattlefield
auto=paidmana -2/0 auto=paidmana -2/0
@@ -18074,7 +18072,6 @@ toughness=2
[/card] [/card]
[card] [card]
name=Cho-Manno's Blessing name=Cho-Manno's Blessing
alias=1000
abilities=auraward abilities=auraward
target=creature target=creature
abilities=flash abilities=flash
@@ -19729,7 +19726,6 @@ type=Instant
[/card] [/card]
[card] [card]
name=Cognivore name=Cognivore
alias=1111
abilities=flying abilities=flying
anyzone=type:instant:graveyard/type:instant:graveyard cdaactive anyzone=type:instant:graveyard/type:instant:graveyard cdaactive
text=Flying -- Cognivore's power and toughness are each equal to the number of instant cards in all graveyards. text=Flying -- Cognivore's power and toughness are each equal to the number of instant cards in all graveyards.
@@ -19799,7 +19795,6 @@ toughness=1
[/card] [/card]
[card] [card]
name=Coldsteel Heart name=Coldsteel Heart
alias=1000
auto=tap auto=tap
auto=chooseacolor {T}:add{chosencolor} chooseend auto=chooseacolor {T}:add{chosencolor} chooseend
text=Coldsteel Heart enters the battlefield tapped. -- As Coldsteel Heart enters the battlefield, choose a color. -- {T}: Add one mana of the chosen color to your mana pool. text=Coldsteel Heart enters the battlefield tapped. -- As Coldsteel Heart enters the battlefield, choose a color. -- {T}: Add one mana of the chosen color to your mana pool.
@@ -21242,7 +21237,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Counterflux name=Counterflux
alias=11000 abilities=overload
other={1}{U}{U}{R} name(Overload) other={1}{U}{U}{R} name(Overload)
abilities=nofizzle abilities=nofizzle
target=*|opponentstack target=*|opponentstack
@@ -23086,7 +23081,6 @@ subtype=Aura Curse
[/card] [/card]
[card] [card]
name=Curse of Wizardry name=Curse of Wizardry
alias=1000
auto=chooseacolor transforms((,newability[@movedto(*[chosencolor]|mystack):life:-1 controller],newability[@movedto(*[chosencolor]|opponentstack):life:-1 opponent])) chooseend auto=chooseacolor transforms((,newability[@movedto(*[chosencolor]|mystack):life:-1 controller],newability[@movedto(*[chosencolor]|opponentstack):life:-1 opponent])) chooseend
text=As Curse of Wizardry enters the battlefield, choose a color. -- Whenever a player casts a spell of the chosen color, that player loses 1 life. text=As Curse of Wizardry enters the battlefield, choose a color. -- Whenever a player casts a spell of the chosen color, that player loses 1 life.
mana={2}{B}{B} mana={2}{B}{B}
@@ -23234,7 +23228,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Cyclonic Rift name=Cyclonic Rift
alias=11000 abilities=overload
other={6}{U} name(Overload) other={6}{U} name(Overload)
target=*[-land]|opponentbattlefield target=*[-land]|opponentbattlefield
auto=overload moveto(ownerhand) all(*[-land]|opponentbattlefield) auto=overload moveto(ownerhand) all(*[-land]|opponentbattlefield)
@@ -26020,6 +26014,16 @@ mana={3}{U}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Delver of Secrets
auto=@each my upkeep:reveal:1 optionone name(transform) target(*[instant;sorcery]|reveal) moveto(mylibrary) and!( all(this) transforms((,newability[flip(Insectile Aberration)])) forever )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend
text=At the beginning of your upkeep, look at the top card of your library. You may reveal that card. If an instant or sorcery card is revealed this way, transform Delver of Secrets.
mana={U}
type=Creature
subtype=Human Wizard
power=1
toughness=1
[/card]
[card]
name=Dematerialize name=Dematerialize
target=* target=*
auto=moveTo(ownerhand) auto=moveTo(ownerhand)
@@ -26677,7 +26681,6 @@ text=Destroy target artifact with converted mana cost X. It can't be regenerated
[/card] [/card]
[card] [card]
name=Detritivore name=Detritivore
alias=1111
anyzone=type:land[-basic]:opponentgraveyard/type:land[-basic]:opponentgraveyard cdaactive anyzone=type:land[-basic]:opponentgraveyard/type:land[-basic]:opponentgraveyard cdaactive
autoexile=@counterremoved(0/0,1,Time) from(sourcecard) suspended:destroy target(land[-basic]) autoexile=@counterremoved(0/0,1,Time) from(sourcecard) suspended:destroy target(land[-basic])
suspend(0)={X}{3}{R} suspend(0)={X}{3}{R}
@@ -28418,7 +28421,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Downsize name=Downsize
alias=11000 abilities=overload
other={2}{U} name(Overload) other={2}{U} name(Overload)
target=creature|opponentbattlefield target=creature|opponentbattlefield
auto=overload -4/0 all(creature|opponentbattlefield) auto=overload -4/0 all(creature|opponentbattlefield)
@@ -30847,7 +30850,7 @@ subtype=Aura
[/card] [/card]
[card] [card]
name=Dynacharge name=Dynacharge
alias=11000 abilities=overload
other={2}{R} name(Overload) other={2}{R} name(Overload)
target=creature|mybattlefield target=creature|mybattlefield
auto=paidmana 2/0 auto=paidmana 2/0
@@ -31693,7 +31696,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Electrickery name=Electrickery
alias=11000 abilities=overload
other={1}{R} name(Overload) other={1}{R} name(Overload)
target=creature|opponentbattlefield target=creature|opponentbattlefield
auto=paidmana damage:1 auto=paidmana damage:1
@@ -38491,7 +38494,6 @@ toughness=2
[/card] [/card]
[card] [card]
name=Flickering Ward name=Flickering Ward
alias=1000
abilities=auraward abilities=auraward
target=creature target=creature
auto=chooseacolor teach(creature) protection from(*[chosencolor]) chooseend auto=chooseacolor teach(creature) protection from(*[chosencolor]) chooseend
@@ -38584,7 +38586,6 @@ toughness=1
[/card] [/card]
[card] [card]
name=Floating Shield name=Floating Shield
alias=1000
abilities=auraward abilities=auraward
target=creature target=creature
auto=chooseacolor teach(creature) protection from(*[chosencolor]) chooseend auto=chooseacolor teach(creature) protection from(*[chosencolor]) chooseend
@@ -39521,6 +39522,13 @@ mana={1}{G}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Fork in the Road
auto=name(put in hand) moveto(myhand) notatarget(land[basic]|mylibrary) and!(name(put in graveyard) moveto(mygraveyard) notatarget(land[basic]|mylibrary))! oneshot
text=Search your library for up to two basic land cards and reveal them. Put one into your hand and the other into your graveyard. Then shuffle your library.
mana={1}{G}
type=Sorcery
[/card]
[card]
name=Forked Bolt name=Forked Bolt
target=creature,player target=creature,player
auto=damage:1 auto=damage:1
@@ -39548,13 +39556,6 @@ mana={R}{R}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Fork in the Road
auto=name(put in hand) moveto(myhand) notatarget(land[basic]|mylibrary) and!(name(put in graveyard) moveto(mygraveyard) notatarget(land[basic]|mylibrary))! oneshot
text=Search your library for up to two basic land cards and reveal them. Put one into your hand and the other into your graveyard. Then shuffle your library.
mana={1}{G}
type=Sorcery
[/card]
[card]
name=Forlorn Pseudamma name=Forlorn Pseudamma
abilities=intimidate abilities=intimidate
auto=@untapped(this):name(pay 2B for 2/2 Zombie) pay[[{2}{B}]] name(Pay 2B) token(Zombie,Enchantment Creature Zombie,2/2,black) controller auto=@untapped(this):name(pay 2B for 2/2 Zombie) pay[[{2}{B}]] name(Pay 2B) token(Zombie,Enchantment Creature Zombie,2/2,black) controller
@@ -47785,7 +47786,6 @@ toughness=3
[/card] [/card]
[card] [card]
name=Hall of Triumph name=Hall of Triumph
alias=1000
auto=activatechooseacolor transforms((,newability[lord(creature[chosencolor]|mybattlefield) 1/1])) forever activatechooseend auto=activatechooseacolor transforms((,newability[lord(creature[chosencolor]|mybattlefield) 1/1])) forever activatechooseend
text=As Hall of Triumph enters the battlefield, choose a color. -- Creatures you control of the chosen color get +1/+1. text=As Hall of Triumph enters the battlefield, choose a color. -- Creatures you control of the chosen color get +1/+1.
mana={3} mana={3}
@@ -49639,7 +49639,7 @@ subtype=Equipment
[/card] [/card]
[card] [card]
name=Helm of Possession name=Helm of Possession
alias=50120 abilities=shackler
auto={2}{T}{S(creature|mybattlefield)}:shackle target(creature) auto={2}{T}{S(creature|mybattlefield)}:shackle target(creature)
auto=@each my untap restriction{canuntap}:may untap auto=@each my untap restriction{canuntap}:may untap
text=You may choose not to untap Helm of Possession during your untap step. -- {2}, {T}, Sacrifice a creature: Gain control of target creature for as long as you control Helm of Possession and Helm of Possession remains tapped. text=You may choose not to untap Helm of Possession during your untap step. -- {2}, {T}, Sacrifice a creature: Gain control of target creature for as long as you control Helm of Possession and Helm of Possession remains tapped.
@@ -50435,7 +50435,7 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Hivis of the Scale name=Hivis of the Scale
alias=50120 abilities=shackler
auto={T}:shackle target(dragon) auto={T}:shackle target(dragon)
auto=@each my untap restriction{canuntap}:may untap auto=@each my untap restriction{canuntap}:may untap
text=You may choose not to untap Hivis of the Scale during your untap step. -- {T}: Gain control of target Dragon for as long as you control Hivis and Hivis remains tapped. text=You may choose not to untap Hivis of the Scale during your untap step. -- {T}: Gain control of target Dragon for as long as you control Hivis and Hivis remains tapped.
@@ -53868,6 +53868,14 @@ toughness=1
color=green color=green
[/card] [/card]
[card] [card]
name=Insectile Aberration
type=Creature
abilities=flying
subtype=Human Insect
power=3
toughness=2
[/card]
[card]
name=Inside Out name=Inside Out
target=creature target=creature
auto=swap auto=swap
@@ -54270,7 +54278,6 @@ type=Enchantment
[/card] [/card]
[card] [card]
name=Iona, Shield of Emeria name=Iona, Shield of Emeria
alias=1000
abilities=flying abilities=flying
auto=chooseacolor maxCast(*[chosencolor])0 opponent chooseend auto=chooseacolor maxCast(*[chosencolor])0 opponent chooseend
text=Flying -- As Iona, Shield of Emeria enters the battlefield, choose a color. -- Your opponents can't cast spells of the chosen color. text=Flying -- As Iona, Shield of Emeria enters the battlefield, choose a color. -- Your opponents can't cast spells of the chosen color.
@@ -55493,7 +55500,6 @@ toughness=3
[/card] [/card]
[card] [card]
name=Jihad name=Jihad
alias=1000
auto=chooseacolor transforms((,newability[aslongas(*[chosencolor]|opponentbattlefield) lord(creature[white]|mybattlefield) 2/1],newability[aslongas(*[chosencolor]|opponentbattlefield) sacrifice <1])) chooseend auto=chooseacolor transforms((,newability[aslongas(*[chosencolor]|opponentbattlefield) lord(creature[white]|mybattlefield) 2/1],newability[aslongas(*[chosencolor]|opponentbattlefield) sacrifice <1])) chooseend
text=As Jihad enters the battlefield, choose a color and an opponent. -- White creatures get +2/+1 as long as the chosen player controls a nontoken permanent of the chosen color. -- When the chosen player controls no nontoken permanents of the chosen color, sacrifice Jihad. text=As Jihad enters the battlefield, choose a color and an opponent. -- White creatures get +2/+1 as long as the chosen player controls a nontoken permanent of the chosen color. -- When the chosen player controls no nontoken permanents of the chosen color, sacrifice Jihad.
mana={W}{W}{W} mana={W}{W}{W}
@@ -61527,7 +61533,6 @@ toughness=5
[/card] [/card]
[card] [card]
name=Lhurgoyf name=Lhurgoyf
alias=1111
anyzone=type:creature:graveyard/plusonetype:creature:graveyard cdaactive anyzone=type:creature:graveyard/plusonetype:creature:graveyard cdaactive
text=Lhurgoyf's power is equal to the number of creature cards in all graveyards and its toughness is equal to that number plus 1. text=Lhurgoyf's power is equal to the number of creature cards in all graveyards and its toughness is equal to that number plus 1.
mana={2}{G}{G} mana={2}{G}{G}
@@ -63024,7 +63029,6 @@ toughness=2
[/card] [/card]
[card] [card]
name=Lord of Extinction name=Lord of Extinction
alias=1111
anyzone=type:*:graveyard/type:*:graveyard cdaactive anyzone=type:*:graveyard/type:*:graveyard cdaactive
text=Lord of Extinction's power and toughness are each equal to the number of cards in all graveyards. text=Lord of Extinction's power and toughness are each equal to the number of cards in all graveyards.
mana={3}{B}{G} mana={3}{B}{G}
@@ -63796,7 +63800,6 @@ type=Instant
[/card] [/card]
[card] [card]
name=Lurebound Scarecrow name=Lurebound Scarecrow
alias=1000
auto=chooseacolor aslongas(*[chosencolor]|myBattlefield) sacrifice <1 chooseend auto=chooseacolor aslongas(*[chosencolor]|myBattlefield) sacrifice <1 chooseend
text=As Lurebound Scarecrow enters the battlefield, choose a color. -- When you control no permanents of the chosen color, sacrifice Lurebound Scarecrow. text=As Lurebound Scarecrow enters the battlefield, choose a color. -- When you control no permanents of the chosen color, sacrifice Lurebound Scarecrow.
mana={3} mana={3}
@@ -64491,7 +64494,6 @@ toughness=6
[/card] [/card]
[card] [card]
name=Magnivore name=Magnivore
alias=1111
abilities=haste abilities=haste
anyzone=type:sorcery:graveyard/type:sorcery:graveyard cdaactive anyzone=type:sorcery:graveyard/type:sorcery:graveyard cdaactive
text=Haste (This creature can attack the turn it comes under your control.) -- Magnivore's power and toughness are each equal to the number of sorcery cards in all graveyards. text=Haste (This creature can attack the turn it comes under your control.) -- Magnivore's power and toughness are each equal to the number of sorcery cards in all graveyards.
@@ -69407,7 +69409,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Mizzium Mortars name=Mizzium Mortars
alias=11000 abilities=overload
other={3}{R}{R}{R} name(Overload) other={3}{R}{R}{R} name(Overload)
target=creature|opponentbattlefield target=creature|opponentbattlefield
auto=paidmana damage:4 auto=paidmana damage:4
@@ -69418,7 +69420,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Mizzium Skin name=Mizzium Skin
alias=11000 abilities=overload
other={1}{U} name(Overload) other={1}{U} name(Overload)
target=creature|mybattlefield target=creature|mybattlefield
auto=paidmana 0/1 auto=paidmana 0/1
@@ -70774,7 +70776,6 @@ toughness=2
[/card] [/card]
[card] [card]
name=Mortivore name=Mortivore
alias=1111
auto={B}:regenerate auto={B}:regenerate
anyzone=type:creature:graveyard/type:creature:graveyard cdaactive anyzone=type:creature:graveyard/type:creature:graveyard cdaactive
text=Mortivore's power and toughness are each equal to the number of creature cards in all graveyards. -- {B}: Regenerate Mortivore. (The next time this creature would be destroyed this turn, it isn't. Instead tap it, remove all damage from it, and remove it from combat.) text=Mortivore's power and toughness are each equal to the number of creature cards in all graveyards. -- {B}: Regenerate Mortivore. (The next time this creature would be destroyed this turn, it isn't. Instead tap it, remove all damage from it, and remove it from combat.)
@@ -75772,7 +75773,7 @@ toughness=6
[/card] [/card]
[card] [card]
name=Old Man of the Sea name=Old Man of the Sea
alias=50120 abilities=shackler
auto={T}:shackle target(creature[power<=storedpower]) auto={T}:shackle target(creature[power<=storedpower])
auto=@each my untap restriction{canuntap}:may untap auto=@each my untap restriction{canuntap}:may untap
text=You may choose not to untap Old Man of the Sea during your untap step. -- {T}: Gain control of target creature with power less than or equal to Old Man of the Sea's power for as long as Old Man of the Sea remains tapped and that creature's power remains less than or equal to Old Man of the Sea's power. text=You may choose not to untap Old Man of the Sea during your untap step. -- {T}: Gain control of target creature with power less than or equal to Old Man of the Sea's power for as long as Old Man of the Sea remains tapped and that creature's power remains less than or equal to Old Man of the Sea's power.
@@ -77807,7 +77808,6 @@ subtype=Equipment
[/card] [/card]
[card] [card]
name=Paradise Plume name=Paradise Plume
alias=1000
auto=chooseacolor transforms((,newability[{T}:add{chosencolor}],newability[@movedto(*[chosencolor]|stack):life:1 controller])) forever chooseend auto=chooseacolor transforms((,newability[{T}:add{chosencolor}],newability[@movedto(*[chosencolor]|stack):life:1 controller])) forever chooseend
text=As Paradise Plume enters the battlefield, choose a color. -- Whenever a player casts a spell of the chosen color, you may gain 1 life. -- {T}: Add one mana of the chosen color to your mana pool. text=As Paradise Plume enters the battlefield, choose a color. -- Whenever a player casts a spell of the chosen color, you may gain 1 life. -- {T}: Add one mana of the chosen color to your mana pool.
mana={4} mana={4}
@@ -78639,7 +78639,6 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Pentarch Paladin name=Pentarch Paladin
alias=1000
abilities=flanking abilities=flanking
auto=chooseacolor {W}{W}{T}:destroy target(*[chosencolor]) chooseend auto=chooseacolor {W}{W}{T}:destroy target(*[chosencolor]) chooseend
text=Flanking (Whenever a creature without flanking blocks this creature, the blocking creature gets -1/-1 until end of turn.) -- As Pentarch Paladin enters the battlefield, choose a color. -- {W}{W}, {T}: Destroy target permanent of the chosen color. text=Flanking (Whenever a creature without flanking blocks this creature, the blocking creature gets -1/-1 until end of turn.) -- As Pentarch Paladin enters the battlefield, choose a color. -- {W}{W}, {T}: Destroy target permanent of the chosen color.
@@ -78651,7 +78650,6 @@ toughness=3
[/card] [/card]
[card] [card]
name=Pentarch Ward name=Pentarch Ward
alias=1000
abilities=auraward abilities=auraward
target=creature target=creature
auto=chooseacolor teach(creature) protection from(*[chosencolor]) chooseend auto=chooseacolor teach(creature) protection from(*[chosencolor]) chooseend
@@ -81977,7 +81975,6 @@ type=Enchantment
[/card] [/card]
[card] [card]
name=Prism Ring name=Prism Ring
alias=1000
auto=activatechooseacolor transforms((,newability[@movedto(*[chosencolor]|mystack):life:1 controller])) forever activatechooseend auto=activatechooseacolor transforms((,newability[@movedto(*[chosencolor]|mystack):life:1 controller])) forever activatechooseend
text=As Prism Ring enters the battlefield, choose a color. -- Whenever you cast a spell of the chosen color, you gain 1 life. text=As Prism Ring enters the battlefield, choose a color. -- Whenever you cast a spell of the chosen color, you gain 1 life.
mana={1} mana={1}
@@ -82493,7 +82490,6 @@ toughness=2
[/card] [/card]
[card] [card]
name=Psychic Allergy name=Psychic Allergy
alias=1000
auto=upcost[{S(island|mybattlefield)}{S(island|mybattlefield)}] sacrifice auto=upcost[{S(island|mybattlefield)}{S(island|mybattlefield)}] sacrifice
auto=chooseacolor transforms((,newability[@each opponent upkeep:damage:type:*[-token&chosencolor]:opponentbattlefield opponent])) chooseend auto=chooseacolor transforms((,newability[@each opponent upkeep:damage:type:*[-token&chosencolor]:opponentbattlefield opponent])) chooseend
text=As Psychic Allergy enters the battlefield, choose a color. -- At the beginning of each opponent's upkeep, Psychic Allergy deals X damage to that player, where X is the number of nontoken permanents of the chosen color he or she controls. -- At the beginning of your upkeep, destroy Psychic Allergy unless you sacrifice two Islands. text=As Psychic Allergy enters the battlefield, choose a color. -- At the beginning of each opponent's upkeep, Psychic Allergy deals X damage to that player, where X is the number of nontoken permanents of the chosen color he or she controls. -- At the beginning of your upkeep, destroy Psychic Allergy unless you sacrifice two Islands.
@@ -83714,7 +83710,6 @@ toughness=1
[/card] [/card]
[card] [card]
name=Quirion Elves name=Quirion Elves
alias=1000
auto={T}:Add{G} auto={T}:Add{G}
auto=chooseacolor {T}:add{chosencolor} chooseend auto=chooseacolor {T}:add{chosencolor} chooseend
text=As Quirion Elves enters the battlefield, choose a color. -- {T}: Add {G} to your mana pool. -- {T}: Add one mana of the chosen color to your mana pool. text=As Quirion Elves enters the battlefield, choose a color. -- {T}: Add {G} to your mana pool. -- {T}: Add one mana of the chosen color to your mana pool.
@@ -87461,7 +87456,6 @@ toughness=3
[/card] [/card]
[card] [card]
name=Revenant name=Revenant
alias=1111
abilities=flying abilities=flying
anyzone=type:creature:mygraveyard/type:creature:mygraveyard cdaactive anyzone=type:creature:mygraveyard/type:creature:mygraveyard cdaactive
text=Flying -- Revenant's power and toughness are each equal to the number of creature cards in your graveyard. text=Flying -- Revenant's power and toughness are each equal to the number of creature cards in your graveyard.
@@ -89670,7 +89664,7 @@ toughness=*
[/card] [/card]
[card] [card]
name=Rubinia Soulsinger name=Rubinia Soulsinger
alias=50120 abilities=shackler
auto={T}:shackle target(creature) auto={T}:shackle target(creature)
auto=@each my untap restriction{canuntap}:may untap auto=@each my untap restriction{canuntap}:may untap
text=You may choose not to untap Rubinia Soulsinger during your untap step. -- {T}: Gain control of target creature for as long as you control Rubinia and Rubinia remains tapped. text=You may choose not to untap Rubinia Soulsinger during your untap step. -- {T}: Gain control of target creature for as long as you control Rubinia and Rubinia remains tapped.
@@ -91655,6 +91649,17 @@ power=2
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Sarkhan the Mad
auto=counter(0/0,7,loyalty)
auto={0}:name(0: reveal damage) Reveal:1 revealzone(mylibrary) revealuntil(*|mylibrary) optionone name(put in hand) target(*|reveal) moveto(myhand) optiononeend afterrevealed all(this) damage:revealedmana afterrevealedend revealend
auto={C(0/0,-2,Loyalty)}:name(-2: sacrifice) target(creature) sacrifice and!( token(Dragon,creature dragon,5/5,flying,red) targetcontroller )!
auto={C(0/0,-4,Loyalty)}:name(-4: ultimate) all(creature[dragon]|mybattlefield) transforms((,newability[target(player) dynamicability<!powerstrike!>])) oneshot
text=0: Reveal the top card of your library and put it into your hand. Sarkhan the Mad deals damage to himself equal to that card's converted mana cost. -- -2: Target creature's controller sacrifices it, then that player puts a 5/5 red Dragon creature token with flying onto the battlefield. -- -4: Each Dragon creature you control deals damage equal to its power to target player.
mana={3}{B}{R}
type=Planeswalker
subtype=Sarkhan
[/card]
[card]
name=Sarkhan Unbroken name=Sarkhan Unbroken
auto=counter(0/0,9,Loyalty) auto=counter(0/0,9,Loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Draw card add mana) draw:1 controller && transforms((,newability[activatechooseacolor add{chosencolor} activatechooseend])) forever asSorcery auto={C(0/0,1,Loyalty)}:name(+1: Draw card add mana) draw:1 controller && transforms((,newability[activatechooseacolor add{chosencolor} activatechooseend])) forever asSorcery
@@ -91688,17 +91693,6 @@ type=Planeswalker
subtype=Sarkhan subtype=Sarkhan
[/card] [/card]
[card] [card]
name=Sarkhan the Mad
auto=counter(0/0,7,loyalty)
auto={0}:name(0: reveal damage) Reveal:1 revealzone(mylibrary) revealuntil(*|mylibrary) optionone name(put in hand) target(*|reveal) moveto(myhand) optiononeend afterrevealed all(this) damage:revealedmana afterrevealedend revealend
auto={C(0/0,-2,Loyalty)}:name(-2: sacrifice) target(creature) sacrifice and!( token(Dragon,creature dragon,5/5,flying,red) targetcontroller )!
auto={C(0/0,-4,Loyalty)}:name(-4: ultimate) all(creature[dragon]|mybattlefield) transforms((,newability[target(player) dynamicability<!powerstrike!>])) oneshot
text=0: Reveal the top card of your library and put it into your hand. Sarkhan the Mad deals damage to himself equal to that card's converted mana cost. -- -2: Target creature's controller sacrifices it, then that player puts a 5/5 red Dragon creature token with flying onto the battlefield. -- -4: Each Dragon creature you control deals damage equal to its power to target player.
mana={3}{B}{R}
type=Planeswalker
subtype=Sarkhan
[/card]
[card]
name=Sarkhan's Rage name=Sarkhan's Rage
target=creature,player|battlefield target=creature,player|battlefield
auto=damage:5 auto=damage:5
@@ -96134,7 +96128,6 @@ subtype=Shapeshifter
[/card] [/card]
[card] [card]
name=Shifting Sky name=Shifting Sky
alias=1000
auto=chooseacolor lord(*[-land]) becomes(,chosencolor) chooseend auto=chooseacolor lord(*[-land]) becomes(,chosencolor) chooseend
text=As Shifting Sky enters the battlefield, choose a color. -- All nonland permanents are the chosen color. text=As Shifting Sky enters the battlefield, choose a color. -- All nonland permanents are the chosen color.
mana={2}{U} mana={2}{U}
@@ -97556,7 +97549,6 @@ toughness=1
[/card] [/card]
[card] [card]
name=Silhana Starfletcher name=Silhana Starfletcher
alias=1000
abilities=reach abilities=reach
auto=activatechooseacolor {T}:add{chosencolor} activatechooseend auto=activatechooseacolor {T}:add{chosencolor} activatechooseend
text=Reach (This creature can block creatures with flying.) -- As Silhana Starfletcher enters the battlefield, choose a color. -- {T}: Add one mana of the chosen color to your mana pool. text=Reach (This creature can block creatures with flying.) -- As Silhana Starfletcher enters the battlefield, choose a color. -- {T}: Add one mana of the chosen color to your mana pool.
@@ -99583,7 +99575,6 @@ subtype=Equipment
[/card] [/card]
[card] [card]
name=Slag Fiend name=Slag Fiend
alias=1111
anyzone=type:artifact:graveyard/type:artifact:graveyard cdaactive anyzone=type:artifact:graveyard/type:artifact:graveyard cdaactive
text=Slag Fiend's power and toughness are each equal to the number of artifact cards in all graveyards. text=Slag Fiend's power and toughness are each equal to the number of artifact cards in all graveyards.
mana={R} mana={R}
@@ -100732,7 +100723,6 @@ toughness=3
[/card] [/card]
[card] [card]
name=Sol Grail name=Sol Grail
alias=1000
auto=chooseacolor transforms((,newability[{T}:add{chosencolor}])) forever chooseend auto=chooseacolor transforms((,newability[{T}:add{chosencolor}])) forever chooseend
text=As Sol Grail enters the battlefield, choose a color. -- {T}: Add one mana of the chosen color to your mana pool. text=As Sol Grail enters the battlefield, choose a color. -- {T}: Add one mana of the chosen color to your mana pool.
mana={3} mana={3}
@@ -103624,7 +103614,6 @@ subtype=Aura
[/card] [/card]
[card] [card]
name=Splinterfright name=Splinterfright
alias=1111
abilities=trample abilities=trample
anyzone=type:creature:mygraveyard/type:creature:mygraveyard cdaactive anyzone=type:creature:mygraveyard/type:creature:mygraveyard cdaactive
auto=@each my upkeep:deplete:2 controller auto=@each my upkeep:deplete:2 controller
@@ -106139,7 +106128,7 @@ toughness=3
[/card] [/card]
[card] [card]
name=Street Spasm name=Street Spasm
alias=11000 abilities=overload
other={X}{X}{R}{R} name(Overload) other={X}{X}{R}{R} name(Overload)
target=creature[-flying]|opponentbattlefield target=creature[-flying]|opponentbattlefield
auto=paidmana damage:X auto=paidmana damage:X
@@ -109363,6 +109352,17 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Tasigur, the Golden Fang
other={delve} name(Delve)
auto={2}{GU}{GU}:deplete:2 controller && ability$! moveto(ownerhand) notatarget(*[-land]|opponentgraveyard) !$ opponent
text=Delve (Each card you exile from your graveyard while casting this spell pays for {1}.) -- {2}{GU}{GU}: Put the top two cards of your library into your graveyard, then return a nonland card of an opponent's choice from your graveyard to your hand.
mana={5}{B}
type=Legendary Creature
subtype=Human Shaman
power=4
toughness=5
[/card]
[card]
name=Tasigur's Cruelty name=Tasigur's Cruelty
auto=ability$!name(discard 2 cards) target(*|myhand) reject!$ opponent auto=ability$!name(discard 2 cards) target(*|myhand) reject!$ opponent
text=Delve (Each card you exile from your graveyard while casting this spell pays for {1}.) -- Each opponent discards two cards. text=Delve (Each card you exile from your graveyard while casting this spell pays for {1}.) -- Each opponent discards two cards.
@@ -109676,7 +109676,6 @@ type=Legendary Land
[/card] [/card]
[card] [card]
name=Teferi's Moat name=Teferi's Moat
alias=1000
auto=chooseacolor lord(creature[chosencolor&-flying]|opponentBattlefield) cantattack chooseend auto=chooseacolor lord(creature[chosencolor&-flying]|opponentBattlefield) cantattack chooseend
text=As Teferi's Moat enters the battlefield, choose a color. -- Creatures of the chosen color without flying can't attack you. text=As Teferi's Moat enters the battlefield, choose a color. -- Creatures of the chosen color without flying can't attack you.
mana={3}{W}{U} mana={3}{W}{U}
@@ -109767,7 +109766,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Teleportal name=Teleportal
alias=11000 abilities=overload
other={3}{U}{R} name(Overload) other={3}{U}{R} name(Overload)
target=creature|mybattlefield target=creature|mybattlefield
auto=paidmana 1/0 auto=paidmana 1/0
@@ -110427,7 +110426,6 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Terravore name=Terravore
alias=1111
abilities=trample abilities=trample
anyzone=type:land:graveyard/type:land:graveyard cdaactive anyzone=type:land:graveyard/type:land:graveyard cdaactive
text=Trample -- Terravore's power and toughness are each equal to the number of land cards in all graveyards. text=Trample -- Terravore's power and toughness are each equal to the number of land cards in all graveyards.
@@ -116278,7 +116276,6 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Umbra Stalker name=Umbra Stalker
alias=1111
anyzone=type:manab:mygraveyard/type:manab:mygraveyard cdaactive anyzone=type:manab:mygraveyard/type:manab:mygraveyard cdaactive
text=Chroma - Umbra Stalker's power and toughness are each equal to the number of black mana symbols in the mana costs of cards in your graveyard. text=Chroma - Umbra Stalker's power and toughness are each equal to the number of black mana symbols in the mana costs of cards in your graveyard.
mana={4}{B}{B}{B} mana={4}{B}{B}{B}
@@ -118001,7 +117998,7 @@ subtype=Aura
[/card] [/card]
[card] [card]
name=Vandalblast name=Vandalblast
alias=11000 abilities=overload
other={4}{R} name(Overload) other={4}{R} name(Overload)
target=artifact|opponentbattlefield target=artifact|opponentbattlefield
auto=overload destroy all(artifact|opponentbattlefield) auto=overload destroy all(artifact|opponentbattlefield)
@@ -118395,7 +118392,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Vedalken Shackles name=Vedalken Shackles
alias=50120 abilities=shackler
auto={2}{T}:shackle target(creature[power<=type:island:mybattlefield]) auto={2}{T}:shackle target(creature[power<=type:island:mybattlefield])
auto=@each my untap restriction{canuntap}:may untap auto=@each my untap restriction{canuntap}:may untap
text=You may choose not to untap Vedalken Shackles during your untap step. -- {2}, {T}: Gain control of target creature with power less than or equal to the number of Islands you control for as long as Vedalken Shackles remains tapped. text=You may choose not to untap Vedalken Shackles during your untap step. -- {2}, {T}: Gain control of target creature with power less than or equal to the number of Islands you control for as long as Vedalken Shackles remains tapped.
@@ -120461,7 +120458,6 @@ toughness=2
[/card] [/card]
[card] [card]
name=Voice of All name=Voice of All
alias=1000
abilities=flying abilities=flying
auto=chooseacolor transforms((,newability[protection from(*[chosencolor])],newability[0/0])) forever chooseend auto=chooseacolor transforms((,newability[protection from(*[chosencolor])],newability[0/0])) forever chooseend
text=Flying (This creature can't be blocked except by creatures with flying or reach.) -- As Voice of All enters the battlefield, choose a color. -- Voice of All has protection from the chosen color. (It can't be blocked, targeted, dealt damage, or enchanted by anything of the chosen color.) text=Flying (This creature can't be blocked except by creatures with flying or reach.) -- As Voice of All enters the battlefield, choose a color. -- Voice of All has protection from the chosen color. (It can't be blocked, targeted, dealt damage, or enchanted by anything of the chosen color.)
@@ -122343,7 +122339,6 @@ toughness=1
[/card] [/card]
[card] [card]
name=Ward Sliver name=Ward Sliver
alias=1000
auto=chooseacolor transforms((,newability[lord(sliver) protection from(*[chosencolor])])) forever chooseend auto=chooseacolor transforms((,newability[lord(sliver) protection from(*[chosencolor])])) forever chooseend
text=As Ward Sliver enters the battlefield, choose a color. -- All Slivers have protection from the chosen color. text=As Ward Sliver enters the battlefield, choose a color. -- All Slivers have protection from the chosen color.
mana={4}{W} mana={4}{W}
@@ -123048,7 +123043,7 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Weapon Surge name=Weapon Surge
alias=11000 abilities=overload
other={1}{R} name(Overload) other={1}{R} name(Overload)
target=creature|mybattlefield target=creature|mybattlefield
auto=paidmana 1/0 auto=paidmana 1/0
@@ -124336,7 +124331,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Willow Satyr name=Willow Satyr
alias=50120 abilities=shackler
auto={T}:shackle target(creature[legendary]) auto={T}:shackle target(creature[legendary])
auto=@each my untap restriction{canuntap}:may untap auto=@each my untap restriction{canuntap}:may untap
text=You may choose not to untap Willow Satyr during your untap step. -- {T}: Gain control of target legendary creature for as long as you control Willow Satyr and Willow Satyr remains tapped. text=You may choose not to untap Willow Satyr during your untap step. -- {T}: Gain control of target legendary creature for as long as you control Willow Satyr and Willow Satyr remains tapped.
@@ -126579,6 +126574,16 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Yisan, the Wanderer Bard
auto={2}{G}{T}{C(0/0,1,Verse)}:name(search creature) Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(*[creature]|mylibrary) optionone target(creature[manacost=counter{0%0.1.Verse}]|reveal) moveto(mybattlefield) and!( all(*|reveal) moveto(mylibrary) )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(mylibrary) and!( all(*|reveal) moveto(mylibrary) )! optiontwoend afterrevealed shuffle afterrevealedend revealend
text={2}{G}, {T}, Put a verse counter on Yisan, the Wanderer Bard: Search your library for a creature card with converted mana cost equal to the number of verse counters on Yisan, put it onto the battlefield, then shuffle your library.
mana={2}{G}
type=Legendary Creature
subtype=Human Rogue
power=2
toughness=3
[/card]
[card]
name=Yoke of the Damned name=Yoke of the Damned
target=creature target=creature
auto=@movedTo(graveyard) from(creature|battlefield):destroy auto=@movedTo(graveyard) from(creature|battlefield):destroy
@@ -126741,6 +126746,17 @@ power=2
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Zameck Guildmage
auto={G}{U}:name(1/1 counters) emblem transforms((,newability[@movedto(creature|myBattlefield):all(trigger[to]) counter(1/1.1)])) ueot
auto={G}{U}{C(1/1,-1),*|mybattlefield}:name(remove a 1/1 counter) draw:1
text={G}{U}: This turn, each creature you control enters the battlefield with an additional +1/+1 counter on it. -- {G}{U}, Remove a +1/+1 counter from a creature you control: Draw a card.
mana={G}{U}
type=Creature
subtype=Elf Wizard
power=2
toughness=2
[/card]
[card]
name=Zanam Djinn name=Zanam Djinn
abilities=flying abilities=flying
auto=this(variable{commonblue}>0) -2/-2 auto=this(variable{commonblue}>0) -2/-2
@@ -4005,15 +4005,6 @@ mana={2}{B}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Delver of Secrets
text=At the beginning of your upkeep, look at the top card of your library. You may reveal that card. If an instant or sorcery card is revealed this way, transform Delver of Secrets.
mana={U}
type=Creature
subtype=Human Wizard
power=1
toughness=1
[/card]
[card]
name=Dementia Sliver name=Dementia Sliver
text=All Slivers have "{T}: Name a card. Target opponent reveals a card at random from his or her hand. If it's the named card, that player discards it. Activate this ability only during your turn." text=All Slivers have "{T}: Name a card. Target opponent reveals a card at random from his or her hand. If it's the named card, that player discards it. Activate this ability only during your turn."
mana={3}{U}{B} mana={3}{U}{B}
@@ -17769,15 +17760,6 @@ mana={1}{W}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Tasigur, the Golden Fang
text=Delve (Each card you exile from your graveyard while casting this spell pays for {1}.) -- {2}{GU}{GU}: Put the top two cards of your library into your graveyard, then return a nonland card of an opponent's choice from your graveyard to your hand.
mana={5}{B}
type=Legendary Creature
subtype=Human Shaman
power=4
toughness=5
[/card]
[card]
name=Task Mage Assembly name=Task Mage Assembly
text=When there are no creatures on the battlefield, sacrifice Task Mage Assembly. -- {2}: Task Mage Assembly deals 1 damage to target creature. Any player may activate this ability but only any time he or she could cast a sorcery. text=When there are no creatures on the battlefield, sacrifice Task Mage Assembly. -- {2}: Task Mage Assembly deals 1 damage to target creature. Any player may activate this ability but only any time he or she could cast a sorcery.
mana={2}{R} mana={2}{R}
@@ -20322,24 +20304,6 @@ power=3
toughness=6 toughness=6
[/card] [/card]
[card] [card]
name=Yisan, the Wanderer Bard
text={2}{G}, {T}, Put a verse counter on Yisan, the Wanderer Bard: Search your library for a creature card with converted mana cost equal to the number of verse counters on Yisan, put it onto the battlefield, then shuffle your library.
mana={2}{G}
type=Legendary Creature
subtype=Human Rogue
power=2
toughness=3
[/card]
[card]
name=Yixlid Jailer
text=Cards in graveyards lose all abilities.
mana={1}{B}
type=Creature
subtype=Zombie Wizard
power=2
toughness=1
[/card]
[card]
name=Yosei, the Morning Star name=Yosei, the Morning Star
text=Flying -- When Yosei, the Morning Star dies, target player skips his or her next untap step. Tap up to five target permanents that player controls. text=Flying -- When Yosei, the Morning Star dies, target player skips his or her next untap step. Tap up to five target permanents that player controls.
mana={4}{W}{W} mana={4}{W}{W}
@@ -20382,15 +20346,6 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Zameck Guildmage
text={G}{U}: This turn, each creature you control enters the battlefield with an additional +1/+1 counter on it. -- {G}{U}, Remove a +1/+1 counter from a creature you control: Draw a card.
mana={G}{U}
type=Creature
subtype=Elf Wizard
power=2
toughness=2
[/card]
[card]
name=Zealous Inquisitor name=Zealous Inquisitor
text={1}{W}: The next 1 damage that would be dealt to Zealous Inquisitor this turn is dealt to target creature instead. text={1}{W}: The next 1 damage that would be dealt to Zealous Inquisitor this turn is dealt to target creature instead.
mana={2}{W} mana={2}{W}
+1
View File
@@ -168,6 +168,7 @@ public:
MTGCardInstance * myPair; MTGCardInstance * myPair;
MTGCardInstance * createSnapShot(); MTGCardInstance * createSnapShot();
MTGCardInstance * storedSourceCard; MTGCardInstance * storedSourceCard;
MTGCardInstance * shackled;
MTGCardInstance * isDefenser(); MTGCardInstance * isDefenser();
int initAttackersDefensers(); int initAttackersDefensers();
MTGCardInstance * getNextOpponent(MTGCardInstance * previous=NULL); MTGCardInstance * getNextOpponent(MTGCardInstance * previous=NULL);
+7 -5
View File
@@ -248,11 +248,13 @@ class Constants
CANTPAYLIFE = 126, CANTPAYLIFE = 126,
CANTBESACRIFIED = 127, CANTBESACRIFIED = 127,
SKULK = 128, SKULK = 128,
MENACE = 129, MENACE = 129,
NOSOLO = 130,//cant attack alone NOSOLO = 130,//cant attack alone
MUSTBLOCK = 131,//blocks each turn MUSTBLOCK = 131,//blocks each turn
DETHRONE = 132, DETHRONE = 132,
NB_BASIC_ABILITIES = 133, OVERLOAD = 133,
SHACKLER = 134,
NB_BASIC_ABILITIES = 135,
RARITY_S = 'S', //Special Rarity RARITY_S = 'S', //Special Rarity
RARITY_M = 'M', //Mythics RARITY_M = 'M', //Mythics
+2 -2
View File
@@ -2438,7 +2438,7 @@ int AIPlayerBaka::computeActions()
cd.SetExclusionColor(Constants::MTG_COLOR_LAND); cd.SetExclusionColor(Constants::MTG_COLOR_LAND);
MTGCardInstance *freecard = cd.match(game->graveyard); MTGCardInstance *freecard = cd.match(game->graveyard);
int canCastCard = game->playRestrictions->canPutIntoZone(freecard, game->inPlay); int canCastCard = game->playRestrictions->canPutIntoZone(freecard, game->inPlay);
if (freecard && (canCastCard == PlayRestriction::CAN_PLAY) && freecard->has(Constants::PAYZERO) && freecard->has(Constants::CANPLAYFROMGRAVEYARD) && (freecard->getIncreasedManaCost()->getConvertedCost() < 1) && (freecard->alias != 1111)) if (freecard && (canCastCard == PlayRestriction::CAN_PLAY) && freecard->has(Constants::PAYZERO) && freecard->has(Constants::CANPLAYFROMGRAVEYARD) && (freecard->getIncreasedManaCost()->getConvertedCost() < 1) && (!freecard->isCDA))
{ {
MTGAbility * castFreeCard = observer->mLayers->actionLayer()->getAbility(MTGAbility::PAYZERO_COST); MTGAbility * castFreeCard = observer->mLayers->actionLayer()->getAbility(MTGAbility::PAYZERO_COST);
AIAction * aa = NEW AIAction(this, castFreeCard, freecard); //TODO putinplay action AIAction * aa = NEW AIAction(this, castFreeCard, freecard); //TODO putinplay action
@@ -2453,7 +2453,7 @@ int AIPlayerBaka::computeActions()
cd.SetExclusionColor(Constants::MTG_COLOR_LAND); cd.SetExclusionColor(Constants::MTG_COLOR_LAND);
MTGCardInstance *freecard = cd.match(game->exile); MTGCardInstance *freecard = cd.match(game->exile);
int canCastCard = game->playRestrictions->canPutIntoZone(freecard, game->inPlay); int canCastCard = game->playRestrictions->canPutIntoZone(freecard, game->inPlay);
if (freecard && (canCastCard == PlayRestriction::CAN_PLAY) && freecard->has(Constants::PAYZERO) && freecard->has(Constants::CANPLAYFROMEXILE) && (freecard->getIncreasedManaCost()->getConvertedCost() < 1) && (freecard->alias != 1111)) if (freecard && (canCastCard == PlayRestriction::CAN_PLAY) && freecard->has(Constants::PAYZERO) && freecard->has(Constants::CANPLAYFROMEXILE) && (freecard->getIncreasedManaCost()->getConvertedCost() < 1) && (!freecard->isCDA))
{ {
MTGAbility * castFreeCard = observer->mLayers->actionLayer()->getAbility(MTGAbility::PAYZERO_COST); MTGAbility * castFreeCard = observer->mLayers->actionLayer()->getAbility(MTGAbility::PAYZERO_COST);
AIAction * aa = NEW AIAction(this, castFreeCard, freecard); //TODO putinplay action AIAction * aa = NEW AIAction(this, castFreeCard, freecard); //TODO putinplay action
+7
View File
@@ -6531,6 +6531,8 @@ void AShackle::resolveShackle()
previousController->game->putInZone(_target, _target->currentZone, previousController->game->putInZone(_target, _target->currentZone,
source->controller()->game->inPlay); source->controller()->game->inPlay);
Shackled = _target; Shackled = _target;
source->shackled = Shackled;
Shackled->shackled = source;
} }
} }
@@ -6538,14 +6540,19 @@ void AShackle::returntoOwner(MTGCardInstance* _target) {
MTGCardInstance * cardToReturn = _target; MTGCardInstance * cardToReturn = _target;
if(!cardToReturn) if(!cardToReturn)
{ {
if (source)
source->shackled = NULL;
this->forceDestroy = 1; this->forceDestroy = 1;
return; return;
} }
if(previousController && cardToReturn->isInPlay(game)) if(previousController && cardToReturn->isInPlay(game))
{ {
cardToReturn->shackled = NULL;
cardToReturn->controller()->game->putInZone(_target, _target->currentZone, cardToReturn->controller()->game->putInZone(_target, _target->currentZone,
previousController->game->inPlay); previousController->game->inPlay);
} }
if (source)
source->shackled = NULL;
this->forceDestroy = 1; this->forceDestroy = 1;
Shackled = NULL; Shackled = NULL;
return; return;
+27 -3
View File
@@ -274,8 +274,32 @@ void CardGui::Render()
{ {
if(cv->mHasFocus) if(cv->mHasFocus)
{ {
highlightborder->SetColor(ARGB(200,57,28,248)); highlightborder->SetColor(ARGB(200,57,28,248));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
}
}
}
if(card->shackled && card->shackled->isInPlay(game) && highlightborder)
{
if(mHasFocus)
{
if(card->has(Constants::SHACKLER))
highlightborder->SetColor(ARGB(200,7,98,248));
else
highlightborder->SetColor(ARGB(200,57,28,248));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16); renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
}
if(CardView* cv = dynamic_cast<CardView*>(card->shackled->view))
{
if(cv->mHasFocus)
{
if(!card->shackled->has(Constants::SHACKLER))
highlightborder->SetColor(ARGB(200,7,98,248));
else
highlightborder->SetColor(ARGB(200,57,28,248));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
} }
} }
} }
@@ -386,7 +410,7 @@ void CardGui::Render()
buff = "C"; buff = "C";
//if(card->has(Constants::PAYZERO)) //if(card->has(Constants::PAYZERO))
//buff += "Z"; //buff += "Z";
if(card->alias == 1000) if(card->chooseacolor >= 1)
{ {
if(card->chooseacolor == 1) if(card->chooseacolor == 1)
buff += "\n-Green"; buff += "\n-Green";
@@ -1114,7 +1138,7 @@ void CardGui::RenderBig(MTGCard* card, const Pos& pos, bool thumb, bool noborder
string cardsetname = setlist[card->setId].c_str(); string cardsetname = setlist[card->setId].c_str();
if(!noborder) if(!noborder)
{ {
if(cardsetname == "2ED"||cardsetname == "RV"||cardsetname == "4ED"||cardsetname == "5ED"||cardsetname == "6ED"||cardsetname == "7ED"||cardsetname == "8ED"||cardsetname == "9ED"||cardsetname == "CHR") if(cardsetname == "2ED"||cardsetname == "RV"||cardsetname == "4ED"||cardsetname == "5ED"||cardsetname == "6ED"||cardsetname == "7ED"||cardsetname == "8ED"||cardsetname == "9ED"||cardsetname == "CHR"||cardsetname == "DM")
{ {
//like white border //like white border
renderer->FillRoundRect(x-92,pos.actY-130, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(255,248,248,255)); renderer->FillRoundRect(x-92,pos.actY-130, (scale * quad->mWidth)-10, (scale * quad->mHeight)-11, 9.0f,ARGB(255,248,248,255));
+1 -1
View File
@@ -122,7 +122,7 @@ void DeckMenu::RenderDeckManaColors()
if (mSelectedDeck &&displayDeckMana) if (mSelectedDeck &&displayDeckMana)
{ {
string deckManaColors = mSelectedDeck->getColorIndex().c_str(); string deckManaColors = mSelectedDeck->getColorIndex().c_str();
if (deckManaColors.size() == 6) if (deckManaColors.size() >= 6)
{ {
// due to space constraints don't display icons for colorless mana. // due to space constraints don't display icons for colorless mana.
for( int colorIdx = Constants::MTG_COLOR_GREEN; colorIdx < Constants::MTG_COLOR_WASTE; ++colorIdx ) for( int colorIdx = Constants::MTG_COLOR_GREEN; colorIdx < Constants::MTG_COLOR_WASTE; ++colorIdx )
+1
View File
@@ -211,6 +211,7 @@ void MTGCardInstance::initMTGCI()
storedCard = NULL; storedCard = NULL;
storedSourceCard = NULL; storedSourceCard = NULL;
myPair = NULL; myPair = NULL;
shackled = NULL;
miracle = false; miracle = false;
countTrini = 0; countTrini = 0;
imprintedCards.clear(); imprintedCards.clear();
+7 -5
View File
@@ -159,11 +159,13 @@ const char* Constants::MTGBasicAbilities[] = {
"combattoughness", "combattoughness",
"cantpaylife", "cantpaylife",
"cantbesacrified", "cantbesacrified",
"skulk", "skulk",
"menace", "menace",
"nosolo", "nosolo",
"mustblock", "mustblock",
"dethrone", "dethrone",
"overload",
"shackler"
}; };
map<string,int> Constants::MTGBasicAbilitiesMap; map<string,int> Constants::MTGBasicAbilitiesMap;
+1 -2
View File
@@ -951,7 +951,7 @@ void MTGInPlay::untapAll()
{ {
MTGCardInstance * card = cards[i]; MTGCardInstance * card = cards[i];
card->setUntapping(); card->setUntapping();
if (!card->basicAbilities[(int)Constants::DOESNOTUNTAP] && card->alias != 50120) if (!card->basicAbilities[(int)Constants::DOESNOTUNTAP] && !card->basicAbilities[(int)Constants::SHACKLER])
{ {
if (card->frozen < 1) if (card->frozen < 1)
{ {
@@ -961,7 +961,6 @@ void MTGInPlay::untapAll()
{ {
card->frozen = 0; card->frozen = 0;
} }
} }
} }
} }
+2 -2
View File
@@ -687,7 +687,7 @@ PermanentAbility(observer, _id)
int MTGAlternativeCostRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana) int MTGAlternativeCostRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana)
{ {
if (card->alias == 11000) if (card->has(Constants::OVERLOAD))
return 0;//overload has its own rule return 0;//overload has its own rule
if(!card->getManaCost()->getAlternative()) if(!card->getManaCost()->getAlternative())
return 0; return 0;
@@ -1410,7 +1410,7 @@ MTGAlternativeCostRule(observer, _id)
int MTGOverloadRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana) int MTGOverloadRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana)
{ {
if (card->alias != 11000) if (!card->has(Constants::OVERLOAD))
return 0; return 0;
Player * player = game->currentlyActing(); Player * player = game->currentlyActing();
ManaCost * cost = NEW ManaCost(card->model->data->getManaCost()->getAlternative()); ManaCost * cost = NEW ManaCost(card->model->data->getManaCost()->getAlternative());