Added/fixed primitives, updated the "missing_cards_by_sets" folder, added a new trigger when a player shuffles his/her library, added new keywords "plastshlturn" and "olastshlturn" to retrieve the last turn a player shuffled his/her library, refactoring of some source files.
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
## [master] (https://github.com/WagicProject/wagic/tree/master)
|
||||
|
||||
### 30/08/21
|
||||
- *Committed:* Fixed dat file for J21 set, improved Android downloader for J21 set. ([Vitty85](https://github.com/Vitty85))
|
||||
- *Committed:* Added/fixed primitives, updated the "missing_cards_by_sets" folder, added a new trigger when a player shuffles his/her library, added new keywords "plastshlturn" and "olastshlturn" to retrieve the last turn a player shuffled his/her library, refactoring of some source files. ([Vitty85](https://github.com/Vitty85))
|
||||
|
||||
- *Committed:* Fixed dat file for J21 set, improved Android downloader for J21 set. https://github.com/WagicProject/wagic/commit/e1f91a50f6fa607ad3672433e00ceb1c25feb631 ([Vitty85](https://github.com/Vitty85))
|
||||
|
||||
### 29/08/21
|
||||
- *Committed:* Fixed dat file for MB1, PRM and PSAL sets. https://github.com/WagicProject/wagic/commit/790f02905ac44cbcabd2fa7cd00ea11e6a36379c ([Vitty85](https://github.com/Vitty85))
|
||||
|
||||
@@ -20,12 +20,6 @@ power=2
|
||||
toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Reverse Damage
|
||||
text=The next time a source of your choice would deal damage to you this turn, prevent that damage. You gain life equal to the damage prevented this way.
|
||||
mana={1}{W}{W}
|
||||
@@ -38,12 +32,6 @@ mana={4}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Tariff
|
||||
text=Each player sacrifices the creature he or she controls with the highest converted mana cost unless he or she pays that creature's mana cost. If two creatures a player controls are tied for highest cost, that player chooses one.
|
||||
mana={1}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Library of Lat-Nam
|
||||
text=An opponent chooses one You draw three cards at the beginning of the next turn's upkeep; or you search your library for a card, put that card into your hand, then shuffle your library.
|
||||
mana={4}{U}
|
||||
|
||||
@@ -59,16 +59,6 @@ mana={2}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Notion Thief
|
||||
abilities=flash
|
||||
text=Flash -- If an opponent would draw a card except the first one he or she draws in each of his or her draw steps, instead that player skips that draw and you draw a card.
|
||||
mana={2}{U}{B}
|
||||
type=Creature
|
||||
subtype=Human Rogue
|
||||
power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Deadly Designs
|
||||
text={2}: Put a plot counter on Deadly Designs. Any player may activate this ability. -- When there are five or more plot counters on Deadly Designs, sacrifice it. If you do, destroy up to two target creatures.
|
||||
mana={1}{B}
|
||||
@@ -84,9 +74,3 @@ subtype=Angel
|
||||
power=5
|
||||
toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
|
||||
@@ -64,13 +64,6 @@ mana={4}{U}{U}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Cobra Trap
|
||||
text=If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay Cobra Trap's mana cost. -- Put four 1/1 green Snake creature tokens onto the battlefield.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Karmic Justice
|
||||
text=Whenever a spell or ability an opponent controls destroys a noncreature permanent you control, you may destroy target permanent that opponent controls.
|
||||
mana={2}{W}
|
||||
|
||||
@@ -56,12 +56,6 @@ mana={2}{W}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Silumgar's Command
|
||||
text=Choose two -- Counter target noncreature spell. -- Return target permanent to its owner's hand. -- Target creature gets -3/-3 until end of turn. -- Destroy target planeswalker.
|
||||
mana={3}{U}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Teferi's Protection
|
||||
abilities=exiledeath
|
||||
text=Until your next turn, your life total can't change and you gain protection from everything. All permanents you control phase out. (While they're phased out, they're treated as though they don't exist. They phase in before you untap during your untap step.) -- Exile Teferi's Protection.
|
||||
|
||||
@@ -114,13 +114,6 @@ mana={5}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Cranial Extraction
|
||||
text=Name a nonland card. Search target player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={3}{B}
|
||||
type=Sorcery
|
||||
subtype=Arcane
|
||||
[/card]
|
||||
[card]
|
||||
name=Dampen Thought
|
||||
text=Target player puts the top four cards of his or her library into his or her graveyard. -- Splice onto Arcane {1}{U} (As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.)
|
||||
mana={1}{U}
|
||||
|
||||
@@ -85,29 +85,12 @@ mana={1}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Cobra Trap
|
||||
text=If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay Cobra Trap's mana cost. -- Put four 1/1 green Snake creature tokens onto the battlefield.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Pollen Lullaby
|
||||
text=Prevent all combat damage that would be dealt this turn. Clash with an opponent. If you win, creatures that player controls don't untap during the player's next untap step. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.)
|
||||
mana={1}{W}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Gomazoa
|
||||
abilities=defender,flying
|
||||
text=Defender, flying -- {T}: Put Gomazoa and each creature it's blocking on top of their owners' libraries, then those players shuffle their libraries.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
subtype=Jellyfish
|
||||
power=0
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Scattering Stroke
|
||||
text=Counter target spell. Clash with an opponent. If you win, at the beginning of your next main phase, you may add {X} to your mana pool, where X is that spell's converted mana cost. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.)
|
||||
mana={2}{U}{U}
|
||||
|
||||
@@ -201,15 +201,6 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Wood Sage
|
||||
text={T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.
|
||||
mana={G}{U}
|
||||
type=Creature
|
||||
subtype=Human Druid
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Whispergear Sneak
|
||||
text=Draft Whispergear Sneak face up. -- During the draft, you may turn Whispergear Sneak face down. If you do, look at any unopened booster pack in the draft or any booster pack not being looked at by another player.
|
||||
mana={1}
|
||||
|
||||
@@ -17,16 +17,6 @@ mana={U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Notion Thief
|
||||
abilities=flash
|
||||
text=Flash -- If an opponent would draw a card except the first one he or she draws in each of his or her draw steps, instead that player skips that draw and you draw a card.
|
||||
mana={2}{U}{B}
|
||||
type=Creature
|
||||
subtype=Human Rogue
|
||||
power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Varolz, the Scar-Striped
|
||||
text=Each creature card in your graveyard has scavenge. The scavenge cost is equal to its mana cost. (Exile a creature card from your graveyard and pay its mana cost: Put a number of +1/+1 counters equal to that card's power on target creature. Scavenge only as a sorcery.) -- Sacrifice another creature: Regenerate Varolz, the Scar-Striped.
|
||||
mana={1}{B}{G}
|
||||
|
||||
@@ -99,12 +99,6 @@ power=1
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Silumgar's Command
|
||||
text=Choose two -- Counter target noncreature spell. -- Return target permanent to its owner's hand. -- Target creature gets -3/-3 until end of turn. -- Destroy target planeswalker.
|
||||
mana={3}{U}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Obscuring AEther
|
||||
text=Face-down creature spells you cast cost {1} less to cast. -- {1}{G}: Turn Obscuring AEther face down. (It becomes a 2/2 creature.)
|
||||
mana={G}
|
||||
|
||||
@@ -5,12 +5,6 @@ mana={G}{W}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Silumgar's Command
|
||||
text=Choose two -- Counter target noncreature spell. -- Return target permanent to its owner's hand. -- Target creature gets -3/-3 until end of turn. -- Destroy target planeswalker.
|
||||
mana={3}{U}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Stifle
|
||||
text=Counter target activated or triggered ability. (Mana abilities can't be targeted.)
|
||||
mana={U}
|
||||
|
||||
@@ -301,15 +301,6 @@ power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Merieke Ri Berit
|
||||
text=Merieke Ri Berit doesn't untap during your untap step. -- {T}: Gain control of target creature for as long as you control Merieke Ri Berit. When Merieke Ri Berit leaves the battlefield or becomes untapped, destroy that creature. It can't be regenerated.
|
||||
mana={W}{U}{B}
|
||||
type=Legendary Creature
|
||||
subtype=Human
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Chaos Moon
|
||||
text=At the beginning of each upkeep, count the number of permanents. If the number is odd, until end of turn, red creatures get +1/+1 and whenever a player taps a Mountain for mana, that player adds {R} to his or her mana pool (in addition to the mana the land produces). If the number is even, until end of turn, red creatures get -1/-1 and if a player taps a Mountain for mana, that Mountain produces colorless mana instead of any other type.
|
||||
mana={3}{R}
|
||||
|
||||
@@ -5,12 +5,6 @@ mana={4}
|
||||
type=Legendary Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Stain the Mind
|
||||
text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Name a nonland card. Search target player's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={4}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Might Makes Right
|
||||
text=At the beginning of combat on your turn, if you control each creature on the battlefield with the greatest power, gain control of target creature an opponent controls until end of turn. Untap that creature. It gains haste until end of turn. (It can attack and {T} this turn.)
|
||||
mana={5}{R}
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
[card]
|
||||
name=Pyromancer Ascension
|
||||
text=Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension. -- Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.
|
||||
mana={1}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Soul Ransom
|
||||
text=Enchant creature -- You control enchanted creature. -- Discard two cards: Soul Ransom's controller sacrifices it, then draws two cards. Only any opponent may activate this ability.
|
||||
mana={2}{U}{B}
|
||||
@@ -12,13 +6,6 @@ type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Summoning Trap
|
||||
text=If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay Summoning Trap's mana cost. -- Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in any order.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Wort, the Raidmother
|
||||
text=When Wort, the Raidmother enters the battlefield, put two 1/1 red and green Goblin Warrior creature tokens onto the battlefield. -- Each red or green instant or sorcery spell you cast has conspire. (As you cast the spell, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose new targets for the copy.)
|
||||
mana={4}{RG}{RG}
|
||||
|
||||
@@ -23,9 +23,3 @@ text=Change the target of target spell with a single target unless that spell's
|
||||
mana={U}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
|
||||
@@ -68,12 +68,6 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychogenic Probe
|
||||
text=Whenever a spell or ability causes a player to shuffle his or her library, Psychogenic Probe deals 2 damage to him or her.
|
||||
mana={2}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Timesifter
|
||||
text=At the beginning of each upkeep, each player exiles the top card of his or her library. The player who exiled the card with the highest converted mana cost takes an extra turn after this one. If two or more players' cards are tied for highest cost, the tied players repeat this process until the tie is broken.
|
||||
mana={5}
|
||||
|
||||
@@ -1,16 +1,4 @@
|
||||
[card]
|
||||
name=Psychic Surgery
|
||||
text=Whenever an opponent shuffles his or her library, you may look at the top two cards of that library. You may exile one of those cards. Then put the rest on top of that library in any order.
|
||||
mana={1}{U}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Exclusion Ritual
|
||||
text=Imprint When Exclusion Ritual enters the battlefield, exile target nonland permanent. -- Players can't cast spells with the same name as the exiled card.
|
||||
mana={4}{W}{W}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Spellskite
|
||||
text={PU}: Change a target of target spell or ability to Spellskite. ({PU} can be paid with either {U} or 2 life.)
|
||||
mana={2}
|
||||
|
||||
@@ -106,12 +106,6 @@ mana={1}{W}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Pyromancer Ascension
|
||||
text=Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension. -- Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.
|
||||
mana={1}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Shuriken
|
||||
text=Equipped creature has "{T}, Unattach Shuriken: Shuriken deals 2 damage to target creature. That creature's controller gains control of Shuriken unless it was unattached from a Ninja." -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)
|
||||
mana={1}
|
||||
|
||||
@@ -183,12 +183,6 @@ power=3
|
||||
toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Horizon Boughs
|
||||
text=All permanents untap during each players untap step. -- Whenever you roll {K}, you may search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle.
|
||||
type=Plane
|
||||
@@ -228,12 +222,6 @@ text={3}, {T}: Tap target creature you control and target creature of an opponen
|
||||
type=Land
|
||||
[/card]
|
||||
[card]
|
||||
name=Memoricide
|
||||
text=Name a nonland card. Search target player's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={3}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Mirrored Depths
|
||||
text=Whenever a player casts a spell, that player flips a coin. If the player loses the flip, counter that spell. -- Whenever you roll {K}, target player reveals the top card of their library. If its a nonland card, you may cast it without paying its mana cost.
|
||||
type=Plane
|
||||
|
||||
@@ -41,12 +41,6 @@ power=6
|
||||
toughness=6
|
||||
[/card]
|
||||
[card]
|
||||
name=Slaughter Games
|
||||
text=Slaughter Games can't be countered by spells or abilities. -- Name a nonland card. Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={2}{B}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Sphinx of the Chimes
|
||||
abilities=flying
|
||||
text=Flying -- Discard two nonland cards with the same name: Draw four cards.
|
||||
|
||||
@@ -8,12 +8,6 @@ power=4
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Memoricide
|
||||
text=Name a nonland card. Search target player's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={3}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Strata Scythe
|
||||
text=Imprint When Strata Scythe enters the battlefield, search your library for a land card, exile it, then shuffle your library. -- Equipped creature gets +1/+1 for each land on the battlefield with the same name as the exiled card. -- Equip {3}
|
||||
mana={3}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
[card]
|
||||
name=Pyromancer Ascension
|
||||
text=Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension. -- Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.
|
||||
mana={1}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
@@ -1,13 +1,4 @@
|
||||
[card]
|
||||
name=Meletis Charlatan
|
||||
text={2}{U}, {T}: The controller of target instant or sorcery spell copies it. That player may choose new targets for the copy.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
subtype=Human Wizard
|
||||
power=2
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Steam Augury
|
||||
text=Reveal the top five cards of your library and separate them into two piles. An opponent chooses one of those piles. Put that pile into your hand and the other into your graveyard.
|
||||
mana={2}{U}{R}
|
||||
@@ -32,9 +23,3 @@ subtype=Human Soldier
|
||||
power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Intrusion
|
||||
text=Target opponent reveals his or her hand. You choose a nonland card from that player's graveyard or hand and exile it. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell.
|
||||
mana={3}{U}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
|
||||
@@ -72,13 +72,6 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Corpse Dance
|
||||
buyback={2}{B}{2}
|
||||
text=Buyback {2} (You may pay an additional {2} as you cast this spell. If you do, put this card into your hand as it resolves.) -- Return the top creature card of your graveyard to the battlefield. That creature gains haste until end of turn. Exile it at the beginning of the next end step.
|
||||
mana={2}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Oracle en-Vec
|
||||
text={T}: Target opponent chooses any number of creatures he or she controls. During that player's next turn, the chosen creatures attack if able, and other creatures can't attack. At the beginning of that turn's end step, destroy each of the chosen creatures that didn't attack. Activate this ability only during your turn.
|
||||
mana={1}{W}
|
||||
@@ -154,15 +147,6 @@ power=0
|
||||
toughness=0
|
||||
[/card]
|
||||
[card]
|
||||
name=Wood Sage
|
||||
text={T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.
|
||||
mana={G}{U}
|
||||
type=Creature
|
||||
subtype=Human Druid
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Flowstone Salamander
|
||||
text={R}: Flowstone Salamander deals 1 damage to target creature blocking it.
|
||||
mana={3}{R}{R}
|
||||
|
||||
@@ -17,12 +17,6 @@ mana={R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Flaming Gambit
|
||||
text=Flaming Gambit deals X damage to target player. That player may choose a creature he or she controls and have Flaming Gambit deal that damage to it instead. -- Flashback {X}{R}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
|
||||
mana={X}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Radiate
|
||||
text=Choose target instant or sorcery spell that targets only a single permanent or player. Copy that spell for each other permanent or player the spell could target. Each copy targets a different one of those permanents and players.
|
||||
mana={3}{R}{R}
|
||||
|
||||
@@ -15,13 +15,6 @@ mana={2}{U}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Corpse Dance
|
||||
buyback={2}{B}{2}
|
||||
text=Buyback {2} (You may pay an additional {2} as you cast this spell. If you do, put this card into your hand as it resolves.) -- Return the top creature card of your graveyard to the battlefield. That creature gains haste until end of turn. Exile it at the beginning of the next end step.
|
||||
mana={2}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Volrath's Curse
|
||||
text=Enchant creature -- Enchanted creature can't attack or block, and its activated abilities can't be activated. That creature's controller may sacrifice a permanent for that player to ignore this effect until end of turn. -- {1}{U}: Return Volrath's Curse to its owner's hand.
|
||||
mana={1}{U}
|
||||
@@ -106,12 +99,3 @@ subtype=Zombie Wizard
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Wood Sage
|
||||
text={T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.
|
||||
mana={G}{U}
|
||||
type=Creature
|
||||
subtype=Human Druid
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
|
||||
@@ -11,15 +11,6 @@ power=1
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Merieke Ri Berit
|
||||
text=Merieke Ri Berit doesn't untap during your untap step. -- {T}: Gain control of target creature for as long as you control Merieke Ri Berit. When Merieke Ri Berit leaves the battlefield or becomes untapped, destroy that creature. It can't be regenerated.
|
||||
mana={W}{U}{B}
|
||||
type=Legendary Creature
|
||||
subtype=Human
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Spitting Slug
|
||||
text=Whenever Spitting Slug blocks or becomes blocked, you may pay {1}{G}. If you do, Spitting Slug gains first strike until end of turn. Otherwise, each creature blocking or blocked by Spitting Slug gains first strike until end of turn.
|
||||
mana={1}{G}{G}
|
||||
|
||||
@@ -144,24 +144,12 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Breathstealer's Crypt
|
||||
text=If a player would draw a card, instead he or she draws a card and reveals it. If it's a creature card, that player discards it unless he or she pays 3 life.
|
||||
mana={2}{U}{B}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Corrosion
|
||||
text=Cumulative upkeep {1} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) -- At the beginning of your upkeep, put a rust counter on each artifact target opponent controls. Then destroy each artifact with converted mana cost less than or equal to the number of rust counters on it. Artifacts destroyed this way can't be regenerated. -- When Corrosion leaves the battlefield, remove all rust counters from all permanents.
|
||||
mana={1}{B}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Forbidden Ritual
|
||||
text=Sacrifice a nontoken permanent. If you do, target opponent loses 2 life unless he or she sacrifices a permanent or discards a card. You may repeat this process any number of times.
|
||||
mana={2}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Necromancy
|
||||
text=You may cast Necromancy as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. -- When Necromancy enters the battlefield, if it's on the battlefield, it becomes an Aura with "enchant creature put onto the battlefield with Necromancy." Put target creature card from a graveyard onto the battlefield under your control and attach Necromancy to it. When Necromancy leaves the battlefield, that creature's controller sacrifices it.
|
||||
mana={2}{B}
|
||||
|
||||
@@ -18,12 +18,6 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Kithkin Armor
|
||||
text=Enchant creature -- Enchanted creature can't be blocked by creatures with power 3 or greater. -- Sacrifice Kithkin Armor: The next time a source of your choice would deal damage to enchanted creature this turn, prevent that damage.
|
||||
mana={W}
|
||||
@@ -31,12 +25,6 @@ type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Tariff
|
||||
text=Each player sacrifices the creature he or she controls with the highest converted mana cost unless he or she pays that creature's mana cost. If two creatures a player controls are tied for highest cost, that player chooses one.
|
||||
mana={1}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Volunteer Reserves
|
||||
abilities=banding
|
||||
text=Banding (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) -- Cumulative upkeep {1} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)
|
||||
@@ -71,21 +59,6 @@ mana={R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Goblin Grenadiers
|
||||
text=Whenever Goblin Grenadiers attacks and isn't blocked, you may sacrifice it. If you do, destroy target creature and target land.
|
||||
mana={3}{R}
|
||||
type=Creature
|
||||
subtype=Goblin
|
||||
power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Bosium Strip
|
||||
text={3}, {T}: Until end of turn, if the top card of your graveyard is an instant or sorcery card, you may cast that card. If a card cast this way would be put into a graveyard this turn, exile it instead.
|
||||
mana={3}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Mana Web
|
||||
text=Whenever a land an opponent controls is tapped for mana, tap all lands that player controls that could produce any type of mana that land could produce.
|
||||
mana={3}
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
[card]
|
||||
name=Ricochet Trap
|
||||
text=If an opponent cast a blue spell this turn, you may pay {R} rather than pay Ricochet Trap's mana cost. -- Change the target of target spell with a single target.
|
||||
mana={3}{R}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Rumbling Aftershocks
|
||||
text=Whenever you cast a kicked spell, you may have Rumbling Aftershocks deal damage to target creature or player equal to the number of times that spell was kicked.
|
||||
mana={4}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Razor Boomerang
|
||||
text=Equipped creature has "{T}, Unattach Razor Boomerang: Razor Boomerang deals 1 damage to target creature or player. Return Razor Boomerang to its owner's hand." -- Equip {2}
|
||||
mana={3}
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
[card]
|
||||
name=Kalitas, Bloodchief of Ghet
|
||||
text={B}{B}{B}, {T}: Destroy target creature. If that creature dies this way, put a black Vampire creature token onto the battlefield. Its power is equal to that creature's power and its toughness is equal to that creature's toughness.
|
||||
mana={5}{B}{B}
|
||||
type=Legendary Creature
|
||||
subtype=Vampire Warrior
|
||||
power=5
|
||||
toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Cosi's Trickster
|
||||
text=Whenever an opponent shuffles his or her library, you may put a +1/+1 counter on Cosi's Trickster.
|
||||
mana={U}
|
||||
type=Creature
|
||||
subtype=Merfolk Wizard
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Gomazoa
|
||||
abilities=defender,flying
|
||||
text=Defender, flying -- {T}: Put Gomazoa and each creature it's blocking on top of their owners' libraries, then those players shuffle their libraries.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
subtype=Jellyfish
|
||||
power=0
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Summoning Trap
|
||||
text=If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay Summoning Trap's mana cost. -- Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in any order.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Archive Trap
|
||||
text=If an opponent searched his or her library this turn, you may pay {0} rather than pay Archive Trap's mana cost. -- Target opponent puts the top thirteen cards of his or her library into his or her graveyard.
|
||||
mana={3}{U}{U}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Cobra Trap
|
||||
text=If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay Cobra Trap's mana cost. -- Put four 1/1 green Snake creature tokens onto the battlefield.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Pyromancer Ascension
|
||||
text=Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension. -- Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.
|
||||
mana={1}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Mindbreak Trap
|
||||
text=If an opponent cast three or more spells this turn, you may pay {0} rather than pay Mindbreak Trap's mana cost. -- Exile any number of target spells.
|
||||
mana={2}{U}{U}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
@@ -1,20 +1,4 @@
|
||||
[card]
|
||||
name=Notion Thief
|
||||
abilities=flash
|
||||
text=Flash -- If an opponent would draw a card except the first one he or she draws in each of his or her draw steps, instead that player skips that draw and you draw a card.
|
||||
mana={2}{U}{B}
|
||||
type=Creature
|
||||
subtype=Human Rogue
|
||||
power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Silumgar's Command
|
||||
text=Choose two -- Counter target noncreature spell. -- Return target permanent to its owner's hand. -- Target creature gets -3/-3 until end of turn. -- Destroy target planeswalker.
|
||||
mana={3}{U}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Lazav, Dimir Mastermind
|
||||
abilities=opponentshroud
|
||||
text=Hexproof -- Whenever a creature card is put into an opponent's graveyard from anywhere, you may have Lazav, Dimir Mastermind become a copy of that card except its name is still Lazav, Dimir Mastermind, it's legendary in addition to its other types, and it gains hexproof and this ability.
|
||||
|
||||
@@ -2741,6 +2741,16 @@ power=7
|
||||
toughness=7
|
||||
[/card]
|
||||
[card]
|
||||
name=Archive Trap
|
||||
other={0} name(Opponent searched this turn)
|
||||
otherrestriction=compare(olastshlturn)~equalto~compare(currentturn)
|
||||
auto=deplete:13 opponent
|
||||
text=If an opponent searched his or her library this turn, you may pay {0} rather than pay Archive Trap's mana cost. -- Target opponent puts the top thirteen cards of his or her library into his or her graveyard.
|
||||
mana={3}{U}{U}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Archmage Emeritus
|
||||
auto=@movedto(*[instant;sorcery]|mystack):name(Draw 1 card) draw:1 controller
|
||||
text=Magecraft — Whenever you cast or copy an instant or sorcery spell, draw a card.
|
||||
@@ -7409,6 +7419,13 @@ text=Boseiju, Who Shelters All enters the battlefield tapped. -- {T}, Pay 2 life
|
||||
type=Legendary Land
|
||||
[/card]
|
||||
[card]
|
||||
name=Bosium Strip
|
||||
auto={3}{T}:name(Can cast instant or sorcery) target(*[instant;sorcery;zpos=type:*:mygraveyard]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot
|
||||
text={3}, {T}: Until end of turn, if the top card of your graveyard is an instant or sorcery card, you may cast that card. If a card cast this way would be put into a graveyard this turn, exile it instead.
|
||||
mana={3}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Bottle Golems
|
||||
abilities=trample
|
||||
auto=_DIES_name(Gain life) life:power controller
|
||||
@@ -7758,6 +7775,14 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Breathstealer's Crypt
|
||||
auto=@drawof(player):name(Check drawn card) transforms((,newability[name(Pay or discard) all(creature[zpos=type:*:myhand]|myhand) transforms((,newability[choice name(Discard creature) reject],newability[choice name(Pay 3 life) life:-3 controller])) oneshot])) oneshot
|
||||
auto=@drawfoeof(player):name(Check drawn card) transforms((,newability[name(Pay or discard) all(creature[zpos=type:*:opponenthand]|opponenthand) transforms((,newability[choice name(Discard creature) reject],newability[choice name(Pay 3 life) life:-3 controller])) oneshot])) oneshot
|
||||
text=If a player would draw a card, instead he or she draws a card and reveals it. If it's a creature card, that player discards it unless he or she pays 3 life.
|
||||
mana={2}{U}{B}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Breeches, Brazen Plunderer
|
||||
abilities=menace,partner
|
||||
auto=@combatdamagefoeof(player) from(*[pirate]|myBattlefield):all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once] moveTo(ownerexile)])) ueot )!
|
||||
@@ -7989,8 +8014,9 @@ type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Broken Visage
|
||||
target=creature[attacking,-artifact]
|
||||
auto=destroy && token(Spirit,Creature Spirit,storedpower/storedtoughness,black,treason)
|
||||
restriction=type(creature[attacking;-artifact]|battlefield)~morethan~0
|
||||
auto=if type(creature[attacking;-artifact]|opponentbattlefield)~morethan~0 then choice name(Destroy opponent creature) name(Destroy opponent creature) target(creature[attacking;-artifact]|opponentbattlefield) transforms((,newability[destroy],newability[token(Spirit^Creature Spirit^p/t^black^treason) opponent])) oneshot
|
||||
auto=if type(creature[attacking;-artifact]|mybattlefield)~morethan~0 then choice name(Destroy your creature) name(Destroy your creature) target(creature[attacking;-artifact]|mybattlefield) transforms((,newability[destroy],newability[token(Spirit^Creature Spirit^p/t^black^treason)])) oneshot
|
||||
text=Destroy target nonartifact attacking creature. It can't be regenerated. Put a black Spirit creature token with that creature's power and toughness onto the battlefield. Sacrifice the token at the beginning of the next end step.
|
||||
mana={4}{B}
|
||||
type=Instant
|
||||
@@ -11385,6 +11411,16 @@ mana={2}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Cobra Trap
|
||||
other={G} name(Permanent was destroyed)
|
||||
otherrestriction=type(*[-creature;-instant;-sorcery;fresh]|mygraveyard)~morethan~0
|
||||
auto=token(Snake,Creature Snake,1/1,green)*4
|
||||
text=If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay Cobra Trap's mana cost. -- Put four 1/1 green Snake creature tokens onto the battlefield.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Code of Constraint
|
||||
target=creature
|
||||
auto=-4/-0
|
||||
@@ -12506,6 +12542,15 @@ power=4
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Corpse Dance
|
||||
target=creature|mygraveyard
|
||||
buyback={4}{B}
|
||||
auto=moveto(myBattlefield) and!( transforms((,newability[haste],newability[unearth])) ueot )!
|
||||
text=Buyback {2} (You may pay an additional {2} as you cast this spell. If you do, put this card into your hand as it resolves.) -- Return the top creature card of your graveyard to the battlefield. That creature gains haste until end of turn. Exile it at the beginning of the next end step.
|
||||
mana={2}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Corpse Knight
|
||||
auto=@movedto(other creature|mybattlefield):life:-1 opponent
|
||||
text=Whenever another creature enters the battlefield under your control, each opponent loses 1 life.
|
||||
@@ -12585,6 +12630,16 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Cosi's Trickster
|
||||
auto=@shuffledfoeof(player):may name(Put 1/1 counter) counter(1/1)
|
||||
text=Whenever an opponent shuffles his or her library, you may put a +1/+1 counter on Cosi's Trickster.
|
||||
mana={U}
|
||||
type=Creature
|
||||
subtype=Merfolk Wizard
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Cosima, God of the Voyage
|
||||
auto=@each my upkeep:may name(Exile Cosima) moveto(myexile) and!( counter(0/0,1,CosimaEffect) )!
|
||||
autoexile=@movedto(land|mybattlefield) restriction{compare(hascntcosimaeffect)~morethan~0}:transforms((,newability[choice name(Add voyage counter) counter(0/0.1.Voyage)],newability[choice name(Return in play) draw:hascntvoyage controller && moveTo(mybattlefield) and!( counter(1/1.hascntvoyage) )!])) oneshot
|
||||
@@ -12866,6 +12921,15 @@ mana={1}{BG}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Cranial Extraction
|
||||
auto=choice name(Target opponent) ability$!chooseanameopp name(Search that cards) target(<anyamount>creature[chosenname]|opponentgraveyard,opponentlibrary,opponenthand) moveto(exile) and!( shuffle opponent )! chooseend nonland!$ controller
|
||||
auto=choice name(Target yourself) ability$!chooseaname name(Search that cards) target(<anyamount>creature[chosenname]|mygraveyard,mylibrary,myhand) moveto(exile) and!( shuffle controller )! chooseend nonland!$ controller
|
||||
text=Name a nonland card. Search target player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={3}{B}
|
||||
type=Sorcery
|
||||
subtype=Arcane
|
||||
[/card]
|
||||
[card]
|
||||
name=Crash Through
|
||||
auto=all(creature|mybattlefield) trample ueot
|
||||
auto=draw:1
|
||||
@@ -15074,26 +15138,26 @@ toughness=1
|
||||
name=Delina, Wild Mage
|
||||
auto=_ATTACKING_name(Roll a d20) rolld20 20 winability donothing winabilityend rolld20end
|
||||
auto=_ATTACKING_name(Choose your creature) target(creature|mybattlefield) counter(0/0.1.DelinaEffect)
|
||||
auto=@dierolled(this) result(1) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(2) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(3) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(4) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(5) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(6) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(7) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(8) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(9) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(10) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(11) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(12) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(13) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(14) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(15) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(16) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(17) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(18) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(19) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(20) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(treason^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(1) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(2) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(3) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(4) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(5) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(6) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(7) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(8) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(9) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(10) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(11) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(12) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(13) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(14) from(controller):all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) transforms((,newability[removeallcounters(0/0.1.DelinaEffect)],newability[clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(15) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(16) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(17) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(18) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(19) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
auto=@dierolled(this) result(20) from(controller):name(may roll d20 again) transforms((,newability[choice name name(Roll d20 again) rolld20 20 winability donothing winabilityend rolld20end],newability[choice name name(Stop rolling d20) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) removeallcounters(0/0.1.DelinaEffect)],newability[name(Copy creature) all(creature[counter{0/0.1.DelinaEffect}]|mybattlefield) clone with(unearth^battleready) options(nolegend)])) oneshot
|
||||
text=Whenever Delina, Wild Mage attacks, choose target creature you control, then roll a d20. -- 1-14 | Create a tapped and attacking token that’s a copy of that creature except it’s not legendary and it has "Exile this creature at end of combat." -- 15-20 | Create one of those tokens. You may roll again.
|
||||
mana={3}{R}
|
||||
type=Legendary Creature
|
||||
@@ -16656,6 +16720,14 @@ mana={2}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
auto=name(Search 5 cards) target(<5>*|mylibrary,mygraveyard) moveto(myreveal) and!( moveto(mylibrary) and!( transforms((,newability[all(*[-fresh]|mylibrary) moveto(exile)],newability[all(*|mygraveyard) moveto(exile)])) oneshot )! )!
|
||||
auto=life:-halfuplifetotal controller
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomskar
|
||||
abilities=foretell
|
||||
autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly
|
||||
@@ -18573,15 +18645,6 @@ power=0
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Elemental Cha
|
||||
abilities=haste,treason
|
||||
type=Creature
|
||||
subtype=Elemental
|
||||
power=3
|
||||
toughness=3
|
||||
color=red
|
||||
[/card]
|
||||
[card]
|
||||
name=Elemental Expressionist
|
||||
auto=@movedto(*[instant;sorcery]|mystack):name(Choose a creature) target(creature|mybattlefield) transforms((,newability[exiledeath],newability[@movedto(this|exile):token(Elemental^Creature Elemental^4/4^blue^red)])) ueot
|
||||
text=Magecraft — Whenever you cast or copy an instant or sorcery spell, choose target creature you control. Until end of turn, it gains "If this creature would leave the battlefield, exile it instead of putting it anywhere else" and "When this creature is put into exile, create a 4/4 blue and red Elemental creature token." (Each instance of that ability triggers separately.)
|
||||
@@ -20296,6 +20359,14 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Exclusion Ritual
|
||||
auto=name(Exile permanent) target(*|battlefield) imprint
|
||||
auto=this(variable{hasevict}>0) transforms((,newability[maxCast(*[evictname])0],newability[maxCast(*[evictname])0 opponent]))
|
||||
text=Imprint — When Exclusion Ritual enters the battlefield, exile target nonland permanent. -- Players can't cast spells with the same name as the exiled card.
|
||||
mana={4}{W}{W}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Excruciator
|
||||
#MISSING: damage can't be prevented
|
||||
text=Damage that would be dealt by Excruciator can't be prevented.
|
||||
@@ -22768,6 +22839,16 @@ power=2
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Flaming Gambit
|
||||
target=player
|
||||
flashback={X}{R}{R}
|
||||
auto=if type(creature|targetedpersonsbattlefield)~equalto~0 then damage:x
|
||||
auto=if type(creature|targetedpersonsbattlefield)~morethan~0 then ability$!name(Choose one) choice name(Damage player) damage:storedx controller _ choice name(Damage creature) damage:storedx target(creature|mybattlefield)!$ targetedPlayer
|
||||
text=Flaming Gambit deals X damage to target player. That player may choose a creature he or she controls and have Flaming Gambit deal that damage to it instead. -- Flashback {X}{R}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
|
||||
mana={X}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Flash Foliage
|
||||
restriction=blockersonly
|
||||
auto=token(Saproling,Creature Saproling,1/1,green) and!(transforms((,newability[mustblock])) ueot)!
|
||||
@@ -23081,6 +23162,14 @@ mana={1}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Forbidden Ritual
|
||||
target=<anyamount>*[-token]|myBattlefield
|
||||
auto=transforms((,newability[sacrifice],newability[if type(*|opponentbattlefield)~morethan~0 then if type(*|opponenthand)~morethan~0 then ability$!name(Choose one) choice name(Pay 2 life) life:-2 controller _ choice name(Discard a card) notarget(*|myhand) reject _ choice name(Sacrifice a permanent) notarget(*|myBattlefield) sacrifice!$ opponent],newability[if type(*|opponentbattlefield)~morethan~0 then if type(*|opponenthand)~equalto~0 then ability$!name(Choose one) choice name(Pay 2 life) life:-2 controller _ choice name(Sacrifice a permanent) notarget(*|myBattlefield) sacrifice!$ opponent],newability[if type(*|opponentbattlefield)~equalto~0 then if type(*|opponenthand)~morethan~0 then ability$!name(Choose one) choice name(Pay 2 life) life:-2 controller _ choice name(Discard a card) notarget(*|myhand) reject!$ opponent],newability[if type(*|opponentbattlefield)~equalto~0 then if type(*|opponenthand)~equalto~0 then life:-2 opponent])) oneshot
|
||||
text=Sacrifice a nontoken permanent. If you do, target opponent loses 2 life unless he or she sacrifices a permanent or discards a card. You may repeat this process any number of times.
|
||||
mana={2}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Forbidding Spirit
|
||||
auto=all(creature|opponentbattlefield) transforms((,newability[attackcost:2])) uynt
|
||||
text=When Forbidding Spirit enters the battlefield, until your next turn, creatures can't attack you or a planeswalker you control unless their controller pays 2 for each of those creatures.
|
||||
@@ -26151,6 +26240,16 @@ power=5
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Goblin Grenadiers
|
||||
auto=@combat(notblocked) source(this):may name(Sacrifice and destroy) transforms((,newability[sacrifice],newability[name(Destroy creature) target(creature) destroy],newability[ability$!name(Destroy land) name(Destroy land) target(land) destroy!$ controller])) oneshot
|
||||
text=Whenever Goblin Grenadiers attacks and isn't blocked, you may sacrifice it. If you do, destroy target creature and target land.
|
||||
mana={3}{R}
|
||||
type=Creature
|
||||
subtype=Goblin
|
||||
power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Goblin Instigator
|
||||
auto=token(Goblin,Creature Goblin,1/1,red)
|
||||
text=When Goblin Instigator enters the battlefield, create a 1/1 red Goblin creature token.
|
||||
@@ -26687,6 +26786,17 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Gomazoa
|
||||
abilities=defender,flying
|
||||
auto={T}:name(Put on library) transforms((,newability[moveto(mylibrary) and!( shuffle )!],newability[if cantargetcard(*[blocking]|*) then name(Put creature on library) name(Put creature on library) target(creature[blocked]|opponentbattlefield) moveto(ownerlibrary) and!( shuffle opponent )!])) oneshot
|
||||
text=Defender, flying -- {T}: Put Gomazoa and each creature it's blocking on top of their owners' libraries, then those players shuffle their libraries.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
subtype=Jellyfish
|
||||
power=0
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Gonti, Lord of Luxury
|
||||
abilities=deathtouch
|
||||
aicode=activate target(*[zpos<=4]|opponentlibrary) moveto(opponentexile) and!( transforms((,newability[counter(0/0.1.GontiExiled)],newability[all(*[zpos<=3]|opponentlibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot )!
|
||||
@@ -28012,7 +28122,26 @@ toughness=1
|
||||
[card]
|
||||
name=Gyrus, Waker of Corpses
|
||||
auto=counter(1/1,X) && counter(1/1,3)
|
||||
auto=_ATTACKING_ copy target(creature[~lessthan~storedpower]|myGraveyard) with(unearth,haste[attacking]) && moveTo(exile) targe(creature[~lessthan~storedpower]|myGraveyard)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~1}:may name(Exile and copy a creature) target(creature[power<=0]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~2}:may name(Exile and copy a creature) target(creature[power<=1]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~3}:may name(Exile and copy a creature) target(creature[power<=2]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~4}:may name(Exile and copy a creature) target(creature[power<=3]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~5}:may name(Exile and copy a creature) target(creature[power<=4]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~6}:may name(Exile and copy a creature) target(creature[power<=5]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~7}:may name(Exile and copy a creature) target(creature[power<=6]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~8}:may name(Exile and copy a creature) target(creature[power=<7]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~9}:may name(Exile and copy a creature) target(creature[power=<8]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~10}:may name(Exile and copy a creature) target(creature[power<=9]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~11}:may name(Exile and copy a creature) target(creature[power<=10]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~12}:may name(Exile and copy a creature) target(creature[power<=11]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~13}:may name(Exile and copy a creature) target(creature[power<=12]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~14}:may name(Exile and copy a creature) target(creature[power<=13]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~15}:may name(Exile and copy a creature) target(creature[power<=14]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~16}:may name(Exile and copy a creature) target(creature[power<=15]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~17}:may name(Exile and copy a creature) target(creature[power<=16]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~18}:may name(Exile and copy a creature) target(creature[power=<17]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~equalto~19}:may name(Exile and copy a creature) target(creature[power=<18]|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
auto=@combat(attacking) source(this) restriction{compare(p)~morethan~19}:may name(Exile and copy a creature) target(creature|mygraveyard) moveto(exile) && clone with(unearth,battleready)
|
||||
text=Gyrus, Waker of Corpses enters the battlefield with a number of +1/+1 counters on it equal to the amount of mana spent to cast it. -- Whenever Gyrus attacks, you may exile target creature card with lesser power from your graveyard. If you do, create a token that’s a copy of that card and that’s tapped and attacking. Exile the token at end of combat.
|
||||
mana={X}{B}{R}{G}
|
||||
type=Legendary Creature
|
||||
@@ -28716,7 +28845,7 @@ toughness=7
|
||||
[/card]
|
||||
[card]
|
||||
name=Hate Mirage
|
||||
auto=clone with(treason,haste) target(<upto:2>creature|opponentbattlefield)
|
||||
auto=clone with(unearth,haste) target(<upto:2>creature|opponentbattlefield)
|
||||
text=Choose up to two target creatures you don't control. For each of those creatures, create a token that's a copy of that creature. Those tokens gain haste. Exile them at the beginning of the next end step.
|
||||
mana={3}{R}
|
||||
type=Sorcery
|
||||
@@ -28856,7 +28985,7 @@ toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Hazoret's Favor
|
||||
auto=@each my combatbegins:may name(2/0 && haste) target(creature|mybattlefield) transforms((,newability[2/0],newability[haste],newability[treason])) ueot
|
||||
auto=@each my combatbegins:may name(Creature gains 2/0 and haste) target(creature|mybattlefield) transforms((,newability[2/0],newability[haste],newability[treason])) ueot
|
||||
text=At the beginning of combat on your turn, you may have target creature you control get +2/+0 and gain haste until end of turn. If you do, sacrifice it at the beginning of the next end step.
|
||||
mana={2}{R}
|
||||
type=Enchantment
|
||||
@@ -33875,6 +34004,17 @@ power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Kalitas, Bloodchief of Ghet
|
||||
auto=this(variable{type:creature[-indestructible]:opponentbattlefield}>0) {B}{B}{B}{T}:name(Destroy opponent creature) name(Destroy opponent creature) target(creature[-indestructible]|opponentbattlefield) transforms((,newability[destroy],newability[token(Vampire^Creature Vampire^p/t^black) opponent])) oneshot
|
||||
auto=this(variable{type:creature[-indestructible]:mybattlefield}>0) {B}{B}{B}{T}:name(Destroy your creature) name(Destroy your creature) target(creature[-indestructible]|mybattlefield) transforms((,newability[destroy],newability[token(Vampire^Creature Vampire^p/t^black)])) oneshot
|
||||
text={B}{B}{B}, {T}: Destroy target creature. If that creature dies this way, put a black Vampire creature token onto the battlefield. Its power is equal to that creature's power and its toughness is equal to that creature's toughness.
|
||||
mana={5}{B}{B}
|
||||
type=Legendary Creature
|
||||
subtype=Vampire Warrior
|
||||
power=5
|
||||
toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Kalitas, Traitor of Ghet
|
||||
abilities=lifelink
|
||||
auto=@movedto(creature[-token]|opponentgraveyard):all(trigger[to]) moveTo(exile) && token(Zombie,Creature Zombie,2/2,black)
|
||||
@@ -34770,7 +34910,7 @@ type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Kindred Charge
|
||||
auto=chooseatype clone with(treason,haste) all(creature[chosentype]|mybattlefield) chooseend
|
||||
auto=chooseatype clone with(unearth,haste) all(creature[chosentype]|mybattlefield) chooseend
|
||||
text=Choose a creature type. For each creature you control of the chosen type, create a token that's a copy of that creature. Those tokens gain haste. Exile them at the beginning of the next end step.
|
||||
mana={4}{R}{R}
|
||||
type=Sorcery
|
||||
@@ -38316,8 +38456,7 @@ toughness=3
|
||||
[card]
|
||||
name=Macabre Mockery
|
||||
target=creature|opponentGraveyard
|
||||
auto=moveto(myBattlefield)
|
||||
auto=transforms((,treason,+2/+0,haste)) forever
|
||||
auto=moveto(myBattlefield) and!( transforms((,newability[treason],newability[+2/+0],newability[haste])) ueot )!
|
||||
text=Put target creature card from an opponent's graveyard onto the battlefield under your control. It gets +2/+0 and gains haste until end of turn. Sacrifice it at the beginning of the next end step.
|
||||
mana={2}{B}{R}
|
||||
type=Instant
|
||||
@@ -39659,6 +39798,16 @@ type=Enchantment
|
||||
subtype=Saga
|
||||
[/card]
|
||||
[card]
|
||||
name=Meletis Charlatan
|
||||
auto={2}{U}{T}:name(Controller copies instant or sorcery) target(*[instant;sorcery]|stack) transforms((,newability[activate castcard(copied)])) oneshot
|
||||
text={2}{U}, {T}: The controller of target instant or sorcery spell copies it. That player may choose new targets for the copy.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
subtype=Human Wizard
|
||||
power=2
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Melting
|
||||
auto=all(land[snow]|battlefield) transforms((removetypes,newability[becomes(Land)])) forever
|
||||
text=All lands are no longer snow.
|
||||
@@ -39706,6 +39855,14 @@ text=Memorial to War enters the battlefield tapped. -- {T}: Add {R}. -- {4}{R},
|
||||
type=Land
|
||||
[/card]
|
||||
[card]
|
||||
name=Memoricide
|
||||
auto=choice name(Target opponent) ability$!chooseanameopp name(Search that cards) target(<anyamount>creature[chosenname]|opponentgraveyard,opponentlibrary,opponenthand) moveto(exile) and!( shuffle opponent )! chooseend nonland!$ controller
|
||||
auto=choice name(Target yourself) ability$!chooseaname name(Search that cards) target(<anyamount>creature[chosenname]|mygraveyard,mylibrary,myhand) moveto(exile) and!( shuffle controller )! chooseend nonland!$ controller
|
||||
text=Name a nonland card. Search target player's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={3}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Memory Drain
|
||||
target=*|stack
|
||||
auto=fizzle
|
||||
@@ -39989,6 +40146,19 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Merieke Ri Berit
|
||||
abilities=doesnotuntap
|
||||
auto={T}:name(Gain control of creature) all(this) counter(0/0.1.MeriekeStolen) && target(creature) moveto(myBattlefield) and!( counter(0/0.1.MeriekeStolen) )!
|
||||
auto=@untapped(this) restriction{compare(hascntmeriekestolen)~morethan~0}:name(Destroy stolen creature) transforms((,newability[name(Destroy stolen creature) target(creature[counter{0/0.1.MeriekeStolen}]|myBattlefield) bury],newability[removeallcounters(0/0.1.MeriekeStolen)])) oneshot
|
||||
auto=@movedto(this|nonbattlezone) from(myBattlefield) restriction{compare(hascntmeriekestolen)~morethan~0}:name(Destroy stolen creature) target(creature[counter{0/0.1.MeriekeStolen}]|myBattlefield) bury
|
||||
text=Merieke Ri Berit doesn't untap during your untap step. -- {T}: Gain control of target creature for as long as you control Merieke Ri Berit. When Merieke Ri Berit leaves the battlefield or becomes untapped, destroy that creature. It can't be regenerated.
|
||||
mana={W}{U}{B}
|
||||
type=Legendary Creature
|
||||
subtype=Human
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Mesa Lynx
|
||||
auto=this(variable{opponentturn}>0) 0/2
|
||||
text=As long as it's not your turn, Mesa Lynx gets +0/+2.
|
||||
@@ -40251,7 +40421,7 @@ subtype=Treasure
|
||||
[card]
|
||||
name=Mimic Vat
|
||||
auto=@movedto(creature[-token]|nonbattlezone) from(battlefield):may name(Imprint card) name(Imprint card) all(trigger[to]) transforms((,newability[moveTo(ownerGraveyard) all(other creature[counter{0/0.1.MimicImprinted}]|exile)],newability[moveto(exile) and!( counter(0/0.1.MimicImprinted) )!])) forever
|
||||
auto={3}{T}:target(creature[counter{0/0.1.MimicImprinted}]|exile) clone with(haste,treason)
|
||||
auto={3}{T}:target(creature[counter{0/0.1.MimicImprinted}]|exile) clone with(haste,unearth)
|
||||
text=Imprint — Whenever a nontoken creature dies, you may exile that card. If you do, return each other card exiled with Mimic Vat to its owner’s graveyard. -- {3}, {T}: Create a token that’s a copy of a card exiled with Mimic Vat. It gains haste. Exile it at the beginning of the next end step.
|
||||
mana={3}
|
||||
type=Artifact
|
||||
@@ -40308,6 +40478,18 @@ power=1
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Mindbreak Trap
|
||||
target=*|stack
|
||||
other={0} name(Opponent casted 3 or more spells)
|
||||
otherrestriction=thisturn(*|opponentstack)~morethan~2
|
||||
auto=fizzleto(exile)
|
||||
auto=all(*|opponentstack) fizzleto(exile)
|
||||
text=If an opponent cast three or more spells this turn, you may pay {0} rather than pay Mindbreak Trap's mana cost. -- Exile any number of target spells.
|
||||
mana={2}{U}{U}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Mindleecher
|
||||
abilities=flying,mutate
|
||||
otherrestriction=type(creature[-human]|mybattlefield)~morethan~0
|
||||
@@ -40911,7 +41093,7 @@ type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Molten Echoes
|
||||
auto=chooseatype transforms((,newability[@movedTo(creature[chosentype,-token]|myBattlefield)}:all(trigger[to]) clone with(treason,haste)])) chooseend
|
||||
auto=chooseatype transforms((,newability[@movedTo(creature[chosentype,-token]|myBattlefield)}:all(trigger[to]) clone with(unearth,haste)])) chooseend
|
||||
text=As Molten Echoes enters the battlefield, choose a creature type. -- Whenever a nontoken creature of the chosen type enters the battlefield under your control, create a token that’s a copy of that creature. That token gains haste. Exile it at the beginning of the next end step.
|
||||
mana={2}{R}{R}
|
||||
type=Enchantment
|
||||
@@ -43198,6 +43380,18 @@ mana={1}{U}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Notion Thief
|
||||
abilities=flash
|
||||
auto=@drawfoeof(player) restriction{opponentturnonly,compare(odrewcount)~morethan~1}:name(You draw instead) transforms((,newability[all(*[zpos=type:*:opponenthand]|opponenthand) moveto(ownerlibrary)],newability[draw:1 controller])) oneshot
|
||||
auto=@drawfoeof(player) restriction{myturnonly}:name(You draw instead) transforms((,newability[all(*[zpos=type:*:opponenthand]|opponenthand) moveto(ownerlibrary)],newability[draw:1 controller])) oneshot
|
||||
text=Flash -- If an opponent would draw a card except the first one he or she draws in each of his or her draw steps, instead that player skips that draw and you draw a card.
|
||||
mana={2}{U}{B}
|
||||
type=Creature
|
||||
subtype=Human Rogue
|
||||
power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Novellamental
|
||||
abilities=flying,cloud
|
||||
text=Flying -- Novellamental can block only creatures with flying.
|
||||
@@ -46639,7 +46833,7 @@ type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Planebound Accomplice
|
||||
auto={R}:may moveto(myBattlefield) target(planeswalker|myHand) && treason
|
||||
auto={R}:may name(Put planeswalker in play) target(planeswalker|myHand) moveto(myBattlefield) and!( transforms((,newability[treason])) ueot )!
|
||||
text={R}: You may put a planeswalker card from your hand onto the battlefield. Sacrifice it at the beginning of the next end step.
|
||||
mana={2}{R}
|
||||
type=Creature
|
||||
@@ -47009,7 +47203,7 @@ toughness=3
|
||||
[card]
|
||||
name=Postmortem Lunge
|
||||
other={X}{L:2} name(Pay with 2 life)
|
||||
auto=target(creature[manacost=X]|mygraveyard) moveto(mybattlefield) && transforms((,treson,haste)) forever
|
||||
auto=target(creature[manacost=X]|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[unearth],newability[haste])) forever )!
|
||||
text=({PB} can be paid with either {B} or 2 life.) -- Return target creature card with converted mana cost X from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step.
|
||||
mana={X}{B}
|
||||
type=Sorcery
|
||||
@@ -48062,6 +48256,15 @@ type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Intrusion
|
||||
auto=if type(*[-land]|opponentgraveyard)~morethan~0 then name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand,opponentgraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever )!
|
||||
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~morethan~0 then name(Exile non land card) name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever )!
|
||||
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~equalto~0 then name(Look opponent hand) name(Look opponent hand) name(Look opponent hand) target(*|opponenthand) moveto(myreveal) and!( moveto(opponenthand) )!
|
||||
text=Target opponent reveals his or her hand. You choose a nonland card from that player's graveyard or hand and exile it. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell.
|
||||
mana={3}{U}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Miasma
|
||||
auto=ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject and!( if cantargetcard(*[land]|*) then target(Psychic Miasma|opponentgraveyard) moveto(ownerhand) )! !$ opponent
|
||||
text=Target player discards a card. If a land card is discarded this way, return Psychic Miasma to its owner's hand.
|
||||
@@ -48069,6 +48272,14 @@ mana={1}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Surgery
|
||||
aicode=activate target(*[zpos<=2]|opponentlibrary) moveto(ownerexile)
|
||||
auto=@shuffledfoeof(player):may name(Look top 2) reveal:2 revealzone(opponentlibrary) optionone name(Put in exile) target(<upto:1>*|reveal) moveto(ownerexile) optiononeend optiontwo name(put back) target(<2>*|reveal) moveto(ownerlibrary) optiontwoend revealend
|
||||
text=Whenever an opponent shuffles his or her library, you may look at the top two cards of that library. You may exile one of those cards. Then put the rest on top of that library in any order.
|
||||
mana={1}{U}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Symbiont
|
||||
abilities=flying
|
||||
auto=target(opponent) ability$!name(discard) reject notatarget(*|myhand)!$ && draw:1
|
||||
@@ -48087,6 +48298,14 @@ mana={4}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychogenic Probe
|
||||
auto=@shuffledfoeof(player):name(Deal 2 damage) damage:2 opponent
|
||||
auto=@shuffledof(player):name(Deal 2 damage) damage:2 controller
|
||||
text=Whenever a spell or ability causes a player to shuffle his or her library, Psychogenic Probe deals 2 damage to him or her.
|
||||
mana={2}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychotic Episode
|
||||
abilities=madness
|
||||
auto=if type(*|opponenthand)~morethan~0 then choice name(Look opponent's hand) target(*|opponenthand) bottomoflibrary
|
||||
@@ -48196,7 +48415,8 @@ abilities=indestructible
|
||||
auto=this(variable{type:manar}<5) transforms((removetypes,newability[becomes(Legendary Enchantment God)]))
|
||||
auto=this(variable{type:manar}>4) transforms((Legendary Enchantment Creature))
|
||||
auto=lord(other creature|myBattlefield) haste
|
||||
auto={2}{R}:may moveto(mybattlefield) target(creature,artifact|myhand) && transforms((,treason)) oneshot
|
||||
auto={2}{R}:name(Put red creature in play) target(creature[red]|myhand) moveto(mybattlefield) and!( transforms((,newability[treason])) ueot )!
|
||||
auto={2}{R}:name(Put artifact creature in play) target(creature[artifact]|myhand) moveto(mybattlefield) and!( transforms((,newability[treason])) ueot )!
|
||||
text=Indestructible -- As long as your devotion to red is less than five, Purphoros isn’t a creature. -- Other creatures you control have haste. -- {2}{R}: You may put a red creature card or an artifact creature card from your hand onto the battlefield. Sacrifice it at the beginning of the next end step.
|
||||
mana={4}{R}
|
||||
type=Legendary Enchantment Creature
|
||||
@@ -48329,6 +48549,14 @@ mana={4}{R}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Pyromancer Ascension
|
||||
auto=@movedto(*[instant;sorcery]|mystack) restriction{type(*[instant;sorcery]|mygraveyard)~morethan~0}:all(trigger[to]) transforms((,newability[if type(*[share!name!]|mygraveyard)~morethan~0 then may name(Put quest counter) target(<anyamount>Pyromancer Ascension|myBattlefield) counter(0/0.1.quest)])) oneshot
|
||||
auto=@movedto(*[instant;sorcery]|mystack) restriction{compare(hascntquest)~morethan~1}:may name(Copy spell) all(trigger[to]) activate castcard(noevent copied)
|
||||
text=Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension. -- Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.
|
||||
mana={1}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Pyromancer's Gauntlet
|
||||
auto=@damaged(*|opponentBattlefield) from(instant[red]|myzones):all(trigger[to]) transforms((,newability[damage:2])) oneshot
|
||||
auto=@damaged(*|opponentBattlefield) from(sorcery[red]|myzones):all(trigger[to]) transforms((,newability[damage:2])) oneshot
|
||||
@@ -51312,6 +51540,17 @@ power=2
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Ricochet Trap
|
||||
target=*[instant;sorcery]|stack
|
||||
other={R} name(Opponent casted blue spell)
|
||||
otherrestriction=thisturn(*[blue]|opponentstack)~morethan~0
|
||||
auto=fizzle && activate castcard(copied noevent costx!:mytargx:! kicked!:mytargkicked:!)
|
||||
text=If an opponent cast a blue spell this turn, you may pay {R} rather than pay Ricochet Trap's mana cost. -- Change the target of target spell with a single target.
|
||||
mana={3}{R}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Riddleform
|
||||
aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot
|
||||
auto=@movedTo(*[-creature]|mystack):may transforms((Sphinx Creature,setpower=3,settoughness=3,flying)) ueot
|
||||
@@ -51527,26 +51766,26 @@ type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Rionya, Fire Dancer
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~1}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~2}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~3}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~4}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~5}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~6}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~7}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~8}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~9}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~10}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~11}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~12}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~13}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~14}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~15}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~16}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~17}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~18}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~19}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~morethan~19}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)],newability[clone with(treason^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~1}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~2}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~3}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~4}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~5}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~6}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~7}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~8}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~9}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~10}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~11}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~12}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~13}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~14}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~15}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~16}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~17}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~18}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~equalto~19}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
auto=@each my combatbegins restriction{thisturn(*[instant;sorcery]|mystack)~morethan~19}:name(Copy creature) target(other creature|mybattlefield) transforms((,newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)],newability[clone with(unearth^haste)])) oneshot
|
||||
text=At the beginning of combat on your turn, create X tokens that are copies of another target creature you control, where X is one plus the number of instant and sorcery spells you've cast this turn. They gain haste. Exile them at the beginning of the next end step.
|
||||
mana={3}{R}{R}
|
||||
type=Legendary Creature
|
||||
@@ -52699,6 +52938,32 @@ mana={R}{R}{W}{W}{W}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Rumbling Aftershocks
|
||||
auto=@movedTo(*[kicked=1]|myStack):may name(Deal 1 damage) target(creature) damage:1
|
||||
auto=@movedTo(*[kicked=2]|myStack):may name(Deal 2 damage) target(creature) damage:2
|
||||
auto=@movedTo(*[kicked=3]|myStack):may name(Deal 3 damage) target(creature) damage:3
|
||||
auto=@movedTo(*[kicked=4]|myStack):may name(Deal 4 damage) target(creature) damage:4
|
||||
auto=@movedTo(*[kicked=5]|myStack):may name(Deal 5 damage) target(creature) damage:5
|
||||
auto=@movedTo(*[kicked=6]|myStack):may name(Deal 6 damage) target(creature) damage:6
|
||||
auto=@movedTo(*[kicked=7]|myStack):may name(Deal 7 damage) target(creature) damage:7
|
||||
auto=@movedTo(*[kicked=8]|myStack):may name(Deal 8 damage) target(creature) damage:8
|
||||
auto=@movedTo(*[kicked=9]|myStack):may name(Deal 9 damage) target(creature) damage:9
|
||||
auto=@movedTo(*[kicked=10]|myStack):may name(Deal 10 damage) target(creature) damage:10
|
||||
auto=@movedTo(*[kicked=11]|myStack):may name(Deal 11 damage) target(creature) damage:11
|
||||
auto=@movedTo(*[kicked=12]|myStack):may name(Deal 12 damage) target(creature) damage:12
|
||||
auto=@movedTo(*[kicked=13]|myStack):may name(Deal 13 damage) target(creature) damage:13
|
||||
auto=@movedTo(*[kicked=14]|myStack):may name(Deal 14 damage) target(creature) damage:14
|
||||
auto=@movedTo(*[kicked=15]|myStack):may name(Deal 15 damage) target(creature) damage:15
|
||||
auto=@movedTo(*[kicked=16]|myStack):may name(Deal 16 damage) target(creature) damage:16
|
||||
auto=@movedTo(*[kicked=17]|myStack):may name(Deal 17 damage) target(creature) damage:17
|
||||
auto=@movedTo(*[kicked=18]|myStack):may name(Deal 18 damage) target(creature) damage:18
|
||||
auto=@movedTo(*[kicked=19]|myStack):may name(Deal 19 damage) target(creature) damage:19
|
||||
auto=@movedTo(*[kicked>=20]|myStack):may name(Deal 20 damage) target(creature) damage:20
|
||||
text=Whenever you cast a kicked spell, you may have Rumbling Aftershocks deal damage to target creature or player equal to the number of times that spell was kicked.
|
||||
mana={4}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Rumbling Rockslide
|
||||
target=creature
|
||||
auto=damage:type:land:myBattlefield
|
||||
@@ -55871,7 +56136,7 @@ toughness=4
|
||||
[card]
|
||||
name=Shallow Grave
|
||||
target=creature|mygraveyard
|
||||
auto=moveTo(mybattlefield) && transforms((,newability[phaseaction[endofturn once] moveTo(exile)],haste)) ueot
|
||||
auto=moveTo(mybattlefield) && transforms((,newability[unearth],newability[haste])) ueot
|
||||
text=Return the top creature card of your graveyard to the battlefield. That creature gains haste until end of turn. Exile it at the beginning of the next end step.
|
||||
mana={1}{B}
|
||||
type=Instant
|
||||
@@ -56296,7 +56561,7 @@ subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Shifty Doppelganger
|
||||
auto={3}{U}{E}:target(creature|myhand) moveto(mybattlefield) and!(transforms((,newability[treason],newability[haste],newability[moveto(mybattlefield) target(Shifty Doppelganger[fresh]|myexile)])) ueot)!
|
||||
auto={3}{U}{E}:target(creature|myhand) moveto(mybattlefield) and!( transforms((,newability[treason],newability[haste],newability[moveto(mybattlefield) target(Shifty Doppelganger[fresh]|myexile)])) ueot )!
|
||||
text={3}{U}, Exile Shifty Doppelganger: You may put a creature card from your hand onto the battlefield. If you do, that creature gains haste until end of turn. At the beginning of the next end step, sacrifice that creature. If you do, return Shifty Doppelganger to the battlefield.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
@@ -57014,6 +57279,24 @@ power=2
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Silumgar's Command
|
||||
auto=if type(*[-creature]|opponentstack)~morethan~0 then choice name(Counter opponent spell and return permanent) name(Counter opponent spell and return permanent) target(*[-creature]|opponentstack) transforms((,newability[fizzle],newability[ability$!name(Return permanent) name(Return permanent) target(*|battlefield) moveto(ownerhand)!$ opponent])) oneshot
|
||||
auto=if type(other *[-creature]|mystack)~morethan~0 then choice name(Counter your spell and return permanent) name(Counter your spell and return permanent) target(*[-creature]|mystack) transforms((,newability[fizzle],newability[ability$!name(Return permanent) name(Return permanent) target(*|battlefield) moveto(ownerhand)!$ controller])) oneshot
|
||||
auto=if type(*[-creature]|opponentstack)~morethan~0 then choice name(Counter opponent spell and creature gets -3/-3) name(Counter opponent spell and creature gets -3/-3) target(*[-creature]|opponentstack) transforms((,newability[fizzle],newability[ability$!name(Creature gets -3/-3) name(Creature gets -3/-3) target(creature|battlefield) -3/-3 ueot!$ opponent])) oneshot
|
||||
auto=if type(other *[-creature]|mystack)~morethan~0 then choice name(Counter your spell and and creature gets -3/-3) name(Counter your spell and and creature gets -3/-3) target(*[-creature]|mystack) transforms((,newability[fizzle],newability[ability$!name(Creature gets -3/-3) name(Creature gets -3/-3) target(creature|battlefield) -3/-3 ueot!$ controller])) oneshot
|
||||
auto=if type(*[-creature]|opponentstack)~morethan~0 then choice name(Counter opponent spell and destroy planeswalker) name(Counter opponent spell and destroy planeswalker) target(*[-creature]|opponentstack) transforms((,newability[fizzle],newability[ability$!name(Destroy planeswalker) name(Destroy planeswalker) target(planeswalker|battlefield) destroy!$ opponent])) oneshot
|
||||
auto=if type(other *[-creature]|mystack)~morethan~0 then choice name(Counter your spell and destroy planeswalker) name(Counter your spell and destroy planeswalker) target(*[-creature]|mystack) transforms((,newability[fizzle],newability[ability$!name(Destroy planeswalker) name(Destroy planeswalker) target(planeswalker|battlefield) destroy!$ controller])) oneshot
|
||||
auto=if type(*|opponentbattlefield)~morethan~0 then choice name(Return opponent permanent and creature gets -3/-3) name(Return opponent permanent and creature gets -3/-3) target(*|opponentbattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Creature gets -3/-3) name(Creature gets -3/-3) target(creature|battlefield) -3/-3 ueot!$ opponent])) oneshot
|
||||
auto=if type(*|mybattlefield)~morethan~0 then choice name(Return your permanent and creature gets -3/-3) name(Return your permanent and creature gets -3/-3) target(*|mybattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Creature gets -3/-3) name(Creature gets -3/-3) target(creature|battlefield) -3/-3 ueot!$ controller])) oneshot
|
||||
auto=if type(*|opponentbattlefield)~morethan~0 then choice name(Return opponent permanent and destroy planeswalker) name(Return opponent permanent and destroy planeswalker) target(*|opponentbattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Destroy planeswalker) name(Destroy planeswalker) target(planeswalker|battlefield) destroy!$ opponent])) oneshot
|
||||
auto=if type(*|mybattlefield)~morethan~0 then choice name(Return your permanent and destroy planeswalker) name(Return your permanent and destroy planeswalker) target(*|mybattlefield) transforms((,newability[moveto(ownerhand)],newability[ability$!name(Destroy planeswalker) name(Destroy planeswalker) target(planeswalker|battlefield) destroy!$ controller])) oneshot
|
||||
auto=if type(creature|opponentbattlefield)~morethan~0 then choice name(Opponent creature gets -3/-3 and destroy planeswalker) name(Opponent creature gets -3/-3 and destroy planeswalker) target(creature|opponentbattlefield) transforms((,newability[-3/-3 ueot],newability[ability$!name(Destroy planeswalker) name(Destroy planeswalker) target(planeswalker|battlefield) destroy!$ opponent])) oneshot
|
||||
auto=if type(creature|mybattlefield)~morethan~0 then choice name(Your creature gets -3/-3 and destroy planeswalker) name(Your creature gets -3/-3 and destroy planeswalker) target(creature|mybattlefield) transforms((,newability[-3/-3 ueot],newability[ability$!name(Destroy planeswalker) name(Destroy planeswalker) target(planeswalker|battlefield) destroy!$ controller])) oneshot
|
||||
text=Choose two — -- • Counter target noncreature spell. -- • Return target permanent to its owner's hand. -- • Target creature gets -3/-3 until end of turn. -- • Destroy target planeswalker.
|
||||
mana={3}{U}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Silumgar Scavenger
|
||||
abilities=flying
|
||||
auto=may name(Exploit) sacrifice target(creature|mybattlefield) && all(this) transforms((,newability[haste])) ueot
|
||||
@@ -58207,6 +58490,14 @@ mana={3}{W}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Slaughter Games
|
||||
abilities=nofizzle
|
||||
auto=chooseanameopp name(Search that cards) target(<anyamount>creature[chosenname]|opponentgraveyard,opponentlibrary,opponenthand) moveto(exile) and!( shuffle opponent )! chooseend nonland
|
||||
text=Slaughter Games can't be countered by spells or abilities. -- Name a nonland card. Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={2}{B}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Slaughter the Strong
|
||||
auto=sacrifice all(creature[power>4]|mybattlefield)
|
||||
auto=ability$!name(Sacrifice) sacrifice all(creature[power>4]|mybattlefield)!$ opponent
|
||||
@@ -60864,6 +61155,15 @@ type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Stain the Mind
|
||||
other={convoke} name(Convoke)
|
||||
auto=choice name(Target opponent) ability$!chooseanameopp name(Search that cards) target(<anyamount>creature[chosenname]|opponentgraveyard,opponentlibrary,opponenthand) moveto(exile) and!( shuffle opponent )! chooseend nonland!$ controller
|
||||
auto=choice name(Target yourself) ability$!chooseaname name(Search that cards) target(<anyamount>creature[chosenname]|mygraveyard,mylibrary,myhand) moveto(exile) and!( shuffle controller )! chooseend nonland!$ controller
|
||||
text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Name a nonland card. Search target player's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={4}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Stalking Leonin
|
||||
auto={0}:name(reveal the opponent) this(counter{0/0.1.StalkingEffect}<1) name(reveal the opponent) transforms((,newability[name(Move to exile) name(Move to exile) target(creature[attacking]|opponentbattlefield) moveto(exile)],newability[counter(0/0.1.StalkingEffect)])) oneshot
|
||||
text=When Stalking Leonin enters the battlefield, secretly choose an opponent. -- Reveal the player you chose: Exile target creature that's attacking you if it's controlled by the chosen player. Activate this ability only once.
|
||||
@@ -61667,7 +61967,7 @@ toughness=3
|
||||
[card]
|
||||
name=Storm Herald
|
||||
abilities=haste
|
||||
auto=activate castcard(normal) target(<anyamount>aura|myGraveyard) and!(transforms((,newability[treason],newability[exiledeath])) forever)!
|
||||
auto=activate castcard(normal) target(<anyamount>aura|myGraveyard) and!( transforms((,newability[unearth],newability[exiledeath])) forever )!
|
||||
text=Haste -- When Storm Herald enters the battlefield, return any number of Aura cards from your graveyard to the battlefield attached to creatures you control. Exile those Auras at the beginning of your next end step. If those Auras would leave the battlefield, exile them instead of putting them anywhere else.
|
||||
mana={2}{R}
|
||||
type=Creature
|
||||
@@ -62264,6 +62564,17 @@ mana={1}{W}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Summoning Trap
|
||||
other={0} name(Creature was countered)
|
||||
otherrestriction=thisturn(instant|opponentstack)~morethan~0,thisturn(creature|mystack)~morethan~0,type(creature[fresh]|mygraveyard)~morethan~0
|
||||
aicode=activate transforms((,newability[target(creature[zpos<=7]|mylibrary) moveto(mybattlefield)],newability[all(*[zpos<=7]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot
|
||||
auto=name(Look top 7) reveal:7 optionone name(Get a creature) target(<upto:1>creature|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend
|
||||
text=If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay Summoning Trap's mana cost. -- Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in any order.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Sun Sentinel
|
||||
abilities=vigilance
|
||||
text=Vigilance (Attacking doesn't cause this creature to tap.)
|
||||
@@ -63709,6 +64020,54 @@ power=2
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Tariff
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~0 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=0]|mybattlefield) transforms((,newability[pay[[{0}]] name(pay 0 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~0 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=0]|mybattlefield) transforms((,newability[pay[[{0}]] name(pay 0 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~1 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=1]|mybattlefield) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~1 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=1]|mybattlefield) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~2 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=2]|mybattlefield) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~2 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=2]|mybattlefield) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~3 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=3]|mybattlefield) transforms((,newability[pay[[{3}]] name(pay 3 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~3 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=3]|mybattlefield) transforms((,newability[pay[[{3}]] name(pay 3 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~4 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=4]|mybattlefield) transforms((,newability[pay[[{4}]] name(pay 4 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~4 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=4]|mybattlefield) transforms((,newability[pay[[{4}]] name(pay 4 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~5 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=5]|mybattlefield) transforms((,newability[pay[[{5}]] name(pay 5 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~5 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=5]|mybattlefield) transforms((,newability[pay[[{5}]] name(pay 5 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~6 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=6]|mybattlefield) transforms((,newability[pay[[{6}]] name(pay 6 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~6 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=6]|mybattlefield) transforms((,newability[pay[[{6}]] name(pay 6 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~7 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=7]|mybattlefield) transforms((,newability[pay[[{7}]] name(pay 7 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~7 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=7]|mybattlefield) transforms((,newability[pay[[{7}]] name(pay 7 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~8 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=8]|mybattlefield) transforms((,newability[pay[[{8}]] name(pay 8 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~8 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=8]|mybattlefield) transforms((,newability[pay[[{8}]] name(pay 8 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~9 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=9]|mybattlefield) transforms((,newability[pay[[{9}]] name(pay 9 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~9 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=9]|mybattlefield) transforms((,newability[pay[[{9}]] name(pay 9 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~10 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=10]|mybattlefield) transforms((,newability[pay[[{10}]] name(pay 10 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~10 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=10]|mybattlefield) transforms((,newability[pay[[{10}]] name(pay 10 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~11 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=11]|mybattlefield) transforms((,newability[pay[[{11}]] name(pay 11 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~11 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=11]|mybattlefield) transforms((,newability[pay[[{11}]] name(pay 11 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~12 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=12]|mybattlefield) transforms((,newability[pay[[{12}]] name(pay 12 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~12 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=12]|mybattlefield) transforms((,newability[pay[[{12}]] name(pay 12 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~13 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=13]|mybattlefield) transforms((,newability[pay[[{13}]] name(pay 13 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~13 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=13]|mybattlefield) transforms((,newability[pay[[{13}]] name(pay 13 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~14 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=14]|mybattlefield) transforms((,newability[pay[[{14}]] name(pay 14 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~14 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=14]|mybattlefield) transforms((,newability[pay[[{14}]] name(pay 14 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~15 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=15]|mybattlefield) transforms((,newability[pay[[{15}]] name(pay 15 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~15 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=15]|mybattlefield) transforms((,newability[pay[[{15}]] name(pay 15 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~16 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=16]|mybattlefield) transforms((,newability[pay[[{16}]] name(pay 16 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~16 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=16]|mybattlefield) transforms((,newability[pay[[{16}]] name(pay 16 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~17 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=17]|mybattlefield) transforms((,newability[pay[[{17}]] name(pay 17 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~17 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=17]|mybattlefield) transforms((,newability[pay[[{17}]] name(pay 17 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~18 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=18]|mybattlefield) transforms((,newability[pay[[{18}]] name(pay 18 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~18 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=18]|mybattlefield) transforms((,newability[pay[[{18}]] name(pay 18 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~equalto~19 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=19]|mybattlefield) transforms((,newability[pay[[{19}]] name(pay 19 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~equalto~19 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost=19]|mybattlefield) transforms((,newability[pay[[{19}]] name(pay 19 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
auto=if compare(convertedcost:highest:creature:opponentbattlefield)~morethan~19 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost>=20]|mybattlefield) transforms((,newability[pay[[{20}]] name(pay 20 mana) donothing?sacrifice])) oneshot!$ opponent
|
||||
auto=if compare(convertedcost:highest:creature:mybattlefield)~morethan~19 then ability$!name(Sacrifice a creature) name(Sacrifice a creature) target(creature[manacost>=20]|mybattlefield) transforms((,newability[pay[[{20}]] name(pay 20 mana) donothing?sacrifice])) oneshot!$ controller
|
||||
text=Each player sacrifices the creature he or she controls with the highest converted mana cost unless he or she pays that creature's mana cost. If two creatures a player controls are tied for highest cost, that player chooses one.
|
||||
mana={1}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Tasha's Hideous Laughter
|
||||
auto=all(*[zpos<=oppototalmana20]|opponentlibrary) moveto(exile)
|
||||
text=Each opponent exiles cards from the top of their library until that player has exiled cards with total mana value 20 or more.
|
||||
@@ -67788,26 +68147,26 @@ toughness=3
|
||||
[card]
|
||||
name=Twinflame
|
||||
kicker=multi{2}{R}
|
||||
auto=if compare(kicked)~equalto~0 then name(choose 1 creature) name(choose 1 creature) target(creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~1 then name(choose 2 creatures) name(choose 2 creatures) target(<upto:2>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~2 then name(choose 3 creatures) name(choose 3 creatures) target(<upto:3>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~3 then name(choose 4 creatures) name(choose 4 creatures) target(<upto:4>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~4 then name(choose 5 creatures) name(choose 5 creatures) target(<upto:5>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~5 then name(choose 6 creatures) name(choose 6 creatures) target(<upto:6>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~6 then name(choose 7 creatures) name(choose 7 creatures) target(<upto:7>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~7 then name(choose 8 creatures) name(choose 8 creatures) target(<upto:8>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~8 then name(choose 9 creatures) name(choose 9 creatures) target(<upto:9>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~9 then name(choose 10 creatures) name(choose 10 creatures) target(<upto:10>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~10 then name(choose 11 creatures) name(choose 11 creatures) target(<upto:11>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~11 then name(choose 12 creatures) name(choose 12 creatures) target(<upto:12>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~12 then name(choose 13 creatures) name(choose 13 creatures) target(<upto:13>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~13 then name(choose 14 creatures) name(choose 14 creatures) target(<upto:14>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~14 then name(choose 15 creatures) name(choose 15 creatures) target(<upto:15>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~15 then name(choose 16 creatures) name(choose 16 creatures) target(<upto:16>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~16 then name(choose 17 creatures) name(choose 17 creatures) target(<upto:17>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~17 then name(choose 18 creatures) name(choose 18 creatures) target(<upto:18>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~18 then name(choose 19 creatures) name(choose 19 creatures) target(<upto:19>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~19 then name(choose 20 creatures) name(choose 20 creatures) target(<upto:20>creature|myBattlefield) clone with(treason,haste)
|
||||
auto=if compare(kicked)~equalto~0 then name(choose 1 creature) name(choose 1 creature) target(creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~1 then name(choose 2 creatures) name(choose 2 creatures) target(<upto:2>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~2 then name(choose 3 creatures) name(choose 3 creatures) target(<upto:3>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~3 then name(choose 4 creatures) name(choose 4 creatures) target(<upto:4>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~4 then name(choose 5 creatures) name(choose 5 creatures) target(<upto:5>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~5 then name(choose 6 creatures) name(choose 6 creatures) target(<upto:6>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~6 then name(choose 7 creatures) name(choose 7 creatures) target(<upto:7>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~7 then name(choose 8 creatures) name(choose 8 creatures) target(<upto:8>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~8 then name(choose 9 creatures) name(choose 9 creatures) target(<upto:9>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~9 then name(choose 10 creatures) name(choose 10 creatures) target(<upto:10>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~10 then name(choose 11 creatures) name(choose 11 creatures) target(<upto:11>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~11 then name(choose 12 creatures) name(choose 12 creatures) target(<upto:12>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~12 then name(choose 13 creatures) name(choose 13 creatures) target(<upto:13>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~13 then name(choose 14 creatures) name(choose 14 creatures) target(<upto:14>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~14 then name(choose 15 creatures) name(choose 15 creatures) target(<upto:15>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~15 then name(choose 16 creatures) name(choose 16 creatures) target(<upto:16>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~16 then name(choose 17 creatures) name(choose 17 creatures) target(<upto:17>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~17 then name(choose 18 creatures) name(choose 18 creatures) target(<upto:18>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~18 then name(choose 19 creatures) name(choose 19 creatures) target(<upto:19>creature|myBattlefield) clone with(unearth,haste)
|
||||
auto=if compare(kicked)~equalto~19 then name(choose 20 creatures) name(choose 20 creatures) target(<upto:20>creature|myBattlefield) clone with(unearth,haste)
|
||||
text=Strive — Twinflame costs {2}{R} more to cast for each target beyond the first. -- Choose any number of target creatures you control. For each of them, put a token that's a copy of that creature onto the battlefield. Those tokens have haste. Exile them at the beginning of the next end step.
|
||||
mana={1}{R}
|
||||
type=Sorcery
|
||||
@@ -72788,8 +73147,19 @@ power=4
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Wood Sage
|
||||
aicode=activate target(<4>creature[chosenname;zpos<=4]|mylibrary) moveto(myhand) and!( all(*[zpos<=4]|mylibrary) moveto(mygraveyard) )!
|
||||
auto={T}:name(Name a creature) ability$!chooseaname reveal:4 optionone name(Put named creatures in hand) name(Put named creatures in hand) target(<4>creature[chosenname]|reveal) moveto(myhand) optiononeend optiontwo name(Put in graveyard) target(<4>*|reveal) moveto(mygraveyard) optiontwoend revealend chooseend nonland!$ controller
|
||||
text={T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.
|
||||
mana={G}{U}
|
||||
type=Creature
|
||||
subtype=Human Druid
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Woodland Champion
|
||||
auto=@movedTo(*[token]|myBattlefield) counter(1/1,1)
|
||||
auto=@movedTo(*[token]|myBattlefield):counter(1/1)
|
||||
text=Whenever one or more tokens enter the battlefield under your control, put that many +1/+1 counters on Woodland Champion.
|
||||
mana={1}{G}
|
||||
type=Creature
|
||||
|
||||
@@ -360,13 +360,6 @@ power=5
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Archive Trap
|
||||
text=If an opponent searched his or her library this turn, you may pay {0} rather than pay Archive Trap's mana cost. -- Target opponent puts the top thirteen cards of his or her library into his or her graveyard.
|
||||
mana={3}{U}{U}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Arcum's Whistle
|
||||
text={3}, {T}: Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That player may pay {X}, where X is that creature's converted mana cost. If he or she doesn't, the creature attacks this turn if able, and at the beginning of the next end step, destroy it if it didn't attack. Activate this ability only before attackers are declared.
|
||||
mana={3}
|
||||
@@ -1111,12 +1104,6 @@ power=5
|
||||
toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Bosium Strip
|
||||
text={3}, {T}: Until end of turn, if the top card of your graveyard is an instant or sorcery card, you may cast that card. If a card cast this way would be put into a graveyard this turn, exile it instead.
|
||||
mana={3}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Bosom Buddy
|
||||
text=Whenever you play a spell, you may gain ½ life for each word in that spell's name.
|
||||
mana={3}{W}
|
||||
@@ -1179,12 +1166,6 @@ mana={2}{U}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Breathstealer's Crypt
|
||||
text=If a player would draw a card, instead he or she draws a card and reveals it. If it's a creature card, that player discards it unless he or she pays 3 life.
|
||||
mana={2}{U}{B}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Briarbridge Patrol
|
||||
text=Whenever Briarbridge Patrol deals damage to one or more creatures, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- At the beginning of each end step, if you sacrificed three or more Clues this turn, you may put a creature card from your hand onto the battlefield.
|
||||
mana={3}{G}
|
||||
@@ -1832,13 +1813,6 @@ power=2
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Cobra Trap
|
||||
text=If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay Cobra Trap's mana cost. -- Put four 1/1 green Snake creature tokens onto the battlefield.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Cocoon
|
||||
text=Enchant creature you control -- Enchanted creature doesn't untap during your untap step if Cocoon has a pupa counter on it. -- When Cocoon enters the battlefield, tap enchanted creature and put three pupa counters on Cocoon. -- At the beginning of your upkeep, remove a pupa counter from Cocoon. If you can't, sacrifice it, put a +1/+1 counter on enchanted creature, and that creature gains flying. (This effect lasts indefinitely.)
|
||||
mana={G}
|
||||
@@ -2009,13 +1983,6 @@ type=Enchantment
|
||||
subtype=Aura
|
||||
[/card]
|
||||
[card]
|
||||
name=Corpse Dance
|
||||
buyback={2}{B}{2}
|
||||
text=Buyback {2} (You may pay an additional {2} as you cast this spell. If you do, put this card into your hand as it resolves.) -- Return the top creature card of your graveyard to the battlefield. That creature gains haste until end of turn. Exile it at the beginning of the next end step.
|
||||
mana={2}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Corpsejack Menace
|
||||
text=If one or more +1/+1 counters would be placed on a creature you control, twice that many +1/+1 counters are placed on it instead.
|
||||
mana={2}{B}{G}
|
||||
@@ -2040,15 +2007,6 @@ power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Cosi's Trickster
|
||||
text=Whenever an opponent shuffles his or her library, you may put a +1/+1 counter on Cosi's Trickster.
|
||||
mana={U}
|
||||
type=Creature
|
||||
subtype=Merfolk Wizard
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Council Guardian
|
||||
text=Will of the council — When Council Guardian enters the battlefield, starting with you, each player votes for blue, black, red, or green. Council Guardian gains protection from each color with the most votes or tied for most votes.
|
||||
mana={5}{W}
|
||||
@@ -2134,13 +2092,6 @@ mana={4}{R}{G}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Cranial Extraction
|
||||
text=Name a nonland card. Search target player's graveyard, hand, and library for all cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={3}{B}
|
||||
type=Sorcery
|
||||
subtype=Arcane
|
||||
[/card]
|
||||
[card]
|
||||
name=Crawlspace
|
||||
text=No more than two creatures can attack you each combat.
|
||||
mana={3}
|
||||
@@ -2798,12 +2749,6 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Doomsday
|
||||
text=Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up.
|
||||
mana={B}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Double Cross
|
||||
text=Choose another player. Look at that player's hand and choose one of those cards other than a basic land. He or she discards that card. At the beginning of the next game with the player, look at the player's hand and choose one of those cards other than a basic land. He or she discards that card.
|
||||
mana={3}{B}{B}
|
||||
@@ -3304,12 +3249,6 @@ mana={2}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Exclusion Ritual
|
||||
text=Imprint — When Exclusion Ritual enters the battlefield, exile target nonland permanent. -- Players can't cast spells with the same name as the exiled card.
|
||||
mana={4}{W}{W}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Experiment Kraj
|
||||
text=Experiment Kraj has all activated abilities of each other creature with a +1/+1 counter on it. -- {T}: Put a +1/+1 counter on target creature.
|
||||
mana={2}{G}{G}{U}{U}
|
||||
@@ -3570,12 +3509,6 @@ mana={1}{G}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Flaming Gambit
|
||||
text=Flaming Gambit deals X damage to target player. That player may choose a creature he or she controls and have Flaming Gambit deal that damage to it instead. -- Flashback {X}{R}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
|
||||
mana={X}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Flaring Pain
|
||||
text=Damage can't be prevented this turn. -- Flashback {R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
|
||||
mana={1}{R}
|
||||
@@ -3658,12 +3591,6 @@ mana={2}{G}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Forbidden Ritual
|
||||
text=Sacrifice a nontoken permanent. If you do, target opponent loses 2 life unless he or she sacrifices a permanent or discards a card. You may repeat this process any number of times.
|
||||
mana={2}{B}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Force Bubble
|
||||
text=If damage would be dealt to you, put that many depletion counters on Force Bubble instead. -- When there are four or more depletion counters on Force Bubble, sacrifice it. -- At the beginning of each end step, remove all depletion counters from Force Bubble.
|
||||
mana={2}{W}{W}
|
||||
@@ -4284,15 +4211,6 @@ mana={5}{R}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Goblin Grenadiers
|
||||
text=Whenever Goblin Grenadiers attacks and isn't blocked, you may sacrifice it. If you do, destroy target creature and target land.
|
||||
mana={3}{R}
|
||||
type=Creature
|
||||
subtype=Goblin
|
||||
power=2
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Goblin Haberdasher
|
||||
text=Menace (This creature can't be blocked except by two or more creatures.) -- Other creatures you control wearing hats in their art have menace.
|
||||
mana={2}{R}
|
||||
@@ -4363,16 +4281,6 @@ mana={4}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Gomazoa
|
||||
abilities=defender,flying
|
||||
text=Defender, flying -- {T}: Put Gomazoa and each creature it's blocking on top of their owners' libraries, then those players shuffle their libraries.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
subtype=Jellyfish
|
||||
power=0
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Goryo's Vengeance
|
||||
text=Return target legendary creature card from your graveyard to the battlefield. That creature gains haste. Exile it at the beginning of the next end step. -- Splice onto Arcane {2}{B} (As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.)
|
||||
mana={1}{B}
|
||||
@@ -5572,15 +5480,6 @@ power=3
|
||||
toughness=2
|
||||
[/card]
|
||||
[card]
|
||||
name=Kalitas, Bloodchief of Ghet
|
||||
text={B}{B}{B}, {T}: Destroy target creature. If that creature dies this way, put a black Vampire creature token onto the battlefield. Its power is equal to that creature's power and its toughness is equal to that creature's toughness.
|
||||
mana={5}{B}{B}
|
||||
type=Legendary Creature
|
||||
subtype=Vampire Warrior
|
||||
power=5
|
||||
toughness=5
|
||||
[/card]
|
||||
[card]
|
||||
name=Kamahl's Summons
|
||||
text=Each player may reveal any number of creature cards from his or her hand. Then each player puts a 2/2 green Bear creature token onto the battlefield for each card he or she revealed this way.
|
||||
mana={3}{G}
|
||||
@@ -6686,21 +6585,6 @@ mana={4}{R}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Meletis Charlatan
|
||||
text={2}{U}, {T}: The controller of target instant or sorcery spell copies it. That player may choose new targets for the copy.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
subtype=Human Wizard
|
||||
power=2
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Memoricide
|
||||
text=Name a nonland card. Search target player's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={3}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Memory Crystal
|
||||
text=Buyback costs cost {2} less.
|
||||
mana={3}
|
||||
@@ -6731,15 +6615,6 @@ power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Merieke Ri Berit
|
||||
text=Merieke Ri Berit doesn't untap during your untap step. -- {T}: Gain control of target creature for as long as you control Merieke Ri Berit. When Merieke Ri Berit leaves the battlefield or becomes untapped, destroy that creature. It can't be regenerated.
|
||||
mana={W}{U}{B}
|
||||
type=Legendary Creature
|
||||
subtype=Human
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Merseine
|
||||
text=Enchant creature -- Merseine enters the battlefield with three net counters on it. -- Enchanted creature doesn't untap during its controller's untap step if Merseine has a net counter on it. -- Pay enchanted creature's mana cost: Remove a net counter from Merseine. Any player may activate this ability, but only if he or she controls the enchanted creature.
|
||||
mana={2}{U}{U}
|
||||
@@ -6848,13 +6723,6 @@ mana={5}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Mindbreak Trap
|
||||
text=If an opponent cast three or more spells this turn, you may pay {0} rather than pay Mindbreak Trap's mana cost. -- Exile any number of target spells.
|
||||
mana={2}{U}{U}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Mindlock Orb
|
||||
text=Players can't search libraries.
|
||||
mana={3}{U}
|
||||
@@ -7607,16 +7475,6 @@ text=(An ongoing scheme remains face up until it's abandoned.) -- If a source an
|
||||
type=Ongoing Scheme
|
||||
[/card]
|
||||
[card]
|
||||
name=Notion Thief
|
||||
abilities=flash
|
||||
text=Flash -- If an opponent would draw a card except the first one he or she draws in each of his or her draw steps, instead that player skips that draw and you draw a card.
|
||||
mana={2}{U}{B}
|
||||
type=Creature
|
||||
subtype=Human Rogue
|
||||
power=3
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Nova Pentacle
|
||||
text={3}, {T}: The next time a source of your choice would deal damage to you this turn, that damage is dealt to target creature of an opponent's choice instead.
|
||||
mana={4}
|
||||
@@ -8559,12 +8417,6 @@ mana={3}{U}{U}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Intrusion
|
||||
text=Target opponent reveals his or her hand. You choose a nonland card from that player's graveyard or hand and exile it. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell.
|
||||
mana={3}{U}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Network
|
||||
text=Each player reveals the top card of his or her library to all other players by continuously holding it against his or her forehead. This does not allow a player to look at his or her own card. (That card still counts as the top card of your library. Whenever you draw a card, draw that one and replace it with the next card of your library.)
|
||||
mana={U}
|
||||
@@ -8584,24 +8436,12 @@ mana={1}{U}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Surgery
|
||||
text=Whenever an opponent shuffles his or her library, you may look at the top two cards of that library. You may exile one of those cards. Then put the rest on top of that library in any order.
|
||||
mana={1}{U}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychic Theft
|
||||
text=Target player reveals his or her hand. You choose an instant or sorcery card from it and exile that card. You may cast that card for as long as it remains exiled. At the beginning of the next end step, if you haven't cast the card, return it to its owner's hand.
|
||||
mana={1}{U}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Psychogenic Probe
|
||||
text=Whenever a spell or ability causes a player to shuffle his or her library, Psychogenic Probe deals 2 damage to him or her.
|
||||
mana={2}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Puca's Mischief
|
||||
text=At the beginning of your upkeep, you may exchange control of target nonland permanent you control and target nonland permanent an opponent controls with an equal or lesser converted mana cost.
|
||||
mana={3}{U}
|
||||
@@ -8677,12 +8517,6 @@ power=0
|
||||
toughness=0
|
||||
[/card]
|
||||
[card]
|
||||
name=Pyromancer Ascension
|
||||
text=Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension. -- Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.
|
||||
mana={1}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Question Elemental?
|
||||
abilities=flying
|
||||
text=Flying -- Are you aware that when you say something that isn't a question, the player who first points out this fact gains control of Question Elemental?
|
||||
@@ -9093,13 +8927,6 @@ mana={R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Ricochet Trap
|
||||
text=If an opponent cast a blue spell this turn, you may pay {R} rather than pay Ricochet Trap's mana cost. -- Change the target of target spell with a single target.
|
||||
mana={3}{R}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Riftsweeper
|
||||
text=When Riftsweeper enters the battlefield, choose target face-up exiled card. Its owner shuffles it into his or her library.
|
||||
mana={1}{G}
|
||||
@@ -9240,12 +9067,6 @@ power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Rumbling Aftershocks
|
||||
text=Whenever you cast a kicked spell, you may have Rumbling Aftershocks deal damage to target creature or player equal to the number of times that spell was kicked.
|
||||
mana={4}{R}
|
||||
type=Enchantment
|
||||
[/card]
|
||||
[card]
|
||||
name=Runed Halo
|
||||
text=As Runed Halo enters the battlefield, name a card. -- You have protection from the chosen name. (You can't be targeted, dealt damage, or enchanted by anything with that name.)
|
||||
mana={W}{W}
|
||||
@@ -9894,12 +9715,6 @@ mana={1}{U}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Silumgar's Command
|
||||
text=Choose two — -- • Counter target noncreature spell. -- • Return target permanent to its owner's hand. -- • Target creature gets -3/-3 until end of turn. -- • Destroy target planeswalker.
|
||||
mana={3}{U}{B}
|
||||
type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Silver Wyvern
|
||||
abilities=flying
|
||||
text=Flying -- {U}: Change the target of target spell or ability that targets only Silver Wyvern. The new target must be a creature.
|
||||
@@ -9995,12 +9810,6 @@ type=Plane
|
||||
subtype=Kaldheim
|
||||
[/card]
|
||||
[card]
|
||||
name=Slaughter Games
|
||||
text=Slaughter Games can't be countered by spells or abilities. -- Name a nonland card. Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={2}{B}{R}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Slaying Mantis
|
||||
text=Just a second (As long as this spell is on the stack, players can't move cards on the battlefield.) -- Slaying Mantis enters the battlefield by being thrown from a distance of at least three feet. -- When Slaying Mantis enters the battlefield, it fights each creature an opponent controls that it touched as it entered.
|
||||
mana={5}{G}{G}
|
||||
@@ -10579,12 +10388,6 @@ mana={3}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
name=Stain the Mind
|
||||
text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Name a nonland card. Search target player's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||
mana={4}{B}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Stairs to Infinity
|
||||
text=Players have no maximum hand size. -- Whenever you roll the planar die, draw a card. -- Whenever you roll {K}, reveal the top card of your planar deck. You may put it on the bottom of your planar deck.
|
||||
type=Plane
|
||||
@@ -10923,13 +10726,6 @@ power=0
|
||||
toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
name=Summoning Trap
|
||||
text=If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay Summoning Trap's mana cost. -- Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in any order.
|
||||
mana={4}{G}{G}
|
||||
type=Instant
|
||||
subtype=Trap
|
||||
[/card]
|
||||
[card]
|
||||
name=Suncleanser
|
||||
text=When Suncleanser enters the battlefield, choose one — -- • Remove all counters from target creature. It can't have counters put on it for as long as Suncleanser remains on the battlefield. -- • Target opponent loses all counters. That player can't get counters for as long as Suncleanser remains on the battlefield.
|
||||
mana={1}{W}
|
||||
@@ -11130,12 +10926,6 @@ type=Artifact
|
||||
subtype=Contraption
|
||||
[/card]
|
||||
[card]
|
||||
name=Tariff
|
||||
text=Each player sacrifices the creature he or she controls with the highest converted mana cost unless he or she pays that creature's mana cost. If two creatures a player controls are tied for highest cost, that player chooses one.
|
||||
mana={1}{W}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
name=Tawnos's Coffin
|
||||
text=You may choose not to untap Tawnos's Coffin during your untap step. -- {3}, {T}: Exile target creature and all Auras attached to it. Note the number and kind of counters that were on that creature. When Tawnos's Coffin leaves the battlefield or becomes untapped, return the exiled card to the battlefield under its owner's control tapped with the noted number and kind of counters on it, and if you do, return the exiled Aura cards to the battlefield under their owner's control attached to that permanent.
|
||||
mana={4}
|
||||
@@ -12628,15 +12418,6 @@ power=3
|
||||
toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
name=Wood Sage
|
||||
text={T}: Name a creature card. Reveal the top four cards of your library and put all of them with that name into your hand. Put the rest into your graveyard.
|
||||
mana={G}{U}
|
||||
type=Creature
|
||||
subtype=Human Druid
|
||||
power=1
|
||||
toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
name=Woodland Guidance
|
||||
text=Return target card from your graveyard to your hand. Clash with an opponent. If you win, untap all Forests you control. (Each clashing player reveals the top card of his or her library, then puts that card on the top or bottom. A player wins if his or her card had a higher converted mana cost.) -- Exile Woodland Guidance.
|
||||
mana={3}{G}
|
||||
|
||||
@@ -166,7 +166,7 @@ public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrCardAddedToZone(GameObserver* observer, int id, MTGCardInstance * source, TargetZoneChooser * toTcZone, TargetChooser * toTcCard,
|
||||
TargetZoneChooser * fromTcZone = NULL, TargetChooser * fromTcCard = NULL,bool once = false,bool sourceUntapped = false,bool isSuspended = false, bool limitOnceATurn = false) :
|
||||
TargetZoneChooser * fromTcZone = NULL, TargetChooser * fromTcCard = NULL, bool once = false, bool sourceUntapped = false, bool isSuspended = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source, once), toTcZone(toTcZone), fromTcZone(fromTcZone), toTcCard(toTcCard), fromTcCard(fromTcCard),sourceUntapped(sourceUntapped),isSuspended(isSuspended),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
triggeredTurn = -1;
|
||||
@@ -368,11 +368,11 @@ public:
|
||||
bool attackBlockedTrigger;
|
||||
bool blockingTrigger;
|
||||
TrCombatTrigger(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,TargetChooser * fromTc = NULL,
|
||||
bool once = false,bool limitOnceATurn = false,bool sourceUntapped = false,bool opponentPoisoned = false,
|
||||
bool attackingTrigger = false,bool attackedAloneTrigger = false,bool notBlockedTrigger = false,bool attackBlockedTrigger = false,bool blockingTrigger = false) :
|
||||
Trigger(observer, id, source,once, tc), fromTc(fromTc),limitOnceATurn(limitOnceATurn),sourceUntapped(sourceUntapped),opponentPoisoned(opponentPoisoned),
|
||||
attackingTrigger(attackingTrigger),attackedAloneTrigger(attackedAloneTrigger),notBlockedTrigger(notBlockedTrigger),
|
||||
attackBlockedTrigger(attackBlockedTrigger),blockingTrigger(blockingTrigger)
|
||||
bool once = false, bool limitOnceATurn = false, bool sourceUntapped = false, bool opponentPoisoned = false,
|
||||
bool attackingTrigger = false, bool attackedAloneTrigger = false, bool notBlockedTrigger = false, bool attackBlockedTrigger = false, bool blockingTrigger = false) :
|
||||
Trigger(observer, id, source, once, tc), fromTc(fromTc), limitOnceATurn(limitOnceATurn), sourceUntapped(sourceUntapped), opponentPoisoned(opponentPoisoned),
|
||||
attackingTrigger(attackingTrigger), attackedAloneTrigger(attackedAloneTrigger), notBlockedTrigger(notBlockedTrigger),
|
||||
attackBlockedTrigger(attackBlockedTrigger), blockingTrigger(blockingTrigger)
|
||||
{
|
||||
triggeredTurn = -1;
|
||||
}
|
||||
@@ -471,11 +471,12 @@ public:
|
||||
return NEW TrCombatTrigger(*this);
|
||||
}
|
||||
};
|
||||
|
||||
class TrplayerEnergized: public Trigger
|
||||
{
|
||||
public:
|
||||
bool thiscontroller, thisopponent;
|
||||
TrplayerEnergized(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
TrplayerEnergized(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
Trigger(observer, id, source,once, tc),thiscontroller(thiscontroller),thisopponent(thisopponent)
|
||||
{
|
||||
}
|
||||
@@ -499,11 +500,12 @@ public:
|
||||
return NEW TrplayerEnergized(*this);
|
||||
}
|
||||
};
|
||||
|
||||
class TrplayerExperienced: public Trigger
|
||||
{
|
||||
public:
|
||||
bool thiscontroller, thisopponent;
|
||||
TrplayerExperienced(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
TrplayerExperienced(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
Trigger(observer, id, source,once, tc),thiscontroller(thiscontroller),thisopponent(thisopponent)
|
||||
{
|
||||
}
|
||||
@@ -527,12 +529,13 @@ public:
|
||||
return NEW TrplayerExperienced(*this);
|
||||
}
|
||||
};
|
||||
|
||||
class TrplayerMonarch: public Trigger
|
||||
{
|
||||
public:
|
||||
bool thiscontroller, thisopponent;
|
||||
TrplayerMonarch(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
Trigger(observer, id, source,once, tc),thiscontroller(thiscontroller),thisopponent(thisopponent)
|
||||
TrplayerMonarch(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
Trigger(observer, id, source, once, tc), thiscontroller(thiscontroller), thisopponent(thisopponent)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -556,13 +559,42 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class TrplayerShuffled: public Trigger
|
||||
{
|
||||
public:
|
||||
bool thiscontroller, thisopponent;
|
||||
TrplayerShuffled(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
Trigger(observer, id, source, once, tc), thiscontroller(thiscontroller), thisopponent(thisopponent)
|
||||
{
|
||||
}
|
||||
|
||||
int triggerOnEventImpl(WEvent * event)
|
||||
{
|
||||
WEventplayerShuffled * e = dynamic_cast<WEventplayerShuffled *> (event);
|
||||
if (!e) return 0;
|
||||
if (!tc->canTarget(e->player)) return 0;
|
||||
if(thiscontroller)
|
||||
if(e->player != source->controller())
|
||||
return 0;
|
||||
if(thisopponent)
|
||||
if(e->player == source->controller())
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
TrplayerShuffled * clone() const
|
||||
{
|
||||
return NEW TrplayerShuffled(*this);
|
||||
}
|
||||
};
|
||||
|
||||
class TrcardDrawn: public Trigger
|
||||
{
|
||||
public:
|
||||
bool thiscontroller, thisopponent;
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrcardDrawn(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false, bool thiscontroller = false, bool thisopponent = false, bool limitOnceATurn = false) :
|
||||
TrcardDrawn(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool thiscontroller = false, bool thisopponent = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source,once, tc),thiscontroller(thiscontroller),thisopponent(thisopponent),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
triggeredTurn = -1;
|
||||
@@ -596,7 +628,7 @@ class TrCardMutated: public Trigger
|
||||
public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrCardMutated(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false,bool limitOnceATurn = false) :
|
||||
TrCardMutated(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
triggeredTurn = -1;
|
||||
@@ -624,7 +656,7 @@ class TrCardExplored: public Trigger
|
||||
public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrCardExplored(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false,bool limitOnceATurn = false) :
|
||||
TrCardExplored(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
}
|
||||
@@ -651,7 +683,7 @@ class TrCardBoasted: public Trigger
|
||||
public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrCardBoasted(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false,bool limitOnceATurn = false) :
|
||||
TrCardBoasted(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
}
|
||||
@@ -678,7 +710,7 @@ class TrCardSurveiled: public Trigger
|
||||
public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrCardSurveiled(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false,bool limitOnceATurn = false) :
|
||||
TrCardSurveiled(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
}
|
||||
@@ -705,7 +737,7 @@ class TrCardForetold: public Trigger
|
||||
public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrCardForetold(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false,bool limitOnceATurn = false) :
|
||||
TrCardForetold(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
}
|
||||
@@ -732,7 +764,7 @@ class TrCardScryed: public Trigger
|
||||
public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
TrCardScryed(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false,bool limitOnceATurn = false) :
|
||||
TrCardScryed(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false) :
|
||||
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn)
|
||||
{
|
||||
}
|
||||
@@ -865,7 +897,7 @@ class TrTokenCreated: public Trigger
|
||||
{
|
||||
public:
|
||||
bool thiscontroller, thisopponent;
|
||||
TrTokenCreated(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false) :
|
||||
TrTokenCreated(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false) :
|
||||
Trigger(observer, id, source,once, tc)
|
||||
{
|
||||
}
|
||||
@@ -887,7 +919,7 @@ public:
|
||||
class TrCardSacrificed: public Trigger
|
||||
{
|
||||
public:
|
||||
TrCardSacrificed(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false) :
|
||||
TrCardSacrificed(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false) :
|
||||
Trigger(observer, id, source, once, tc)
|
||||
{
|
||||
}
|
||||
@@ -924,7 +956,7 @@ class TrCardDiscarded: public Trigger
|
||||
{
|
||||
public:
|
||||
bool cycledTrigger;
|
||||
TrCardDiscarded(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false, bool cycledTrigger = false) :
|
||||
TrCardDiscarded(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool cycledTrigger = false) :
|
||||
Trigger(observer, id, source, once, tc),cycledTrigger(cycledTrigger)
|
||||
{
|
||||
}
|
||||
@@ -964,7 +996,7 @@ public:
|
||||
int triggeredTurn;
|
||||
bool thiscontroller;
|
||||
bool thisopponent;
|
||||
TrDamaged(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL, int type = 0,bool sourceUntapped = false,bool limitOnceATurn = false,bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
TrDamaged(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL, int type = 0, bool sourceUntapped = false, bool limitOnceATurn = false, bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
Trigger(observer, id, source, once, tc), fromTc(fromTc), type(type) , sourceUntapped(sourceUntapped),limitOnceATurn(limitOnceATurn),thiscontroller(thiscontroller),thisopponent(thisopponent)
|
||||
{
|
||||
triggeredTurn = -1;
|
||||
@@ -1024,7 +1056,7 @@ public:
|
||||
bool limitOnceATurn;
|
||||
int triggeredTurn;
|
||||
MTGCardInstance * gainException; //added exception to avid a gainlife loop (eg. Angels of Vitality)
|
||||
TrLifeGained(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL, int type = 0,bool sourceUntapped = false,bool once = false, bool thiscontroller = false, bool thisopponent = false, bool limitOnceATurn = false, MTGCardInstance * gainException = NULL) :
|
||||
TrLifeGained(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL, int type = 0, bool sourceUntapped = false, bool once = false, bool thiscontroller = false, bool thisopponent = false, bool limitOnceATurn = false, MTGCardInstance * gainException = NULL) :
|
||||
Trigger(observer, id, source, once , tc), fromTc(fromTc), type(type) , sourceUntapped(sourceUntapped), thiscontroller(thiscontroller), thisopponent(thisopponent), limitOnceATurn(limitOnceATurn), gainException(gainException)
|
||||
{
|
||||
triggeredTurn = -1;
|
||||
@@ -1073,7 +1105,7 @@ class TrVampired: public Trigger
|
||||
{
|
||||
public:
|
||||
TargetChooser * fromTc;
|
||||
TrVampired(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL,bool once = false) :
|
||||
TrVampired(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL, bool once = false) :
|
||||
Trigger(observer, id, source, once, tc), fromTc(fromTc)
|
||||
{
|
||||
}
|
||||
@@ -1112,7 +1144,7 @@ class TrTargeted: public Trigger
|
||||
public:
|
||||
TargetChooser * fromTc;
|
||||
int type;
|
||||
TrTargeted(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL, int type = 0,bool once = false) :
|
||||
TrTargeted(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, TargetChooser * fromTc = NULL, int type = 0, bool once = false) :
|
||||
Trigger(observer, id, source, once, tc), fromTc(fromTc), type(type)
|
||||
{
|
||||
}
|
||||
@@ -1749,7 +1781,7 @@ public:
|
||||
string nbcardsStr;
|
||||
bool noReplace;
|
||||
AADrawer(GameObserver* observer, int _id, MTGCardInstance * card, Targetable * _target, ManaCost * _cost,string nbcardsStr, int who =
|
||||
TargetChooser::UNSET,bool noReplace = false);
|
||||
TargetChooser::UNSET, bool noReplace = false);
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
AADrawer * clone() const;
|
||||
@@ -2216,7 +2248,7 @@ class ACantBeBlockerOf: public MTGAbility
|
||||
public:
|
||||
TargetChooser * fromTc;
|
||||
bool thisCard;
|
||||
ACantBeBlockerOf(GameObserver* observer, int id, MTGCardInstance * _source, MTGCardInstance * _target, TargetChooser *fromTc,bool aThis) :
|
||||
ACantBeBlockerOf(GameObserver* observer, int id, MTGCardInstance * _source, MTGCardInstance * _target, TargetChooser *fromTc, bool aThis) :
|
||||
MTGAbility(observer, id, _source, _target), fromTc(fromTc),thisCard(aThis)
|
||||
{
|
||||
|
||||
@@ -2263,7 +2295,7 @@ public:
|
||||
string PT;
|
||||
bool nonstatic;
|
||||
bool cda;
|
||||
APowerToughnessModifier(GameObserver* observer, int id, MTGCardInstance * _source, MTGCardInstance * _target, WParsedPT * wppt,string PT,bool nonstatic) :
|
||||
APowerToughnessModifier(GameObserver* observer, int id, MTGCardInstance * _source, MTGCardInstance * _target, WParsedPT * wppt,string PT, bool nonstatic) :
|
||||
MTGAbility(observer, id, _source, _target), wppt(wppt),PT(PT),nonstatic(nonstatic)
|
||||
{
|
||||
aType = MTGAbility::STANDARD_PUMP;
|
||||
@@ -2676,7 +2708,7 @@ public:
|
||||
bool miniFound, maxiFound, compareZone;
|
||||
int amount[2];
|
||||
AAsLongAs(GameObserver* observer, int _id, MTGCardInstance * _source, Damageable * _target, TargetChooser * _tc, int _includeSelf,
|
||||
MTGAbility * ability, int mini = 0, int maxi = 0,bool miniFound = false,bool maxiFound = false,bool compareZone = false) :
|
||||
MTGAbility * ability, int mini = 0, int maxi = 0, bool miniFound = false, bool maxiFound = false, bool compareZone = false) :
|
||||
ListMaintainerAbility(observer, _id, _source, _target), NestedAbility(ability), mini(mini), maxi(maxi),miniFound(miniFound),maxiFound(maxiFound),compareZone(compareZone)
|
||||
{
|
||||
for (int j = 0; j < 2; j++)
|
||||
@@ -3163,7 +3195,7 @@ public:
|
||||
string cID;
|
||||
//by id
|
||||
ATokenCreator(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable *, ManaCost * _cost, int tokenId,string starfound, WParsedInt * multiplier = NULL,
|
||||
int who = 0,bool aLivingWeapon = false) :
|
||||
int who = 0, bool aLivingWeapon = false) :
|
||||
ActivatedAbility(observer, _id, _source, _cost, 0), tokenId(tokenId), starfound(starfound),multiplier(multiplier), who(who),aLivingWeapon(aLivingWeapon)
|
||||
{
|
||||
if (!multiplier) this->multiplier = NEW WParsedInt(1);
|
||||
@@ -3188,8 +3220,8 @@ public:
|
||||
}
|
||||
//by construction
|
||||
ATokenCreator(GameObserver* observer, int _id, MTGCardInstance * _source, Targetable *, ManaCost * _cost, string sname, string stypes, int _power, int _toughness,
|
||||
string sabilities, string starfound,WParsedInt * multiplier = NULL, int _who = 0,bool aLivingWeapon = false,string spt = "", string tnum = "") :
|
||||
ActivatedAbility(observer, _id, _source, _cost, 0),sabilities(sabilities),starfound(starfound), multiplier(multiplier), who(_who),aLivingWeapon(aLivingWeapon),spt(spt)
|
||||
string sabilities, string starfound, WParsedInt * multiplier = NULL, int _who = 0, bool aLivingWeapon = false, string spt = "", string tnum = "") :
|
||||
ActivatedAbility(observer, _id, _source, _cost, 0), sabilities(sabilities), starfound(starfound), multiplier(multiplier), who(_who), aLivingWeapon(aLivingWeapon), spt(spt)
|
||||
{
|
||||
power = _power;
|
||||
toughness = _toughness;
|
||||
@@ -4296,7 +4328,7 @@ bool retarget;
|
||||
bool reequip;
|
||||
bool newhook;
|
||||
int mutation;
|
||||
AANewTarget(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target,bool retarget = false, ManaCost * _cost = NULL, bool reequip = false, bool newhook = false, int mutation = 0);
|
||||
AANewTarget(GameObserver* observer, int id, MTGCardInstance * card, MTGCardInstance * _target, bool retarget = false, ManaCost * _cost = NULL, bool reequip = false, bool newhook = false, int mutation = 0);
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
AANewTarget * clone() const;
|
||||
@@ -4728,9 +4760,9 @@ public:
|
||||
bool UYNT;
|
||||
int myCurrentTurn;
|
||||
string menutext; //this overrides the previous.
|
||||
ATransformer(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * target, string stypes, string sabilities,string newpower,bool newpowerfound,string newtoughness,bool newtoughnessfound,vector<string> newAbilitiesList,bool newAbilityFound = false,bool aForever = false ,bool UYNT = false,string menutext = "");
|
||||
ATransformer(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * target, string stypes, string sabilities,string newpower, bool newpowerfound,string newtoughness, bool newtoughnessfound,vector<string> newAbilitiesList, bool newAbilityFound = false, bool aForever = false , bool UYNT = false,string menutext = "");
|
||||
int addToGame();
|
||||
int reapplyCountersBonus(MTGCardInstance * rtarget= NULL,bool powerapplied=false,bool toughnessapplied=false);
|
||||
int reapplyCountersBonus(MTGCardInstance * rtarget= NULL, bool powerapplied=false, bool toughnessapplied=false);
|
||||
int testDestroy();
|
||||
int destroy();
|
||||
const string getMenuText();
|
||||
@@ -4754,7 +4786,7 @@ public:
|
||||
bool UYNT;
|
||||
string menu;
|
||||
|
||||
ATransformerInstant(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * target, string types = "", string abilities = "",string newpower = "",bool newpowerfound = false,string newtoughness = "",bool newtoughnessfound = false,vector<string>newAbilitiesList = vector<string>(),bool newAbilityFound = false,bool aForever = false, bool UYNT = false,string menutext = "");
|
||||
ATransformerInstant(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * target, string types = "", string abilities = "",string newpower = "", bool newpowerfound = false, string newtoughness = "", bool newtoughnessfound = false, vector<string>newAbilitiesList = vector<string>(), bool newAbilityFound = false, bool aForever = false, bool UYNT = false, string menutext = "");
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
ATransformerInstant * clone() const;
|
||||
@@ -4770,7 +4802,7 @@ public:
|
||||
string s;
|
||||
bool nonstatic;
|
||||
WParsedPT * newWppt;
|
||||
PTInstant(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * target, WParsedPT * wppt,string s = "",bool nonstatic = false);
|
||||
PTInstant(GameObserver* observer, int id, MTGCardInstance * source, MTGCardInstance * target, WParsedPT * wppt, string s = "", bool nonstatic = false);
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
PTInstant * clone() const;
|
||||
@@ -5003,7 +5035,7 @@ public:
|
||||
ManaCost * backupMana;
|
||||
|
||||
AUpkeep(GameObserver* observer, int _id, MTGCardInstance * card, MTGAbility * a, ManaCost * _cost, int restrictions = 0, int _phase =
|
||||
MTG_PHASE_UPKEEP, int _once = 0,bool Cumulative = false);
|
||||
MTG_PHASE_UPKEEP, int _once = 0, bool Cumulative = false);
|
||||
int receiveEvent(WEvent * event);
|
||||
void Update(float dt);
|
||||
int isReactingToClick(MTGCardInstance * card, ManaCost * mana = NULL);
|
||||
@@ -5032,7 +5064,7 @@ public:
|
||||
Player * abilityOwner;
|
||||
|
||||
APhaseAction(GameObserver* observer, int _id, MTGCardInstance * card, MTGCardInstance * target, string sAbility, int restrictions = 0, int _phase =
|
||||
MTG_PHASE_UPKEEP,bool forcedestroy = false,bool next = true,bool myturn = true,bool opponentturn = true,bool once = false, bool checkexile = false);
|
||||
MTG_PHASE_UPKEEP, bool forcedestroy = false, bool next = true, bool myturn = true, bool opponentturn = true, bool once = false, bool checkexile = false);
|
||||
void Update(float dt);
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
@@ -5047,7 +5079,7 @@ public:
|
||||
string sAbility;
|
||||
APhaseAction * ability;
|
||||
APhaseActionGeneric(GameObserver* observer, int _id, MTGCardInstance * card, MTGCardInstance * target, string sAbility, int restrictions = 0, int _phase =
|
||||
MTG_PHASE_UPKEEP,bool forcedestroy = false,bool next = true,bool myturn = false,bool opponentturn = false,bool once = false,bool checkexile = false);
|
||||
MTG_PHASE_UPKEEP, bool forcedestroy = false, bool next = true, bool myturn = false, bool opponentturn = false, bool once = false, bool checkexile = false);
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
APhaseActionGeneric * clone() const;
|
||||
@@ -5208,7 +5240,7 @@ public:
|
||||
bool blinkhand;
|
||||
ABlink * ability;
|
||||
MTGAbility * stored;
|
||||
ABlinkGeneric(GameObserver* observer, int _id, MTGCardInstance * card, MTGCardInstance * _target,bool blinkueot=false,bool blinkForSource = false,bool blinkhand = false,MTGAbility * stored = NULL);
|
||||
ABlinkGeneric(GameObserver* observer, int _id, MTGCardInstance * card, MTGCardInstance * _target, bool blinkueot=false, bool blinkForSource = false, bool blinkhand = false, MTGAbility * stored = NULL);
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
ABlinkGeneric * clone() const;
|
||||
@@ -6467,7 +6499,7 @@ 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);
|
||||
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);
|
||||
|
||||
int testDestroy(){return 0;};
|
||||
void Update(float dt);
|
||||
@@ -6487,7 +6519,7 @@ class ASpiritLinkAbility: public MTGAbility
|
||||
public:
|
||||
MTGCardInstance * source;
|
||||
bool combatonly;
|
||||
ASpiritLinkAbility(GameObserver* observer, int _id, MTGCardInstance * _source,bool combatonly = false) :
|
||||
ASpiritLinkAbility(GameObserver* observer, int _id, MTGCardInstance * _source, bool combatonly = false) :
|
||||
MTGAbility(observer, _id, _source),source(_source),combatonly(combatonly)
|
||||
{
|
||||
}
|
||||
@@ -6631,7 +6663,7 @@ public:
|
||||
bool ANonWall;
|
||||
bool ANonBasicLand;
|
||||
bool ANonLand;
|
||||
GenericChooseTypeColorName(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, string toAdd = "", bool chooseColor = false,bool chooseName = false, bool chooseOppName = false, bool nonwall = false, bool nonbasicland = false, bool nonland = false, ManaCost * cost = NULL);
|
||||
GenericChooseTypeColorName(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, string toAdd = "", bool chooseColor = false, bool chooseName = false, bool chooseOppName = false, bool nonwall = false, bool nonbasicland = false, bool nonland = false, ManaCost * cost = NULL);
|
||||
int resolve();
|
||||
const string getMenuText();
|
||||
GenericChooseTypeColorName * clone() const;
|
||||
|
||||
@@ -50,6 +50,7 @@ public:
|
||||
int monarch;
|
||||
int surveilOffset;
|
||||
int devotionOffset;
|
||||
int lastShuffleTurn;
|
||||
int epic;
|
||||
int forcefield;
|
||||
int dealsdamagebycombat;
|
||||
|
||||
@@ -369,6 +369,14 @@ struct WEventplayerMonarch : public WEvent {
|
||||
virtual Targetable * getTarget(Player * player);
|
||||
};
|
||||
|
||||
//shuffle event
|
||||
struct WEventplayerShuffled : public WEvent {
|
||||
WEventplayerShuffled(Player * player);
|
||||
Player * player;
|
||||
using WEvent::getTarget;
|
||||
virtual Targetable * getTarget(Player * player);
|
||||
};
|
||||
|
||||
//boast event
|
||||
struct WEventCardBoasted : public WEventCardUpdate {
|
||||
WEventCardBoasted(MTGCardInstance * card);
|
||||
|
||||
@@ -1194,35 +1194,43 @@ TriggeredAbility * AbilityFactory::parseTrigger(string s, string, int id, Spell
|
||||
|
||||
//energized player - controller of card
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "energizedof", card))
|
||||
return NEW TrplayerEnergized(observer, id, card, tc,once,true,false);
|
||||
return NEW TrplayerEnergized(observer, id, card, tc, once, true, false);
|
||||
|
||||
//energized player - opponent of card controller
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "energizedfoeof", card))
|
||||
return NEW TrplayerEnergized(observer, id, card, tc,once,false,true);
|
||||
return NEW TrplayerEnergized(observer, id, card, tc, once, false, true);
|
||||
|
||||
//experienced player - controller of card
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "experiencedof", card))
|
||||
return NEW TrplayerExperienced(observer, id, card, tc,once,true,false);
|
||||
return NEW TrplayerExperienced(observer, id, card, tc, once, true, false);
|
||||
|
||||
//experienced player - opponent of card controller
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "experiencedfoeof", card))
|
||||
return NEW TrplayerExperienced(observer, id, card, tc,once,false,true);
|
||||
return NEW TrplayerExperienced(observer, id, card, tc, once, false, true);
|
||||
|
||||
//becomes monarch - controller of card
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "becomesmonarchof", card))
|
||||
return NEW TrplayerMonarch(observer, id, card, tc,once,true,false);
|
||||
return NEW TrplayerMonarch(observer, id, card, tc, once, true, false);
|
||||
|
||||
//becomes monarch - opponent of card controller
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "becomesmonarchfoeof", card))
|
||||
return NEW TrplayerMonarch(observer, id, card, tc,once,false,true);
|
||||
return NEW TrplayerMonarch(observer, id, card, tc, once, false, true);
|
||||
|
||||
//shuffled library - controller of card
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "shuffledof", card))
|
||||
return NEW TrplayerShuffled(observer, id, card, tc, once, true, false);
|
||||
|
||||
//shuffled library - opponent of card controller
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "shuffledfoeof", card))
|
||||
return NEW TrplayerShuffled(observer, id, card, tc, once, false, true);
|
||||
|
||||
//drawn player - controller of card - dynamic version drawof(player) -> returns current controller even with exchange of card controller
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "drawof", card))
|
||||
return NEW TrcardDrawn(observer, id, card, tc,once,true,false,limitOnceATurn);
|
||||
return NEW TrcardDrawn(observer, id, card, tc, once, true, false, limitOnceATurn);
|
||||
|
||||
//drawn player - opponent of card controller - dynamic version drawfoeof(player) -> returns current opponent even with exchange of card controller
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "drawfoeof", card))
|
||||
return NEW TrcardDrawn(observer, id, card, tc,once,false,true,limitOnceATurn);
|
||||
return NEW TrcardDrawn(observer, id, card, tc, once, false, true, limitOnceATurn);
|
||||
|
||||
//Card card is drawn - static version - drawn(player) - any player; drawn(controller) - owner forever; drawn(opponent) - opponent forever
|
||||
if (TargetChooser * tc = parseSimpleTC(s, "drawn", card))
|
||||
@@ -7166,7 +7174,7 @@ ostream& ListMaintainerAbility::toString(ostream& out) const
|
||||
return MTGAbility::toString(out) << ")";
|
||||
}
|
||||
|
||||
TriggerAtPhase::TriggerAtPhase(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, int _phaseId, int who, bool sourceUntapped, bool sourceTap,bool lifelost,int lifeamount,bool once) :
|
||||
TriggerAtPhase::TriggerAtPhase(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, int _phaseId, int who, bool sourceUntapped, bool sourceTap, bool lifelost, int lifeamount, bool once) :
|
||||
TriggeredAbility(observer, id, source, target), phaseId(_phaseId), who(who), sourceUntapped(sourceUntapped), sourceTap(sourceTap),lifelost(lifelost),lifeamount(lifeamount),once(once)
|
||||
{
|
||||
activeTrigger = true;
|
||||
@@ -7252,7 +7260,7 @@ TriggerAtPhase* TriggerAtPhase::clone() const
|
||||
return NEW TriggerAtPhase(*this);
|
||||
}
|
||||
|
||||
TriggerNextPhase::TriggerNextPhase(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, int _phaseId, int who,bool sourceUntapped, bool sourceTap,bool once) :
|
||||
TriggerNextPhase::TriggerNextPhase(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, int _phaseId, int who, bool sourceUntapped, bool sourceTap, bool once) :
|
||||
TriggerAtPhase(observer, id, source, target, _phaseId, who, sourceUntapped, sourceTap, once)
|
||||
{
|
||||
destroyActivated = 0;
|
||||
@@ -7277,7 +7285,7 @@ TriggerNextPhase* TriggerNextPhase::clone() const
|
||||
return NEW TriggerNextPhase(*this);
|
||||
}
|
||||
|
||||
TriggerRebound::TriggerRebound(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, int _phaseId, int who,bool sourceUntapped, bool sourceTap,bool once) :
|
||||
TriggerRebound::TriggerRebound(GameObserver* observer, int id, MTGCardInstance * source, Targetable * target, int _phaseId, int who, bool sourceUntapped, bool sourceTap, bool once) :
|
||||
TriggerAtPhase(observer, id, source, target, _phaseId, who, sourceUntapped, sourceTap, once)
|
||||
{
|
||||
destroyActivated = 0;
|
||||
@@ -7441,7 +7449,7 @@ GenericTriggeredAbility* GenericTriggeredAbility::clone() const
|
||||
*/
|
||||
|
||||
AManaProducer::AManaProducer(GameObserver* observer, int id, MTGCardInstance * card, Targetable * t, ManaCost * _output, ManaCost * _cost,
|
||||
int who,string producing,bool doesntEmpty) :
|
||||
int who,string producing, bool doesntEmpty) :
|
||||
ActivatedAbilityTP(observer, id, card, t, _cost, who)
|
||||
{
|
||||
|
||||
|
||||
@@ -1197,6 +1197,11 @@ void MTGGameZone::cleanupPhase()
|
||||
void MTGGameZone::shuffle()
|
||||
{
|
||||
owner->getObserver()->getRandomGenerator()->random_shuffle(cards.begin(), cards.end());
|
||||
if(this == owner->game->library){
|
||||
owner->lastShuffleTurn = owner->getObserver()->turn;
|
||||
WEvent * e = NEW WEventplayerShuffled(owner); //Added to trigger an event when a player shuffles his/her library.
|
||||
owner->getObserver()->receiveEvent(e);
|
||||
}
|
||||
}
|
||||
|
||||
void MTGGameZone::addCard(MTGCardInstance * card)
|
||||
|
||||
@@ -42,6 +42,7 @@ Player::Player(GameObserver *observer, string file, string fileSmall, MTGDeck *
|
||||
monarch = 0;
|
||||
surveilOffset = 0;
|
||||
devotionOffset = 0;
|
||||
lastShuffleTurn = -1;
|
||||
epic = 0;
|
||||
forcefield = 0;
|
||||
dealsdamagebycombat = 0;
|
||||
|
||||
@@ -297,6 +297,11 @@ WEventplayerMonarch::WEventplayerMonarch(Player * player) :
|
||||
{
|
||||
}
|
||||
|
||||
WEventplayerShuffled::WEventplayerShuffled(Player * player) :
|
||||
player(player)
|
||||
{
|
||||
}
|
||||
|
||||
WEventCardBoasted::WEventCardBoasted(MTGCardInstance * card) :
|
||||
WEventCardUpdate(card)
|
||||
{
|
||||
@@ -622,6 +627,12 @@ Targetable * WEventplayerMonarch::getTarget(Player * player)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Targetable * WEventplayerShuffled::getTarget(Player * player)
|
||||
{
|
||||
if (player) return player;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
std::ostream& WEvent::toString(std::ostream& out) const
|
||||
{
|
||||
return out << "EVENT";
|
||||
|
||||
@@ -1303,6 +1303,10 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card)
|
||||
{
|
||||
intValue = (s == "pexperience")?card->controller()->experienceCount:card->controller()->opponent()->experienceCount;
|
||||
}
|
||||
else if (s == "plastshlturn" || s == "olastshlturn")
|
||||
{
|
||||
intValue = (s == "plastshlturn")?card->controller()->lastShuffleTurn:card->controller()->opponent()->lastShuffleTurn;
|
||||
}
|
||||
else if(!intValue)//found nothing, try parsing a atoi
|
||||
{
|
||||
intValue = atoi(s.c_str());
|
||||
|
||||
Reference in New Issue
Block a user