Merge pull request #963 from kevlahnota/master

Bushido, Modular points
This commit is contained in:
Anthony Calosa
2017-03-16 17:53:14 +08:00
committed by GitHub
13 changed files with 417 additions and 445 deletions
+214 -28
View File
@@ -1,6 +1,6 @@
#Primitives Pack for Wagic the Homebrew. #Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card #Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#I sorted this programatically so the other comments are removed except for AUTO_DEFINE - kevlahnota 03-09-2017 #I sorted this programatically so the other comments are removed except for AUTO_DEFINE - kevlahnota 03-16-2017
[card] [card]
name=Abandon Reason name=Abandon Reason
target=<upto:2>creature target=<upto:2>creature
@@ -5029,7 +5029,8 @@ type=Instant
[/card] [/card]
[card] [card]
name=Arcbound Bruiser name=Arcbound Bruiser
auto=counter(1/1,3) abilities=trample,modular
modular=3
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
text=Modular 3 (This enters the battlefield with three +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Modular 3 (This enters the battlefield with three +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={5} mana={5}
@@ -5040,10 +5041,10 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Crusher name=Arcbound Crusher
abilities=trample abilities=trample,modular
auto=@movedTo(other artifact|battlefield):counter(1/1,1) modular=1
auto=counter(1/1,1)
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
auto=@movedTo(other artifact|battlefield):counter(1/1,1)
text=Trample -- Whenever another artifact enters the battlefield, put a +1/+1 counter on Arcbound Crusher. -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Trample -- Whenever another artifact enters the battlefield, put a +1/+1 counter on Arcbound Crusher. -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={4} mana={4}
type=Artifact Creature type=Artifact Creature
@@ -5053,10 +5054,9 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Fiend name=Arcbound Fiend
abilities=fear abilities=fear,modular
auto=@each my upkeep:counter(1/1,-1) target(creature) auto=@each my upkeep:may counter(1/1,-1) target(creature[counter{1/1.1}]) && counter(1/1,1) all(this)
auto=@each my upkeep:counter(1/1,1) all(this) modular=3
auto=counter(1/1,3)
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
text=Fear (This creature can't be blocked except by artifact creatures and/or black creatures.) -- At the beginning of your upkeep, you may move a +1/+1 counter from target creature onto Arcbound Fiend. -- Modular 3 (This enters the battlefield with three +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Fear (This creature can't be blocked except by artifact creatures and/or black creatures.) -- At the beginning of your upkeep, you may move a +1/+1 counter from target creature onto Arcbound Fiend. -- Modular 3 (This enters the battlefield with three +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={6} mana={6}
@@ -5067,8 +5067,8 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Hybrid name=Arcbound Hybrid
abilities=haste abilities=haste,modular
auto=counter(1/1,2) modular=2
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
text=Haste -- Modular 2 (This enters the battlefield with two +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Haste -- Modular 2 (This enters the battlefield with two +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={4} mana={4}
@@ -5079,8 +5079,8 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Lancer name=Arcbound Lancer
abilities=first strike abilities=first strike,modular
auto=counter(1/1,4) modular=4
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
text=First strike -- Modular 4 (This enters the battlefield with four +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=First strike -- Modular 4 (This enters the battlefield with four +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={7} mana={7}
@@ -5090,10 +5090,24 @@ power=0
toughness=0 toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Ravager name=Arcbound Overseer
auto=counter(1/1,1) abilities=modular
auto={S(artifact|myBattlefield)}:counter(1/1,1) modular=6
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
auto=@each my upkeep:counter(1/1) all(creature[modular]|mybattlefield)
text=At the beginning of your upkeep, put a +1/+1 counter on each creature with modular you control. -- Modular 6 (This enters the battlefield with six +1/+1 counters on it. When it dies, you may put its +1/+1 counters on target artifact creature.)
mana={8}
type=Artifact Creature
subtype=Golem
power=0
toughness=0
[/card]
[card]
name=Arcbound Ravager
abilities=modular
modular=1
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
auto={S(artifact|myBattlefield)}:counter(1/1,1)
text=Sacrifice an artifact: Put a +1/+1 counter on Arcbound Ravager. -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Sacrifice an artifact: Put a +1/+1 counter on Arcbound Ravager. -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={2} mana={2}
type=Artifact Creature type=Artifact Creature
@@ -5103,9 +5117,10 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Reclaimer name=Arcbound Reclaimer
auto=counter(1/1,2) abilities=modular
auto={C(1/1,-1)}:moveTo(myLibrary) target(artifact|mygraveyard) modular=2
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
auto={C(1/1,-1)}:moveTo(myLibrary) target(artifact|mygraveyard)
text=Remove a +1/+1 counter from Arcbound Reclaimer: Put target artifact card from your graveyard on top of your library. -- Modular 2 (This enters the battlefield with two +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Remove a +1/+1 counter from Arcbound Reclaimer: Put target artifact card from your graveyard on top of your library. -- Modular 2 (This enters the battlefield with two +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={4} mana={4}
type=Artifact Creature type=Artifact Creature
@@ -5115,9 +5130,10 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Slith name=Arcbound Slith
auto=counter(1/1,1) abilities=modular
auto=@combatdamaged(player) from(this):counter(1/1,1) modular=1
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
auto=@combatdamaged(player) from(this):counter(1/1,1)
text=Whenever Arcbound Slith deals combat damage to a player, put a +1/+1 counter on it. -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Whenever Arcbound Slith deals combat damage to a player, put a +1/+1 counter on it. -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={2} mana={2}
type=Artifact Creature type=Artifact Creature
@@ -5127,8 +5143,8 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Stinger name=Arcbound Stinger
abilities=flying abilities=flying,modular
auto=counter(1/1,1) modular=1
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
text=Flying -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Flying -- Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={2} mana={2}
@@ -5139,8 +5155,8 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Wanderer name=Arcbound Wanderer
abilities=sunburst abilities=sunburst,modular
auto=counter(1/1,sunburst) modular=sunburst
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
text=Modular - Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Modular - Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={6} mana={6}
@@ -5151,7 +5167,8 @@ toughness=0
[/card] [/card]
[card] [card]
name=Arcbound Worker name=Arcbound Worker
auto=counter(1/1,1) abilities=modular
modular=1
auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact])
text=Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) text=Modular 1 (This enters the battlefield with a +1/+1 counter on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)
mana={1} mana={1}
@@ -30558,6 +30575,17 @@ power=5
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Dodecapod
abilities=discardtoplaybyopponent
alias=109736
text=If a spell or ability an opponent controls causes you to discard Dodecapod, put it onto the battlefield with two +1/+1 counters on it instead of putting it into your graveyard.
mana={4}
type=Artifact Creature
subtype=Golem
power=3
toughness=3
[/card]
[card]
name=Dogged Hunter name=Dogged Hunter
auto={T}:destroy target(creature[token]) auto={T}:destroy target(creature[token])
text={T}: Destroy target creature token. text={T}: Destroy target creature token.
@@ -31472,7 +31500,7 @@ type=Sorcery
name=Dragon-Style Twins name=Dragon-Style Twins
abilities=double strike abilities=double strike
auto=@movedTo(*[-creature]|mystack):1/1 ueot auto=@movedTo(*[-creature]|mystack):1/1 ueot
text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- Whenever Jeskai Elder deals combat damage to a player, you may draw a card. If you do, discard a card. text=Double strike -- Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.)
mana={3}{R}{R} mana={3}{R}{R}
type=Creature type=Creature
subtype=Human Monk subtype=Human Monk
@@ -40290,6 +40318,14 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Field of Dreams
abilities=showfromtoplibrary,showopponenttoplibrary
auto=@movedTo(other enchantment[world]|battlefield):sacrifice all(this)
text=Players play with the top card of their libraries revealed.
mana={U}
type=World Enchantment
[/card]
[card]
name=Field of Reality name=Field of Reality
target=creature target=creature
auto=cantbeblockedby(spirit) auto=cantbeblockedby(spirit)
@@ -44032,7 +44068,8 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Fumiko the Lowblood name=Fumiko the Lowblood
auto=aslongas(creature[attacking]) bushido(type:creature[attacking]:battlefield/type:creature[attacking]:battlefield) alias=74534
auto=bushido(type:creature[attacking]:battlefield/type:creature[attacking]:battlefield)
auto=lord(creature|opponentBattlefield) mustattack auto=lord(creature|opponentBattlefield) mustattack
text=Fumiko the Lowblood has bushido X, where X is the number of attacking creatures. (When this blocks or becomes blocked, it gets +X/+X until end of turn.) -- Creatures your opponents control attack each turn if able. text=Fumiko the Lowblood has bushido X, where X is the number of attacking creatures. (When this blocks or becomes blocked, it gets +X/+X until end of turn.) -- Creatures your opponents control attack each turn if able.
mana={2}{R}{R} mana={2}{R}{R}
@@ -51510,6 +51547,16 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Guerrilla Tactics
target=creature,player
auto=damage:2
autograveyard=while(restriction{discardbyopponent}) choice damage:4 target(creature,player)
autoexile=while(restriction{discardbyopponent}) choice damage:4 target(creature,player)
text=Guerrilla Tactics deals 2 damage to target creature or player. -- When a spell or ability an opponent controls causes you to discard Guerrilla Tactics, Guerrilla Tactics deals 4 damage to target creature or player.
mana={1}{R}
type=Instant
[/card]
[card]
name=Guided Passage name=Guided Passage
auto=ability$! notatarget(creature|opponentlibrary) moveto(ownerhand) !$ opponent auto=ability$! notatarget(creature|opponentlibrary) moveto(ownerhand) !$ opponent
auto=ability$! notatarget(land|opponentlibrary) moveto(ownerhand) !$ opponent auto=ability$! notatarget(land|opponentlibrary) moveto(ownerhand) !$ opponent
@@ -62678,6 +62725,17 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Kentaro, the Smiling Cat
auto=bushido(1/1)
auto=lord(*[samurai]|mycastingzone) anytypeofmana
text=Bushido 1 (When this blocks or becomes blocked, it gets +1/+1 until end of turn.) -- You may pay {X} rather than pay the mana cost for Samurai spells you cast, where X is that spell's converted mana cost.
mana={1}{W}
type=Legendary Creature
subtype=Human Samurai
power=2
toughness=1
[/card]
[card]
name=Kenzo the Hardhearted name=Kenzo the Hardhearted
doublefaced=kamiflip doublefaced=kamiflip
abilities=double strike abilities=double strike
@@ -68883,6 +68941,16 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Loxodon Smiter
abilities=nofizzle,discardtoplaybyopponent
text=Loxodon Smiter can't be countered. -- If a spell or ability an opponent controls causes you to discard Loxodon Smiter, put it onto the battlefield instead of putting it into your graveyard.
mana={1}{G}{W}
type=Creature
subtype=Elephant Soldier
power=4
toughness=4
[/card]
[card]
name=Loxodon Stalwart name=Loxodon Stalwart
abilities=Vigilance abilities=Vigilance
auto={W}:0/1 auto={W}:0/1
@@ -70795,6 +70863,16 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Mangara's Blessing
auto=life:5 controller
autograveyard=while(restriction{discardbyopponent}) life:2 controller
autograveyard=@each my endofturn restriction{discardbyopponent}:moveto(ownerhand)
autoexile=while(restriction{discardbyopponent}) life:2 controller
text=You gain 5 life. -- When a spell or ability an opponent controls causes you to discard Mangara's Blessing, you gain 2 life, and you return Mangara's Blessing from your graveyard to your hand at the beginning of the next end step.
mana={2}{W}
type=Instant
[/card]
[card]
name=Mangara's Equity name=Mangara's Equity
auto=upcost[{1}{W}] sacrifice auto=upcost[{1}{W}] sacrifice
auto=choice name(choose black) transforms((,newability[@damageof(player) from(creature[black]|*):damage:thatmuch all(trigger[from])],newability[@damaged(creature[white]|mybattlefield) from(creature[black]|*):damage:thatmuch all(trigger[from])])) forever auto=choice name(choose black) transforms((,newability[@damageof(player) from(creature[black]|*):damage:thatmuch all(trigger[from])],newability[@damaged(creature[white]|mybattlefield) from(creature[black]|*):damage:thatmuch all(trigger[from])])) forever
@@ -73577,6 +73655,15 @@ mana={5}
type=Artifact type=Artifact
[/card] [/card]
[card] [card]
name=Metrognome
autograveyard=while(restriction{discardbyopponent}) token(Gnome,Artifact Creature Gnome,1/1)*4
autoexile=while(restriction{discardbyopponent}) token(Gnome,Artifact Creature Gnome,1/1)*4
auto={4}{T}:token(Gnome,Artifact Creature Gnome,1/1)
text=When a spell or ability an opponent controls causes you to discard Metrognome, put four 1/1 colorless Gnome artifact creature tokens onto the battlefield. -- {4}, {T}: Put a 1/1 colorless Gnome artifact creature token onto the battlefield.
mana={4}
type=Artifact
[/card]
[card]
name=Metropolis Sprite name=Metropolis Sprite
abilities=flying abilities=flying
auto={U}:1/-1 ueot auto={U}:1/-1 ueot
@@ -81853,6 +81940,17 @@ power=4
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Obstinate Baloth
abilities=discardtoplaybyopponent
auto=life:4 controller
text=When Obstinate Baloth enters the battlefield, you gain 4 life. -- If a spell or ability an opponent controls causes you to discard Obstinate Baloth, put it onto the battlefield instead of putting it into your graveyard.
mana={2}{G}{G}
type=Creature
subtype=Beast
power=4
toughness=4
[/card]
[card]
name=Obstinate Familiar name=Obstinate Familiar
auto=replacedraw ability$!name(skip or draw) choice name(Skip Draw) donothing ueot _ choice draw:1 noreplace!$ controller auto=replacedraw ability$!name(skip or draw) choice name(Skip Draw) donothing ueot _ choice draw:1 noreplace!$ controller
text=If you would draw a card, you may skip that draw instead. text=If you would draw a card, you may skip that draw instead.
@@ -89636,6 +89734,16 @@ type=Enchantment
subtype=Aura subtype=Aura
[/card] [/card]
[card] [card]
name=Psychic Purge
target=creature,player
auto=damage:1
autograveyard=while(restriction{discardbyopponent}) life:-5 opponent
autoexile=while(restriction{discardbyopponent}) life:-5 opponent
text=Psychic Purge deals 1 damage to target creature or player. -- When a spell or ability an opponent controls causes you to discard Psychic Purge, that player loses 5 life.
mana={U}
type=Sorcery
[/card]
[card]
name=Psychic Spear name=Psychic Spear
target=player target=player
aicode=activate reject notatarget(*[spirit;arcane]|targetedpersonshand) aicode=activate reject notatarget(*[spirit;arcane]|targetedpersonshand)
@@ -90529,6 +90637,18 @@ mana={2}{B}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Quagnoth
abilities=split second
autograveyard=while(restriction{discardbyopponent}) choice moveto(ownerhand)
autoexile=while(restriction{discardbyopponent}) choice moveto(ownerhand)
text=Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.) -- Shroud (This permanent can't be the target of spells or abilities.) -- When a spell or ability an opponent controls causes you to discard Quagnoth, return it to your hand.
mana={5}{G}
type=Creature
subtype=Beast
power=4
toughness=5
[/card]
[card]
name=Quarantine Field name=Quarantine Field
auto=counter(0/0,xx,Isolation) auto=counter(0/0,xx,Isolation)
auto=(blink)forsrc target(<prexx>*[-land]|opponentbattlefield) auto=(blink)forsrc target(<prexx>*[-land]|opponentbattlefield)
@@ -96255,7 +96375,7 @@ toughness=1
name=Riverwheel Aerialists name=Riverwheel Aerialists
abilities=flying abilities=flying
auto=@movedTo(*[-creature]|mystack):1/1 ueot auto=@movedTo(*[-creature]|mystack):1/1 ueot
text=Flying -- Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- Whenever Jeskai Elder deals combat damage to a player, you may draw a card. If you do, discard a card. text=Flying -- Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.)
mana={5}{U} mana={5}{U}
type=Creature type=Creature
subtype=Djinn Monk subtype=Djinn Monk
@@ -98909,6 +99029,16 @@ power=3
toughness=6 toughness=6
[/card] [/card]
[card] [card]
name=Sand Golem
autograveyard=while(restriction{discardbyopponent}) moveto(ownerbattlefield) and!( transforms((,newability[phaseaction[endofturn once sourceinplay] counter(1/1) all(this)])) forever)!
text=When a spell or ability an opponent controls causes you to discard Sand Golem, return Sand Golem from your graveyard to the battlefield with a +1/+1 counter on it at the beginning of the next end step.
mana={5}
type=Artifact Creature
subtype=Golem
power=3
toughness=3
[/card]
[card]
name=Sand Silos name=Sand Silos
abilities=doesnotuntap abilities=doesnotuntap
auto=tap(noevent) auto=tap(noevent)
@@ -117681,6 +117811,17 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Takeno, Samurai General
auto=bushido(2/2)
auto=lord(other creature[samurai]|mybattlefield) transforms((,newability[bushidopoints/bushidopoints nonstatic]))
text=Bushido 2 (When this blocks or becomes blocked, it gets +2/+2 until end of turn.) -- Each other Samurai creature you control gets +1/+1 for each point of bushido it has.
mana={5}{W}
type=Legendary Creature
subtype=Human Samurai
power=3
toughness=3
[/card]
[card]
name=Takenuma Bleeder name=Takenuma Bleeder
auto=@combat(attacking) source(this) restriction{type(demon|myBattlefield)~lessthan~1}:life:-1 controller auto=@combat(attacking) source(this) restriction{type(demon|myBattlefield)~lessthan~1}:life:-1 controller
auto=@combat(blocking) source(this) restriction{type(demon|myBattlefield)~lessthan~1}:life:-1 controller auto=@combat(blocking) source(this) restriction{type(demon|myBattlefield)~lessthan~1}:life:-1 controller
@@ -134464,6 +134605,17 @@ power=3
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Wilt-Leaf Liege
abilities=discardtoplaybyopponent
auto=lord(other creature[green]|mybattlefield) 1/1
text=Other green creatures you control get +1/+1. -- Other white creatures you control get +1/+1. -- If a spell or ability an opponent controls causes you to discard Wilt-Leaf Liege, put it onto the battlefield instead of putting it into your graveyard.
mana={1}{GW}{GW}{GW}
type=Creature
subtype=Elf Knight
power=4
toughness=4
[/card]
[card]
name=Wily Bandar name=Wily Bandar
auto={2}{G}:indestructible ueot auto={2}{G}:indestructible ueot
text={2}{G}: Wily Bandar gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.) text={2}{G}: Wily Bandar gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.)
@@ -134943,6 +135095,14 @@ mana={1}{G}{G}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Winter's Night
auto=lord(land[snow]) transforms((,newability[@tappedformana(this):frozen],newability[producecolor:land],newability[producecolor:green],newability[producecolor:blue],newability[producecolor:red],newability[producecolor:black],newability[producecolor:white]))
auto=@movedTo(other enchantment[world]|battlefield):sacrifice all(this)
text=Whenever a player taps a snow land for mana, that player adds one mana to his or her mana pool of any type that land produced. That land doesn't untap during its controller's next untap step.
mana={R}{G}{W}
type=World Enchantment
[/card]
[card]
name=Wipe Away name=Wipe Away
target=*|battlefield target=*|battlefield
auto=moveto(ownerhand) auto=moveto(ownerhand)
@@ -135135,6 +135295,15 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Witch Hunt
abilities=nolifegain,nolifegainopponent
auto=@each my upkeep:damage:4 controller
auto=@each my end:moveto(opponentbattlefield) all(this)
text=Players can't gain life. -- At the beginning of your upkeep, Witch Hunt deals 4 damage to you. -- At the beginning of your end step, target opponent chosen at random gains control of Witch Hunt.
mana={4}{R}
type=Enchantment
[/card]
[card]
name=Witchbane Orb name=Witchbane Orb
abilities=playershroud abilities=playershroud
auto=destroy all(mycurses) auto=destroy all(mycurses)
@@ -135343,6 +135512,16 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Wizened Snitches
abilities=flying,showfromtoplibrary,showopponenttoplibrary
text=Flying -- Players play with the top card of their libraries revealed.
mana={3}{U}
type=Creature
subtype=Faerie Rogue
power=1
toughness=3
[/card]
[card]
name=Woebearer name=Woebearer
abilities=fear abilities=fear
auto=@combatdamaged(player) from(this):may moveto(myhand) target(creature|myGraveyard) auto=@combatdamaged(player) from(this):may moveto(myhand) target(creature|myGraveyard)
@@ -135446,6 +135625,13 @@ power=4
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Wolfcaller's Howl
auto=@each my upkeep restriction{type(*|opponenthand)~morethan~3}:token(Wolf,Creature Wolf,2/2,green)
text=At the beginning of your upkeep, put X 2/2 green Wolf creature tokens onto the battlefield, where X is the number of your opponents with four or more cards in hand.
mana={3}{G}
type=Enchantment
[/card]
[card]
name=Wolf name=Wolf
type=Creature type=Creature
subtype=Wolf subtype=Wolf
@@ -556,15 +556,6 @@ type=Enchantment
subtype=Aura subtype=Aura
[/card] [/card]
[card] [card]
name=Arcbound Overseer
text=At the beginning of your upkeep, put a +1/+1 counter on each creature with modular you control. -- Modular 6 (This enters the battlefield with six +1/+1 counters on it. When it dies, you may put its +1/+1 counters on target artifact creature.)
mana={8}
type=Artifact Creature
subtype=Golem
power=0
toughness=0
[/card]
[card]
name=Archangel of Strife name=Archangel of Strife
abilities=flying abilities=flying
text=Flying -- As Archangel of Strife enters the battlefield, each player chooses war or peace. -- Creatures controlled by players who chose war get +3/+0. -- Creatures controlled by players who chose peace get +0/+3. text=Flying -- As Archangel of Strife enters the battlefield, each player chooses war or peace. -- Creatures controlled by players who chose war get +3/+0. -- Creatures controlled by players who chose peace get +0/+3.
@@ -1205,13 +1196,6 @@ power=1
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Bear Umbra
text=Enchant creature -- Enchanted creature gets +2/+2 and has "Whenever this creature attacks, untap all lands you control." -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={2}{G}{G}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Bearer of Silence name=Bearer of Silence
text=Devoid (This card has no color.) -- When you cast Bearer of Silence, you may pay {1}{C}. If you do, target opponent sacrifices a creature. ({C} represents colorless mana.) -- Flying -- Bearer of Silence can't block. text=Devoid (This card has no color.) -- When you cast Bearer of Silence, you may pay {1}{C}. If you do, target opponent sacrifices a creature. ({C} represents colorless mana.) -- Flying -- Bearer of Silence can't block.
mana={1}{B} mana={1}{B}
@@ -1522,13 +1506,6 @@ mana={2}{R}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Boar Umbra
text=Enchant creature -- Enchanted creature gets +3/+3. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={2}{G}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Bog Hoodlums name=Bog Hoodlums
text=Bog Hoodlums can't block. -- When Bog Hoodlums enters the battlefield, clash with an opponent. If you win, put a +1/+1 counter on Bog Hoodlums. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.) text=Bog Hoodlums can't block. -- When Bog Hoodlums enters the battlefield, clash with an opponent. If you win, put a +1/+1 counter on Bog Hoodlums. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.)
mana={5}{B} mana={5}{B}
@@ -1847,16 +1824,6 @@ mana={4}{B}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Brontotherium
abilities=trample
text=Trample -- Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.)
mana={4}{G}{G}
type=Creature
subtype=Beast
power=5
toughness=3
[/card]
[card]
name=Bronze Bombshell name=Bronze Bombshell
text=When a player other than Bronze Bombshell's owner controls it, that player sacrifices it. If the player does, Bronze Bombshell deals 7 damage to him or her. text=When a player other than Bronze Bombshell's owner controls it, that player sacrifices it. If the player does, Bronze Bombshell deals 7 damage to him or her.
mana={4} mana={4}
@@ -2915,12 +2882,6 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Cloudform
text=When Cloudform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Cloudform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and hexproof.
mana={1}{U}{U}
type=Enchantment
[/card]
[card]
name=Coalition Flag name=Coalition Flag
text=Enchant creature you control -- Enchanted creature is a Flagbearer. -- While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. text=Enchant creature you control -- Enchanted creature is a Flagbearer. -- While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able.
mana={W} mana={W}
@@ -3416,13 +3377,6 @@ type=Enchantment
subtype=Aura subtype=Aura
[/card] [/card]
[card] [card]
name=Crab Umbra
text=Enchant creature -- {2}{U}: Untap enchanted creature. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={U}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Crackdown Construct name=Crackdown Construct
text=Whenever you activate an ability of an artifact or creature that isn't a mana ability, Crackdown Construct gets +1/+1 until end of turn. text=Whenever you activate an ability of an artifact or creature that isn't a mana ability, Crackdown Construct gets +1/+1 until end of turn.
mana={4} mana={4}
@@ -3493,15 +3447,6 @@ mana={3}{B}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Crested Craghorn
text=Haste -- Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.)
mana={4}{R}
type=Creature
subtype=Goat Beast
power=4
toughness=1
[/card]
[card]
name=Crime // Punishment name=Crime // Punishment
text=Put target creature or enchantment card from an opponent's graveyard onto the battlefield under your control. -- // -- Destroy each artifact, creature, and enchantment with converted mana cost X. text=Put target creature or enchantment card from an opponent's graveyard onto the battlefield under your control. -- // -- Destroy each artifact, creature, and enchantment with converted mana cost X.
mana={3}{W}{B} // {X}{B}{G} mana={3}{W}{B} // {X}{B}{G}
@@ -4170,15 +4115,6 @@ mana={3}{W}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Deftblade Elite
text=Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.) -- {1}{W}: Prevent all combat damage that would be dealt to and dealt by Deftblade Elite this turn.
mana={W}
type=Creature
subtype=Human Soldier
power=1
toughness=1
[/card]
[card]
name=Degavolver name=Degavolver
text=Kicker {1}{B} and/or {R} (You may pay an additional {1}{B} and/or {R} as you cast this spell.) -- If Degavolver was kicked with its {1}{B} kicker, it enters the battlefield with two +1/+1 counters on it and with "Pay 3 life: Regenerate Degavolver." -- If Degavolver was kicked with its {R} kicker, it enters the battlefield with a +1/+1 counter on it and with first strike. text=Kicker {1}{B} and/or {R} (You may pay an additional {1}{B} and/or {R} as you cast this spell.) -- If Degavolver was kicked with its {1}{B} kicker, it enters the battlefield with two +1/+1 counters on it and with "Pay 3 life: Regenerate Degavolver." -- If Degavolver was kicked with its {R} kicker, it enters the battlefield with a +1/+1 counter on it and with first strike.
mana={1}{W} mana={1}{W}
@@ -4584,15 +4520,6 @@ mana={1}{B}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Dodecapod
text=If a spell or ability an opponent controls causes you to discard Dodecapod, put it onto the battlefield with two +1/+1 counters on it instead of putting it into your graveyard.
mana={4}
type=Artifact Creature
subtype=Golem
power=3
toughness=3
[/card]
[card]
name=Domesticated Hydra name=Domesticated Hydra
text={X}{G}{G}{G}: Monstrosity X. (If this creature isn't monstrous, put X +1/+1 counters on it and it becomes monstrous.) -- As long as Domesticated Hydra is monstrous, it has trample. text={X}{G}{G}{G}: Monstrosity X. (If this creature isn't monstrous, put X +1/+1 counters on it and it becomes monstrous.) -- As long as Domesticated Hydra is monstrous, it has trample.
mana={2}{G}{G} mana={2}{G}{G}
@@ -4776,13 +4703,6 @@ mana={U}{U}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Drake Umbra
text=Enchant creature -- Enchanted creature gets +3/+3 and has flying. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={4}{U}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Dralnu, Lich Lord name=Dralnu, Lich Lord
text=If damage would be dealt to Dralnu, Lich Lord, sacrifice that many permanents instead. -- {T}: Target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. (You may cast that card from your graveyard for its flashback cost. Then exile it.) text=If damage would be dealt to Dralnu, Lich Lord, sacrifice that many permanents instead. -- {T}: Target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. (You may cast that card from your graveyard for its flashback cost. Then exile it.)
mana={3}{U}{B} mana={3}{U}{B}
@@ -5006,20 +4926,6 @@ type=Plane
subtype=Belenon subtype=Belenon
[/card] [/card]
[card] [card]
name=Eel Umbra
text=Flash (You may cast this spell any time you could cast an instant.) -- Enchant creature -- Enchanted creature gets +1/+1. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={1}{U}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Eland Umbra
text=Enchant creature -- Enchanted creature gets +0/+4. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={1}{W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Elderwood Scion name=Elderwood Scion
abilities=trample,lifelink abilities=trample,lifelink
text=Trample, lifelink -- Spells you cast that target Elderwood Scion cost {2} less to cast. -- Spells your opponents cast that target Elderwood Scion cost {2} more to cast. text=Trample, lifelink -- Spells you cast that target Elderwood Scion cost {2} less to cast. -- Spells your opponents cast that target Elderwood Scion cost {2} more to cast.
@@ -5409,12 +5315,6 @@ power=6
toughness=6 toughness=6
[/card] [/card]
[card] [card]
name=Ethereal Ambush
text=Manifest the top two cards of your library. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
mana={3}{G}{U}
type=Instant
[/card]
[card]
name=Eureka name=Eureka
text=Starting with you, each player may put a permanent card from his or her hand onto the battlefield. Repeat this process until no one puts a card onto the battlefield. text=Starting with you, each player may put a permanent card from his or her hand onto the battlefield. Repeat this process until no one puts a card onto the battlefield.
mana={2}{G}{G} mana={2}{G}{G}
@@ -5779,13 +5679,6 @@ mana={R}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Felidar Umbra
text=Enchant creature -- Enchanted creature has lifelink. -- {1}{W}: Attach Felidar Umbra to target creature you control. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={1}{W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Fell the Mighty name=Fell the Mighty
text=Destroy all creatures with power greater than target creature's power. text=Destroy all creatures with power greater than target creature's power.
mana={4}{W} mana={4}{W}
@@ -5807,15 +5700,6 @@ power=0
toughness=0 toughness=0
[/card] [/card]
[card] [card]
name=Feral Throwback
text=Amplify 2 (As this creature enters the battlefield, put two +1/+1 counters on it for each Beast card you reveal in your hand.) -- Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.)
mana={4}{G}{G}
type=Creature
subtype=Beast
power=3
toughness=3
[/card]
[card]
name=Ferropede name=Ferropede
abilities=unblockable abilities=unblockable
text=Ferropede is unblockable. -- Whenever Ferropede deals combat damage to a player, you may remove a counter from target permanent. text=Ferropede is unblockable. -- Whenever Ferropede deals combat damage to a player, you may remove a counter from target permanent.
@@ -5841,12 +5725,6 @@ power=2
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Field of Dreams
text=Players play with the top card of their libraries revealed.
mana={U}
type=World Enchantment
[/card]
[card]
name=Fields of Summer name=Fields of Summer
text=Whenever a player casts a spell, that player may gain 2 life. -- Whenever you roll {C}, you may gain 10 life. text=Whenever a player casts a spell, that player may gain 2 life. -- Whenever you roll {C}, you may gain 10 life.
type=Plane type=Plane
@@ -5863,12 +5741,6 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Fierce Invocation
text=Manifest the top card of your library, then put two +1/+1 counters on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
mana={4}{R}
type=Sorcery
[/card]
[card]
name=Fiery Bombardment name=Fiery Bombardment
text=Chroma — {2}, Sacrifice a creature: Fiery Bombardment deals damage to target creature or player equal to the number of red mana symbols in the sacrificed creature's mana cost. text=Chroma — {2}, Sacrifice a creature: Fiery Bombardment deals damage to target creature or player equal to the number of red mana symbols in the sacrificed creature's mana cost.
mana={1}{R} mana={1}{R}
@@ -6262,12 +6134,6 @@ mana={1}{W}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Formless Nurturing
text=Manifest the top card of your library, then put a +1/+1 counter on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
mana={3}{G}
type=Sorcery
[/card]
[card]
name=Fortified Area name=Fortified Area
text=Wall creatures you control get +1/+0 and have banding. (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 you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) text=Wall creatures you control get +1/+0 and have banding. (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 you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)
mana={1}{W}{W} mana={1}{W}{W}
@@ -7115,15 +6981,6 @@ mana={5}{R}{R}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Goblin Grappler
text=Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.)
mana={R}
type=Creature
subtype=Goblin
power=1
toughness=1
[/card]
[card]
name=Goblin Grenadiers name=Goblin Grenadiers
text=Whenever Goblin Grenadiers attacks and isn't blocked, you may sacrifice it. If you do, destroy target creature and target land. text=Whenever Goblin Grenadiers attacks and isn't blocked, you may sacrifice it. If you do, destroy target creature and target land.
mana={3}{R} mana={3}{R}
@@ -7609,12 +7466,6 @@ power=3
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Guerrilla Tactics
text=Guerrilla Tactics deals 2 damage to target creature or player. -- When a spell or ability an opponent controls causes you to discard Guerrilla Tactics, Guerrilla Tactics deals 4 damage to target creature or player.
mana={1}{R}
type=Instant
[/card]
[card]
name=Guiding Spirit name=Guiding Spirit
abilities=flying abilities=flying
text=Flying -- {T}: If the top card of target player's graveyard is a creature card, put that card on top of that player's library. text=Flying -- {T}: If the top card of target player's graveyard is a creature card, put that card on top of that player's library.
@@ -8308,15 +8159,6 @@ mana={G}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Hunter Sliver
text=All Sliver creatures have provoke. (When a Sliver attacks, its controller may have target creature defending player controls untap and block it if able.)
mana={1}{R}
type=Creature
subtype=Sliver
power=1
toughness=1
[/card]
[card]
name=Hurloon Wrangler name=Hurloon Wrangler
text=Denimwalk (If defending player is wearing any clothing made of denim, this creature is unblockable.) text=Denimwalk (If defending player is wearing any clothing made of denim, this creature is unblockable.)
mana={2}{R} mana={2}{R}
@@ -8353,13 +8195,6 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Hyena Umbra
text=Enchant creature -- Enchanted creature gets +1/+1 and has first strike. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Hymn of the Wilds name=Hymn of the Wilds
text=(Start the game with this conspiracy face up in the command zone.) -- The first creature spell you cast each turn costs {1} less to cast. -- You can't cast instant or sorcery spells. text=(Start the game with this conspiracy face up in the command zone.) -- The first creature spell you cast each turn costs {1} less to cast. -- You can't cast instant or sorcery spells.
type=Conspiracy type=Conspiracy
@@ -8703,13 +8538,6 @@ mana={X}{R}{R}{R}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Indrik Umbra
text=Enchant creature -- Enchanted creature gets +4/+4 and has first strike, and all creatures able to block it do so. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={4}{G}{W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Induce Despair name=Induce Despair
text=As an additional cost to cast Induce Despair, reveal a creature card from your hand. -- Target creature gets -X/-X until end of turn, where X is the revealed card's converted mana cost. text=As an additional cost to cast Induce Despair, reveal a creature card from your hand. -- Target creature gets -X/-X until end of turn, where X is the revealed card's converted mana cost.
mana={2}{B} mana={2}{B}
@@ -9506,15 +9334,6 @@ power=4
toughness=6 toughness=6
[/card] [/card]
[card] [card]
name=Kentaro, the Smiling Cat
text=Bushido 1 (When this blocks or becomes blocked, it gets +1/+1 until end of turn.) -- You may pay {X} rather than pay the mana cost for Samurai spells you cast, where X is that spell's converted mana cost.
mana={1}{W}
type=Legendary Creature
subtype=Human Samurai
power=2
toughness=1
[/card]
[card]
name=Keranos, God of Storms name=Keranos, God of Storms
abilities=indestructible abilities=indestructible
text=Indestructible -- As long as your devotion to blue and red is less than seven, Keranos isn't a creature. -- Reveal the first card you draw on each of your turns. Whenever you reveal a land card this way, draw a card. Whenever you reveal a nonland card this way, Keranos deals 3 damage to target creature or player. text=Indestructible -- As long as your devotion to blue and red is less than seven, Keranos isn't a creature. -- Reveal the first card you draw on each of your turns. Whenever you reveal a land card this way, draw a card. Whenever you reveal a nonland card this way, Keranos deals 3 damage to target creature or player.
@@ -9875,15 +9694,6 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Krosan Vorine
text=Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.) -- Krosan Vorine can't be blocked by more than one creature.
mana={3}{G}
type=Creature
subtype=Cat Beast
power=3
toughness=2
[/card]
[card]
name=Krovikan Horror name=Krovikan Horror
text=At the beginning of the end step, if Krovikan Horror is in your graveyard with a creature card directly above it, you may return Krovikan Horror to your hand. -- {1}, Sacrifice a creature: Krovikan Horror deals 1 damage to target creature or player. text=At the beginning of the end step, if Krovikan Horror is in your graveyard with a creature card directly above it, you may return Krovikan Horror to your hand. -- {1}, Sacrifice a creature: Krovikan Horror deals 1 damage to target creature or player.
mana={3}{B} mana={3}{B}
@@ -10288,12 +10098,6 @@ mana={2}{W}{W}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Lightform
text=When Lightform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Lightform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has flying and lifelink.
mana={1}{W}{W}
type=Enchantment
[/card]
[card]
name=Lightning Reflexes name=Lightning Reflexes
text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike. text=You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- Enchant creature -- Enchanted creature gets +1/+0 and has first strike.
mana={1}{R} mana={1}{R}
@@ -10536,25 +10340,6 @@ mana={1}{B}{B}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Lowland Tracker
abilities=first strike
text=First strike -- Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.)
mana={4}{W}
type=Creature
subtype=Human Soldier
power=2
toughness=2
[/card]
[card]
name=Loxodon Smiter
text=Loxodon Smiter can't be countered. -- If a spell or ability an opponent controls causes you to discard Loxodon Smiter, put it onto the battlefield instead of putting it into your graveyard.
mana={1}{G}{W}
type=Creature
subtype=Elephant Soldier
power=4
toughness=4
[/card]
[card]
name=Lullmage Mentor name=Lullmage Mentor
text=Whenever a spell or ability you control counters a spell, you may put a 1/1 blue Merfolk creature token onto the battlefield. -- Tap seven untapped Merfolk you control: Counter target spell. text=Whenever a spell or ability you control counters a spell, you may put a 1/1 blue Merfolk creature token onto the battlefield. -- Tap seven untapped Merfolk you control: Counter target spell.
mana={1}{U}{U} mana={1}{U}{U}
@@ -10625,15 +10410,6 @@ power=1
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Maelstrom Wanderer
text=Creatures you control have haste. -- Cascade, cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom in a random order. Then do it again.)
mana={5}{U}{R}{G}
type=Legendary Creature
subtype=Elemental
power=7
toughness=5
[/card]
[card]
name=Mages' Contest name=Mages' Contest
text=You and target spell's controller bid life. You start the bidding with a bid of 1. In turn order, each player may top the high bid. The bidding ends if the high bid stands. The high bidder loses life equal to the high bid. If you win the bidding, counter that spell. text=You and target spell's controller bid life. You start the bidding with a bid of 1. In turn order, each player may top the high bid. The bidding ends if the high bid stands. The high bidder loses life equal to the high bid. If you win the bidding, counter that spell.
mana={1}{R}{R} mana={1}{R}{R}
@@ -10725,13 +10501,6 @@ power=*
toughness=* toughness=*
[/card] [/card]
[card] [card]
name=Mammoth Umbra
text=Enchant creature -- Enchanted creature gets +3/+3 and has vigilance. -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={4}{W}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Man of Measure name=Man of Measure
text=As long as you're shorter than an opponent, Man of Measure has first strike and gets +0/+1. -- As long as you're taller than an opponent, Man of Measure gets +1/+0. text=As long as you're shorter than an opponent, Man of Measure has first strike and gets +0/+1. -- As long as you're taller than an opponent, Man of Measure gets +1/+0.
mana={1}{W}{W} mana={1}{W}{W}
@@ -10805,12 +10574,6 @@ power=5
toughness=5 toughness=5
[/card] [/card]
[card] [card]
name=Mangara's Blessing
text=You gain 5 life. -- When a spell or ability an opponent controls causes you to discard Mangara's Blessing, you gain 2 life, and you return Mangara's Blessing from your graveyard to your hand at the beginning of the next end step.
mana={2}{W}
type=Instant
[/card]
[card]
name=Mangara's Tome name=Mangara's Tome
text=When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library. -- {2}: The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand. text=When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library. -- {2}: The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand.
mana={5} mana={5}
@@ -11266,12 +11029,6 @@ mana={X}{X}{R}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Metrognome
text=When a spell or ability an opponent controls causes you to discard Metrognome, put four 1/1 colorless Gnome artifact creature tokens onto the battlefield. -- {4}, {T}: Put a 1/1 colorless Gnome artifact creature token onto the battlefield.
mana={4}
type=Artifact
[/card]
[card]
name=Midnight Oil name=Midnight Oil
text=Midnight Oil enters the battlefield with seven hour counters on it. -- At the beginning of your draw step, draw an additional card and remove two hour counters from Midnight Oil. -- Your maximum hand size is equal to the number of hour counters on Midnight Oil. -- Whenever you discard a card, you lose 1 life. text=Midnight Oil enters the battlefield with seven hour counters on it. -- At the beginning of your draw step, draw an additional card and remove two hour counters from Midnight Oil. -- Your maximum hand size is equal to the number of hour counters on Midnight Oil. -- Whenever you discard a card, you lose 1 life.
mana={2}{B}{B} mana={2}{B}{B}
@@ -12532,15 +12289,6 @@ mana={G}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Obstinate Baloth
text=When Obstinate Baloth enters the battlefield, you gain 4 life. -- If a spell or ability an opponent controls causes you to discard Obstinate Baloth, put it onto the battlefield instead of putting it into your graveyard.
mana={2}{G}{G}
type=Creature
subtype=Beast
power=4
toughness=4
[/card]
[card]
name=Odds // Ends name=Odds // Ends
text=Flip a coin. If it comes up heads, counter target instant or sorcery spell. If it comes up tails, copy that spell and you may choose new targets for the copy. -- // -- Target player sacrifices two attacking creatures. text=Flip a coin. If it comes up heads, counter target instant or sorcery spell. If it comes up tails, copy that spell and you may choose new targets for the copy. -- // -- Target player sacrifices two attacking creatures.
mana={U}{R} // {3}{R}{W} mana={U}{R} // {3}{R}{W}
@@ -13928,12 +13676,6 @@ type=Instant
subtype=Arcane subtype=Arcane
[/card] [/card]
[card] [card]
name=Psychic Purge
text=Psychic Purge deals 1 damage to target creature or player. -- When a spell or ability an opponent controls causes you to discard Psychic Purge, that player loses 5 life.
mana={U}
type=Sorcery
[/card]
[card]
name=Psychic Rebuttal name=Psychic Rebuttal
text=Counter target instant or sorcery spell that targets you. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, you may copy the spell countered this way. You may choose new targets for the copy. text=Counter target instant or sorcery spell that targets you. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, you may copy the spell countered this way. You may choose new targets for the copy.
mana={1}{U} mana={1}{U}
@@ -14144,15 +13886,6 @@ power=0
toughness=4 toughness=4
[/card] [/card]
[card] [card]
name=Qarsi High Priest
text={1}{B}, {T}, Sacrifice another creature: Manifest the top card of your library. (Put that card onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
mana={B}
type=Creature
subtype=Human Cleric
power=0
toughness=2
[/card]
[card]
name=Qasali Ambusher name=Qasali Ambusher
abilities=reach abilities=reach
text=Reach -- If a creature is attacking you and you control a Forest and a Plains, you may cast Qasali Ambusher without paying its mana cost and as though it had flash. text=Reach -- If a creature is attacking you and you control a Forest and a Plains, you may cast Qasali Ambusher without paying its mana cost and as though it had flash.
@@ -14163,16 +13896,6 @@ power=2
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Quagnoth
abilities=split second
text=Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.) -- Shroud (This permanent can't be the target of spells or abilities.) -- When a spell or ability an opponent controls causes you to discard Quagnoth, return it to your hand.
mana={5}{G}
type=Creature
subtype=Beast
power=4
toughness=5
[/card]
[card]
name=Quarry Colossus name=Quarry Colossus
text=When Quarry Colossus enters the battlefield, put target creature into its owner's library just beneath the top X cards of that library, where X is the number of Plains you control. text=When Quarry Colossus enters the battlefield, put target creature into its owner's library just beneath the top X cards of that library, where X is the number of Plains you control.
mana={5}{W}{W} mana={5}{W}{W}
@@ -14317,12 +14040,6 @@ mana={4}{PR}
type=Artifact type=Artifact
[/card] [/card]
[card] [card]
name=Rageform
text=When Rageform enters the battlefield, it becomes an Aura with enchant creature. Manifest the top card of your library and attach Rageform to it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Enchanted creature has double strike. (It deals both first-strike and regular combat damage.)
mana={2}{R}{R}
type=Enchantment
[/card]
[card]
name=Raging River name=Raging River
text=Whenever one or more creatures you control attack, each defending player divides all creatures without flying he or she controls into a "left" pile and a "right" pile. Then, for each attacking creature you control, choose "left" or "right." That creature can't be blocked this combat except by creatures with flying and creatures in a pile with the chosen label. text=Whenever one or more creatures you control attack, each defending player divides all creatures without flying he or she controls into a "left" pile and a "right" pile. Then, for each attacking creature you control, choose "left" or "right." That creature can't be blocked this combat except by creatures with flying and creatures in a pile with the chosen label.
mana={R}{R} mana={R}{R}
@@ -15560,15 +15277,6 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Sand Golem
text=When a spell or ability an opponent controls causes you to discard Sand Golem, return Sand Golem from your graveyard to the battlefield with a +1/+1 counter on it at the beginning of the next end step.
mana={5}
type=Artifact Creature
subtype=Golem
power=3
toughness=3
[/card]
[card]
name=Sandals of Abdallah name=Sandals of Abdallah
text={2}, {T}: Target creature gains islandwalk until end of turn. When that creature dies this turn, destroy Sandals of Abdallah. text={2}, {T}: Target creature gains islandwalk until end of turn. When that creature dies this turn, destroy Sandals of Abdallah.
mana={4} mana={4}
@@ -16911,13 +16619,6 @@ power=2
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Snake Umbra
text=Enchant creature -- Enchanted creature gets +1/+1 and has "Whenever this creature deals damage to an opponent, you may draw a card." -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={2}{G}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Snow Mercy name=Snow Mercy
text=Whenever a creature deals damage to you, put a globe counter on it. -- {T}, {untap}, {T}, {untap}, {T}: Tap all creatures with globe counters on them. text=Whenever a creature deals damage to you, put a globe counter on it. -- {T}, {untap}, {T}, {untap}, {T}: Tap all creatures with globe counters on them.
mana={2}{W}{W} mana={2}{W}{W}
@@ -17137,12 +16838,6 @@ mana={X}{B}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Soul Summons
text=Manifest the top card of your library. (Put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
mana={1}{W}
type=Sorcery
[/card]
[card]
name=Soulfire Grand Master name=Soulfire Grand Master
abilities=lifelink abilities=lifelink
text=Lifelink -- Instant and sorcery spells you control have lifelink. -- {2}{UR}{UR}: The next time you cast an instant or sorcery spell from your hand this turn, put that card into your hand instead of into your graveyard as it resolves. text=Lifelink -- Instant and sorcery spells you control have lifelink. -- {2}{UR}{UR}: The next time you cast an instant or sorcery spell from your hand this turn, put that card into your hand instead of into your graveyard as it resolves.
@@ -17421,13 +17116,6 @@ type=Enchantment
subtype=Aura subtype=Aura
[/card] [/card]
[card] [card]
name=Spider Umbra
text=Enchant creature -- Enchanted creature gets +1/+1 and has reach. (It can block creatures with flying.) -- Totem armor (If enchanted creature would be destroyed, instead remove all damage from it and destroy this Aura.)
mana={G}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Spike Cannibal name=Spike Cannibal
text=Spike Cannibal enters the battlefield with a +1/+1 counter on it. -- When Spike Cannibal enters the battlefield, move all +1/+1 counters from all creatures onto it. text=Spike Cannibal enters the battlefield with a +1/+1 counter on it. -- When Spike Cannibal enters the battlefield, move all +1/+1 counters from all creatures onto it.
mana={1}{B}{B} mana={1}{B}{B}
@@ -18054,15 +17742,6 @@ mana={3}{R}
type=Enchantment type=Enchantment
[/card] [/card]
[card] [card]
name=Sultai Emissary
text=When Sultai Emissary dies, manifest the top card of your library. (Put that card onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
mana={1}{B}
type=Creature
subtype=Zombie Warrior
power=1
toughness=1
[/card]
[card]
name=Summary Dismissal name=Summary Dismissal
text=Exile all other spells and counter all abilities. text=Exile all other spells and counter all abilities.
mana={2}{U}{U} mana={2}{U}{U}
@@ -18240,16 +17919,6 @@ mana={4}{U}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Swooping Talon
abilities=flying
text=Flying -- {1}: Swooping Talon loses flying until end of turn. -- Provoke (When this attacks, you may have target creature defending player controls untap and block it if able.)
mana={4}{W}{W}
type=Creature
subtype=Bird Soldier
power=2
toughness=6
[/card]
[card]
name=Sword of the Ages name=Sword of the Ages
text=Sword of the Ages enters the battlefield tapped. -- {T}, Sacrifice Sword of the Ages and any number of creatures you control: Sword of the Ages deals X damage to target creature or player, where X is the total power of the creatures sacrificed this way, then exile Sword of the Ages and those creature cards. text=Sword of the Ages enters the battlefield tapped. -- {T}, Sacrifice Sword of the Ages and any number of creatures you control: Sword of the Ages deals X damage to target creature or player, where X is the total power of the creatures sacrificed this way, then exile Sword of the Ages and those creature cards.
mana={6} mana={6}
@@ -18370,15 +18039,6 @@ mana={G}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Takeno, Samurai General
text=Bushido 2 (When this blocks or becomes blocked, it gets +2/+2 until end of turn.) -- Each other Samurai creature you control gets +1/+1 for each point of bushido it has.
mana={5}{W}
type=Legendary Creature
subtype=Human Samurai
power=3
toughness=3
[/card]
[card]
name=Takklemaggot name=Takklemaggot
text=Enchant creature -- At the beginning of the upkeep of enchanted creature's controller, put a -0/-1 counter on that creature. -- When enchanted creature dies, that creature's controller chooses a creature that Takklemaggot could enchant. If he or she does, return Takklemaggot to the battlefield under your control attached to that creature. If he or she doesn't, return Takklemaggot to the battlefield under your control as a non-Aura enchantment. It loses "enchant creature" and gains "At the beginning of that player's upkeep, Takklemaggot deals 1 damage to him or her." text=Enchant creature -- At the beginning of the upkeep of enchanted creature's controller, put a -0/-1 counter on that creature. -- When enchanted creature dies, that creature's controller chooses a creature that Takklemaggot could enchant. If he or she does, return Takklemaggot to the battlefield under your control attached to that creature. If he or she doesn't, return Takklemaggot to the battlefield under your control as a non-Aura enchantment. It loses "enchant creature" and gains "At the beginning of that player's upkeep, Takklemaggot deals 1 damage to him or her."
mana={2}{B}{B} mana={2}{B}{B}
@@ -18601,15 +18261,6 @@ power=3
toughness=1 toughness=1
[/card] [/card]
[card] [card]
name=Temur War Shaman
text=When Temur War Shaman enters the battlefield, manifest the top card of your library. (Put that card onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Whenever a permanent you control is turned face up, if it's a creature, you may have it fight target creature you don't control.
mana={4}{G}{G}
type=Creature
subtype=Human Shaman
power=4
toughness=5
[/card]
[card]
name=Teremko Griffin name=Teremko Griffin
abilities=flying,banding abilities=flying,banding
text=Flying; banding (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 you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) text=Flying; banding (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 you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)
@@ -20673,12 +20324,6 @@ mana={3}{R}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
name=Wildcall
text=Manifest the top card of your library, then put X +1/+1 counters on it. (To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.)
mana={X}{G}{G}
type=Sorcery
[/card]
[card]
name=Willbender name=Willbender
text=Morph {1}{U} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) -- When Willbender is turned face up, change the target of target spell or ability with a single target. text=Morph {1}{U} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) -- When Willbender is turned face up, change the target of target spell or ability with a single target.
mana={1}{U} mana={1}{U}
@@ -20697,15 +20342,6 @@ power=2
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Wilt-Leaf Liege
text=Other green creatures you control get +1/+1. -- Other white creatures you control get +1/+1. -- If a spell or ability an opponent controls causes you to discard Wilt-Leaf Liege, put it onto the battlefield instead of putting it into your graveyard.
mana={1}{GW}{GW}{GW}
type=Creature
subtype=Elf Knight
power=4
toughness=4
[/card]
[card]
name=Windbrisk Heights name=Windbrisk Heights
text=Hideaway (This land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library.) -- {T}: Add {W} to your mana pool. -- {W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn. text=Hideaway (This land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library.) -- {T}: Add {W} to your mana pool. -- {W}, {T}: You may play the exiled card without paying its mana cost if you attacked with three or more creatures this turn.
type=Land type=Land
@@ -20753,12 +20389,6 @@ mana={X}{U}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Winter's Night
text=Whenever a player taps a snow land for mana, that player adds one mana to his or her mana pool of any type that land produced. That land doesn't untap during its controller's next untap step.
mana={R}{G}{W}
type=World Enchantment
[/card]
[card]
name=Wishmonger name=Wishmonger
text={2}: Target creature gains protection from the color of its controller's choice until end of turn. Any player may activate this ability. text={2}: Target creature gains protection from the color of its controller's choice until end of turn. Any player may activate this ability.
mana={3}{W} mana={3}{W}
@@ -20768,28 +20398,12 @@ power=3
toughness=3 toughness=3
[/card] [/card]
[card] [card]
name=Witch Hunt
text=Players can't gain life. -- At the beginning of your upkeep, Witch Hunt deals 4 damage to you. -- At the beginning of your end step, target opponent chosen at random gains control of Witch Hunt.
mana={4}{R}
type=Enchantment
[/card]
[card]
name=Withdraw name=Withdraw
text=Return target creature to its owner's hand. Then return another target creature to its owner's hand unless its controller pays {1}. text=Return target creature to its owner's hand. Then return another target creature to its owner's hand unless its controller pays {1}.
mana={U}{U} mana={U}{U}
type=Instant type=Instant
[/card] [/card]
[card] [card]
name=Wizened Snitches
abilities=flying
text=Flying -- Players play with the top card of their libraries revealed.
mana={3}{U}
type=Creature
subtype=Faerie Rogue
power=1
toughness=3
[/card]
[card]
name=Wojek Apothecary name=Wojek Apothecary
text=Radiance — {T}: Prevent the next 1 damage that would be dealt to target creature and each other creature that shares a color with it this turn. text=Radiance — {T}: Prevent the next 1 damage that would be dealt to target creature and each other creature that shares a color with it this turn.
mana={2}{W}{W} mana={2}{W}{W}
@@ -20808,12 +20422,6 @@ power=1
toughness=2 toughness=2
[/card] [/card]
[card] [card]
name=Wolfcaller's Howl
text=At the beginning of your upkeep, put X 2/2 green Wolf creature tokens onto the battlefield, where X is the number of your opponents with four or more cards in hand.
mana={3}{G}
type=Enchantment
[/card]
[card]
name=Wood Sage name=Wood Sage
text={T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard. text={T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.
mana={G}{U} mana={G}{U}
+86 -17
View File
@@ -1001,6 +1001,10 @@ private:
{//hand,exile,grave & library only (library zpos is inverted so the recent one is always the top) {//hand,exile,grave & library only (library zpos is inverted so the recent one is always the top)
intValue = card->zpos; intValue = card->zpos;
} }
else if (s == "bushidopoints")
{//bushido point
intValue = card->bushidoPoints;
}
else if (s == "revealedp") else if (s == "revealedp")
{ {
if (card->revealedLast) if (card->revealedLast)
@@ -6843,30 +6847,50 @@ public:
} }
}; };
//Bushido ability todo:add bushido count. //Bushido ability
class ABushidoAbility: public MTGAbility class ABushidoAbility: public MTGAbility
{ {
public: public:
string PowerToughnessModifier; string PowerToughnessModifier;
string bpoints;
ABushidoAbility(GameObserver* observer, int _id, MTGCardInstance * _source, string _PowerToughnessModifier) : ABushidoAbility(GameObserver* observer, int _id, MTGCardInstance * _source, string PowerToughnessModifier, string bpoints) :
MTGAbility(observer, _id, _source) MTGAbility(observer, _id, _source),PowerToughnessModifier(PowerToughnessModifier),bpoints(bpoints)
{ {
PowerToughnessModifier = _PowerToughnessModifier;
} }
int receiveEvent(WEvent * event) void Update(float dt)
{ {
if (dynamic_cast<WEventBlockersChosen*> (event)) if(source->alias == 74534)
{ {//fumiko the lowblood has dynamic bushido
MTGCardInstance * opponent = source->getNextOpponent(); source->bushidoPoints = 0;
if (!opponent) return 0; WParsedInt bushidoPoint(bpoints, NULL, source);
PTInstant * a = NEW PTInstant(game, this->GetId(), source, source,NEW WParsedPT(PowerToughnessModifier,NULL,source)); source->bushidoPoints += bushidoPoint.getValue();
GenericInstantAbility * wrapper = NEW GenericInstantAbility(game, 1, source,source, a);
wrapper->addToGame();
}
return 1;
} }
MTGAbility::Update(dt);
}
int receiveEvent(WEvent * event)
{
if (dynamic_cast<WEventBlockersChosen*> (event))
{
MTGCardInstance * opponent = source->getNextOpponent();
if (!opponent) return 0;
PTInstant * a = NEW PTInstant(game, this->GetId(), source, source,NEW WParsedPT(PowerToughnessModifier,NULL,source));
GenericInstantAbility * wrapper = NEW GenericInstantAbility(game, 1, source,source, a);
wrapper->addToGame();
}
return 1;
}
int addToGame()
{
WParsedInt bushidoPoint(bpoints, NULL, source);
source->bushidoPoints += bushidoPoint.getValue();
return MTGAbility::addToGame();
}
int destroy()
{
WParsedInt bushidoPoint(bpoints, NULL, source);
source->attackCost -= bushidoPoint.getValue();
return 1;
}
ABushidoAbility * clone() const ABushidoAbility * clone() const
{ {
return NEW ABushidoAbility(*this); return NEW ABushidoAbility(*this);
@@ -7337,6 +7361,51 @@ public:
return NEW ATriggerTotem(*this); return NEW ATriggerTotem(*this);
} }
}; };
//Modular Ability
class AModularAbility: public InstantAbility
{
public:
string modularpoint;
AModularAbility(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target, string modularpoint) :
InstantAbility(observer, _id, _source),modularpoint(modularpoint)
{
target = _target;
}
int resolve()
{
MTGCardInstance * card = (MTGCardInstance *) target;
if (card)
{
if(modularpoint == "")
modularpoint = "0";
string counterString = "counter(1/1,";
counterString.append(modularpoint);
counterString.append(")");
AbilityFactory af(card->getObserver());
MTGAbility * modCounter = af.parseMagicLine(counterString,this->GetId(),NULL,card);
modCounter->oneShot = true;
modCounter->canBeInterrupted = false;
modCounter->resolve();
SAFE_DELETE(modCounter);
card->modularPoints += atoi(modularpoint.c_str());
}
return 1;
}
const string getMenuText()
{
return "Modular";
}
virtual ostream& toString(ostream& out) const
{
out << "AAModularAbility ::: (";
return InstantAbility::toString(out) << ")";
}
AModularAbility * clone() const
{
return NEW AModularAbility(*this);
}
};
// utility functions // utility functions
void PopulateColorIndexVector(list<int>& colors, const string& colorsString, char delimiter = ','); void PopulateColorIndexVector(list<int>& colors, const string& colorsString, char delimiter = ',');
+3
View File
@@ -80,6 +80,9 @@ public:
string PhasedOutAbility; string PhasedOutAbility;
void setPhasedOutAbility(const string& value); void setPhasedOutAbility(const string& value);
const string& getPhasedOutAbility() const; const string& getPhasedOutAbility() const;
string ModularValue;
void setModularValue(const string& value);
const string& getModularValue() const;
vector<int>types; vector<int>types;
CardPrimitive(); CardPrimitive();
+3
View File
@@ -121,6 +121,7 @@ public:
int zpos; int zpos;
bool isDualWielding; bool isDualWielding;
bool stillNeeded; bool stillNeeded;
Player * discarderOwner;
Player * lastController; Player * lastController;
Player * previousController; Player * previousController;
MTGGameZone * getCurrentZone(); MTGGameZone * getCurrentZone();
@@ -295,6 +296,8 @@ public:
int imprintR; int imprintR;
int imprintB; int imprintB;
int imprintW; int imprintW;
int bushidoPoints;
int modularPoints;
int canproduceMana(int color = -1); int canproduceMana(int color = -1);
int entersBattlefield; int entersBattlefield;
string currentimprintName; string currentimprintName;
+3 -1
View File
@@ -275,7 +275,9 @@ class Constants
SHOWFROMTOPLIBRARY = 153, SHOWFROMTOPLIBRARY = 153,
SHOWOPPONENTTOPLIBRARY = 154, SHOWOPPONENTTOPLIBRARY = 154,
TOTEMARMOR = 155, TOTEMARMOR = 155,
NB_BASIC_ABILITIES = 156, DISCARDTOPLAYBYOPPONENT = 156,
MODULAR = 157,
NB_BASIC_ABILITIES = 158,
RARITY_S = 'S', //Special Rarity RARITY_S = 'S', //Special Rarity
RARITY_M = 'M', //Mythics RARITY_M = 'M', //Mythics
+12 -1
View File
@@ -3028,6 +3028,10 @@ int AADiscardCard::resolve()
Player * p = _target->controller(); Player * p = _target->controller();
WEvent * e = NEW WEventCardDiscard(_target); WEvent * e = NEW WEventCardDiscard(_target);
game->receiveEvent(e); game->receiveEvent(e);
if(this->source->storedSourceCard)
_target->discarderOwner = this->source->storedSourceCard->controller();
else
_target->discarderOwner = this->source->controller();
p->game->putInGraveyard(_target); p->game->putInGraveyard(_target);
while(_target->next) while(_target->next)
_target = _target->next; _target = _target->next;
@@ -4852,12 +4856,19 @@ int AARandomDiscarder::resolve()
{ {
Targetable * _target = getTarget(); Targetable * _target = getTarget();
Player * player = getPlayerFromTarget(_target); Player * player = getPlayerFromTarget(_target);
MTGCardInstance * _stored = NULL;
if(this->source->storedSourceCard)
_stored = this->source->storedSourceCard;
else
_stored = this->source;
if (player) if (player)
{ {
WParsedInt numCards(nbcardsStr, NULL, source); WParsedInt numCards(nbcardsStr, NULL, source);
for (int i = 0; i < numCards.intValue; i++) for (int i = 0; i < numCards.intValue; i++)
{ {
player->game->discardRandom(player->game->hand, source); player->game->discardRandom(player->game->hand, _stored);
} }
} }
+12
View File
@@ -60,6 +60,7 @@ CardPrimitive::CardPrimitive(CardPrimitive * source)
setAICustomCode(source->AICustomCode); setAICustomCode(source->AICustomCode);
setCrewAbility(source->CrewAbility); setCrewAbility(source->CrewAbility);
setPhasedOutAbility(source->PhasedOutAbility); setPhasedOutAbility(source->PhasedOutAbility);
setModularValue(source->ModularValue);
power = source->power; power = source->power;
toughness = source->toughness; toughness = source->toughness;
restrictions = source->restrictions ? source->restrictions->clone() : NULL; restrictions = source->restrictions ? source->restrictions->clone() : NULL;
@@ -381,6 +382,17 @@ const string& CardPrimitive::getPhasedOutAbility() const
return PhasedOutAbility; return PhasedOutAbility;
} }
void CardPrimitive::setModularValue(const string& value)
{
ModularValue = value;
std::transform(ModularValue.begin(), ModularValue.end(), ModularValue.begin(), ::tolower);
}
const string& CardPrimitive::getModularValue() const
{
return ModularValue;
}
void CardPrimitive::setName(const string& value) void CardPrimitive::setName(const string& value)
{ {
name = value; name = value;
+19 -1
View File
@@ -552,6 +552,18 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
return 0; return 0;
} }
check = restriction[i].find("discardbyopponent");
if(check != string::npos)
{
bool matchOpponent = false;
if(card->discarderOwner)
if(card->controller()->opponent() == card->discarderOwner)
matchOpponent = true;
if(!matchOpponent)
return 0;
}
check = restriction[i].find("copiedacard"); check = restriction[i].find("copiedacard");
if(check != string::npos) if(check != string::npos)
{ {
@@ -3489,7 +3501,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
vector<string>splitPT = split(splitBushido[1],'/'); vector<string>splitPT = split(splitBushido[1],'/');
if(!splitPT.size()) if(!splitPT.size())
return NULL; return NULL;
return NEW ABushidoAbility(observer, id, card,splitBushido[1]); return NEW ABushidoAbility(observer, id, card,splitBushido[1],splitPT[0]);
} }
vector<string> splitPhaseAlter = parseBetween(s, "phasealter(", ")"); vector<string> splitPhaseAlter = parseBetween(s, "phasealter(", ")");
if (splitPhaseAlter.size()) if (splitPhaseAlter.size())
@@ -5315,6 +5327,12 @@ void AbilityFactory::addAbilities(int _id, Spell * spell)
observer->addObserver(NEW AFlankerAbility(observer, _id, card)); observer->addObserver(NEW AFlankerAbility(observer, _id, card));
} }
if(card->basicAbilities[(int)Constants::MODULAR])
{
AModularAbility * ability = NEW AModularAbility(observer, _id, card, card, card->getModularValue());
observer->addObserver(ability);
}
const int HomeAbilities[] = {(int)Constants::FORESTHOME, (int)Constants::ISLANDHOME, (int)Constants::MOUNTAINHOME, (int)Constants::SWAMPHOME, (int)Constants::PLAINSHOME}; const int HomeAbilities[] = {(int)Constants::FORESTHOME, (int)Constants::ISLANDHOME, (int)Constants::MOUNTAINHOME, (int)Constants::SWAMPHOME, (int)Constants::PLAINSHOME};
const char * HomeLands[] = {"forest", "island", "mountain", "swamp", "plains"}; const char * HomeLands[] = {"forest", "island", "mountain", "swamp", "plains"};
+4
View File
@@ -154,6 +154,7 @@ void MTGCardInstance::copy(MTGCardInstance * card)
doubleFaced = data->doubleFaced; doubleFaced = data->doubleFaced;
AICustomCode = data->AICustomCode; AICustomCode = data->AICustomCode;
CrewAbility = data->CrewAbility; CrewAbility = data->CrewAbility;
ModularValue = data->ModularValue;
PhasedOutAbility = data->PhasedOutAbility; PhasedOutAbility = data->PhasedOutAbility;
origpower = card->origpower;//for flip origpower = card->origpower;//for flip
origtoughness = card->origtoughness;//for flip origtoughness = card->origtoughness;//for flip
@@ -279,6 +280,8 @@ void MTGCardInstance::initMTGCI()
imprintR = 0; imprintR = 0;
imprintB = 0; imprintB = 0;
imprintW = 0; imprintW = 0;
bushidoPoints = 0;
modularPoints = 0;
entersBattlefield = 0; entersBattlefield = 0;
currentimprintName = ""; currentimprintName = "";
imprintedNames.clear(); imprintedNames.clear();
@@ -306,6 +309,7 @@ void MTGCardInstance::initMTGCI()
auraParent = NULL; auraParent = NULL;
TokenAndAbility = NULL; TokenAndAbility = NULL;
GrantedAndAbility = NULL; GrantedAndAbility = NULL;
discarderOwner = NULL;
lastController = NULL; lastController = NULL;
regenerateTokens = 0; regenerateTokens = 0;
blocked = false; blocked = false;
+10 -3
View File
@@ -224,9 +224,16 @@ int MTGAllCards::processConfLine(string &s, MTGCard *card, CardPrimitive * primi
case 'm': //mana case 'm': //mana
if (!primitive) primitive = NEW CardPrimitive(); if (!primitive) primitive = NEW CardPrimitive();
{ {
string value = val; if( key == "modular")//modular
std::transform(value.begin(), value.end(), value.begin(), ::tolower); {
primitive->setManaCost(value); primitive->setModularValue(val);
}
else
{
string value = val;
std::transform(value.begin(), value.end(), value.begin(), ::tolower);
primitive->setManaCost(value);
}
} }
break; break;
+3 -1
View File
@@ -186,7 +186,9 @@ const char* Constants::MTGBasicAbilities[] = {
"canplayinstantsorcerylibrarytop",//instant or sorcery "canplayinstantsorcerylibrarytop",//instant or sorcery
"showfromtoplibrary", "showfromtoplibrary",
"showopponenttoplibrary", "showopponenttoplibrary",
"totemarmor" "totemarmor",
"discardtoplaybyopponent",
"modular"
}; };
map<string,int> Constants::MTGBasicAbilitiesMap; map<string,int> Constants::MTGBasicAbilitiesMap;
+48 -1
View File
@@ -343,6 +343,7 @@ MTGCardInstance * MTGPlayerCards::putInHand(MTGCardInstance * card)
MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone * from, MTGGameZone * to,bool asCopy) MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone * from, MTGGameZone * to,bool asCopy)
{ {
MTGCardInstance * copy = NULL; MTGCardInstance * copy = NULL;
Player * discarderOwner = NULL;
GameObserver *g = owner->getObserver(); GameObserver *g = owner->getObserver();
if (!from || !to) if (!from || !to)
return card; //Error check return card; //Error check
@@ -351,6 +352,8 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
bool shufflelibrary = card->basicAbilities[(int)Constants::SHUFFLELIBRARYDEATH]; bool shufflelibrary = card->basicAbilities[(int)Constants::SHUFFLELIBRARYDEATH];
bool inplaytoinplay = false; bool inplaytoinplay = false;
bool ripToken = false; bool ripToken = false;
if (card->discarderOwner)
discarderOwner = card->discarderOwner;
if (g->players[0]->game->battlefield->hasName("Rest in Peace")||g->players[1]->game->battlefield->hasName("Rest in Peace")) if (g->players[0]->game->battlefield->hasName("Rest in Peace")||g->players[1]->game->battlefield->hasName("Rest in Peace"))
ripToken = true; ripToken = true;
//Madness or Put in Play... //Madness or Put in Play...
@@ -420,6 +423,33 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
{ {
copy->miracle = true; copy->miracle = true;
} }
//reset discarder Owner
if(to == g->players[0]->game->hand || to == g->players[0]->game->stack || to == g->players[0]->game->library ||
to == g->players[1]->game->hand || to == g->players[1]->game->stack || to == g->players[1]->game->library)
{
card->discarderOwner = NULL;
copy->discarderOwner = NULL;
}
//copy discarderowner
if (discarderOwner)
{
copy->discarderOwner = discarderOwner;
//change to
if(to == g->players[0]->game->graveyard)
{
if(card->has(Constants::DISCARDTOPLAYBYOPPONENT) && discarderOwner == card->controller()->opponent())
{
to = g->players[0]->game->battlefield;
}
}
else if(to == g->players[1]->game->graveyard)
{
if(card->has(Constants::DISCARDTOPLAYBYOPPONENT) && discarderOwner == card->controller()->opponent())
{
to = g->players[1]->game->battlefield;
}
}
}
if(from == g->players[0]->game->battlefield || from == g->players[1]->game->battlefield) if(from == g->players[0]->game->battlefield || from == g->players[1]->game->battlefield)
if(to != g->players[0]->game->battlefield || to != g->players[1]->game->battlefield) if(to != g->players[0]->game->battlefield || to != g->players[1]->game->battlefield)
{ {
@@ -509,6 +539,21 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
SAFE_DELETE(previous); SAFE_DELETE(previous);
} }
if(to == g->players[0]->game->battlefield || to == g->players[1]->game->battlefield)
{
if(ret->alias == 109736 && discarderOwner)
{
if(discarderOwner == ret->controller()->opponent())
{
AbilityFactory af(g);
MTGAbility * dodeCounter = af.parseMagicLine("counter(1/1,2)",-1,NULL,ret);
dodeCounter->oneShot = true;
dodeCounter->canBeInterrupted = false;
dodeCounter->resolve();
SAFE_DELETE(dodeCounter);
}
}
}
} }
if(!asCopy) if(!asCopy)
{ {
@@ -527,7 +572,7 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
} }
void MTGPlayerCards::discardRandom(MTGGameZone * from, MTGCardInstance *) void MTGPlayerCards::discardRandom(MTGGameZone * from, MTGCardInstance * _stored)
{ {
if (!from->nb_cards) if (!from->nb_cards)
return; return;
@@ -535,6 +580,8 @@ void MTGPlayerCards::discardRandom(MTGGameZone * from, MTGCardInstance *)
WEvent * e = NEW WEventCardDiscard(from->cards[r]); WEvent * e = NEW WEventCardDiscard(from->cards[r]);
GameObserver * game = owner->getObserver(); GameObserver * game = owner->getObserver();
game->receiveEvent(e); game->receiveEvent(e);
if(_stored)
from->cards[r]->discarderOwner = _stored->controller();
putInZone(from->cards[r], from, graveyard); putInZone(from->cards[r], from, graveyard);
} }