fix for recover cards, preliminary support for madness
This commit is contained in:
@@ -1,5 +1,16 @@
|
||||
grade=borderline
|
||||
[card]
|
||||
name=Arrogant Wurm
|
||||
abilities=trample,madness
|
||||
autoexile=restriction{discarded} pay({2}{G}) name(pay 2G to cast) activate name(pay 2G to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
text=Trample -- Madness {2}{G} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={3}{G}{G}
|
||||
type=Creature
|
||||
subtype=Wurm
|
||||
power=4
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Autumn Willow
|
||||
abilities=opponentshroud,shroud
|
||||
auto={G}:-shroud
|
||||
@@ -24,6 +35,40 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Basking Rootwalla
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({0}) name(pay 0 to cast) activate name(pay 0 to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
auto={1}{G}:2/2 limit:1
|
||||
text={1}{G}: Basking Rootwalla gets +2/+2 until end of turn. Activate this ability only once each turn. -- Madness {0} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={G}
|
||||
type=Creature
|
||||
subtype=Lizard
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Big Game Hunter
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({B}) name(pay B to cast) activate name(pay B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
auto=bury target(creature[power>=4])
|
||||
text=When Big Game Hunter enters the battlefield, destroy target creature with power 4 or greater. It can't be regenerated. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{B}{B}
|
||||
type=Creature
|
||||
subtype=Human Rebel Assassin
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Call to the Netherworld
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({0}) name(pay 0 to cast) activate name(pay 0 to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
target=creature[black]|myGraveyard
|
||||
auto=moveTo(myHand)
|
||||
text=Return target black creature card from your graveyard to your hand. -- Madness {0} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Cinder Seer
|
||||
auto={2}{r}{t}:target(creature,Player) damage:type:*[red]:myhand
|
||||
text={2}{R}, {T}: Reveal any number of red cards in your hand. Cinder Seer deals X damage to target creature or player, where X is the number of cards revealed this way.
|
||||
@@ -44,6 +89,16 @@ mana={1}{B}{G}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Dark Withering
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({B}) name(pay B to cast) activate name(pay B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
target=creature[-black]
|
||||
auto=destroy
|
||||
text=Destroy target nonblack creature. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={4}{B}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Feral Hydra
|
||||
type=Creature
|
||||
subtype=Hydra Beast
|
||||
@@ -56,6 +111,26 @@ auto={3}:counter(1/1)
|
||||
#Not all player can use ability
|
||||
[/card]
|
||||
[card]
|
||||
name=Fiery Temper
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({R}) name(pay R to cast) activate name(pay R to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
target=creature,player
|
||||
auto=damage:3
|
||||
text=Fiery Temper deals 3 damage to target creature or player. -- Madness {R} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{R}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Frantic Purification
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({W}) name(pay W to cast) activate name(pay W to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
target=enchantment
|
||||
auto=destroy
|
||||
text=Destroy target enchantment. -- Madness {W} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={2}{W}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Ghastly Remains
|
||||
auto=foreach(zombie|myhand) counter(1/1,1)
|
||||
autograveyard={B}{B}{B}:moveTo(myhand) myUpkeepOnly
|
||||
@@ -77,6 +152,18 @@ power=4
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Gorgon Recluse
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({B}{B}) name(pay BB to cast) activate name(pay BB to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
auto=@combat(blocked,blocking) source(this) from(creature):all(trigger[from]) phaseaction[combatends once] destroy
|
||||
text=Whenever Gorgon Recluse blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat. -- Madness {B}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={3}{B}{B}
|
||||
type=Creature
|
||||
subtype=Gorgon
|
||||
power=2
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Govern the Guildless
|
||||
target=creature[-multicolor]
|
||||
auto=moveto(mybattlefield)
|
||||
@@ -86,6 +173,17 @@ mana={5}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Ichor Slick
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({3}{B}) name(pay 3B to cast) activate name(pay 3B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
target=creature
|
||||
auto=-3/-3
|
||||
autohand=__CYCLING__({2})
|
||||
text=Target creature gets -3/-3 until end of turn. -- Cycling {2} ({2}, Discard this card: Draw a card.) -- Madness {3}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={2}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Ivy Seer
|
||||
auto={2}{G}{T}:foreach(*[green]|myhand) 1/1 target(creature)
|
||||
text={2}{G}, {T}: Reveal any number of green cards in your hand. Target creature gets +X/+X until end of turn, where X is the number of cards revealed this way.
|
||||
@@ -149,6 +247,15 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Obsessive Search
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({U}) name(pay U to cast) activate name(pay U to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
auto=draw:1 controller
|
||||
text=Draw a card. -- Madness {U} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={U}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Ogre Marauder
|
||||
text=Whenever Ogre Marauder attacks, it gains "Ogre Marauder can't be blocked" until end of turn unless defending player sacrifices a creature.
|
||||
auto=@combat(attacking) source(this):ability$!name(choose one) if type(creature|mybattlefield)~morethan~0 then choice sacrifice notatarget(creature|mybattlefield) _ choice all(mystored) unblockable ueot!$ opponent
|
||||
@@ -159,6 +266,15 @@ power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychotic Haze
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({1}{B}) name(pay 1B to cast) activate name(pay 1B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
auto=damage:1 all(creature,player)
|
||||
text=Psychotic Haze deals 1 damage to each creature and each player. -- Madness {1}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={2}{B}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Rakdos Augermage
|
||||
abilities=first strike
|
||||
auto={T}:name(target opponent) target(opponent) donothing && all(this) transforms((,newability[ability$!name(discard) reject notatarget(*|opponenthand)!$ targetedplayer && ability$!name(discard) reject notatarget(*|opponenthand)!$ controller])) assorcery
|
||||
@@ -178,6 +294,17 @@ mana={X}{X}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Reckless Wurm
|
||||
abilities=trample,madness
|
||||
autoexile=restriction{discarded} pay({2}{R}) name(pay 2R to cast) activate name(pay 2R to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
text=Trample -- Madness {2}{R} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={3}{R}{R}
|
||||
type=Creature
|
||||
subtype=Wurm
|
||||
power=4
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Sacellum Godspeaker
|
||||
auto={T}:foreach(creaure[power>4]|myhand) add{G}
|
||||
text={T}: Reveal any number of creature cards with power 5 or greater from your hand. Add {G} to your mana pool for each card revealed this way.
|
||||
@@ -236,6 +363,30 @@ mana={G}{W}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Strength of Isolation
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({W}) name(pay W to cast) activate name(pay W to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
target=creature
|
||||
auto=1/2
|
||||
auto=protection from black
|
||||
text=Enchant creature -- Enchanted creature gets +1/+2 and has protection from black. -- Madness {W} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{W}
|
||||
type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Strength of Lunacy
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({B}) name(pay B to cast) activate name(pay B to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
target=creature
|
||||
auto=2/1
|
||||
auto=protection from white
|
||||
text=Enchant creature -- Enchanted creature gets +2/+1 and has protection from white. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{B}
|
||||
type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Zombie Brute
|
||||
abilities=trample
|
||||
auto=foreach(zombie|myhand) counter(1/1,1)
|
||||
|
||||
@@ -22294,6 +22294,7 @@ text=At the beginning of your upkeep, you lose 1 life. -- At the beginning of yo
|
||||
mana={2}{B}{B}{B}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
#tappedformana stack...
|
||||
[card]
|
||||
name=Dawn's Reflection
|
||||
target=land
|
||||
@@ -33438,6 +33439,7 @@ subtype=Beast
|
||||
power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
#tappedformana stack...
|
||||
[card]
|
||||
name=Fertile Ground
|
||||
target=land
|
||||
@@ -37927,13 +37929,16 @@ type=Artifact
|
||||
[card]
|
||||
name=Gemstone Mine
|
||||
auto=counter(0/0,3,Mining)
|
||||
auto={T}{C(0/0,-1,Mining)}:Add{W}
|
||||
auto={T}{C(0/0,-1,Mining)}:Add{U}
|
||||
auto={T}{C(0/0,-1,Mining)}:Add{B}
|
||||
auto={T}{C(0/0,-1,Mining)}:Add{R}
|
||||
auto={T}{C(0/0,-1,Mining)}:Add{G}
|
||||
auto=@tapped(this):bury all(gemstone mine[-counter{0/0.1.Mining}])
|
||||
auto=this(counter{0/0.1.Mining}<1) {0}:sacrifice all(this)
|
||||
auto=this(counter{0/0,1,Mining}>1) {T}{C(0/0,-1,Mining)}:Add{G}
|
||||
auto=this(counter{0/0,1,Mining}>1) {T}{C(0/0,-1,Mining)}:Add{R}
|
||||
auto=this(counter{0/0,1,Mining}>1) {T}{C(0/0,-1,Mining)}:Add{U}
|
||||
auto=this(counter{0/0,1,Mining}>1) {T}{C(0/0,-1,Mining)}:Add{B}
|
||||
auto=this(counter{0/0,1,Mining}>1) {T}{C(0/0,-1,Mining)}:Add{W}
|
||||
auto=this(counter{0/0,1,Mining}=1) {T}{C(0/0,-1,Mining)}:Add{G} && sacrifice
|
||||
auto=this(counter{0/0,1,Mining}=1) {T}{C(0/0,-1,Mining)}:Add{R} && sacrifice
|
||||
auto=this(counter{0/0,1,Mining}=1) {T}{C(0/0,-1,Mining)}:Add{U} && sacrifice
|
||||
auto=this(counter{0/0,1,Mining}=1) {T}{C(0/0,-1,Mining)}:Add{B} && sacrifice
|
||||
auto=this(counter{0/0,1,Mining}=1) {T}{C(0/0,-1,Mining)}:Add{W} && sacrifice
|
||||
text=Gemstone Mine enters the battlefield with three mining counters on it. -- {T}, Remove a mining counter from Gemstone Mine: Add one mana of any color to your mana pool. If there are no mining counters on Gemstone Mine, sacrifice it.
|
||||
type=Land
|
||||
[/card]
|
||||
@@ -45571,9 +45576,8 @@ toughness=2
|
||||
name=Hickory Woodlot
|
||||
auto=tap
|
||||
auto=counter(0/0,2,Depletion)
|
||||
auto={T}{C(0/0,-1,Depletion)}:Add{G}{G}
|
||||
auto=@tapped(this):bury all(hickory woodlot[-counter{0/0.1.Depletion}])
|
||||
auto=this(counter{0/0.1.Depletion}<1) {0}:sacrifice all(this)
|
||||
auto=this(counter{0/0,1,Depletion}>1) {T}{C(0/0,-1,Depletion)}:Add{G}{G}
|
||||
auto=this(counter{0/0,1,Depletion}=1) {T}{C(0/0,-1,Depletion)}:Add{G}{G} && sacrifice
|
||||
text=Hickory Woodlot enters the battlefield tapped with two depletion counters on it. -- {T}, Remove a depletion counter from Hickory Woodlot: Add {G}{G} to your mana pool. If there are no depletion counters on Hickory Woodlot, sacrifice it.
|
||||
type=Land
|
||||
[/card]
|
||||
@@ -59969,6 +59973,7 @@ subtype=Insect
|
||||
power=2
|
||||
toughness=3
|
||||
[/card]
|
||||
#tappedformana stack...
|
||||
[card]
|
||||
name=Market Festival
|
||||
target=land
|
||||
@@ -71418,9 +71423,8 @@ toughness=2
|
||||
name=Peat Bog
|
||||
auto=tap
|
||||
auto=counter(0/0,2,Depletion)
|
||||
auto={T}{C(0/0,-1,Depletion)}:Add{B}{B}
|
||||
auto=@tapped(this):bury all(peat bog[-counter{0/0.1.Depletion}]|myBattlefield)
|
||||
auto=this(counter{0/0.1.Depletion}<1) {0}:sacrifice all(this)
|
||||
auto=this(counter{0/0,1,Depletion}>1) {T}{C(0/0,-1,Depletion)}:Add{B}{B}
|
||||
auto=this(counter{0/0,1,Depletion}=1) {T}{C(0/0,-1,Depletion)}:Add{B}{B} && sacrifice
|
||||
text=Peat Bog enters the battlefield tapped with two depletion counters on it. -- {T}, Remove a depletion counter from Peat Bog: Add {B}{B} to your mana pool. If there are no depletion counters on Peat Bog, sacrifice it.
|
||||
type=Land
|
||||
[/card]
|
||||
@@ -78998,9 +79002,8 @@ type=Sorcery
|
||||
name=Remote Farm
|
||||
auto=tap
|
||||
auto=counter(0/0,2,Depletion)
|
||||
auto={T}{C(0/0,-1,Depletion)}:Add{W}{W}
|
||||
auto=@tapped(this):bury all(remote farm[-counter{0/0.1.Depletion}]|myBattlefield)
|
||||
auto=this(counter{0/0.1.Depletion}<1) {0}:sacrifice all(this)
|
||||
auto=this(counter{0/0,1,Depletion}>1) {T}{C(0/0,-1,Depletion)}:Add{W}{W}
|
||||
auto=this(counter{0/0,1,Depletion}=1) {T}{C(0/0,-1,Depletion)}:Add{W}{W} && sacrifice
|
||||
text=Remote Farm enters the battlefield tapped with two depletion counters on it. -- {T}, Remove a depletion counter from Remote Farm: Add {W}{W} to your mana pool. If there are no depletion counters on Remote Farm, sacrifice it.
|
||||
type=Land
|
||||
[/card]
|
||||
@@ -83233,9 +83236,8 @@ type=Artifact
|
||||
name=Sandstone Needle
|
||||
auto=tap
|
||||
auto=counter(0/0,2,Depletion)
|
||||
auto={T}{C(0/0,-1,Depletion)}:Add{R}{R}
|
||||
auto=@tapped(this):bury all(sandstone needle[-counter{0/0.1.Depletion}]|myBattlefield)
|
||||
auto=this(counter{0/0.1.Depletion}<1) {0}:sacrifice all(this)
|
||||
auto=this(counter{0/0,1,Depletion}>1) {T}{C(0/0,-1,Depletion)}:Add{R}{R}
|
||||
auto=this(counter{0/0,1,Depletion}=1) {T}{C(0/0,-1,Depletion)}:Add{R}{R} && sacrifice
|
||||
text=Sandstone Needle enters the battlefield tapped with two depletion counters on it. -- {T}, Remove a depletion counter from Sandstone Needle: Add {R}{R} to your mana pool. If there are no depletion counters on Sandstone Needle, sacrifice it.
|
||||
type=Land
|
||||
[/card]
|
||||
@@ -83471,9 +83473,8 @@ toughness=2
|
||||
name=Saprazzan Skerry
|
||||
auto=tap
|
||||
auto=counter(0/0,2,Depletion)
|
||||
auto={T}{C(0/0,-1,Depletion)}:Add{U}{U}
|
||||
auto=@tapped(this):bury all(saprazzan skerry[-counter{0/0.1.Depletion}]|myBattlefield)
|
||||
auto=this(counter{0/0.1.Depletion}<1) {0}:sacrifice all(this)
|
||||
auto=this(counter{0/0,1,Depletion}>1) {T}{C(0/0,-1,Depletion)}:Add{U}{U}
|
||||
auto=this(counter{0/0,1,Depletion}=1) {T}{C(0/0,-1,Depletion)}:Add{U}{U} && sacrifice
|
||||
text=Saprazzan Skerry enters the battlefield tapped with two depletion counters on it. -- {T}, Remove a depletion counter from Saprazzan Skerry: Add {U}{U} to your mana pool. If there are no depletion counters on Saprazzan Skerry, sacrifice it.
|
||||
type=Land
|
||||
[/card]
|
||||
@@ -103853,6 +103854,7 @@ subtype=Spellshaper
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
#tappedformana stack...
|
||||
[card]
|
||||
name=Trace of Abundance
|
||||
target=land
|
||||
@@ -108211,6 +108213,7 @@ subtype=Elemental
|
||||
power=7
|
||||
toughness=7
|
||||
[/card]
|
||||
#tappedformana stack...
|
||||
[card]
|
||||
name=Verdant Haven
|
||||
target=land
|
||||
|
||||
@@ -470,15 +470,6 @@ type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Arrogant Wurm
|
||||
text=Trample -- Madness {2}{G} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={3}{G}{G}
|
||||
type=Creature
|
||||
subtype=Wurm
|
||||
power=4
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Arrow Volley Trap
|
||||
text=If four or more creatures are attacking, you may pay {1}{W} rather than pay Arrow Volley Trap's mana cost. -- Arrow Volley Trap deals 5 damage divided as you choose among any number of target attacking creatures.
|
||||
mana={3}{W}{W}
|
||||
@@ -993,15 +984,6 @@ toughness=4
|
||||
text=Flying -- Players can't cast spells during combat. {R}: Target creature attacks this turn if able.
|
||||
[/card]
|
||||
[card]
|
||||
name=Basking Rootwalla
|
||||
text={1}{G}: Basking Rootwalla gets +2/+2 until end of turn. Activate this ability only once each turn. -- Madness {0} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={G}
|
||||
type=Creature
|
||||
subtype=Lizard
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Baton of Morale
|
||||
text={2}: Target creature gains banding until end of turn. (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding a player controls are blocking or being blocked by a creature, that player divides that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)
|
||||
mana={2}
|
||||
@@ -1162,15 +1144,6 @@ mana={5}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Big Game Hunter
|
||||
text=When Big Game Hunter enters the battlefield, destroy target creature with power 4 or greater. It can't be regenerated. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{B}{B}
|
||||
type=Creature
|
||||
subtype=Human Rebel Assassin
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Bind
|
||||
text=Counter target activated ability. (Mana abilities can't be targeted.) -- Draw a card.
|
||||
mana={1}{G}
|
||||
@@ -1875,12 +1848,6 @@ mana={1}{W}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Call to the Netherworld
|
||||
text=Return target black creature card from your graveyard to your hand. -- Madness {0} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Callous Deceiver
|
||||
text={1}: Look at the top card of your library. -- {2}: Reveal the top card of your library. If it's a land card, Callous Deceiver gets +1/+0 and gains flying until end of turn. Activate this ability only once each turn.
|
||||
mana={2}{U}
|
||||
@@ -3422,12 +3389,6 @@ mana={2}{B}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Dark Withering
|
||||
text=Destroy target nonblack creature. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={4}{B}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Darkpact
|
||||
text=Remove Darkpact from your deck before playing if you're not playing for ante. -- You own target card in the ante. Exchange that card with the top card of your library.
|
||||
mana={B}{B}{B}
|
||||
@@ -5116,12 +5077,6 @@ mana={R}{G}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Fiery Temper
|
||||
text=Fiery Temper deals 3 damage to target creature or player. -- Madness {R} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{R}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Fight or Flight
|
||||
text=At the beginning of each opponent's combat phase, separate all creatures that player controls into two piles. Only creatures in the pile of his or her choice can attack this turn.
|
||||
mana={3}{W}
|
||||
@@ -5555,12 +5510,6 @@ toughness=3
|
||||
text=At the beginning of your upkeep, you may ask target player a yes-or-no question. If you do, that player answers the question truthfully and abides by that answer if able until end of turn.
|
||||
[/card]
|
||||
[card]
|
||||
name=Frantic Purification
|
||||
text=Destroy target enchantment. -- Madness {W} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={2}{W}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Frazzled Editor
|
||||
mana={1}{R}
|
||||
type=Creature — Human Bureaucrat
|
||||
@@ -5928,8 +5877,14 @@ subtype=Turtle
|
||||
power=2
|
||||
toughness=4
|
||||
[/card]
|
||||
#bug phasealter not turning off
|
||||
[card]
|
||||
name=Gibbering Descent
|
||||
abilities=madness
|
||||
autoexile=restriction{discarded} pay({2}{B}{B}) name(pay 2BB to cast) activate name(pay 2BB to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
|
||||
auto=@each my upkeep:life:-1 controller && reject target(*|myhand)
|
||||
auto=@each opponentupkeep:life:-1 opponent && ability$!name(discard) target(*|myhand) reject!$ opponent
|
||||
auto=this(variable{phandcount} <1) phasealter(remove,upkeep,controller)
|
||||
text=At the beginning of each player's upkeep, that player loses 1 life and discards a card. -- Hellbent - Skip your upkeep step if you have no cards in hand. -- Madness {2}{B}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={4}{B}{B}
|
||||
type=Enchantment
|
||||
@@ -6429,15 +6384,6 @@ power=0
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Gorgon Recluse
|
||||
text=Whenever Gorgon Recluse blocks or becomes blocked by a nonblack creature, destroy that creature at end of combat. -- Madness {B}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={3}{B}{B}
|
||||
type=Creature
|
||||
subtype=Gorgon
|
||||
power=2
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Gorilla Berserkers
|
||||
text=Trample; rampage 2 (Whenever this creature becomes blocked, it gets +2/+2 until end of turn for each creature blocking it beyond the first.) -- Gorilla Berserkers can't be blocked except by three or more creatures.
|
||||
mana={3}{G}{G}
|
||||
@@ -7441,12 +7387,6 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Ichor Slick
|
||||
text=Target creature gets -3/-3 until end of turn. -- Cycling {2} ({2}, Discard this card: Draw a card.) -- Madness {3}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={2}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Icy Prison
|
||||
text=When Icy Prison enters the battlefield, exile target creature. -- At the beginning of your upkeep, sacrifice Icy Prison unless any player pays {3}. -- When Icy Prison leaves the battlefield, return the exiled creature to the battlefield under its owner's control.
|
||||
mana={U}{U}
|
||||
@@ -11068,12 +11008,6 @@ type=Legendary Artifact
|
||||
subtype=Equipment
|
||||
[/card]
|
||||
[card]
|
||||
name=Obsessive Search
|
||||
text=Draw a card. -- Madness {U} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={U}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Obstinate Baloth
|
||||
auto=life:4
|
||||
text=When Obstinate Baloth enters the battlefield, you gain 4 life. -- If a spell or ability an opponent controls causes you to discard Hardheaded Baloth, put it onto the battlefield instead of putting it into your graveyard.
|
||||
@@ -12425,12 +12359,6 @@ mana={1}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychotic Haze
|
||||
text=Psychotic Haze deals 1 damage to each creature and each player. -- Madness {1}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={2}{B}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Puca's Mischief
|
||||
text=At the beginning of your upkeep, you may exchange control of target nonland permanent you control and target nonland permanent an opponent controls with an equal or lesser converted mana cost.
|
||||
mana={3}{U}
|
||||
@@ -12983,15 +12911,6 @@ mana={W}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Reckless Wurm
|
||||
text=Trample -- Madness {2}{R} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={3}{R}{R}
|
||||
type=Creature
|
||||
subtype=Wurm
|
||||
power=4
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Reclamation
|
||||
auto=lord(creature[black]) cantattack
|
||||
auto=lord(creature[black]) {S(land|myinplay)}:-cantattack
|
||||
@@ -16054,20 +15973,6 @@ mana={X}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Strength of Isolation
|
||||
text=Enchant creature -- Enchanted creature gets +1/+2 and has protection from black. -- Madness {W} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{W}
|
||||
type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Strength of Lunacy
|
||||
text=Enchant creature -- Enchanted creature gets +2/+1 and has protection from white. -- Madness {B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.)
|
||||
mana={1}{B}
|
||||
type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Strength of the Tajuru
|
||||
text=Multikicker {1} (You may pay an additional {1} any number of times as you cast this spell.) -- Choose target creature, then choose another target creature for each time Strength of the Tajuru was kicked. Put X +1/+1 counters on each of them.
|
||||
mana={X}{G}{G}
|
||||
|
||||
@@ -241,6 +241,7 @@ public:
|
||||
bool isSwitchedPT;
|
||||
bool isACopier;
|
||||
bool bypassTC;
|
||||
bool discarded;
|
||||
|
||||
void eventattacked();
|
||||
void eventattackedAlone();
|
||||
|
||||
@@ -230,7 +230,8 @@ class Constants
|
||||
NOLIFEGAIN = 112,
|
||||
NOLIFEGAINOPPONENT = 113,
|
||||
AURAWARD = 114,
|
||||
NB_BASIC_ABILITIES = 115,
|
||||
MADNESS = 115,
|
||||
NB_BASIC_ABILITIES = 116,
|
||||
|
||||
|
||||
RARITY_S = 'S', //Special Rarity
|
||||
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
MTGPutInPlayRule(GameObserver* observer, int _id);
|
||||
const string getMenuText()
|
||||
{
|
||||
return "cast card normally";
|
||||
return "Cast Card Normally";
|
||||
}
|
||||
virtual MTGPutInPlayRule * clone() const;
|
||||
};
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
MTGKickerRule(GameObserver* observer, int _id);
|
||||
const string getMenuText()
|
||||
{
|
||||
return "pay kicker";
|
||||
return "Pay Kicker";
|
||||
}
|
||||
virtual MTGKickerRule * clone() const;
|
||||
};
|
||||
@@ -110,7 +110,7 @@ public:
|
||||
{
|
||||
if(alternativeName.size())
|
||||
return alternativeName.c_str();
|
||||
return "pay alternative cost";
|
||||
return "Pay Alternative Cost";
|
||||
}
|
||||
virtual MTGAlternativeCostRule * clone() const;
|
||||
};
|
||||
@@ -124,7 +124,7 @@ public:
|
||||
MTGBuyBackRule(GameObserver* observer, int _id);
|
||||
const string getMenuText()
|
||||
{
|
||||
return "cast and buy back";
|
||||
return "Cast and Buyback";
|
||||
}
|
||||
virtual MTGBuyBackRule * clone() const;
|
||||
};
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
MTGFlashBackRule(GameObserver* observer, int _id);
|
||||
const string getMenuText()
|
||||
{
|
||||
return "flash back";
|
||||
return "Flashback";
|
||||
}
|
||||
virtual MTGFlashBackRule * clone() const;
|
||||
};
|
||||
@@ -153,7 +153,7 @@ public:
|
||||
MTGRetraceRule(GameObserver* observer, int _id);
|
||||
const string getMenuText()
|
||||
{
|
||||
return "retrace";
|
||||
return "Retrace";
|
||||
}
|
||||
virtual MTGRetraceRule * clone() const;
|
||||
};
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
MTGMorphCostRule(GameObserver* observer, int _id);
|
||||
const string getMenuText()
|
||||
{
|
||||
return "play morphed";
|
||||
return "Play Morphed";
|
||||
}
|
||||
virtual MTGMorphCostRule * clone() const;
|
||||
};
|
||||
@@ -182,7 +182,7 @@ public:
|
||||
MTGPlayFromGraveyardRule(GameObserver* observer, int _id);
|
||||
const string getMenuText()
|
||||
{
|
||||
return "cast card from graveyard";
|
||||
return "Cast Card From Graveyard";
|
||||
}
|
||||
virtual MTGPlayFromGraveyardRule * clone() const;
|
||||
};
|
||||
|
||||
@@ -1160,14 +1160,14 @@ int GenericPaidAbility::resolve()
|
||||
baseAbility->target = target;
|
||||
optionalCost = ManaCost::parseManaCost(baseCost, NULL, source);
|
||||
|
||||
// hacky way to produce better MenuText
|
||||
/*// hacky way to produce better MenuText
|
||||
AAFakeAbility* isFake = dynamic_cast< AAFakeAbility* >( baseAbility );
|
||||
size_t findPayN = isFake->named.find(" {value} mana");
|
||||
if (isFake && findPayN != string::npos) {
|
||||
stringstream parseN;
|
||||
parseN << optionalCost->getCost(Constants::MTG_COLOR_ARTIFACT);
|
||||
isFake->named.replace(findPayN + 1, 7, parseN.str());
|
||||
}
|
||||
}//commented out, it crashes cards with recover ability*/
|
||||
|
||||
MTGAbility * set = baseAbility->clone();
|
||||
set->oneShot = true;
|
||||
@@ -5724,7 +5724,7 @@ const string AACastCard::getMenuText()
|
||||
return nameThis.c_str();
|
||||
if(putinplay)
|
||||
return "Put Into Play";
|
||||
return "Cast For Free";
|
||||
return "Cast Card";
|
||||
}
|
||||
|
||||
AACastCard * AACastCard::clone() const
|
||||
|
||||
@@ -411,6 +411,13 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
|
||||
}
|
||||
}
|
||||
|
||||
check = restriction[i].find("discarded");
|
||||
if(check != string::npos)
|
||||
{
|
||||
if(!card->discarded)
|
||||
return 0;
|
||||
}
|
||||
|
||||
check = restriction[i].find("ownerscontrol");
|
||||
if(check != string::npos)
|
||||
{
|
||||
@@ -3542,6 +3549,9 @@ int AbilityFactory::abilityEfficiency(MTGAbility * a, Player * p, int mode, Targ
|
||||
badAbilities[(int)Constants::WEAK] = true;
|
||||
badAbilities[(int)Constants::NOLIFEGAIN] = true;
|
||||
badAbilities[(int)Constants::NOLIFEGAINOPPONENT] = true;
|
||||
badAbilities[(int)Constants::CANTLOSE] = false;
|
||||
badAbilities[(int)Constants::CANTLIFELOSE] = false;
|
||||
badAbilities[(int)Constants::CANTMILLLOSE] = false;
|
||||
|
||||
if (AInstantBasicAbilityModifierUntilEOT * abi = dynamic_cast<AInstantBasicAbilityModifierUntilEOT *>(a))
|
||||
{
|
||||
|
||||
@@ -58,6 +58,7 @@ MTGCardInstance::MTGCardInstance(MTGCard * card, MTGPlayerCards * arg_belongs_to
|
||||
isSwitchedPT = false;
|
||||
isACopier = false;
|
||||
bypassTC = false;
|
||||
discarded = false;
|
||||
}
|
||||
|
||||
MTGCardInstance * MTGCardInstance::createSnapShot()
|
||||
|
||||
@@ -143,7 +143,8 @@ const char* Constants::MTGBasicAbilities[] = {
|
||||
"spellmastery",
|
||||
"nolifegain",
|
||||
"nolifegainopponent",
|
||||
"auraward"
|
||||
"auraward",
|
||||
"madness"
|
||||
};
|
||||
|
||||
map<string,int> Constants::MTGBasicAbilitiesMap;
|
||||
|
||||
@@ -325,6 +325,15 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
|
||||
bool ripToken = false;
|
||||
if (g->players[0]->game->battlefield->hasName("Rest in Peace")||g->players[1]->game->battlefield->hasName("Rest in Peace"))
|
||||
ripToken = true;
|
||||
//Madness or Put in Play...
|
||||
for(int i = 0; i < 2; ++i)
|
||||
{
|
||||
if (card->discarded && (to == g->players[i]->game->graveyard) && (from == g->players[i]->game->hand))
|
||||
{
|
||||
if(card->basicAbilities[(int)Constants::MADNESS])
|
||||
to = g->players[i]->game->exile;
|
||||
}
|
||||
}
|
||||
//Darksteel Colossus, Legacy Weapon ... top priority since we replace destination directly automatically...
|
||||
for(int i = 0; i < 2; ++i)
|
||||
{
|
||||
@@ -361,6 +370,13 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
|
||||
{
|
||||
copy->miracle = true;
|
||||
}
|
||||
if (card->discarded)
|
||||
{//set discarded for madness...
|
||||
if(from == g->players[0]->game->hand || from == g->players[1]->game->hand)
|
||||
copy->discarded = true;
|
||||
else//turn off discarded if its previous zone is not in hand...
|
||||
copy->discarded = false;
|
||||
}
|
||||
if (options[Options::SFXVOLUME].number > 0)
|
||||
{
|
||||
if (to == g->players[0]->game->graveyard || to == g->players[1]->game->graveyard)
|
||||
|
||||
@@ -106,6 +106,7 @@ WEventCardSacrifice::WEventCardSacrifice(MTGCardInstance * card, MTGCardInstance
|
||||
WEventCardDiscard::WEventCardDiscard(MTGCardInstance * card) :
|
||||
WEventCardUpdate(card)
|
||||
{
|
||||
card->discarded = true;
|
||||
}
|
||||
|
||||
WEventCardCycle::WEventCardCycle(MTGCardInstance * card) :
|
||||
|
||||
Reference in New Issue
Block a user