Added new primitives from LTC set, improved "_GOAD_" macro, updated missing card by set list, added new keyword "permanent" to target permanents and nonpermanents, added "flashback" option to "castcard" ability, added new ability "unsacrificable" to forbid a player to sacrifice a card.

This commit is contained in:
Vittorio Alfieri
2023-07-07 18:22:58 +02:00
parent deec348fea
commit b791da0786
13 changed files with 787 additions and 26 deletions

View File

@@ -1,4 +1,32 @@
[card]
name=Elrond of the White Council
text=Secret council - When Elrond of the White Council enters the battlefield, each player secretly votes for fellowship or aid, then those votes are revealed. For each fellowship vote, the voter chooses a creature they control. You gain control of each creature chosen this way, and they gain "This creature can't attack its owner." Then for each aid vote, put a +1/+1 counter on each creature you control.
mana={3}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=3
toughness=3
[/card]
[card]
name=Cirdan the Shipwright
abilities=vigilance
text=Vigilance -- Secret council - Whenever Cirdan the Shipwright enters the battlefield or attacks, each player secretly votes for a player, then those votes are revealed. Each player draws a card for each vote they received. Each player who received no votes may put a permanent card from their hand onto the battlefield.
mana={3}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=3
toughness=4
[/card]
[card]
name=Erestor of the Council
text=Whenever players finish voting, each opponent who voted for a choice you voted for creates a Treasure token. You scry X, where X is the number of opponents who voted for a choice you didn't vote for. Draw a card.
mana={1}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=2
toughness=4
[/card]
[card]
name=Harsh Mentor
text=Whenever an opponent activates an ability of an artifact, creature, or land on the battlefield, if it isn't a mana ability, Harsh Mentor deals 2 damage to that player.
mana={1}{R}
@@ -8,18 +36,73 @@ power=2
toughness=2
[/card]
[card]
name=Travel Through Caradhras
text=Council's dilemma - Starting with you, each player votes for Redhorn Pass or Mines of Moria. For each Redhorn Pass vote, search your library for a basic land card and put it onto the battlefield tapped. If you search your library this way, shuffle. For each Mines of Moria vote, return a card from your graveyard to your hand. -- Exile Travel Through Caradhras.
mana={5}{G}
type=Sorcery
[/card]
[card]
name=Trap the Trespassers
text=Secret council - Each player secretly votes for a creature you don't control, then those votes are revealed. For each creature with one or more votes, put that many stun counters on it, then tap it. (If a permanent with a stun counter would become untapped, remove one from it instead.)
mana={2}{U}
type=Instant
[/card]
[card]
name=Galadriel, Elven-Queen
text=Will of the council - At the beginning of combat on your turn, if another Elf entered the battlefield under your control this turn, starting with you, each player votes for dominion or guidance. If dominion gets more votes, the Ring tempts you, then you put a +1/+1 counter on your Ring-bearer. If guidance gets more votes or the vote is tied, draw a card.
mana={2}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=4
toughness=5
[/card]
[card]
name=Rings of Brighthearth
text=Whenever you activate an ability, if it isn't a mana ability, you may pay {2}. If you do, copy that ability. You may choose new targets for the copy.
mana={3}
type=Artifact
[/card]
[card]
name=Sail into the West
text=Will of the council - Starting with you, each player votes for return or embark. If return gets more votes, each player returns up to two cards from their graveyard to their hand, then you exile Sail into the West. If embark gets more votes or the vote is tied, each player may discard their hand and draw seven cards.
mana={2}{G}{U}
type=Instant
[/card]
[card]
name=The Ozolith
text=Whenever a creature you control leaves the battlefield, if it had counters on it, put those counters on The Ozolith. -- At the beginning of combat on your turn, if The Ozolith has counters on it, you may move all counters from The Ozolith onto target creature.
mana={1}
type=Legendary Artifact
[/card]
[card]
name=Erestor of the Council
text=Whenever players finish voting, each opponent who voted for a choice you voted for creates a Treasure token. You scry X, where X is the number of opponents who voted for a choice you didn't vote for. Draw a card.
mana={1}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=2
toughness=4
[/card]
[card]
name=Elrond of the White Council
text=Secret council - When Elrond of the White Council enters the battlefield, each player secretly votes for fellowship or aid, then those votes are revealed. For each fellowship vote, the voter chooses a creature they control. You gain control of each creature chosen this way, and they gain "This creature can't attack its owner." Then for each aid vote, put a +1/+1 counter on each creature you control.
mana={3}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=3
toughness=3
[/card]
[card]
name=Cirdan the Shipwright
abilities=vigilance
text=Vigilance -- Secret council - Whenever Cirdan the Shipwright enters the battlefield or attacks, each player secretly votes for a player, then those votes are revealed. Each player draws a card for each vote they received. Each player who received no votes may put a permanent card from their hand onto the battlefield.
mana={3}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=3
toughness=4
[/card]
[card]
name=Selfless Squire
abilities=flash
text=Flash -- When Selfless Squire enters the battlefield, prevent all damage that would be dealt to you this turn. -- Whenever damage that would be dealt to you is prevented, put that many +1/+1 counters on Selfless Squire.
@@ -30,8 +113,44 @@ power=1
toughness=1
[/card]
[card]
name=Travel Through Caradhras
text=Council's dilemma - Starting with you, each player votes for Redhorn Pass or Mines of Moria. For each Redhorn Pass vote, search your library for a basic land card and put it onto the battlefield tapped. If you search your library this way, shuffle. For each Mines of Moria vote, return a card from your graveyard to your hand. -- Exile Travel Through Caradhras.
mana={5}{G}
type=Sorcery
[/card]
[card]
name=Galadriel, Elven-Queen
text=Will of the council - At the beginning of combat on your turn, if another Elf entered the battlefield under your control this turn, starting with you, each player votes for dominion or guidance. If dominion gets more votes, the Ring tempts you, then you put a +1/+1 counter on your Ring-bearer. If guidance gets more votes or the vote is tied, draw a card.
mana={2}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=4
toughness=5
[/card]
[card]
name=Trap the Trespassers
text=Secret council - Each player secretly votes for a creature you don't control, then those votes are revealed. For each creature with one or more votes, put that many stun counters on it, then tap it. (If a permanent with a stun counter would become untapped, remove one from it instead.)
mana={2}{U}
type=Instant
[/card]
[card]
name=Sail into the West
text=Will of the council - Starting with you, each player votes for return or embark. If return gets more votes, each player returns up to two cards from their graveyard to their hand, then you exile Sail into the West. If embark gets more votes or the vote is tied, each player may discard their hand and draw seven cards.
mana={2}{G}{U}
type=Instant
[/card]
[card]
name=Plea for Power
text=Will of the council - Starting with you, each player votes for time or knowledge. If time gets more votes, take an extra turn after this one. If knowledge gets more votes or the vote is tied, draw three cards.
mana={3}{U}
type=Sorcery
[/card]
[card]
name=Galadriel, Elven-Queen
text=Will of the council - At the beginning of combat on your turn, if another Elf entered the battlefield under your control this turn, starting with you, each player votes for dominion or guidance. If dominion gets more votes, the Ring tempts you, then you put a +1/+1 counter on your Ring-bearer. If guidance gets more votes or the vote is tied, draw a card.
mana={2}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=4
toughness=5
[/card]

View File

@@ -22,7 +22,7 @@
#AUTO_DEFINE _PARTNER_ may name(Put partner in hand) moveto(myhand) target(*[partname]|mylibrary)
# Goad
#AUTO_DEFINE _GOAD_ transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[phaseaction[endofturn next once sourceinplay] removeallcounters(0/0.-1.Goaded)])) forever
#AUTO_DEFINE _GOAD_ transforms((,newability[counter(0/0.1.Goaded) notrg],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[phaseaction[endofturn next once sourceinplay] counter(0/0.-hascntgoaded.Goaded) notrg])) forever
# Rebound
#AUTO_DEFINE _REBOUND_ if rebound then all(this|mystack) moveto(exile) and!( transforms((,newability[@rebounded:may name(Cast rebounded card) activate castcard(normal)])) forever )!

View File

