Files
MagicSetEditor2/data/vanguard.mse-game/game
T
pichoro 85ce07e53f Added new kind of multicolor gradient to old styles. (a la artfreakwiu)
Added option to old style to use all common rarity symbols (like before Exodus).
Cleaned up fix for horizontal hybrid textboxes and typelines.
Automatic paintbrushes for magic-textless, magic-new-token, futureshifts, and all FPM styles.
Removed paintbrush font and all associated scripts.
Newly failed attempt at making different colored colorless symbols in magic-mana-future work.
Non-mana costs work for Suspend and Forecast.
Guild mana for magic-mana-future.
Fixed problem relating to name alignment in magic-new-token.
Updated image mask and artifact masks for magic-futureshift.
Started alterations to font colors in magic-futureshift.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@611 0fc631ac-6414-0410-93d0-97cfa31319b6
2007-08-15 07:37:34 +00:00

930 lines
31 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
mse version: 0.3.4
short name: Vanguard
full name: Magic Vanguard
icon: card-sample.png
position hint: 2
# Author : Wolfwood
# Most stuff is copy/pasted from magic.mse-game
############################################################## Functions & filters
# General functions
init script:
############################################################## Sorting mana symbols
# correctly sort a mana symbol (no guild mana)
mana_sort := sort_rule(order: "XYZ[0123456789]S(WUBRG)")
# correctly sort guild mana
mana_sort_guild := replace_rule( # swap these:
match: "U/W|B/U|R/B|G/B|W/G|B/W|R/U|G/B|W/R|U/G",
in_context: "(^|[^/])<match>($|[^/])",
replace: {input[2] + "/" + input[0]})
mana_has_guild := sort_rule(order: "</|>") # Is there guild or half mana in the input?
# A mana cost can contain both normal and guild mana
mana_filter := to_upper + {
if mana_has_guild()!="" then mana_sort_guild()
else mana_sort()
}
# Like mana filter, only also allow tap symbols:
tap_filter := sort_rule(order: "<T>")
mana_filter_t := replace_rule( # Remove [] used for forcing mana symbols
match: "[\\[\\]]",
replace: ""
) + { tap_filter() + mana_filter() }
############################################################## Utilities for keywords
# replaces — correctly
add := "" # default is nothing
for_mana_costs := format_cost := {
if input.separator_before == "—" and contains(input.param, " ") then (
if contains(input.param, match:",") then (
if match(match: "^[STXYZWUBRG0-9/|]+,", input.param) then
"{add}<param-cost>{combined_cost(input.param)}</param-cost>"
else "<param-cost>{combined_cost(input.param)}</param-cost>"
) else
"<param-cost>{alternative_cost(input.param)}</param-cost>"
) else
"{add}<param-mana>{input.param}</param-mana>"
}
alternative_cost := replace_rule(match:"^[A-Z]", replace: { to_lower() })
combined_cost := replace_rule(match:", [A-Z]", replace: { to_lower() })+
replace_rule(match:",", replace:" and")+
replace_rule(match:"^[STXYZWUBRG0-9/|]", in_context: "(^|[[:space:]])<match>", replace: "<sym-auto>&</sym-auto>")+
replace_rule(match:"^[A-Z]", replace: { to_lower() })
long_dash := replace_rule(match:"-", replace:"—")
# Utilities for keywords
has_cc := { card.casting_cost != "" }
has_pt := { card.pt != "" }
# Converted mana cost
cmc := to_text + {
1 * number_of_items(in: sort(order:"SWUBRG")) # colored mana
- 1 * number_of_items(in: sort(order:"/")) # guild mana, W/U -> 2 - 1
+ 1 * sort(order: "[0123456789]") # colorless mana
}
############################################################## The text box
# Filters for the text box
# context in which mana symbols are found
mana_context :=
"(?ix) # case insensitive, ignore whitespace
(^|[[:space:]\"(]) # start of a word
( <match>: # G: something
| <match>, # G, tap: something
| <match>[ ]can[ ]be[ ]pay
| (pays?|additional|costs?|the # pay X. creatures cost 1 less. pay an additional G.
|adds?|pay(ed)?[ ](with|using)
)
([ ]either)? # pay either X or Y
([ ]<sym[^>]*>[XYZWUBRG0-9/|]+</sym[^>]*>[ ](and|or))* # pay X or Y
[ ]<match>
([,.)]|$ # (end of word)
|[ ][^ .,]*$ # still typing...
|[ ]( or | and | in | less | more | to ) # or next word is ...
)
)
| <param-mana><match></param-mana> # keyword argument that is declared as mana
| <param-cost>[ ]*<match></param-cost> # keyword argument that is declared as cost
| <param-cost><match>, # keyword argument that is declared as cost
";
# the rule text filter
# - adds mana symbols
# - makes text in parentheses italic
text_filter :=
# step 1 : remove all automatic tags
tag_remove_rule(tag: "<sym-auto>") +
tag_remove_rule(tag: "<i-auto>") +
# step 2 : reminder text for keywords
expand_keywords_rule(
default_expand: { contains(match:mode, set.automatic_reminder_text) },
combine: {
if mode == "pseudo" then "<i-auto>{keyword}</i-auto>"
else "{keyword}<atom-reminder><i> ({process_english_hints(reminder)})</i></atom-reminder>" }
) +
# step 2b : move inline keywords' reminder text to the end of the line
replace_rule(
match: "(<atom-reminder-core>.*</atom-reminder-core></kw[^>]*>)([^\n(]+)",
replace: "\\2\\1"
) +
replace_rule(
match: "(<atom-reminder-old>.*</atom-reminder-old></kw[^>]*>)([^\n(]+)",
replace: "\\2\\1"
) +
replace_rule(
match: "(<atom-reminder-expert>.*</atom-reminder-expert></kw[^>]*>)([^\n(]+)",
replace: "\\2\\1"
) +
# step 3 : expand shortcut words ~ and CARDNAME
replace_rule(
match: "~|~THIS~|CARDNAME",
in_context: "(^|[[:space:]]|\\()<match>",
replace: "<atom-cardname></atom-cardname>"
) +
# step 4 : fill in atom fields
tag_contents_rule(
tag: "<atom-cardname>",
contents: { if card.name=="" then "CARDNAME" else card.name }
) +
# step 4.5 : explict non mana symbols
replace_rule(
match: "\\][STXYZWUBRG0-9/|]+\\[",
replace: {"<nosym>" + mana_filter_t() + "</nosym>"} ) +
# step 5 : add mana & tap symbols
replace_rule(
match: "[STXYZWUBRG0-9/|]+",
in_context: mana_context,
replace: {"<sym-auto>" + mana_filter_t() + "</sym-auto>"} ) +
# step 5b : add explict mana symbols
replace_rule(
match: "\\[[STXYZWUBRG0-9/|]+\\]",
replace: {"<sym>" + mana_filter_t() + "</sym>"} ) +
# step 6 : longdash
replace_rule(
match: "--",
replace: "—") +
replace_rule(
match: " - ",
replace: " — ") +
# step 6b : Æ replacement
replace_rule(
match: "AE",
replace: "Æ" ) +
# step 7 : italic reminder text
replace_rule(
match: "[(][^)\n]*[)]?",
in_context: "(^|[[:space:]])<match>|<atom-keyword><match></>",
replace: "<i-auto>&</i-auto>") +
# step 8 : automatic capitalization
replace_rule(
match: "[a-z]",
in_context: "[(](<param-[a-z]*>)?<match>|[ ]*: <param-cost><match>|—<match>| — <match>",
replace: { to_upper() })
curly_quotes
############################################################## Other boxes
# the flavor text filter
# - makes all text italic
flavor_text_filter :=
# step 1 : Æ replacement rule
replace_rule(
match: "AE",
replace: "Æ") +
# step 1.5 : longdash
replace_rule(
match: "--",
replace: "—") +
replace_rule(
match: " - ",
replace: " — ") +
# step 2 : remove italic tags
tag_remove_rule(tag: "<i-flavor>") +
# step 3 : surround by <i> tags
{ "<i-flavor>" + input + "</i-flavor>" } +
# curly quotes
curly_quotes
#character filter for copyright line
copyright_filter :=
# step 1 : Æ replacement rule
replace_rule(
match: "AE",
replace: "Æ") +
# step 2 : longdash for keywords
replace_rule(
match: "--",
replace: "—") +
replace_rule(
match: " - ",
replace: " — ") +
# step 3 : trademark symbol
replace_rule(
match: "TM",
replace: "™") +
# step 4 : copyright symbol
replace_rule(
match: "CR",
replace: "©")
#character filter for title line
name_filter :=
# step 1 : Æ replacement rule
replace_rule(
match: "AE",
replace: "Æ") +
# step 2 : longdash for keywords
replace_rule(
match: "--",
replace: "—") +
replace_rule(
match: " - ",
replace: " — ")
############################################################## Set fields
set field:
type: info
name: Set Information
set field:
type: text
name: title
set field:
type: text
name: description
multi line: true
set field:
type: text
name: artist
set field:
type: text
name: copyright
script: copyright_filter(value)
set field:
type: info
name: Defaults and Automation
set field:
type: color
name: border color
description: The default border color for cards
choice:
name: black
color: rgb(0,0,0)
choice:
name: white
color: rgb(255,255,255)
choice:
name: silver
color: rgb(128,128,128)
choice:
name: gold
color: rgb(200,180,0)
set field:
type: multiple choice
name: automatic reminder text
choice: old
choice: core
choice: expert
choice: pseudo
choice: custom
initial: old, core, expert, custom
# Convert from older mse versions
script:
if value = "yes" then "old, core, expert, custom"
else if value = "no" then ""
else value
description: For which kinds of keywords should reminder text be added by default? Note: you can enable/disable reminder text by right clicking the keyword.
set field:
type: boolean
name: automatic card numbers
initial: no
description: Should card numbers be shown on the cards?
############################# Default style
default set style:
title:
padding left: 2
font:
size: 16
automatic reminder text:
render style: checklist
direction: vertical
############################################################## Card fields
############################# Background stuff
card field:
type: color
name: border color
default: set.border_color
choice:
name: black
color: rgb(0,0,0)
choice:
name: white
color: rgb(255,255,255)
choice:
name: silver
color: rgb(128,128,128)
choice:
name: gold
color: rgb(200,180,0)
show statistics: false
card field:
type: choice
name: background
choice: normal
show statistics: false
editable: false
############################# Name line
card field:
type: text
name: name
identifying: true
show statistics: false
card list visible: true
card list column: 1
card list width: 150
############################# Image
card field:
type: image
name: image
show statistics: false
############################# Card type
card field:
type: text
name: type
card list visible: true
card list column: 2
############################# Text box
card field:
type: text
name: rule text
script: text_filter(value)
show statistics: false
multi line: true
card field:
type: text
name: flavor text
script: flavor_text_filter(value)
show statistics: false
multi line: true
############################# PT
card field:
type: text
name: handmod
card list visible: true
card list column: 3
card list width: 50
card list name: hand
card field:
type: text
name: lifemod
card list visible: true
card list column: 4
card list width: 50
card list name: life
############################# Card sorting / numbering
card field:
type: text
name: card number
save value: false
script:
position(
of: card
in: set
order_by: { card.name }
) + 1
+ "/" +
number_of_items(in: set)
card list visible: true
card list column: 10
card list width: 50
card list name: #
editable: false
show statistics: false
############################# Copyright stuff
card field:
type: text
name: illustrator
default: set.artist
card field:
type: text
name: copyright
default: set.copyright
show statistics: false
editable: false
card field:
type: text
name: copyright line
save value: false
show statistics: false
script:
if set.automatic_card_numbers then
combined_editor(field1: card.copyright, separator: " ", field2: card.card_number)
else
forward_editor(field: card.copyright)
############################################################## Keywords
############################# Keyword rules
has keywords: true
keyword match script: name_filter(value)
#keyword preview: {keyword} <i>({reminder})</i>
keyword mode:
name: old
description: Old keywords (Banding, Phasing, etc.)
keyword mode:
name: core
description: Core set keywords (Flying, Regenerate, etc.)
keyword mode:
name: expert
description: Expert level keywords (Scry, Vanishing, etc.)
keyword mode:
name: pseudo
description: Pseudo keyword / named ability (Hellbent, Threshold, etc.)
keyword mode:
is default: true
name: custom
description: Custom keywords
keyword parameter type:
name: mana
match: [STXYZ0-9WUBRG/|]+
refer script:
name: normal
description: No changes made
script: \{{input}\}
refer script:
name: converted mana cost
description: Converts mana to number
# "0" left in so users can easily see how to edit script.
script: \{cmc({input}) + 0\}
# By pichoro and bunnierein
keyword parameter type:
name: cost
match: [ ][STXYZ0-9WUBRG/|]*|[-—][^(\n]*
separator before is: [ —-]
separator after is: [.]
optional: false
# note: the separator is part of match
refer script:
name: normal
description: When using mana only costs, doesn't include anything extra in the reminder text
script: \{{input}\}
refer script:
name: add "pay an additional " for mana costs
description: When using mana only costs, words the reminder text as "pay an additional <cost>"
script: \{for_mana_costs(add:"pay an additional ",{input})\}
refer script:
name: add "pay " for mana costs
description: When using mana only costs, words the reminder text as "pay <cost>"
script: \{for_mana_costs(add:"pay ",{input})\}
separator script: long_dash()
keyword parameter type:
name: number
match: [XYZ0-9]+
refer script:
name: normal
description: (1,2,3)
script: \{{input}\}
refer script:
name: as words
description: (one, two, three)
script: \{english_number({input})\}
refer script:
name: as words, use "a" for 1
description: (a, two, three)
script: \{english_number_a({input})\}
refer script:
name: as words, use "" for 1
description: (, two, three)
script: \{english_number_multiple({input})\}
keyword parameter type:
name: action
match: [^(\n]+
separator after is: [.]
reminder script: alternative_cost()
keyword parameter type:
name: name
match: [^(.,\n—-]+
refer script:
name: normal
description: No changes made.
script: \{{input}\}
refer script:
name: singular
description: Removes plurality from words.
script: \{english_singular({input})\}
keyword parameter type:
name: prefix
description: Prefix for things like "<something>walk"
optional: false
match: [A-Z][A-Z,a-z ]*
example: Forest
############################# All Magic keywords
# By JrEye and Neko_Asakami, Updated by Pichoro and Buttock1234
keyword:
keyword: Flying
match: flying
mode: core
reminder: It cant be blocked except by creatures with flying or reach.
keyword:
keyword: First strike
match: first strike
mode: core
reminder: It deals combat damage before creatures without first strike.
keyword:
keyword: Trample
match: trample
mode: core
reminder: If it would deal enough combat damage to its blockers to destroy them, you may have it deal the rest of its damage to defending player.
keyword:
keyword: Banding
match: banding
mode: old
reminder: Any number of attacking creatures with banding, and up to one without, can form a band. Blocking a creature in the band blocks all of them. You assign combat damage for any creature blocking or blocked by this creature.
keyword:
keyword: Landwalk
match: <atom-param>prefix</atom-param>walk
mode: core
reminder: It is unblockable as long as defending player controls a {param1}.
keyword:
keyword: Protection from
match: protection from <atom-param>name</atom-param>
mode: core
reminder: It cant be blocked, targeted, dealt damage, enchanted, or equipped by anything {english_singular(param1)}.
keyword:
keyword: Regeneration
match: Regenerate
mode: core
reminder: The next time it would be destroyed this turn, it isn't. If it is a creature, instead tap it, remove all damage from it, and remove it from combat.
keyword:
keyword: Bands with other
match: bands with other <atom-param>name</atom-param>
mode: old
reminder: Any number of attacking creatures with banding or bands with other {param1} can form a band. Blocking a creature in the band blocks all of them. You assign combat damage for any creature blocking or blocked by this creature and another creature with bands with other {param1}.
keyword:
keyword: Rampage
match: rampage <atom-param>number</atom-param>
mode: old
reminder: Whenever it becomes blocked, it gets +{param1}/+{param1} until end of turn for each creature blocking it beyond the first.
keyword:
keyword: Cumulative upkeep
match: cumulative upkeep <atom-param>cost</atom-param>
mode: old
reminder: At the beginning of your upkeep, put an age counter on it, then sacrifice it unless you pay its upkeep cost for each age counter on it.
keyword:
keyword: Phasing
match: phasing
mode: old
reminder: At the beginning of your upkeep, put it and any cards and/or counters attached to it in the phased-out zone. If it is already in the phased-out zone, return it and any cards or counters attached to it to play. This ability does not cause comes-into-play or leaves-play abilities to trigger.
keyword:
keyword: Flanking
match: flanking
mode: old
reminder: Whenever a creature without flanking blocks the creature, the blocking creature gets -1/-1 until end of turn.
keyword:
keyword: Shadow
match: shadow
mode: expert
reminder: It can block or be blocked by only creatures with shadow.
keyword:
keyword: Denimwalk
match: denimwalk
mode: old
reminder: If defending player is wearing any clothing made of denim, the creature is unblockable.
keyword:
keyword: Buyback
match: buyback <atom-param>cost</atom-param>
mode: expert
reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you play it. If you do, put it into your hand as it resolves.
keyword:
keyword: Echo
match: echo <atom-param>cost</atom-param>
mode: expert
reminder: At the beginning of your upkeep, if the permanent came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.
keyword:
keyword: Cycling
match: cycling <atom-param>cost</atom-param>
mode: expert
reminder: {param1}, Discard it: Draw a card.
keyword:
keyword: Haste
match: haste
mode: core
reminder: It can attack and <sym>T</sym> as soon as it comes under your control.
keyword:
keyword: Horsemanship
match: horsemanship
mode: old
reminder: It cant be blocked except by creatures with horsemanship.
keyword:
keyword: Fading
match: fading <atom-param>number</atom-param>
mode: expert
reminder: It comes into play with {english_number_a(param1)} fade counter(s) on it. At the beginning of your upkeep, remove a fade counter from it. If you cant, sacrifice it.
keyword:
keyword: Kicker
match: kicker <atom-param>mana</atom-param> and/or <atom-param>mana</atom-param>
mode: expert
reminder: You may pay an additional {param1} and/or {param2} as you play the card.
keyword:
keyword: Kicker
match: kicker <atom-param>cost</atom-param>
mode: expert
reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you play the card.
keyword:
keyword: Flashback
match: flashback <atom-param>cost</atom-param>
mode: expert
reminder: You may play it from your graveyard for its flashback cost. Then remove it from the game.
keyword:
keyword: Threshold
match: Threshold
mode: pseudo
keyword:
keyword: Madness
match: madness <atom-param>cost</atom-param>
mode: expert
reminder: If you discard it, you may play it for its madness cost instead of putting it into your graveyard.
keyword:
keyword: Morph
match: morph <atom-param>cost</atom-param>
mode: expert
reminder: You may play it face down as a 2/2 creature for <sym>3</sym>. Turn it face up any time for its morph cost.
keyword:
keyword: Fear
match: fear
mode: core
reminder: It cant be blocked except by artifact creatures and/or black creatures.
keyword:
keyword: Amplify
match: amplify <atom-param>number</atom-param>
mode: expert
reminder: As it comes into play, put {english_number_a(param1)} +1/+1 counter(s) on it for each creature that shares a type with it that you reveal in your hand.
keyword:
keyword: Double strike
match: double strike
mode: core
reminder: It deals both first-strike and regular combat damage.
keyword:
keyword: Provoke
match: provoke
mode: expert
reminder: When it attacks, you may have target creature defending player controls untap and block it if able.
keyword:
keyword: Typecycling
match: <atom-param>prefix</atom-param>cycling <atom-param>cost</atom-param>
mode: expert
reminder: {param2}, Discard it: Search your library for a {param1} card, reveal it, and put it into your hand. Then shuffle your library.
keyword:
keyword: Storm
match: storm
mode: expert
reminder: When you play it, copy it for each spell played before it this turn. You may choose new targets for the copies.
keyword:
keyword: Affinity for
match: affinity for <atom-param>name</atom-param>
mode: expert
reminder: It costs <sym>1</sym> less to play for each {english_singular(param1)} you control.
keyword:
keyword: Entwine
match: entwine <atom-param>cost</atom-param>
mode: expert
reminder: Choose both if you pay the entwine cost.
keyword:
keyword: Equip
match: equip <atom-param>cost</atom-param>
mode: core
reminder: {param1}: Attach to target creature you control. Equip only as a sorcery.
keyword:
keyword: Imprint
match: imprint — <atom-param>action</atom-param>
mode: expert
reminder: The removed card is imprinted on the card.
keyword:
keyword: Modular
match: modular <atom-param>number</atom-param>
mode: expert
reminder: It comes into play with {english_number_a(param1)} +1/+1 counter(s) on it. When its put into a graveyard, you may put its +1/+1 counters on target artifact creature.
keyword:
keyword: Scry
match: Scry <atom-param>number</atom-param>
mode: expert
reminder:
To scry {param1}, look at the top {
if param1.value==1 then "card of your library, then you may put that card on the bottom of your library."
else "{english_number(param1)} cards of your library. Put any number of them on the bottom of your library in any order and the rest on top in any order."
}
keyword:
keyword: Sunburst
match: sunburst
mode: expert
reminder: It comes into play with a +1/+1 counter on it for each color of mana used to pay its cost. If it isn't a creature, use charge counters instead.
keyword:
keyword: Gotcha
match: Gotcha
mode: pseudo
keyword:
keyword: Splice
match: splice onto <atom-param>name</atom-param> <atom-param>cost</atom-param>
mode: expert
reminder: As you play a {param1} spell, you may reveal the card from your hand and pay its splice cost. If you do, add its effects to that spell.
keyword:
keyword: Bushido
match: bushido <atom-param>number</atom-param>
mode: expert
reminder: When it blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn.
keyword:
keyword: Soulshift
match: soulshift <atom-param>number</atom-param>
mode: expert
reminder: When it is put into a graveyard from play, you may return target Spirit card with converted mana cost {param1} or less from you graveyard to your hand.
keyword:
keyword: Enchant
match: enchant <atom-param>name</atom-param>
mode: core
reminder: Target a {param1} as you play the card. The card comes into play attached to that {param1}.
keyword:
keyword: Vigilance
match: vigilance
mode: core
reminder: Attacking doesnt cause it to tap.
keyword:
keyword: Defender
match: defender
mode: core
reminder: It cant attack.
keyword:
keyword: Offering
match: <atom-param>prefix</atom-param> offering
mode: expert
reminder: You may play it any time you could play an instant by sacrificing a {param1} and paying the difference in mana costs between it and the sacrificed {param1}. Mana cost includes color.
keyword:
keyword: Ninjutsu
match: ninjutsu <atom-param>cost</atom-param>
mode: expert
reminder: {param1}, Return an unblocked attacker you control to hand: Put the card into play from your hand tapped and attacking.
keyword:
keyword: Epic
match: epic
mode: expert
reminder: For the rest of the game, you cant play spells. At the beginning of each of your upkeeps, copy the card except for its epic ability. If it has any targets, you may choose new targets for the copy.
keyword:
keyword: Channel
match: Channel
mode: pseudo
keyword:
keyword: Sweep
match: Sweep
mode: pseudo
keyword:
keyword: Convoke
match: convoke
mode: expert
reminder: Each creature you tap while playing the card reduces its cost by <sym>1</sym> or by one mana of that creatures color.
keyword:
keyword: Transmute
match: transmute <atom-param>cost</atom-param>
mode: expert
reminder: {param1}, Discard it: Search your library for a card with the same converted mana cost as the discarded card, reveal it, and put it into your hand. Then shuffle your library. Play only as a sorcery.
keyword:
keyword: Dredge
match: dredge <atom-param>number</atom-param>
mode: expert
reminder: If you would draw a card, instead you may put exactly {english_number(param1)} card(s) from the top of your library into your graveyard. If you do, return the card from your graveyard to your hand. Otherwise, draw a card.
keyword:
keyword: Radiance
match: Radiance
mode: pseudo
keyword:
keyword: Haunt
match: haunt
mode: expert
reminder: When it is put into a graveyard from play, or when it resolves if it is not a permanent, remove it from the game haunting target creature.
keyword:
keyword: Bloodthirst
match: bloodthirst <atom-param>number</atom-param>
mode: expert
reminder: If an opponent was dealt damage this turn, the permanent comes into play with {english_number_a(param1)} +1/+1 counter(s) on it.
keyword:
keyword: Replicate
match: replicate <atom-param>cost</atom-param>
mode: expert
reminder: When you play it, copy it for each time you paid its replicate cost. You may choose new targets for the copies.
keyword:
keyword: Graft
match: graft <atom-param>number</atom-param>
mode: expert
reminder: It comes into play with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever a creature comes into play, you may move a +1/+1 counter from the permanent onto it.
keyword:
keyword: Forecast
match: forecast — <atom-param>action</atom-param>, Reveal <atom-param>name</atom-param> from your hand: <atom-param>action</atom-param>
mode: expert
reminder: Play the ability only during your upkeep and only once each turn.
keyword:
keyword: Hellbent
match: Hellbent
mode: pseudo
keyword:
keyword: Recover
match: recover <atom-param>cost</atom-param>
mode: expert
reminder: When a creature is put into your graveyard from play, you may {for_mana_costs(add:"pay ",param1)}. If you do, return the card from your graveyard to your hand. Otherwise, remove this card from the game.
keyword:
keyword: Ripple
match: ripple <atom-param>number</atom-param>
mode: expert
reminder: When you play it, you may reveal the top {english_number_multiple(param1)} card(s) of your library. You may play any revealed cards with the same name as the card without paying their mana costs. Put the rest on the bottom of your library.
keyword:
keyword: Flash
match: flash
mode: core
reminder: You may play it anytime you could play an instant.
keyword:
keyword: Split second
match: split second
mode: expert
reminder: As long as it is on the stack, players can't play spells or activated abilities that aren't mana abilities.
keyword:
keyword: Suspend
match: suspend <atom-param>number</atom-param>—<atom-param>cost</atom-param>
mode: expert
reminder: Rather than play it from your hand, you may pay {param2} and remove it from the game with {english_number_a(param1)} time counter(s) on it. At the beginning of your upkeep, remove a time counter. When the last is removed, play it without paying its mana cost. If it is a creature, it has haste.
keyword:
keyword: Vanishing
match: vanishing <atom-param>number</atom-param>
mode: expert
reminder: It comes into play with {english_number_a(param1)} time counter(s) on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.
keyword:
keyword: Deathtouch
match: deathtouch
mode: expert
reminder: Whenever it deals damage to a creature, destroy that creature.
keyword:
keyword: Reach
match: reach
mode: core
reminder: It can block creatures with flying.
keyword:
keyword: Gravestorm
match: gravestorm
mode: expert
reminder: When you play it, copy it for each permanent put into a graveyard this turn. You may choose new targets for the copies.
keyword:
keyword: Lifelink
match: lifelink
mode: core
reminder: Whenever it deals damage, you gain that much life.
keyword:
keyword: Absorb
match: absorb <atom-param>number</atom-param>
mode: expert
reminder: If a source would deal damage to it, prevent {param1} of that damage.
keyword:
keyword: Fateseal
match: fateseal <atom-param>number</atom-param>
mode: expert
reminder:
Look at the top {
if param1.value==1 then "card of an opponent's library, then you may put it on the bottom of that player's library."
else "{english_number(param1)} cards of an opponent's library, then put any number of them on the bottom of that player's library and the rest on top in any order."
}
keyword:
keyword: Transfigure
match: transfigure <atom-param>cost</atom-param>
mode: expert
reminder: {param1}, Sacrifice it: Search your library for a creature card with the same converted mana cost as the sacrificed card and put that card into play. Then shuffle your library. Play only as a sorcery.
keyword:
keyword: Aura swap
match: aura swap <atom-param>cost</atom-param>
mode: expert
reminder: {param1}: Exchange it with an Aura card in your hand.
keyword:
keyword: Frenzy
match: frenzy <atom-param>number</atom-param>
mode: expert
reminder: Whenever it attacks and isn't blocked, it gets +{param1}/+0 until end of turn.
keyword:
keyword: Delve
match: delve
mode: expert
reminder: You may remove any number of cards in your graveyard from the game as you play it. It costs <sym>1</sym> less to play for each card removed this way.
keyword:
keyword: Poisonous
match: poisonous <atom-param>number</atom-param>
mode: expert
reminder: Whenever it deals combat damage to a player, that player gets {english_number_a(param1)} poison counter(s). A player with ten or more poison counters loses the game.
keyword:
keyword: Shroud
match: shroud
mode: core
reminder: It can't be the target of spells or abilities.
keyword:
keyword: Fortify
match: fortify <atom-param>cost</atom-param>
mode: expert
reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. It comes into play unattached and stays in play if the land leaves play.
keyword:
keyword: Grandeur
match: Grandeur
mode: pseudo