mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 13:06:59 -04:00
ede910a153
Added refer scripts for mana param to Vanguard. git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@481 0fc631ac-6414-0410-93d0-97cfa31319b6
914 lines
30 KiB
Plaintext
914 lines
30 KiB
Plaintext
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:
|
||
#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: " — ")
|
||
|
||
# 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() }
|
||
|
||
# replaces — correctly
|
||
add := "" # default is nothing
|
||
for_mana_costs := format_cost := {
|
||
if input.separator_before == "—" then
|
||
"<param-cost>{input.param}</param-cost>"
|
||
else
|
||
"{add}<param-mana>{input.param}</param-mana>"
|
||
}
|
||
alternative_cost := replace_rule(match:"^[A-Z]", replace: { to_lower() })
|
||
format_alt_cost := {
|
||
if input.separator_before == "—" then
|
||
alternative_cost(input.param)
|
||
else
|
||
input.param
|
||
}
|
||
long_dash := replace_rule(match:"-", replace:"—")
|
||
# Utilities for keywords
|
||
has_cc := { card.casting_cost != "" }
|
||
has_pt := { card.pt != "" }
|
||
|
||
# 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 : post ( capitalization
|
||
replace_rule(
|
||
match: "[a-z]",
|
||
in_context: "[(](<param-[a-z]*>)?<match>|[ ]*: <param-cost><match>|—<match>| — <match>",
|
||
replace: { to_upper() })
|
||
|
||
# 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
|
||
}
|
||
|
||
############################################################## 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
|
||
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
|
||
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 }
|
||
)
|
||
+ "/" +
|
||
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})\}
|
||
reminder script: format_alt_cost()
|
||
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]+
|
||
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, ]*
|
||
example: Forest
|
||
|
||
############################# All Magic keywords
|
||
# By JrEye and Neko_Asakami, Updated by Pichoro and Buttock1234
|
||
|
||
keyword:
|
||
keyword: Flying
|
||
match: flying
|
||
mode: core
|
||
reminder: It can’t 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: When declaring attackers or blockers it may group with other creatures with banding and one creature without banding. When damage is dealt, you decide where damage is dealt.
|
||
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 can’t 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: When declaring attackers or blockers it may group with other creatures with banding or bands with {param1}. When damage is dealt, you decide where damage is dealt.
|
||
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 tap the turn it comes under your control.
|
||
keyword:
|
||
keyword: Horsemanship
|
||
match: horsemanship
|
||
mode: old
|
||
reminder: It can’t 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 can’t, 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 can’t 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: expert
|
||
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 it’s 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: 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 doesn’t cause it to tap.
|
||
keyword:
|
||
keyword: Defender
|
||
match: defender
|
||
mode: core
|
||
reminder: It can’t 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 can’t 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: Radiance
|
||
match: Radiance
|
||
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 creature’s 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: Haunt
|
||
match: haunt
|
||
mode: expert
|
||
reminder: When it is put into a graveyard from play, 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>mana</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>mana</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: Grandeur
|
||
match: Grandeur
|
||
mode: pseudo
|
||
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: 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.
|