@@ -1,7 +1,7 @@
grade=borderline
#Bordeline Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#I sorted this programmatically - Thanks to Vitty85 06-07-2023
#I sorted this programmatically - Thanks to Vitty85 07-07-2023
[card]
name=+2 Mace
auto={3}:equip
@@ -7599,6 +7599,14 @@ toughness=4
color=green
[/card]
[card]
name=Beast Rad
color=green
type=Creature
subtype=Beast
power=3
toughness=3
[/card]
[card]
name=Beast Saw
type=Creature
subtype=Beast
@@ -8259,6 +8267,18 @@ type=Legendary Artifact
subtype=Equipment
[/card]
[card]
name=Bilbo, Birthday Celebrant
abilities=lifefaker
auto=@lifeof(player) from(*[-lifefaker]|*):life:1 controller
auto=this(variable{lifetotal}>=111) {2}{W}{B}{G}{T}{E}:name(Search library) name(Search library) target(<anyamount>creature|mylibrary) moveto(myBattlefield) and!( shuffle )!
text=If you would gain life, you gain that much life plus 1 instead. -- {2}{W}{B}{G}, {T}, Exile Bilbo, Birthday Celebrant: Search your library for any number of creature cards, put them onto the battlefield, then shuffle. Activate only if you have 111 or more life.
mana={W}{B}{G}
type=Legendary Creature
subtype=Halfling Rogue
power=2
toughness=3
[/card]
[card]
name=Bilbo, Retired Burglar
auto=@combatdamaged(player) from(this):name(Create treasure) token(Treasure)
auto=name(The ring tempts you) ability$!name(The ring tempts you) _RINGTEMPTS_!$ controller
@@ -11172,6 +11192,18 @@ mana={1}{U}
type=Instant
[/card]
[card]
name=Boromir, Gondor's Hope
aicode=activate transforms((,newability[if type(human[zpos<=6]|mylibrary)~morethan~0 then target(human[zpos<=6]|mylibrary) moveto(myhand) and!( all(*[zpos<=6]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!],newability[if type(human[zpos<=6]|mylibrary)~equalto~0 then if type(artifact[zpos<=6]|mylibrary)~morethan~0 then target(artifact[zpos<=6]|mylibrary) moveto(myhand) and!( all(*[zpos<=6]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!],newability[if type(human[zpos<=6]|mylibrary)~equalto~0 then if type(artifact[zpos<=6]|mylibrary)~equalto~0 then all(*[zpos<=6]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot
auto=name(Look top 6 cards) reveal:6 optionone name(Get human or artifact) target(<upto:1>*[human;artifact]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
auto=_ATTACKING_ name(Look top 6 cards) reveal:6 optionone name(Get human or artifact) target(<upto:1>*[human;artifact]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
text=Whenever Boromir, Gondor's Hope enters the battlefield or attacks, look at the top six cards of your library. You may reveal a Human or artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
mana={2}{W}{U}
type=Legendary Creature
subtype=Human Warrior
power=3
toughness=4
[/card]
[card]
name=Boromir, Warden of the Tower
abilities=vigilance
auto=@movedTo(*|opponentstack):name(Counter if no mana spent) all(trigger[to]) name(Counter if no mana spent) transforms((,newability[if compare(totmanaspent)~equalto~0 then name(Counter spell) name(Counter spell) ability$!name(Counter spell) name(Counter spell) target(*|opponentstack) fizzle!$ opponent])) oneshot
@@ -13211,8 +13243,7 @@ toughness=2
[/card]
[card]
name=Call for Aid
#MISSING: You can't sacrifice those creatures this turn.
auto=all(creature|opponentbattlefield) transforms((,newability[moveTo(opponentbattlefield)],newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],newability[haste])) ueot
auto=all(creature|opponentbattlefield) transforms((,newability[moveTo(opponentbattlefield)],newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],newability[haste],newability[unsacrificable])) ueot
auto=emblem transforms((,newability[lord(creature|myBattlefield) cantattack],newability[lord(creature|myBattlefield) cantpwattack])) ueot
text=Gain control of all creatures target opponent controls until end of turn. Untap those creatures. They gain haste until end of turn. You can't attack that player this turn. You can't sacrifice those creatures this turn.
mana={4}{R}
@@ -15095,6 +15126,38 @@ power=1
toughness=4
[/card]
[card]
name=Champions of Minas Tirith
auto=_MONARCH_CONTROLLER_
auto=@each opponent combatbegins restriction{compare(pmonarch)~morethan~0}:name(Opponent creatures can't attack) name(Opponent creatures can't attack) all(creature|opponentbattlefield) name(Opponent creatures can't attack) transforms((,newability[cantattack],newability[cantpwattack])) ueot
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~0}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 0) all(creature|myBattlefield) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~1}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 1) pay({1}) name(Pay 1) all(creature|myBattlefield) name(Pay 1) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~2}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 2) pay({2}) name(Pay 2) all(creature|myBattlefield) name(Pay 2) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~3}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 3) pay({3}) name(Pay 3) all(creature|myBattlefield) name(Pay 3) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~4}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 4) pay({4}) name(Pay 4) all(creature|myBattlefield) name(Pay 4) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~5}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 5) pay({5}) name(Pay 5) all(creature|myBattlefield) name(Pay 5) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~6}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 6) pay({6}) name(Pay 6) all(creature|myBattlefield) name(Pay 6) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~7}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 7) pay({7}) name(Pay 7) all(creature|myBattlefield) name(Pay 7) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~8}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 8) pay({8}) name(Pay 8) all(creature|myBattlefield) name(Pay 8) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~9}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 9) pay({9}) name(Pay 9) all(creature|myBattlefield) name(Pay 9) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~10}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 10) pay({10}) name(Pay 10) all(creature|myBattlefield) name(Pay 10) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~11}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 11) pay({11}) name(Pay 11) all(creature|myBattlefield) name(Pay 11) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~12}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 12) pay({12}) name(Pay 12) all(creature|myBattlefield) name(Pay 12) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~13}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 13) pay({13}) name(Pay 13) all(creature|myBattlefield) name(Pay 13) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~14}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 14) pay({14}) name(Pay 14) all(creature|myBattlefield) name(Pay 14) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~15}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 15) pay({15}) name(Pay 15) all(creature|myBattlefield) name(Pay 15) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~16}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 16) pay({16}) name(Pay 16) all(creature|myBattlefield) name(Pay 16) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~17}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 17) pay({17}) name(Pay 17) all(creature|myBattlefield) name(Pay 17) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~18}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 18) pay({18}) name(Pay 18) all(creature|myBattlefield) name(Pay 18) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~equalto~19}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 19) pay({19}) name(Pay 19) all(creature|myBattlefield) name(Pay 19) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
auto=@each opponent attackers restriction{compare(pmonarch)~morethan~0,type(creature|opponentbattlefield)~morethan~0,type(*|opponenthand)~morethan~19}:name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) name(Opponent can pay x) ability$!may name(Pay 20) pay({20}) name(Pay 20) all(creature|myBattlefield) name(Pay 20) transforms((,newability[-cantattack],newability[-cantpwattack])) ueot!$ opponent
text=When Champions of Minas Tirith enters the battlefield, you become the monarch. -- At the beginning of combat on each opponent's turn, if you're the monarch, that opponent may pay {X}, where X is the number of cards in their hand. If they don't, they can't attack you this combat.
mana={5}{W}
type=Creature
subtype=Human Soldier
power=4
toughness=6
[/card]
[card]
name=Chance Encounter
auto=@coinflipped(*|battlefield) result(won) from(controller):name(Put chance counter) counter(0/0,1,Chance)
auto=@each my upkeep restriction{compare(hascntchance)~morethan~9}:name(Win the game) wingame
@@ -19795,6 +19858,17 @@ mana={2}{B}
type=Artifact
[/card]
[card]
name=Crown of Gondor
auto=@movedto(creature[legendary]|mybattlefield) restriction{compare(pmonarch)~equalto~0,compare(omonarch)~equalto~0}:name(Becomes monarch) ability$!_MONARCH_CONTROLLER_!$ controller
auto=this(variable{pmonarch}>0) {1}:name(Equip as monarch) name(Equip as monarch) name(Equip as monarch) rehook target(creature|mybattlefield)
auto={4}:equip
auto=teach(creature) type:creature:mybattlefield/type:creature:mybattlefield nonstatic
text=Equipped creature gets +1/+1 for each creature you control. -- When a legendary creature enters the battlefield under your control, if there is no monarch, you become the monarch. -- Equip {4}. This ability costs {3} less to activate if you're the monarch.
mana={3}
type=Legendary Artifact
subtype=Equipment
[/card]
[card]
name=Crown of Skemfar
target=creature
auto=foreach(elf|mybattlefield) 1/1
@@ -27762,6 +27836,14 @@ power=3
toughness=5
[/card]
[card]
name=Elf Warrior
color=green
type=Creature
subtype=Elf Warrior
power=1
toughness=1
[/card]
[card]
name=Elfhame Druid
auto={T}:add{G}
auto=this(variable{type:*[haskicker]:myrestrictedcastingzone}>0) {T}:add{G}{G}
@@ -29089,6 +29171,17 @@ power=2
toughness=4
[/card]
[card]
name=Eowyn, Shieldmaiden
abilities=first strike
auto=@each my combatbegins restriction{type(other human[fresh]|myBattlefield)~morethan~0}:name(Create knights) token(Human Knight)*2 && if type(human|myBattlefield)~morethan~5 then name(Draw a card) name(Draw a card) draw:1 controller
text=First strike -- At the beginning of combat on your turn, if another Human entered the battlefield under your control this turn, create two 2/2 red Human Knight creature tokens with trample and haste. Then if you control six or more Humans, draw a card.
mana={2}{U}{R}{W}
type=Legendary Creature
subtype=Human Knight
power=5
toughness=4
[/card]
[card]
name=Ephara's Dispersal
other={U} name(Target attacking creature)
restriction=type(creature|battlefield)~morethan~0
@@ -31865,6 +31958,17 @@ power=3
toughness=3
[/card]
[card]
name=Faramir, Steward of Gondor
auto=@movedTo(creature[legendary&manacost>=4]|mybattlefield):name(You become the monarch) ability$!_MONARCH_CONTROLLER_!$ controller
auto=@each my endofturn restriction{compare(pmonarch)~morethan~0}:name(Create humans) name(Create humans) token(Human Soldier,Creature Human Soldier,1/1,white)*2
text=Whenever a legendary creature with mana value 4 or greater enters the battlefield under your control, you become the monarch. -- At the beginning of your end step, if you're the monarch, create two 1/1 white Human Soldier creature tokens.
mana={1}{W}{U}
type=Legendary Creature
subtype=Human Noble
power=2
toughness=2
[/card]
[card]
name=Farewell
auto=ability$!name(Exile all graveyards) may name(Exile all graveyards) moveto(exile) all(*|graveyard)!$ controller
auto=ability$!name(Exile all enchantments) may name(Exile all enchantments) moveto(exile) all(enchantment)!$ controller
@@ -32117,6 +32221,19 @@ power=1
toughness=1
[/card]
[card]
name=Fealty to the Realm
target=creature
auto=_MONARCH_CONTROLLER_
auto=teach(creature) transforms((,newability[mustattack],newability[@becomesmonarchfoeof(player):name(Monarch controls enchanted creature) moveto(opponentbattlefield)]))
auto=teach(creature|opponentbattlefield) moveto(mybattlefield)
auto=teach(creature|opponentbattlefield) cantattack
auto=teach(creature|opponentbattlefield) cantpwattack
text=Enchant creature -- When Fealty to the Realm enters the battlefield, you become the monarch. -- The monarch controls enchanted creature. -- Enchanted creature attacks each combat if able and can't attack you.
mana={4}{U}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Fear of Death
target=creature
auto=deplete:2 controller
@@ -36213,6 +36330,23 @@ power=2
toughness=4
[/card]
[card]
name=Gandalf, Westward Voyager
auto=@movedTo(creature[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[creature]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
auto=@movedTo(planeswalker[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[planeswalker]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
auto=@movedTo(tribal[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[tribal]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
auto=@movedTo(instant[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[instant]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
auto=@movedTo(sorcery[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[sorcery]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
auto=@movedTo(enchantment[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[enchantment]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
auto=@movedTo(artifact[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[artifact]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
auto=@movedTo(battle[manacost>=5]|mystack):name(Reveal top card) all(*[zpos=1]|opponentlibrary) name(Reveal top card) moveto(myhand) and!( transforms((,newability[choice name(Don't cast copy) moveto(opponentlibrary) and!( draw:1 controller)!],newability[if cantargetcard(*[battle]|*) then choice name(Cast copy) name(Cast copy) moveto(opponentlibrary) and!( activate castcard(copied) and!( draw:1 opponent )! )!])) oneshot )!
text=Whenever you cast a spell with mana value 5 or greater, each opponent reveals the top card of their library. If any of those cards shares a card type with that spell, copy that spell, you may choose new targets for the copy, and each opponent draws a card. Otherwise, you draw a card. (A copy of a permanent spell becomes a token.)
mana={3}{G}{U}
type=Legendary Creature
subtype=Avatar Wizard
power=5
toughness=5
[/card]
[card]
name=Gandalf, White Rider
abilities=vigilance
auto=@movedTo(*|mystack):name(Scry 1) _SCRY1_
@@ -37680,6 +37814,16 @@ power=1
toughness=3
[/card]
[card]
name=Gilraen, Dunedain Protector
auto={2}{T}:name(Exile other creature) target(other creature|myBattlefield) moveto(myexile) and!( transforms((,newability[choice name(Return to battlefield) moveto(ownerbattlefield)],newability[choice name(Don't return now) transforms((,newability[@each endofturn:name(Return on battlefield) moveto(ownerbattlefield) and!( transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>0) lifelink],newability[counter(0/0.1.Vigilance)],newability[this(counter{0/0.1.Vigilance}>0) vigilance])) forever )! ])) forever])) forever )!
text={2}, {T}: Exile another target creature you control. You may return that card to the battlefield under its owner's control. If you don't, at the beginning of the next end step, return that card to the battlefield under its owner's control with a vigilance counter and a lifelink counter on it.
mana={2}{W}
type=Legendary Creature
subtype=Human Noble
power=2
toughness=3
[/card]
[card]
name=Gilt-Blade Prowler
auto=@discarded(*|myHand) turnlimited:all(this) transforms((,newability[{1}{T}{L:1}:draw:1 controller])) ueot
text={1}, {T}, Pay 1 life: Draw a card. Activate only if you've discarded a card this turn.
@@ -40962,6 +41106,19 @@ power=3
toughness=2
[/card]
[card]
name=Grey Host Reinforcements
abilities=flying
auto=_WARD_(3)
auto=choice name(Exile opponent graveyard) all(*|opponentgraveyard) moveto(opponentexile) and!( if cantargetcard(*[creature]|*) then name(Put 1/1 counter) name(Put 1/1 counter) all(this) counter(1/1) )!
auto=choice name(Exile your graveyard) all(*|mygraveyard) moveto(myexile) and!( if cantargetcard(*[creature]|*) then name(Put 1/1 counter) name(Put 1/1 counter) all(this) counter(1/1) )!
text=Flying, ward {3} -- When Grey Host Reinforcements enters the battlefield, exile target player's graveyard. Put a number of +1/+1 counters on Grey Host Reinforcements equal to the number of creature cards exiled this way.
mana={3}{W}
type=Creature
subtype=Spirit Soldier
power=1
toughness=1
[/card]
[card]
name=Grief
abilities=menace
other={E(*[black]|myhand)} name(Evoke)
@@ -41113,6 +41270,18 @@ power=1
toughness=4
[/card]
[card]
name=Grima, Saruman's Footman
abilities=unblockable
auto=@combatdamagefoeof(player) from(this):name(Exile cards) name(Exile cards) transforms((,newability[all(*[zpos=oppofindfirsttypenonpermanent]|opponentlibrary) moveto(myexile) and!( transforms((tobegri,newability[all(*[zpos<=oppofindfirsttypenonpermanent]|opponentlibrary) moveto(opponentexile) and!( bottomoflibrary )!],newability[name(Cast exiled spell) target(tobegri|myexile) transforms((,newability[choice name(Cast card) activate castcard(normal)],newability[choice name(Don't cast card) moveto(opponentexile) and!( bottomoflibrary )!])) oneshot])) oneshot )!])) oneshot
auto=@combatdamageof(player) from(this):name(Exile cards) name(Exile cards) transforms((,newability[all(*[zpos=findfirsttypenonpermanent]|mylibrary) moveto(myexile) and!( transforms((tobegri,newability[all(*[zpos<=findfirsttypenonpermanent]|mylibrary) moveto(myexile) and!( bottomoflibrary )!],newability[name(Cast exiled spell) target(tobegri|myexile) transforms((,newability[choice name(Cast card) activate castcard(normal)],newability[choice name(Don't cast card) bottomoflibrary])) oneshot])) oneshot )!])) oneshot
text=Grima, Saruman's Footman can't be blocked. -- Whenever Grima deals combat damage to a player, that player exiles cards from the top of their library until they exile an instant or sorcery card. You may cast that card without paying its mana cost. Then that player puts the exiled cards that weren't cast this way on the bottom of their library in a random order.
mana={2}{U}{B}
type=Legendary Creature
subtype=Human Advisor
power=1
toughness=4
[/card]
[card]
name=Grimclimb Pathway
auto={T}:add{B}
text={T}: Add {B}. // Brightclimb Pathway
@@ -41966,6 +42135,18 @@ power=4
toughness=4
[/card]
[card]
name=Gwaihir, Greatest of the Eagles
abilities=flying
auto=_ATTACKING_name(Creature gains flying) target(creature[attacking]|battlefield) transforms((,newability[flying])) ueot
auto=@each endofturn restriction{compare(lifegain)~morethan~2}:name(Create bird) name(Create bird) token(Bird,Creature Bird,3/3,white,flying) and!( transforms((,newability[_ATTACKING_name(Creature gains flying) target(creature[attacking]|battlefield) transforms((,newability[flying])) ueot])) forever )!
text=Flying -- Whenever Gwaihir attacks, target attacking creature gains flying until end of turn. -- At the beginning of each end step, if you gained 3 or more life this turn, create a 3/3 white Bird creature token with flying and "Whenever this creature attacks, target attacking creature gains flying until end of turn."
mana={4}{W}
type=Legendary Creature
subtype=Bird Noble
power=5
toughness=5
[/card]
[card]
name=Gwenna, Eyes of Gaea
auto=this(variable{type:creature:myrestrictedcastingzone}>0) {T}:name(Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add black) add{B} _ choice name(Add green) add{G} _ choice name(Add blue) add{U} _ choice name(Add red) add{R}!$ controller
auto=this(variable{type:creature:mybattlefield}>1) {T}:name(Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add black) add{B} _ choice name(Add green) add{G} _ choice name(Add blue) add{U} _ choice name(Add red) add{R}!$ controller
@@ -44705,6 +44886,15 @@ mana={1}{U}
type=Instant
[/card]
[card]
name=Hithlain Rope
abilities=unsacrificable
auto={1}{T}:name(Search Land) moveto(opponentBattlefield) and!( ability$!name(Search Land) target(land[basic]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle])) oneshot )!!$ opponent )!
auto={2}{T}:name(Draw a card) moveto(opponentBattlefield) and!( ability$!draw:1 controller!$ opponent )!
text=Hithlain Rope can't be sacrificed. -- {1}, {T}: Search your library for a basic land card, put it onto the battlefield tapped, then shuffle. The player to your right gains control of Hithlain Rope. -- {2}, {T}: Draw a card. The player to your right gains control of Hithlain Rope.
mana={2}
type=Artifact
[/card]
[card]
name=Hive Mind
auto=@movedto(*[instant;sorcery]|mystack):ability$!name(Copy spell) name(Copy spell) all(*[instant;sorcery]|opponentstack) activate castcard(copied noevent)!$ opponent
auto=@movedto(*[instant;sorcery]|opponentstack):ability$!name(Copy spell) name(Copy spell) all(*[instant;sorcery]|opponentstack) activate castcard(copied noevent)!$ controller
@@ -45704,6 +45894,16 @@ mana={2}{G}{G}
type=Enchantment
[/card]
[card]
name=Human Knight
abilities=trample,haste
text=Trample -- Haste
color=red
type=Creature
subtype=Human Knight
power=2
toughness=2
[/card]
[card]
name=Human Monk
auto={T}:name(Add green) add{G}
text={T}: Add {G}.
@@ -45714,6 +45914,14 @@ power=1
toughness=1
[/card]
[card]
name=Human Soldier
color=white
type=Creature
subtype=Human Soldier
power=1
toughness=1
[/card]
[card]
name=Human Soldier Bas
type=Creature
subtype=Human Soldier
@@ -47257,6 +47465,20 @@ mana={G}{G}
type=Enchantment
[/card]
[card]
name=In the Darkness Bind Them
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
auto=name(Create wraith) token(Wraith,Creature Wraith,3/3,black,menace) and!( ability$!name(The ring tempts you) _RINGTEMPTS_!$ controller )!
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~lessthan~4}:name(Create wraith) name(Create wraith) token(Wraith,Creature Wraith,3/3,black,menace) and!( ability$!name(The ring tempts you) _RINGTEMPTS_!$ controller )!
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~4}:name(Sacrifice) name(Sacrifice) sacrifice
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~4}:name(The ring tempts you) name(The ring tempts you) ability$!name(The ring tempts you) _RINGTEMPTS_!$ controller
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~4}:may name(Gain control of creature) name(Gain control of creature) target(creature|opponentbattlefield) moveTo(mybattlefield) and!( transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],newability[haste])) ueot )!
text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after IV.) -- I, II, III- Create a 3/3 black Wraith creature token with menace. The Ring tempts you. -- IV- For each opponent, gain control of up to one target creature that player controls until end of turn. Untap those creatures. They gain haste until end of turn. The Ring tempts you.
mana={2}{U}{B}{R}
type=Enchantment
subtype=Saga
[/card]
[card]
name=In the Trenches
auto=lord(creature|myBattlefield) +1/+1
auto=this(cantargetcard(*[-effectdone]) {5}{W}:name(Exile nonland permanent) name(Exile nonland permanent) becomes(effectdone) forever && transforms((,newability[name(Exile nonland permanent) (blink)forsrc target(*[-land]|opponentbattlefield)])) forever asSorcery
@@ -55649,6 +55871,15 @@ power=4
toughness=4
[/card]
[card]
name=Lidless Gaze
auto=all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[anytypeofmana uynt],newability[canplayfromexile uynt],newability[@each my untap:name(Put back) moveto(opponentexile)])) forever )!
auto=all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[anytypeofmana uynt],newability[canplayfromexile uynt],newability[@each my untap:name(Put back) moveto(myreveal) and!( moveto(myexile) )!])) forever )!
flashback={2}{B}{R}
text=Exile the top card of each player's library. Until the end of your next turn, you may play those cards, and mana of any type can be spent to cast them. -- Flashback {2}{B}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
mana={2}{B}{R}
type=Sorcery
[/card]
[card]
name=Lier, Disciple of the Drowned
auto=lord(*|stack) nofizzle
auto=lord(instant,sorcery|mygraveyard) tempflashback
@@ -56943,6 +57174,18 @@ power=6
toughness=6
[/card]
[card]
name=Lord of the Nazgul
abilities=flying
auto=lord(wraith|myBattlefield) protection from(*[ringbearer])
auto=@movedTo(*[instant;sorcery]|mystack):name(Create wraith) token(Wraith,Creature Wraith,3/3,black,menace) and!( if type(wraith|myBattlefield)~morethan~8 then all(wraith|myBattlefield) transforms((,setpower=9,settoughness=9)) ueot )!
text=Flying -- Wraiths you control have protection from Ring-bearers. -- Whenever you cast an instant or sorcery spell, create a 3/3 black Wraith creature token with menace. Then if you control nine or more Wraiths, Wraiths you control have base power and toughness 9/9 until end of turn.
mana={3}{U}{B}
type=Legendary Creature
subtype=Wraith Noble
power=4
toughness=3
[/card]
[card]
name=Lord of the Ulvenwald
abilities=nightbound
backside=Kessig Naturalist
@@ -57147,6 +57390,16 @@ mana={W}{W}
type=Instant
[/card]
[card]
name=Lothlorien Blade
auto=teach(creature) transforms((,newability[@combat(attacking) source(this):name(Damage creature) target(creature|opponentbattlefield) damage:power]))
auto=aslongas(elf|myBattlefield) {2}:name(Equip elf) name(Equip elf) name(Equip elf) rehook target(creature[elf]|mybattlefield)
auto={5}:equip
text=Whenever equipped creature attacks, it deals damage equal to its power to target creature defending player controls. -- Equip Elf {2} -- Equip {5}
mana={3}
type=Artifact
subtype=Equipment
[/card]
[card]
name=Lothlorien Lookout
auto=_ATTACKING_ name(Scry 1) _SCRY1_
text=Whenever Lothlorien Lookout attacks, scry 1.
@@ -60299,6 +60552,19 @@ power=2
toughness=2
[/card]
[card]
name=Merry, Warden of Isengard
abilities=partner
partner=Pippin, Warden of Isengard
auto=_PARTNER_
auto=@movedto(artifact|mybattlefield) turnlimited:name(Create soldier) token(Soldier,Creature Soldier,1/1,white,lifelink)
text=Partner with Pippin, Warden of Isengard (When this creature enters the battlefield, target player may put Pippin into their hand from their library, then shuffle.) -- Whenever one or more artifacts enter the battlefield under your control, create a 1/1 white Soldier creature token with lifelink. This ability triggers only once each turn.
mana={1}{G}{W}
type=Legendary Creature
subtype=Halfling Advisor
power=1
toughness=4
[/card]
[card]
name=Mesa Cavalier
abilities=flying
auto=life:2
@@ -61205,6 +61471,17 @@ power=1
toughness=1
[/card]
[card]
name=Mirkwood Trapper
auto=@each opponent blockers restriction{type(creature[attacking]|opponentbattlefield)~morethan~0}:name(Attacking creature gains -2/0) name(Attacking creature gains -2/0) target(creature[attacking]|opponentbattlefield) -2/0 ueot
auto=@combatdamaged(*[planeswalker;battle]|mybattlefield) from(creature[attacking]|opponentbattlefield):name(Attacking creature gains 2/0) name(Attacking creature gains 2/0) ability$!name(Attacking creature gains 2/0) target(creature[attacking]|mybattlefield) 2/0 ueot!$ opponent
text=Whenever a player attacks you, target attacking creature gets -2/-0 until end of turn. -- Whenever a player attacks, if they aren't attacking you, that player chooses an attacking creature. It gets +2/+0 until end of turn.
mana={1}{G}{U}
type=Creature
subtype=Elf Scout
power=1
toughness=4
[/card]
[card]
name=Mirran Banesplitter
abilities=flash
auto=name(Attach to creature) rehook target(creature|mybattlefield)
@@ -62065,6 +62342,18 @@ power=0
toughness=0
[/card]
[card]
name=Model of Unity
#MISSING: Voting
auto={T}:add{W}
auto={T}:add{U}
auto={T}:add{B}
auto={T}:add{R}
auto={T}:add{G}
text=Whenever players finish voting, you and each opponent who voted for a choice you voted for may scry 2. -- {T}: Add one mana of any color.
mana={3}
type=Artifact
[/card]
[card]
name=Moderation
auto=maxCast(*)1
auto=@movedTo(*|mystack):name(Draw a card) draw:1 controller
@@ -62384,6 +62673,17 @@ mana={3}{G}
type=Artifact
[/card]
[card]
name=Monstrosity of the Lake
autohand={2}{cycle}:name(Search island) target(island|myLibrary) moveTo(myHand) and!( shuffle )!
auto=may name(Pay 5 and tap) pay({5}) name(Pay 5 and tap) all(creature|opponentBattlefield) name(Pay 5 and tap) transforms((,newability[tap],newability[counter(0/0.1.Stun)])) oneshot
text=When Monstrosity of the Lake enters the battlefield, you may pay {5}. If you do, tap all creatures your opponents control, then put a stun counter on each of those creatures. (If a permanent with a stun counter would become untapped, remove one from it instead.) -- Islandcycling {2} ({2}, Discard this card: Search your library for an Island card, reveal it, put it into your hand, then shuffle.)
mana={4}{U}
type=Legendary Creature
subtype=Kraken
power=4
toughness=6
[/card]
[card]
name=Monstrous Onslaught
auto=if compare(power:highest:*:mybattlefield)~equalto~1 then ability$!name(Choose a creature) damage:1 target(creature)!$ controller
auto=if compare(power:highest:*:mybattlefield)~equalto~2 then thisforeach(variable{2}) ability$!name(Choose a creature) damage:1 target(creature)!$ controller
@@ -62724,6 +63024,17 @@ power=1
toughness=1
[/card]
[card]
name=Moria Scavenger
abilities=deathtouch,haste
auto={T}:name(Discard and draw) target(*|myhand) transforms((,newability[reject and!( draw:1 controller )!],newability[if cantargetcard(*[creature]|*) then name(Amass orcs 1) name(Amass orcs 1) ability$!name(Amass orcs 1) _AMASSORC1_!$ controller])) oneshot
text=Deathtouch, haste -- {T}, Discard a card: Draw a card. If the discarded card was a creature card, amass Orcs 1. (Put a +1/+1 counter on an Army you control. It's also an Orc. If you don't control an Army, create a 0/0 black Orc Army creature token first.)
mana={1}{B}{R}
type=Creature
subtype=Orc Rogue
power=1
toughness=4
[/card]
[card]
name=Moritte of the Frost
abilities=changeling
auto=if type(creature|mybattlefield)~morethan~0 then choice name(Becomes a copy of creature) name(Becomes a copy of creature) target(creature|mybattlefield) copy and!( transforms((Legendary Snow,newability[counter(1/1.2)],newability[changeling])) forever )!
@@ -66327,6 +66638,20 @@ power=2
toughness=4
[/card]
[card]
name=Oath of Eorl
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
auto=name(Create soldier) token(Human Soldier)*2
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~2}:name(Create knight) name(Create knight) token(Human Knight)*2
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(Sacrifice) name(Sacrifice) sacrifice
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(You become the monarch) name(You become the monarch) ability$!_MONARCH_CONTROLLER_!$ controller
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:may name(Put indestructible counter) name(Put indestructible counter) target(human|mybattlefield) transforms((,newability[counter(0/0.1.Indestructible)],newability[this(counter{0/0.1.Indestructible}>0) indestructible])) forever
text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I- Create two 1/1 white Human Soldier creature tokens. -- II- Create two 2/2 red Human Knight creature tokens with trample and haste. -- III- Put an indestructible counter on up to one target Human. You become the monarch.
mana={3}{R}{W}
type=Enchantment
subtype=Saga
[/card]
[card]
name=Oath of Kaya
auto=damage:3 target(player,creature,planeswalker)
auto=life:3 controller
@@ -70953,6 +71278,20 @@ power=2
toughness=2
[/card]
[card]
name=Pippin, Warden of Isengard
abilities=partner
partner=Merry, Warden of Isengard
auto=_PARTNER_
auto={1}{T}:name(Create food) token(Food)
auto={T}{S(food|mybattlefield)}{S(food|mybattlefield)}{S(food|mybattlefield)}{S(food|mybattlefield)}:name(Creatures gain 3/3 and haste) all(other creature|myBattlefield) transforms((,newability[3/3],newability[haste])) ueot assorcery
text=Partner with Merry, Warden of Isengard (When this creature enters the battlefield, target player may put Merry into their hand from their library, then shuffle) -- {1}, {T}: Create a Food token. -- {T}, Sacrifice four Foods: Other creatures you control get +3/+3 and gain haste until end of turn. Activate only as a sorcery.
mana={B}{G}
type=Legendary Creature
subtype=Halfling Advisor
power=2
toughness=2
[/card]
[card]
name=Pir's Whim
aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land|myLibrary)
auto=name(Search land) reveal:plibrarycount optionone name(choose card) target(land|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend
@@ -74389,6 +74728,18 @@ power=2
toughness=5
[/card]
[card]
name=Radagast, Wizard of Wilds
auto=_WARD_(1)
auto=@targeted(bird|mybattlefield) from(*|opponentzones):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentzones) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) oneshot
auto=@movedTo(*[manacost>=5]|mystack):name(Choose one) transforms((,newability[choice name(Create beast) token(Beast Rad)],newability[choice name(Create bird) token(Bird^Creature Brid^2/2^blue^flying)])) oneshot
text=Ward {1} -- Beasts and Birds you control have ward {1}. -- Whenever you cast a spell with mana value 5 or greater, choose one -- Create a 3/3 green Beast creature token. -- Create a 2/2 blue Bird creature token with flying.
mana={2}{G}{U}
type=Legendary Creature
subtype=Avatar Wizard
power=3
toughness=5
[/card]
[card]
name=Radha, Coalition Warlord
auto=@tapped(this):target(other creature|myBattlefield) pbasiclandtypes/pbasiclandtypes ueot
text=Domain - Whenever Radha, Coalition Warlord becomes tapped, another target creature you control gets +X/+X until end of turn, where X is the number of basic land types among lands you control.
@@ -77004,6 +77355,14 @@ mana={3}
type=Artifact
[/card]
[card]
name=Relic of Sauron
auto={T}:name(Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice add{U} _ choice add{B} _ choice add{R}!$ controller
auto={3}{T}:name(Draw and discard) draw:2 controller && ability$!name(Discard a card) reject notatarget(*|myhand)!$ controller
text={T}: Add two mana in any combination of {U}, {B} and/or {R}. -- {3}, {T}: Draw two cards, then discard a card.
mana={4}
type=Artifact
[/card]
[card]
name=Rem Karolus, Stalwart Slayer
abilities=flying,haste
auto=preventalldamage to(controller) from(*|stack)
@@ -78157,6 +78516,18 @@ mana={G}{U}
type=Instant
[/card]
[card]
name=Riders of Rohan
other={4}{R}{W} name(Dash)
auto=if paid(alternative) then transforms((,newability[haste],newability[phaseaction[endofturn sourceinplay] moveto(ownerhand) all(this)])) forever
auto=name(Create knight) token(Human Knight)*2
text=When Riders of Rohan enters the battlefield, create two 2/2 red Human Knight creature tokens with trample and haste. -- Dash {4}{R}{W} (You may cast this spell for its dash cost. If you do, it gains haste, and it's returned from the battlefield to its owner's hand at the beginning of the next end step.)
mana={3}{R}{W}
type=Creature
subtype=Human Knight
power=4
toughness=4
[/card]
[card]
name=Rielle, the Everwise
auto=foreach(*[instant;sorcery]|myGraveyard) 1/0
auto=@discarded(*|myHand) turnlimited:draw:1 controller
@@ -89260,6 +89631,21 @@ mana={1}{G}{U}{R}
type=Enchantment
[/card]
[card]
name=Song of Earendil
aicode=activate transforms((,newability[draw:2 controller])) oneshot
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
auto=name(Scry 2) scry:2 scrycore delayed dontshow draw:2 controller scrycoreend scryend
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~2}:name(Create bird) name(Create bird) token(Bird,Creature Brid,2/2,blue,flying)
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~2}:name(Create treasure) name(Create treasure) token(Treasure)
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(Sacrifice) name(Sacrifice) sacrifice
auto=@counteradded(0/0,1,Lore) from(this) restriction{compare(hascntlore)~equalto~3}:name(Put flying counter) name(Put flying counter) all(creature[-flying]|mybattlefield) transforms((,newability[counter(0/0.1.Flying)],newability[this(counter{0/0.1.Flying}>0) flying])) forever
text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I- Scry 2, then draw two cards. -- II- Create a Treasure token and a 2/2 blue Bird creature token with flying. -- III- Put a flying counter on each creature you control without flying.
mana={3}{G}{U}
type=Enchantment
subtype=Saga
[/card]
[card]
name=Song of Freyalise
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
@@ -93642,6 +94028,99 @@ type=Instant
subtype=Trap
[/card]
[card]
name=Summons of Saruman
otherrestriction=type(army|mybattlefield)~morethan~0
restriction=type(army|mybattlefield)~equalto~0
other={X}{U}{R}
flashback={3}{U}{R}
autograveyard=this(variable{type:army:mybattlefield}=0) {3}{U}{R}:name(Flashback) name(Flashback) activate castcard(flashback)
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~0 then name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) notatarget(army|myBattlefield) transforms((Orc,newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=0]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~1 then name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1)],newability[deplete:1 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=1]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~2 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.2)],newability[deplete:2 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=2]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~3 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.3)],newability[deplete:3 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=3]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~4 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.4)],newability[deplete:4 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=4]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~5 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.5)],newability[deplete:5 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=5]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~6 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.6)],newability[deplete:6 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=6]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~7 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.7)],newability[deplete:7 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=7]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~8 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.8)],newability[deplete:8 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=8]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~9 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.9)],newability[deplete:9 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=9]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~10 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.10)],newability[deplete:10 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=10]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~11 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.11)],newability[deplete:11 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=11]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~12 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.12)],newability[deplete:12 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=12]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~13 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.13)],newability[deplete:13 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=13]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~14 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.14)],newability[deplete:14 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=14]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~15 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.15)],newability[deplete:15 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=15]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~16 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.16)],newability[deplete:16 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=16]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~17 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.17)],newability[deplete:17 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=17]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~18 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.18)],newability[deplete:18 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=18]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~equalto~19 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.19)],newability[deplete:19 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=19]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then if paid(alternative) then if compare(fullpaid)~morethan~19 then name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) name(Put 1/1 counters) notatarget(army|myBattlefield) transforms((Orc,newability[counter(1/1.20)],newability[deplete:20 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=20]|mygraveyard) activate castcard(normal)!$ controller])) forever
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~0 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=1]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~1 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.1) notatarget(army|myBattlefield)],newability[deplete:1 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=1]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~2 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.2) notatarget(army|myBattlefield)],newability[deplete:2 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=2]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~3 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.3) notatarget(army|myBattlefield)],newability[deplete:3 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=3]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~4 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.4) notatarget(army|myBattlefield)],newability[deplete:4 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=4]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~5 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.5) notatarget(army|myBattlefield)],newability[deplete:5 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=5]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~6 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.6) notatarget(army|myBattlefield)],newability[deplete:6 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=6]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~7 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.7) notatarget(army|myBattlefield)],newability[deplete:7 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=7]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~8 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.8) notatarget(army|myBattlefield)],newability[deplete:8 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=8]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~9 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.9) notatarget(army|myBattlefield)],newability[deplete:9 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=9]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~10 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.10) notatarget(army|myBattlefield)],newability[deplete:10 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=10]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~11 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.11) notatarget(army|myBattlefield)],newability[deplete:11 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=11]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~12 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.12) notatarget(army|myBattlefield)],newability[deplete:12 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=12]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~13 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.13) notatarget(army|myBattlefield)],newability[deplete:13 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=13]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~14 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.14) notatarget(army|myBattlefield)],newability[deplete:14 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=14]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~15 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.15) notatarget(army|myBattlefield)],newability[deplete:15 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=15]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~16 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.16) notatarget(army|myBattlefield)],newability[deplete:16 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=16]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~17 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.17) notatarget(army|myBattlefield)],newability[deplete:17 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=17]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~18 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.18) notatarget(army|myBattlefield)],newability[deplete:18 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=18]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~equalto~19 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.19) notatarget(army|myBattlefield)],newability[deplete:19 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=19]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=ifnot paid(flashback) then ifnot paid(alternative) then if compare(fullpaid)~morethan~19 then name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) name(Create Orc Army) token(Orc Army) and!( transforms((,newability[name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1.20) notatarget(army|myBattlefield)],newability[deplete:20 controller],newability[ability$!name(Cast instant or sorcery) target(*[-permanent&manacost<=20]|mygraveyard) activate castcard(normal)!$ controller])) oneshot )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~0 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 1 card) name(Exile 1 card) name(Exile 1 card) name(Exile 1 card) activate castcard(copied noevent alternative costx!:1:! named!:Summons of Saruman:!) and!( ability$!name(Exile 1 card) target(<1>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~1 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 2 cards) name(Exile 2 cards) name(Exile 2 cards) name(Exile 2 cards) activate castcard(copied noevent alternative costx!:2:! named!:Summons of Saruman:!) and!( ability$!name(Exile 2 cards) target(<2>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~2 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 3 cards) name(Exile 3 cards) name(Exile 3 cards) name(Exile 3 cards) activate castcard(copied noevent alternative costx!:3:! named!:Summons of Saruman:!) and!( ability$!name(Exile 3 cards) target(<3>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~3 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) activate castcard(copied noevent alternative costx!:4:! named!:Summons of Saruman:!) and!( ability$!name(Exile 4 cards) target(<4>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~4 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) activate castcard(copied noevent alternative costx!:5:! named!:Summons of Saruman:!) and!( ability$!name(Exile 5 cards) target(<5>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~5 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) activate castcard(copied noevent alternative costx!:6:! named!:Summons of Saruman:!) and!( ability$!name(Exile 6 cards) target(<6>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~6 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) activate castcard(copied noevent alternative costx!:7:! named!:Summons of Saruman:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~7 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) activate castcard(copied noevent alternative costx!:8:! named!:Summons of Saruman:!) and!( ability$!name(Exile 8 cards) target(<8>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~8 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) activate castcard(copied noevent alternative costx!:9:! named!:Summons of Saruman:!) and!( ability$!name(Exile 9 cards) target(<9>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~9 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) activate castcard(copied noevent alternative costx!:10:! named!:Summons of Saruman:!) and!( ability$!name(Exile 10 cards) target(<10>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~10 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 11 cards) name(Exile 11 cards) name(Exile 11 cards) name(Exile 11 cards) activate castcard(copied noevent alternative costx!:11:! named!:Summons of Saruman:!) and!( ability$!name(Exile 11 cards) target(<11>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~11 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 12 cards) name(Exile 12 cards) name(Exile 12 cards) name(Exile 12 cards) activate castcard(copied noevent alternative costx!:12:! named!:Summons of Saruman:!) and!( ability$!name(Exile 12 cards) target(<12>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~12 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 13 cards) name(Exile 13 cards) name(Exile 13 cards) name(Exile 13 cards) activate castcard(copied noevent alternative costx!:13:! named!:Summons of Saruman:!) and!( ability$!name(Exile 13 cards) target(<13>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~13 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 14 cards) name(Exile 14 cards) name(Exile 14 cards) name(Exile 14 cards) activate castcard(copied noevent alternative costx!:14:! named!:Summons of Saruman:!) and!( ability$!name(Exile 14 cards) target(<14>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~14 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 15 cards) name(Exile 15 cards) name(Exile 15 cards) name(Exile 15 cards) activate castcard(copied noevent alternative costx!:15:! named!:Summons of Saruman:!) and!( ability$!name(Exile 15 cards) target(<15>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~15 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 16 cards) name(Exile 16 cards) name(Exile 16 cards) name(Exile 16 cards) activate castcard(copied noevent alternative costx!:16:! named!:Summons of Saruman:!) and!( ability$!name(Exile 16 cards) target(<16>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~16 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 17 cards) name(Exile 17 cards) name(Exile 17 cards) name(Exile 17 cards) activate castcard(copied noevent alternative costx!:17:! named!:Summons of Saruman:!) and!( ability$!name(Exile 17 cards) target(<17>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~17 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 18 cards) name(Exile 18 cards) name(Exile 18 cards) name(Exile 18 cards) activate castcard(copied noevent alternative costx!:18:! named!:Summons of Saruman:!) and!( ability$!name(Exile 18 cards) target(<18>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~18 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 19 cards) name(Exile 19 cards) name(Exile 19 cards) name(Exile 19 cards) activate castcard(copied noevent alternative costx!:19:! named!:Summons of Saruman:!) and!( ability$!name(Exile 19 cards) target(<19>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~19 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 20 cards) name(Exile 20 cards) name(Exile 20 cards) name(Exile 20 cards) activate castcard(copied noevent alternative costx!:20:! named!:Summons of Saruman:!) and!( ability$!name(Exile 20 cards) target(<20>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~0 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 1 card) name(Exile 1 card) name(Exile 1 card) name(Exile 1 card) activate castcard(copied noevent costx!:1:! named!:Summons of Saruman:!) and!( ability$!name(Exile 1 card) target(<1>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~1 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 2 cards) name(Exile 2 cards) name(Exile 2 cards) name(Exile 2 cards) activate castcard(copied noevent costx!:2:! named!:Summons of Saruman:!) and!( ability$!name(Exile 2 cards) target(<2>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~2 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 3 cards) name(Exile 3 cards) name(Exile 3 cards) name(Exile 3 cards) activate castcard(copied noevent costx!:3:! named!:Summons of Saruman:!) and!( ability$!name(Exile 3 cards) target(<3>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~3 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) activate castcard(copied noevent costx!:4:! named!:Summons of Saruman:!) and!( ability$!name(Exile 4 cards) target(<4>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~4 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) activate castcard(copied noevent costx!:5:! named!:Summons of Saruman:!) and!( ability$!name(Exile 5 cards) target(<5>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~5 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) activate castcard(copied noevent costx!:6:! named!:Summons of Saruman:!) and!( ability$!name(Exile 6 cards) target(<6>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~6 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) activate castcard(copied noevent costx!:7:! named!:Summons of Saruman:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~7 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) activate castcard(copied noevent costx!:8:! named!:Summons of Saruman:!) and!( ability$!name(Exile 8 cards) target(<8>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~8 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) activate castcard(copied noevent costx!:9:! named!:Summons of Saruman:!) and!( ability$!name(Exile 9 cards) target(<9>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~9 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) activate castcard(copied noevent costx!:10:! named!:Summons of Saruman:!) and!( ability$!name(Exile 10 cards) target(<10>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~10 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 11 cards) name(Exile 11 cards) name(Exile 11 cards) name(Exile 11 cards) activate castcard(copied noevent costx!:11:! named!:Summons of Saruman:!) and!( ability$!name(Exile 11 cards) target(<11>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~11 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 12 cards) name(Exile 12 cards) name(Exile 12 cards) name(Exile 12 cards) activate castcard(copied noevent costx!:12:! named!:Summons of Saruman:!) and!( ability$!name(Exile 12 cards) target(<12>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~12 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 13 cards) name(Exile 13 cards) name(Exile 13 cards) name(Exile 13 cards) activate castcard(copied noevent costx!:13:! named!:Summons of Saruman:!) and!( ability$!name(Exile 13 cards) target(<13>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~13 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 14 cards) name(Exile 14 cards) name(Exile 14 cards) name(Exile 14 cards) activate castcard(copied noevent costx!:14:! named!:Summons of Saruman:!) and!( ability$!name(Exile 14 cards) target(<14>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~14 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 15 cards) name(Exile 15 cards) name(Exile 15 cards) name(Exile 15 cards) activate castcard(copied noevent costx!:15:! named!:Summons of Saruman:!) and!( ability$!name(Exile 15 cards) target(<15>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~15 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 16 cards) name(Exile 16 cards) name(Exile 16 cards) name(Exile 16 cards) activate castcard(copied noevent costx!:16:! named!:Summons of Saruman:!) and!( ability$!name(Exile 16 cards) target(<16>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~16 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 17 cards) name(Exile 17 cards) name(Exile 17 cards) name(Exile 17 cards) activate castcard(copied noevent costx!:17:! named!:Summons of Saruman:!) and!( ability$!name(Exile 17 cards) target(<17>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~17 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 18 cards) name(Exile 18 cards) name(Exile 18 cards) name(Exile 18 cards) activate castcard(copied noevent costx!:18:! named!:Summons of Saruman:!) and!( ability$!name(Exile 18 cards) target(<18>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~18 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 19 cards) name(Exile 19 cards) name(Exile 19 cards) name(Exile 19 cards) activate castcard(copied noevent costx!:19:! named!:Summons of Saruman:!) and!( ability$!name(Exile 19 cards) target(<19>*|mygraveyard) moveto(myexile)!$ controller )!
auto=if paid(flashback) then if type(*|mygraveyard)~morethan~19 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 20 cards) name(Exile 20 cards) name(Exile 20 cards) name(Exile 20 cards) activate castcard(copied noevent costx!:20:! named!:Summons of Saruman:!) and!( ability$!name(Exile 20 cards) target(<20>*|mygraveyard) moveto(myexile)!$ controller )!
text=Amass Orcs X. Mill X cards. You may cast an instant or sorcery spell with mana value X or less from among them without paying its mana cost. (To amass Orcs X, put X +1/+1 counters on an Army you control. It's also an Orc. If you don't control an Army, create a 0/0 black Orc Army creature token first.) -- Flashback-{3}{U}{R}, Exile X cards from your graveyard.
mana={X}{U}{R}
type=Sorcery
[/card]
[card]
name=Sun Sentinel
abilities=vigilance
text=Vigilance (Attacking doesn't cause this creature to tap.)
@@ -95991,6 +96470,14 @@ mana={U}
type=Sorcery
[/card]
[card]
name=Taunt from the Rampart
auto=all(creature|opponentBattlefield) _GOAD_
auto=all(creature|opponentBattlefield) transforms((,newability[counter(0/0.1.Cantblock) notrg],newability[this(counter{0/0.1.Cantblock}>0) cantblock],newability[phaseaction[endofturn next once sourceinplay] counter(0/0.-hascntcantblock.Cantblock) notrg])) forever
text=Goad all creatures your opponents control. Until your next turn, those creatures can't block. (Until your next turn, those creatures attack each combat if able and attack a player other than you if able.)
mana={3}{R}{W}
type=Sorcery
[/card]
[card]
name=Taunting Arbormage
kicker={3}
auto=if paid(kicker) then target(creature) lure ueot
@@ -97164,6 +97651,18 @@ type=Land
subtype=Sphere
[/card]
[card]
name=The Balrog of Moria
abilities=haste,trample,cycling
autohand=__CYCLING__({3}{R}) && token(Treasure)*2
auto=_DIES_ may name(Exile balrog) all(trigger[to]) moveto(exile) and!( ability$!name(Exile opponent creature) target(creature|opponentBattlefield) moveto(exile)!$ controller )!
text=Trample, haste -- When The Balrog of Moria dies, you may exile it. When you do, for each opponent, exile up to one target creature that player controls. -- Cycling {3}{R} ({3}{R}, Discard this card: Draw a card.) -- When you cycle The Balrog of Moria, create two Treasure tokens.
mana={4}{B}{B}{R}
type=Legendary Creature
subtype=Avatar Demon
power=8
toughness=8
[/card]
[card]
name=The Balrog, Durin's Bane
abilities=haste
anyzone=@sacrificed(*|battlefield):name(Cost 1 less) transforms((,newability[changecost(colorless:-1)])) ueot
@@ -97275,6 +97774,18 @@ mana={2}{B}
type=Sorcery
[/card]
[card]
name=The Black Gate
auto=tap(noevent)
auto=may name(Pay 3 life) pay({L:3}) name(Pay 3 life) untap
auto={T}:add{B}
auto={1}{B}{T} restriction{compare(lifetotal)~lessthan~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|mybattlefield) transforms((,newability[unblockable])) ueot
auto={1}{B}{T} restriction{compare(lifetotal)~equalto~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|battlefield) transforms((,newability[unblockable])) ueot
auto={1}{B}{T} restriction{compare(lifetotal)~morethan~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|opponentbattlefield) transforms((,newability[unblockable])) ueot
text=As The Black Gate enters the battlefield, you may pay 3 life. If you don't, it enters the battlefield tapped. -- {T}: Add {B}. -- {1}{B}, {T}: Choose a player with the most life or tied for most life. Target creature can't be blocked by creatures that player controls this turn.
type=Legendary Land
subtype=Gate
[/card]
[card]
name=The Blackstaff of Waterdeep
abilities=doesnotuntap
auto=@each my untap:if cantargetcard(*[tapped]|mybattlefield) then may name(Untap Blackstaff of Waterdeep) name(Untap Blackstaff of Waterdeep) untap
@@ -100268,6 +100779,14 @@ power=2
toughness=3
[/card]
[card]
name=Too Greedily, Too Deep
target=creature|graveyard
auto=name(Return on battlefield) moveto(mybattlefield) and!( transforms((,newability[name(Deal damage) damage:power all(other creature|battlefield)])) oneshot )!
text=Put target creature card from a graveyard onto the battlefield under your control. That creature deals damage equal to its power to each other creature.
mana={5}{B}{R}
type=Sorcery
[/card]
[card]
name=Took Reaper
auto=_DIES_ability$!name(The ring tempts you) _RINGTEMPTS_!$ controller
text=When Took Reaper dies, the Ring tempts you.
@@ -101197,6 +101716,19 @@ text={T}: Add {C}. -- {X}{X}, {T}, Sacrifice Treasure Vault: Create X Treasure t
type=Artifact Land
[/card]
[card]
name=Treebeard, Gracious Host
abilities=trample
auto=_WARD_(2)
auto=name(Create foods) token(Food)*2
auto=@lifeof(player):name(Put 1/1 counters) target(*[halfling;treefolk]|battlefield) counter(1/1,thatmuch)
text=Trample, ward {2} -- When Treebeard, Gracious Host enters the battlefield, create two Food tokens. -- Whenever you gain life, put that many +1/+1 counters on target Halfling or Treefolk.
mana={2}{G}{W}
type=Legendary Creature
subtype=Treefolk
power=0
toughness=5
[/card]
[card]
name=Treefolk Umbra
abilities=totemarmor
target=creature
@@ -106703,6 +107235,14 @@ power=2
toughness=2
[/card]
[card]
name=Wake the Dragon
auto=name(Create dragon) token(Dragon,Creature Dragon,6/6,black,red,flying,menace) and!( transforms((,newability[@combatdamageof(player) from(this):name(Gain control of artifact) target(artifact|mybattlefield) moveto(mybattlefield)],newability[@combatdamagefoeof(player) from(this):name(Gain control of artifact) target(artifact|opponentBattlefield) moveto(mybattlefield)])) forever )!
flashback={6}{B}{R}
text=Create a 6/6 black and red Dragon creature token with flying, menace, and "Whenever this creature deals combat damage to a player, gain control of target artifact that player controls." -- Flashback {6}{B}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
mana={4}{B}{R}
type=Sorcery
[/card]
[card]
name=Wake the Past
auto=all(artifact|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[haste])) ueot )!
text=Return all artifact cards from your graveyard to the battlefield. They gain haste until end of turn.
@@ -108654,6 +109194,15 @@ power=3
toughness=3
[/card]
[card]
name=Windswift Slice
target=creature|mybattlefield
auto=emblem transforms((,newability[@damaged(creature|opponentbattlefield) from(creature|mybattlefield) once:name(Create warriors) token(Elf Warrior)*excessdamage])) ueot
auto=transforms((,newability[name(Damage opponent creature) damage:power target(creature|opponentbattlefield)])) ueot
text=Target creature you control deals damage equal to its power to target creature you don't control. Create a number of 1/1 green Elf Warrior creature tokens equal to the amount of excess damage dealt this way.
mana={2}{G}
type=Instant
[/card]
[card]
name=Wing Commando
abilities=flying
auto=@movedTo(*[-creature]|mystack):1/1 ueot

View File

@@ -2,7 +2,7 @@ grade=unsupported
#The cards in this file are not implemented/incomplete yet.
#Updated Card lists not in primitives (Borderline, Crappy, Unsupported and Missing Cards)
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#I sorted this programatically - Vitty85 06-07-2023
#I sorted this programatically - Vitty85 07-07-2023
[card]
name="Ach! Hans, Run!"
text=At the beginning of your upkeep, you may say "Ach Hans, run It's the . . ." and name a creature card. If you do, search your library for the named card, put it into play, then shuffle your library. That creature has haste. Remove it from the game at end of turn.
@@ -1663,6 +1663,16 @@ mana={1}{W}
type=Enchantment
[/card]
[card]
name=Cirdan the Shipwright
abilities=vigilance
text=Vigilance -- Secret council - Whenever Cirdan the Shipwright enters the battlefield or attacks, each player secretly votes for a player, then those votes are revealed. Each player draws a card for each vote they received. Each player who received no votes may put a permanent card from their hand onto the battlefield.
mana={3}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=3
toughness=4
[/card]
[card]
name=City in a Bottle
text=Whenever a nontoken permanent from the Arabian Nights expansion other than City in a Bottle is on the battlefield, its controller sacrifices it. -- Players can't play cards from the Arabian Nights expansion.
mana={2}
@@ -2837,6 +2847,15 @@ type=Plane
subtype=Shandalar
[/card]
[card]
name=Elrond of the White Council
text=Secret council - When Elrond of the White Council enters the battlefield, each player secretly votes for fellowship or aid, then those votes are revealed. For each fellowship vote, the voter chooses a creature they control. You gain control of each creature chosen this way, and they gain "This creature can't attack its owner." Then for each aid vote, put a +1/+1 counter on each creature you control.
mana={3}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=3
toughness=3
[/card]
[card]
name=Elspeth's Talent
target=planeswalker
auto=teach(creature) Enchant planeswalker
@@ -3024,6 +3043,15 @@ mana={2}{W}
type=Instant
[/card]
[card]
name=Erestor of the Council
text=Whenever players finish voting, each opponent who voted for a choice you voted for creates a Treasure token. You scry X, where X is the number of opponents who voted for a choice you didn't vote for. Draw a card.
mana={1}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=2
toughness=4
[/card]
[card]
name=Errand of Duty
text=Put a 1/1 white Knight creature token with banding onto the battlefield. (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}
@@ -3681,6 +3709,15 @@ power=*
toughness=*
[/card]
[card]
name=Galadriel, Elven-Queen
text=Will of the council - At the beginning of combat on your turn, if another Elf entered the battlefield under your control this turn, starting with you, each player votes for dominion or guidance. If dominion gets more votes, the Ring tempts you, then you put a +1/+1 counter on your Ring-bearer. If guidance gets more votes or the vote is tied, draw a card.
mana={2}{G}{U}
type=Legendary Creature
subtype=Elf Noble
power=4
toughness=5
[/card]
[card]
name=Game Preserve
text=At the beginning of your upkeep, each player reveals the top card of his or her library. If all cards revealed this way are creature cards, put those cards onto the battlefield under their owners' control.
mana={2}{G}
@@ -8841,6 +8878,12 @@ type=Enchantment
subtype=Aura
[/card]
[card]
name=Sail into the West
text=Will of the council - Starting with you, each player votes for return or embark. If return gets more votes, each player returns up to two cards from their graveyard to their hand, then you exile Sail into the West. If embark gets more votes or the vote is tied, each player may discard their hand and draw seven cards.
mana={2}{G}{U}
type=Instant
[/card]
[card]
name=Saint Traft and Rem Karolus
auto=@tapped(this):create(human:creature human:1/1:red)
auto=@movedTo(|mystack):untap saint traft && rem karolus
@@ -11225,6 +11268,18 @@ mana={U}{U}
type=Sorcery
[/card]
[card]
name=Trap the Trespassers
text=Secret council - Each player secretly votes for a creature you don't control, then those votes are revealed. For each creature with one or more votes, put that many stun counters on it, then tap it. (If a permanent with a stun counter would become untapped, remove one from it instead.)
mana={2}{U}
type=Instant
[/card]
[card]
name=Travel Through Caradhras
text=Council's dilemma - Starting with you, each player votes for Redhorn Pass or Mines of Moria. For each Redhorn Pass vote, search your library for a basic land card and put it onto the battlefield tapped. If you search your library this way, shuffle. For each Mines of Moria vote, return a card from your graveyard to your hand. -- Exile Travel Through Caradhras.
mana={5}{G}
type=Sorcery
[/card]
[card]
name=Traveling Plague
text=Enchant creature -- At the beginning of each upkeep, put a plague counter on Traveling Plague. -- Enchanted creature gets -1/-1 for each plague counter on Traveling Plague. -- When enchanted creature leaves the battlefield, that creature's controller returns Traveling Plague from its owner's graveyard to the battlefield.
mana={3}{B}{B}

View File

@@ -7143,7 +7143,8 @@ public:
int kicked;
int costx;
bool flipped;
AACastCard(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target, bool restricted, bool copied, bool _asNormal, string nameCard, string abilityName, bool _noEvent, bool putinplay, bool asNormalMadness = false, bool alternative = false, int kicked = 0, int costx = 0, bool flipped = false);
bool flashback;
AACastCard(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target, bool restricted, bool copied, bool _asNormal, string nameCard, string abilityName, bool _noEvent, bool putinplay, bool asNormalMadness = false, bool alternative = false, int kicked = 0, int costx = 0, bool flipped = false, bool flashback = false);
int testDestroy(){return 0;};
void Update(float dt);

View File

@@ -54,6 +54,7 @@ class CardDescriptor: public MTGCardInstance
int modified;
int toxicity;
int hasPartner;
int isPermanent;
int hasXCost;
int anyCounter;
int init();
@@ -66,6 +67,7 @@ class CardDescriptor: public MTGCardInstance
void unsecureSetModified(int k);
void unsecureSetHasToxic(int k);
void unsecureSetHasPartner(int k);
void unsecureSetIsPermanent(int k);
void unsecureSetTapped(int i);
void unsecuresetfresh(int k);
void unsecuresetrecent(int j);

View File

@@ -361,7 +361,8 @@ class Constants
POISONNINETOXIC = 233,
POISONTENTOXIC = 234,
EQPASINST = 235,
NB_BASIC_ABILITIES = 236,
UNSACRIFICABLE = 236,
NB_BASIC_ABILITIES = 237,
RARITY_S = 'S', //Special Rarity
RARITY_M = 'M', //Mythics

View File

@@ -4404,6 +4404,7 @@ int AASacrificeCard::resolve()
MTGCardInstance * _target = (MTGCardInstance *) target;
if (_target)
{
if(_target->has(Constants::UNSACRIFICABLE)) return 0; // The card cannot be sacrified (e.g. "Hithlain Rope")
if(_target->mutation && _target->parentCards.size() > 0) return 0; // Mutated down cards cannot be sacrificed or exploited, they will follow the fate of top-card
Player * p = _target->controller();
MTGCardInstance * beforeCard = _target;
@@ -9628,7 +9629,7 @@ void ABlink::returnCardIntoPlay(MTGCardInstance* _target) {
}
}*/
//replaced with castcard(putinplay)
MTGAbility *a = NEW AACastCard(game, game->mLayers->actionLayer()->getMaxId(), Blinker, Blinker,false,false,false,"","Return to Play",false,true);
MTGAbility *a = NEW AACastCard(game, game->mLayers->actionLayer()->getMaxId(), Blinker, Blinker, false, false, false, "", "Return to Play", false, true);
a->oneShot = false;
a->canBeInterrupted = false;
a->addToGame();
@@ -10012,8 +10013,8 @@ AEquip * AEquip::clone() const
}
// casting a card for free, or casting a copy of a card.
AACastCard::AACastCard(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target,bool _restricted,bool _copied,bool asNormal,string _namedCard,string _name,bool _noEvent,bool putinplay,bool madness, bool alternative, int kicked, int costx, bool flipped) :
MTGAbility(observer, _id, _source),restricted(_restricted),asCopy(_copied),normal(asNormal),cardNamed(_namedCard),nameThis(_name),noEvent(_noEvent),putinplay(putinplay), asNormalMadness(madness), alternative(alternative), kicked(kicked), costx(costx), flipped(flipped)
AACastCard::AACastCard(GameObserver* observer, int _id, MTGCardInstance * _source, MTGCardInstance * _target, bool _restricted, bool _copied, bool asNormal, string _namedCard, string _name, bool _noEvent, bool putinplay, bool madness, bool alternative, int kicked, int costx, bool flipped, bool flashback) :
MTGAbility(observer, _id, _source), restricted(_restricted), asCopy(_copied), normal(asNormal), cardNamed(_namedCard), nameThis(_name), noEvent(_noEvent), putinplay(putinplay), asNormalMadness(madness), alternative(alternative), kicked(kicked), costx(costx), flipped(flipped), flashback(flashback)
{
target = _target;
andAbility = NULL;
@@ -10134,12 +10135,6 @@ void AACastCard::Update(float dt)
return;
}
}
/*if(!toCheck->hasType(Subtypes::TYPE_INSTANT) && !(game->getCurrentGamePhase() == MTG_PHASE_FIRSTMAIN || game->getCurrentGamePhase() == MTG_PHASE_SECONDMAIN))
{
processed = true;
this->forceDestroy = 1;
return;
}*/
}
MTGCardInstance * toCheck = (MTGCardInstance*)target;
if(theNamedCard)
@@ -10275,7 +10270,6 @@ int AACastCard::resolveSpell()
processed = true;
return 1;
}
if(theNamedCard)
{
Spell * spell = NULL;
@@ -10318,6 +10312,8 @@ int AACastCard::resolveSpell()
copy->isToken = 1; // Fixed a bug when using copied option with namedcard option.
if(alternative)
copy->alternateCostPaid[ManaCost::MANA_PAID_WITH_ALTERNATIVE] = 1;
if(flashback)
copy->alternateCostPaid[ManaCost::MANA_PAID_WITH_FLASHBACK] = 1;
if(kicked > 0){
copy->alternateCostPaid[ManaCost::MANA_PAID_WITH_KICKER] = 1;
copy->kicked = kicked;
@@ -10372,7 +10368,6 @@ int AACastCard::resolveSpell()
processed = true;
return 1;
}
Spell * spell = NULL;
MTGCardInstance * copy = NULL;
if ((normal || asNormalMadness) || !_target->isSorceryorInstant())
@@ -10413,6 +10408,8 @@ int AACastCard::resolveSpell()
copy->isToken = 1; // Fixed a bug when using copied option for permanent.
if(alternative)
copy->alternateCostPaid[ManaCost::MANA_PAID_WITH_ALTERNATIVE] = 1;
if(flashback)
copy->alternateCostPaid[ManaCost::MANA_PAID_WITH_FLASHBACK] = 1;
if(kicked > 0){
copy->alternateCostPaid[ManaCost::MANA_PAID_WITH_KICKER] = 1;
copy->kicked = kicked;

View File

@@ -31,6 +31,7 @@ CardDescriptor::CardDescriptor()
hasFlashbackCost = 0;
hasBackSide = 0;
hasPartner = 0;
isPermanent = 0;
modified = 0;
toxicity = 0;
hasXCost = 0;
@@ -106,6 +107,11 @@ void CardDescriptor::unsecureSetHasPartner(int k)
hasPartner = k;
}
void CardDescriptor::unsecureSetIsPermanent(int k)
{
isPermanent = k;
}
void CardDescriptor::unsecureSetTapped(int i)
{
tapped = i;
@@ -383,6 +389,11 @@ MTGCardInstance * CardDescriptor::match(MTGCardInstance * card)
match = NULL;
}
if ((isPermanent == -1 && card->isPermanent()) || (isPermanent == 1 && !card->isPermanent()))
{
match = NULL;
}
if ((hasXCost == -1 && card->getManaCost()->hasX()) || (hasXCost == 1 && !card->getManaCost()->hasX()))
{
match = NULL;

View File

@@ -1594,6 +1594,18 @@ bool CardGui::FilterCard(MTGCard * _card,string filter)
cd.unsecureSetHasPartner(1);
}
}
//Is a permanent
else if (attribute.find("permanent") != string::npos)
{
if (minus)
{
cd.unsecureSetIsPermanent(-1);
}
else
{
cd.unsecureSetIsPermanent(1);
}
}
//Token
else if (attribute.find("token") != string::npos)
{

View File

@@ -4093,6 +4093,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
bool sendNoEvent = splitCastCard[1].find("noevent") != string::npos;
bool putinplay = splitCastCard[1].find("putinplay") != string::npos;
bool alternative = splitCastCard[1].find("alternative") != string::npos;
bool flashback = splitCastCard[1].find("flashback") != string::npos;
bool flipped = splitCastCard[1].find("flipped") != string::npos;
string nameCard = "";
if(splitCastCard[1].find("named!:") != string::npos)
@@ -4123,7 +4124,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
costx = val->getValue();
}
}
MTGAbility *a = NEW AACastCard(observer, id, card, target,withRestrictions,asCopy,asNormal,nameCard,newName,sendNoEvent,putinplay, asNormalMadness, alternative, kicked, costx, flipped);
MTGAbility *a = NEW AACastCard(observer, id, card, target, withRestrictions, asCopy, asNormal, nameCard, newName, sendNoEvent, putinplay, asNormalMadness, alternative, kicked, costx, flipped, flashback);
a->oneShot = false;
if(splitCastCard[1].find("trigger[to]") != string::npos)
{
@@ -4135,12 +4136,12 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
storedAndAbility.clear();
((AACastCard*)a)->andAbility = parseMagicLine(stored, id, spell, card);
}
MTGCardInstance * _target = NULL;
if (spell)
_target = spell->getNextCardTarget();
if(!_target)
_target = target;
a->target = _target;
MTGCardInstance * _target = NULL;
if (spell)
_target = spell->getNextCardTarget();
if(!_target)
_target = target;
a->target = _target;
return a;
}

View File

@@ -266,7 +266,8 @@ const char* Constants::MTGBasicAbilities[] = {
"poisoneighttoxic", // Card has toxic 8
"poisonninetoxic", // Card has toxic 9
"poisontentoxic", // Card has toxic 10
"eqpasinst" // Can equip as instant
"eqpasinst", // Can equip as instant
"unsacrificable" // The card cannot be sacrified (e.g. "Hithlain Rope").
};
map<string,int> Constants::MTGBasicAbilitiesMap;

View File

@@ -689,6 +689,18 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
cd->unsecureSetHasPartner(1);
}
}
//Is a permanent
else if (attribute.find("permanent") != string::npos)
{
if (minus)
{
cd->unsecureSetIsPermanent(-1);
}
else
{
cd->unsecureSetIsPermanent(1);
}
}
//Token
else if (attribute.find("token") != string::npos)
{