- almosthumane's code for Mulligan
- added better wording for menu of "move" abilities (with help from Zthfox)
- updated Zethfox's card addon
This commit is contained in:
wagic.the.homebrew@gmail.com
2010-07-30 12:14:10 +00:00
parent d92643f5d6
commit b0d81dc8c1
3 changed files with 7214 additions and 6766 deletions
@@ -17,6 +17,28 @@ type=Mana-token
id=-66775544 id=-66775544
[/card] [/card]
[card] [card]
name=Diabolic Intent
mana={1}{B}{s;target(creature|mybattlefield)}
auto=moveTo(myhand) target(*|myLibrary)
text=As an additional cost to cast Diabolic Intent, sacrifice a creature. Search your library for a card and put that card into your hand. Then shuffle your library.
type=sorcery
[/card]
[card]
name=Abjure
target=*|stack
auto=fizzle
text=As an additional cost to cast Abjure, sacrifice a blue permanent. Counter target spell.
mana={U}{s;target(*[blue]|mybattlefield)}
type=Instant
[/card]
[card]
name=Altar of Bone
mana={G}{W}{s;target(creature|mybattlefield)}
auto=moveTo(myhand) target(Creature|myLibrary)
text=As an additional cost to cast Altar of Bone, sacrifice a creature. Search your library for a creature card, reveal that card, and put it into your hand. Then shuffle your library.
type=sorcery
[/card]
[card]
name=Disaster Radius name=Disaster Radius
target=creature|myhand target=creature|myhand
auto=damage:manacost all(creature|opponentbattlefield) auto=damage:manacost all(creature|opponentbattlefield)
@@ -34,6 +56,35 @@ type=instant
subtype=arcane subtype=arcane
[/card] [/card]
[card] [card]
name=Bone Splinters
auto=destroy notatarget(creature)
text=Sacrifice a creature. Destroy target creature.
mana={B}{s;target(creature|mybattlefield)}
type=Sorcery
[/card]
[card]
name=crop Rotation
auto=moveTo(mybattlefield) notatarget(land|myLibrary)
text=As an additional cost to cast Crop Rotation, sacrifice a land. Search your library for a land card and put that card onto the battlefield. Then shuffle your library.
mana={G}{s;target(land|mybattlefield)}
type=instant
[/card]
[card]
name=Natural Order
auto=moveTo(myBattlefield) notatarget(creature[green]|myLibrary)
text=Sacrifice a green creature: Search your library for a green creature card and put it into play as thourhg it were just played. Shuffle your library afterwards.
mana={2}{G}{G}{s;target(creature[green]|mybattlefield)}
type=Sorcery
[/card]
[card]
name=Death Bomb
auto=destroy notatarget(creature[-black])
auto=life:-2 opponent
text=As an additional cost to cast Death Bomb, sacrifice a creature. Destroy target nonblack creature. It can't be regenerated. Its controller loses 2 life.
mana={B}{3}{s;target(creature|mybattlefield)}
type=instant
[/card]
[card]
name=Familiar's Ruse name=Familiar's Ruse
target=creature|mybattlefield target=creature|mybattlefield
auto=moveTo(ownerHand) auto=moveTo(ownerHand)
@@ -43,6 +94,14 @@ mana={U}{U}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Fiery Conclusion
target=Creature
auto=damage:5
text=As an additional cost to cast Fiery Conclusion, sacrifice a creature. Fiery Conclusion deals 5 damage to target creature.
mana={1}{R}{s;target(creature|mybattlefield)}
type=Instant
[/card]
[card]
name=Fumarole name=Fumarole
auto=bury target(Land) auto=bury target(Land)
auto=@movedto(this|graveyard): bury target(creature) auto=@movedto(this|graveyard): bury target(creature)
@@ -74,6 +133,15 @@ type=nothing
id=-33445566 id=-33445566
[/card] [/card]
[card] [card]
name=Fodder Launch
auto=-5/-5 target(creature)
auto=damage:5 targetcontroller
text=As an additional cost to cast Fodder Launch, sacrifice a Goblin. Target creature gets -5/-5 until end of turn. Fodder Launch deals 5 damage to that creature's controller.
mana={1}{R}{s;target(Goblin|mybattlefield)}
type=sorcery
subtype=tribal
[/card]
[card]
name=Fling name=Fling
target=creature|mybattlefield target=creature|mybattlefield
auto=destroy auto=destroy
@@ -83,6 +151,13 @@ mana={1}{R}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Tinker
auto=moveto(mybattlefield) target(artifact|mylibrary)
text=As an additional cost to cast Tinker, sacrifice an artifact.Search your library for an artifact card and put that card onto the battlefield. Then shuffle your library.
mana={2}{U}{s;target(Artifact|mybattlefield)}
type=Sorcery
[/card]
[card]
name=Reiver Demon name=Reiver Demon
auto=kicker token(-99775533)*2 auto=kicker token(-99775533)*2
text=When Reiver Demon enters the battlefield, if you cast it from your hand, destroy all nonartifact, nonblack creatures. They can't be regenerated. text=When Reiver Demon enters the battlefield, if you cast it from your hand, destroy all nonartifact, nonblack creatures. They can't be regenerated.
@@ -1162,79 +1237,6 @@ type=nothing
id=-1199678 id=-1199678
[/card] [/card]
[card] [card]
name=Blistering Firecat
autohand={3}:token(16655342) asSorcery && moveto(exile) target(Blistering Firecat|myhand)
auto=@next endofturn: bury all(this)
text=Trample, haste. At the beginning of the end step, sacrifice Blistering Firecat. Morph {R}{R} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)
power=7
toughness=1
type=Creature
abilities=trample, haste
subtype=Elemental Cat
mana={1}{R}{R}{R}
[/card]
[card]
name=Morphed Blistering Firecat
auto={R}{R}: token(39737) && moveto(exile) all(this)
power=2
toughness=2
type=creature
[/card]
[card]
name=Bloodstoke Howler
autohand={3}:token(16655343) asSorcery && moveto(exile) target(Bloodstoke Howler|myhand)
text=Morph {6}{R} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) When Bloodstoke Howler is turned face up, Beast creatures you control get +3/+0 until end of turn.
power=3
toughness=4
type=Creature
subtype=beast
mana={5}{R}
[/card]
[card]
name=Morphed Bloodstoke Howler
auto={6}{R}:token(44209) && all(creature[beast]|mybattlefield) +3/+0 ueot && moveto(exile) all(this)
power=2
toughness=2
type=creature
[/card]
[card]
name=Boneknitter
autohand={3}:token(16655344) asSorcery && moveto(exile) target(Boneknitter|myhand)
auto={1}{B}: Regenerate target(creature[Zombie])
text={1}{B}: Regenerate target Zombie. Morph {2}{B} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)
power=1
toughness=1
type=Creature
subtype=zombie Cleric
mana={1}{B}
[/card]
[card]
name=Morphed Boneknitter
auto={2}{B}: token(39547) && moveto(exile) all(this)
power=2
toughness=2
type=creature
[/card]
[card]
name=Branchsnap Lorian
autohand={3}:token(16655345) asSorcery && moveto(exile) target(Branchsnap Lorian|myhand)
text=Trample. Morph {G} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)
power=4
toughness=1
type=Creature
subtype=Beast
abilities=trample
mana={1}{G}{G}
[/card]
[card]
name=Morphed Branchsnap Lorian
auto={G}: token(37909) && moveto(exile) all(this)
power=2
toughness=2
type=creature
[/card]
[card]
name=Living End name=Living End
autohand={2}{B}{B}:token(16655459) asSorcery autohand={2}{B}{B}:token(16655459) asSorcery
text=Living End is black.--Suspend 3-{2}{B}{B} (Rather than cast this card from your hand, pay {2}{B}{B} and exile it with three time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.)--Each player exiles all creature cards from his or her graveyard, then sacrifices all creatures he or she controls, then puts all cards he or she exiled this way onto the battlefield. text=Living End is black.--Suspend 3-{2}{B}{B} (Rather than cast this card from your hand, pay {2}{B}{B} and exile it with three time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost.)--Each player exiles all creature cards from his or her graveyard, then sacrifices all creatures he or she controls, then puts all cards he or she exiled this way onto the battlefield.
@@ -1243,6 +1245,7 @@ mana={99}{B}
[/card] [/card]
[card] [card]
name=Suspended Living End name=Suspended Living End
id=16655459
auto=moveto(exile) notatarget(Living end|myhand) auto=moveto(exile) notatarget(Living end|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1270,6 +1273,7 @@ mana={5}{B}
[/card] [/card]
[card] [card]
name=Suspended Corpulent Corpse name=Suspended Corpulent Corpse
id=16655438
auto=moveto(exile) notatarget(Corpulent Corpse|myhand) auto=moveto(exile) notatarget(Corpulent Corpse|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1296,6 +1300,7 @@ mana={7}{U}{U}{U}
[/card] [/card]
[card] [card]
name=Suspended Deep-Sea Kraken name=Suspended Deep-Sea Kraken
id=16655440
auto=moveto(exile) notatarget(Deep-Sea Kraken|myhand) auto=moveto(exile) notatarget(Deep-Sea Kraken|myhand)
auto=counter(0/0,9,Time) auto=counter(0/0,9,Time)
auto=@movedto(*|opponentstack): counter(0/0.-1.Time) auto=@movedto(*|opponentstack): counter(0/0.-1.Time)
@@ -1320,6 +1325,7 @@ mana={3}{W}
[/card] [/card]
[card] [card]
name=Suspended Divine Congregation name=Suspended Divine Congregation
id=16655442
auto=moveto(exile) notatarget(Divine Congregation|myhand) auto=moveto(exile) notatarget(Divine Congregation|myhand)
auto=counter(0/0,5,Time) auto=counter(0/0,5,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1338,6 +1344,7 @@ mana={3}{G}{G}
[/card] [/card]
[card] [card]
name=Suspended Cyclical Evolution name=Suspended Cyclical Evolution
id=16655439
auto=moveto(exile) notatarget(Cyclical Evolution|myhand) auto=moveto(exile) notatarget(Cyclical Evolution|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1356,6 +1363,7 @@ mana={3}{R}{R}
[/card] [/card]
[card] [card]
name=Suspended Arc Blade name=Suspended Arc Blade
id=16655434
auto=moveto(exile) notatarget(Cyclical Evolution|myhand) auto=moveto(exile) notatarget(Cyclical Evolution|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1375,6 +1383,7 @@ mana={4}{W}{W}
[/card] [/card]
[card] [card]
name=Suspended Chronomantic Escape name=Suspended Chronomantic Escape
id=16655436
auto=moveto(exile) notatarget(Chronomantic Escape|myhand) auto=moveto(exile) notatarget(Chronomantic Escape|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1395,6 +1404,7 @@ mana={4}{G}{G}
[/card] [/card]
[card] [card]
name=Suspended Durkwood Baloth name=Suspended Durkwood Baloth
id=16655443
auto=moveto(exile) notatarget(Durkwood Baloth|myhand) auto=moveto(exile) notatarget(Durkwood Baloth|myhand)
auto=counter(0/0,5,Time) auto=counter(0/0,5,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1421,6 +1431,7 @@ mana={5}{W}
[/card] [/card]
[card] [card]
name=Suspended Duskrider Peregrine name=Suspended Duskrider Peregrine
id=16655444
auto=moveto(exile) notatarget(Duskrider Peregrine|myhand) auto=moveto(exile) notatarget(Duskrider Peregrine|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1447,6 +1458,7 @@ mana={6}{U}
[/card] [/card]
[card] [card]
name=Suspended Errant Ephemeron name=Suspended Errant Ephemeron
id=16655447
auto=moveto(exile) notatarget(Errant Ephemeron|myhand) auto=moveto(exile) notatarget(Errant Ephemeron|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1471,6 +1483,7 @@ mana={3}{B}{B}
[/card] [/card]
[card] [card]
name=Suspended Festering March name=Suspended Festering March
id=16655448
auto=moveto(exile) notatarget(Festering March|myhand) auto=moveto(exile) notatarget(Festering March|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1478,7 +1491,6 @@ auto=@each mydraw: this(counter{0/0.1.Time}<1) bury all(this)
autograveyard=@movedto(this|mygraveyard):token(126131) autograveyard=@movedto(this|mygraveyard):token(126131)
type=nothing type=nothing
[/card] [/card]
[card] [card]
name=Giant Dustwasp name=Giant Dustwasp
autohand={1}{G}:token(16655451) asSorcery autohand={1}{G}:token(16655451) asSorcery
@@ -1492,6 +1504,7 @@ mana={3}{G}{G}
[/card] [/card]
[card] [card]
name=Suspended Giant Dustwasp name=Suspended Giant Dustwasp
id=16655451
auto=moveto(exile) notatarget(Giant Dustwasp|myhand) auto=moveto(exile) notatarget(Giant Dustwasp|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1505,7 +1518,6 @@ auto=all(Giant Dustwasp|mybattlefield) haste && moveto(exile) all(this)
id=-6661 id=-6661
type=nothing type=nothing
[/card] [/card]
[card] [card]
name=Greater Gargadon name=Greater Gargadon
autohand={R}:token(16655452) asSorcery autohand={R}:token(16655452) asSorcery
@@ -1518,6 +1530,7 @@ mana={9}{R}
[/card] [/card]
[card] [card]
name=Suspended Greater Gargadon name=Suspended Greater Gargadon
id=16655452
auto=moveto(exile) notatarget(Greater Gargadon|myhand) auto=moveto(exile) notatarget(Greater Gargadon|myhand)
auto=counter(0/0,10,Time) auto=counter(0/0,10,Time)
auto={0}:bury target(creature,artifact,land|mybattlefield) && counter(0/0.-1.Time) all(this) && this(counter{0/0.1.Time}<1) bury all(this) auto={0}:bury target(creature,artifact,land|mybattlefield) && counter(0/0.-1.Time) all(this) && this(counter{0/0.1.Time}<1) bury all(this)
@@ -1541,6 +1554,7 @@ mana={99}{W}
[/card] [/card]
[card] [card]
name=Suspended Heroes Remembered name=Suspended Heroes Remembered
id=16655453
auto=moveto(exile) notatarget(Heroes Remembered|myhand) auto=moveto(exile) notatarget(Heroes Remembered|myhand)
auto=counter(0/0,10,Time) auto=counter(0/0,10,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1548,7 +1562,6 @@ auto=@each mydraw: this(counter{0/0.1.Time}<1) bury all(this)
autograveyard=@movedto(this|mygraveyard):Life:20 controller autograveyard=@movedto(this|mygraveyard):Life:20 controller
type=nothing type=nothing
[/card] [/card]
[card] [card]
name=Infiltrator il-Kor name=Infiltrator il-Kor
autohand={1}{U}:token(16655454) asSorcery autohand={1}{U}:token(16655454) asSorcery
@@ -1562,6 +1575,7 @@ mana={4}{U}
[/card] [/card]
[card] [card]
name=Suspended Infiltrator il-Kor name=Suspended Infiltrator il-Kor
id=16655454
auto=moveto(exile) notatarget(Infiltrator il-Kor|myhand) auto=moveto(exile) notatarget(Infiltrator il-Kor|myhand)
auto=counter(0/0,2,Time) auto=counter(0/0,2,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1575,7 +1589,6 @@ auto=all(Infiltrator il-Kor|mybattlefield) haste && moveto(exile) all(this)
id=-6610 id=-6610
type=nothing type=nothing
[/card] [/card]
[card] [card]
name=Ivory Giant name=Ivory Giant
autohand={W}:token(16655456) asSorcery autohand={W}:token(16655456) asSorcery
@@ -1589,6 +1602,7 @@ mana={5}{W}{W}
[/card] [/card]
[card] [card]
name=Suspended Ivory Giant name=Suspended Ivory Giant
id=16655456
auto=moveto(exile) notatarget(Ivory Giant|myhand) auto=moveto(exile) notatarget(Ivory Giant|myhand)
auto=counter(0/0,5,Time) auto=counter(0/0,5,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1616,6 +1630,7 @@ mana={4}{R}
[/card] [/card]
[card] [card]
name=Suspended Keldon Halberdier name=Suspended Keldon Halberdier
id=16655458
auto=moveto(exile) notatarget(Keldon Halberdier|myhand) auto=moveto(exile) notatarget(Keldon Halberdier|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1643,6 +1658,7 @@ mana={99}
[/card] [/card]
[card] [card]
name=Suspended Lotus Bloom name=Suspended Lotus Bloom
id=16655460
auto=moveto(exile) notatarget(Lotus Bloom|myhand) auto=moveto(exile) notatarget(Lotus Bloom|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1660,6 +1676,7 @@ mana={5}{B}
[/card] [/card]
[card] [card]
name=Suspended Mindstab name=Suspended Mindstab
id=16655461
auto=moveto(exile) notatarget(Mindstab|myhand) auto=moveto(exile) notatarget(Mindstab|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1680,6 +1697,7 @@ mana={2}{G}
[/card] [/card]
[card] [card]
name=Suspended Nantuko Shaman name=Suspended Nantuko Shaman
id=16655462
auto=moveto(exile) notatarget(Nantuko Shaman|myhand) auto=moveto(exile) notatarget(Nantuko Shaman|myhand)
auto=counter(0/0,1,Time) auto=counter(0/0,1,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1713,6 +1731,7 @@ mana={4}{B}{B}
[/card] [/card]
[card] [card]
name=Suspended Nihilith name=Suspended Nihilith
id=16655463
auto=moveto(exile) notatarget(Nihilith|myhand) auto=moveto(exile) notatarget(Nihilith|myhand)
auto=counter(0/0,7,Time) auto=counter(0/0,7,Time)
auto=@movedto(*|opponentgraveyard): counter(0/0.-1.Time) auto=@movedto(*|opponentgraveyard): counter(0/0.-1.Time)
@@ -1741,6 +1760,7 @@ mana={4}{R}{R}
[/card] [/card]
[card] [card]
name=Suspended Pardic Dragon name=Suspended Pardic Dragon
id=16655464
auto=moveto(exile) notatarget(Pardic Dragon|myhand) auto=moveto(exile) notatarget(Pardic Dragon|myhand)
auto=@movedto(*|opponentstack):counter(0/0.1.Time) auto=@movedto(*|opponentstack):counter(0/0.1.Time)
auto=counter(0/0,2,Time) auto=counter(0/0,2,Time)
@@ -1765,6 +1785,7 @@ mana={4}{R}
[/card] [/card]
[card] [card]
name=Suspended Plunder name=Suspended Plunder
id=16655466
auto=moveto(exile) notatarget(Plunder|myhand) auto=moveto(exile) notatarget(Plunder|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1783,6 +1804,7 @@ mana={4}{u}{u}
[/card] [/card]
[card] [card]
name=Suspended Reality Strobe name=Suspended Reality Strobe
id=16655467
auto=moveto(exile) notatarget(Reality Strobe|myhand) auto=moveto(exile) notatarget(Reality Strobe|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1800,6 +1822,7 @@ mana={2}{R}
[/card] [/card]
[card] [card]
name=Suspended Rift Bolt name=Suspended Rift Bolt
id=16655468
auto=moveto(exile) notatarget(Rift Bolt|myhand) auto=moveto(exile) notatarget(Rift Bolt|myhand)
auto=counter(0/0,1,Time) auto=counter(0/0,1,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1821,6 +1844,7 @@ mana={3}{U}{U}
[/card] [/card]
[card] [card]
name=Suspended Riftwing Cloudskate name=Suspended Riftwing Cloudskate
id=16655470
auto=moveto(exile) notatarget(Riftwing Cloudskate|myhand) auto=moveto(exile) notatarget(Riftwing Cloudskate|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1844,6 +1868,7 @@ mana={2}{G}
[/card] [/card]
[card] [card]
name=Suspended Search for Tomorrow name=Suspended Search for Tomorrow
id=16655471
auto=moveto(exile) notatarget(Search for Tomorrow|myhand) auto=moveto(exile) notatarget(Search for Tomorrow|myhand)
auto=counter(0/0,2,Time) auto=counter(0/0,2,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1864,6 +1889,7 @@ mana={3}{W}
[/card] [/card]
[card] [card]
name=Suspended Shade of Trokair name=Suspended Shade of Trokair
id=16655472
auto=moveto(exile) notatarget(Shade of Trokair|myhand) auto=moveto(exile) notatarget(Shade of Trokair|myhand)
auto=counter(0/0,3,Time) auto=counter(0/0,3,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1887,6 +1913,7 @@ mana={3}{R}{R}
[/card] [/card]
[card] [card]
name=Suspended Shivan Meteor name=Suspended Shivan Meteor
id=16655473
auto=moveto(exile) notatarget(Shivan Meteor|myhand) auto=moveto(exile) notatarget(Shivan Meteor|myhand)
auto=counter(0/0,2,Time) auto=counter(0/0,2,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1909,6 +1936,7 @@ mana={2}{R}{R}
[/card] [/card]
[card] [card]
name=Suspended Shivan Sand-Mage name=Suspended Shivan Sand-Mage
id=16655474
auto=moveto(exile) notatarget(Shivan Sand-Mage|myhand) auto=moveto(exile) notatarget(Shivan Sand-Mage|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1949,6 +1977,7 @@ mana={3}{U}
[/card] [/card]
[card] [card]
name=Suspended Veiling Oddity name=Suspended Veiling Oddity
id=16655476
auto=moveto(exile) notatarget(Veiling Oddity|myhand) auto=moveto(exile) notatarget(Veiling Oddity|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1976,6 +2005,7 @@ mana={4}{U}
[/card] [/card]
[card] [card]
name=Suspended Viscerid Deepwalker name=Suspended Viscerid Deepwalker
id=16655478
auto=moveto(exile) notatarget(Viscerid Deepwalker|myhand) auto=moveto(exile) notatarget(Viscerid Deepwalker|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -1999,6 +2029,7 @@ mana={99}{R}
[/card] [/card]
[card] [card]
name=Suspended Wheel of Fate name=Suspended Wheel of Fate
id=16655479
auto=moveto(exile) notatarget(Wheel of Fate|myhand) auto=moveto(exile) notatarget(Wheel of Fate|myhand)
auto=counter(0/0,4,Time) auto=counter(0/0,4,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -2019,6 +2050,7 @@ mana={3}{U}{U}
[/card] [/card]
[card] [card]
name=Suspended Aeon Chronicler name=Suspended Aeon Chronicler
id=16655432
auto=moveto(exile) notatarget(Aeon Chronicler|myhand) auto=moveto(exile) notatarget(Aeon Chronicler|myhand)
auto=foreach(Aeon counter|mybattlefield) counter(0/0,1,Time) && moveto(exile) all(aeon counter|mybattlefield) auto=foreach(Aeon counter|mybattlefield) counter(0/0,1,Time) && moveto(exile) all(aeon counter|mybattlefield)
auto=this(counter{0/0.-1.Time}) draw:1controller auto=this(counter{0/0.-1.Time}) draw:1controller
@@ -2048,6 +2080,7 @@ mana={99}
[/card] [/card]
[card] [card]
name=Suspended Ancestral Vision name=Suspended Ancestral Vision
id=16655433
auto=moveto(exile) notatarget(Ancestral Vision|myhand) auto=moveto(exile) notatarget(Ancestral Vision|myhand)
auto=counter(0/0,2,Time) auto=counter(0/0,2,Time)
auto=@each myupkeep:counter(0/0.-1.Time) auto=@each myupkeep:counter(0/0.-1.Time)
@@ -2068,6 +2101,7 @@ mana={3}{W}
[/card] [/card]
[card] [card]
name=Suspended Benalish Commander name=Suspended Benalish Commander
id=16655435
auto=moveto(exile) notatarget(Benalish Commander|myhand) auto=moveto(exile) notatarget(Benalish Commander|myhand)
auto=foreach(Benalish counter|mybattlefield) counter(0/0,1,Time) && moveto(exile) all(Benalish counter|mybattlefield) auto=foreach(Benalish counter|mybattlefield) counter(0/0,1,Time) && moveto(exile) all(Benalish counter|mybattlefield)
auto=@each myupkeep:counter(0/0.-1.Time) && token(Soldier,creature,1/1,white) auto=@each myupkeep:counter(0/0.-1.Time) && token(Soldier,creature,1/1,white)
@@ -2100,6 +2134,7 @@ mana={2}{R}{R}
[/card] [/card]
[card] [card]
name=Suspended Detritivore name=Suspended Detritivore
id=16655441
auto=moveto(exile) notatarget(Detritivore|myhand) auto=moveto(exile) notatarget(Detritivore|myhand)
auto=foreach(vore counter|mybattlefield) counter(0/0,1,Time) && moveto(exile) all(vore counter|mybattlefield) auto=foreach(vore counter|mybattlefield) counter(0/0,1,Time) && moveto(exile) all(vore counter|mybattlefield)
auto=@each myupkeep:counter(0/0.-1.Time) && token(-376383) auto=@each myupkeep:counter(0/0.-1.Time) && token(-376383)
@@ -6700,3 +6735,345 @@ power=2
toughness=4 toughness=4
mana={4}{r}{g}{w} mana={4}{r}{g}{w}
[/card] [/card]
[card]
name=Dimir Doppelganger
auto={1}{B}{U}:moveto(exile) target(creature|mygraveyard) && copy
text={B}{U}{1}: Exile target creature card from a graveyard. Dimir Doppelganger becomes a copy of that card and gains this ability.
type=creature
subtype=shapeshifter
power=0
toughness=0
mana={B}{U}{1}
[/card]
[card]
name=Cauldron of Souls
auto={t}:token(-12303)
auto=persist
text= {t}:Choose any number of target creatures. Each of those creatures gains persist until end of turn. (When it's put into a graveyard from play, if it had no -1/-1 counters on it, return it to play under its owner's control with a -1/-1 counter on it.)
type=Artifact
mana={5}
[/card]
[card]
name=Grant persistence
id=-12303
type=nothing
auto=target(creature) persist ueot
auto=@movedto(this|exile):may token(-12303)
auto=moveto(exile) all(this)
[/card]
[card]
name=Quicken
auto=target(sorcery|myhand) flash ueot
auto=draw:1 controller
text=The next sorcery card you cast this turn can be cast as though it had flash.Draw a card. (select the sorcery you plan to play)
type=instant
mana={u}
[/card]
[card]
name=Palinchron
auto=token(-12305)*7
auto={2}{U}{U}:moveto(myhand) all(this)
text= Flying
When Palinchron enters the battlefield, untap up to seven lands.{2}{U}{U}: Return Palinchron to its owner's hand.
type=creature
subtype=illusion
abilities=flying
power=4
toughness=5
mana={5}{u}{u}
[/card]
[card]
name=Untap effect
id=-12305
type=nothing
auto=@movedto(this|exile):token(-12306)
auto=moveto(exile) all(this)
[/card]
[card]
name=Untap Lands
id=-12306
type=nothing
auto=may untap target(land)
auto=moveto(exile) all(this)
[/card]
[card]
name=Pyrrhic Revival
auto=token(-12307)
text=Each player returns each creature card from his or her graveyard to the battlefield with an additional -1/-1 counter on it.
type=sorcery
mana={3}{wb}{wb}{wb}
[/card]
[card]
name=move creatures
id=-12307
type=nothing
auto=counter(0/0,1,nocounter) all(creature|battlefield)
auto=moveto(ownerbattlefield) all(creature|graveyard)
auto=@movedto(this|exile):token(-12308)
auto=moveto(exile) all(this)
[/card]
[card]
name=counter(-1/-1)
id=-12308
type=nothing
auto=counter(-1/-1,1) all(creature[-counter{0/0.1.nocounter})
auto=counter(0/0,-1,nocounter) all(creature|battlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Wrap in Vigor
auto=Regenerate all(creature|mybattlefield)
text= Regenerate each creature you control. Regenerate only works on lethel damage and "destroy" effects.
type=instant
mana={1}{g}
[/card]
[card]
name=Barren Glory
auto=@each myuntap: aslongas(*|myhand) counter(0/0.1.win) <1
auto=@each myupkeep: aslongas(enchantment,creature,land,artifact|mybattlefield) counter(0/0.1.win) <2 && this(counter{0/0.2.win}) wingame
auto=@each mydraw:counter(0/0,-2,win)
text= At the beginning of your upkeep, if you control no permanents other than Barren Glory and have no cards in hand, you win the game.
type=enchantment
mana={4}{w}{w}
[/card]
[card]
name=Emeria, the Sky Ruin
auto=tap
auto=@each myupkeep:aslongas(plains|mybattlefield) counter(0/0,1,fetch) >6 myupkeeponly
auto={c(0/0.-1.fetch)}:moveto(mybattlefield) target(creature|mygraveyard) limit:1
auto=@each mydraw:counter(0/0,-10,fetch)
auto={t}:add{w}
text=Emeria, the Sky Ruin enters the battlefield tapped.
At the beginning of your upkeep, if you control seven or more Plains, you may return target creature card from your graveyard to the battlefield.
type=land
mana={0}
[/card]
[card]
name=Shirei, Shizo's Caretaker
auto=@movedto(creature[power=1]|mygraveyard) from(battlefield):all(trigger[to]) counter(0/0,1,Caretaker)
auto=@movedto(creature[power=0]|mygraveyard) from(battlefield):all(trigger[to]) counter(0/0,1,Caretaker)
auto=@each myendofturn:moveto(mybattlefield) all(creature[counter{0/0.1.Caretaker}]|graveyard)
auto=@movedto(this|graveyard):counter(0/0,-10,Caretaker) all(creature[counter{0/0.1.Caretaker}]|graveyard)
auto=@movedto(this|exile):counter(0/0,-10,Caretaker) all(creature[counter{0/0.1.Caretaker}]|graveyard)
text=Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield under your control at the beginning of the next end step if Shirei, Shizo's Caretaker is still on the battlefield.
type=legendary creature
subtype=spirit
power=2
toughness=2
mana={4}{b}
[/card]
[card]
name=Turnabout
auto=may token(-12319)
auto=may token(-12320)
auto=may token(-12321)
auto=may token(-12322)
text=Choose artifact, creature, or land. Tap all untapped permanents of the chosen type target player controls, or untap all tapped permanents of that type that player controls.
type=instant
mana={2}{u}{u}
[/card]
[card]
name=You Untap
id=-12322
type=nothing
auto=may token(-12311)
auto=may token(-12312)
auto=may token(-12313)
auto=moveto(exile) all(this)
[/card]
[card]
name=Opponent Untap
id=-12320
type=nothing
auto=may token(-12314)
auto=may token(-12315)
auto=may token(-12316)
auto=moveto(exile) all(this)
[/card]
[card]
name=You Tap
id=-12321
type=nothing
auto=may token(-12323)
auto=may token(-12324)
auto=may token(-12325)
auto=moveto(exile) all(this)
[/card]
[card]
name=Opponent Tap
id=-12319
type=nothing
auto=may token(-12326)
auto=may token(-12327)
auto=may token(-12328)
auto=moveto(exile) all(this)
[/card]
[card]
name=Artifacts
id=-12311
type=nothing
auto=untap all(artifact|mybattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Creatures
id=-12312
type=nothing
auto=untap all(creature|mybattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Lands
id=-12313
type=nothing
auto=untap all(land|mybattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Artifacts
id=-12314
type=nothing
auto=untap all(artifact|opponentbattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Creatures
id=-12315
type=nothing
auto=untap all(creature|opponentbattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Lands
id=-12316
type=nothing
auto=untap all(land|opponentbattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Artifacts
id=-12323
type=nothing
auto=tap all(artifact|mybattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Creatures
id=-12324
type=nothing
auto=tap all(creature|mybattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Lands
id=-12325
type=nothing
auto=tap all(land|mybattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Artifacts
id=-12326
type=nothing
auto=tap all(artifact|opponentbattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Creatures
id=-12327
type=nothing
auto=tap all(creature|opponentbattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Lands
id=-12328
type=nothing
auto=tap all(land|opponentbattlefield)
auto=moveto(exile) all(this)
[/card]
[card]
name=Verdeloth the Ancient
auto=thisforeach(X) token(16655493)
auto=lord(saproling|battlefield) 1/1
auto=lord(other treefolk|battlefield) 1/1
text=Kicker {x} (You may pay an additional {x} as you cast this spell.) Saproling creatures and other Treefolk creatures get +1/+1.When Verdeloth the Ancient enters the battlefield, if it was kicked, put X 1/1 green Saproling creature tokens onto the battlefield.
type=legendary creature
subtype=treefolk
power=4
toughness=7
mana={4}{g}{g}{x}
[/card]
[card]
name=Tooth and Nail
auto=kicker may token(-12275)
auto=may token(-12273)
auto=may token(-12274)
text=Choose one — Search your library for up to two creature cards, reveal them, put them into your hand, then shuffle your library; or put up to two creature cards from your hand onto the battlefield. Entwine {2} (Choose both if you pay the entwine cost.)
type=Sorcery
kicker={2}
mana={5}{g}{g}
[/card]
[card]
name=Move to my Hand
auto=may moveto(myhand) target(creature|mylibrary)
auto=@movedto(this|exile):may moveto(myhand) target(creature|mylibrary)
auto=moveto(exile) all(this)
id=-12273
type=token
[/card]
[card]
name=Move to my Battlefield
auto=may moveto(mybattlefield) target(creature|myhand)
auto=@movedto(this|exile):may moveto(mybattlefield) target(creature|myhand)
auto=moveto(exile) all(this)
id=-12274
type=token
[/card]
[card]
name=Entwine
auto=moveto(myhand) target(creature|mylibrary)
auto=@movedto(this|exile):token(-12276)
auto=moveto(exile) all(this)
id=-12275
type=token
[/card]
[card]
name=Tooth
auto=may moveto(myhand) target(creature|mylibrary)
auto=@movedto(this|exile):token(-12277)
auto=moveto(exile) all(this)
id=-12276
type=token
[/card]
[card]
name=And
auto=may moveto(mybattlefield) target(creature|myhand) && token(-12278)
auto=moveto(exile) all(this)
id=-12277
type=token
[/card]
[card]
name=Nail
auto=may moveto(mybattlefield) target(creature|myhand)
auto=moveto(exile) all(this)
id=-12278
type=token
[/card]
[card]
name=Rupture Spire
auto=tap
auto={T}:Add{G}
auto={T}:Add{R}
auto={T}:Add{U}
auto={T}:Add{B}
auto={T}:Add{W}
auto=counter(0/0,1,Spire)
auto={1}:counter(0/0,-1,Spire)
auto=bury target(land[counter{0/0.1.spire}]|mybattlefield)
text=Rupture Spire enters the battlefield tapped.
When Rupture Spire enters the battlefield, sacrifice it unless you pay {1}.have the {1} mana ready in your mana pool as you play this card.{T}: Add one mana of any color to your mana pool.
type=land
mana={0}
[/card]
+87 -50
View File
@@ -475,6 +475,59 @@ class AACopier:public ActivatedAbility{
} }
}; };
class AAMover:public ActivatedAbility{
public:
string destination;
AAMover(int _id, MTGCardInstance * _source, MTGCardInstance * _target, string dest, ManaCost * _cost=NULL, int doTap=0):ActivatedAbility(_id,_source,_cost,0,doTap),destination(dest){
if (_target) target = _target;
}
MTGGameZone * destinationZone(){
MTGCardInstance * _target = (MTGCardInstance *) target;
return MTGGameZone::stringToZone(destination, source,_target);
}
int resolve(){
MTGCardInstance * _target = (MTGCardInstance *) target;
if(target){
Player* p = _target->controller();
if (p){
GameObserver * g = GameObserver::GetInstance();
MTGGameZone * fromZone = _target->getCurrentZone();
MTGGameZone * destZone = destinationZone();
//inplay is a special zone !
for (int i=0; i < 2; i++){
if (destZone == g->players[i]->game->inPlay && fromZone != g->players[i]->game->inPlay && fromZone != g->players[i]->opponent()->game->inPlay){
MTGCardInstance * copy = g->players[i]->game->putInZone(_target, fromZone, g->players[i]->game->temp);
Spell * spell = NEW Spell(copy);
spell->resolve();
delete spell;
return 1;
}
}
p->game->putInZone(_target,fromZone,destZone);
return 1;
}
}
return 0;
}
const char * getMenuText(){
string result = "Move to ";
result.append(destination);
return (result.c_str());
}
AAMover * clone() const{
AAMover * a = NEW AAMover(*this);
a->isClone = 1;
return a;
}
};
/* Generic TargetAbility */ /* Generic TargetAbility */
class GenericTargetAbility:public TargetAbility{ class GenericTargetAbility:public TargetAbility{
@@ -490,6 +543,40 @@ public:
counters = 0; counters = 0;
} }
const char * getMenuText(){
if (!ability) return "Error";
MTGAbility * core = AbilityFactory::getCoreAbility(ability);
if (AAMover * move = dynamic_cast<AAMover *>(core)) {
MTGGameZone * dest = move->destinationZone();
GameObserver * g = GameObserver::GetInstance();
for (int i=0; i < 2; i++){
if (dest == g->players[i]->game->hand && tc->targetsZone(g->players[i]->game->inPlay)){
return "Bounce";
}else if (dest == g->players[i]->game->hand && tc->targetsZone(g->players[i]->game->graveyard)){
return "Reclaim";
}else if (dest == g->players[i]->game->graveyard && tc->targetsZone(g->players[i]->game->inPlay)){
return "Sacrifice";
}else if (dest == g->players[i]->game->library && tc->targetsZone(g->players[i]->game->graveyard)){
return "Recycle";
}else if (dest == g->players[i]->game->library){
return "Put in Library";
}else if (dest == g->players[i]->game->graveyard && tc->targetsZone(g->players[i]->game->hand)){
return "Discard";
}else if (dest == g->players[i]->game->exile){
return "Exile";
}else if (tc->targetsZone(g->players[i]->game->library)){
return "Fetch";
}
}
}
return ability->getMenuText();
}
~GenericTargetAbility(){ ~GenericTargetAbility(){
SAFE_DELETE(ability); SAFE_DELETE(ability);
} }
@@ -775,56 +862,6 @@ public:
}; };
class AAMover:public ActivatedAbility{
public:
string destination;
AAMover(int _id, MTGCardInstance * _source, MTGCardInstance * _target, string dest, ManaCost * _cost=NULL, int doTap=0):ActivatedAbility(_id,_source,_cost,0,doTap),destination(dest){
if (_target) target = _target;
}
MTGGameZone * destinationZone(){
MTGCardInstance * _target = (MTGCardInstance *) target;
return MTGGameZone::stringToZone(destination, source,_target);
}
int resolve(){
MTGCardInstance * _target = (MTGCardInstance *) target;
if(target){
Player* p = _target->controller();
if (p){
GameObserver * g = GameObserver::GetInstance();
MTGGameZone * fromZone = _target->getCurrentZone();
MTGGameZone * destZone = destinationZone();
//inplay is a special zone !
for (int i=0; i < 2; i++){
if (destZone == g->players[i]->game->inPlay && fromZone != g->players[i]->game->inPlay && fromZone != g->players[i]->opponent()->game->inPlay){
MTGCardInstance * copy = g->players[i]->game->putInZone(_target, fromZone, g->players[i]->game->temp);
Spell * spell = NEW Spell(copy);
spell->resolve();
delete spell;
return 1;
}
}
p->game->putInZone(_target,fromZone,destZone);
return 1;
}
}
return 0;
}
const char * getMenuText(){
return "Move";
}
AAMover * clone() const{
AAMover * a = NEW AAMover(*this);
a->isClone = 1;
return a;
}
};
class AADestroyer:public ActivatedAbility{ class AADestroyer:public ActivatedAbility{
public: public:
+48 -14
View File
@@ -80,9 +80,7 @@ void GameStateDuel::Start()
mGamePhase = DUEL_STATE_CHOOSE_DECK1; mGamePhase = DUEL_STATE_CHOOSE_DECK1;
credits = NEW Credits(); credits = NEW Credits();
menu = NEW SimpleMenu(DUEL_MENU_GAME_MENU, this, Constants::MENU_FONT, SCREEN_WIDTH/2-100, 25); menu = NULL;
menu->Add(12,"Back to main menu");
menu->Add(13, "Cancel");
int decksneeded = 0; int decksneeded = 0;
@@ -340,16 +338,37 @@ void GameStateDuel::Update(float dt)
Start(); Start();
} }
} }
if (mEngine->GetButtonClick(JGE_BTN_MENU)) if (mEngine->GetButtonClick(JGE_BTN_MENU)) {
if (!menu) {
menu = NEW SimpleMenu(DUEL_MENU_GAME_MENU, this, Constants::MENU_FONT, SCREEN_WIDTH/2-100, 25);
int cardsinhand = game->players[0]->game->hand->nb_cards;
//almosthumane - mulligan
if ((game->turn < 1) && (cardsinhand != 0)
&& game->currentGamePhase == Constants::MTG_PHASE_FIRSTMAIN
&& game->players[0]->game->inPlay->nb_cards == 0
&& game->players[0]->game->graveyard->nb_cards == 0
&& game->players[0]->game->exile->nb_cards == 0) //1st Play Check
//IF there was no play at the moment automatically mulligan
{
menu->Add(14,"Mulligan");
}
//END almosthumane - mulligan
menu->Add(12,"Back to main menu");
menu->Add(13, "Cancel");
}
mGamePhase = DUEL_STATE_MENU; mGamePhase = DUEL_STATE_MENU;
}
break; break;
case DUEL_STATE_MENU: case DUEL_STATE_MENU:
menu->Update(dt); menu->Update(dt);
break; break;
case DUEL_STATE_CANCEL: case DUEL_STATE_CANCEL:
menu->Update(dt); menu->Update(dt);
if (menu->closed) if (menu->closed) {
mGamePhase = DUEL_STATE_PLAY; mGamePhase = DUEL_STATE_PLAY;
SAFE_DELETE(menu);
}
break; break;
case DUEL_STATE_BACK_TO_MAIN_MENU: case DUEL_STATE_BACK_TO_MAIN_MENU:
if(menu){ if(menu){
@@ -450,8 +469,7 @@ void GameStateDuel::Render()
} }
} }
void GameStateDuel::ButtonPressed(int controllerId, int controlId) void GameStateDuel::ButtonPressed(int controllerId, int controlId) {
{
switch (controllerId){ switch (controllerId){
case DUEL_MENU_CHOOSE_OPPONENT: case DUEL_MENU_CHOOSE_OPPONENT:
{ {
@@ -463,11 +481,10 @@ void GameStateDuel::ButtonPressed(int controllerId, int controlId)
break; break;
default: default:
loadPlayer(1,controlId,1); loadPlayer(1,controlId,1);
OpponentsDeckid=controlId; OpponentsDeckid=controlId;
opponentMenu->Close(); opponentMenu->Close();
mGamePhase = DUEL_STATE_CHOOSE_DECK2_TO_PLAY; mGamePhase = DUEL_STATE_CHOOSE_DECK2_TO_PLAY;
break; break;
} }
break; break;
} }
@@ -494,14 +511,31 @@ void GameStateDuel::ButtonPressed(int controllerId, int controlId)
{ {
case 12: case 12:
menu->Close(); menu->Close();
mGamePhase = DUEL_STATE_BACK_TO_MAIN_MENU; mGamePhase = DUEL_STATE_BACK_TO_MAIN_MENU;
break; break;
case 13: case 13:
menu->Close(); menu->Close();
mGamePhase = DUEL_STATE_CANCEL; mGamePhase = DUEL_STATE_CANCEL;
break; break;
} case 14:
//almosthumane - mulligan
{
int cardsinhand = game->players[0]->game->hand->nb_cards;
for (int i = 0 ; i < cardsinhand; i ++) //Discard hand
game->currentPlayer->game->putInZone(game->currentPlayer->game->hand->cards[0],game->currentPlayer->game->hand ,game->currentPlayer->game->library);
game->currentPlayer->game->library->shuffle(); //Shuffle
for (int i = 0; i < (cardsinhand-1); i ++) game->draw(); //Draw hand with 1 less card penalty //almhum
menu->Close();
mGamePhase = DUEL_STATE_CANCEL;
break;
}
//END almosthumane - mulligan
} }
}
} }
} }