diff --git a/Magic - Fonts/MatrixRegularSmallCaps.otf b/Magic - Fonts/MatrixRegularSmallCaps.otf new file mode 100644 index 0000000000..d2256f8f4b Binary files /dev/null and b/Magic - Fonts/MatrixRegularSmallCaps.otf differ diff --git a/Magic - Fonts/mplantin-allcaps.ttf b/Magic - Fonts/mplantin-allcaps.ttf new file mode 100644 index 0000000000..80c5da1b64 Binary files /dev/null and b/Magic - Fonts/mplantin-allcaps.ttf differ diff --git a/Magic - Fonts/template specific fonts/Vanguard/Arial.ttf b/Magic - Fonts/template specific fonts/Vanguard/Arial.ttf new file mode 100644 index 0000000000..8682d94623 Binary files /dev/null and b/Magic - Fonts/template specific fonts/Vanguard/Arial.ttf differ diff --git a/Magic - Fonts/template specific fonts/Vanguard/ArialMdm.ttf b/Magic - Fonts/template specific fonts/Vanguard/ArialMdm.ttf new file mode 100644 index 0000000000..3222b81e86 Binary files /dev/null and b/Magic - Fonts/template specific fonts/Vanguard/ArialMdm.ttf differ diff --git a/Magic - Fonts/template specific fonts/Vanguard/Fritz Quadrata Cyrillic.ttf b/Magic - Fonts/template specific fonts/Vanguard/Fritz Quadrata Cyrillic.ttf new file mode 100644 index 0000000000..3335bb476f Binary files /dev/null and b/Magic - Fonts/template specific fonts/Vanguard/Fritz Quadrata Cyrillic.ttf differ diff --git a/data/archenemy-standard.mse-style/card-sample.png b/data/archenemy-standard.mse-style/card-sample.png deleted file mode 100644 index 4fac8c1959..0000000000 Binary files a/data/archenemy-standard.mse-style/card-sample.png and /dev/null differ diff --git a/data/archenemy-standard.mse-style/card.png b/data/archenemy-standard.mse-style/card.png deleted file mode 100644 index 569a140eda..0000000000 Binary files a/data/archenemy-standard.mse-style/card.png and /dev/null differ diff --git a/data/archenemy-standard.mse-style/image_mask.png b/data/archenemy-standard.mse-style/image_mask.png deleted file mode 100644 index a4728c02f2..0000000000 Binary files a/data/archenemy-standard.mse-style/image_mask.png and /dev/null differ diff --git a/data/archenemy-standard.mse-style/style b/data/archenemy-standard.mse-style/style deleted file mode 100644 index f02fdf9528..0000000000 --- a/data/archenemy-standard.mse-style/style +++ /dev/null @@ -1,249 +0,0 @@ -mse version: 0.3.8 -game: archenemy -short name: Standard -installer group: Magic Archenemy/normal style -icon: card-sample.png -position hint: 01 - -version: 2010-05-20 -depends on: - package: archenemy.mse-game - version: 2010-05-17 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 -depends on: - package: magic-future-common.mse-include - version: 2007-09-23 - -card width: 435 -card height: 621 -card dpi: 150 -# By Pichoro -# Images by Art_Freak -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: modern - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling field: - type: choice - name: artist font color - description: Should the illustrator, copyright, and illustrator paintbrush be white or black? - choice: white - choice: black -styling field: - type: package choice - name: overlay - description: Should there be an overlay applied, such as foil? - match: magic-overlay-*.mse-include - required: false -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top: 0 - width: 435 - height: 621 - radius: 16 - left width: 16 - right width: 15 - top width: 13 - bottom width: 15 - z index: 4 - ############################# Name line - name: - left: 63 - top: 35 - width: 306 - height: 27 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 16 - weight: bold - color: black - ############################# Image - image: - left: 26 - top: 25 - width: 383 - height: 571 - z index: 1 - mask: image_mask.png - ############################# Card type - type: - left: 65 - top: 406 - width: { 312 - max(21,card_style.rarity.content_width) } - height: 21 - alignment: middle left shrink-overflow - z index: 2 - font: - name: Matrix - size: 14 - color: black - rarity: - right: 370 - top: 407 - width: 37 - height: 19 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - text: - left: 64 - top: 435 - width: 309 - height: 122 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 7 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle left - z index: 2 - padding left: 5 - padding top: 2 - padding right: 5 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 99 - top: 570 - width: 267 - height: 14 - alignment: center - z index: 2 - font: - name: Matrix - size: 11 - color: {styling.artist_font_color} - copyright line: - left: 67 - top: 587 - width: 296 - height: 14 - alignment: center - z index: 2 - font: - name: MPlantin - size: 6 - color: {styling.artist_font_color} -############################################################## Extra card fields -extra card field: - type: choice - name: frame - choice: frame - save value: false - editable: false -extra card field: - type: choice - name: foil layer - choice: foil - save value: false - editable: false -extra card field: - type: choice - name: paintbrush - script: styling.artist_font_color - editable: false - save value: false -extra card style: - paintbrush: - right: { 232 + ( card_style.illustrator.content_width * -0.5 ) } - top: 571 - width: 35 - height: 14 - z index: 6 - render style: image - choice images: - black: /magic-future-common.mse-include/paintbrush_black.png - white: /magic-future-common.mse-include/paintbrush_white.png - frame: - left: 0 - top: 0 - width: 435 - height: 621 - z index: 0 - render style: image - image: card.png - foil layer: - left: 0 - top: 0 - width: 435 - height: 621 - z index: 3 - render style: image - image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} diff --git a/data/archenemy.mse-game/card-sample.png b/data/archenemy.mse-game/card-sample.png deleted file mode 100644 index 6bbb014bd1..0000000000 Binary files a/data/archenemy.mse-game/card-sample.png and /dev/null differ diff --git a/data/archenemy.mse-game/game b/data/archenemy.mse-game/game deleted file mode 100644 index 976d768aba..0000000000 --- a/data/archenemy.mse-game/game +++ /dev/null @@ -1,1434 +0,0 @@ -mse version: 2.0.0 -short name: Archenemy -full name: Magic Scheme Cards -installer group: Magic Archenemy/game files -icon: card-sample.png -position hint: 02 - -version: 2014-03-25 - -# By Pichoro -############################################################## Functions & filters -# General functions -init script: - ############################################################## Sorting mana symbols - - # correctly sort a mana symbol (no guild mana) - mana_sort := sort_text@(order: "XYZI[0123456789]HS(WUBRG)") - - # correctly sort guild mana - mana_sort_guild := sort_text@(order: "[XYZI01234567890HSWUBRG/|]") + - replace@( - match: "./.|././.|./././.|.[|]", - in_context: "(^|[^/])($|[^/])", - replace: {sort_text(order:"in_place((WUBRG)")} - ) - mana_has_guild := match@(match: "[/|]") # 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_text@(order: "") - - mana_filter_t := replace@( # 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: "^[HSCTQXYZIWUBRG0-9/|]+,", input.param) then - "{add}{combined_cost(input.param)}" - else "{combined_cost(input.param)}" - ) else - "{alternative_cost(input.param)}" - ) else - "{add}{input.param}" - } - alternative_cost := replace@(match:"^[A-Z]", replace: { to_lower() }) - combined_cost := replace@(match:", [A-Z]", replace: { to_lower() })+ - replace@(match:",", replace:" and")+ - replace@(match:"^[HSCTQXYZIWUBRG0-9/|]", in_context: "(^|[[:space:]])", replace: "&")+ - replace@(match:"^[A-Z]", replace: { to_lower() }) - long_dash := replace@(match:"-", replace:"—") - - # Converted mana cost - is_half_mana := match@(match: "1/2|[|][WUBRGS]") - is_colored_mana := match@(match: "[WUBRG]") - only_numbers := filter_text@(match: "^[0123456789]+") - cmc_split := break_text@(match: "(?ix) 1/2 | [|][WUBRG] | [0-9]+(?!/[WUBRGSCTQ2]) | [WUBRGHS0-9](/[WUBRGS])\{0,4} ") - cmc := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_half_mana(sym) then 0.5 - else if numbers != "" then max(1, to_int(numbers)) - else 1 # all other symbols are 1 - )) - } - - colored_mana := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_colored_mana(sym) then - if is_half_mana(sym) then 0.5 else 1 - else 0 - )) - } - - ############################################################## 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 - ( : # G: something - | , # G, tap: something - | [ ]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 - ([ ]]*>[CTQHSXYZIWUBRG0-9/|]+]*>[ ](and|or))* # pay X or Y - [ ] - ([,.)]|$ # (end of word) - |[ ][^ .,]*$ # still typing... - |[ ]( or | and | in | less | more | to ) # or next word is ... - ) - ) - | # keyword argument that is declared as mana - | [ ]* # keyword argument that is declared as cost - | , # 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 - remove_tag@(tag: "") + - remove_tag@(tag: "") + - remove_tag@(tag: "{keyword}" - else keyword + if expand then " ({reminder})" } - ) + - # step 2b : move inline keywords' reminder text to the end of the line - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - # step 3 : expand shortcut words ~ and CARDNAME - replace@( - match: "CARDNAME", - in_context: "(^|[[:space:]]|\\()", - replace: "" - ) + - # step 4 : explict non mana symbols - replace@( - match: "\\][HSCTQXYZIWUBRG0-9/|]+\\[", - replace: {"" + mana_filter_t() + ""} ) + - # step 5 : add mana & tap symbols - replace@( - match: "[HSCTQXYZIWUBRG0-9/|]+", - in_context: mana_context, - replace: {"" + mana_filter_t() + ""} ) + - # step 5b : add explict mana symbols - replace@( - match: "\\[[HSCTQXYZIWUBRG0-9/|]+\\]", - replace: {"" + mana_filter_t() + ""} ) + - # step 6 : curly quotes - curly_quotes + - # step 7 : italic reminder text - replace@( - match: "[(][^)\n]*[)]?", - in_context: "(^|[[:space:]])|", - replace: "&") + - # step 8 : automatic capitalization, but not after "(" - replace@( - match: "[a-z]", - in_context: "[ ]*: |—| — ", - replace: { to_upper() }) - - ############################################################## Other boxes - # the flavor text filter - # - makes all text italic - flavor_text_filter := - # step 2 : remove italic tags - remove_tag@(tag: "") + - # step 3 : surround by tags - { "" + input + "" } + - # curly quotes - replace@( - match: "[[.quotation-mark.]]|”", - in_context: "[ ]+|^|", - replace: "“" )+ - replace@( - match: "[[.quotation-mark.]]", - replace: "”" ) - - # Process the name for sorting rules - sort_name := - # Remove "The", "A", and "And" at the beginning - replace@(match: "^(The|An?) ", replace: "") + - # Remove commas and apostrophes - replace@(match: "(,|'|’)", replace: "") + - # Remove bold and italic tags - replace@(match: "(|||)", replace: "") + - # Make lowercase - to_lower - - #Necessary to make magic-mana-future play nicely - colorless_color := { "c" } - - word_count := break_text@(match:"[^[:space:]]+") + length - line_count := split_text@(match:"\n+",include_empty:false) + length - - # Move the cursor past the separator in the type box - type_over_type := replace@(match:" ?[-:]$", replace:"") - - type_filter := { - input := remove_tag(tag: "{input}" - } - - # Mana font scripts - ancestral_mana := {false} - use_v_mana := {contains(set.custom_mana_symbol_name, match:".png")} - use_large_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"casting")} - use_small_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"text")} - use_color_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"colored") and not use_hybrid_v_mana()} - use_hybrid_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"hybrid")} - v_mana_name := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"(.+/|\\.png)", replace:"")} - v_mana_loc := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"{v_mana_name()}\\.png", replace:"")} - white_text := {false} - symbol_font_small_color := { "black" } -############################################################## 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: symbol - name: symbol - description: The symbol for this set, double click to edit -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, expert, pseudo, 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: yes - description: Should card numbers be shown on the cards? -set field: - type: info - name: custom mana -set field: - type: text - name: custom mana symbol name - description: Use mana symbols from magic-mainframe-extras.mse-include. Input NAME.png here, check help below for file instructions. -set field: - type: multiple choice - name: mana symbol options - choice: enable in casting costs - choice: enable in text boxes - choice: colored mana symbols - choice: hybrid with colors -set field: - type: text - name: number hybrid variants - description: Change each number hybrid (0/X, 1/X, 2/X ... 11/X) up to this number to a specific variant instead of a hybrid symbol. -set field: - type: choice - name: mana symbol help - choice: Click here for mana symbol help! - choice: In your mainframe-extras folder, create folders named "large" and/or "small" depending on your usage - choice: Large is for only mana costs, small for only text, create both if you use both - choice: Additionally, you can create a "future" folder for M15 Future mana costs - choice: Save NAME.png to the relevant folders. Remember that large symbols have dropshadows - choice: For the name option above, set the address of the image, minus mainframe-extras and large/small/future - choice: Ex: magic-mainframe-extras/cajun/large/hazard.png would use cajun/hazard.png - choice: Standard size is 160x160 for small, 200x200 for small hybrid and future, 165x178 for large, 205x218 for large hybrid - choice: If your symbol mixes with colors (such as Phyrexian mana): Save NAME_w.png, NAME_u.png, etc to those folders too. - choice: If your symbol hybrids with colors (like 2/W): [Note, doesn't work on M15 Future mana costs.] - choice: Save NAME_h.png to those folders too. See mana_bb.png and similar for how this image should look. - choice: Your mana symbol will now be keyed to V (and V/W, V/U, etc. for colored/hybrid symbols). - choice: You can change number hybrids (2/V etc) to different mana symbols for even more custom symbols. - choice: Put the highest number to change (from 0 to 11) in "number hybrid variants" and save as NAME_0.png etc. -############################# Default style -default set style: - title: - padding left: 2 - font: - size: 16 - symbol: - max aspect ratio: 2.5 - variation: - name: common - border radius: 0.10 - fill type: solid - fill color: rgb(0,0,0) - border color: rgb(255,255,255) - variation: - name: uncommon - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(224,224,224) - fill color 2: rgb(84, 84, 84) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(214,196,94) - fill color 2: rgb(95, 84, 40) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: mythic rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(245,148,31) - fill color 2: rgb(186,45,38) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: special - border radius: 0.10 - fill type: linear gradient - fill color 1: rgb(224,170,247) - fill color 2: rgb(58,7,80) - border color 1: rgb(255,255,255) - border color 2: rgb(255,255,255) - automatic reminder text: - render style: checklist - direction: vertical - mana symbol options: - 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 - description: The border of the card; can be any solid color -############################# 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 - description: The name of the card -#### compatibility with mana fonts -card field: - type: choice - name: card symbol - description: The symbol of the card. - show statistics: false - card list name: Symbol - card list column: 0920 - card list width: 100 - choice: none -############################# Image -card field: - type: image - name: image - show statistics: false - description: The image of the card -############################# Card type -card field: - type: text - name: type - icon: stats/type.png - card list visible: true - card list column: 2 - card list width: 100 - description: The type of the card - script: type_filter(value) -card field: - type: choice - name: rarity - icon: stats/rarity.png - position hint: 100 - choice: common - choice: uncommon - choice: rare - choice: mythic rare - choice: special - initial: common - card list visible: true - card list column: 4 - card list width: 50 - description: The rarity of the card, to edit the symbol switch to the 'set info' tab - choice colors: - common: rgb(33,33,33) - uncommon: rgb(224,224,224) - mythic rare: rgb(202, 49, 35) - rare: rgb(255,207,52) - special: rgb(190,0,255) -############################# Text box -card field: - type: text - name: rule text - script: text_filter(value) - show statistics: false - multi line: true - description: The rules text of the card -card field: - type: text - name: flavor text - script: flavor_text_filter(value) - show statistics: false - multi line: true - description: The flavor text of the card -card field: - type: text - name: text - multi line: true - save value: false - show statistics: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -############################# Card sorting / numbering -card field: - type: text - name: card number - save value: false - script: - position( - of: card - in: set - order_by: { sort_name(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 - description: The illustrator of the image - icon: stats/illustrator.png - position hint: 100 -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) - description: The copyright and card number of the card -############################################################### Extra Statistics -statistics dimension: - name: keywords - position hint: 1000 - script: keyword_usage(unique:true) - show empty: false - split list: true - icon: stats/keywords.png -statistics dimension: - name: style - position hint: 1001 - script: stylesheet.short_name - icon: stats/stylesheet.png -statistics dimension: - name: text length (words) - position hint: 100 - script: word_count(to_text(card.rule_text)) - numeric: true - bin size: 5 - icon: stats/text_length.png -statistics dimension: - name: text length (lines) - position hint: 101 - script: line_count(to_text(card.rule_text)) - numeric: true - icon: stats/text_length.png -############################################################## Auto replace -# Do we need categories? -#auto replace category: text box -#auto replace category: copyright -#auto replace category: everywhere -auto replace: - match: (C) - replace: © -auto replace: - match: CR - replace: © -auto replace: - match: AE - replace: Æ - whole word: false -auto replace: - match: TM - replace: ™ - whole word: false -auto replace: - match: -- - replace: — -auto replace: - # note the spaces - match: - - - replace: - — -auto replace: - match: CIP - replace: enters the battlefield -auto replace: - match: AAA - replace: as an additional cost to cast -auto replace: - match: scheming - replace: When you set this scheme in motion, -auto replace: - match: hot seat - replace: When you set this scheme in motion, target opponent chooses self or others. If that player chooses self, -auto replace: - match: ~ - replace: this scheme -auto replace: - match: ' - replace: ’ -############################################################## Card pack items -pack type: - name: card - filter: card.name != "" -############################################################## Card packs -pack type: - name: booster pack - item: - name: card - amount: 1 -############################################################## Archenemy word lists -word list: - name: type - word: - name: Ongoing - is prefix: true - line below: true - word: Scheme -############################################################## Keywords -############################# Keyword rules - -has keywords: true - -#keyword preview: {keyword} ({reminder}) - -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: [HSCTQXYZI0-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\} - refer script: - name: colored mana cost - description: Converts mana to number of colored mana - # "0" left in so users can easily see how to edit script. - script: \{colored_mana({input}) + 0\} -# By pichoro and bunnierein -keyword parameter type: - name: cost - match: [ ][HSCTQXYZI0-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 " - 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 " - 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: one_word - match: [A-Za-z0-9]+ -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: english_number - match: [ upto]*[(an? |one |two |three |four |five |six |seven |eight |nine |ten )]* -keyword parameter type: - name: prefix - description: Prefix for things like "walk" - optional: false - match: [A-Z][A-Z,a-z’ ]* - example: Forest -keyword parameter type: - name: a - match: [an?]* -keyword parameter type: - name: nonland - match: ( n?o?n?l?a?n?d? ?) -############################# 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 or planeswalker. -keyword: - keyword: Banding - match: banding - mode: old - reminder: 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. -keyword: - keyword: Landwalk - match: prefixwalk - mode: core - reminder: This creature is unblockable as long as defending player controls a {if match(param1.value, match: " land$") or contains(param1.value, match: "Snow") or contains(param1.value, match:"Basic") or contains(param1.value, match:"Legendary") then "{to_lower(param1)}" else "{param1}"}. -keyword: - keyword: Protection from - match: protection from name - 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 name - mode: old - reminder: Any {param1} can attack in a band as long as at least one has “bands with other {param1}.” Bands are blocked as a group. If at least two {param1} you control, one of which has “bands with other {param1},” are blocking or being blocked by the same creature, you divide that creature’s combat damage, not its controller, among any of the creatures it’s being blocked by or is blocking. -keyword: - keyword: Rampage - match: rampage number - 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 cost - 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: It phases in or out before you untap during each of your untap steps. While it’s phased out, it’s treated as though it doesn’t exist. -keyword: - keyword: Flanking - match: flanking - mode: expert - 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast it. If you do, put it into your hand as it resolves. -keyword: - keyword: Echo - match: echo cost - 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 cost - mode: expert - reminder: {param1}, Discard it: Draw a card. -keyword: - keyword: Haste - match: haste - mode: core - reminder: It can attack and T as soon as 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 number - mode: expert - reminder: It enters the battlefield 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast the card. -keyword: - keyword: Flashback - match: flashback cost - mode: expert - reminder: You may cast it from your graveyard for its flashback cost. Then exile it. -keyword: - keyword: Threshold - match: Threshold - mode: pseudo - rules: Threshold — [effect] as long as seven or more cards are in your graveyard. -keyword: - keyword: Madness - match: madness cost - mode: expert - reminder: If you discard it, you may cast it for its madness cost instead of putting it into your graveyard. -keyword: - keyword: Morph - match: morph cost - mode: expert - reminder: You may cast it face down as a 2/2 creature for 3. Turn it face up any time for its morph cost. -keyword: - keyword: Fear - match: fear - mode: old - reminder: It can’t be blocked except by artifact creatures and/or black creatures. -keyword: - keyword: Amplify - match: amplify number - mode: expert - reminder: As it enters the battlefield, 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: prefixcycling cost - 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 cast it, copy it for each spell cast before it this turn. You may choose new targets for the copies. -keyword: - keyword: Affinity for - match: affinity for name - mode: expert - reminder: It costs 1 less to cast for each {english_singular(param1)} you control. -keyword: - keyword: Entwine - match: entwine cost - mode: expert - reminder: Choose both if you pay the entwine cost. -keyword: - keyword: Equip - match: equip cost - mode: core - reminder: {param1}: Attach to target creature you control. Equip only as a sorcery. -keyword: - keyword: Imprint - match: Imprint - mode: pseudo - rules: Imprint — When it enters the battlefield, you may exile a [something] from [somewhere]. -keyword: - keyword: Modular - match: modular number - mode: expert - reminder: It enters the battlefield 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 number - 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 enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. If it isn’t a creature, use charge counters instead. -keyword: - keyword: Art rampage - match: art rampage number - mode: expert - reminder: Whenever it blocked by a creature, it gets +{param1}/+{param1} for each creature in the blocker’s art beyond the first. -keyword: - keyword: Super haste - match: Super haste - mode: expert - reminder: It may attack the turn before you cast it. (You may have it enter the battlefield from your hand, tapped and attacking, during your declare attackers step. If you do, you lose the game at the end of your next turn unless you pay its mana cost during that turn.) -keyword: - keyword: Gotcha - match: Gotcha - mode: pseudo - rules: Gotcha — Whenever an opponent [does something], you may say “Gotcha!”. If you do, return [something] from your graveyard to your hand. -keyword: - keyword: Splice - match: splice onto name cost - mode: expert - reminder: As you cast 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 number - mode: expert - reminder: When it blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn. -keyword: - keyword: Soulshift - match: soulshift number - mode: expert - reminder: When it is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost {param1} or less from your graveyard to your hand. -keyword: - keyword: Enchant - match: enchant name - mode: core - reminder: Target a {param1} as you cast the card. The card enters the battlefield 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: prefix offering - mode: expert - reminder: You may cast it any time you could cast 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 cost - mode: expert - reminder: {param1}, Return an unblocked attacker you control to hand: Put it onto the battlefield from your hand tapped and attacking. -keyword: - keyword: Epic - match: epic - mode: expert - reminder: For the rest of the game, you can’t cast 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 - rules: Channel — [cost], Discard a card: [effect]. -keyword: - keyword: Sweep - match: Sweep - mode: pseudo - rules: Sweep — Return any number of [basic land type] you control to their owner’s hand. [effect based on number of lands returned]. -keyword: - keyword: Convoke - match: convoke - mode: expert - reminder: Each creature you tap while casting the card reduces its cost by 1 or by one mana of that creature’s color. -keyword: - keyword: Transmute - match: transmute cost - 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. Transmute only as a sorcery. -keyword: - keyword: Dredge - match: dredge number - 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 - rules: Radiance — [effect to target permanent or spell and all cards of same card type that share a color with it]. -keyword: - keyword: Haunt - match: haunt - mode: expert - reminder: When it is put into a graveyard from the battlefield, or when it resolves if it is not a permanent, exile it haunting target creature. -keyword: - keyword: Bloodthirst - match: bloodthirst number - mode: expert - reminder: If an opponent was dealt damage this turn, the permanent enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Replicate - match: replicate cost - mode: expert - reminder: When you cast it, copy it for each time you paid its replicate cost. You may choose new targets for the copies. -keyword: - keyword: Graft - match: graft number - mode: expert - reminder: It enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever a creature enters the battlefield, you may move a +1/+1 counter from the permanent onto it. -keyword: - keyword: Forecast - match: forecast — action, Reveal name from your hand: action - mode: expert - reminder: Activate the ability only during your upkeep and only once each turn. -keyword: - keyword: Hellbent - match: Hellbent - mode: pseudo - rules: Hellbent — [effect] if you have no cards in hand. -keyword: - keyword: Recover - match: recover cost - mode: expert - reminder: When a creature is put into your graveyard from the battlefield, you may {for_mana_costs(add:"pay ",param1)}. If you do, return the card from your graveyard to your hand. Otherwise, exile this card. -keyword: - keyword: Ripple - match: ripple number - mode: expert - reminder: When you cast it, you may reveal the top {english_number_multiple(param1)} card(s) of your library. You may cast 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 cast it any time you could cast an instant. -keyword: - keyword: Split second - match: split second - mode: expert - reminder: As long as it is on the stack, players can’t cast spells or activate abilities that aren’t mana abilities. -keyword: - keyword: Suspend - match: suspend numbercost - mode: expert - reminder: Rather than cast it from your hand, you may pay {param2} and exile it 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, cast it without paying its mana cost. If it is a creature, it has haste. -keyword: - keyword: Vanishing - match: vanishing number - mode: expert - reminder: It enters the battlefield 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: Any amount of damage it deals to a creature is enough to destroy it. -keyword: - keyword: Reach - match: reach - mode: core - reminder: It can block creatures with flying. -keyword: - keyword: Gravestorm - match: gravestorm - mode: expert - reminder: When you cast 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: Damage dealt by it also causes you to gain that much life. -keyword: - keyword: Absorb - match: absorb number - mode: expert - reminder: If a source would deal damage to it, prevent {param1} of that damage. -keyword: - keyword: Fateseal - match: fateseal number - 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 cost - 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 onto the battlefield. Then shuffle your library. Transfigure only as a sorcery. -keyword: - keyword: Aura swap - match: aura swap cost - mode: expert - reminder: {param1}: Exchange it with an Aura card in your hand. -keyword: - keyword: Frenzy - match: frenzy number - 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 exile any number of cards in your graveyard as you cast it. It costs 1 less to cast for each card exiled this way. -keyword: - keyword: Poisonous - match: poisonous number - 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 cost - mode: expert - reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. It enters the battlefield unattached and stays on the battlefield if the land leaves. -keyword: - keyword: Grandeur - match: Grandeur - mode: pseudo - rules: Grandeur — Discard another card named [something]: [effect]. -keyword: - keyword: Evoke - match: evoke cost - mode: expert - reminder: You may cast it for its evoke cost. If you do, it’s sacrificed when it enters the battlefield. -keyword: - keyword: Champion - match: champion a name - mode: expert - reminder: When it enters the battlefield, sacrifice it unless you exile another {param2} you control. When it leaves the battlefield, return that card to the battlefield. -keyword: - keyword: Clash - match: clash - mode: expert - reminder: 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. -keyword: - keyword: Changeling - match: changeling - mode: expert - reminder: It is every creature type at all times. -keyword: - keyword: Hideaway - match: hideaway - mode: expert - reminder: The land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. -keyword: - keyword: Prowl - match: prowl cost - mode: expert - reminder: You may cast it for its prowl cost if you dealt combat damage to a player this turn with a creature that shares a type with it. -keyword: - keyword: Reinforce - match: reinforce numbercost - mode: expert - reminder: {param2}, Discard it: Put {english_number_a(param1)} +1/+1 counter(s) on target creature. -keyword: - keyword: Kinship - match: Kinship - mode: pseudo - rules: Kinship — At the beginning of your upkeep, you may look at the top card of your library. If that card shares a creature type with it, you may reveal it. If you do, [effect]. -keyword: - keyword: Persist - match: persist - mode: expert - reminder: When it is put into a graveyard from the battlefield, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it. -keyword: - keyword: Wither - match: wither - mode: expert - reminder: It deals damage to creatures in the form of -1/-1 counters. -keyword: - keyword: Conspire - match: conspire - mode: expert - reminder: As you cast it, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy. -keyword: - keyword: Retrace - match: retrace - mode: expert - reminder: You may cast it from your graveyard by discarding a land card in addition to paying its other costs. -keyword: - keyword: Chroma - match: Chroma - mode: pseudo - rules: Chroma — [effect] based on the number of [color] mana symbols [in graveyard, under your control, in cards you discard]. -keyword: - keyword: Unearth - match: unearth cost - mode: expert - reminder: {param1}: Return it from your graveyard to the battlefield. If it is a creature, it gains haste. Exile it at the beginning of the end step or if it would leave the battlefield. Unearth only as a sorcery. -keyword: - keyword: Devour - match: devour number - mode: expert - reminder: As it enters the battlefield, you may sacrifice any number of creatures. It enters the battlefield with { if param1.value == 1 then "" else if param1.value == 2 then "twice " else english_number(param1) + " times " }that many +1/+1 counters on it. -keyword: - keyword: Exalted - match: exalted - mode: expert - reminder: Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn. -keyword: - keyword: Domain - match: Domain - mode: pseudo - rules: Domain — [effect] for each basic land type among lands you control. -keyword: - keyword: Cascade - match: cascade - mode: expert - reminder: When you cast it, exile the top card of your library until you remove a nonland card that costs less. You may cast that card without paying its mana cost. Put the exiled cards on the bottom of your library at random. -keyword: - keyword: Intimidate - match: intimidate - mode: core - reminder: It can’t be blocked except by artifact creatures and/or creatures that share a color with it. -keyword: - keyword: Landfall - match: Landfall - mode: pseudo - rules: Landfall — Whenever a land enters the battlefield under your control, [effect]. -keyword: - keyword: Multikicker - match: multikicker cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ", param1)} any number of times as you cast it. -keyword: - keyword: Annihilator - match: annihilator number - mode: expert - reminder: Whenever it attacks, defending player sacrifices {english_number_a(param1)} permanent(s). -keyword: - keyword: Rebound - match: rebound - mode: expert - reminder: If you cast it from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast it from exile without paying its mana cost. -keyword: - keyword: Totem armor - match: totem armor - mode: expert - reminder: If enchanted creature would be destroyed, instead remove all damage from the creature and destroy it. -keyword: - keyword: Level up - match: level up cost - mode: expert - reminder: {param1}: Put a level counter on it. Level up only as a sorcery. -keyword: - keyword: Infect - match: infect - mode: expert - reminder: This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters. -keyword: - keyword: Proliferate - match: proliferate - mode: expert - reminder: You may choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there. -keyword: - keyword: Metalcraft - match: Metalcraft - mode: pseudo - rules: Metalcraft — As long as you control three or more artifacts, [effect]. -keyword: - keyword: Battlecry - match: battlecry - mode: expert - reminder: Whenever it attacks, each other attacking creature gets +1/+0 until end of turn. -keyword: - keyword: Living weapon - match: living weapon - mode: expert - reminder: When it enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach it to the creature. -keyword: - keyword: Living weapon - match: living weapon - mode: expert - reminder: When it enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach it to the creature. -keyword: - keyword: Hexproof - match: hexproof - mode: core - reminder: It can't be the target of spells or abilities your opponents control. -keyword: - keyword: Morbid - match: Morbid - mode: pseudo - rules: Morbid — If a creature died this turn, [effect]. -keyword: - keyword: Fight - match: fight - mode: action - reminder: Each deals damage equal to its power to the other. -keyword: - keyword: Undying - match: undying - mode: expert - reminder: When it dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it. -keyword: - keyword: Fateful hour - match: Fateful hour - mode: pseudo - rules: Fateful hour — As long as you have 5 or less life, [effect]. -keyword: - keyword: Miracle - match: miracle cost - mode: expert - reminder: You may cast it for its miracle cost when you draw it if it's the first card you drew this turn. -keyword: - keyword: Soulbond - match: soulbond - mode: expert - reminder: You may pair it with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them. -keyword: - keyword: Detain - match: detainenglish_numbertargetnonlandone_word - mode: action - reminder: Until your next turn, {if contains(param1.value, match:"one") or param1.value == " " then "that" else "those"} {param3} can't attack or block and its activated abilities can't be activated. -keyword: - keyword: Overload - match: overload cost - mode: expert - reminder: You may cast it for its overload cost. If you do, change its text by replacing all instances of "target" with "each". -keyword: - keyword: Unleash - match: unleash - mode: expert - reminder: You may have it enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it. -keyword: - keyword: Scavenge - match: scavenge cost - mode: expert - reminder: {param1}, Exile it from your graveyard: Put a number of +1/+1 counters equal to its power on target creature. Scavenge only as a sorcery. -keyword: - keyword: Populate - match: populate - mode: action - reminder: Put a token onto the battlefield that's a copy of a creature token you control. -keyword: - keyword: Extort - match: extort - mode: expert - reminder: Whenever you cast spell, you may pay [W/B]. If you do, each opponent loses 1 life and you gain that much life. -keyword: - keyword: Cipher - match: cipher - mode: expert - reminder: Then you may exile it encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost. -keyword: - keyword: Bloodrush - match: Bloodrush - mode: pseudo - rules: Bloodrush — [cost], Discard ~: Target attacking creature gets [effect]. -keyword: - keyword: Battalion - match: Battalion - mode: pseudo - rules: Battalion — Whenever ~ and at least two other creatures attack, [effect]. -keyword: - keyword: Evolve - match: evolve - mode: expert - reminder: Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than it, put a +1/+1 counter on it. -keyword: - keyword: Fuse - match: fuse - mode: expert - reminder: You may cast one or both halves of it from your hand. -keyword: - keyword: Indestructible - match: indestructible - mode: core - reminder: Damage and effects that say "destroy" don't destroy it. -keyword: - keyword: Hero's Reward - match: Hero's Reward - mode: pseudo -keyword: - keyword: Monstrosity - match: monstrosity number - mode: expert - reminder: If it isn’t monstrous, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes monstrous. -keyword: - keyword: Heroic - match: Heroic - mode: pseudo - rules: Whenever you cast a spell that targets ~, [effect]. -keyword: - keyword: Bestow - match: bestow cost - mode: expert - reminder: If you cast it for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature. -keyword: - keyword: Devotion - match: devotion to action - mode: action - reminder: Each {color_to_mana(param1)} in the mana costs of permanents you control counts toward your devotion to {param1}. -keyword: - keyword: Tribute - match: tribute number - mode: expert - reminder: As it enters the battlefield, an opponent of your choice may put {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Inspiration - match: Inspiration - mode: pseudo - rules: Inspiration - Whenever ~ becomes untapped, [effect]. diff --git a/data/archenemy.mse-game/stats/illustrator.png b/data/archenemy.mse-game/stats/illustrator.png deleted file mode 100644 index 86117ef672..0000000000 Binary files a/data/archenemy.mse-game/stats/illustrator.png and /dev/null differ diff --git a/data/archenemy.mse-game/stats/keywords.png b/data/archenemy.mse-game/stats/keywords.png deleted file mode 100644 index 4f1e07a359..0000000000 Binary files a/data/archenemy.mse-game/stats/keywords.png and /dev/null differ diff --git a/data/archenemy.mse-game/stats/rarity.png b/data/archenemy.mse-game/stats/rarity.png deleted file mode 100644 index 62e77e4fae..0000000000 Binary files a/data/archenemy.mse-game/stats/rarity.png and /dev/null differ diff --git a/data/archenemy.mse-game/stats/stylesheet.png b/data/archenemy.mse-game/stats/stylesheet.png deleted file mode 100644 index 32072236a2..0000000000 Binary files a/data/archenemy.mse-game/stats/stylesheet.png and /dev/null differ diff --git a/data/archenemy.mse-game/stats/text_length.png b/data/archenemy.mse-game/stats/text_length.png deleted file mode 100644 index e8c7904e5b..0000000000 Binary files a/data/archenemy.mse-game/stats/text_length.png and /dev/null differ diff --git a/data/archenemy.mse-game/stats/type.png b/data/archenemy.mse-game/stats/type.png deleted file mode 100644 index d2b8f49ec7..0000000000 Binary files a/data/archenemy.mse-game/stats/type.png and /dev/null differ diff --git a/data/herospath-creature.mse-style/card-sample.png b/data/herospath-creature.mse-style/card-sample.png deleted file mode 100644 index 8d95ae7470..0000000000 Binary files a/data/herospath-creature.mse-style/card-sample.png and /dev/null differ diff --git a/data/herospath-creature.mse-style/default_image.png b/data/herospath-creature.mse-style/default_image.png deleted file mode 100644 index 94f80182b3..0000000000 Binary files a/data/herospath-creature.mse-style/default_image.png and /dev/null differ diff --git a/data/herospath-creature.mse-style/gcard.jpg b/data/herospath-creature.mse-style/gcard.jpg deleted file mode 100644 index 3c2db95dfa..0000000000 Binary files a/data/herospath-creature.mse-style/gcard.jpg and /dev/null differ diff --git a/data/herospath-creature.mse-style/image_mask.png b/data/herospath-creature.mse-style/image_mask.png deleted file mode 100644 index 9c53935a8d..0000000000 Binary files a/data/herospath-creature.mse-style/image_mask.png and /dev/null differ diff --git a/data/herospath-creature.mse-style/style b/data/herospath-creature.mse-style/style deleted file mode 100644 index 23f813a6d8..0000000000 --- a/data/herospath-creature.mse-style/style +++ /dev/null @@ -1,221 +0,0 @@ -mse version: 2.0.0 -game: herospath -short name: Creatures -installer group: Magic Hero's Path/creature style -icon: card-sample.png -position hint: 03 - -version: 2014-01-21 -depends on: - package: herospath.mse-game - version: 2014-01-21 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 -depends on: - package: magic-embossedletters.mse-symbol-font - version: 2007-09-23 - -card width: 375 -card height: 523 -card dpi: 150 -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: text - name: left -styling field: - type: text - name: top -styling field: - type: text - name: width -styling field: - type: text - name: height -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Background stuff - background: - left: 0 - top: 0 - width: 375 - height: 523 - z index: -2 - render style: image - popup style: in place - choice images: - green: gcard.jpg - ############################# Name line - name: - left: 80 - top: 32 - right: 293 - height: 23 - alignment: middle center shrink-overflow - padding bottom: 0 - z index: 1 - symbol font: - name: magic-embossedletters - size: 22 - alignment: bottom center - always symbol: true - ############################# Image - image: - left: 29 - top: 58 - width: 316 - height: 283 - z index: 1 - default: default_image.png - mask: image_mask.png - ############################# Card type - type: - left: 35 - top: 347 - width: { 308 - max(22,card_style.rarity.content_width) } - height: 20 - alignment: top shrink-overflow - z index: 1 - padding top: 2 - font: - name: Matrix - size: 14 - color: black - separator color: rgb(128,128,128) - rarity: - right: 342 - top: 347 - width: 44 - height: 22 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - text: - left: 31 - top: 379 - width: 312 - height: 95 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle left - z index: 2 - padding left: 6 - padding right: 4 - line height hard: 1.2 - line height line: 1.5 - line height soft: 0.9 - line height hard max: 1.3 - line height line max: 1.6 - pt: - z index: 2 - left: 284 - top: 468 - width: 60 - height: 28 - alignment: center middle shrink-overflow - font: - name: ModMatrix - size: 17 - weight: bold - color: black - separator color: red - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 59 - top: 482 - width: 217 - height: 16 - z index: 1 - font: - name: Matrix - size: 10 - weight: bold - color: black - copyright line: - left: 30 - top: 494 - width: 247 - height: 12 - z index: 1 - font: - name: MPlantin - size: 6.5 - color: black -############################################################## Extra card fields diff --git a/data/herospath-heroes.mse-style/card-sample.png b/data/herospath-heroes.mse-style/card-sample.png deleted file mode 100644 index 10d0ebea9a..0000000000 Binary files a/data/herospath-heroes.mse-style/card-sample.png and /dev/null differ diff --git a/data/herospath-heroes.mse-style/default_image.png b/data/herospath-heroes.mse-style/default_image.png deleted file mode 100644 index 94f80182b3..0000000000 Binary files a/data/herospath-heroes.mse-style/default_image.png and /dev/null differ diff --git a/data/herospath-heroes.mse-style/gcard.jpg b/data/herospath-heroes.mse-style/gcard.jpg deleted file mode 100644 index 019d6df5b9..0000000000 Binary files a/data/herospath-heroes.mse-style/gcard.jpg and /dev/null differ diff --git a/data/herospath-heroes.mse-style/rcard.jpg b/data/herospath-heroes.mse-style/rcard.jpg deleted file mode 100644 index 013953b876..0000000000 Binary files a/data/herospath-heroes.mse-style/rcard.jpg and /dev/null differ diff --git a/data/herospath-heroes.mse-style/style b/data/herospath-heroes.mse-style/style deleted file mode 100644 index 6b21a556f5..0000000000 --- a/data/herospath-heroes.mse-style/style +++ /dev/null @@ -1,236 +0,0 @@ -mse version: 2.0.0 -game: herospath -short name: Heroes -installer group: Magic Hero's Path/hero style -icon: card-sample.png -position hint: 01 - -version: 2014-01-20 -depends on: - package: herospath.mse-game - version: 2014-01-20 -depends on: - package: herospath-watermarks.mse-include - version: 2013-12-14 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 -depends on: - package: magic-future-common.mse-include - version: 2007-09-23 - -card width: 375 -card height: 523 -card dpi: 150 -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top : 0 - width: 375 - height: 523 - radius: 18 - left width: 17 - right width: 17 - top width: 17 - bottom width: 18 - z index: 4 - background: - left: 0 - top: 0 - width: 375 - height: 523 - z index: -2 - render style: image - popup style: in place - choice images: - green: gcard.jpg - red: rcard.jpg - ############################# Name line - name: - left: 32 - top: 28 - right: 341 - height: 23 - alignment: bottom shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Matrix - size: 17 - weight: bold - color: black - ############################# Image - image: - left: 31 - top: 60 - width: 314 - height: 260 - z index: 1 - default: default_image.png - ############################# Card type - type: - left: 35 - top: 327 - width: { 308 - max(22,card_style.rarity.content_width) } - height: 20 - alignment: top shrink-overflow - z index: 1 - padding top: 2 - font: - name: Matrix - size: 14 - color: black - separator color: rgb(128,128,128) - rarity: - right: 342 - top : 327 - width: 44 - height: 22 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - text: - left: 31 - top: 359 - width: 312 - height: 112 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle left - z index: 2 - padding left: 6 - padding right: 4 - line height hard: 1.2 - line height line: 1.5 - line height soft: 0.9 - line height hard max: 1.3 - line height line max: 1.6 - watermark: - left: 127 - top : 353 - width: 98 - height: 124 - z index: 1 - render style: image - alignment: middle center - include file: /herospath-watermarks.mse-include/watermarks - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 56 - top : 481 - width: 217 - height: 16 - z index: 1 - font: - name: Matrix - size: 10 - weight: bold - color: black - copyright line: - left: 30 - top : 494 - width: 247 - height: 12 - z index: 1 - font: - name: MPlantin - size: 6.5 - color: black -############################################################## Extra card fields -extra card field: - type: choice - name: paintbrush - script: "black" - save value: false - editable: false -extra card style: - paintbrush: - left: 27 - top : 482 - width: 27 - height: 11 - z index: 2 - render style: image - choice images: - black: /magic-future-common.mse-include/paintbrush_black.png - white: /magic-future-common.mse-include/paintbrush_white.png diff --git a/data/herospath-spell.mse-style/card-sample.png b/data/herospath-spell.mse-style/card-sample.png deleted file mode 100644 index 5b63a3e28f..0000000000 Binary files a/data/herospath-spell.mse-style/card-sample.png and /dev/null differ diff --git a/data/herospath-spell.mse-style/default_image.png b/data/herospath-spell.mse-style/default_image.png deleted file mode 100644 index 94f80182b3..0000000000 Binary files a/data/herospath-spell.mse-style/default_image.png and /dev/null differ diff --git a/data/herospath-spell.mse-style/gcard.jpg b/data/herospath-spell.mse-style/gcard.jpg deleted file mode 100644 index c070612640..0000000000 Binary files a/data/herospath-spell.mse-style/gcard.jpg and /dev/null differ diff --git a/data/herospath-spell.mse-style/style b/data/herospath-spell.mse-style/style deleted file mode 100644 index 2b52622342..0000000000 --- a/data/herospath-spell.mse-style/style +++ /dev/null @@ -1,192 +0,0 @@ -mse version: 2.0.0 -game: herospath -short name: Spells -installer group: Magic Hero's Path/spell style -icon: card-sample.png -position hint: 02 - -version: 2014-01-20 -depends on: - package: herospath.mse-game - version: 2014-01-20 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 - -card width: 375 -card height: 523 -card dpi: 150 -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Background stuff - background: - left: 0 - top: 0 - width: 375 - height: 523 - z index: -2 - render style: image - popup style: in place - choice images: - green: gcard.jpg - ############################# Name line - name: - left: 32 - top: 28 - right: 341 - height: 23 - alignment: bottom shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Matrix - size: 17 - weight: bold - color: black - ############################# Image - image: - left: 30 - top: 60 - width: 314 - height: 230 - z index: 1 - default: default_image.png - ############################# Card type - type: - left: 35 - top: 297 - width: { 308 - max(22,card_style.rarity.content_width) } - height: 20 - alignment: top shrink-overflow - z index: 1 - padding top: 2 - font: - name: Matrix - size: 14 - color: black - separator color: rgb(128,128,128) - rarity: - right: 342 - top: 297 - width: 44 - height: 22 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - text: - left: 31 - top: 329 - width: 312 - height: 142 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle left - z index: 2 - padding left: 6 - padding right: 4 - line height hard: 1.2 - line height line: 1.5 - line height soft: 0.9 - line height hard max: 1.3 - line height line max: 1.6 - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 59 - top: 480 - width: 217 - height: 16 - z index: 1 - font: - name: Matrix - size: 10 - weight: bold - color: black - copyright line: - left: 30 - top: 493 - width: 247 - height: 12 - z index: 1 - font: - name: MPlantin - size: 6.5 - color: black -############################################################## Extra card fields diff --git a/data/herospath-watermarks.mse-include/include b/data/herospath-watermarks.mse-include/include deleted file mode 100644 index cbdde233a1..0000000000 --- a/data/herospath-watermarks.mse-include/include +++ /dev/null @@ -1,7 +0,0 @@ -mse version: 2.0.0 -full name: Magic The Gathering Hero's Path watermarks -version: 2014-01-09 - -# This file doesn't do anything, other files in this directory can be included -# in game/style files: -# watermarks Includes references to the watermark images, to be used in a style file diff --git a/data/herospath-watermarks.mse-include/original images/quest1.png b/data/herospath-watermarks.mse-include/original images/quest1.png deleted file mode 100644 index 0fc41523f3..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest1.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest2.png b/data/herospath-watermarks.mse-include/original images/quest2.png deleted file mode 100644 index d25b52a18b..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest2.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest3.png b/data/herospath-watermarks.mse-include/original images/quest3.png deleted file mode 100644 index 013a403796..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest3.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest4.png b/data/herospath-watermarks.mse-include/original images/quest4.png deleted file mode 100644 index 48b379c81b..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest4.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest5.png b/data/herospath-watermarks.mse-include/original images/quest5.png deleted file mode 100644 index 939e3f6f46..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest5.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest6.png b/data/herospath-watermarks.mse-include/original images/quest6.png deleted file mode 100644 index fc86caae7d..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest6.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest7.png b/data/herospath-watermarks.mse-include/original images/quest7.png deleted file mode 100644 index 0902f5bed1..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest7.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest8.png b/data/herospath-watermarks.mse-include/original images/quest8.png deleted file mode 100644 index a96489b4dc..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest8.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/original images/quest9.png b/data/herospath-watermarks.mse-include/original images/quest9.png deleted file mode 100644 index 78e4df7d74..0000000000 Binary files a/data/herospath-watermarks.mse-include/original images/quest9.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest1.png b/data/herospath-watermarks.mse-include/quest1.png deleted file mode 100644 index a35324bb63..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest1.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest2.png b/data/herospath-watermarks.mse-include/quest2.png deleted file mode 100644 index 29cba7b07f..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest2.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest3.png b/data/herospath-watermarks.mse-include/quest3.png deleted file mode 100644 index 15d562d5c8..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest3.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest4.png b/data/herospath-watermarks.mse-include/quest4.png deleted file mode 100644 index 6361148fc3..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest4.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest5.png b/data/herospath-watermarks.mse-include/quest5.png deleted file mode 100644 index 59a694adad..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest5.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest6.png b/data/herospath-watermarks.mse-include/quest6.png deleted file mode 100644 index 52b156bf20..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest6.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest7.png b/data/herospath-watermarks.mse-include/quest7.png deleted file mode 100644 index 6f2c1c12b7..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest7.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest8.png b/data/herospath-watermarks.mse-include/quest8.png deleted file mode 100644 index a45cee8d3e..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest8.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/quest9.png b/data/herospath-watermarks.mse-include/quest9.png deleted file mode 100644 index da802b1ddd..0000000000 Binary files a/data/herospath-watermarks.mse-include/quest9.png and /dev/null differ diff --git a/data/herospath-watermarks.mse-include/watermark-names b/data/herospath-watermarks.mse-include/watermark-names deleted file mode 100644 index 9fc4b1b88d..0000000000 --- a/data/herospath-watermarks.mse-include/watermark-names +++ /dev/null @@ -1,19 +0,0 @@ -# The watermark choices -# Included by a game file - -choice: - name: none - line below: true -choice: - name: quest icons - choice: quest 1 - choice: quest 2 - choice: quest 3 - choice: quest 4 - choice: quest 5 - choice: quest 6 - choice: quest 7 - choice: quest 8 - choice: quest 9 -choice: - name: set symbol diff --git a/data/herospath-watermarks.mse-include/watermarks b/data/herospath-watermarks.mse-include/watermarks deleted file mode 100644 index 5ff01ecb43..0000000000 --- a/data/herospath-watermarks.mse-include/watermarks +++ /dev/null @@ -1,26 +0,0 @@ -# Watermark images - -choice images: - quest icons quest 1: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest1.png") - quest icons quest 2: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest2.png") - quest icons quest 3: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest3.png") - quest icons quest 4: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest4.png") - quest icons quest 5: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest5.png") - quest icons quest 6: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest6.png") - quest icons quest 7: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest7.png") - quest icons quest 8: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest8.png") - quest icons quest 9: script: set_alpha(alpha: 0.4, input:"/herospath-watermarks.mse-include/quest9.png") - - set symbol: - { set_combine(combine:"shadow", - set_alpha( - alpha: 0.5, - #symbol_variation(symbol: set.symbol, variation: "common") - drop_shadow(offset_x: -0.01, offset_y: 0.03, blur_radius: 0.02, alpha: 1, color: rgb(0,0,0), - enlarge(border_size: 0.03, - symbol_variation(symbol: set.symbol, variation: "watermark") - ) - ) - ) - ) - } diff --git a/data/herospath.mse-game/card-sample.jpg b/data/herospath.mse-game/card-sample.jpg deleted file mode 100644 index 47977bb366..0000000000 Binary files a/data/herospath.mse-game/card-sample.jpg and /dev/null differ diff --git a/data/herospath.mse-game/game b/data/herospath.mse-game/game deleted file mode 100644 index f690a227df..0000000000 --- a/data/herospath.mse-game/game +++ /dev/null @@ -1,1448 +0,0 @@ -mse version: 2.0.0 -short name: Hero's Path -full name: Magic Hero's Path -installer group: Magic Hero's Path/game files -icon: card-sample.jpg -position hint: 02 - -version: 2014-03-25 -depends on: - package: herospath-watermarks.mse-include - version: 2013-12-14 - -############################################################## Functions & filters -# General functions -init script: - ############################################################## Sorting mana symbols - - # correctly sort a mana symbol (no guild mana) - mana_sort := sort_text@(order: "XYZI[0123456789]HS(WUBRG)") - # correctly sort guild mana - mana_sort_guild := sort_text@(order: "[XYZI01234567890HSWUBRG/|]") + - replace@( - match: "./.|././.|./././.|.[|]", - in_context: "(^|[^/])($|[^/])", - replace: {sort_text(order:"in_place((WUBRG)")} - ) - mana_has_guild := match@(match: "[/|]") # 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_text@(order: "") - mana_filter_t := replace@( # 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: "^[HSCTQXYZIWUBRG0-9/|]+,", input.param) then - "{add}{combined_cost(input.param)}" - else "{combined_cost(input.param)}" - ) else - "{alternative_cost(input.param)}" - ) else - "{add}{input.param}" - } - alternative_cost := replace@(match:"^[A-Z]", replace: { to_lower() }) - combined_cost := replace@(match:", [A-Z]", replace: { to_lower() })+ - replace@(match:",", replace:" and")+ - replace@(match:"^[HSCTQXYZIWUBRG0-9/|]", in_context: "(^|[[:space:]])", replace: "&")+ - replace@(match:"^[A-Z]", replace: { to_lower() }) - long_dash := replace@(match:"-", replace:"—") - - # Converted mana cost - is_half_mana := match@(match: "1/2|[|][WUBRGS]") - is_colored_mana := match@(match: "[WUBRG]") - only_numbers := filter_text@(match: "^[0123456789]+") - cmc_split := break_text@(match: "(?ix) 1/2 | [|][WUBRG] | [0-9]+(?!/[WUBRGSCTQ2]) | [WUBRGHS0-9](/[WUBRGS])\{0,4} ") - cmc := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_half_mana(sym) then 0.5 - else if numbers != "" then max(1, to_int(numbers)) - else 1 # all other symbols are 1 - )) - } - - colored_mana := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_colored_mana(sym) then - if is_half_mana(sym) then 0.5 else 1 - else 0 - )) - } - - ############################################################## 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 - ( : # G: something - | , # G, tap: something - | [ ]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 - ([ ]]*>[CTQSXYZIWUBRG0-9/|]+]*>[ ](and|or))* # pay X or Y - [ ] - ([,.)]|$ # (end of word) - |[ ][^ .,]*$ # still typing... - |[ ]( or | and | in | less | more | to ) # or next word is ... - ) - ) - | # keyword argument that is declared as mana - | [ ]* # keyword argument that is declared as cost - | , # 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 - remove_tag@(tag: "") + - remove_tag@(tag: "") + - remove_tag@(tag: "{keyword}" - else keyword + if expand then " ({reminder})" } - ) + - # step 2b : move inline keywords' reminder text to the end of the line - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - # step 3 : expand shortcut words ~ and CARDNAME - replace@( - match: "CARDNAME", - in_context: "(^|[[:space:]]|\\()", - replace: "" - ) + - # step 4 : fill in atom fields - tag_contents@( - tag: "", - contents: { if card.name=="" then "CARDNAME" else card.type + " - " + card.name } - ) + - # step 4.5 : explict non mana symbols - replace@( - match: "\\][HSCTQXYZIWUBRG0-9/|]+\\[", - replace: {"" + mana_filter_t() + ""} ) + - # step 5 : add mana & tap symbols - replace@( - match: "[HSCTQXYZIWUBRG0-9/|]+", - in_context: mana_context, - replace: {"" + mana_filter_t() + ""} ) + - # step 5b : add explict mana symbols - replace@( - match: "\\[[HSCTQXYZIWUBRG0-9/|]+\\]", - replace: {"" + mana_filter_t() + ""} ) + - # step 7 : italic reminder text - replace@( - match: "[(][^)\n]*[)]?", - in_context: "(^|[[:space:]])|", - replace: "&") + - # step 8 : automatic capitalization, but not after "(" - replace@( - match: "[a-z]", - in_context: "[ ]*: |—| — ", - replace: { to_upper() })+ - curly_quotes - - ############################################################## Other boxes - # the flavor text filter - # - makes all text italic - flavor_text_filter := - # step 2 : remove italic tags - remove_tag@(tag: "") + - # step 3 : surround by tags - { "" + input + "" } + - # curly quotes - curly_quotes - - # Process the name for sorting rules - sort_name := - # Remove "The", "A", and "And" at the beginning - replace@(match: "^(The|An?) ", replace: "") + - # Remove commas and apostrophes - replace@(match: "(,|'|’)", replace: "") + - # Remove bold and italic tags - replace@(match: "(|||)", replace: "") + - # Make lowercase - to_lower - - #Necessary to make magic-mana-future play nicely - colorless_color := { "c" } - - word_count := break_text@(match:"[^[:space:]]+") + length - line_count := split_text@(match:"\n+",include_empty:false) + length - - # Move the cursor past the separator in the p/t and type boxes - type_over_pt := replace@(match:"/$", replace:"") - - ############################################################## Mainframe mana - use_v_mana := {contains(set.custom_mana_symbol_name, match:".png")} - use_large_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in casting costs")} - use_small_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in text boxes")} - use_color_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"colored mana symbols") and not use_hybrid_v_mana()} - use_hybrid_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"hybrid with colors")} - v_mana_name := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"(.+/|\\.png)", replace:"")} - v_mana_loc := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"{v_mana_name()}\\.png", replace:"")} - v_mana_num := {max(to_number(set.number_hybrid_variants),0) or else -1} - ancestral_mana := {false} - white_text := {false} - symbol_font_small_color := { "black" } - -############################################################## 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: symbol - name: symbol - description: The symbol for this set, double click to edit -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, pseudo, 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? -set field: - type: info - name: custom mana -set field: - type: text - name: custom mana symbol name - description: Use mana symbols from magic-mainframe-extras.mse-include. Input NAME.png here, check help below for file instructions. -set field: - type: multiple choice - name: mana symbol options - choice: enable in casting costs - choice: enable in text boxes - choice: colored mana symbols - choice: hybrid with colors -set field: - type: text - name: number hybrid variants - description: Change each number hybrid (0/X, 1/X, 2/X ... 11/X) up to this number to a specific variant instead of a hybrid symbol. -set field: - type: choice - name: mana symbol help - choice: Click here for mana symbol help! - choice: In your mainframe-extras folder, create folders named "large" and/or "small" depending on your usage - choice: Large is for only mana costs, small for only text, create both if you use both - choice: Additionally, you can create a "future" folder for M15 Future mana costs - choice: Save NAME.png to the relevant folders. Remember that large symbols have dropshadows - choice: For the name option above, set the address of the image, minus mainframe-extras and large/small/future - choice: Ex: magic-mainframe-extras/cajun/large/hazard.png would use cajun/hazard.png - choice: Standard size is 160x160 for small, 200x200 for small hybrid and future, 165x178 for large, 205x218 for large hybrid - choice: If your symbol mixes with colors (such as Phyrexian mana): Save NAME_w.png, NAME_u.png, etc to those folders too. - choice: If your symbol hybrids with colors (like 2/W): [Note, doesn't work on M15 Future mana costs.] - choice: Save NAME_h.png to those folders too. See mana_bb.png and similar for how this image should look. - choice: Your mana symbol will now be keyed to V (and V/W, V/U, etc. for colored/hybrid symbols). - choice: You can change number hybrids (2/V etc) to different mana symbols for even more custom symbols. - choice: Put the highest number to change (from 0 to 11) in "number hybrid variants" and save as NAME_0.png etc. -############################# Default style -default set style: - title: - padding left: 2 - font: - size: 16 - symbol: - max aspect ratio: 2.5 - variation: - name: common - border radius: 0.10 - fill type: solid - fill color: rgb(0,0,0) - border color: rgb(255,255,255) - variation: - name: uncommon - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(224,224,224) - fill color 2: rgb(84, 84, 84) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(214,196,94) - fill color 2: rgb(95, 84, 40) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: mythic rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(245,148,31) - fill color 2: rgb(186,45,38) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: special - border radius: 0.10 - fill type: linear gradient - fill color 1: rgb(224,170,247) - fill color 2: rgb(58,7,80) - border color 1: rgb(255,255,255) - border color 2: rgb(255,255,255) - variation: - name: watermark - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgba(0,0,0,0) - 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 - description: The border of the card; can be any solid color -card field: - type: choice - name: background - show statistics: false - choice: green - choice: red - choice: purple -############################# 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 - description: The name of the card -#### compatibility with mana fonts -card field: - type: choice - name: card symbol - description: The symbol of the card. - show statistics: false - card list name: Symbol - card list column: 0920 - card list width: 100 - choice: none -############################# Image -card field: - type: image - name: image - show statistics: false - description: The image of the card -############################# Card type -card field: - type: text - name: type - card list visible: true - card list column: 2 - description: The type of the card - icon: stats/card_type.png -card field: - type: choice - name: rarity - icon: stats/rarity.png - position hint: 100 - choice: common - choice: uncommon - choice: rare - choice: mythic rare - choice: special - initial: common - card list visible: true - card list column: 6 - description: The rarity of the card, to edit the symbol switch to the 'set info' tab - choice colors: - common: rgb(33,33,33) - uncommon: rgb(224,224,224) - mythic rare: rgb(202, 49, 35) - rare: rgb(255,207,52) - special: rgb(190,0,255) -############################# Text box -card field: - type: text - name: rule text - script: text_filter(value) - show statistics: false - multi line: true - description: The rules text of the card -card field: - type: text - name: flavor text - script: flavor_text_filter(value) - show statistics: false - multi line: true - description: The flavor text of the card -card field: - type: text - name: text - multi line: true - save value: false - show statistics: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -card field: - type: choice - name: watermark - icon: stats/watermark.png - position hint: 200 - include file: /herospath-watermarks.mse-include/watermark-names - description: A watermark for below the textbox, this can be a quest icon or a set symbol -############################# PT -card field: - type: text - name: power - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness - show statistics: false - icon: stats/toughness.png - description: The toughness of a creature -card field: - type: text - name: pt - save value: false - script: - combined_editor( - field1: card.power, - separator: "/", - field2: card.toughness, - soft_before_empty: true, - hide_when_empty: true - ) - card list visible: true - card list column: 5 - card list width: 50 - card list name: P/T - description: Power/toughness of a creature - show statistics: false -############################# Card sorting / numbering -card field: - type: text - name: card number - save value: false - script: - position( - of: card - in: set - order_by: { sort_name(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 - description: The illustrator of the image - icon: stats/illustrator.png -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) - description: The copyright and card number of the card -############################################################### Extra Statistics -statistics dimension: - name: text length (words) - position hint: 100 - script: word_count(to_text(card.rule_text)) - numeric: true - bin size: 5 - icon: stats/text_length.png -statistics dimension: - name: text length (lines) - position hint: 101 - script: line_count(to_text(card.rule_text)) - numeric: true - icon: stats/text_length.png -statistics dimension: - name: keywords - position hint: 1000 - script: keyword_usage(unique:true) - show empty: false - split list: true - icon: stats/keywords.png -statistics dimension: - name: style - position hint: 1001 - script: stylesheet.short_name - icon: stats/stylesheet.png -############################################################## Auto replace -# Do we need categories? -#auto replace category: text box -#auto replace category: copyright -#auto replace category: everywhere -auto replace: - match: (C) - replace: © -auto replace: - match: AE - replace: Æ - whole word: false -auto replace: - match: TM - replace: ™ - whole word: false -auto replace: - match: -- - replace: — -auto replace: - # note the spaces - match: - - - replace: - — -auto replace: - match: CIP - replace: enters the battlefield -auto replace: - match: AAA - replace: as an additional cost to cast -auto replace: - match: ~ - replace: CARDNAME -auto replace: - match: ' - replace: ’ -############################################################## Card pack items -pack type: - name: card - filter: card.name != "" -############################################################## Card packs -pack type: - name: booster pack - item: - name: card - amount: 1 -############################################################## Keywords -############################# Keyword rules - -has keywords: true - -#keyword preview: {keyword} ({reminder}) - -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: [HSCTQXYZI0-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\} - refer script: - name: colored mana cost - description: Converts mana to number of colored mana - # "0" left in so users can easily see how to edit script. - script: \{colored_mana({input}) + 0\} -# By pichoro and bunnierein -keyword parameter type: - name: cost - match: [ ][HSCTQXYZI0-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 " - 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 " - 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: one_word - match: [A-Za-z0-9]+ -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: english_number - match: [ upto]*[(an? |one |two |three |four |five |six |seven |eight |nine |ten )]* -keyword parameter type: - name: prefix - description: Prefix for things like "walk" - optional: false - match: [A-Z][A-Z,a-z’ ]* - example: Forest -keyword parameter type: - name: a - match: [an?]* -keyword parameter type: - name: nonland - match: ( n?o?n?l?a?n?d? ?) -############################# 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 or planeswalker. -keyword: - keyword: Banding - match: banding - mode: old - reminder: 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. -keyword: - keyword: Landwalk - match: prefixwalk - mode: core - reminder: This creature is unblockable as long as defending player controls a {if match(param1.value, match: " land$") or contains(param1.value, match: "Snow") or contains(param1.value, match:"Basic") or contains(param1.value, match:"Legendary") then "{to_lower(param1)}" else "{param1}"}. -keyword: - keyword: Protection from - match: protection from name - 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 name - mode: old - reminder: Any {param1} can attack in a band as long as at least one has “bands with other {param1}.” Bands are blocked as a group. If at least two {param1} you control, one of which has “bands with other {param1},” are blocking or being blocked by the same creature, you divide that creature’s combat damage, not its controller, among any of the creatures it’s being blocked by or is blocking. -keyword: - keyword: Rampage - match: rampage number - 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 cost - 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: It phases in or out before you untap during each of your untap steps. While it’s phased out, it’s treated as though it doesn’t exist. -keyword: - keyword: Flanking - match: flanking - mode: expert - 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast it. If you do, put it into your hand as it resolves. -keyword: - keyword: Echo - match: echo cost - 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 cost - mode: expert - reminder: {param1}, Discard it: Draw a card. -keyword: - keyword: Haste - match: haste - mode: core - reminder: It can attack and T as soon as 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 number - mode: expert - reminder: It enters the battlefield 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast the card. -keyword: - keyword: Flashback - match: flashback cost - mode: expert - reminder: You may cast it from your graveyard for its flashback cost. Then exile it. -keyword: - keyword: Threshold - match: Threshold - mode: pseudo - rules: Threshold — [effect] as long as seven or more cards are in your graveyard. -keyword: - keyword: Madness - match: madness cost - mode: expert - reminder: If you discard it, you may cast it for its madness cost instead of putting it into your graveyard. -keyword: - keyword: Morph - match: morph cost - mode: expert - reminder: You may cast it face down as a 2/2 creature for 3. Turn it face up any time for its morph cost. -keyword: - keyword: Fear - match: fear - mode: old - reminder: It can’t be blocked except by artifact creatures and/or black creatures. -keyword: - keyword: Amplify - match: amplify number - mode: expert - reminder: As it enters the battlefield, 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: prefixcycling cost - 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 cast it, copy it for each spell cast before it this turn. You may choose new targets for the copies. -keyword: - keyword: Affinity for - match: affinity for name - mode: expert - reminder: It costs 1 less to cast for each {english_singular(param1)} you control. -keyword: - keyword: Entwine - match: entwine cost - mode: expert - reminder: Choose both if you pay the entwine cost. -keyword: - keyword: Equip - match: equip cost - mode: core - reminder: {param1}: Attach to target creature you control. Equip only as a sorcery. -keyword: - keyword: Imprint - match: Imprint - mode: pseudo - rules: Imprint — When it enters the battlefield, you may exile a [something] from [somewhere]. -keyword: - keyword: Modular - match: modular number - mode: expert - reminder: It enters the battlefield 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 number - 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 enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. If it isn’t a creature, use charge counters instead. -keyword: - keyword: Art rampage - match: art rampage number - mode: expert - reminder: Whenever it blocked by a creature, it gets +{param1}/+{param1} for each creature in the blocker’s art beyond the first. -keyword: - keyword: Super haste - match: Super haste - mode: expert - reminder: It may attack the turn before you cast it. (You may have it enter the battlefield from your hand, tapped and attacking, during your declare attackers step. If you do, you lose the game at the end of your next turn unless you pay its mana cost during that turn.) -keyword: - keyword: Gotcha - match: Gotcha - mode: pseudo - rules: Gotcha — Whenever an opponent [does something], you may say “Gotcha!”. If you do, return [something] from your graveyard to your hand. -keyword: - keyword: Splice - match: splice onto name cost - mode: expert - reminder: As you cast 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 number - mode: expert - reminder: When it blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn. -keyword: - keyword: Soulshift - match: soulshift number - mode: expert - reminder: When it is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost {param1} or less from your graveyard to your hand. -keyword: - keyword: Enchant - match: enchant name - mode: core - reminder: Target a {param1} as you cast the card. The card enters the battlefield 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: prefix offering - mode: expert - reminder: You may cast it any time you could cast 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 cost - mode: expert - reminder: {param1}, Return an unblocked attacker you control to hand: Put it onto the battlefield from your hand tapped and attacking. -keyword: - keyword: Epic - match: epic - mode: expert - reminder: For the rest of the game, you can’t cast 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 - rules: Channel — [cost], Discard a card: [effect]. -keyword: - keyword: Sweep - match: Sweep - mode: pseudo - rules: Sweep — Return any number of [basic land type] you control to their owner’s hand. [effect based on number of lands returned]. -keyword: - keyword: Convoke - match: convoke - mode: expert - reminder: Each creature you tap while casting the card reduces its cost by 1 or by one mana of that creature’s color. -keyword: - keyword: Transmute - match: transmute cost - 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. Transmute only as a sorcery. -keyword: - keyword: Dredge - match: dredge number - 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 - rules: Radiance — [effect to target permanent or spell and all cards of same card type that share a color with it]. -keyword: - keyword: Haunt - match: haunt - mode: expert - reminder: When it is put into a graveyard from the battlefield, or when it resolves if it is not a permanent, exile it haunting target creature. -keyword: - keyword: Bloodthirst - match: bloodthirst number - mode: expert - reminder: If an opponent was dealt damage this turn, the permanent enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Replicate - match: replicate cost - mode: expert - reminder: When you cast it, copy it for each time you paid its replicate cost. You may choose new targets for the copies. -keyword: - keyword: Graft - match: graft number - mode: expert - reminder: It enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever a creature enters the battlefield, you may move a +1/+1 counter from the permanent onto it. -keyword: - keyword: Forecast - match: forecast — action, Reveal name from your hand: action - mode: expert - reminder: Activate the ability only during your upkeep and only once each turn. -keyword: - keyword: Hellbent - match: Hellbent - mode: pseudo - rules: Hellbent — [effect] if you have no cards in hand. -keyword: - keyword: Recover - match: recover cost - mode: expert - reminder: When a creature is put into your graveyard from the battlefield, you may {for_mana_costs(add:"pay ",param1)}. If you do, return the card from your graveyard to your hand. Otherwise, exile this card. -keyword: - keyword: Ripple - match: ripple number - mode: expert - reminder: When you cast it, you may reveal the top {english_number_multiple(param1)} card(s) of your library. You may cast 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 cast it any time you could cast an instant. -keyword: - keyword: Split second - match: split second - mode: expert - reminder: As long as it is on the stack, players can’t cast spells or activate abilities that aren’t mana abilities. -keyword: - keyword: Suspend - match: suspend numbercost - mode: expert - reminder: Rather than cast it from your hand, you may pay {param2} and exile it 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, cast it without paying its mana cost. If it is a creature, it has haste. -keyword: - keyword: Vanishing - match: vanishing number - mode: expert - reminder: It enters the battlefield 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: Any amount of damage it deals to a creature is enough to destroy it. -keyword: - keyword: Reach - match: reach - mode: core - reminder: It can block creatures with flying. -keyword: - keyword: Gravestorm - match: gravestorm - mode: expert - reminder: When you cast 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: Damage dealt by it also causes you to gain that much life. -keyword: - keyword: Absorb - match: absorb number - mode: expert - reminder: If a source would deal damage to it, prevent {param1} of that damage. -keyword: - keyword: Fateseal - match: fateseal number - 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 cost - 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 onto the battlefield. Then shuffle your library. Transfigure only as a sorcery. -keyword: - keyword: Aura swap - match: aura swap cost - mode: expert - reminder: {param1}: Exchange it with an Aura card in your hand. -keyword: - keyword: Frenzy - match: frenzy number - 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 exile any number of cards in your graveyard as you cast it. It costs 1 less to cast for each card exiled this way. -keyword: - keyword: Poisonous - match: poisonous number - 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 cost - mode: expert - reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. It enters the battlefield unattached and stays on the battlefield if the land leaves. -keyword: - keyword: Grandeur - match: Grandeur - mode: pseudo - rules: Grandeur — Discard another card named [something]: [effect]. -keyword: - keyword: Evoke - match: evoke cost - mode: expert - reminder: You may cast it for its evoke cost. If you do, it’s sacrificed when it enters the battlefield. -keyword: - keyword: Champion - match: champion a name - mode: expert - reminder: When it enters the battlefield, sacrifice it unless you exile another {param2} you control. When it leaves the battlefield, return that card to the battlefield. -keyword: - keyword: Clash - match: clash - mode: expert - reminder: 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. -keyword: - keyword: Changeling - match: changeling - mode: expert - reminder: It is every creature type at all times. -keyword: - keyword: Hideaway - match: hideaway - mode: expert - reminder: The land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. -keyword: - keyword: Prowl - match: prowl cost - mode: expert - reminder: You may cast it for its prowl cost if you dealt combat damage to a player this turn with a creature that shares a type with it. -keyword: - keyword: Reinforce - match: reinforce numbercost - mode: expert - reminder: {param2}, Discard it: Put {english_number_a(param1)} +1/+1 counter(s) on target creature. -keyword: - keyword: Kinship - match: Kinship - mode: pseudo - rules: Kinship — At the beginning of your upkeep, you may look at the top card of your library. If that card shares a creature type with it, you may reveal it. If you do, [effect]. -keyword: - keyword: Persist - match: persist - mode: expert - reminder: When it is put into a graveyard from the battlefield, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it. -keyword: - keyword: Wither - match: wither - mode: expert - reminder: It deals damage to creatures in the form of -1/-1 counters. -keyword: - keyword: Conspire - match: conspire - mode: expert - reminder: As you cast it, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy. -keyword: - keyword: Retrace - match: retrace - mode: expert - reminder: You may cast it from your graveyard by discarding a land card in addition to paying its other costs. -keyword: - keyword: Chroma - match: Chroma - mode: pseudo - rules: Chroma — [effect] based on the number of [color] mana symbols [in graveyard, under your control, in cards you discard]. -keyword: - keyword: Unearth - match: unearth cost - mode: expert - reminder: {param1}: Return it from your graveyard to the battlefield. If it is a creature, it gains haste. Exile it at the beginning of the end step or if it would leave the battlefield. Unearth only as a sorcery. -keyword: - keyword: Devour - match: devour number - mode: expert - reminder: As it enters the battlefield, you may sacrifice any number of creatures. It enters the battlefield with { if param1.value == 1 then "" else if param1.value == 2 then "twice " else english_number(param1) + " times " }that many +1/+1 counters on it. -keyword: - keyword: Exalted - match: exalted - mode: expert - reminder: Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn. -keyword: - keyword: Domain - match: Domain - mode: pseudo - rules: Domain — [effect] for each basic land type among lands you control. -keyword: - keyword: Cascade - match: cascade - mode: expert - reminder: When you cast it, exile the top card of your library until you remove a nonland card that costs less. You may cast that card without paying its mana cost. Put the exiled cards on the bottom of your library at random. -keyword: - keyword: Intimidate - match: intimidate - mode: core - reminder: It can’t be blocked except by artifact creatures and/or creatures that share a color with it. -keyword: - keyword: Landfall - match: Landfall - mode: pseudo - rules: Landfall — Whenever a land enters the battlefield under your control, [effect]. -keyword: - keyword: Multikicker - match: multikicker cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ", param1)} any number of times as you cast it. -keyword: - keyword: Annihilator - match: annihilator number - mode: expert - reminder: Whenever it attacks, defending player sacrifices {english_number_a(param1)} permanent(s). -keyword: - keyword: Rebound - match: rebound - mode: expert - reminder: If you cast it from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast it from exile without paying its mana cost. -keyword: - keyword: Totem armor - match: totem armor - mode: expert - reminder: If enchanted creature would be destroyed, instead remove all damage from the creature and destroy it. -keyword: - keyword: Level up - match: level up cost - mode: expert - reminder: {param1}: Put a level counter on it. Level up only as a sorcery. -keyword: - keyword: Infect - match: infect - mode: expert - reminder: This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters. -keyword: - keyword: Proliferate - match: proliferate - mode: expert - reminder: You may choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there. -keyword: - keyword: Metalcraft - match: Metalcraft - mode: pseudo - rules: Metalcraft — As long as you control three or more artifacts, [effect]. -keyword: - keyword: Battlecry - match: battlecry - mode: expert - reminder: Whenever it attacks, each other attacking creature gets +1/+0 until end of turn. -keyword: - keyword: Living weapon - match: living weapon - mode: expert - reminder: When it enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach it to the creature. -keyword: - keyword: Hexproof - match: hexproof - mode: core - reminder: It can't be the target of spells or abilities your opponents control. -keyword: - keyword: Morbid - match: Morbid - mode: pseudo - rules: Morbid — If a creature died this turn, [effect]. -keyword: - keyword: Fight - match: fight - mode: action - reminder: Each deals damage equal to its power to the other. -keyword: - keyword: Undying - match: undying - mode: expert - reminder: When it dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it. -keyword: - keyword: Fateful hour - match: Fateful hour - mode: pseudo - rules: Fateful hour — As long as you have 5 or less life, [effect]. -keyword: - keyword: Miracle - match: miracle cost - mode: expert - reminder: You may cast it for its miracle cost when you draw it if it's the first card you drew this turn. -keyword: - keyword: Soulbond - match: soulbond - mode: expert - reminder: You may pair it with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them. -keyword: - keyword: Detain - match: detainenglish_numbertargetnonlandone_word - mode: action - reminder: Until your next turn, {if contains(param1.value, match:"one") or param1.value == " " then "that" else "those"} {param3} can't attack or block and its activated abilities can't be activated. -keyword: - keyword: Overload - match: overload cost - mode: expert - reminder: You may cast it for its overload cost. If you do, change its text by replacing all instances of "target" with "each". -keyword: - keyword: Unleash - match: unleash - mode: expert - reminder: You may have it enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it. -keyword: - keyword: Scavenge - match: scavenge cost - mode: expert - reminder: {param1}, Exile it from your graveyard: Put a number of +1/+1 counters equal to its power on target creature. Scavenge only as a sorcery. -keyword: - keyword: Populate - match: populate - mode: action - reminder: Put a token onto the battlefield that's a copy of a creature token you control. -keyword: - keyword: Extort - match: extort - mode: expert - reminder: Whenever you cast spell, you may pay [W/B]. If you do, each opponent loses 1 life and you gain that much life. -keyword: - keyword: Cipher - match: cipher - mode: expert - reminder: Then you may exile it encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost. -keyword: - keyword: Bloodrush - match: Bloodrush - mode: pseudo - rules: Bloodrush — [cost], Discard ~: Target attacking creature gets [effect]. -keyword: - keyword: Battalion - match: Battalion - mode: pseudo - rules: Battalion — Whenever ~ and at least two other creatures attack, [effect]. -keyword: - keyword: Evolve - match: evolve - mode: expert - reminder: Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than it, put a +1/+1 counter on it. -keyword: - keyword: Fuse - match: fuse - mode: expert - reminder: You may cast one or both halves of it from your hand. -keyword: - keyword: Indestructible - match: indestructible - mode: core - reminder: Damage and effects that say "destroy" don't destroy it. -keyword: - keyword: Hero's Reward - match: Hero's Reward - mode: pseudo -keyword: - keyword: Monstrosity - match: monstrosity number - mode: expert - reminder: If it isn’t monstrous, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes monstrous. -keyword: - keyword: Heroic - match: Heroic - mode: pseudo - rules: Whenever you cast a spell that targets ~, [effect]. -keyword: - keyword: Bestow - match: bestow cost - mode: expert - reminder: If you cast it for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature. -keyword: - keyword: Devotion - match: devotion to action - mode: action - reminder: Each {color_to_mana(param1)} in the mana costs of permanents you control counts toward your devotion to {param1}. -keyword: - keyword: Tribute - match: tribute number - mode: expert - reminder: As it enters the battlefield, an opponent of your choice may put {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Inspiration - match: Inspiration - mode: pseudo - rules: Inspiration - Whenever ~ becomes untapped, [effect]. diff --git a/data/herospath.mse-game/stats/card_type.png b/data/herospath.mse-game/stats/card_type.png deleted file mode 100644 index d2b8f49ec7..0000000000 Binary files a/data/herospath.mse-game/stats/card_type.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/illustrator.png b/data/herospath.mse-game/stats/illustrator.png deleted file mode 100644 index 86117ef672..0000000000 Binary files a/data/herospath.mse-game/stats/illustrator.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/keywords.png b/data/herospath.mse-game/stats/keywords.png deleted file mode 100644 index 4f1e07a359..0000000000 Binary files a/data/herospath.mse-game/stats/keywords.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/number.png b/data/herospath.mse-game/stats/number.png deleted file mode 100644 index 21e566f7e3..0000000000 Binary files a/data/herospath.mse-game/stats/number.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/power.png b/data/herospath.mse-game/stats/power.png deleted file mode 100644 index 2d3a81196c..0000000000 Binary files a/data/herospath.mse-game/stats/power.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/pt.png b/data/herospath.mse-game/stats/pt.png deleted file mode 100644 index 91c1aae049..0000000000 Binary files a/data/herospath.mse-game/stats/pt.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/rarity.png b/data/herospath.mse-game/stats/rarity.png deleted file mode 100644 index 62e77e4fae..0000000000 Binary files a/data/herospath.mse-game/stats/rarity.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/stylesheet.png b/data/herospath.mse-game/stats/stylesheet.png deleted file mode 100644 index 32072236a2..0000000000 Binary files a/data/herospath.mse-game/stats/stylesheet.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/text_length.png b/data/herospath.mse-game/stats/text_length.png deleted file mode 100644 index e8c7904e5b..0000000000 Binary files a/data/herospath.mse-game/stats/text_length.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/toughness.png b/data/herospath.mse-game/stats/toughness.png deleted file mode 100644 index 59a3c25d6b..0000000000 Binary files a/data/herospath.mse-game/stats/toughness.png and /dev/null differ diff --git a/data/herospath.mse-game/stats/watermark.png b/data/herospath.mse-game/stats/watermark.png deleted file mode 100644 index ba03f30b34..0000000000 Binary files a/data/herospath.mse-game/stats/watermark.png and /dev/null differ diff --git a/data/magic-archenemy.mse-style/artist_arrow.png b/data/magic-archenemy.mse-style/artist_arrow.png deleted file mode 100644 index 1b6d3c3c9b..0000000000 Binary files a/data/magic-archenemy.mse-style/artist_arrow.png and /dev/null differ diff --git a/data/magic-archenemy.mse-style/bolas/alias.png b/data/magic-archenemy.mse-style/bolas/alias.png new file mode 100644 index 0000000000..780fac5f72 Binary files /dev/null and b/data/magic-archenemy.mse-style/bolas/alias.png differ diff --git a/data/magic-archenemy.mse-style/bolas/card.png b/data/magic-archenemy.mse-style/bolas/card.png new file mode 100644 index 0000000000..65fbed5d21 Binary files /dev/null and b/data/magic-archenemy.mse-style/bolas/card.png differ diff --git a/data/magic-archenemy.mse-style/bolas/card_mask.png b/data/magic-archenemy.mse-style/bolas/card_mask.png new file mode 100644 index 0000000000..7efd65ca1d Binary files /dev/null and b/data/magic-archenemy.mse-style/bolas/card_mask.png differ diff --git a/data/magic-archenemy.mse-style/bolas/choice_image.png b/data/magic-archenemy.mse-style/bolas/choice_image.png new file mode 100644 index 0000000000..90042b634e Binary files /dev/null and b/data/magic-archenemy.mse-style/bolas/choice_image.png differ diff --git a/data/magic-archenemy.mse-style/bolas/image_mask.png b/data/magic-archenemy.mse-style/bolas/image_mask.png new file mode 100644 index 0000000000..331cddec97 Binary files /dev/null and b/data/magic-archenemy.mse-style/bolas/image_mask.png differ diff --git a/data/magic-archenemy.mse-style/bolas/pt.png b/data/magic-archenemy.mse-style/bolas/pt.png new file mode 100644 index 0000000000..c31ced9986 Binary files /dev/null and b/data/magic-archenemy.mse-style/bolas/pt.png differ diff --git a/data/magic-archenemy.mse-style/card-sample.png b/data/magic-archenemy.mse-style/card-sample.png deleted file mode 100644 index 4fac8c1959..0000000000 Binary files a/data/magic-archenemy.mse-style/card-sample.png and /dev/null differ diff --git a/data/magic-archenemy.mse-style/cardA.png b/data/magic-archenemy.mse-style/cardA.png deleted file mode 100644 index 569a140eda..0000000000 Binary files a/data/magic-archenemy.mse-style/cardA.png and /dev/null differ diff --git a/data/magic-archenemy.mse-style/cardE.png b/data/magic-archenemy.mse-style/cardE.png deleted file mode 100644 index b74db617d3..0000000000 Binary files a/data/magic-archenemy.mse-style/cardE.png and /dev/null differ diff --git a/data/magic-archenemy.mse-style/card_sample.png b/data/magic-archenemy.mse-style/card_sample.png new file mode 100644 index 0000000000..51956f9aa4 Binary files /dev/null and b/data/magic-archenemy.mse-style/card_sample.png differ diff --git a/data/magic-archenemy.mse-style/image_maskA.png b/data/magic-archenemy.mse-style/image_maskA.png deleted file mode 100644 index a4728c02f2..0000000000 Binary files a/data/magic-archenemy.mse-style/image_maskA.png and /dev/null differ diff --git a/data/magic-archenemy.mse-style/image_maskE.png b/data/magic-archenemy.mse-style/image_maskE.png deleted file mode 100644 index bd7d44d91a..0000000000 Binary files a/data/magic-archenemy.mse-style/image_maskE.png and /dev/null differ diff --git a/data/magic-archenemy.mse-style/original/alias.png b/data/magic-archenemy.mse-style/original/alias.png new file mode 100644 index 0000000000..1d768c2d8e Binary files /dev/null and b/data/magic-archenemy.mse-style/original/alias.png differ diff --git a/data/magic-archenemy.mse-style/original/card.png b/data/magic-archenemy.mse-style/original/card.png new file mode 100644 index 0000000000..b31735252b Binary files /dev/null and b/data/magic-archenemy.mse-style/original/card.png differ diff --git a/data/magic-archenemy.mse-style/original/card_mask.png b/data/magic-archenemy.mse-style/original/card_mask.png new file mode 100644 index 0000000000..4cf67ec9c8 Binary files /dev/null and b/data/magic-archenemy.mse-style/original/card_mask.png differ diff --git a/data/magic-archenemy.mse-style/original/choice_image.png b/data/magic-archenemy.mse-style/original/choice_image.png new file mode 100644 index 0000000000..9ed39909c7 Binary files /dev/null and b/data/magic-archenemy.mse-style/original/choice_image.png differ diff --git a/data/magic-archenemy.mse-style/original/image_mask.png b/data/magic-archenemy.mse-style/original/image_mask.png new file mode 100644 index 0000000000..d7c2aaff9f Binary files /dev/null and b/data/magic-archenemy.mse-style/original/image_mask.png differ diff --git a/data/magic-archenemy.mse-style/original/pt.png b/data/magic-archenemy.mse-style/original/pt.png new file mode 100644 index 0000000000..8b40679027 Binary files /dev/null and b/data/magic-archenemy.mse-style/original/pt.png differ diff --git a/data/magic-archenemy.mse-style/original/pt_spikes.png b/data/magic-archenemy.mse-style/original/pt_spikes.png new file mode 100644 index 0000000000..f178c4df5c Binary files /dev/null and b/data/magic-archenemy.mse-style/original/pt_spikes.png differ diff --git a/data/magic-archenemy.mse-style/style b/data/magic-archenemy.mse-style/style index 3ac7fe617f..dfa6fbbc40 100644 --- a/data/magic-archenemy.mse-style/style +++ b/data/magic-archenemy.mse-style/style @@ -1,350 +1,530 @@ -mse version: 2.1.2 -game: magic -short name: Archenemy -full name: ARC+Bolas -icon: card-sample.png -position hint: 90 +mse version: 2.6.0 +game: magic +short name: Archenemy +full name: Old / New +icon: card_sample.png +position hint: 900100 +installer group: magic/Satellite Games/Archenemy -version: 2024-05-30 -depends on: - package: magic.mse-game - version: 2010-05-17 + +version: 2026-02-28 depends on: - package: magic-default-image.mse-include - version: 2007-09-23 + package: magic.mse-game + version: 2014-06-25 depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 + package: magic-mana-large.mse-symbol-font + version: 2007-09-23 depends on: - package: magic-mainframe-extras.mse-include - version: 2018-01-01 + package: magic-mana-small.mse-symbol-font + version: 2007-09-23 depends on: - package: magic-future-common.mse-include - version: 2007-09-23 + package: magic-modules.mse-include + version: 2024-10-01 depends on: - package: magic-modules.mse-include - version: 2024-10-01 + package: magic-mainframe-extras.mse-include + version: 2007-09-23 -card width: 435 -card height: 621 -card dpi: 150 +card width: 744 +card height: 1039 +card dpi: 297.6 -# Original style by Pichoro -# ARC Images by Art_Freak +### blanks by Pichoro, Art_Freak, Fungustober and GenevensiS +### code by GenevensiS -# Updated style and E01 images by Fungustober ############################################################## Extra scripts + init script: - is_unsorted := {styling.remove_from_autocount} + card_shape := { if styling.count_as == "normal card" then "normal" else styling.count_as } + + swap_fonts_pt_default := + [ + name: {"Beleren Bold"}, + size: {30.0}, + color: {"black"}, + vertical: {0}, + italic: {"Beleren Bold"} + ] + + swap_fonts_body_default := + [ + name: {"MPlantin"}, + size: {if card.archenemy_frame == "original" then 21.0 else 23.0}, + color: {"black"}, + vertical: {0}, + italic: {"MPlantin-Italic"} + ] + + typeline_offset_left_1 := { if card.archenemy_frame == "original" then 54 else 48 } + typeline_offset_top_1 := { if card.archenemy_frame == "original" then 85 else 77 } + typeline_offset_width_1 := { if card.archenemy_frame == "original" then -101 else -91 } + typeline_character_limit := { if card.archenemy_frame == "original" then 34 else 30 } + rarity_offset_top_1 := { if card.archenemy_frame == "original" then 2 else 1 } + rarity_offset_size_1 := { if card.archenemy_frame == "original" then -3 else 0 } + swap_fonts_type_default := + [ + name: {"Beleren Bold"}, + size: { (if card.archenemy_frame == "original" then 21.0 else 23.0) - max(0, (length(to_text(card.type)) - typeline_character_limit()) / 3) }, + color: {"black"}, + vertical: {0}, + italic: {""} + ] + + swap_fonts_name_default := + [ + name: {"Beleren Bold"}, + size: {if card.archenemy_frame == "original" then 22 else 27}, + color: {"black"}, + vertical: {0}, + italic: {""} + ] + + invert_watermark_1 := { false } + + illustrator_brush_default := { if card.archenemy_frame == "original" then "art old" else "art" } + + is_unsorted := { styling.remove_from_autocount } + + chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -1500) else 0 } + chop_bot := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split.1 != "" then clamp(split.1, maximum: 1500, minimum: -1500) else 0 } + + popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -500) else 0 } + popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, maximum: 2000, minimum: -500) else 0 } + popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, maximum: 1500, minimum: 0) else 0 } + popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 } - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" + art_left := + { + if styling.stretch_art_to_whole_card then 0 + else if card.archenemy_frame == "original" then 42 + else 33 + } + art_top := + { + if styling.stretch_art_to_whole_card then 0 + else if card.archenemy_frame == "original" then 40 + else 33 + } + art_width := + { + if styling.stretch_art_to_whole_card then stylesheet.card_width + else if card.archenemy_frame == "original" then 658 + else 676 + } + art_height := + { + if styling.stretch_art_to_whole_card then stylesheet.card_height + else if card.archenemy_frame == "original" then 958 + else 911 + } + + art_mask := + { + crop(frame_type() + "image_mask.png", offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_height()) + } + + frame_type := + { + if card.archenemy_frame == "original" then "original/" + else "bolas/" } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - #style picker - choose_style := {if styling.scheme_style == "original" then "A" else "E"} + illustrator_brush_width := { (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * 744/375 } - choose_card := {"card" + choose_style() + ".png"} - choose_mask := {"image_mask" + choose_style() + ".png"} - watermark_include := "/magic-modules.mse-include/watermarks" + rarity_code := { "" } -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -set info style: - symbol: - variation: - name: special - border radius: 0.10 - fill type: solid - fill color: rgb(155,155,155) - border color: rgb(0,0,0) ############################################################## Extra style options + styling field: - type: choice - name: scheme style - description: What style of scheme you want. - initial: original - choice: original - choice: nicol bolas -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font + type: text + name: popout art coordinates + description: The coordinates for the popout image field, formatted as "left,top,width,height". Used to make the illustration jump in front of the frame. styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: modern - choice: modern - choice: old - choice: diagonal T + type: boolean + name: stretch art to whole card + description: Make the image span the whole card instead of just the visible part. Use this to help make popout effects. + initial: no + +include file: /magic-modules.mse-include/texts/styling_fields + +include file: /magic-modules.mse-include/watermarks/styling_fields + styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Dominaria? - initial: no + type: package choice + name: overlay + description: Should there be an overlay applied, such as foil? + match: magic-overlay-*.mse-include + required: false styling field: - type: boolean - name: remove from autocount - description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. - initial: no -include file: /magic-modules.mse-include/rarities/styling_fields + type: choice + name: count as + description: What should this card be counted as by the autocount script and stats page? + choice: normal card + choice: token + choice: emblem + choice: designation + choice: counter + choice: rulestip + choice: checklist + initial: normal card styling field: - type: choice - name: artist font color - description: Should the illustrator, copyright, and illustrator paintbrush be white or black? - choice: white - choice: black + type: boolean + name: remove from autocount + description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. + initial: yes styling field: - type: package choice - name: overlay - description: Should there be an overlay applied, such as foil? - match: magic-overlay-*.mse-include - required: false -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png + type: color + name: copyright text color + description: Color of the copyright, illustrator, card number, and set code text. + choice: white + choice: black + +include file: /magic-modules.mse-include/symbol-fonts/styling_fields + +include file: /magic-modules.mse-include/fonts/styling_fields + ############################################################## Card fields + include file: /magic-modules.mse-include/corners/card_fields -include file: /magic-modules.mse-include/information/the_list_old + +include file: /magic-modules.mse-include/watermarks/card_fields + +include file: /magic-modules.mse-include/typelines/card_fields + card style: - ############################# Background stuff - border color: - left: 0 - top: 0 - width: 435 - height: 621 - left width: 16 - right width: 15 - top width: 13 - bottom width: 15 - z index: 4 - ############################# Name line + ############################# Frame + archenemy frame: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 200 + popup style: in place + render style: image + image: { frame_type() + "card.png" } + mask: { frame_type() + "card_mask.png" } + choice images: + original: original/choice_image.png + bolas: bolas/choice_image.png + ############################# Nameline name: - left: {if choose_style() == "A" then 63 else 72} - top: {if choose_style() == "A" then 35 else 38} - width: {if choose_style() == "A" then 306 else 292} - height: {if choose_style() == "A" then 27 else 35} - alignment: {if choose_style() == "A" then "bottom center shrink-overflow" else "middle center shrink-overflow"} - padding bottom: 0 - z index: 2 + left: + script: + if card.archenemy_frame == "original" then 119 + else 137 + top: + script: + if card.archenemy_frame == "original" then 72 + else 72 + width: + script: + if card.archenemy_frame == "original" then 508 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+10 else 0) + else 472 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+10 else 0) + height: + script: + if card.archenemy_frame == "original" then 31 + else 42 + z index: 900 + alignment: { if card.casting_cost != "" then "middle left shrink-overflow" else "middle center shrink-overflow" } + font: + name: { name_font() } + italic name: { name_font_italic() } + size: { name_font_size() } + color: { name_font_color() } + shadow color: { name_shadow_color() } + shadow displacement x: -2 + shadow displacement y: 2 + #shadow displacement x: { name_shadow_displacement_x() } + #shadow displacement y: { name_shadow_displacement_y() } + casting cost: + right: + script: + if card.archenemy_frame == "original" then 626 + else 608 + top: + script: + if card.archenemy_frame == "original" then 72 + else 71 + width: + script: + max(card_style.casting_cost.content_width, 30) + height: + script: + if card.archenemy_frame == "original" then 31 + else 42 + z index: 920 + alignment: middle right shrink-overflow + always symbol: true font: - name: {if choose_style() == "A" then "Matrix" else "Beleren Bold"} - size: 16 - weight: bold - color: black + name: { casting_cost_font() } + italic name: { casting_cost_font_italic() } + size: { casting_cost_font_size() } + color: { casting_cost_font_color() } + symbol font: + name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } + size: { casting_cost_font_size() } + alias: + left: + script: + if card.archenemy_frame == "original" then 188 + else 192 + top: + script: + if card.archenemy_frame == "original" then 113 + else 123 + width: + script: + if card.archenemy_frame == "original" then 368 + else 360 + height: + script: + if card.archenemy_frame == "original" then 21 + else 21 + alignment: center middle shrink-overflow + z index: 900 + font: + name: MPlantin-Italic + size: { alias_font_size(face:1) - 1 } + style: bold + weight: bold + color: + script: + if card.archenemy_frame == "original" then "black" + else "black" ############################# Image image: - left: {if choose_style() == "A" then 26 else 0} - top: {if choose_style() == "A" then 25 else 0} - width: {if choose_style() == "A" then 383 else 435} - height: {if choose_style() == "A" then 571 else 621} - z index: 1 - mask: {choose_mask()} - ############################# Card type - type: - left: {if choose_style() == "A" then 65 else 63} - top: {if choose_style() == "A" then 406 else 402} - width: { 312 - max(21,card_style.rarity.content_width) } - height: {if choose_style() == "A" then 21 else 23} - alignment: middle left shrink-overflow - z index: 2 - font: - name: {if choose_style() == "A" then "Matrix" else "Beleren Bold"} - size: {if choose_style() == "A" then 14 else 13} - color: black - rarity: - right: 373 - top: {if choose_style() == "A" then 407 else 402} - width: 37 - height: {if choose_style() == "A" then 19 else 23} - z index: 2 - render style: image - alignment: middle right - include file: /magic-modules.mse-include/rarities/choice_images + left: { art_left() } + top: { art_top() } + width: { art_width() } + height: { art_height() } + z index: 100 + mask: { art_mask() } + mainframe image: + left: { popout_left() } + top: { popout_top() } + width: { popout_width() } + height: { popout_height() } + z index: 1010 ############################# Text box text: - left: {if choose_style() == "A" then 64 else 60} - top: 435 - width: {if choose_style() == "A" then 309 else 312} - height: 122 + left: + script: + if card.archenemy_frame == "original" then 109 + else 113 + top: + script: + if card.archenemy_frame == "original" then 731 + else 730 + width: + script: + if card.archenemy_frame == "original" then 526 + else 518 + height: + script: + if card.archenemy_frame == "original" then 206 + else 196 + z index: 900 + line height hard: 1.2 + line height line: 1.5 + line height soft: 0.9 + line height hard max: 1.3 + line height line max: 1.6 + alignment: + script: + if styling.center_text == "always" then "middle center" + else if styling.center_text == "never" then "middle left" + else if (not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) + then "middle center" + else "middle left" font: - name: MPlantin - italic name: MPlantin-Italic - size: {if choose_style() == "A" then 14 else 16} - scale down to: 7 - color: black + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } + scale down to: 7 + color: { body_font_color() } symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle left - z index: 2 - padding left: 5 - padding top: 2 - padding right: {if choose_style() == "A" then 5 else 2} - padding bottom: 2 - line height hard: 1.2 - line height line: {if choose_style() == "A" then 1.5 else 1.3} - line height soft: {if choose_style() == "A" then 1 else 0.9} - ############################# Card sorting / numbering - ############################# Copyright stuff + name: { styling.text_box_mana_symbols } + size: { body_font_size() } + scale down to: 7 + ############################# PT + pt: + left: + script: + if card.archenemy_frame == "original" then 548 + else 595 + top: + script: + if card.archenemy_frame == "original" then 906 + else 912 + width: + script: + if card.archenemy_frame == "original" then 99 + else 87 + height: + script: + if card.archenemy_frame == "original" then 39 + else 42 + z index: 900 + alignment: center middle shrink-overflow + font: + name: { pt_font() } + size: { pt_font_size() } + color: { pt_font_color() } + separator color: red + ############################# Information illustrator: - left: { if choose_style() == "A" then 99 else 245} - top: { if choose_style() == "A" then 570 else 579} - width: { if choose_style() == "A" then 267 else 121 } - height: 14 - alignment: {if choose_style() == "A" then "center" else "left bottom"} - z index: 2 + left: + script: + if card.archenemy_frame == "original" + or trim(to_text(card.card_code + card.set_code)) == "" + then max(141,378 - (card_style.illustrator_brush.width + card_style.illustrator.content_width + 6)/2) + illustrator_brush_width() + else 408 + illustrator_brush_width() + top: { if card.archenemy_frame == "original" then 956 else 967 } + right: 609 + height: 18 + z index: 900 + alignment: middle left shrink-overflow + font: + name: + script: + if card.archenemy_frame == "original" then "Beleren Bold" + else "Beleren Small Caps" + size: + script: + if card.archenemy_frame == "original" then 16 + else 18 + color: { styling.copyright_text_color } + illustrator brush: + left: + script: + if card.archenemy_frame == "original" + or trim(to_text(card.card_code + card.set_code)) == "" + then max(135,372 - (card_style.illustrator_brush.width + card_style.illustrator.content_width + 6)/2) + else 402 + top: { if card.archenemy_frame == "original" then 960 else 971 } + width: { illustrator_brush_width() } + height: { 7 * 1039/523 } + popup style: in place + include dark file: /magic.mse-game/information/menu_choice_images + render style: image + image: { illustrator_brush_image(field: 1) } + script: + shape := illustrator_brush_field(1) + image := "/magic-modules.mse-include/information/" + shape + ".png" + recolor_image(image, color: styling.copyright_text_color) + z index: 900 + card code: + left: { 202 + card_style.set_code.content_width } + top: 967 + width: { if card.archenemy_frame == "original" then 0 else max(90, card_style.card_code.content_width) } + height: 20 + z index: 900 + alignment: middle left font: - name: {if choose_style() == "A" then "Matrix" else "Beleren Small Caps Bold"} - size: {if choose_style() == "A" then 11 else 8.5} - color: {styling.artist_font_color} - # This was supposed to automatically do copyright, - # but apparently at some point, the copyright code changed - # and now it doesn't work - copyright line: - left: {if choose_style() == "A" then 67 else 0} - top: {if choose_style() == "A" then 587 else 0} - width: {if choose_style() == "A" then 296 else 0} - height: {if choose_style() == "A" then 14 else 0} - alignment: center - z index: 2 - visible: {if choose_style() == "A" then true else false} + name: Relay-Medium + size: 17 + color: { styling.copyright_text_color } + set code: + left: 194 + top: 967 + width: { if card.archenemy_frame == "original" then 0 else max(30, card_style.set_code.content_width) } + height: 20 + z index: 900 + alignment: middle left font: - name: MPlantin - size: 6 - color: {styling.artist_font_color} + name: Relay-Medium + size: 17 + color: { styling.copyright_text_color } copyright: - left: 145 - top: {if set.automatic_copyright or choose_style() == "A" then 0 else 593} - width: {if set.automatic_copyright or choose_style() == "A" then 0 else 145} - height: 14 - z index: 2 - alignment: center middle + left: + script: + if card.archenemy_frame == "original" then 135 + else 135 + top: + script: + if card.archenemy_frame == "original" then 976 + else 991 + right: + script: + if card.archenemy_frame == "original" then 609 + else 609 + height: + script: + if card.archenemy_frame == "original" then 16 + else 18 + z index: 900 + alignment: top center shrink-overflow font: - name: MPlantin - size: 7.5 - color: white - weight: bold + name: MPlantin + color: { styling.copyright_text_color } + size: + script: + if card.archenemy_frame == "original" then 12 + else 14 ############################################################## Extra card fields + extra card field: - type: choice - name: frame - choice: frame - save value: false - editable: false -extra card field: - type: choice - name: foil layer - choice: foil - save value: false - editable: false -extra card field: - type: choice - name: paintbrush - script: styling.artist_font_color - editable: false - save value: false + type: choice + name: foil layer + editable: false + save value: false + show statistics: false + choice: foil layer extra card field: - type: text - name: cardSet code - save value: false - script: - if set.automatic_card_numbers and not styling.remove_from_autocount then - forward_editor(prefix: set.set_code + " • " + set.set_language + " " + card_number_m15() + "/" + card_count_m15() + " ", field: card.card_code_text) - else - combined_editor(field1: card.custom_card_number, separator: " ", field2: card.card_code_text) + type: choice + name: alias bar + script: card.card_color + save value: false + editable: false extra card field: - type: text - name: legacy copyright - save value: false - script: - if set.automatic_card_numbers then - combined_editor(field1: set.copyright, separator: " ", field2: card.card_number) - else - forward_editor(field: set.copyright) - description: Copyright of this card and cardnumber, the default value can be changed on the 'set info' tab + type: choice + name: ptbox + editable: false + save value: false + show statistics: false + choice: ptbox extra card field: - type: text - name: auto copyright - script: set.copyright - save value: false - editable: false - show statistics: false + type: choice + name: pt spikes + editable: false + save value: false + show statistics: false + choice: pt spikes extra card style: - paintbrush: - right: { if choose_style() == "A" then 232 + ( card_style.illustrator.content_width * -0.5 ) else 243} - top: {if choose_style() == "A" then 571 else 582} - width: {if choose_style() == "A" then 35 else 11} - height: {if choose_style() == "A" then 14 else 8} - z index: 6 - render style: image - choice images: - black: {if choose_style() == "A" then "/magic-future-common.mse-include/paintbrush_black.png" else "artist_arrow.png"} - white: {if choose_style() == "A" then "/magic-future-common.mse-include/paintbrush_white.png" else "artist_arrow.png"} - frame: - left: 0 - top: 0 - width: 435 - height: 621 - z index: 0 - render style: image - image: {choose_card()} foil layer: - left: 0 - top: 0 - width: 435 - height: 621 - z index: 1050 - render style: image - image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} - cardSet code: - left: {if choose_style() == "E" then 115 else 0} - top: {if choose_style() == "E" then 579 else 0} - width: {if choose_style() == "E" then 100 else 0} - height: {if choose_style() == "E" then 14 else 0} - z index: 2 - visible: {if choose_style() == "E" then true else false} - font: - name: Relay-Medium - size: 8.5 - color: white - weight: bold - auto copyright: - left: 145 - top: {if choose_style() == "A" or set.automatic_copyright == "no" then 0 else 593} - width: {if choose_style() == "A" or set.automatic_copyright == "no" then 0 else 145} - height: 14 - z index: 2 - alignment: center middle - font: - name: MPlantin - size: 7.5 - color: white - weight: bold + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 1050 + visible: { styling.overlay != "none" and styling.overlay != "" } + render style: image + image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" } + alias bar: + left: 165 + top: 109 + width: 414 + height: 45 + z index: 199 + render style: image + visible: { card.alias != "" } + image: { frame_type() + "alias.png" } + ptbox: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 800 + visible: { card.pt != "" } + render style: image + image: { frame_type() + "pt.png" } + pt spikes: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 910 + visible: { card.pt != "" and card.archenemy_frame == "original" } + render style: image + image: original/pt_spikes.png diff --git a/data/magic-genevensis-70-token.mse-style/style b/data/magic-genevensis-70-token.mse-style/style index 9a66194037..ded8990bce 100644 --- a/data/magic-genevensis-70-token.mse-style/style +++ b/data/magic-genevensis-70-token.mse-style/style @@ -38,7 +38,7 @@ card dpi: 300 ############################################################## Extra scripts init script: - card_shape := { "normal" } + card_shape := { if styling.count_as == "normal card" then "normal" else styling.count_as } corners_default := { "diagonal" } @@ -1199,6 +1199,18 @@ styling field: # localized description: # fr: Ne pas compter cette carte dans la numérotation du Set? initial: no +styling field: + type: choice + name: count as + description: What should this card be counted as by the autocount script and stats page? + choice: normal card + choice: token + choice: emblem + choice: designation + choice: counter + choice: rulestip + choice: checklist + initial: token styling field: type: boolean name: use guild mana symbols diff --git a/data/magic-herospath.mse-style/border_mask.png b/data/magic-herospath.mse-style/border_mask.png new file mode 100644 index 0000000000..ec73b5fc49 Binary files /dev/null and b/data/magic-herospath.mse-style/border_mask.png differ diff --git a/data/magic-herospath.mse-style/card_sample.png b/data/magic-herospath.mse-style/card_sample.png new file mode 100644 index 0000000000..4fa6a61641 Binary files /dev/null and b/data/magic-herospath.mse-style/card_sample.png differ diff --git a/data/magic-herospath.mse-style/creature/card_mask.png b/data/magic-herospath.mse-style/creature/card_mask.png new file mode 100644 index 0000000000..c26696d04a Binary files /dev/null and b/data/magic-herospath.mse-style/creature/card_mask.png differ diff --git a/data/magic-herospath.mse-style/creature/emboss.png b/data/magic-herospath.mse-style/creature/emboss.png new file mode 100644 index 0000000000..ada78a92ed Binary files /dev/null and b/data/magic-herospath.mse-style/creature/emboss.png differ diff --git a/data/magic-herospath.mse-style/creature/g.png b/data/magic-herospath.mse-style/creature/g.png new file mode 100644 index 0000000000..e243fe6f04 Binary files /dev/null and b/data/magic-herospath.mse-style/creature/g.png differ diff --git a/data/magic-herospath.mse-style/creature/image_mask.png b/data/magic-herospath.mse-style/creature/image_mask.png new file mode 100644 index 0000000000..9359cda114 Binary files /dev/null and b/data/magic-herospath.mse-style/creature/image_mask.png differ diff --git a/data/magic-herospath.mse-style/creature/namebox_left.png b/data/magic-herospath.mse-style/creature/namebox_left.png new file mode 100644 index 0000000000..46fb851056 Binary files /dev/null and b/data/magic-herospath.mse-style/creature/namebox_left.png differ diff --git a/data/magic-herospath.mse-style/creature/namebox_mask_right.png b/data/magic-herospath.mse-style/creature/namebox_mask_right.png new file mode 100644 index 0000000000..712ad423c0 Binary files /dev/null and b/data/magic-herospath.mse-style/creature/namebox_mask_right.png differ diff --git a/data/magic-herospath.mse-style/creature/namebox_right.png b/data/magic-herospath.mse-style/creature/namebox_right.png new file mode 100644 index 0000000000..f2f2866a90 Binary files /dev/null and b/data/magic-herospath.mse-style/creature/namebox_right.png differ diff --git a/data/magic-herospath.mse-style/creature/p.png b/data/magic-herospath.mse-style/creature/p.png new file mode 100644 index 0000000000..190ece386a Binary files /dev/null and b/data/magic-herospath.mse-style/creature/p.png differ diff --git a/data/magic-herospath.mse-style/creature/r.png b/data/magic-herospath.mse-style/creature/r.png new file mode 100644 index 0000000000..91d2c2908a Binary files /dev/null and b/data/magic-herospath.mse-style/creature/r.png differ diff --git a/data/magic-herospath.mse-style/hero/card_mask.png b/data/magic-herospath.mse-style/hero/card_mask.png new file mode 100644 index 0000000000..b518ff6110 Binary files /dev/null and b/data/magic-herospath.mse-style/hero/card_mask.png differ diff --git a/data/magic-herospath.mse-style/hero/g.png b/data/magic-herospath.mse-style/hero/g.png new file mode 100644 index 0000000000..4361b5b22d Binary files /dev/null and b/data/magic-herospath.mse-style/hero/g.png differ diff --git a/data/magic-herospath.mse-style/hero/image_mask.png b/data/magic-herospath.mse-style/hero/image_mask.png new file mode 100644 index 0000000000..ef48dac5c4 Binary files /dev/null and b/data/magic-herospath.mse-style/hero/image_mask.png differ diff --git a/data/magic-herospath.mse-style/hero/p.png b/data/magic-herospath.mse-style/hero/p.png new file mode 100644 index 0000000000..050b8e0ca0 Binary files /dev/null and b/data/magic-herospath.mse-style/hero/p.png differ diff --git a/data/magic-herospath.mse-style/hero/r.png b/data/magic-herospath.mse-style/hero/r.png new file mode 100644 index 0000000000..5eedc10f3c Binary files /dev/null and b/data/magic-herospath.mse-style/hero/r.png differ diff --git a/data/magic-herospath.mse-style/spell/card_mask.png b/data/magic-herospath.mse-style/spell/card_mask.png new file mode 100644 index 0000000000..5a76d77ec4 Binary files /dev/null and b/data/magic-herospath.mse-style/spell/card_mask.png differ diff --git a/data/magic-herospath.mse-style/spell/g.png b/data/magic-herospath.mse-style/spell/g.png new file mode 100644 index 0000000000..53185337a5 Binary files /dev/null and b/data/magic-herospath.mse-style/spell/g.png differ diff --git a/data/magic-herospath.mse-style/spell/gchoice_image.png b/data/magic-herospath.mse-style/spell/gchoice_image.png new file mode 100644 index 0000000000..c37714ece4 Binary files /dev/null and b/data/magic-herospath.mse-style/spell/gchoice_image.png differ diff --git a/data/magic-herospath.mse-style/spell/image_mask.png b/data/magic-herospath.mse-style/spell/image_mask.png new file mode 100644 index 0000000000..811aa2a169 Binary files /dev/null and b/data/magic-herospath.mse-style/spell/image_mask.png differ diff --git a/data/magic-herospath.mse-style/spell/p.png b/data/magic-herospath.mse-style/spell/p.png new file mode 100644 index 0000000000..793e923fe5 Binary files /dev/null and b/data/magic-herospath.mse-style/spell/p.png differ diff --git a/data/magic-herospath.mse-style/spell/pchoice_image.png b/data/magic-herospath.mse-style/spell/pchoice_image.png new file mode 100644 index 0000000000..9bc9452e0a Binary files /dev/null and b/data/magic-herospath.mse-style/spell/pchoice_image.png differ diff --git a/data/magic-herospath.mse-style/spell/r.png b/data/magic-herospath.mse-style/spell/r.png new file mode 100644 index 0000000000..f17cd74a76 Binary files /dev/null and b/data/magic-herospath.mse-style/spell/r.png differ diff --git a/data/magic-herospath.mse-style/spell/rchoice_image.png b/data/magic-herospath.mse-style/spell/rchoice_image.png new file mode 100644 index 0000000000..24803555c0 Binary files /dev/null and b/data/magic-herospath.mse-style/spell/rchoice_image.png differ diff --git a/data/magic-herospath.mse-style/style b/data/magic-herospath.mse-style/style new file mode 100644 index 0000000000..aa68bc78aa --- /dev/null +++ b/data/magic-herospath.mse-style/style @@ -0,0 +1,472 @@ +mse version: 2.6.0 +game: magic +short name: Hero's Path +full name: Hero / Creature / Spell +icon: card_sample.png +position hint: 900300 +installer group: magic/Satellite Games/Hero's Path + + +version: 2026-02-28 +depends on: + package: magic.mse-game + version: 2014-06-25 +depends on: + package: magic-mana-large.mse-symbol-font + version: 2007-09-23 +depends on: + package: magic-mana-small.mse-symbol-font + version: 2007-09-23 +depends on: + package: magic-modules.mse-include + version: 2024-10-01 +depends on: + package: magic-mainframe-extras.mse-include + version: 2007-09-23 + +card width: 744 +card height: 1039 +card dpi: 297.6 + +### blanks by GenevensiS +### code by GenevensiS + +############################################################## Extra scripts + +init script: + card_shape := { if styling.count_as == "normal card" then "normal" else styling.count_as } + + swap_fonts_pt_default := + [ + name: {"Beleren Bold"}, + size: {30.0}, + color: {"black"}, + vertical: {0}, + italic: {"Beleren Bold"} + ] + + swap_fonts_body_default := + [ + name: {"MPlantin"}, + size: {28.0}, + color: {"black"}, + vertical: {0}, + italic: {"MPlantin-Italic"} + ] + + typeline_offset_top_1 := { if is_hero() then 55 else if is_creature() then 94 else -2 } + typeline_offset_left_1 := { 7 } + typeline_offset_width_1 := { -12 } + rarity_offset_top_1 := { if is_hero() then 3 else if is_creature() then 2 else 1 } + swap_fonts_type_default := + [ + name: {"Beleren Bold"}, + size: {26.0}, + color: {"black"}, + vertical: {0}, + italic: {""} + ] + + #transform_symbol_disabled_1 := { true } + #nameline_offset_top_1 := { if is_creature() then 2 else 3 } + #nameline_offset_left_1 := { if is_creature() then 50 else 3 } + #nameline_offset_width_1 := { if is_creature() then -100 else -7 } + swap_fonts_name_default := + [ + name: {if is_creature() then "MPlantin-AllCaps" else "Beleren Bold"}, + size: {30.0}, + color: {if is_creature() then "white" else "black"}, + vertical: {0}, + italic: {""} + ] + + nameline_width_increase := + { + to_int(clamp(minimum:0, maximum:250, card_style.name.content_width - 384)/2) + } + + alias_offset_top_1 := { if is_creature() then 10 else 6 } + alias_colors := { + [ + w: rgb(166, 135, 106), + u: rgb(166, 135, 106), + b: rgb(166, 135, 106), + r: rgb(166, 135, 106), + g: rgb(166, 135, 106), + a: rgb(166, 135, 106), + m: rgb(166, 135, 106), + c: rgb(166, 135, 106) + ][input] + } + + invert_watermark_1 := { false } + + illustrator_brush_default := { "art old" } + + #information_offset_top_1 := { -17 } + #information_codes_offset_left_1 := { 10 } + #information_copyright_offset_right_1 := { -15 } + #information_copyright_offset_top_1 := { 30 } + #information_copyright_offset_pt_top_1 := { if is_creature() then 0 else -26 } + + is_promo := { styling.promo } + + is_unsorted := { styling.remove_from_autocount } + + chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -1500) else 0 } + chop_bot := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split.1 != "" then clamp(split.1, maximum: 1500, minimum: -1500) else 0 } + + popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -500) else 0 } + popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, maximum: 2000, minimum: -500) else 0 } + popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, maximum: 1500, minimum: 0) else 0 } + popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 } + + art_left := + { + if styling.stretch_art_to_whole_card then 0 + else if is_hero() then 63 + else if is_creature() then 60 + else 63 + } + art_top := + { + if styling.stretch_art_to_whole_card then 0 + else if is_hero() then 122 + else if is_creature() then 120 + else 122 + } + art_width := + { + if styling.stretch_art_to_whole_card then stylesheet.card_width + else if is_hero() then 619 + else if is_creature() then 622 + else 619 + } + art_height := + { + if styling.stretch_art_to_whole_card then stylesheet.card_height + else if is_hero() then 513 + else if is_creature() then 554 + else 455 + } + + art_mask := + { + crop(frame_type() + "image_mask.png", offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_height()) + } + + is_hero := + { + styling.frame_type == "hero" or + (styling.frame_type == "auto" and lang_setting("is_hero")(card.type)) + } + is_creature := + { + styling.frame_type == "creature" or + (styling.frame_type == "auto" and lang_setting("is_creature")(card.type)) + } + frame_type := + { + if is_hero() then "hero/" + else if is_creature() then "creature/" + else "spell/" + } + frame_color := + { + if card.herospath_frame == "green" then "g.png" + else if card.herospath_frame == "red" then "r.png" + else "p.png" + } + +############################################################## Extra style options + +styling field: + type: choice + name: frame type + description: Which version of the frame should be used? + choice: auto + choice: hero + choice: creature + choice: spell +styling field: + type: text + name: popout art coordinates + description: The coordinates for the popout image field, formatted as "left,top,width,height". Used to make the illustration jump in front of the frame. +styling field: + type: boolean + name: stretch art to whole card + description: Make the image span the whole card instead of just the visible part. Use this to help make popout effects. + initial: no + +include file: /magic-modules.mse-include/texts/styling_fields + +include file: /magic-modules.mse-include/rarities/styling_fields + +include file: /magic-modules.mse-include/watermarks/styling_fields + +styling field: + type: package choice + name: overlay + description: Should there be an overlay applied, such as foil? + match: magic-overlay-*.mse-include + required: false +styling field: + type: choice + name: count as + description: What should this card be counted as by the autocount script and stats page? + choice: normal card + choice: token + choice: emblem + choice: designation + choice: counter + choice: rulestip + choice: checklist + initial: normal card +styling field: + type: boolean + name: remove from autocount + description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. + initial: yes +styling field: + type: boolean + name: promo + description: Is this card a promo card, with the "P" rarity? + initial: no +styling field: + type: color + name: copyright text color + description: Color of the copyright, illustrator, card number, and set code text. + choice: black + choice: white + +include file: /magic-modules.mse-include/symbol-fonts/styling_fields + +include file: /magic-modules.mse-include/fonts/styling_fields + +############################################################## Card fields + +include file: /magic-modules.mse-include/corners/card_fields + +include file: /magic-modules.mse-include/watermarks/card_fields + +include file: /magic-modules.mse-include/separators/card_fields + +include file: /magic-modules.mse-include/typelines/card_fields + +include file: /magic-modules.mse-include/alias/card_fields_under + +card style: + ############################# Background stuff + border color: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 200 + mask: border_mask.png + herospath frame: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 200 + popup style: in place + render style: image + image: { frame_type() + frame_color() } + mask: { frame_type() + "card_mask.png" } + choice images: + green: spell/gchoice_image.png + red: spell/rchoice_image.png + purple: spell/pchoice_image.png + ############################# Nameline + name: + left: { if is_creature() then 55 else 66 } + top: { if is_creature() then 62 else 61 } + right: { if is_creature() then 689 else 672 - max(card_style.casting_cost.content_width, 30) } + height: 42 + alignment: { if is_creature() then "middle center shrink-overflow" else "middle left shrink-overflow" } + font: + name: { name_font() } + italic name: { name_font_italic() } + size: { name_font_size() } + color: { name_font_color() } + shadow color: { name_shadow_color() } + shadow displacement x: -2 + shadow displacement y: 2 + #shadow displacement x: { name_shadow_displacement_x() } + #shadow displacement y: { name_shadow_displacement_y() } + z index: 900 + casting cost: + right: { if is_creature() then 564 + nameline_width_increase() else 681 } + top: { if is_creature() then 62 else 61 } + width: { max(card_style.casting_cost.content_width, 30) } + height: 42 + alignment: middle right shrink-overflow + always symbol: true + font: + name: { casting_cost_font() } + italic name: { casting_cost_font_italic() } + size: { casting_cost_font_size() } + color: { casting_cost_font_color() } + symbol font: + name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } + size: { casting_cost_font_size() } + z index: 920 + ############################# Image + image: + left: { art_left() } + top: { art_top() } + width: { art_width() } + height: { art_height() } + z index: 100 + mask: { art_mask() } + mainframe image: + left: { popout_left() } + top: { popout_top() } + width: { popout_width() } + height: { popout_height() } + z index: 1010 + ############################# Text box + text: + left: 70 + top: { (if is_hero() then 716 else if is_creature() then 753 else 661) + chop_top() + body_font_vertical() } + right: 671 + bottom: { (if is_creature() then 932 else 925) - chop_bot() } + z index: 900 + line height hard: 1.2 + line height line: 1.5 + line height soft: 0.9 + line height hard max: 1.3 + line height line max: 1.6 + alignment: + script: + if (styling.center_text == "short text only" and + not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) or + styling.center_text == "always" + then "middle center" + else "middle left" + font: + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } + scale down to: 7 + color: { body_font_color() } + symbol font: + name: { styling.text_box_mana_symbols } + size: { body_font_size() } + scale down to: 7 + ############################# PT + pt: + left: 571 + top: { 931 + pt_font_vertical() } + width: { if is_creature() then 100 else 0 } + height: 45 + z index: 900 + alignment: center middle shrink-overflow + font: + name: { pt_font() } + size: { pt_font_size() } + color: { pt_font_color() } + separator color: red + ############################# Information + illustrator: + left: { 58 + (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * 744/375 } + top: 954 + width: 400 + height: 25 + z index: 900 + font: + name: Matrix + size: 20 + weight: bold + color: { styling.copyright_text_color } + illustrator brush: + left: 60 + top: 961 + width: { (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * 744/375 } + height: { 7 * 1039/523 } + popup style: in place + include dark file: /magic.mse-game/information/menu_choice_images + render style: image + image: { illustrator_brush_image(field: 1) } + z index: 900 + copyright line: + left: 60 + top: 979 + width: 420 + height: 25 + z index: 900 + font: + name: MPlantin + size: 14 + color: { styling.copyright_text_color } +############################################################## Extra card fields + +extra card field: + type: choice + name: name box left + editable: false + save value: false + show statistics: false + choice: name box left +extra card field: + type: choice + name: name box right + editable: false + save value: false + show statistics: false + choice: name box right +extra card field: + type: choice + name: name box emboss + editable: false + save value: false + show statistics: false + choice: name box emboss +extra card field: + type: choice + name: foil layer + editable: false + save value: false + show statistics: false + choice: foil layer +extra card style: + name box left: + left: { 150 - nameline_width_increase() } + top: 46 + width: 444 + height: 80 + z index: 840 + visible: { is_creature() } + render style: image + image: { "creature/namebox_left.png" } + name box right: + right: { 594 + nameline_width_increase() } + top: 46 + width: 444 + height: 80 + z index: 840 + visible: { is_creature() } + render style: image + image: { "creature/namebox_right.png" } + mask: { crop("creature/namebox_mask_right.png", offset_x:136 + 2*nameline_width_increase(), offset_y:0, width:444, height:80) } + name box emboss: + left: { 368 - card_style.name.content_width/2 } + top: { card_style.name.top } + right: { 376 + card_style.name.content_width/2 } + height: { card_style.name.height } + z index: 940 + visible: { is_creature() } + render style: image + image: { set_combine("creature/emboss.png", combine: "multiply") } + foil layer: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 1050 + visible: { styling.overlay != "none" and styling.overlay != "" } + render style: image + image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" } diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/artist_arrow.png b/data/magic-m15-mainframe-planes-mini.mse-style/artist_arrow.png deleted file mode 100644 index 6c91374807..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/artist_arrow.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/bar.png b/data/magic-m15-mainframe-planes-mini.mse-style/bar.png deleted file mode 100644 index fb4e01627e..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/bar.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/card-sample.png b/data/magic-m15-mainframe-planes-mini.mse-style/card-sample.png deleted file mode 100644 index c9030a2c9c..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/card-sample.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/card.png b/data/magic-m15-mainframe-planes-mini.mse-style/card.png deleted file mode 100644 index 78c0a97698..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/card.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/card_old.png b/data/magic-m15-mainframe-planes-mini.mse-style/card_old.png deleted file mode 100644 index 3499130c23..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/card_old.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/guideline.png b/data/magic-m15-mainframe-planes-mini.mse-style/guideline.png deleted file mode 100644 index 6822a16c2e..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/guideline.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/new_filter.png b/data/magic-m15-mainframe-planes-mini.mse-style/new_filter.png deleted file mode 100644 index 634e139fd7..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/new_filter.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/old_card.png b/data/magic-m15-mainframe-planes-mini.mse-style/old_card.png deleted file mode 100644 index d5ca7f75e8..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/old_card.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/old_mask.png b/data/magic-m15-mainframe-planes-mini.mse-style/old_mask.png deleted file mode 100644 index e2d574308a..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/old_mask.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/plane_mask.png b/data/magic-m15-mainframe-planes-mini.mse-style/plane_mask.png deleted file mode 100644 index 60af262b07..0000000000 Binary files a/data/magic-m15-mainframe-planes-mini.mse-style/plane_mask.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/style b/data/magic-m15-mainframe-planes-mini.mse-style/style deleted file mode 100644 index 5065c1b73a..0000000000 --- a/data/magic-m15-mainframe-planes-mini.mse-style/style +++ /dev/null @@ -1,379 +0,0 @@ -mse version: 2.1.2 -game: magic -short name: Planechase -full name: Mini Mainframe -installer group: Magic Planes/normal style -icon: card-sample.png -position hint: 090 - -version: 2024-09-23 -depends on: - package: magic.mse-game - version: 2018-06-01 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 -depends on: - package: magic-mainframe-extras.mse-include - version: 2018-01-01 -depends on: - package: magic-modules.mse-include - version: 2024-10-01 - -card width: 523 -card height: 375 -card dpi: 150 -#By Cajun -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - - swap_fonts_name_default := [ - name: {"Beleren Bold"}, - italic: {""}, - size: {13}, - color: {"black"}, - vertical: {0} - ] - swap_fonts_type_default := [ - name: {"Beleren Bold"}, - italic: {""}, - size: {10}, - color: {"black"}, - vertical: {0} - ] - swap_fonts_body_default := [ - name: {"MPlantin"}, - italic: {"MPlantin-Italic"}, - size: { t := to_number_lax(styling.font_size); if t > 0 then t else 10 }, - color: {"black"}, - vertical: {0} - ] - - is_unsorted := {styling.remove_from_autocount} - - is_nom := {contains(card.super_type, match:"Phenomenon") } - is_old_frame := { chosen(styling.options, choice:"old frame") } - - alt_text := { not is_nom() } - alt_text_script := { - combined_editor(field1:card.rule_text, separator1:"\n", field2:card.rule_text_2) - } - card_name_for_face := { - if (set.CARDNAME_replacement == "card's type" xor reverse) - then ( - ty := to_lower(cardname_type(card["type"])) - if ty == "" then "this" - else "this " + ty - ) - else if set.CARDNAME_replacement == "card's alias" and card["alias"] != "" - then card["alias"] - else card["name"] - }@(reverse:false) - - is_loaded := { card_style.text.layout.separator[0] or else 0 > 0 } - top_box_height := { - if is_loaded() - then card_style.text.layout.separator[0] - else 45 - } - bottom_box_height := { - 90 - top_box_height() - } - - built_frame_mask := { - double_mask := if is_old_frame() then "old_mask.png" else "plane_mask.png" - filter := "new_filter.png" - - ## crop the filter - cropped := slice_crop ( - filter, - height: 375, - width: 523, - distance: top_box_height()+375+4 - ) - - masked_blend(dark:invert_image(double_mask), light:cropped, mask:double_mask) - } - - card_shape := { "mini plane card" } - - margin_left := { - if input == "text2" then 310 else 0 - } - text_filter := text_filter + { apply_margins(input, name: margin_code) } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: multiple choice - name: options - choice: old frame -styling field: - type: text - name: font size - description: Set the maximum font size. Default is 16. -styling field: - type: boolean - name: remove from autocount - description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. - initial: no -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -include file: /magic-modules.mse-include/fonts/styling_fields -styling style: - options: - render style: checklist - direction: vertical - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -include file: /magic-modules.mse-include/corners/card_fields -card style: - ############################# Name line - name: - left: 84 - top: 20 - width: 354 - height: 23 - alignment: bottom center shrink-overflow - z index: 900 - font: - name: { name_font() } - italic name: { name_font_italic() } - size: { name_font_size () } - color: { name_font_color() } - ############################# Image - image: - left: 14 - top: 13 - width: 494 - height: 349 - z index: 0 - mask: { "guideline.png" } - ############################# Card type - type: - left: 114 - top: 243 - width: 294 - height: 23 - alignment: bottom center shrink-overflow - z index: 2 - font: - name: { type_font() } - italic name: { type_font_italic() } - size: { type_font_size() } - color: { type_font_color() } - rarity: - right: 408 - top: 253 - width: 28 - height: 14 - z index: 2 - render style: image - alignment: middle right - include file: /magic-modules.mse-include/rarities/choice_images - ############################# Text box - text: - left: 62 - width: 411 - top: 268 - height: 90 - font: - name: { body_font() } - italic name: { body_font_italic() } - size: { body_font_size() } - color: { body_font_color() } - scale down to: 6 - symbol font: - name: { styling.text_box_mana_symbols } - size: { body_font_size() } - alignment: middle left - z index: 900 - line height hard: 1.2 - line height line: 1.5 - line height soft: 0.9 - line height hard max: 1.3 - line height line max: 1.6 - ############################# Copyright stuff - card code: - left: { if is_old_frame() then 161 else 49 } - top: 362 - width: 81 - height: 12 - z index: 1 - font: - name: Relay-Medium - size: 6.25 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold - set code: - left: { (if is_old_frame() then 165 else 52) + card_style.card_code.content_width } - top: 362 - width: 34 - height: 2 - z index: 900 - font: - name: Relay-Medium - size: 6.25 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold - illustrator: - left: { if is_old_frame() then 222 else card_style.set_code.left + card_style.set_code.content_width + 18 } - top: { if is_old_frame() then 354 else 362 } - width: 92 - height: 7 - z index: 900 - alignment: { if is_old_frame() then "center" else "left" } - font: - name: Beleren Small Caps Bold - size: 6 - color: { styling.copyright_text_color or else set.copyright_text_color } - copyright: - right: { if is_old_frame() then 385 else 474 } - top: 364 - width: { if set.automatic_copyright then 0 else 130 } - height: 7 - z index: 900 - alignment: middle right shrink-overflow - font: - name: MPlantin - size: 7 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: frame -extra card field: - type: text - name: auto copyright - script: set.copyright - save value: false - editable: false - show statistics: false -extra card field: - type: text - name: auto copyright - script: set.copyright - save value: false - editable: false - show statistics: false -extra card field: - type: choice - name: artist arrow - save value: false - choice: white - editable: false -extra card field: - type: choice - name: flavor bar - choice: bar - editable: false - save value: false - show statistics: false -extra card style: - background: - left: 0 - top: 0 - width: 523 - height: 375 - z index: 0 - render style: image - image: { if is_old_frame() then "old_card.png" else "card.png" } - mask: { if is_nom() then "" else built_frame_mask() } - chaos symbol: - left: 62 - top: { 268 + top_box_height() + 0.5*bottom_box_height() - 11 } - width: { 1.15*min(22, bottom_box_height()) } - height: { min(22, bottom_box_height()) } - z index: 720 - visible: { not is_nom() } - render style: image - image: /magic-mana-small.mse-symbol-font/mana_chaos.png - artist arrow: - left: { if is_old_frame() then 256 - card_style.illustrator.content_width * 0.5 else card_style.set_code.left + card_style.set_code.content_width + 5 } - top: { if is_old_frame() then 356 else 364 } - width: 10 - height: 6 - z index: 6 - render style: image - image: artist_arrow.png - auto copyright: - right: { if is_old_frame() then 385 else 474 } - top: 364 - width: { if set.automatic_copyright then 130 else 0 } - height: 7 - z index: 900 - alignment: middle right shrink-overflow - font: - name: Matrix - size: 7 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold - flavor bar: - left: 0 - top: { bar_equation() } - width: 523 - height: 1 - z index: 1 - render style: image - image: bar.png - visible: { card.rule_text != "" and remove_tags(card.flavor_text) != "" and set.use_flavor_bar and is_nom() } diff --git a/data/magic-m15-mainframe-planes.mse-style/artist_arrow.png b/data/magic-m15-mainframe-planes.mse-style/artist_arrow.png deleted file mode 100644 index 6c91374807..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/artist_arrow.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/bar.png b/data/magic-m15-mainframe-planes.mse-style/bar.png deleted file mode 100644 index fb4e01627e..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/bar.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/card-sample.png b/data/magic-m15-mainframe-planes.mse-style/card-sample.png deleted file mode 100644 index c9030a2c9c..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/card-sample.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/card.png b/data/magic-m15-mainframe-planes.mse-style/card.png deleted file mode 100644 index c51d48e713..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/card.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/card_old.png b/data/magic-m15-mainframe-planes.mse-style/card_old.png deleted file mode 100644 index 3499130c23..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/card_old.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/guideline.png b/data/magic-m15-mainframe-planes.mse-style/guideline.png deleted file mode 100644 index 6e22a81bcb..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/guideline.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/new_filter.png b/data/magic-m15-mainframe-planes.mse-style/new_filter.png deleted file mode 100644 index f4d85d92de..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/new_filter.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/old_card.png b/data/magic-m15-mainframe-planes.mse-style/old_card.png deleted file mode 100644 index d5ca7f75e8..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/old_card.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/old_mask.png b/data/magic-m15-mainframe-planes.mse-style/old_mask.png deleted file mode 100644 index 563e913749..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/old_mask.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/plane_mask.png b/data/magic-m15-mainframe-planes.mse-style/plane_mask.png deleted file mode 100644 index e1421cfa44..0000000000 Binary files a/data/magic-m15-mainframe-planes.mse-style/plane_mask.png and /dev/null differ diff --git a/data/magic-m15-mainframe-planes.mse-style/style b/data/magic-m15-mainframe-planes.mse-style/style deleted file mode 100644 index 6584dc85d6..0000000000 --- a/data/magic-m15-mainframe-planes.mse-style/style +++ /dev/null @@ -1,379 +0,0 @@ -mse version: 2.1.2 -game: magic -short name: Planechase -full name: Mainframe Update -installer group: Magic Planes/normal style -icon: card-sample.png -position hint: 090 - -version: 2024-09-23 -depends on: - package: magic.mse-game - version: 2018-06-01 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 -depends on: - package: magic-mainframe-extras.mse-include - version: 2018-01-01 -depends on: - package: magic-modules.mse-include - version: 2024-10-01 - -card width: 800 -card height: 559 -card dpi: 150 -#By Cajun -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - - swap_fonts_name_default := [ - name: {"Beleren Bold"}, - italic: {""}, - size: {19}, - color: {"black"}, - vertical: {0} - ] - swap_fonts_body_default := [ - name: {"MPlantin"}, - italic: {"MPlantin-Italic"}, - size: { t := to_number_lax(styling.font_size); if t > 0 then t else 16 }, - color: {"black"}, - vertical: {0} - ] - swap_fonts_type_default := [ - name: {"Beleren Bold"}, - italic: {""}, - size: {14}, - color: {"black"}, - vertical: {0} - ] - - is_unsorted := {styling.remove_from_autocount} - - is_nom := {contains(card.super_type, match:"Phenomenon") } - is_old_frame := { chosen(styling.options, choice:"old frame") } - - alt_text := { not is_nom() } - alt_text_script := { - combined_editor(field1:card.rule_text, separator1:"\n", field2:card.rule_text_2) - } - card_name_for_face := { - if (set.CARDNAME_replacement == "card's type" xor reverse) - then ( - ty := to_lower(cardname_type(card["type"])) - if ty == "" then "this" - else "this " + ty - ) - else if set.CARDNAME_replacement == "card's alias" and card["alias"] != "" - then card["alias"] - else card["name"] - }@(reverse:false) - - is_loaded := { card_style.text.layout.separator[0] or else 0 > 0 } - top_box_height := { - if is_loaded() - then card_style.text.layout.separator[0] - else 56 - } - bottom_box_height := { - 116 - top_box_height() - } - - built_frame_mask := { - double_mask := if is_old_frame() then "old_mask.png" else "plane_mask.png" - filter := "new_filter.png" - - ## crop the filter - cropped := slice_crop ( - filter, - height: 559, - width: 800, - distance: top_box_height()+559+9 - ) - - masked_blend(dark:invert_image(double_mask), light:cropped, mask:double_mask) - } - - card_shape := { "plane card" } - - margin_left := { - if input == "text2" then 480 else 0 - } - text_filter := text_filter + { apply_margins(input, name: margin_code) } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: multiple choice - name: options - choice: old frame -styling field: - type: text - name: font size - description: Set the maximum font size. Default is 16. -styling field: - type: boolean - name: remove from autocount - description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. - initial: no -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -include file: /magic-modules.mse-include/fonts/styling_fields -styling style: - options: - render style: checklist - direction: vertical - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -include file: /magic-modules.mse-include/corners/card_fields -card style: - ############################# Name line - name: - left: 129 - top: 29 - width: 542 - height: 34 - alignment: bottom center shrink-overflow - z index: 900 - font: - name: { name_font() } - italic name: { name_font_italic() } - size: { name_font_size () } - color: { name_font_color() } - ############################# Image - image: - left: 22 - top: 20 - width: 755 - height: 519 - z index: 0 - mask: { "guideline.png" } - ############################# Card type - type: - left: 176 - top: 362 - width: 450 - height: 34 - alignment: bottom center shrink-overflow - z index: 2 - font: - name: { type_font() } - italic name: { type_font_italic() } - size: { type_font_size() } - color: { type_font_color() } - rarity: - right: 624 - top: 377 - width: 43 - height: 21 - z index: 2 - render style: image - alignment: middle right - include file: /magic-modules.mse-include/rarities/choice_images - ############################# Text box - text: - left: 95 - width: 613 - top: 402 - height: 130 - font: - name: { body_font() } - italic name: { body_font_italic() } - size: { body_font_size() } - color: { body_font_color() } - scale down to: 6 - symbol font: - name: { styling.text_box_mana_symbols } - size: { body_font_size() } - alignment: middle left - z index: 900 - line height hard: 1.2 - line height line: 1.5 - line height soft: 0.9 - line height hard max: 1.3 - line height line max: 1.6 - ############################# Copyright stuff - card code: - left: { if is_old_frame() then 270 else 75 } - top: 542 - width: 120 - height: 19 - z index: 1 - font: - name: Relay-Medium - size: 7 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold - set code: - left: { (if is_old_frame() then 275 else 80) + card_style.card_code.content_width } - top: 542 - width: 50 - height: 19 - z index: 900 - font: - name: Relay-Medium - size: 7 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold - illustrator: - left: { if is_old_frame() then 340 else card_style.set_code.left + card_style.set_code.content_width + 25 } - top: { if is_old_frame() then 528 else 542 } - width: 140 - height: 10 - z index: 900 - alignment: { if is_old_frame() then "center" else "left" } - font: - name: Beleren Small Caps Bold - size: 7.25 - color: { styling.copyright_text_color or else set.copyright_text_color } - copyright: - right: { if is_old_frame() then 530 else 725 } - top: 542 - width: { if set.automatic_copyright then 0 else 150 } - height: 10 - z index: 900 - alignment: middle right shrink-overflow - font: - name: MPlantin - size: 8 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: frame -extra card field: - type: text - name: auto copyright - script: set.copyright - save value: false - editable: false - show statistics: false -extra card field: - type: text - name: auto copyright - script: set.copyright - save value: false - editable: false - show statistics: false -extra card field: - type: choice - name: artist arrow - save value: false - choice: white - editable: false -extra card field: - type: choice - name: flavor bar - choice: bar - editable: false - save value: false - show statistics: false -extra card style: - background: - left: 0 - top: 0 - width: 800 - height: 559 - z index: 0 - render style: image - image: { if is_old_frame() then "old_card.png" else "card.png" } - mask: { if is_nom() then "" else built_frame_mask() } - chaos symbol: - left: 95 - top: { 410 + top_box_height() + 0.5*bottom_box_height() - 17 } - width: { 1.15*min(34, bottom_box_height()) } - height: { min(34, bottom_box_height()) } - z index: 720 - visible: { not is_nom() } - render style: image - image: /magic-mana-small.mse-symbol-font/mana_chaos.png - artist arrow: - left: { if is_old_frame() then 395 - card_style.illustrator.content_width * 0.5 else card_style.set_code.left + card_style.set_code.content_width + 10 } - top: { if is_old_frame() then 531 else 545 } - width: 12 - height: 7 - z index: 6 - render style: image - image: artist_arrow.png - auto copyright: - right: { if is_old_frame() then 530 else 725 } - top: 542 - width: { if set.automatic_copyright then 150 else 0 } - height: 10 - z index: 900 - alignment: middle right shrink-overflow - font: - name: Matrix - size: 8 - color: { styling.copyright_text_color or else set.copyright_text_color } - weight: bold - flavor bar: - left: 0 - top: { bar_equation() } - width: 800 - height: 1 - z index: 1 - render style: image - image: bar.png - visible: { card.rule_text != "" and remove_tags(card.flavor_text) != "" and set.use_flavor_bar and is_nom() } diff --git a/data/magic-m15-vanguard.mse-style/artist_arrow.png b/data/magic-m15-vanguard.mse-style/artist_arrow.png deleted file mode 100644 index 5d30c72a79..0000000000 Binary files a/data/magic-m15-vanguard.mse-style/artist_arrow.png and /dev/null differ diff --git a/data/magic-m15-vanguard.mse-style/bar.png b/data/magic-m15-vanguard.mse-style/bar.png deleted file mode 100644 index 0198a68a47..0000000000 Binary files a/data/magic-m15-vanguard.mse-style/bar.png and /dev/null differ diff --git a/data/magic-m15-vanguard.mse-style/border_mask.png b/data/magic-m15-vanguard.mse-style/border_mask.png deleted file mode 100644 index c32d0c5865..0000000000 Binary files a/data/magic-m15-vanguard.mse-style/border_mask.png and /dev/null differ diff --git a/data/magic-m15-vanguard.mse-style/card-sample.png b/data/magic-m15-vanguard.mse-style/card-sample.png deleted file mode 100644 index 3d9f87665b..0000000000 Binary files a/data/magic-m15-vanguard.mse-style/card-sample.png and /dev/null differ diff --git a/data/magic-m15-vanguard.mse-style/foil_mask.png b/data/magic-m15-vanguard.mse-style/foil_mask.png deleted file mode 100644 index db7c6a6b1c..0000000000 Binary files a/data/magic-m15-vanguard.mse-style/foil_mask.png and /dev/null differ diff --git a/data/magic-m15-vanguard.mse-style/foil_mask_rare.png b/data/magic-m15-vanguard.mse-style/foil_mask_rare.png deleted file mode 100644 index df36070f22..0000000000 Binary files a/data/magic-m15-vanguard.mse-style/foil_mask_rare.png and /dev/null differ diff --git a/data/magic-m15-vanguard.mse-style/frame.png b/data/magic-m15-vanguard.mse-style/frame.png deleted file mode 100644 index b9d281ebd7..0000000000 Binary files a/data/magic-m15-vanguard.mse-style/frame.png and /dev/null differ diff --git a/data/magic-m15-vanguard.mse-style/style b/data/magic-m15-vanguard.mse-style/style deleted file mode 100644 index d4402e3adc..0000000000 --- a/data/magic-m15-vanguard.mse-style/style +++ /dev/null @@ -1,435 +0,0 @@ -mse version: 2.0.0 -game: magic -short name: Vanguard -full name: New Vanguards -icon: card-sample.png -installer group: magic/m15 style/promotional/dark ascension -position hint: 089 - -version: 2024-09-01 -depends on: - package: magic.mse-game - version: 2014-06-25 -depends on: - package: magic-default-image.mse-include - version: 2007-09-23 -depends on: - package: magic-modules.mse-include - version: 2024-10-01 -depends on: - package: magic-mana-large.mse-symbol-font - version: 2007-09-23 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 - -card width: 375 -card height: 523 -card dpi: 150 -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - - template_prefix := [card: "" pt: "" stamp: "" identity: "/magic-modules.mse-include/indicators/"] - template_suffix := [card: "card.jpg" pt: "pt.png", stamp: "stamp.jpg" identity: "identity.png"] - template := { template_prefix[type] + input + template_suffix[type] } - land_template := { template_prefix[type] + (if input == "a" then "c" else input) + "l" + template_suffix[type] } - # Use land templates for previews because they show more contrast - hybrid_previews := "land,hybrid" - - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - - # Is the card a promo card? - is_promo := { styling.promo } - comma_count := filter_text@(match:",") - is_token := { styling.token == "text" or styling.token == "textless" } - is_blank_token := { styling.token == "textless" } - ancestral_mana := { styling.ancestral_mana_symbols } - - shrink_type := {if styling.shrink_typeline_text != "" then to_int(styling.shrink_typeline_text) else 0 } - shrink_name := {if styling.shrink_name_text != "" then to_int(styling.shrink_name_text) else 0 } - watermark_include := "/magic-modules.mse-include/watermarks" -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: text - name: chop top - description: Shrinks the textbox from the top. -styling field: - type: text - name: chop bottom - description: Shrinks the textbox from the bottom. -styling field: - type: text - name: shrink name text - description: Reduces the name text N points. -styling field: - type: text - name: shrink typeline text - description: Reduces the typeline text N points. -styling field: - type: boolean - name: ancestral mana symbols - description: Enables ancestral's modified generic mana. - initial: no -include file: /magic-modules.mse-include/rarities/styling_fields -styling field: - type: boolean - name: grey hybrid name - description: Use a grey background for the name and type line on hybrid cards. This is done on real cards. -styling field: - type: boolean - name: colored multicolor land name - description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards. -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: modern - choice: modern - choice: old - choice: diagonal T -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: center text - description: When to center text (short text only means only on one-line cards with no flavor text) - choice: always - choice: short text only - choice: never - initial: never -styling field: - type: boolean - name: promo - description: Is this card a promo card, with the "P" rarity? - initial: yes -styling field: - type: boolean - name: stamp - description: Force this card to have a holofoil promotional stamp? - initial: yes -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling field: - type: package choice - name: overlay - description: Should there be an overlay applied, such as foil? - match: magic-overlay-*.mse-include - required: false -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-large.mse-symbol-font/mana_t.png - old: /magic-mana-large.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png - center text: - render style: both - choice images: - always: /magic.mse-game/icons/center-all-text.png - short text only: /magic.mse-game/icons/center-short-text.png - never: /magic.mse-game/icons/center-no-text.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -include file: /magic-modules.mse-include/corners/card_fields -include file: /magic-modules.mse-include/watermarks/card_fields -include file: /magic-modules.mse-include/separators/card_fields -card style: - ############################# Background stuff - border color: - left: 0 - top : 0 - width: 375 - height: 523 - radius: 18 - left width: 17 - right width: 17 - top width: 17 - bottom width: 18 - z index: 1 - mask: border_mask.png - ############################# Name line - name: - left: 52 - top: 28 - width: 272 - height: {24-(0.5*shrink_name())} - alignment: middle center shrink-overflow - padding bottom: 0 - z index: 5 - font: - name: Beleren Bold - size: {16-shrink_name()} - color: black - ############################# Image - image: - left: 41 - top: 60 - width: 293 - height: 241 - z index: 1 - ############################# Card type - type: - left: 43 - top: {304+(0.5*shrink_type())} - width: 292 - height: {22-shrink_type()} - alignment: top shrink-overflow - z index: 3 - padding top: 2 - font: - name: Beleren Bold - size: {13-shrink_type()} - color: black - separator color: red - ############################# Text box - text: - left: 42 - top: { if styling.chop_top != "" then (337 - (-styling.chop_top)) else 337 } - width: 291 - bottom: { if styling.chop_bottom != "" then (461 - styling.chop_bottom) else 461 } - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: - script: - if (styling.center_text == "short text only" and - not contains(match:"\n", card.rule_text) and - card.flavor_text == "" and - card_style.text.content_lines <= 2) or - styling.center_text == "always" - then "middle center" - else "middle left" - z index: 900 - padding left: 6 - padding right: 4 - line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.9 - line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 } - line height line max: 1.6 - ############################# PT - power: - z index: -4 - left: 81 - top: 472 - width: 38 - height: 20 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: 16 - color: black - toughness: - z index: -4 - left: 256 - top: 472 - width: 38 - height: 20 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: 16 - color: black - ############################# Card sorting / numbering - set code: - left: 74 - top: 500 - width: 40 - height: 10 - z index: 5 - font: - name: Relay-Medium - size: 7 - color: white - weight: bold - ############################# Copyright stuff - illustrator: - left: 150 - top: 490 - width: 95 - height: 10 - z index: 5 - font: - name: Beleren Small Caps Bold - size: 7.25 - color: white - copyright: - right: 350 - top: 500 - width: {if set.automatic_copyright then 140 else 0} - height: 10 - z index: 5 - alignment: middle right shrink-overflow - font: - name: Relay-Medium - size: 7 - color: white - weight: bold -############################################################## Extra card fields -extra card field: - type: text - name: card code - save value: false - script: card_code_script() -extra card field: - type: choice - name: artist arrow - editable: false - save value: false - choice: white -extra card field: - type: text - name: auto copyright - script: set.copyright - editable: false - save value: false -extra card field: - type: choice - name: foil layer - choice: foil - save value: false - editable: false -extra card field: - type: choice - name: frame - script: "frame" - editable: false - save value: false -extra card field: - type: choice - name: background - choice: background - editable: false - save value: false -extra card field: - type: choice - name: glow - choice: glow - editable: false - save value: false -extra card field: - type: text - name: hand modifier - editable: true - save value: false - script: forward_editor(field:card.power) - description: The hand modifier for the card -extra card field: - type: text - name: life modifier - editable: true - save value: false - script: forward_editor(field:card.toughness) - description: The life modifier for the card - -extra card style: - card code: - left: 24 - top: 500 - width: 120 - height: 10 - z index: 5 - font: - name: Relay-Medium - size: 7 - color: white - weight: bold - artist arrow: - left: 134 - top: 492 - width: 12 - height: 7 - z index: 5 - render style: image - image: artist_arrow.png - auto copyright: - right: 350 - top: 500 - width: {if set.automatic_copyright then 0 else 140} - height: 10 - z index: 5 - alignment: middle right shrink-overflow - font: - name: Relay-Medium - size: 7 - color: white - weight: bold - foil layer: - left: 0 - top : 0 - width: 375 - height: 523 - z index: 1050 - render style: image - image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} - mask: { if is_rare() or styling.stamp then "foil_mask_rare.png" else "foil_mask.png" } - frame: - left: 0 - top: 0 - width: 375 - height: 523 - z index: 0 - render style: image - image: frame.png - hand modifier: - z index: 4 - left: 81 - top: 472 - width: 38 - height: 20 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: 16 - color: black - life modifier: - z index: 4 - left: 256 - top: 472 - width: 38 - height: 20 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: 16 - color: black diff --git a/data/magic-modules.mse-include/corners/1488x1039 diagonal.png b/data/magic-modules.mse-include/corners/1488x1039 diagonal.png new file mode 100644 index 0000000000..b2c30db9e7 Binary files /dev/null and b/data/magic-modules.mse-include/corners/1488x1039 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/1488x1039 rounded and antialiased.png b/data/magic-modules.mse-include/corners/1488x1039 rounded and antialiased.png new file mode 100644 index 0000000000..b09d533aeb Binary files /dev/null and b/data/magic-modules.mse-include/corners/1488x1039 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/1488x1039 rounded.png b/data/magic-modules.mse-include/corners/1488x1039 rounded.png new file mode 100644 index 0000000000..f3e7ccd00d Binary files /dev/null and b/data/magic-modules.mse-include/corners/1488x1039 rounded.png differ diff --git a/data/magic-modules.mse-include/information/readme.txt b/data/magic-modules.mse-include/information/readme.txt index c53edf274b..c997fe0b41 100644 --- a/data/magic-modules.mse-include/information/readme.txt +++ b/data/magic-modules.mse-include/information/readme.txt @@ -71,6 +71,9 @@ information_copyright_offset_pt_top_1 := { 0 } #### To shift the secondary copyright left/right on creatures/walkers, if the pt/loyalty box is very narrow/wide: information_secondary_offset_pt_left_1 := { 0 } +#### If the presence of pt/loyalty doesn't affect the secondary copyright position: +information_secondary_shift_with_pt_1 := { false } + #### For the other faces on DFC or TFC templates, use: information_offset_top_2 := { 0 } information_codes_offset_left_2 := { 0 } diff --git a/data/magic-modules.mse-include/watermarks/choices b/data/magic-modules.mse-include/watermarks/choices index 65f018ddab..5809bd38ff 100644 --- a/data/magic-modules.mse-include/watermarks/choices +++ b/data/magic-modules.mse-include/watermarks/choices @@ -214,6 +214,18 @@ choice: choice: akros choice: meletis choice: setessa + line below: true + choice: + name: hero's path quest + choice: 1 + choice: 2 + choice: 3 + choice: 4 + choice: 5 + choice: 6 + choice: 7 + choice: 8 + choice: 9 choice: name: alara symbols choice: Bant diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest1.png b/data/magic-modules.mse-include/watermarks/herospath/quest1.png new file mode 100644 index 0000000000..eae8028a30 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest1.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest2.png b/data/magic-modules.mse-include/watermarks/herospath/quest2.png new file mode 100644 index 0000000000..24f6ae9f1c Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest2.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest3.png b/data/magic-modules.mse-include/watermarks/herospath/quest3.png new file mode 100644 index 0000000000..dae3d4d752 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest3.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest4.png b/data/magic-modules.mse-include/watermarks/herospath/quest4.png new file mode 100644 index 0000000000..cd5823f9af Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest4.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest5.png b/data/magic-modules.mse-include/watermarks/herospath/quest5.png new file mode 100644 index 0000000000..b9baea9112 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest5.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest6.png b/data/magic-modules.mse-include/watermarks/herospath/quest6.png new file mode 100644 index 0000000000..6a6d489e80 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest6.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest7.png b/data/magic-modules.mse-include/watermarks/herospath/quest7.png new file mode 100644 index 0000000000..b617214d42 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest7.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest8.png b/data/magic-modules.mse-include/watermarks/herospath/quest8.png new file mode 100644 index 0000000000..20d04f2f29 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest8.png differ diff --git a/data/magic-modules.mse-include/watermarks/herospath/quest9.png b/data/magic-modules.mse-include/watermarks/herospath/quest9.png new file mode 100644 index 0000000000..35f43ea4a7 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/herospath/quest9.png differ diff --git a/data/magic-planechase.mse-style/border.png b/data/magic-planechase.mse-style/border.png new file mode 100644 index 0000000000..543c5c308d Binary files /dev/null and b/data/magic-planechase.mse-style/border.png differ diff --git a/data/magic-planechase.mse-style/card_sample.png b/data/magic-planechase.mse-style/card_sample.png new file mode 100644 index 0000000000..850cbbdcb3 Binary files /dev/null and b/data/magic-planechase.mse-style/card_sample.png differ diff --git a/data/magic-planechase.mse-style/cbg/alias.png b/data/magic-planechase.mse-style/cbg/alias.png new file mode 100644 index 0000000000..d0b8b452c3 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/alias.png differ diff --git a/data/magic-planechase.mse-style/cbg/alias_none.png b/data/magic-planechase.mse-style/cbg/alias_none.png new file mode 100644 index 0000000000..2e09410839 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/alias_none.png differ diff --git a/data/magic-planechase.mse-style/cbg/backdrop.png b/data/magic-planechase.mse-style/cbg/backdrop.png new file mode 100644 index 0000000000..83226275c1 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/backdrop.png differ diff --git a/data/magic-planechase.mse-style/cbg/card.png b/data/magic-planechase.mse-style/cbg/card.png new file mode 100644 index 0000000000..8ea9246960 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/card.png differ diff --git a/data/magic-planechase.mse-style/cbg/card_extended.png b/data/magic-planechase.mse-style/cbg/card_extended.png new file mode 100644 index 0000000000..2ca890b088 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/card_extended.png differ diff --git a/data/magic-planechase.mse-style/cbg/card_mask.png b/data/magic-planechase.mse-style/cbg/card_mask.png new file mode 100644 index 0000000000..a3a4e2e60a Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/card_mask.png differ diff --git a/data/magic-planechase.mse-style/cbg/choice_image.png b/data/magic-planechase.mse-style/cbg/choice_image.png new file mode 100644 index 0000000000..30249628a7 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/choice_image.png differ diff --git a/data/magic-planechase.mse-style/cbg/copyright.png b/data/magic-planechase.mse-style/cbg/copyright.png new file mode 100644 index 0000000000..03a7cdd5e8 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/copyright.png differ diff --git a/data/magic-planechase.mse-style/cbg/copyright_extended.png b/data/magic-planechase.mse-style/cbg/copyright_extended.png new file mode 100644 index 0000000000..1c1e159167 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/copyright_extended.png differ diff --git a/data/magic-planechase.mse-style/cbg/copyright_extended_round.png b/data/magic-planechase.mse-style/cbg/copyright_extended_round.png new file mode 100644 index 0000000000..2246ffd807 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/copyright_extended_round.png differ diff --git a/data/magic-planechase.mse-style/cbg/copyright_round.png b/data/magic-planechase.mse-style/cbg/copyright_round.png new file mode 100644 index 0000000000..ab3c6cbd47 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/copyright_round.png differ diff --git a/data/magic-planechase.mse-style/cbg/image_mask.png b/data/magic-planechase.mse-style/cbg/image_mask.png new file mode 100644 index 0000000000..bf6e8b2631 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/image_mask.png differ diff --git a/data/magic-planechase.mse-style/cbg/pt.png b/data/magic-planechase.mse-style/cbg/pt.png new file mode 100644 index 0000000000..fa5211bc62 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/pt.png differ diff --git a/data/magic-planechase.mse-style/cbg/textbox.png b/data/magic-planechase.mse-style/cbg/textbox.png new file mode 100644 index 0000000000..a88b52ed03 Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/textbox.png differ diff --git a/data/magic-planechase.mse-style/cbg/textbox_full.png b/data/magic-planechase.mse-style/cbg/textbox_full.png new file mode 100644 index 0000000000..fd9f3faafa Binary files /dev/null and b/data/magic-planechase.mse-style/cbg/textbox_full.png differ diff --git a/data/magic-planechase.mse-style/chaos_symbol.png b/data/magic-planechase.mse-style/chaos_symbol.png new file mode 100644 index 0000000000..f93d2ee6dd Binary files /dev/null and b/data/magic-planechase.mse-style/chaos_symbol.png differ diff --git a/data/magic-planechase.mse-style/mom/alias.png b/data/magic-planechase.mse-style/mom/alias.png new file mode 100644 index 0000000000..75d3349062 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/alias.png differ diff --git a/data/magic-planechase.mse-style/mom/alias_none.png b/data/magic-planechase.mse-style/mom/alias_none.png new file mode 100644 index 0000000000..72146cb1b5 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/alias_none.png differ diff --git a/data/magic-planechase.mse-style/mom/aliasbox.png b/data/magic-planechase.mse-style/mom/aliasbox.png new file mode 100644 index 0000000000..16e69a1d6c Binary files /dev/null and b/data/magic-planechase.mse-style/mom/aliasbox.png differ diff --git a/data/magic-planechase.mse-style/mom/card.png b/data/magic-planechase.mse-style/mom/card.png new file mode 100644 index 0000000000..d5e1d9d0c6 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/card.png differ diff --git a/data/magic-planechase.mse-style/mom/card_extended.png b/data/magic-planechase.mse-style/mom/card_extended.png new file mode 100644 index 0000000000..f1efb2c77f Binary files /dev/null and b/data/magic-planechase.mse-style/mom/card_extended.png differ diff --git a/data/magic-planechase.mse-style/mom/card_mask.png b/data/magic-planechase.mse-style/mom/card_mask.png new file mode 100644 index 0000000000..e165404db1 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/card_mask.png differ diff --git a/data/magic-planechase.mse-style/mom/choice_image.png b/data/magic-planechase.mse-style/mom/choice_image.png new file mode 100644 index 0000000000..67c076f04a Binary files /dev/null and b/data/magic-planechase.mse-style/mom/choice_image.png differ diff --git a/data/magic-planechase.mse-style/mom/copyright.png b/data/magic-planechase.mse-style/mom/copyright.png new file mode 100644 index 0000000000..695483de9d Binary files /dev/null and b/data/magic-planechase.mse-style/mom/copyright.png differ diff --git a/data/magic-planechase.mse-style/mom/copyright_round.png b/data/magic-planechase.mse-style/mom/copyright_round.png new file mode 100644 index 0000000000..329ef03fd5 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/copyright_round.png differ diff --git a/data/magic-planechase.mse-style/mom/girders.png b/data/magic-planechase.mse-style/mom/girders.png new file mode 100644 index 0000000000..b9000ba9c9 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/girders.png differ diff --git a/data/magic-planechase.mse-style/mom/image_mask.png b/data/magic-planechase.mse-style/mom/image_mask.png new file mode 100644 index 0000000000..e9605a8834 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/image_mask.png differ diff --git a/data/magic-planechase.mse-style/mom/namebox.png b/data/magic-planechase.mse-style/mom/namebox.png new file mode 100644 index 0000000000..fe5734f050 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/namebox.png differ diff --git a/data/magic-planechase.mse-style/mom/pt.png b/data/magic-planechase.mse-style/mom/pt.png new file mode 100644 index 0000000000..fce6206f91 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/pt.png differ diff --git a/data/magic-planechase.mse-style/mom/textbox.png b/data/magic-planechase.mse-style/mom/textbox.png new file mode 100644 index 0000000000..aaeb7a7b19 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/textbox.png differ diff --git a/data/magic-planechase.mse-style/mom/typebox.png b/data/magic-planechase.mse-style/mom/typebox.png new file mode 100644 index 0000000000..60c406cbe8 Binary files /dev/null and b/data/magic-planechase.mse-style/mom/typebox.png differ diff --git a/data/magic-planechase.mse-style/style b/data/magic-planechase.mse-style/style new file mode 100644 index 0000000000..026d5e3de7 --- /dev/null +++ b/data/magic-planechase.mse-style/style @@ -0,0 +1,921 @@ +mse version: 2.6.0 +game: magic +short name: Planechase +full name: Old / New / Custom +icon: card_sample.png +position hint: 900000 +installer group: magic/Satellite Games/Planechase + + +version: 2026-02-28 +depends on: + package: magic.mse-game + version: 2014-06-25 +depends on: + package: magic-mana-large.mse-symbol-font + version: 2007-09-23 +depends on: + package: magic-mana-small.mse-symbol-font + version: 2007-09-23 +depends on: + package: magic-modules.mse-include + version: 2024-10-01 +depends on: + package: magic-mainframe-extras.mse-include + version: 2007-09-23 + +card width: 1488 +card height: 1039 +card dpi: 297.6 + +### blanks by Card Conjurer, Artfreakwiu and GenevensiS +### code by GenevensiS + +############################################################## Extra scripts +init script: + card_shape := { if styling.count_as == "normal card" then "normal" else styling.count_as } + + swap_fonts_pt_default := + [ + name: {if card.planechase_frame == "CBG" then "MatrixRegularSmallCaps" else "Beleren Bold"}, + size: {if card.planechase_frame == "CBG" then 44.0 else 37.0}, + color: {if card.planechase_frame == "CBG" then "white" else "black"}, + vertical: {0}, + italic: {""} + ] + + swap_fonts_body_default := + [ + name: {"MPlantin"}, + size: {28.0}, + color: {"black"}, + vertical: {0}, + italic: {"MPlantin-Italic"} + ] + + swap_fonts_type_default := + [ + name: {if card.planechase_frame == "CBG" then "Matrix" else "Beleren Bold"}, + size: {29.0}, + color: {if card.planechase_frame == "CBG" then "white" else "black"}, + vertical: {0}, + italic: {""} + ] + + swap_fonts_name_default := + [ + name: {if card.planechase_frame == "CBG" then "MatrixRegularSmallCaps" else "Beleren Bold"}, + size: {if card.planechase_frame == "CBG" then 42.0 else 36.0}, + color: {if card.planechase_frame == "CBG" then "white" else "black"}, + vertical: {0}, + italic: {""} + ] + + invert_watermark_1 := { false } + + is_unsorted := { styling.remove_from_autocount } + + abilities_count := + { + to_int(styling.number_of_textboxes) + } + + alt_text := { true } + alt_text_script := + { + count := abilities_count() + if count == 4 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text, separator3: "\n", field4: card.level_4_text) + else if count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) + } + + margin_left := + { + if not styling.chaos_symbol or text_alignment() == "middle center" then 0 else ( + count := abilities_count() + if input == "lv1" then (if count == 1 then 900 else 0) + else if input == "lv2" then (if count == 2 then 900 else 0) + else if input == "lv3" then (if count == 3 then 900 else 0) + else if input == "lv4" then (if count == 4 then 900 else 0) + else 0) + } + + text_filter := text_filter + {apply_margins(input, name:margin_code)} + + text_alignment := + { + if styling.center_text == "always" then "middle center" + else if styling.center_text == "never" then "middle left" + else if (not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) + then "middle center" + else "middle left" + } + + textbox_top := + { + if input == 0 then 669 else textbox_bottom(input-1) + } + textbox_bottom := + { + if card_style.text.layout.separators[input] or else 0 > 0 then ( + if input == abilities_count()-1 then 995 else to_int(card_style.text.top + card_style.text.layout.separators[input]) + ) + else 1200 + } + textbox_center := + { + if card_style.text.layout.blocks[input].bottom or else 0 > 0 then card_style.text.top + card_style.text.layout.blocks[input].middle + else 1200 + } + + chaos_symbol_height := + { + if not styling.chaos_symbol then 0 else ( + count := abilities_count()-1 + if count == 0 then 60 else + clamp(card_style.text.bottom - textbox_top(count) - 10, minimum: 0, maximum: 60)) + } + chaos_symbol_width := + { + chaos_symbol_height() * 240 / 200 + } + chaos_symbol_top := + { + if not styling.chaos_symbol then 1200 + else textbox_center(abilities_count()-1) - chaos_symbol_height()/2 + } + + chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -1500) else 0 } + chop_bot := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split.1 != "" then clamp(split.1, maximum: 1500, minimum: -1500) else 0 } + + popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -500) else 0 } + popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, maximum: 2000, minimum: -500) else 0 } + popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, maximum: 1500, minimum: 0) else 0 } + popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 } + + art_left := + { + if styling.stretch_art_to_whole_card + or styling.extended_art == "yes, without border" then 0 + else if styling.extended_art == "yes" then 41 + else if card.planechase_frame == "CBG" then 125 + else 50 + } + art_top := + { + if styling.stretch_art_to_whole_card + or styling.extended_art == "yes, without border" then 0 + else if styling.extended_art == "yes" then 41 + else if card.planechase_frame == "CBG" then 153 + else 47 + } + art_width := + { + if styling.stretch_art_to_whole_card + or styling.extended_art == "yes, without border" then stylesheet.card_width + else if styling.extended_art == "yes" then 1406 + else if card.planechase_frame == "CBG" then 1240 + else 1388 + } + art_bottom := + { + if styling.stretch_art_to_whole_card then stylesheet.card_height + else if contains(styling.extended_art, match: "yes") then 1000 + else if card.planechase_frame == "CBG" then (if styling.typeline_opacity_percentage == "100" then 599 else 921) + else 994 + } + + art_mask := + { + mask := frame_type() + "image_mask.png" + crop(mask, offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_bottom() - art_top()) + } + + frame_type := + { + if card.planechase_frame == "original" then "mom/" else if card.planechase_frame == "CBG" then "cbg/" else "who/" + } + + card_code_left := + { + if styling.flat_copyright then 152 else max(377, 744 - (card_style.card_code.content_width + 4 + card_style.set_code.content_width + 8 + card_style.copyright.content_width)/2) + } + + set_code_left := + { + card_code_left() + card_style.card_code.content_width + 4 + } + illustrator_brush_left := + { + if styling.flat_copyright then set_code_left() + card_style.set_code.content_width + 6 else max(532, 744 - (card_style.illustrator_brush.width + card_style.illustrator.content_width + 4)/2) + } + rarity_code := { "" } + +############################################################## Extra style options +styling field: + type: choice + name: extended art + description: Remove the sides of the frame? + choice: yes, without border + choice: yes + choice: no + initial: no +styling field: + type: boolean + name: flat copyright + description: Should the bottom of the textbox be flat or rounded? +styling field: + type: text + name: popout art coordinates + description: The coordinates for the popout image field, formatted as "left,top,width,height". Used to make the illustration jump in front of the frame. +styling field: + type: boolean + name: stretch art to whole card + description: Make the image span the whole card instead of just the visible part. Use this to help make popout effects. + initial: no +styling field: + type: slider + name: nameline opacity percentage + description: Set the opacity percentage for the nameline. Opaque is 100, transparent is 0. Default is 80. + initial: 80 +styling field: + type: slider + name: aliasline opacity percentage + description: Set the opacity percentage for the aliasline. Opaque is 100, transparent is 0. Default is 80. + initial: 80 +styling field: + type: slider + name: typeline opacity percentage + description: Set the opacity percentage for the typeline. Opaque is 100, transparent is 0. Default is 80. + initial: 80 +styling field: + type: slider + name: odd textbox opacity percentage + description: Set the opacity percentage for the textboxes of the first and third abilities. Opaque is 100, transparent is 0. Default is 70. + initial: 70 +styling field: + type: slider + name: even textbox opacity percentage + description: Set the opacity percentage for the textboxes of the second and fourth abilities. Opaque is 100, transparent is 0. Default is 40. + initial: 40 +styling field: + type: choice + name: number of textboxes + description: How many abilities should be on the card, including the Chaos ability? + choice: 1 + choice: 2 + choice: 3 + choice: 4 + initial: 2 +styling field: + type: boolean + name: chaos symbol + description: Should the last ability have a chaos symbol to it's left. + initial: yes +styling field: + type: text + name: custom chaos symbol + description: Filename in magic-mainframe-extras to use instead of the normal chaos symbol. + +include file: /magic-modules.mse-include/texts/styling_fields + +include file: /magic-modules.mse-include/watermarks/styling_fields + +styling field: + type: package choice + name: overlay + description: Should there be an overlay applied, such as foil? + match: magic-overlay-*.mse-include + required: false +styling field: + type: choice + name: count as + description: What should this card be counted as by the autocount script and stats page? + choice: normal card + choice: token + choice: emblem + choice: designation + choice: counter + choice: rulestip + choice: checklist + initial: normal card +styling field: + type: boolean + name: remove from autocount + description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. + initial: yes +styling field: + type: color + name: copyright text color + description: Color of the copyright, illustrator, card number, and set code text. + choice: white + choice: black + +include file: /magic-modules.mse-include/symbol-fonts/styling_fields + +include file: /magic-modules.mse-include/fonts/styling_fields + +############################################################## Card fields + +include file: /magic-modules.mse-include/corners/card_fields + +include file: /magic-modules.mse-include/watermarks/card_fields + +card style: + ############################# Frame + planechase frame: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 200 + popup style: in place + render style: image + image: { frame_type() + "card" + (if styling.extended_art != "no" then "_extended.png" else ".png") } + mask: { frame_type() + "card_mask.png" } + choice images: + original: mom/choice_image.png + doctor who: who/choice_image.png + CBG: cbg/choice_image.png + ############################# Nameline + name: + left: + script: + if card.planechase_frame == "original" then 120 + else if card.planechase_frame == "CBG" then 114 + else 120 + top: + script: + if card.planechase_frame == "original" then 64 - (if card.casting_cost != "" then 8 else 0) + else if card.planechase_frame == "CBG" then 82 + else 64 - (if card.casting_cost != "" then 9 else 0) + width: + script: + if card.planechase_frame == "original" then 1248 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+15 else 0) + else if card.planechase_frame == "CBG" then 1260 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+15 else 0) + else 1248 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+15 else 0) + height: + script: + if card.planechase_frame == "original" then 54 + else if card.planechase_frame == "CBG" then 53 + else 51 + z index: 900 + alignment: { if card.casting_cost != "" then "middle left shrink-overflow" else "middle center shrink-overflow" } + font: + name: { name_font() } + italic name: { name_font_italic() } + size: { name_font_size() } + color: { name_font_color() } + shadow color: { name_shadow_color() } + shadow displacement x: -2 + shadow displacement y: 2 + #shadow displacement x: { name_shadow_displacement_x() } + #shadow displacement y: { name_shadow_displacement_y() } + casting cost: + right: + script: + if card.planechase_frame == "original" then 1369 + else if card.planechase_frame == "CBG" then 1374 + else 1369 + top: + script: + if card.planechase_frame == "original" then 56 + else if card.planechase_frame == "CBG" then 88 + else 56 + width: + script: + max(card_style.casting_cost.content_width, 120) + height: + script: + if card.planechase_frame == "original" then 54 + else if card.planechase_frame == "CBG" then 53 + else 51 + z index: 920 + alignment: middle right shrink-overflow + always symbol: true + font: + name: { casting_cost_font() } + italic name: { casting_cost_font_italic() } + size: { casting_cost_font_size() - (if card.planechase_frame == "CBG" then 0 else 2) } + color: { casting_cost_font_color() } + symbol font: + name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } + size: { casting_cost_font_size() - (if card.planechase_frame == "CBG" then 0 else 2) } + alias: + left: + script: + if card.planechase_frame == "original" then 510 + else if card.planechase_frame == "CBG" then 435 + else 510 + top: + script: + if card.planechase_frame == "original" then 144 + else if card.planechase_frame == "CBG" then 156 + else 143 + width: + script: + if card.planechase_frame == "original" then 468 + else if card.planechase_frame == "CBG" then 618 + else 468 + height: + script: + if card.planechase_frame == "original" then 27 + else if card.planechase_frame == "CBG" then 25 + else 25 + alignment: center middle shrink-overflow + z index: 900 + font: + name: MPlantin-Italic + size: + script: + if card.planechase_frame == "original" then 20 + else if card.planechase_frame == "CBG" then 20 + else 20 + style: bold + weight: bold + color: + script: + if card.planechase_frame == "original" then "black" + else if card.planechase_frame == "CBG" then "white" + else "black" + ############################# Image + image: + left: { art_left() } + top: { art_top() } + width: { art_width() } + bottom: { art_bottom() } + z index: 100 + mask: { art_mask() } + mainframe image: + left: { popout_left() } + top: { popout_top() } + width: { popout_width() } + height: { popout_height() } + z index: 1010 + ############################# Typeline + type: + left: + script: + if card.planechase_frame == "original" then 340 + else if card.planechase_frame == "CBG" then 114 + else 340 + top: + script: + if card.planechase_frame == "original" then 696 + else if card.planechase_frame == "CBG" then 611 + else 696 + width: + script: + if card.planechase_frame == "original" then 808 + else if card.planechase_frame == "CBG" then 1260 + else 808 + height: + script: + if card.planechase_frame == "original" then 41 + else if card.planechase_frame == "CBG" then 50 + else 38 + z index: 900 + alignment: middle center shrink-overflow + font: + name: { type_font() } + italic name: { type_font_italic() } + size: { type_font_size() } + color: { type_font_color() } + separator color: red + ############################# Text box + text: + left: + script: + if card.planechase_frame == "original" then 175 + else if card.planechase_frame == "CBG" then 135 + else 170 + top: + script: + if card.planechase_frame == "original" then 754 + chop_top() + body_font_vertical() + else if card.planechase_frame == "CBG" then 685 + chop_top() + body_font_vertical() + else 759 + chop_top() + body_font_vertical() + width: + script: + if card.planechase_frame == "original" then 1138 + else if card.planechase_frame == "CBG" then 1217 + else 1148 + bottom: + script: + if card.planechase_frame == "original" then (if styling.flat_copyright then 981 else 956) - chop_bot() + else if card.planechase_frame == "CBG" then 909 - chop_bot() + else (if styling.flat_copyright then 977 else 960) - chop_bot() + z index: 900 + line height soft: 0.9 + line height hard: 1.2 + line height line: 1.5 + line height hard max: 1.3 + line height line max: 2.0 + alignment: { text_alignment() } + font: + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } + scale down to: 7 + color: { body_font_color() } + symbol font: + name: { styling.text_box_mana_symbols } + size: { body_font_size() } + scale down to: 7 + ############################# PT + pt: + left: + script: + if card.planechase_frame == "original" then 1265 + else if card.planechase_frame == "CBG" then 1294 + else 1283 + top: + script: + if card.planechase_frame == "original" then 941 + else if card.planechase_frame == "CBG" then 910 + else 940 + width: + script: + if card.planechase_frame == "original" then 121 + else if card.planechase_frame == "CBG" then 128 + else 111 + height: + script: + if card.planechase_frame == "original" then 58 + else if card.planechase_frame == "CBG" then 65 + else 54 + z index: 900 + alignment: center middle shrink-overflow + font: + name: { pt_font() } + size: { pt_font_size() } + color: { pt_font_color() } + separator color: red + ############################# Information + illustrator: + left: { illustrator_brush_left() + (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * 744/375 + 4 } + top: { if styling.flat_copyright then 1004 else (if card.planechase_frame == "original" then 977 else if card.planechase_frame == "CBG" then 947 else 985) + (if trim(to_text(card.card_code + card.set_code + card.copyright)) == "" then 10 else 0) } + right: { if styling.flat_copyright then 722 else 956 } + height: 20 + z index: 900 + alignment: middle left shrink-overflow + font: + name: Beleren Small Caps + size: 17 + color: { styling.copyright_text_color } + illustrator brush: + left: { illustrator_brush_left() } + top: { if styling.flat_copyright then 1007 else (if card.planechase_frame == "original" then 981 else if card.planechase_frame == "CBG" then 951 else 989) + (if trim(to_text(card.card_code + card.set_code + card.copyright)) == "" then 10 else 0) } + width: { (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * 744/375 } + height: { 7 * 1039/523 } + popup style: in place + include dark file: /magic.mse-game/information/menu_choice_images + render style: image + image: { illustrator_brush_image(field: 1) } + z index: 900 + card code: + left: { card_code_left() } + top: { if styling.flat_copyright then 1003 else if card.planechase_frame == "original" then 1003 else if card.planechase_frame == "CBG" then 973 else 1011 } + width: { max(30, card_style.card_code.content_width) } + height: 20 + z index: 900 + alignment: middle left + font: + name: Relay-Medium + size: 17 + color: { styling.copyright_text_color } + set code: + left: { set_code_left() } + top: { if styling.flat_copyright then 1003 else if card.planechase_frame == "original" then 1003 else if card.planechase_frame == "CBG" then 973 else 1011 } + width: { max(30, card_style.set_code.content_width) } + height: 20 + z index: 900 + alignment: middle left + font: + name: Relay-Medium + size: 17 + color: { styling.copyright_text_color } + copyright: + left: { if styling.flat_copyright then 766 else set_code_left() + card_style.set_code.content_width + 8 } + top: { if styling.flat_copyright then 1004 else if card.planechase_frame == "original" then 1003 else if card.planechase_frame == "CBG" then 973 else 1011 } + right: { if styling.flat_copyright then (if card.pt == "" then 1336 else 1254) else 1111 } + height: 20 + z index: 900 + alignment: { if styling.flat_copyright then "middle right shrink-overflow" else "middle left shrink-overflow" } + font: + name: MPlantin + size: 17 + color: { styling.copyright_text_color } +############################################################## Extra card fields +extra card field: + type: choice + name: border + editable: false + save value: false + show statistics: false + choice: border +extra card field: + type: choice + name: girders + editable: false + save value: false + show statistics: false + choice: girders +extra card field: + type: choice + name: ptbox + editable: false + save value: false + show statistics: false + choice: ptbox +extra card field: + type: choice + name: namebox + editable: false + save value: false + show statistics: false + choice: namebox +extra card field: + type: choice + name: aliasbar + editable: false + save value: false + show statistics: false + choice: aliasbar +extra card field: + type: choice + name: aliasbox + editable: false + save value: false + show statistics: false + choice: aliasbox +extra card field: + type: choice + name: typebox + editable: false + save value: false + show statistics: false + choice: typebox +extra card field: + type: choice + name: textbox full + editable: false + save value: false + show statistics: false + choice: textbox full +extra card field: + type: choice + name: textbox 1 + editable: false + save value: false + show statistics: false + choice: textbox 1 +extra card field: + type: choice + name: textbox 2 + editable: false + save value: false + show statistics: false + choice: textbox 2 +extra card field: + type: choice + name: textbox 3 + editable: false + save value: false + show statistics: false + choice: textbox 3 +extra card field: + type: choice + name: textbox 4 + editable: false + save value: false + show statistics: false + choice: textbox 4 +extra card field: + type: choice + name: chaos symbol + editable: false + save value: false + show statistics: false + choice: chaos symbol +extra card field: + type: choice + name: copyright rim + editable: false + save value: false + show statistics: false + choice: copyright rim +extra card field: + type: choice + name: foil layer + editable: false + save value: false + show statistics: false + choice: foil layer +extra card style: + chaos symbol: + left: + script: + if card.planechase_frame == "original" then 179 + (72 - chaos_symbol_width())/2 + else if card.planechase_frame == "CBG" then 136 + (72 - chaos_symbol_width())/2 + else 174 + (72 - chaos_symbol_width())/2 + top: { chaos_symbol_top() } + width: { chaos_symbol_width() } + height: { chaos_symbol_height() } + z index: 900 + visible: { styling.chaos_symbol } + render style: image + image: + script: + filename := "/magic-mainframe-extras.mse-include/" + styling.custom_chaos_symbol + if exists_in_package(filename) then filename + else recolor_image("chaos_symbol.png", color: body_font_color()) + ptbox: + left: + script: + if card.planechase_frame == "original" then 1248 + else if card.planechase_frame == "CBG" then 1277 + else 1255 + top: + script: + if card.planechase_frame == "original" then 927 + else if card.planechase_frame == "CBG" then 900 + else 919 + width: + script: + if card.planechase_frame == "original" then 156 + else if card.planechase_frame == "CBG" then 162 + else 167 + height: + script: + if card.planechase_frame == "original" then 91 + else if card.planechase_frame == "CBG" then 91 + else 98 + z index: 800 + visible: { card.pt != "" } + render style: image + image: { frame_type() + "pt.png" } + namebox: + left: + script: + if card.planechase_frame == "original" then 99 + else 101 + top: + script: + if card.planechase_frame == "original" then 46 + else 50 + width: + script: + if card.planechase_frame == "original" then 1290 + else 1286 + height: + script: + if card.planechase_frame == "original" then 92 + else 79 + z index: 190 + visible: { card.planechase_frame != "CBG" } + render style: image + image: { set_alpha(frame_type() + "namebox.png", alpha: get_alpha_percentage(styling.nameline_opacity_percentage, default: 80)) } + aliasbar: + left: 245 + top: 81 + width: 998 + height: 173 + z index: 200 + render style: image + image: { frame_type() + "alias" + (if card.alias != "" then ".png" else "_none.png") } + aliasbox: + left: + script: + if card.planechase_frame == "original" then 398 + else 397 + top: + script: + if card.planechase_frame == "original" then 131 + else 128 + width: + script: + if card.planechase_frame == "original" then 692 + else 694 + height: + script: + if card.planechase_frame == "original" then 48 + else 50 + z index: 190 + visible: { card.alias != "" and card.planechase_frame != "CBG" } + render style: image + image: { set_alpha(frame_type() + "aliasbox.png", alpha: get_alpha_percentage(styling.aliasline_opacity_percentage, default: 80)) } + typebox: + left: + script: + if card.planechase_frame == "original" then 308 + else 306 + top: + script: + if card.planechase_frame == "original" then 688 + else 686 + width: + script: + if card.planechase_frame == "original" then 872 + else 876 + height: + script: + if card.planechase_frame == "original" then 54 + else 54 + z index: 190 + visible: { card.planechase_frame != "CBG" } + render style: image + image: { set_alpha(frame_type() + "typebox.png", alpha: get_alpha_percentage(styling.typeline_opacity_percentage, default: 80)) } + textbox full: + left: 118 + top: 669 + width: 1252 + height: 255 + z index: 180 + visible: { card.planechase_frame == "CBG" and styling.typeline_opacity_percentage == "100" } + render style: image + image: cbg/textbox_full.png + textbox 1: + left: 118 + top: { textbox_top(0) } + width: 1252 + bottom: { textbox_bottom(0) } + z index: 190 + render style: image + image: + script: + image := crop(frame_type() + "textbox.png", offset_x:0, offset_y: textbox_top(0)-669, width:1252, height: textbox_bottom(0) - textbox_top(0)) + set_alpha(image, alpha: get_alpha_percentage(styling.odd_textbox_opacity_percentage, default: 70)) + textbox 2: + left: 118 + top: { textbox_top(1) } + width: 1252 + bottom: { textbox_bottom(1) } + z index: 190 + visible: { abilities_count() > 1 } + render style: image + image: + script: + image := crop(frame_type() + "textbox.png", offset_x:0, offset_y: textbox_top(1)-669, width:1252, height: textbox_bottom(1) - textbox_top(1)) + set_alpha(image, alpha: get_alpha_percentage(styling.even_textbox_opacity_percentage, default: 40)) + textbox 3: + left: 118 + top: { textbox_top(2) } + width: 1252 + bottom: { textbox_bottom(2) } + z index: 190 + visible: { abilities_count() > 2 } + render style: image + image: + script: + image := crop(frame_type() + "textbox.png", offset_x:0, offset_y: textbox_top(2)-669, width:1252, height: textbox_bottom(2) - textbox_top(2)) + set_alpha(image, alpha: get_alpha_percentage(styling.odd_textbox_opacity_percentage, default: 70)) + textbox 4: + left: 118 + top: { textbox_top(3) } + width: 1252 + bottom: { textbox_bottom(3) } + z index: 190 + visible: { abilities_count() > 3 } + render style: image + image: + script: + image := crop(frame_type() + "textbox.png", offset_x:0, offset_y: textbox_top(3)-669, width:1252, height: textbox_bottom(3) - textbox_top(3)) + set_alpha(image, alpha: get_alpha_percentage(styling.even_textbox_opacity_percentage, default: 40)) + copyright rim: + left: 153 + top: 883 + width: 1182 + height: 156 + z index: 200 + render style: image + image: { frame_type() + "copyright" + (if card.planechase_frame == "CBG" and contains(styling.extended_art, match: "yes") then "_extended" else "") + (if styling.flat_copyright then ".png" else "_round.png") } + girders: + left: 142 + top: 728 + width: 1204 + height: 108 + z index: 180 + visible: { card.planechase_frame == "original" and styling.extended_art == "no" } + render style: image + image: mom/girders.png + foil layer: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 1050 + visible: { styling.overlay != "none" and styling.overlay != "" } + render style: image + image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" } + border: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 210 + visible: { styling.extended_art == "yes" } + render style: image + image: border.png diff --git a/data/magic-planechase.mse-style/who/alias.png b/data/magic-planechase.mse-style/who/alias.png new file mode 100644 index 0000000000..855276a504 Binary files /dev/null and b/data/magic-planechase.mse-style/who/alias.png differ diff --git a/data/magic-planechase.mse-style/who/alias_none.png b/data/magic-planechase.mse-style/who/alias_none.png new file mode 100644 index 0000000000..fc780b8138 Binary files /dev/null and b/data/magic-planechase.mse-style/who/alias_none.png differ diff --git a/data/magic-planechase.mse-style/who/aliasbox.png b/data/magic-planechase.mse-style/who/aliasbox.png new file mode 100644 index 0000000000..82542cb8be Binary files /dev/null and b/data/magic-planechase.mse-style/who/aliasbox.png differ diff --git a/data/magic-planechase.mse-style/who/card.png b/data/magic-planechase.mse-style/who/card.png new file mode 100644 index 0000000000..001d120cc4 Binary files /dev/null and b/data/magic-planechase.mse-style/who/card.png differ diff --git a/data/magic-planechase.mse-style/who/card_extended.png b/data/magic-planechase.mse-style/who/card_extended.png new file mode 100644 index 0000000000..7537891398 Binary files /dev/null and b/data/magic-planechase.mse-style/who/card_extended.png differ diff --git a/data/magic-planechase.mse-style/who/card_mask.png b/data/magic-planechase.mse-style/who/card_mask.png new file mode 100644 index 0000000000..fa296a5778 Binary files /dev/null and b/data/magic-planechase.mse-style/who/card_mask.png differ diff --git a/data/magic-planechase.mse-style/who/choice_image.png b/data/magic-planechase.mse-style/who/choice_image.png new file mode 100644 index 0000000000..2b1754d046 Binary files /dev/null and b/data/magic-planechase.mse-style/who/choice_image.png differ diff --git a/data/magic-planechase.mse-style/who/copyright.png b/data/magic-planechase.mse-style/who/copyright.png new file mode 100644 index 0000000000..784adf64dd Binary files /dev/null and b/data/magic-planechase.mse-style/who/copyright.png differ diff --git a/data/magic-planechase.mse-style/who/copyright_round.png b/data/magic-planechase.mse-style/who/copyright_round.png new file mode 100644 index 0000000000..2efe7b2cb2 Binary files /dev/null and b/data/magic-planechase.mse-style/who/copyright_round.png differ diff --git a/data/magic-planechase.mse-style/who/image_mask.png b/data/magic-planechase.mse-style/who/image_mask.png new file mode 100644 index 0000000000..887f9e7c91 Binary files /dev/null and b/data/magic-planechase.mse-style/who/image_mask.png differ diff --git a/data/magic-planechase.mse-style/who/namebox.png b/data/magic-planechase.mse-style/who/namebox.png new file mode 100644 index 0000000000..2d23bafa6f Binary files /dev/null and b/data/magic-planechase.mse-style/who/namebox.png differ diff --git a/data/magic-planechase.mse-style/who/pt.png b/data/magic-planechase.mse-style/who/pt.png new file mode 100644 index 0000000000..9589c54ad4 Binary files /dev/null and b/data/magic-planechase.mse-style/who/pt.png differ diff --git a/data/magic-planechase.mse-style/who/textbox.png b/data/magic-planechase.mse-style/who/textbox.png new file mode 100644 index 0000000000..f3f3b064c8 Binary files /dev/null and b/data/magic-planechase.mse-style/who/textbox.png differ diff --git a/data/magic-planechase.mse-style/who/typebox.png b/data/magic-planechase.mse-style/who/typebox.png new file mode 100644 index 0000000000..12be5b6ca8 Binary files /dev/null and b/data/magic-planechase.mse-style/who/typebox.png differ diff --git a/data/magic-rule-card.mse-style/style b/data/magic-rule-card.mse-style/style index 1380fc928a..c16af48f5f 100644 --- a/data/magic-rule-card.mse-style/style +++ b/data/magic-rule-card.mse-style/style @@ -3,7 +3,7 @@ game: magic short name: Rules Card full name: Mechanics Reminder icon: card_sample.png -position hint: 999 +position hint: 990 version: 2024-10-01 depends on: diff --git a/data/magic-symbol-display.mse-style/card-sample.png b/data/magic-symbol-display.mse-style/card-sample.png index 1cd15990cb..88c94a30cd 100644 Binary files a/data/magic-symbol-display.mse-style/card-sample.png and b/data/magic-symbol-display.mse-style/card-sample.png differ diff --git a/data/magic-the-ring-rule-card_744.mse-style/style b/data/magic-the-ring-rule-card_744.mse-style/style index 33da65be5b..39830022bb 100644 --- a/data/magic-the-ring-rule-card_744.mse-style/style +++ b/data/magic-the-ring-rule-card_744.mse-style/style @@ -3,7 +3,7 @@ game: magic short name: The Ring Rules full name: Mechanics Reminder icon: card_sample.png -position hint: 999 +position hint: 990 version: 2024-10-01 depends on: @@ -32,6 +32,8 @@ card dpi: 297 ############################################################## Extra scripts init script: + card_shape := { if styling.count_as == "normal card" then "normal" else styling.count_as } + swap_fonts_body_default := [ name: {"MPlantin"}, @@ -212,6 +214,18 @@ styling field: name: border description: Use a border around the card? initial: yes +styling field: + type: choice + name: count as + description: What should this card be counted as by the autocount script and stats page? + choice: normal card + choice: token + choice: emblem + choice: designation + choice: counter + choice: rulestip + choice: checklist + initial: rulestip include file: /magic-modules.mse-include/information/styling_fields diff --git a/data/magic-vanguard.mse-style/card_sample.png b/data/magic-vanguard.mse-style/card_sample.png new file mode 100644 index 0000000000..db6a902353 Binary files /dev/null and b/data/magic-vanguard.mse-style/card_sample.png differ diff --git a/data/magic-vanguard.mse-style/costs/black.png b/data/magic-vanguard.mse-style/costs/black.png new file mode 100644 index 0000000000..f0809eddc2 Binary files /dev/null and b/data/magic-vanguard.mse-style/costs/black.png differ diff --git a/data/magic-vanguard.mse-style/costs/blue.png b/data/magic-vanguard.mse-style/costs/blue.png new file mode 100644 index 0000000000..8b938f9646 Binary files /dev/null and b/data/magic-vanguard.mse-style/costs/blue.png differ diff --git a/data/magic-vanguard.mse-style/costs/colorless.png b/data/magic-vanguard.mse-style/costs/colorless.png new file mode 100644 index 0000000000..a7e0af4289 Binary files /dev/null and b/data/magic-vanguard.mse-style/costs/colorless.png differ diff --git a/data/magic-vanguard.mse-style/costs/gold.png b/data/magic-vanguard.mse-style/costs/gold.png new file mode 100644 index 0000000000..7bfe9069dd Binary files /dev/null and b/data/magic-vanguard.mse-style/costs/gold.png differ diff --git a/data/magic-vanguard.mse-style/costs/green.png b/data/magic-vanguard.mse-style/costs/green.png new file mode 100644 index 0000000000..ff4131af87 Binary files /dev/null and b/data/magic-vanguard.mse-style/costs/green.png differ diff --git a/data/magic-vanguard.mse-style/costs/red.png b/data/magic-vanguard.mse-style/costs/red.png new file mode 100644 index 0000000000..1c2f4f18bf Binary files /dev/null and b/data/magic-vanguard.mse-style/costs/red.png differ diff --git a/data/magic-vanguard.mse-style/costs/white.png b/data/magic-vanguard.mse-style/costs/white.png new file mode 100644 index 0000000000..efcf2cb6dd Binary files /dev/null and b/data/magic-vanguard.mse-style/costs/white.png differ diff --git a/data/magic-vanguard.mse-style/fkih/card.png b/data/magic-vanguard.mse-style/fkih/card.png new file mode 100644 index 0000000000..794642a26b Binary files /dev/null and b/data/magic-vanguard.mse-style/fkih/card.png differ diff --git a/data/magic-vanguard.mse-style/fonts/Fritz Quadrata Cyrillic.ttf b/data/magic-vanguard.mse-style/fonts/Fritz Quadrata Cyrillic.ttf new file mode 100644 index 0000000000..3335bb476f Binary files /dev/null and b/data/magic-vanguard.mse-style/fonts/Fritz Quadrata Cyrillic.ttf differ diff --git a/data/magic-vanguard.mse-style/mtgo_new/alias.png b/data/magic-vanguard.mse-style/mtgo_new/alias.png new file mode 100644 index 0000000000..dc67e197c9 Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_new/alias.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_new/card.png b/data/magic-vanguard.mse-style/mtgo_new/card.png new file mode 100644 index 0000000000..6712321694 Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_new/card.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_new/card_mask.png b/data/magic-vanguard.mse-style/mtgo_new/card_mask.png new file mode 100644 index 0000000000..a48a84aff7 Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_new/card_mask.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_new/choice_image.png b/data/magic-vanguard.mse-style/mtgo_new/choice_image.png new file mode 100644 index 0000000000..636f88aa5e Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_new/choice_image.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_new/image_mask.png b/data/magic-vanguard.mse-style/mtgo_new/image_mask.png new file mode 100644 index 0000000000..2f876ba6c3 Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_new/image_mask.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_old/alias.png b/data/magic-vanguard.mse-style/mtgo_old/alias.png new file mode 100644 index 0000000000..6875c92d53 Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_old/alias.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_old/card.png b/data/magic-vanguard.mse-style/mtgo_old/card.png new file mode 100644 index 0000000000..154c57111b Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_old/card.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_old/card_mask.png b/data/magic-vanguard.mse-style/mtgo_old/card_mask.png new file mode 100644 index 0000000000..fec4b101f1 Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_old/card_mask.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_old/choice_image.png b/data/magic-vanguard.mse-style/mtgo_old/choice_image.png new file mode 100644 index 0000000000..fb5c420c6a Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_old/choice_image.png differ diff --git a/data/magic-vanguard.mse-style/mtgo_old/image_mask.png b/data/magic-vanguard.mse-style/mtgo_old/image_mask.png new file mode 100644 index 0000000000..6bc39fd9fd Binary files /dev/null and b/data/magic-vanguard.mse-style/mtgo_old/image_mask.png differ diff --git a/data/magic-vanguard.mse-style/paper/alias.png b/data/magic-vanguard.mse-style/paper/alias.png new file mode 100644 index 0000000000..51955dbc9e Binary files /dev/null and b/data/magic-vanguard.mse-style/paper/alias.png differ diff --git a/data/magic-vanguard.mse-style/paper/card.png b/data/magic-vanguard.mse-style/paper/card.png new file mode 100644 index 0000000000..9adc05959a Binary files /dev/null and b/data/magic-vanguard.mse-style/paper/card.png differ diff --git a/data/magic-vanguard.mse-style/paper/card_mask.png b/data/magic-vanguard.mse-style/paper/card_mask.png new file mode 100644 index 0000000000..578fc3f07a Binary files /dev/null and b/data/magic-vanguard.mse-style/paper/card_mask.png differ diff --git a/data/magic-vanguard.mse-style/paper/choice_image.png b/data/magic-vanguard.mse-style/paper/choice_image.png new file mode 100644 index 0000000000..ad2a5e462c Binary files /dev/null and b/data/magic-vanguard.mse-style/paper/choice_image.png differ diff --git a/data/magic-vanguard.mse-style/paper/image_mask.png b/data/magic-vanguard.mse-style/paper/image_mask.png new file mode 100644 index 0000000000..540234110a Binary files /dev/null and b/data/magic-vanguard.mse-style/paper/image_mask.png differ diff --git a/data/magic-vanguard.mse-style/silvercut/card.png b/data/magic-vanguard.mse-style/silvercut/card.png new file mode 100644 index 0000000000..6d62ebe9e1 Binary files /dev/null and b/data/magic-vanguard.mse-style/silvercut/card.png differ diff --git a/data/magic-vanguard.mse-style/style b/data/magic-vanguard.mse-style/style new file mode 100644 index 0000000000..f519f177d4 --- /dev/null +++ b/data/magic-vanguard.mse-style/style @@ -0,0 +1,792 @@ +mse version: 2.6.0 +game: magic +short name: Vanguard +full name: Old / New +icon: card_sample.png +position hint: 900200 +installer group: magic/Satellite Games/Vanguard + + +version: 2026-02-28 +depends on: + package: magic.mse-game + version: 2014-06-25 +depends on: + package: magic-mana-large.mse-symbol-font + version: 2007-09-23 +depends on: + package: magic-mana-small.mse-symbol-font + version: 2007-09-23 +depends on: + package: magic-modules.mse-include + version: 2024-10-01 +depends on: + package: magic-mainframe-extras.mse-include + version: 2007-09-23 + +card width: 744 +card height: 1039 +card dpi: 297.6 + +### blanks by Card Conjurer and GenevensiS +### code by GenevensiS + +############################################################## Extra scripts + +init script: + card_shape := { if styling.count_as == "normal card" then "normal" else styling.count_as } + + swap_fonts_pt_default := + [ + name: {"Beleren Bold"}, + size: {30.0}, + color: {"black"}, + vertical: {0}, + italic: {"Beleren Bold"} + ] + + swap_fonts_body_default := + [ + name: {if card.vanguard_frame == "paper" then "MPlantin" else if card.vanguard_frame == "MtGO new" then "MPlantin" else "Arial"}, + size: {28.0}, + color: {"black"}, + vertical: {0}, + italic: {"MPlantin-Italic"} + ] + + swap_fonts_type_default := + [ + name: {if card.vanguard_frame == "paper" then "Fritz Quadrata Cyrillic" else if card.vanguard_frame == "MtGO new" then "Beleren Bold" else "Arial"}, + size: {if card.vanguard_frame == "paper" then 22 else if card.vanguard_frame == "MtGO new" then 25 else 22}, + color: {"black"}, + vertical: {0}, + italic: {""} + ] + + swap_fonts_name_default := + [ + name: {if card.vanguard_frame == "paper" then "Fritz Quadrata Cyrillic" else if card.vanguard_frame == "MtGO new" then "Beleren Bold" else "Arial"}, + size: {if card.vanguard_frame == "paper" then 37 else if card.vanguard_frame == "MtGO new" then 30 else 30}, + color: {"black"}, + vertical: {0}, + italic: {""} + ] + + flavor_bar_disabled_1 := { card.vanguard_frame == "paper" } + + invert_watermark_1 := { false } + + illustrator_brush_default := { "art old" } + + is_promo := { styling.promo } + + is_unsorted := { styling.remove_from_autocount } + + chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -1500) else 0 } + chop_bot := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split.1 != "" then clamp(split.1, maximum: 1500, minimum: -1500) else 0 } + + popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -500) else 0 } + popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, maximum: 2000, minimum: -500) else 0 } + popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, maximum: 1500, minimum: 0) else 0 } + popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 } + + art_left := + { + if styling.stretch_art_to_whole_card then 0 + else if card.vanguard_frame == "paper" then 91 + else if card.vanguard_frame == "MtGO new" then 79 + else 94 + } + art_top := + { + if styling.stretch_art_to_whole_card then 0 + else if card.vanguard_frame == "paper" then 104 + else if card.vanguard_frame == "MtGO new" then 119 + else 118 + } + art_width := + { + if styling.stretch_art_to_whole_card then stylesheet.card_width + else if card.vanguard_frame == "paper" then 562 + else if card.vanguard_frame == "MtGO new" then 586 + else 551 + } + art_height := + { + if styling.stretch_art_to_whole_card then stylesheet.card_height + else if card.vanguard_frame == "paper" then 494 + else if card.vanguard_frame == "MtGO new" then 479 + else 447 + } + + art_mask := + { + crop(frame_type() + "image_mask.png", offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_height()) + } + + frame_type := + { + if card.vanguard_frame == "paper" then "paper/" + else if card.vanguard_frame == "MtGO new" then "mtgo_new/" + else "mtgo_old/" + } + +############################################################## Extra style options + +styling field: + type: text + name: popout art coordinates + description: The coordinates for the popout image field, formatted as "left,top,width,height". Used to make the illustration jump in front of the frame. +styling field: + type: boolean + name: stretch art to whole card + description: Make the image span the whole card instead of just the visible part. Use this to help make popout effects. + initial: no + +include file: /magic-modules.mse-include/texts/styling_fields + +include file: /magic-modules.mse-include/watermarks/styling_fields + +styling field: + type: package choice + name: overlay + description: Should there be an overlay applied, such as foil? + match: magic-overlay-*.mse-include + required: false +styling field: + type: choice + name: count as + description: What should this card be counted as by the autocount script and stats page? + choice: normal card + choice: token + choice: emblem + choice: designation + choice: counter + choice: rulestip + choice: checklist + initial: normal card +styling field: + type: boolean + name: remove from autocount + description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. + initial: yes +styling field: + type: boolean + name: promo + description: Is this card a promo card, with the "P" rarity? + initial: no + +include file: /magic-modules.mse-include/symbol-fonts/styling_fields + +include file: /magic-modules.mse-include/fonts/styling_fields + +############################################################## Card fields + +include file: /magic-modules.mse-include/corners/card_fields + +include file: /magic-modules.mse-include/watermarks/card_fields + +include file: /magic-modules.mse-include/separators/card_fields + +card style: + ############################# Frame + vanguard frame: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 200 + popup style: in place + render style: image + image: { frame_type() + "card.png" } + mask: { frame_type() + "card_mask.png" } + choice images: + paper: paper/choice_image.png + MtGO new: mtgo_new/choice_image.png + MtGO old: mtgo_old/choice_image.png + ############################# Nameline + name: + left: + script: + if card.vanguard_frame == "paper" then 137 + else if card.vanguard_frame == "MtGO new" then 106 + else 114 + top: + script: + if card.vanguard_frame == "paper" then 53 + else if card.vanguard_frame == "MtGO new" then 55 + else 69 + width: + script: + if card.vanguard_frame == "paper" then 470 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+10 else 0) + else if card.vanguard_frame == "MtGO new" then 534 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+10 else 0) + else 516 - (if card_style.casting_cost.content_width > 0 then card_style.casting_cost.content_width+10 else 0) + height: + script: + if card.vanguard_frame == "paper" then 43 + else if card.vanguard_frame == "MtGO new" then 44 + else 38 + z index: 900 + alignment: { if card.casting_cost != "" or card.vanguard_frame == "MtGO new" then "middle left shrink-overflow" else "middle center shrink-overflow" } + font: + name: { name_font() } + italic name: { name_font_italic() } + size: { name_font_size() } + color: { name_font_color() } + shadow color: { name_shadow_color() } + shadow displacement x: -2 + shadow displacement y: 2 + #shadow displacement x: { name_shadow_displacement_x() } + #shadow displacement y: { name_shadow_displacement_y() } + casting cost: + right: + script: + if card.vanguard_frame == "paper" then 608 + else if card.vanguard_frame == "MtGO new" then 640 + else 631 + top: + script: + if card.vanguard_frame == "paper" then 53 + else if card.vanguard_frame == "MtGO new" then 56 + else 68 + width: + script: + max(card_style.casting_cost.content_width, 30) + height: + script: + if card.vanguard_frame == "paper" then 43 + else if card.vanguard_frame == "MtGO new" then 44 + else 38 + z index: 920 + alignment: middle right shrink-overflow + always symbol: true + font: + name: { casting_cost_font() } + italic name: { casting_cost_font_italic() } + size: { casting_cost_font_size() } + color: { casting_cost_font_color() } + symbol font: + name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } + size: { casting_cost_font_size() } + alias: + left: + script: + if card.vanguard_frame == "paper" then 193 + else if card.vanguard_frame == "MtGO new" then 146 + else 230 + top: + script: + if card.vanguard_frame == "paper" then 112 + else if card.vanguard_frame == "MtGO new" then 121 + else 132 + width: + script: + if card.vanguard_frame == "paper" then 358 + else if card.vanguard_frame == "MtGO new" then 452 + else 282 + height: + script: + if card.vanguard_frame == "paper" then 25 + else if card.vanguard_frame == "MtGO new" then 21 + else 19 + alignment: center middle shrink-overflow + z index: 900 + font: + name: MPlantin-Italic + size: { alias_font_size(face:1) } + style: bold + weight: bold + color: + script: + if card.vanguard_frame == "paper" then "black" + else if card.vanguard_frame == "MtGO new" then "white" + else "black" + ############################# Image + image: + left: { art_left() } + top: { art_top() } + width: { art_width() } + height: { art_height() } + z index: 100 + mask: { art_mask() } + mainframe image: + left: { popout_left() } + top: { popout_top() } + width: { popout_width() } + height: { popout_height() } + z index: 1010 + ############################# Tyoeline + type: + left: + script: + if card.vanguard_frame == "paper" then 125 + else if card.vanguard_frame == "MtGO new" then 83 + else 117 + top: + script: + if card.vanguard_frame == "paper" then 613 + else if card.vanguard_frame == "MtGO new" then 609 + else 584 + width: + script: + if card.vanguard_frame == "paper" then 494 + else if card.vanguard_frame == "MtGO new" then 578 + else 510 + height: + script: + if card.vanguard_frame == "paper" then 26 + else if card.vanguard_frame == "MtGO new" then 37 + else 33 + z index: 900 + alignment: { if card.vanguard_frame == "MtGO new" then "middle left shrink-overflow" else "middle center shrink-overflow" } + font: + name: { type_font() } + italic name: { type_font_italic() } + size: { type_font_size() } + color: { type_font_color() } + separator color: red + ############################# Text box + text: + left: + script: + if card.vanguard_frame == "paper" then 88 + else if card.vanguard_frame == "MtGO new" then 86 + else 104 + top: + script: + if card.vanguard_frame == "paper" then 655 + else if card.vanguard_frame == "MtGO new" then 670 + else 632 + width: + script: + if card.vanguard_frame == "paper" then 0 + else if card.vanguard_frame == "MtGO new" then 571 + else 536 + height: + script: + if card.vanguard_frame == "paper" then 268 + else if card.vanguard_frame == "MtGO new" then 246 + else 248 + z index: 900 + line height hard: 1.2 + line height line: 1.5 + line height soft: 0.9 + line height hard max: 1.3 + line height line max: 1.6 + alignment: + script: + if styling.center_text == "always" then "middle center" + else if styling.center_text == "never" then "middle left" + else if (not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) + or card.vanguard_frame == "paper" + then "middle center" + else "middle left" + font: + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } + scale down to: 7 + color: { body_font_color() } + symbol font: + name: { styling.text_box_mana_symbols } + size: { body_font_size() } + scale down to: 7 + rule text: + left: 88 + top: 655 + width: + script: + if card.vanguard_frame == "paper" then 568 + else 0 + height: 115 + z index: 900 + line height hard: 1.2 + line height line: 1.5 + line height soft: 0.9 + line height hard max: 1.3 + line height line max: 1.6 + alignment: + script: + if styling.center_text == "always" then "middle center" + else if styling.center_text == "never" then "middle left" + else if (not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) + or card.vanguard_frame == "paper" + then "middle center" + else "middle left" + font: + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } + scale down to: 7 + color: { body_font_color() } + symbol font: + name: { styling.text_box_mana_symbols } + size: { body_font_size() } + scale down to: 7 + flavor text: + left: 153 + top: 782 + width: + script: + if card.vanguard_frame == "paper" then 437 + else 0 + height: 140 + z index: 900 + line height hard: 1.2 + line height line: 1.5 + line height soft: 0.9 + line height hard max: 1.3 + line height line max: 1.6 + alignment: + script: + if styling.center_text == "always" then "middle center" + else if styling.center_text == "never" then "middle left" + else if (not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) + or card.vanguard_frame == "paper" + then "middle center" + else "middle left" + font: + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } + scale down to: 7 + color: { body_font_color() } + symbol font: + name: { styling.text_box_mana_symbols } + size: { body_font_size() } + scale down to: 7 + ############################# Modifiers + hand mod label: + left: + script: + if card.vanguard_frame == "paper" then 80 + else if card.vanguard_frame == "MtGO new" then 100 + else 102 + top: + script: + if card.vanguard_frame == "paper" then 809 + else if card.vanguard_frame == "MtGO new" then 946 + else 901 + width: + script: + if card.vanguard_frame == "paper" then 51 + else if card.vanguard_frame == "MtGO new" then 35 + else 74 + height: + script: + if card.vanguard_frame == "paper" then 56 + else if card.vanguard_frame == "MtGO new" then 32 + else 41 + z index: 900 + alignment: center middle + font: + name: + script: + if card.vanguard_frame == "paper" then "MPlantin" + else if card.vanguard_frame == "MtGO new" then "MPlantin" + else "Arial-Mdm" + size: + script: + if card.vanguard_frame == "paper" then 10.5 + else if card.vanguard_frame == "MtGO new" then 12 + else 20 + scale down to: 7 + color: black + life mod label: + left: + script: + if card.vanguard_frame == "paper" then 612 + else if card.vanguard_frame == "MtGO new" then 617 + else 572 + top: + script: + if card.vanguard_frame == "paper" then 809 + else if card.vanguard_frame == "MtGO new" then 946 + else 901 + width: + script: + if card.vanguard_frame == "paper" then 51 + else if card.vanguard_frame == "MtGO new" then 29 + else 73 + height: + script: + if card.vanguard_frame == "paper" then 56 + else if card.vanguard_frame == "MtGO new" then 32 + else 41 + z index: 900 + alignment: center middle + font: + name: + script: + if card.vanguard_frame == "paper" then "MPlantin" + else if card.vanguard_frame == "MtGO new" then "MPlantin" + else "Arial-Mdm" + size: + script: + if card.vanguard_frame == "paper" then 10.5 + else if card.vanguard_frame == "MtGO new" then 12 + else 20 + scale down to: 7 + color: black + hand mod: + left: + script: + if card.vanguard_frame == "paper" then 83 + else if card.vanguard_frame == "MtGO new" then 160 + else 186 + top: + script: + if card.vanguard_frame == "paper" then 872 + else if card.vanguard_frame == "MtGO new" then 936 + else 900 + width: + script: + if card.vanguard_frame == "paper" then 44 + else if card.vanguard_frame == "MtGO new" then 76 + else 40 + height: + script: + if card.vanguard_frame == "paper" then 47 + else if card.vanguard_frame == "MtGO new" then 44 + else 41 + z index: 900 + alignment: center middle shrink-overflow + font: + name: + script: + if card.vanguard_frame == "paper" then "Fritz Quadrata Cyrillic" + else if card.vanguard_frame == "MtGO new" then "Beleren Bold" + else "Arial" + size: + script: + if card.vanguard_frame == "paper" then 25 + else if card.vanguard_frame == "MtGO new" then 35 + else 20 + weight: + script: + if card.vanguard_frame == "paper" then "bold" + else if card.vanguard_frame == "MtGO new" then "bold" + else "" + scale down to: 7 + color: black + life mod: + left: + script: + if card.vanguard_frame == "paper" then 615 + else if card.vanguard_frame == "MtGO new" then 508 + else 520 + top: + script: + if card.vanguard_frame == "paper" then 872 + else if card.vanguard_frame == "MtGO new" then 936 + else 900 + width: + script: + if card.vanguard_frame == "paper" then 44 + else if card.vanguard_frame == "MtGO new" then 76 + else 40 + height: + script: + if card.vanguard_frame == "paper" then 47 + else if card.vanguard_frame == "MtGO new" then 44 + else 41 + z index: 900 + alignment: center middle shrink-overflow + font: + name: + script: + if card.vanguard_frame == "paper" then "Fritz Quadrata Cyrillic" + else if card.vanguard_frame == "MtGO new" then "Beleren Bold" + else "Arial" + size: + script: + if card.vanguard_frame == "paper" then 25 + else if card.vanguard_frame == "MtGO new" then 35 + else 20 + weight: + script: + if card.vanguard_frame == "paper" then "bold" + else if card.vanguard_frame == "MtGO new" then "bold" + else "" + scale down to: 7 + color: black + ############################# Information + illustrator: + left: + script: + if card.vanguard_frame == "paper" then 194 + else if card.vanguard_frame == "MtGO new" then (max(262,372 - (card_style.illustrator_brush.width + card_style.illustrator.content_width + 4)/2) + card_style.illustrator_brush.width + 4) + else 125 + top: + script: + if card.vanguard_frame == "paper" then 920 + else if card.vanguard_frame == "MtGO new" then 974 + else 953 + right: + script: + if card.vanguard_frame == "paper" then 550 + else if card.vanguard_frame == "MtGO new" then 482 + else 610 + height: + script: + if card.vanguard_frame == "paper" then 32 + else if card.vanguard_frame == "MtGO new" then 22 + else 27 + z index: 900 + alignment: + script: + if card.vanguard_frame == "paper" then "bottom center shrink-overflow" + else if card.vanguard_frame == "MtGO new" then "middle left shrink-overflow" + else "middle left shrink-overflow" + font: + name: + script: + if card.vanguard_frame == "paper" then "MPlantin" + else if card.vanguard_frame == "MtGO new" then "Matrix" + else "Arial-Mdm" + size: + script: + if card.vanguard_frame == "paper" then 15 + else if card.vanguard_frame == "MtGO new" then 16 + else 24 + weight: + script: + if card.vanguard_frame == "paper" then "" + else if card.vanguard_frame == "MtGO new" then "bold" + else "" + color: + script: + if card.vanguard_frame == "paper" then "black" + else if card.vanguard_frame == "MtGO new" then "white" + else "black" + illustrator brush: + left: { if card.vanguard_frame == "MtGO new" then max(262,372 - (card_style.illustrator_brush.width + card_style.illustrator.content_width + 4)/2) else stylesheet.card_width + 1 } + top: 978 + width: { (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * 744/375 } + height: { 7 * 1039/523 } + popup style: in place + include dark file: /magic.mse-game/information/menu_choice_images + render style: image + image: + script: + shape := illustrator_brush_field(1) + image := "/magic-modules.mse-include/information/" + shape + ".png" + recolor_image(image, color: rgb(255,255,255)) + z index: 900 + copyright: + left: + script: + if card.vanguard_frame == "paper" then 194 + else if card.vanguard_frame == "MtGO new" then 199 + else (335 + max(0, card_style.illustrator.content_width-200)) + top: + script: + if card.vanguard_frame == "paper" then 949 + else if card.vanguard_frame == "MtGO new" then 1002 + else 953 + right: + script: + if card.vanguard_frame == "paper" then 550 + else if card.vanguard_frame == "MtGO new" then 545 + else 610 + height: + script: + if card.vanguard_frame == "paper" then 20 + else if card.vanguard_frame == "MtGO new" then 22 + else 27 + z index: 900 + alignment: + script: + if card.vanguard_frame == "paper" then "top center shrink-overflow" + else if card.vanguard_frame == "MtGO new" then "middle center shrink-overflow" + else "middle right shrink-overflow" + font: + name: + script: + if card.vanguard_frame == "paper" then "Matrix" + else if card.vanguard_frame == "MtGO new" then "Matrix" + else "Arial-Mdm" + size: + script: + if card.vanguard_frame == "paper" then 12 + else if card.vanguard_frame == "MtGO new" then 16 + else 24 + weight: + script: + if card.vanguard_frame == "paper" then "" + else if card.vanguard_frame == "MtGO new" then "bold" + else "" + color: + script: + if card.vanguard_frame == "paper" then "black" + else if card.vanguard_frame == "MtGO new" then "white" + else "black" +############################################################## Extra card fields + +extra card field: + type: choice + name: foil layer + editable: false + save value: false + show statistics: false + choice: foil layer +extra card field: + type: choice + name: cost + show statistics: false + choice: colorless + choice: gold + choice: white + choice: blue + choice: black + choice: red + choice: green +extra card field: + type: choice + name: alias bar + script: card.card_color + save value: false + editable: false +extra card style: + cost: + left: 354 + top: 964 + width: 36 + height: 36 + z index: 210 + visible: { card.vanguard_frame == "paper" } + popup style: in place + render style: image + choice images: + colorless: costs/colorless.png + gold: costs/gold.png + white: costs/white.png + blue: costs/blue.png + black: costs/black.png + red: costs/red.png + green: costs/green.png + image: { "costs/" + extra_card.cost + ".png" } + foil layer: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 1050 + visible: { styling.overlay != "none" and styling.overlay != "" } + render style: image + image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" } + alias bar: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 199 + render style: image + visible: { card.alias != "" } + image: { frame_type() + "alias.png" } diff --git a/data/magic.mse-game/card_fields b/data/magic.mse-game/card_fields index 9296ea2f05..78604eaac7 100644 --- a/data/magic.mse-game/card_fields +++ b/data/magic.mse-game/card_fields @@ -3260,6 +3260,90 @@ card field: card list width: 150 script: card_number_old_3() +############################################################## Planechase +card field: + type: choice + name: planechase frame + description: The frame of the Plane or Phenomenon card. + show statistics: false + card list name: Planechase Frame + card list column: 3000 + card list width: 150 + choice: original + choice: doctor who + choice: CBG +############################################################## Archenemy +card field: + type: choice + name: archenemy frame + description: The frame of the Scheme card. + show statistics: false + card list name: Archenemy Frame + card list column: 3000 + card list width: 150 + choice: original + choice: bolas +############################################################## Hero's Path +card field: + type: choice + name: herospath frame + description: The frame of the Hero card. + show statistics: false + card list name: Hero's Path Frame + card list column: 3000 + card list width: 150 + choice: green + choice: red + choice: purple +############################################################## Vanguard +card field: + type: choice + name: vanguard frame + description: The frame of the Vanguard card. + show statistics: false + card list name: Vanguard Frame + card list column: 3000 + card list width: 150 + choice: paper + choice: MtGO new + choice: MtGO old +card field: + type: text + name: hand mod label + description: The label for the hand size modifier on the Vanguard card. + show statistics: false + multi line: true + card list name: Hand Mod Label + card list column: 3010 + card list width: 150 + default: stylesheet; vanguard_hand_mod_label_default() +card field: + type: text + name: hand mod + description: The hand size modifier on the Vanguard card. + show statistics: false + card list name: Hand Mod + card list column: 3011 + card list width: 80 +card field: + type: text + name: life mod label + description: The label for the starting life modifier on the Vanguard card. + show statistics: false + multi line: true + card list name: Life Mod Label + card list column: 3020 + card list width: 150 + default: stylesheet; vanguard_life_mod_label_default() +card field: + type: text + name: life mod + description: The starting life modifier on the Vanguard card. + show statistics: false + card list name: Life Mod + card list column: 3021 + card list width: 80 + ############################################################## Mirror fields for sorting card field: type: text diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script index f3aeef5172..ea66af51d8 100644 --- a/data/magic.mse-game/script +++ b/data/magic.mse-game/script @@ -1984,8 +1984,9 @@ text_filter := #### - makes all text italic flavor_text_filter_default := { "" } flavor_text_filter := - #### step 1 : remove italic tags + #### step 1 : remove tags remove_tag@(tag: "") + + remove_tag@(tag: " tags { "" + input + "" } + #### curly quotes @@ -2819,6 +2820,16 @@ watermark_scripts := "other magic symbols theros poleis meletis": { watermark_blend(wm_directory + "theros/meletis.png", face:face) } "other magic symbols theros poleis setessa": { watermark_blend(wm_directory + "theros/setessa.png", face:face) } + "other magic symbols hero's path quest 1": { watermark_blend(wm_directory + "herospath/quest1.png", face:face) } + "other magic symbols hero's path quest 2": { watermark_blend(wm_directory + "herospath/quest2.png", face:face) } + "other magic symbols hero's path quest 3": { watermark_blend(wm_directory + "herospath/quest3.png", face:face) } + "other magic symbols hero's path quest 4": { watermark_blend(wm_directory + "herospath/quest4.png", face:face) } + "other magic symbols hero's path quest 5": { watermark_blend(wm_directory + "herospath/quest5.png", face:face) } + "other magic symbols hero's path quest 6": { watermark_blend(wm_directory + "herospath/quest6.png", face:face) } + "other magic symbols hero's path quest 7": { watermark_blend(wm_directory + "herospath/quest7.png", face:face) } + "other magic symbols hero's path quest 8": { watermark_blend(wm_directory + "herospath/quest8.png", face:face) } + "other magic symbols hero's path quest 9": { watermark_blend(wm_directory + "herospath/quest9.png", face:face) } + "alara symbols Bant": { watermark_blend(wm_directory + "alara/bant.png", face:face) } "alara symbols Esper": { watermark_blend(wm_directory + "alara/esper.png", face:face) } "alara symbols Grixis": { watermark_blend(wm_directory + "alara/grixis.png", face:face) } @@ -3306,6 +3317,7 @@ corners_possible_dimensions := "1039x744": "1039x744" "750x1046": "750x1046" "1046x750": "1046x750" + "1488x1039": "1488x1039" "1500x1046": "1500x1046" ] @@ -5925,6 +5937,23 @@ skeleton_info := { +"skeleton_wedge_uncommons: " + skeleton_wedge_uncommons + "\n" +"skeleton_wedge_rares: " + skeleton_wedge_rares) } + +############################################################## Vanguard +vanguard_hand_mod_label_default := +{ + frame := card.vanguard_frame or else "paper" + if frame == "paper" then "Starting & Max. Hand Size" + else if frame == "MtGO new" then "" + else "Hand" +} +vanguard_life_mod_label_default := +{ + frame := card.vanguard_frame or else "paper" + if frame == "paper" then "Starting Life" + else if frame == "MtGO new" then "" + else "Life" +} + ############################################################## Hashes #### return a new Hash hash_new := { diff --git a/data/magic.mse-game/watermarks/herospath_quest1.png b/data/magic.mse-game/watermarks/herospath_quest1.png new file mode 100644 index 0000000000..ecbed249e9 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest1.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest1_dark.png b/data/magic.mse-game/watermarks/herospath_quest1_dark.png new file mode 100644 index 0000000000..a534e41b65 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest1_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest2.png b/data/magic.mse-game/watermarks/herospath_quest2.png new file mode 100644 index 0000000000..c599a7e0c4 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest2.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest2_dark.png b/data/magic.mse-game/watermarks/herospath_quest2_dark.png new file mode 100644 index 0000000000..79b404bc04 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest2_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest3.png b/data/magic.mse-game/watermarks/herospath_quest3.png new file mode 100644 index 0000000000..42a260aa28 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest3.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest3_dark.png b/data/magic.mse-game/watermarks/herospath_quest3_dark.png new file mode 100644 index 0000000000..c22bd456e1 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest3_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest4.png b/data/magic.mse-game/watermarks/herospath_quest4.png new file mode 100644 index 0000000000..ab14def0e3 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest4.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest4_dark.png b/data/magic.mse-game/watermarks/herospath_quest4_dark.png new file mode 100644 index 0000000000..225bba380b Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest4_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest5.png b/data/magic.mse-game/watermarks/herospath_quest5.png new file mode 100644 index 0000000000..251d1b3c59 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest5.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest5_dark.png b/data/magic.mse-game/watermarks/herospath_quest5_dark.png new file mode 100644 index 0000000000..59011f8754 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest5_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest6.png b/data/magic.mse-game/watermarks/herospath_quest6.png new file mode 100644 index 0000000000..282ceff7e9 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest6.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest6_dark.png b/data/magic.mse-game/watermarks/herospath_quest6_dark.png new file mode 100644 index 0000000000..ca67c723a8 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest6_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest7.png b/data/magic.mse-game/watermarks/herospath_quest7.png new file mode 100644 index 0000000000..86430a4f11 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest7.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest7_dark.png b/data/magic.mse-game/watermarks/herospath_quest7_dark.png new file mode 100644 index 0000000000..db43c0e232 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest7_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest8.png b/data/magic.mse-game/watermarks/herospath_quest8.png new file mode 100644 index 0000000000..f048b45248 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest8.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest8_dark.png b/data/magic.mse-game/watermarks/herospath_quest8_dark.png new file mode 100644 index 0000000000..9f2a2017e5 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest8_dark.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest9.png b/data/magic.mse-game/watermarks/herospath_quest9.png new file mode 100644 index 0000000000..6900488cd1 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest9.png differ diff --git a/data/magic.mse-game/watermarks/herospath_quest9_dark.png b/data/magic.mse-game/watermarks/herospath_quest9_dark.png new file mode 100644 index 0000000000..9d61fe5fe3 Binary files /dev/null and b/data/magic.mse-game/watermarks/herospath_quest9_dark.png differ diff --git a/data/magic.mse-game/watermarks/menu_choice_images b/data/magic.mse-game/watermarks/menu_choice_images index a223cf9431..e67b4af679 100644 --- a/data/magic.mse-game/watermarks/menu_choice_images +++ b/data/magic.mse-game/watermarks/menu_choice_images @@ -180,6 +180,16 @@ choice images: other magic symbols theros poleis meletis: /magic.mse-game/watermarks/meletis.png other magic symbols theros poleis setessa: /magic.mse-game/watermarks/setessa.png + other magic symbols hero's path quest 1: /magic.mse-game/watermarks/herospath_quest1.png + other magic symbols hero's path quest 2: /magic.mse-game/watermarks/herospath_quest2.png + other magic symbols hero's path quest 3: /magic.mse-game/watermarks/herospath_quest3.png + other magic symbols hero's path quest 4: /magic.mse-game/watermarks/herospath_quest4.png + other magic symbols hero's path quest 5: /magic.mse-game/watermarks/herospath_quest5.png + other magic symbols hero's path quest 6: /magic.mse-game/watermarks/herospath_quest6.png + other magic symbols hero's path quest 7: /magic.mse-game/watermarks/herospath_quest7.png + other magic symbols hero's path quest 8: /magic.mse-game/watermarks/herospath_quest8.png + other magic symbols hero's path quest 9: /magic.mse-game/watermarks/herospath_quest9.png + alara symbols Bant: /magic.mse-game/watermarks/watermark_bant.png alara symbols Esper: /magic.mse-game/watermarks/watermark_esper.png alara symbols Grixis: /magic.mse-game/watermarks/watermark_grixis.png diff --git a/data/magic.mse-game/watermarks/menu_choice_images_dark b/data/magic.mse-game/watermarks/menu_choice_images_dark index 39809a75ce..4c8a20212d 100644 --- a/data/magic.mse-game/watermarks/menu_choice_images_dark +++ b/data/magic.mse-game/watermarks/menu_choice_images_dark @@ -180,6 +180,16 @@ choice images: other magic symbols theros poleis meletis: /magic.mse-game/watermarks/meletis_dark.png other magic symbols theros poleis setessa: /magic.mse-game/watermarks/setessa_dark.png + other magic symbols hero's path quest 1: /magic.mse-game/watermarks/herospath_quest1_dark.png + other magic symbols hero's path quest 2: /magic.mse-game/watermarks/herospath_quest2_dark.png + other magic symbols hero's path quest 3: /magic.mse-game/watermarks/herospath_quest3_dark.png + other magic symbols hero's path quest 4: /magic.mse-game/watermarks/herospath_quest4_dark.png + other magic symbols hero's path quest 5: /magic.mse-game/watermarks/herospath_quest5_dark.png + other magic symbols hero's path quest 6: /magic.mse-game/watermarks/herospath_quest6_dark.png + other magic symbols hero's path quest 7: /magic.mse-game/watermarks/herospath_quest7_dark.png + other magic symbols hero's path quest 8: /magic.mse-game/watermarks/herospath_quest8_dark.png + other magic symbols hero's path quest 9: /magic.mse-game/watermarks/herospath_quest9_dark.png + alara symbols Bant: /magic.mse-game/watermarks/watermark_bant_dark.png alara symbols Esper: /magic.mse-game/watermarks/watermark_esper_dark.png alara symbols Grixis: /magic.mse-game/watermarks/watermark_grixis_dark.png diff --git a/data/planechase-cbg.mse-style/backdrop.jpg b/data/planechase-cbg.mse-style/backdrop.jpg deleted file mode 100644 index 6b944b4567..0000000000 Binary files a/data/planechase-cbg.mse-style/backdrop.jpg and /dev/null differ diff --git a/data/planechase-cbg.mse-style/card-sample.png b/data/planechase-cbg.mse-style/card-sample.png deleted file mode 100644 index c765b5862f..0000000000 Binary files a/data/planechase-cbg.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-cbg.mse-style/frame.png b/data/planechase-cbg.mse-style/frame.png deleted file mode 100644 index 057f8c4b50..0000000000 Binary files a/data/planechase-cbg.mse-style/frame.png and /dev/null differ diff --git a/data/planechase-cbg.mse-style/style b/data/planechase-cbg.mse-style/style deleted file mode 100644 index 4aef93e871..0000000000 --- a/data/planechase-cbg.mse-style/style +++ /dev/null @@ -1,250 +0,0 @@ -mse version: 0.3.8 -game: planechase -short name: CBG -full name: Planes -installer group: Magic Planes/cbg style -icon: card-sample.png -position hint: 04 - -version: 2010-01-23 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 - -card width: 523 -card height: 375 -card dpi: 150 -#Images by Artfreakwiu -#Code by Pichoro -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: modern - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling field: - type: boolean - name: art behind textbox - description: Should the art extend behind the textbox? - initial: yes -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png -############################################################## Card fields -card style: - ############################# Background stuff - ############################# Name line - name: - left: 44 - top : 22 - right: 483 - height: 23 - alignment: bottom shrink-overflow - padding bottom: 0 - z index: 3 - font: - name: MatrixRegularSmallCaps - size: 17 - weight: bold - color: rgb(255,255,255) - ############################# Image - image: - left: 44 - top: 51 - width: 439 - height: { if styling.art_behind_textbox then 272 else 165 } - z index: 1 - ############################# Card type - type: - left: 40 - top : 220 - width: 416 - height: 20 - alignment: top right shrink-overflow - z index: 3 - padding top: 2 - font: - name: Matrix - size: 12 - color: rgb(255,255,255) - separator color: rgb(128,128,128) - rarity: - right: 500 - top : 224 - width: 42 - height: 26 - z index: 3 - render style: image - alignment: middle center - choice images: - # Images based on the set symbol - basic land: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - ############################# Loyalty - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 66 - top : 328 - width: 425 - height: 11 - z index: 3 - alignment: top left - font: - name: Matrix - size: 8 - weight: bold - color: rgb(255,255,255) - copyright line: - left: 41 - top : 339 - width: 445 - height: 9 - z index: 3 - alignment: top left - font: - name: MPlantin - size: 6 - color: rgb(255,255,255) -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: backdrop -extra card field: - type: choice - name: frame - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: chaos -extra card field: - type: text - name: text - multi line: true - save value: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -extra card style: - background: - left: 0 - top: 0 - width: 523 - height: 375 - z index: 0 - render style: image - choice images: - backdrop: backdrop.jpg - frame: - left: 0 - top: 0 - width: 523 - height: 375 - z index: 2 - render style: image - choice images: - frame: frame.png - chaos symbol: - left: 48 - top: 288 - width: 35 - height: 27 - z index: 3 - render style: image - choice images: - chaos: /magic-mana-small.mse-symbol-font/mana_chaos.png - text: - left: 45 - top : 245 - width: 437 - height: 78 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: rgb(0,0,0) - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - paragraph height: 39 - alignment: middle left - z index: 3 - padding left: 6 - padding right: 4 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - line height soft: 0.9 - line height hard max: 1.3 - line height line max: 1.6 - mask: textbox_mask.png diff --git a/data/planechase-cbg.mse-style/textbox_mask.png b/data/planechase-cbg.mse-style/textbox_mask.png deleted file mode 100644 index 9b3aab7210..0000000000 Binary files a/data/planechase-cbg.mse-style/textbox_mask.png and /dev/null differ diff --git a/data/planechase-forum.mse-export-template/export-template b/data/planechase-forum.mse-export-template/export-template deleted file mode 100644 index 11562736dc..0000000000 --- a/data/planechase-forum.mse-export-template/export-template +++ /dev/null @@ -1,215 +0,0 @@ -mse version: 0.3.8 -short name: Forum -full name: Spoiler Exporter -position hint: 002 -icon: icon.png -version: 2010-05-11 -installer group: Magic Planes/Export/forum - -depends on: - package: planechase.mse-game - version: 2009-08-11 - -game: planechase -file type: *.txt|*.txt|*.*|*.* - -# By Pichoro -# Based on code by Idle Muse, Innuendo and Seeonee - -option field: - type: choice - name: forum - choice: mse - choice: mtgsalvation - description: What forum should the spoiler be formatted for? -option field: - type: boolean - name: text costs - initial: yes - description: Should mana costs be plain text? Symbols usually can't be copied and pasted. -option field: - type: text - name: creator - description: The creator of the set. -option field: - type: boolean - name: include notes - description: Should card notes be included? - initial: no -option field: - type: boolean - name: color rarities - description: Should rarities be colored? - initial: yes -script: - # Colored rarity markers. - rarity_color := { - if card.rarity == "basic land" then " (C)" - else if card.rarity == "common" then " (C)" - else if card.rarity == "uncommon" then " [color=silver](U)[/color]" - else if card.rarity == "rare" then " [color=gold](R)[/color]" - else if card.rarity == "mythic rare" then " [color=orange](M)[/color]" - else if card.rarity == "special" then " [color=purple](S)[/color]" - else " (C)" - } - # Non colored rarity markers. - rarity_uncolor := { - if card.rarity == "basic land" then " (C)" - else if card.rarity == "common" then " (C)" - else if card.rarity == "uncommon" then " (U)" - else if card.rarity == "rare" then " (R)" - else if card.rarity == "mythic rare" then " (M)" - else if card.rarity == "special" then " (S)" - else " (C)" - } - # Formats rules text w/ only italic tags. - forum_rules_filter_plain := replace@(match:"[(]", replace:"[i](")+ - replace@(match:"[)]", replace: ")[/i]") - # Formats rules text w/ mana symbols. MSE and mtgsally use same bbcode tags for mana. - forum_rules_filter_mtgsally_mse := - # Italics around parenthesis. - replace@(match:"[(]", replace:"[i](")+ - replace@(match:"[)]", replace: ")[/i]")+ - # 2/C's don't appear in regular english, format them all. - replace@(match:"2/W", replace:":sym2w:")+ - replace@(match:"2/U", replace:":sym2u:")+ - replace@(match:"2/B", replace:":sym2b:")+ - replace@(match:"2/R", replace:":sym2r:")+ - replace@(match:"2/G", replace:":sym2g:")+ - # C/D's don't appear in regular english, format them all. - replace@(match:"W/U", replace:":symwu:")+ - replace@(match:"W/B", replace:":symwb:")+ - replace@(match:"U/B", replace:":symub:")+ - replace@(match:"U/R", replace:":symur:")+ - replace@(match:"B/R", replace:":symbr:")+ - replace@(match:"B/G", replace:":symbg:")+ - replace@(match:"R/G", replace:":symrg:")+ - replace@(match:"R/W", replace:":symrw:")+ - replace@(match:"G/W", replace:":symgw:")+ - replace@(match:"G/U", replace:":symgu:")+ - # Various positions for taps, untaps and chaos symbols. - replace@(match:" T ", replace:" :symtap: ")+ - replace@(match:" Q ", replace:" :symq: ")+ - replace@(match:" C ", replace:" :symch: ")+ - replace@(match:"T,", replace:":symtap:,")+ - replace@(match:"Q,", replace:":symq:,")+ - replace@(match:"C,", replace:":symch:,")+ - replace@(match:"T:", replace:":symtap::")+ - replace@(match:"Q:", replace:":symq::")+ - replace@(match:"C:", replace:":symch::")+ - # Mana right before a space. - replace@(match:"G ", replace:":symg: ")+ - replace@(match:"R ", replace:":symr: ")+ - replace@(match:"B ", replace:":symb: ")+ - replace@(match:"U ", replace:":symu: ")+ - replace@(match:"W ", replace:":symw: ")+ - replace@(match:"S ", replace:":snow: ")+ - # Mana right before a comma. - replace@(match:"G,", replace:":symg:,")+ - replace@(match:"R,", replace:":symr:,")+ - replace@(match:"B,", replace:":symb:,")+ - replace@(match:"U,", replace:":symu:,")+ - replace@(match:"W,", replace:":symw:,")+ - replace@(match:"S,", replace:":snow:,")+ - # Mana right before a colon. - replace@(match:"G:", replace:":symg::")+ - replace@(match:"R:", replace:":symr::")+ - replace@(match:"B:", replace:":symb::")+ - replace@(match:"U:", replace:":symu::")+ - replace@(match:"W:", replace:":symw::")+ - # Drag rules text to search for more mana characters. Reverse color wheel order works better. Repeat several times. - replace@(match:"G:", replace:":symg::")+ - replace@(match:"R:", replace:":symr::")+ - replace@(match:"B:", replace:":symb::")+ - replace@(match:"U:", replace:":symu::")+ - replace@(match:"W:", replace:":symw::")+ - replace@(match:"G:", replace:":symg::")+ - replace@(match:"R:", replace:":symr::")+ - replace@(match:"B:", replace:":symb::")+ - replace@(match:"U:", replace:":symu::")+ - replace@(match:"W:", replace:":symw::")+ - replace@(match:"G:", replace:":symg::")+ - replace@(match:"R:", replace:":symr::")+ - replace@(match:"B:", replace:":symb::")+ - replace@(match:"U:", replace:":symu::")+ - replace@(match:"W:", replace:":symw::")+ - # Symbolize snow. - replace@(match:"S:", replace:":snow::")+ - replace@(match:"S:", replace:":snow::")+ - replace@(match:"S:", replace:":snow::")+ - # Symbolize numbers from 20-0 when before a comma. - replace@(match:"20,", replace:":20mana:,")+ - replace@(match:"19,", replace:":19mana:,")+ - replace@(match:"18,", replace:":18mana:,")+ - replace@(match:"17,", replace:":17mana:,")+ - replace@(match:"16,", replace:":16mana:,")+ - replace@(match:"15,", replace:":15mana:,")+ - replace@(match:"14,", replace:":14mana:,")+ - replace@(match:"13,", replace:":13mana:,")+ - replace@(match:"12,", replace:":12mana:,")+ - replace@(match:"11,", replace:":11mana:,")+ - replace@(match:"10,", replace:":10mana:,")+ - replace@(match:"9,", replace:":9mana:,")+ - replace@(match:"8,", replace:":8mana:,")+ - replace@(match:"7,", replace:":7mana:,")+ - replace@(match:"6,", replace:":6mana:,")+ - replace@(match:"5,", replace:":5mana:,")+ - replace@(match:"4,", replace:":4mana:,")+ - replace@(match:"3,", replace:":3mana:,")+ - replace@(match:"2,", replace:":2mana:,")+ - replace@(match:"1,", replace:":1mana:,")+ - replace@(match:"0,", replace:":0mana:,")+ - # Symbolize numbers from 20-0 when before another symbol or a colon. - replace@(match:"20:", replace:":20mana::")+ - replace@(match:"19:", replace:":19mana::")+ - replace@(match:"18:", replace:":18mana::")+ - replace@(match:"17:", replace:":17mana::")+ - replace@(match:"16:", replace:":16mana::")+ - replace@(match:"15:", replace:":15mana::")+ - replace@(match:"14:", replace:":14mana::")+ - replace@(match:"13:", replace:":13mana::")+ - replace@(match:"12:", replace:":12mana::")+ - replace@(match:"11:", replace:":11mana::")+ - replace@(match:"10:", replace:":10mana::")+ - replace@(match:"9:", replace:":9mana::")+ - replace@(match:"8:", replace:":8mana::")+ - replace@(match:"7:", replace:":7mana::")+ - replace@(match:"6:", replace:":6mana::")+ - replace@(match:"5:", replace:":5mana::")+ - replace@(match:"4:", replace:":4mana::")+ - replace@(match:"3:", replace:":3mana::")+ - replace@(match:"2:", replace:":2mana::")+ - replace@(match:"1:", replace:":1mana::")+ - replace@(match:"0:", replace:":0mana::")+ - # Symbolize X and Y when before a comma. - replace@(match:"Y,", replace:":symy:,")+ - replace@(match:"X,", replace:":symx:,")+ - # Symbolize X and Y when before another symbol or a colon. - replace@(match:"Y:", replace:":symy::")+ - replace@(match:"X:", replace:":symx::")+ - # Add a Chaos symbol in front of Chaos abilities. - replace@(match:"Whenever you roll :symch:,", replace:":symch: - Whenever you roll :symch:,")+ - # Remove consecutive spaces, as they are meant to adjust text position. - replace@(match:" ", replace:"") - # Count the number of paragraphs to detect number of walker abilities. - write_card := { - # The Name - "\n[b]"+card.name+"[/b]" - # The Type and Rarity - +"\n"+card.type+(if options.color_rarities then rarity_color() else rarity_uncolor()) - # The Rules Text - +(if card.rule_text != "" then "\n") - +(if not options.text_costs then forum_rules_filter_mtgsally_mse(remove_tags(card.rule_text))) - +(if options.text_costs then forum_rules_filter_plain(card.rule_text)) - # The Flavor Text - +(if card.flavor_text != "" then "\n[i]") - +card.flavor_text - +(if card.flavor_text != "" then "[/i]") - # The Notes - +(if options.include_notes and card.notes !="" then "\n[spoiler]Card Notes: ") - +(if options.include_notes and card.notes !="" then card.notes) - +(if options.include_notes and card.notes !="" then "[/spoiler]") - +"\n" - } - write_cards := to_text(for each card in sort_list(set, order_by: {input.card_number}) do write_card()) - to_string("Full Spoiler List for "+set.title+"\nSet by "+options.creator+"\n"+set.description+"\n"+write_cards) diff --git a/data/planechase-forum.mse-export-template/icon.png b/data/planechase-forum.mse-export-template/icon.png deleted file mode 100644 index 6fd47bce79..0000000000 Binary files a/data/planechase-forum.mse-export-template/icon.png and /dev/null differ diff --git a/data/planechase-fullart-horizontal.mse-style/card-sample.png b/data/planechase-fullart-horizontal.mse-style/card-sample.png deleted file mode 100644 index 36f763babf..0000000000 Binary files a/data/planechase-fullart-horizontal.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-fullart-horizontal.mse-style/style b/data/planechase-fullart-horizontal.mse-style/style deleted file mode 100644 index 2fa1a75764..0000000000 --- a/data/planechase-fullart-horizontal.mse-style/style +++ /dev/null @@ -1,224 +0,0 @@ -mse version: 2.0.0 -game: planechase -full name: Full Art Style -short name: Horizontal -installer group: Magic Planes/fullart style/horizontal -icon: card-sample.png -position hint: 100 - -version: 2014-02-04 -depends on: - package: planechase.mse-game - version: 2009-08-10 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 - -card width: 523 -card height: 375 -card dpi: 150 -#By Pichoro -############################################################## Extra scripts -init script: - artist_color := { - if to_int(card.border_color) < 96 then "white" else "black" - } - - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -############################################################## Extra style options -styling field: - type: boolean - name: reverse text color - description: Should text color be black with a white shadow? - initial: no -styling field: - type: text - name: textbox left - description: The top coordinate for the textbox. -styling field: - type: text - name: textbox top - description: The top coordinate for the textbox. -styling field: - type: text - name: textbox width - description: The top coordinate for the textbox. -styling field: - type: text - name: textbox height - description: The height coordinate for the textbox. -styling field: - type: text - name: textbox angle - description: The angle of the textbox. -styling field: - type: choice - name: textbox alignment - description: The alignment of the textbox. - choice: left top shrink-overflow - choice: center top shrink-overflow - choice: right top shrink-overflow - choice: left middle shrink-overflow - choice: center middle shrink-overflow - choice: right middle shrink-overflow - choice: left bottom shrink-overflow - choice: center bottom shrink-overflow - choice: right bottom shrink-overflow -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top : 0 - width: 523 - height: 375 - radius: 18 - left width: 17 - right width: 17 - top width: 17 - bottom width: 18 - z index: -1 - ############################# Text - name: - left: 18 - top: 18 - height: 23 - width: 487 - alignment: bottom shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Matrix - size: 17 - weight: bold - color: {if styling.reverse_text_color then "black" else "white"} - shadow color: {if styling.reverse_text_color then "white" else "black"} - shadow displacement x: 2 - shadow displacement y: 2 - shadow blur: 2 - type: - left: 18 - top: 41 - height: 23 - width: 487 - alignment: bottom shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Matrix - size: 13 - weight: bold - color: {if styling.reverse_text_color then "black" else "white"} - shadow color: {if styling.reverse_text_color then "white" else "black"} - shadow displacement x: 2 - shadow displacement y: 2 - shadow blur: 2 - ############################# Image - image: - left: 17 - top: 17 - width: 489 - height: 340 - z index: 0 - ############################# Rules Text - rule text: - left: {if styling.textbox_left == "" then 0 else styling.textbox_left} - top : {if styling.textbox_top == "" then 0 else styling.textbox_top} - width: {if styling.textbox_width == "" then 0 else styling.textbox_width} - height: {if styling.textbox_height == "" then 0 else styling.textbox_height} - angle: {if styling.textbox_angle == "" then 0 else styling.textbox_angle} - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 0 - color: {if styling.reverse_text_color then "black" else "white"} - shadow color: {if styling.reverse_text_color then "white" else "black"} - shadow displacement x: 2 - shadow displacement y: 2 - shadow blur: 2 - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: {styling.textbox_alignment} - z index: 2 - padding left: 4 - padding top: 2 - padding right: 4 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - ############################# Copyright stuff - copyright line: - left: 507 - #left: 359 - top: 345 - #top: 493 - width: 252 - #width: 400 - height: 10 - angle: 90 - z index: 2 - font: - name: Matrix - size: 8 - weight: bold - color: { artist_color() } -extra card field: - type: text - name: artist line - save value: false - script: forward_editor(prefix: "Illustrated by ", field: card.illustrator) - description: The artist of the card. -extra card style: - artist line: - left: 30 - top: 359 - #top : 507 - width: 365 - #width: 217 - height: 10 - z index: 2 - font: - name: Matrix - size: 8 - weight: bold - color: { artist_color() } diff --git a/data/planechase-fullart.mse-style/card-sample.png b/data/planechase-fullart.mse-style/card-sample.png deleted file mode 100644 index 36f763babf..0000000000 Binary files a/data/planechase-fullart.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-fullart.mse-style/style b/data/planechase-fullart.mse-style/style deleted file mode 100644 index af3548aa2d..0000000000 --- a/data/planechase-fullart.mse-style/style +++ /dev/null @@ -1,219 +0,0 @@ -mse version: 2.0.0 -game: planechase -full name: Full Art Style -short name: Full Art -installer group: Magic Planes/fullart style -icon: card-sample.png -position hint: 100 - -version: 2014-02-04 -depends on: - package: planechase.mse-game - version: 2009-08-10 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 - -card width: 375 -card height: 523 -card dpi: 150 -#By Pichoro -############################################################## Extra scripts -init script: - artist_color := { - if to_int(card.border_color) < 96 then "white" else "black" - } - - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -############################################################## Extra style options -styling field: - type: boolean - name: reverse text color - description: Should text color be black with a white shadow? - initial: no -styling field: - type: text - name: textbox left - description: The top coordinate for the textbox. -styling field: - type: text - name: textbox top - description: The top coordinate for the textbox. -styling field: - type: text - name: textbox width - description: The top coordinate for the textbox. -styling field: - type: text - name: textbox height - description: The height coordinate for the textbox. -styling field: - type: text - name: textbox angle - description: The angle of the textbox. -styling field: - type: choice - name: textbox alignment - description: The alignment of the textbox. - choice: left top shrink-overflow - choice: center top shrink-overflow - choice: right top shrink-overflow - choice: left middle shrink-overflow - choice: center middle shrink-overflow - choice: right middle shrink-overflow - choice: left bottom shrink-overflow - choice: center bottom shrink-overflow - choice: right bottom shrink-overflow -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top : 0 - width: 375 - height: 523 - radius: 18 - left width: 17 - right width: 17 - top width: 17 - bottom width: 18 - z index: -1 - ############################# Text - name: - left: 18 - top: 18 - height: 23 - width: 339 - alignment: bottom shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Matrix - size: 17 - weight: bold - color: {if styling.reverse_text_color then "black" else "white"} - shadow color: {if styling.reverse_text_color then "white" else "black"} - shadow displacement x: 2 - shadow displacement y: 2 - shadow blur: 2 - type: - left: 18 - top: 41 - height: 23 - width: 339 - alignment: bottom shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Matrix - size: 13 - weight: bold - color: {if styling.reverse_text_color then "black" else "white"} - shadow color: {if styling.reverse_text_color then "white" else "black"} - shadow displacement x: 2 - shadow displacement y: 2 - shadow blur: 2 - ############################# Image - image: - left: 17 - top: 17 - width: 341 - height: 488 - z index: 0 - ############################# Rules Text - rule text: - left: {if styling.textbox_left == "" then 0 else styling.textbox_left} - top : {if styling.textbox_top == "" then 0 else styling.textbox_top} - width: {if styling.textbox_width == "" then 0 else styling.textbox_width} - height: {if styling.textbox_height == "" then 0 else styling.textbox_height} - angle: {if styling.textbox_angle == "" then 0 else styling.textbox_angle} - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 0 - color: {if styling.reverse_text_color then "black" else "white"} - shadow color: {if styling.reverse_text_color then "white" else "black"} - shadow displacement x: 2 - shadow displacement y: 2 - shadow blur: 2 - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: {styling.textbox_alignment} - z index: 2 - padding left: 4 - padding top: 2 - padding right: 4 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - ############################# Copyright stuff - copyright line: - left: 359 - top: 493 - width: 400 - height: 10 - angle: 90 - z index: 2 - font: - name: Matrix - size: 8 - weight: bold - color: { artist_color() } -extra card field: - type: text - name: artist line - save value: false - script: forward_editor(prefix: "Illustrated by ", field: card.illustrator) - description: The artist of the card. -extra card style: - artist line: - left: 30 - top : 507 - width: 217 - height: 10 - z index: 2 - font: - name: Matrix - size: 8 - weight: bold - color: { artist_color() } diff --git a/data/planechase-mainframe.mse-style/artist_arrow.png b/data/planechase-mainframe.mse-style/artist_arrow.png deleted file mode 100644 index 6c91374807..0000000000 Binary files a/data/planechase-mainframe.mse-style/artist_arrow.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/card-sample.png b/data/planechase-mainframe.mse-style/card-sample.png deleted file mode 100644 index c9030a2c9c..0000000000 Binary files a/data/planechase-mainframe.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/card.png b/data/planechase-mainframe.mse-style/card.png deleted file mode 100644 index 2e98bf0e5d..0000000000 Binary files a/data/planechase-mainframe.mse-style/card.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/image_mask.png b/data/planechase-mainframe.mse-style/image_mask.png deleted file mode 100644 index 524783697b..0000000000 Binary files a/data/planechase-mainframe.mse-style/image_mask.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/image_mask_high.png b/data/planechase-mainframe.mse-style/image_mask_high.png deleted file mode 100644 index e70c33bdfa..0000000000 Binary files a/data/planechase-mainframe.mse-style/image_mask_high.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/image_mask_low.png b/data/planechase-mainframe.mse-style/image_mask_low.png deleted file mode 100644 index 1ee3c6efd9..0000000000 Binary files a/data/planechase-mainframe.mse-style/image_mask_low.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/image_mask_middle.png b/data/planechase-mainframe.mse-style/image_mask_middle.png deleted file mode 100644 index 112525c9e3..0000000000 Binary files a/data/planechase-mainframe.mse-style/image_mask_middle.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/image_mask_nom.png b/data/planechase-mainframe.mse-style/image_mask_nom.png deleted file mode 100644 index 7bebfb8d5b..0000000000 Binary files a/data/planechase-mainframe.mse-style/image_mask_nom.png and /dev/null differ diff --git a/data/planechase-mainframe.mse-style/style b/data/planechase-mainframe.mse-style/style deleted file mode 100644 index 7b1f3c5f82..0000000000 --- a/data/planechase-mainframe.mse-style/style +++ /dev/null @@ -1,304 +0,0 @@ -mse version: 0.3.8 -game: planechase -short name: Planechase -full name: Mainframe Update -installer group: Magic Planes/normal style -icon: card-sample.png -position hint: 01 - -version: 2018-06-02 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 - -card width: 800 -card height: 559 -card dpi: 150 -#By Pichoro -#Images by Art_Freak -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - - is_nom := {card.supertype == "Phenomenon" } - card_shape := { "plane card" } -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: text - name: font size - description: Set the maximum font size. Default is 16. -styling field: - type: choice - name: chaos break - description: Places the break for the chaos ability. - choice: high - choice: middle - choice: low - initial: middle -styling field: - type: boolean - name: center set info - description: disables the copyright field and centers set and card information - initial: no -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Name line - name: - left: 129 - top: 29 - width: 542 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Beleren Bold - size: 19 - color: black - ############################# Image - image: - left: 24 - top: 22 - width: 753 - height: 513 - z index: 1 - mask: { if is_nom() then "image_mask_nom.png" else "image_mask_" + styling.chaos_break + ".png" } - ############################# Card type - type: - left: 176 - top: 362 - width: 450 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Beleren Bold - size: 14 - color: black - rarity: - right: 624 - top: 377 - width: 43 - height: 21 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - masterpiece: script: symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") - ############################# Text box - text: - left: 95 - width: 613 - top: 402 - height: { if is_nom() then 116 else if styling.chaos_break == "high" then 48 else if styling.chaos_break == "low" then 71 else 62 } - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.font_size != "" then styling.font_size else 16 } - scale down to: 1 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.font_size != "" then styling.font_size else 16 } - alignment: middle left - z index: 2 - line height hard: 1.15 - line height soft: 1.0 - chaos text: - left: 143 - width: { if is_nom() then 0 else 565 } - top: { if styling.chaos_break == "high" then 453 else if styling.chaos_break == "low" then 477 else 469 } - height: { if is_nom() then 0 else if styling.chaos_break == "high" then 65 else if styling.chaos_break == "low" then 42 else 47 } - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.font_size != "" then styling.font_size else 16 } - scale down to: 1 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.font_size != "" then styling.font_size else 16 } - alignment: middle left - z index: 2 - line height hard: 1.2 - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - right: 480 - top: 528 - width: 140 - height: 10 - z index: 2 - alignment: center - font: - name: Beleren Small Caps Bold - size: 7.25 - color: white - copyright: - right: 530 - top: 542 - width: { if styling.center_set_info then 0 else 150 } - height: { if styling.center_set_info then 0 else 10 } - z index: 2 - alignment: middle right shrink-overflow - font: - name: Matrix - size: 8 - color: white - weight: bold - visible: {not set.automatic_copyright} - set code: - left: { (if styling.center_set_info then 365 else 275) + card_style.card_number_m15.content_width } - top: 542 - width: 50 - height: 19 - z index: 1 - font: - name: Relay-Medium - size: 7 - color: white - weight: bold - card number m15: - left: { if styling.center_set_info then 360 else 270 } - top: 542 - width: 120 - height: 19 - z index: 1 - font: - name: Relay-Medium - size: 7 - color: white - weight: bold -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: text - name: auto copyright - script: set.copyright - save value: false - editable: false - show statistics: false -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: chaos -extra card field: - type: choice - name: artist arrow - save value: false - choice: white - editable: false -extra card style: - background: - left: 0 - top: 0 - width: 800 - height: 559 - z index: 0 - render style: image - choice images: - frame: card.png - chaos symbol: - left: 95 - top: { if styling.chaos_break == "high" then 468 else if styling.chaos_break == "low" then 483 else 477 } - width: { if is_nom() then 0 else 38 } - height: { if is_nom() then 0 else 33 } - z index: 2 - render style: image - choice images: - chaos: /magic-mana-small.mse-symbol-font/mana_chaos.png - artist arrow: - left: { 395 - card_style.illustrator.content_width * 0.5 } - top: 531 - width: 12 - height: 7 - z index: 6 - render style: image - image: artist_arrow.png - auto copyright: - right: 530 - top: 542 - width: { if styling.center_set_info then 0 else 150 } - height: { if styling.center_set_info then 0 else 10 } - z index: 2 - alignment: middle right shrink-overflow - font: - name: Matrix - size: 8 - color: white - weight: bold - visible: {set.automatic_copyright} diff --git a/data/planechase-mainframe.mse-style/textbox_mask.png b/data/planechase-mainframe.mse-style/textbox_mask.png deleted file mode 100644 index 1d867a9467..0000000000 Binary files a/data/planechase-mainframe.mse-style/textbox_mask.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/artist_arrow.png b/data/planechase-mini.mse-style/artist_arrow.png deleted file mode 100644 index 6c91374807..0000000000 Binary files a/data/planechase-mini.mse-style/artist_arrow.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/card-sample.png b/data/planechase-mini.mse-style/card-sample.png deleted file mode 100644 index c9030a2c9c..0000000000 Binary files a/data/planechase-mini.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/card.png b/data/planechase-mini.mse-style/card.png deleted file mode 100644 index 2e98bf0e5d..0000000000 Binary files a/data/planechase-mini.mse-style/card.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/image_mask.png b/data/planechase-mini.mse-style/image_mask.png deleted file mode 100644 index 524783697b..0000000000 Binary files a/data/planechase-mini.mse-style/image_mask.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/image_mask_high.png b/data/planechase-mini.mse-style/image_mask_high.png deleted file mode 100644 index e70c33bdfa..0000000000 Binary files a/data/planechase-mini.mse-style/image_mask_high.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/image_mask_low.png b/data/planechase-mini.mse-style/image_mask_low.png deleted file mode 100644 index 1ee3c6efd9..0000000000 Binary files a/data/planechase-mini.mse-style/image_mask_low.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/image_mask_middle.png b/data/planechase-mini.mse-style/image_mask_middle.png deleted file mode 100644 index 112525c9e3..0000000000 Binary files a/data/planechase-mini.mse-style/image_mask_middle.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/image_mask_nom.png b/data/planechase-mini.mse-style/image_mask_nom.png deleted file mode 100644 index 7bebfb8d5b..0000000000 Binary files a/data/planechase-mini.mse-style/image_mask_nom.png and /dev/null differ diff --git a/data/planechase-mini.mse-style/style b/data/planechase-mini.mse-style/style deleted file mode 100644 index 65ea046b1b..0000000000 --- a/data/planechase-mini.mse-style/style +++ /dev/null @@ -1,304 +0,0 @@ -mse version: 0.3.8 -game: planechase -short name: Planechase -full name: Mini Cards -installer group: Magic Planes/normal style -icon: card-sample.png -position hint: 02 - -version: 2018-06-02 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 - -card width: 523 -card height: 375 -card dpi: 150 -#By Pichoro -#Images by Art_Freak -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - - is_nom := {card.supertype == "Phenomenon" } - card_shape := { "plane card" } -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: text - name: font size - description: Set the maximum font size. Default is 16. -styling field: - type: choice - name: chaos break - description: Places the break for the chaos ability. - choice: high - choice: middle - choice: low - initial: middle -styling field: - type: boolean - name: center set info - description: disables the copyright field and centers set and card information - initial: no -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Name line - name: - left: 84 - top: 20 - width: 354 - height: 23 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Beleren Bold - size: 13 - color: black - ############################# Image - image: - left: 16 - top: 15 - width: 492.5 - height: 344 - z index: 1 - mask: { if is_nom() then "image_mask_nom.png" else "image_mask_" + styling.chaos_break + ".png" } - ############################# Card type - type: - left: 114 - top: 243 - width: 294 - height: 23 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Beleren Bold - size: 10 - color: black - rarity: - right: 408 - top: 253 - width: 28 - height: 14 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - masterpiece: script: symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") - ############################# Text box - text: - left: 62 - width: 411 - top: 268 - height: { if is_nom() then 78 else if styling.chaos_break == "high" then 32 else if styling.chaos_break == "low" then 48 else 42 } - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.font_size != "" then styling.font_size else 10 } - scale down to: 1 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.font_size != "" then styling.font_size else 10 } - alignment: middle left - z index: 2 - line height hard: 1.15 - line height soft: 1.0 - chaos text: - left: 94 - width: { if is_nom() then 0 else 369.5 } - top: { if styling.chaos_break == "high" then 304 else if styling.chaos_break == "low" then 319 else 314 } - height: { if is_nom() then 0 else if styling.chaos_break == "high" then 44 else if styling.chaos_break == "low" then 28 else 31.5 } - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.font_size != "" then styling.font_size else 10 } - scale down to: 1 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.font_size != "" then styling.font_size else 10 } - alignment: middle left - z index: 2 - line height hard: 1.2 - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - right: 314 - top: 354 - width: 92 - height: 7 - z index: 2 - alignment: center - font: - name: Beleren Small Caps Bold - size: 6 - color: white - copyright: - right: 385 - top: 364 - width: { if styling.center_set_info then 0 else 130 } - height: { if styling.center_set_info then 0 else 7 } - z index: 2 - alignment: middle right shrink-overflow - font: - name: Matrix - size: 7 - color: white - weight: bold - visible: {not set.automatic_copyright} - set code: - left: { (if styling.center_set_info then 225 else 165) + card_style.card_number_m15.content_width } - top: 362 - width: 34 - height: 12 - z index: 1 - font: - name: Relay-Medium - size: 6.25 - color: white - weight: bold - card number m15: - left: { if styling.center_set_info then 222 else 161 } - top: 362 - width: 81 - height: 12 - z index: 1 - font: - name: Relay-Medium - size: 6.25 - color: white - weight: bold -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: text - name: auto copyright - script: set.copyright - save value: false - editable: false - show statistics: false -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: chaos -extra card field: - type: choice - name: artist arrow - save value: false - choice: white - editable: false -extra card style: - background: - left: 0 - top: 0 - width: 523 - height: 375 - z index: 0 - render style: image - choice images: - frame: card.png - chaos symbol: - left: 62 - top: { if styling.chaos_break == "high" then 314 else if styling.chaos_break == "low" then 324 else 320 } - width: { if is_nom() then 0 else 25 } - height: { if is_nom() then 0 else 22 } - z index: 2 - render style: image - choice images: - chaos: /magic-mana-small.mse-symbol-font/mana_chaos.png - artist arrow: - left: { 256 - card_style.illustrator.content_width * 0.5 } - top: 356 - width: 10 - height: 6 - z index: 6 - render style: image - image: artist_arrow.png - auto copyright: - right: 385 - top: 364 - width: { if styling.center_set_info then 0 else 130 } - height: { if styling.center_set_info then 0 else 7 } - z index: 2 - alignment: middle right shrink-overflow - font: - name: Matrix - size: 7 - color: white - weight: bold - visible: {set.automatic_copyright} diff --git a/data/planechase-mini.mse-style/textbox_mask.png b/data/planechase-mini.mse-style/textbox_mask.png deleted file mode 100644 index 1d867a9467..0000000000 Binary files a/data/planechase-mini.mse-style/textbox_mask.png and /dev/null differ diff --git a/data/planechase-mws.mse-export-template/export-template b/data/planechase-mws.mse-export-template/export-template deleted file mode 100644 index e187c8b724..0000000000 --- a/data/planechase-mws.mse-export-template/export-template +++ /dev/null @@ -1,215 +0,0 @@ -mse version: 0.3.8 -short name: MWS -full name: Plugin Exporter -position hint: 001 -icon: icon.png -version: 2010-05-11 -#Remember to update version at bottom of file. -installer group: Magic Planes/Export/mws - -depends on: - package: planechase.mse-game - version: 2009-08-11 - -game: planechase -create directory: true -file type: *.txt|*.txt|*.*|*.* - -# By Pichoro -# Based on code by Idle Muse, Innuendo and Seeonee - -option field: - type: choice - name: image type - choice: full - choice: crop - description: Should the images exported be full card renders or art crops? -option field: - type: text - name: date created - description: The date this spoiler was first created. -option field: - type: text - name: date modified - description: The date this spoiler was last modified. -option field: - type: boolean - name: export images - description: Should images be exported? - initial: yes -script: - mws_name := replace@(match:"‘", replace:"'")+ - replace@(match:"’", replace:"'")+ - replace@(match:"“", replace:"\"")+ - replace@(match:"”", replace:"\"") - mws_type := replace@(match:"—", replace:"-") - mws_rules := - # Longdashes should be short. - replace@(match:"—", replace:"-")+ - # Linebreaks should be double spaces. - replace@(match:"\n", replace:" ")+ - # No curly quotes or apostrophes. - replace@(match:"‘", replace:"'")+ - replace@(match:"’", replace:"'")+ - replace@(match:"“", replace:"\"")+ - replace@(match:"”", replace:"\"")+ - # Pound signs around parenthesis. - replace@(match:"[(]", replace:"#(")+ - replace@(match:"[)]", replace:")#")+ - # Just automatically symbolize all hybrids. - replace@(match:"2/W", replace:"%E")+ - replace@(match:"2/U", replace:"%F")+ - replace@(match:"2/B", replace:"%H")+ - replace@(match:"2/R", replace:"%J")+ - replace@(match:"2/G", replace:"%M")+ - replace@(match:"W/U", replace:"%D")+ - replace@(match:"W/B", replace:"%O")+ - replace@(match:"U/B", replace:"%V")+ - replace@(match:"U/R", replace:"%I")+ - replace@(match:"B/R", replace:"%K")+ - replace@(match:"B/G", replace:"%Q")+ - replace@(match:"R/G", replace:"%L")+ - replace@(match:"R/W", replace:"%P")+ - replace@(match:"G/W", replace:"%A")+ - replace@(match:"G/U", replace:"%S")+ - # Various positions for taps and untaps. - replace@(match:" T ", replace:" %T ")+ - replace@(match:" Q ", replace:" %C ")+ - replace@(match:"T,", replace:"%T,")+ - replace@(match:"Q,", replace:"%C,")+ - replace@(match:"T:", replace:"%T:")+ - replace@(match:"Q:", replace:"%C:")+ - # Mana right before a space. - replace@(match:"G ", replace:"%G ")+ - replace@(match:"R ", replace:"%R ")+ - replace@(match:"B ", replace:"%B ")+ - replace@(match:"U ", replace:"%U ")+ - replace@(match:"W ", replace:"%W ")+ - replace@(match:"S ", replace:"%N ")+ - # Mana right before a comma. - replace@(match:"G,", replace:"%G,")+ - replace@(match:"R,", replace:"%R,")+ - replace@(match:"B,", replace:"%B,")+ - replace@(match:"U,", replace:"%U,")+ - replace@(match:"W,", replace:"%W,")+ - replace@(match:"S,", replace:"%N,")+ - # Mana right before a colon. - replace@(match:"G:", replace:"%G:")+ - replace@(match:"R:", replace:"%R:")+ - replace@(match:"B:", replace:"%B:")+ - replace@(match:"U:", replace:"%U:")+ - replace@(match:"W:", replace:"%W:")+ - replace@(match:"S:", replace:"%N:")+ - replace@(match:"Y:", replace:"%Y:")+ - replace@(match:"X:", replace:"%X:")+ - # Drag rules text to search for more mana characters. Reverse color wheel order works better. Repeat several times. - replace@(match:"G%", replace:"%G%")+ - replace@(match:"R%", replace:"%R%")+ - replace@(match:"B%", replace:"%B%")+ - replace@(match:"U%", replace:"%U%")+ - replace@(match:"W%", replace:"%W%")+ - replace@(match:"G%", replace:"%G%")+ - replace@(match:"R%", replace:"%R%")+ - replace@(match:"B%", replace:"%B%")+ - replace@(match:"U%", replace:"%U%")+ - replace@(match:"W%", replace:"%W%")+ - replace@(match:"G%", replace:"%G%")+ - replace@(match:"R%", replace:"%R%")+ - replace@(match:"B%", replace:"%B%")+ - replace@(match:"U%", replace:"%U%")+ - replace@(match:"W%", replace:"%W%")+ - # Symbolize snow. - replace@(match:"S%", replace:"%N%")+ - replace@(match:"S%", replace:"%N%")+ - replace@(match:"S%", replace:"%N%")+ - # Symbolize numbers from 10-0 that are before other symbols. - replace@(match:"10%", replace:"%10%")+ - replace@(match:"9%", replace:"%9%")+ - replace@(match:"8%", replace:"%8%")+ - replace@(match:"7%", replace:"%7%")+ - replace@(match:"6%", replace:"%6%")+ - replace@(match:"5%", replace:"%5%")+ - replace@(match:"4%", replace:"%4%")+ - replace@(match:"3%", replace:"%3%")+ - replace@(match:"2%", replace:"%2%")+ - replace@(match:"1%", replace:"%1%")+ - replace@(match:"0%", replace:"%0%")+ - # Symbolize numbers from 10-0 that are before colons. - replace@(match:"10:", replace:"%10:")+ - replace@(match:"9:", replace:"%9:")+ - replace@(match:"8:", replace:"%8:")+ - replace@(match:"7:", replace:"%7:")+ - replace@(match:"6:", replace:"%6:")+ - replace@(match:"5:", replace:"%5:")+ - replace@(match:"4:", replace:"%4:")+ - replace@(match:"3:", replace:"%3:")+ - replace@(match:"2:", replace:"%2:")+ - replace@(match:"1:", replace:"%1:")+ - replace@(match:"0:", replace:"%0:")+ - # Symbolize numbers from 10-0 that are before commas. - replace@(match:"10,", replace:"%10,")+ - replace@(match:"9,", replace:"%9,")+ - replace@(match:"8,", replace:"%8,")+ - replace@(match:"7,", replace:"%7,")+ - replace@(match:"6,", replace:"%6,")+ - replace@(match:"5,", replace:"%5,")+ - replace@(match:"4,", replace:"%4,")+ - replace@(match:"3,", replace:"%3,")+ - replace@(match:"2,", replace:"%2,")+ - replace@(match:"1,", replace:"%1,")+ - replace@(match:"0,", replace:"%0,")+ - # Symbolize X and Y that are before other symbols. - replace@(match:"Y%", replace:"%Y%")+ - replace@(match:"X%", replace:"%X%")+ - # Symbolize X and Y that are before colons. - replace@(match:"Y:", replace:"%Y:")+ - replace@(match:"X:", replace:"%X:")+ - # Symbolize X and Y that are before commas. - replace@(match:"Y,", replace:"%Y,")+ - replace@(match:"X,", replace:"%X,")+ - # Get rid of extra symbolizations. - replace@(match:"%%%", replace:"%")+ - replace@(match:"%%", replace:"%") - mws_flavor := replace@(match:"—", replace:"-")+ - replace@(match:"‘", replace:"'")+ - replace@(match:"’", replace:"'")+ - replace@(match:"“", replace:"\"")+ - replace@(match:"”", replace:"\"")+ - replace@(match:"\n", replace:" ") - mws_artist := replace@(match:"Illus. ", replace:"")+ - replace@(match:"‘", replace:"'")+ - replace@(match:"’", replace:"'")+ - replace@(match:"“", replace:"\"")+ - replace@(match:"”", replace:"\"") - write_card := {"\nCard Name: "+mws_name(card.name) - +"\nCard Color: Art" - +"\nMana Cost: " - +"\nType & Class: "+mws_type(card.type) - +"\nPow/Tou: " - +"\nCard Text: "+mws_rules(remove_tags(card.rule_text)) - +"\nFlavor Text: "+mws_flavor(card.flavor_text) - +"\nArtist: "+mws_artist(card.illustrator) - +"\nRarity: C" - +"\nCard #: "+card.card_number - +"\n" - } - write_cards := to_text(for each card in sort_list(set, order_by: {card.card_number}) do write_card()) - write_images := if options.export_images then (for each card in cards do write_image_file((if options.image_type =="full" then card else card.image), file:"{card.name}{if options.image_type == "full" then ".full" else ""}.jpg")) - to_string(set.title+" Spoiler List\n" - +set.description+"\n" - +"Spoiler List created on "+options.date_created+"\n" - +"Last Updated on: "+options.date_modified - +"\n\nSpoiler generated by Magic Set Editor 2 Beta 0.3.8 Using the MWS Export Template version 2010-05-11" - +"\nExport Template by Pichoro" - +"\nThe only person who assumes any liability for damages from the use of this file is the user." - +"\n\nDirections for use:" - +"\nOpen MWS." - +"\nGo to Tools menu->Analyze/Add/Remove Sets." - +"\n'Add New Edition'." - +"\nEnter set name and key." - +"\nCheck 'get data from text spoiler' and browse to whatever location you stored this file at.\n" - +"Hit 'Next Page', then 'Add Edition'." - +"\nThen, after that closes, hit the 'Save Current Base/Deck' button at the top of your screen." - +"\nRestart Magic Workstation, and enjoy the cards." - +"\n\nWhen using the images, you must rename the folder to the set key you entered into MWS when importing this text file!\n" - +write_cards) diff --git a/data/planechase-mws.mse-export-template/icon.png b/data/planechase-mws.mse-export-template/icon.png deleted file mode 100644 index dbdc7cd4e9..0000000000 Binary files a/data/planechase-mws.mse-export-template/icon.png and /dev/null differ diff --git a/data/planechase-phenomenon.mse-style/card-sample.png b/data/planechase-phenomenon.mse-style/card-sample.png deleted file mode 100644 index 7c5fbda6b3..0000000000 Binary files a/data/planechase-phenomenon.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-phenomenon.mse-style/card.png b/data/planechase-phenomenon.mse-style/card.png deleted file mode 100644 index 63f87d3624..0000000000 Binary files a/data/planechase-phenomenon.mse-style/card.png and /dev/null differ diff --git a/data/planechase-phenomenon.mse-style/card2.png b/data/planechase-phenomenon.mse-style/card2.png deleted file mode 100644 index 2239004fc5..0000000000 Binary files a/data/planechase-phenomenon.mse-style/card2.png and /dev/null differ diff --git a/data/planechase-phenomenon.mse-style/image_mask.png b/data/planechase-phenomenon.mse-style/image_mask.png deleted file mode 100644 index 339060392a..0000000000 Binary files a/data/planechase-phenomenon.mse-style/image_mask.png and /dev/null differ diff --git a/data/planechase-phenomenon.mse-style/style b/data/planechase-phenomenon.mse-style/style deleted file mode 100644 index 6821a6e4ae..0000000000 --- a/data/planechase-phenomenon.mse-style/style +++ /dev/null @@ -1,220 +0,0 @@ -mse version: 2.0.0 -game: planechase -short name: Phenomenons -installer group: Magic Planes/phenomenon style -icon: card-sample.png -position hint: 02 - -version: 2014-01-21 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 -depends on: - package: magic-future-common.mse-include - version: 2007-09-23 - -card width: 800 -card height: 559 -card dpi: 150 -#By Pichoro -#Images by Art_Freak -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Name line - name: - left: 128 - top: 30 - width: 541 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 26 - weight: bold - color: black - ############################# Image - image: - left: 24 - top: 22 - width: 753 - height: 511 - z index: 1 - mask: image_mask.png - ############################# Card type - type: - left: 174 - top: 362 - width: 450 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 20 - color: black - rarity: - right: 624 - top: 377 - width: 43 - height: 21 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 257 - top: 523 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: Matrix - size: 12 - weight: bold - color: white - copyright line: - left: 236 - top: 538 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: MPlantin - size: 9 - color: white -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: paintbrush - save value: false - choice: white - editable: false -extra card field: - type: text - name: text - multi line: true - save value: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -extra card style: - background: - left: 0 - top: 0 - width: 800 - height: 559 - z index: 0 - render style: image - choice images: - frame: card.png - paintbrush: - left: { 375 - card_style.illustrator.content_width * 0.5 } - top: 525 - width: 46 - height: 18 - z index: 6 - render style: image - choice images: - white: /magic-future-common.mse-include/paintbrush_white.png - text: - left: 93 - width: 615 - top: 402 - height: 116 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 16 - scale down to: 1 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 16 - alignment: middle left - z index: 2 - line height hard: 1.1 diff --git a/data/planechase-standard-divided.mse-style/card-sample.png b/data/planechase-standard-divided.mse-style/card-sample.png deleted file mode 100644 index 7c5fbda6b3..0000000000 Binary files a/data/planechase-standard-divided.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-standard-divided.mse-style/style b/data/planechase-standard-divided.mse-style/style deleted file mode 100644 index 907376e983..0000000000 --- a/data/planechase-standard-divided.mse-style/style +++ /dev/null @@ -1,268 +0,0 @@ -mse version: 2.0.0 -game: planechase -short name: Standard -full name: with Divided Textbox -installer group: Magic Planes/normal style/divided -icon: card-sample.png -position hint: 03 - -version: 2014-01-21 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: planechase-standard.mse-style - version: 2009-08-11 -depends on: - package: planechase-standard-gradiented.mse-style - version: 2014-01-21 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 -depends on: - package: magic-future-common.mse-include - version: 2007-09-23 - -card width: 800 -card height: 559 -card dpi: 150 -#By Pichoro -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: text - name: divide location - description: The the height in pixels of the rules text box. The chaos effect will resize accordingly. The default is 63. -styling field: - type: boolean - name: gradiented textbox - description: Should the textbox be gradiented? - initial: no -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Name line - name: - left: 128 - top: 30 - width: 541 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 26 - weight: bold - color: black - ############################# Image - image: - left: 24 - top: 22 - width: 753 - height: 511 - z index: 1 - mask: { "/planechase-standard" + (if styling.gradiented_textbox then "-gradiented" else "") + ".mse-style/image_mask.png" } - ############################# Card type - type: - left: 174 - top: 362 - width: 450 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 20 - color: black - rarity: - right: 624 - top: 377 - width: 43 - height: 21 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - rule text: - left: 93 - width: 615 - top: 402 - height: {if styling.divide_location == "" then 63 else (to_number(styling.divide_location) or else 63)} - font: - name: MPlantin - italic name: MPlantin-Italic - size: 10.5 - scale down to: 0.5 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 10.5 - alignment: middle left - z index: 2 - line height hard: 1.1 - flavor text: - left: 93 - width: 601 - top: {if styling.divide_location == "" then 467 else (404 + to_number(styling.divide_location) or else 63)} - height: {if styling.divide_location == "" then 52 else (113 - to_number(styling.divide_location) or else 52)} - font: - name: MPlantin - italic name: MPlantin-Italic - size: 10.5 - scale down to: 0.5 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 10.5 - alignment: middle left - z index: 2 - line height hard: 1.1 - mask: textbox_mask.png - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 257 - top: 523 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: Matrix - size: 12 - weight: bold - color: white - copyright line: - left: 236 - top: 538 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: MPlantin - size: 9 - color: white -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: chaos -extra card field: - type: choice - name: paintbrush - save value: false - choice: white - editable: false -extra card field: - type: text - name: text - multi line: true - save value: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -extra card style: - background: - left: 0 - top: 0 - width: 800 - height: 559 - z index: 0 - render style: image - choice images: - frame: { "/planechase-standard" + (if styling.gradiented_textbox then "-gradiented" else "") + ".mse-style/card.png" } - chaos symbol: - left: 95 - top: {if styling.divide_location == "" then 474 else ((404 + to_number(styling.divide_location) or else 63) + (((113 - to_number(styling.divide_location) or else 52)/2) - 16))} - width: 38 - height: 33 - z index: 2 - render style: image - choice images: - chaos: /magic-mana-small.mse-symbol-font/mana_chaos.png - paintbrush: - left: { 375 - card_style.illustrator.content_width * 0.5 } - top: 525 - width: 46 - height: 18 - z index: 6 - render style: image - choice images: - white: /magic-future-common.mse-include/paintbrush_white.png diff --git a/data/planechase-standard-divided.mse-style/textbox_mask.png b/data/planechase-standard-divided.mse-style/textbox_mask.png deleted file mode 100644 index 6b9f145a36..0000000000 Binary files a/data/planechase-standard-divided.mse-style/textbox_mask.png and /dev/null differ diff --git a/data/planechase-standard-gradiented.mse-style/card-sample.png b/data/planechase-standard-gradiented.mse-style/card-sample.png deleted file mode 100644 index 7c5fbda6b3..0000000000 Binary files a/data/planechase-standard-gradiented.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-standard-gradiented.mse-style/card.png b/data/planechase-standard-gradiented.mse-style/card.png deleted file mode 100644 index 2239004fc5..0000000000 Binary files a/data/planechase-standard-gradiented.mse-style/card.png and /dev/null differ diff --git a/data/planechase-standard-gradiented.mse-style/image_mask.png b/data/planechase-standard-gradiented.mse-style/image_mask.png deleted file mode 100644 index 23425d27f5..0000000000 Binary files a/data/planechase-standard-gradiented.mse-style/image_mask.png and /dev/null differ diff --git a/data/planechase-standard-gradiented.mse-style/style b/data/planechase-standard-gradiented.mse-style/style deleted file mode 100644 index 1157fad479..0000000000 --- a/data/planechase-standard-gradiented.mse-style/style +++ /dev/null @@ -1,236 +0,0 @@ -mse version: 2.0.0 -game: planechase -short name: Gradiented -installer group: Magic Planes/normal style/gradiented -icon: card-sample.png -position hint: 03 - -version: 2014-01-21 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 -depends on: - package: magic-future-common.mse-include - version: 2007-09-23 - -card width: 800 -card height: 559 -card dpi: 150 -#By Pichoro -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Name line - name: - left: 128 - top: 30 - width: 541 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 26 - weight: bold - color: black - ############################# Image - image: - left: 24 - top: 22 - width: 753 - height: 511 - z index: 1 - mask: image_mask.png - ############################# Card type - type: - left: 174 - top: 362 - width: 450 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 20 - color: black - rarity: - right: 624 - top: 377 - width: 43 - height: 21 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 257 - top: 523 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: Matrix - size: 12 - weight: bold - color: white - copyright line: - left: 236 - top: 538 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: MPlantin - size: 9 - color: white -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: chaos -extra card field: - type: choice - name: paintbrush - save value: false - choice: white - editable: false -extra card field: - type: text - name: text - multi line: true - save value: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -extra card style: - background: - left: 0 - top: 0 - width: 800 - height: 559 - z index: 0 - render style: image - choice images: - frame: card.png - chaos symbol: - left: 95 - top: 474 - width: 38 - height: 33 - z index: 2 - render style: image - choice images: - chaos: /magic-mana-small.mse-symbol-font/mana_chaos.png - paintbrush: - left: { 375 - card_style.illustrator.content_width * 0.5 } - top: 525 - width: 46 - height: 18 - z index: 6 - render style: image - choice images: - white: /magic-future-common.mse-include/paintbrush_white.png - text: - left: 93 - width: 615 - top: 402 - height: 116 - paragraph height: 58 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 16 - scale down to: 1 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 16 - alignment: middle left - z index: 2 - line height hard: 1.1 - mask: textbox_mask.png diff --git a/data/planechase-standard-gradiented.mse-style/textbox_mask.png b/data/planechase-standard-gradiented.mse-style/textbox_mask.png deleted file mode 100644 index 1d867a9467..0000000000 Binary files a/data/planechase-standard-gradiented.mse-style/textbox_mask.png and /dev/null differ diff --git a/data/planechase-standard-small.mse-style/card-sample.png b/data/planechase-standard-small.mse-style/card-sample.png deleted file mode 100644 index 7c5fbda6b3..0000000000 Binary files a/data/planechase-standard-small.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-standard-small.mse-style/style b/data/planechase-standard-small.mse-style/style deleted file mode 100644 index 4ddf0cb09d..0000000000 --- a/data/planechase-standard-small.mse-style/style +++ /dev/null @@ -1,240 +0,0 @@ -mse version: 0.3.8 -game: planechase -short name: Standard Small -installer group: Magic Planes/normal style/small style -icon: card-sample.png -position hint: 03 - -version: 2009-12-18 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 -depends on: - package: magic-future-common.mse-include - version: 2007-09-23 -depends on: - package: planechase-standard.mse-style - version: 2009-08-12 - -card width: 523 -card height: 375 -card dpi: 150 -#By Pichoro -#Images by Art_Freak -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Name line - name: - left: 84 - top : 20 - width: 354 - height: 23 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 17 - weight: bold - color: rgb(0,0,0) - ############################# Image - image: - left: 16 - top: 15 - width: 492 - height: 343 - z index: 1 - mask: /planechase-standard.mse-style/image_mask.png - ############################# Card type - type: - left: 114 - top : 243 - width: 294 - height: 23 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 13.5 - color: black - rarity: - right: 408 - top : 253 - width: 28 - height: 14 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 168 - top : 351 - width: 214 - height: 13 - z index: 2 - alignment: middle center - font: - name: Matrix - size: 8 - weight: bold - color: white - copyright line: - left: 154 - top : 361 - width: 214 - height: 13 - z index: 2 - alignment: middle center - font: - name: MPlantin - size: 6 - color: white -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: chaos -extra card field: - type: choice - name: paintbrush - save value: false - choice: white - editable: false -extra card field: - type: text - name: text - multi line: true - save value: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -extra card style: - background: - left: 0 - top: 0 - width: 523 - height: 375 - z index: 0 - render style: image - choice images: - frame: /planechase-standard.mse-style/card.png - chaos symbol: - left: 62 - top: 318 - width: 25 - height: 22 - z index: 2 - render style: image - choice images: - chaos: /magic-mana-small.mse-symbol-font/mana_chaos.png - paintbrush: - left: { 245 - card_style.illustrator.content_width * 0.5 } - top : 352 - width: 30 - height: 12 - z index: 6 - render style: image - choice images: - white: /magic-future-common.mse-include/paintbrush_white.png - text: - left: 61 - width: 402 - top: 270 - height: 78 - paragraph height: 39 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 10.5 - scale down to: 0.5 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 10.5 - alignment: middle left - z index: 2 - line height hard: 1.1 - mask: /planechase-standard.mse-style/textbox_mask.png diff --git a/data/planechase-standard.mse-style/card-sample.png b/data/planechase-standard.mse-style/card-sample.png deleted file mode 100644 index 7c5fbda6b3..0000000000 Binary files a/data/planechase-standard.mse-style/card-sample.png and /dev/null differ diff --git a/data/planechase-standard.mse-style/card.png b/data/planechase-standard.mse-style/card.png deleted file mode 100644 index 63f87d3624..0000000000 Binary files a/data/planechase-standard.mse-style/card.png and /dev/null differ diff --git a/data/planechase-standard.mse-style/image_mask.png b/data/planechase-standard.mse-style/image_mask.png deleted file mode 100644 index 810621783e..0000000000 Binary files a/data/planechase-standard.mse-style/image_mask.png and /dev/null differ diff --git a/data/planechase-standard.mse-style/style b/data/planechase-standard.mse-style/style deleted file mode 100644 index ddcce73580..0000000000 --- a/data/planechase-standard.mse-style/style +++ /dev/null @@ -1,237 +0,0 @@ -mse version: 0.3.8 -game: planechase -short name: Standard -installer group: Magic Planes/normal style -icon: card-sample.png -position hint: 01 - -version: 2010-05-18 -depends on: - package: planechase.mse-game - version: 2009-08-11 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2009-08-10 -depends on: - package: magic-future-common.mse-include - version: 2007-09-23 - -card width: 800 -card height: 559 -card dpi: 150 -#By Pichoro -#Images by Art_Freak -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Set info fields -set info style: - symbol: - variation: - name: invertedcommon - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgb(0,0,0) -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: inverted common symbol - description: Should the common rarity symbol be inverted, like in Coldsnap? - initial: no -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png - inverted common symbol: - choice images: - no: { symbol_variation(symbol: set.symbol, variation: "common") } - yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } -############################################################## Card fields -card style: - ############################# Name line - name: - left: 128 - top: 30 - width: 541 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 26 - weight: bold - color: black - ############################# Image - image: - left: 24 - top: 22 - width: 753 - height: 511 - z index: 1 - mask: image_mask.png - ############################# Card type - type: - left: 174 - top: 362 - width: 450 - height: 34 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 2 - font: - name: Matrix - size: 20 - color: black - rarity: - right: 624 - top: 377 - width: 43 - height: 21 - z index: 2 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - common: - script: - if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: script: symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: script: symbol_variation(symbol: set.symbol, variation: "special") - ############################# Text box - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 257 - top: 523 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: Matrix - size: 12 - weight: bold - color: white - copyright line: - left: 236 - top: 538 - width: 327 - height: 19 - z index: 2 - alignment: middle center - font: - name: MPlantin - size: 9 - color: white -############################################################## Extra card fields -extra card field: - type: choice - name: background - editable: false - save value: false - choice: frame -extra card field: - type: choice - name: chaos symbol - editable: false - save value: false - choice: chaos -extra card field: - type: choice - name: paintbrush - save value: false - choice: white - editable: false -extra card field: - type: text - name: text - multi line: true - save value: false - script: - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -extra card style: - background: - left: 0 - top: 0 - width: 800 - height: 559 - z index: 0 - render style: image - choice images: - frame: card.png - chaos symbol: - left: 95 - top: 474 - width: 38 - height: 33 - z index: 2 - render style: image - choice images: - chaos: /magic-mana-small.mse-symbol-font/mana_chaos.png - paintbrush: - left: { 375 - card_style.illustrator.content_width * 0.5 } - top: 525 - width: 46 - height: 18 - z index: 6 - render style: image - choice images: - white: /magic-future-common.mse-include/paintbrush_white.png - text: - left: 93 - width: 615 - top: 402 - height: 116 - paragraph height: 58 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 16 - scale down to: 1 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 16 - alignment: middle left - z index: 2 - line height hard: 1.1 - mask: textbox_mask.png diff --git a/data/planechase-standard.mse-style/textbox_mask.png b/data/planechase-standard.mse-style/textbox_mask.png deleted file mode 100644 index 1d867a9467..0000000000 Binary files a/data/planechase-standard.mse-style/textbox_mask.png and /dev/null differ diff --git a/data/planechase.mse-game/card-sample.png b/data/planechase.mse-game/card-sample.png deleted file mode 100644 index b8c7783bdd..0000000000 Binary files a/data/planechase.mse-game/card-sample.png and /dev/null differ diff --git a/data/planechase.mse-game/game b/data/planechase.mse-game/game deleted file mode 100644 index fe598f345b..0000000000 --- a/data/planechase.mse-game/game +++ /dev/null @@ -1,1700 +0,0 @@ -mse version: 2.0.0 -short name: Planes -full name: Magic Plane Cards -installer group: Magic Planes/game files -icon: card-sample.png -position hint: 02 - -version: 2014-03-25 - -#By Pichoro -############################################################## Functions & filters -# General functions -init script: - ############################################################## Sorting mana symbols - - # correctly sort a mana symbol (no guild mana) - mana_sort := sort_text@(order: "XYZI[0123456789]HS(WUBRG)") - # correctly sort guild mana - mana_sort_guild := sort_text@(order: "[XYZI01234567890HSWUBRG/|]") + - replace@( - match: "./.|././.|./././.|.[|]", - in_context: "(^|[^/])($|[^/])", - replace: {sort_text(order:"in_place((WUBRG)")} - ) - mana_has_guild := match@(match: "[/|]") # 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_text@(order: "") - mana_filter_t := replace@( # 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: "^[HSCTQXYZIWUBRG0-9/|]+,", input.param) then - "{add}{combined_cost(input.param)}" - else "{combined_cost(input.param)}" - ) else - "{alternative_cost(input.param)}" - ) else - "{add}{input.param}" - } - alternative_cost := replace@(match:"^[A-Z]", replace: { to_lower() }) - combined_cost := replace@(match:", [A-Z]", replace: { to_lower() })+ - replace@(match:",", replace:" and")+ - replace@(match:"^[SCTQXYZIWUBRG0-9/|]", in_context: "(^|[[:space:]])", replace: "&")+ - replace@(match:"^[A-Z]", replace: { to_lower() }) - long_dash := replace@(match:"-", replace:"—") - - # Converted mana cost - is_half_mana := match@(match: "1/2|[|][WUBRGSH]") - is_colored_mana := match@(match: "[WUBRG]") - only_numbers := filter_text@(match: "^[0123456789]+") - cmc_split := break_text@(match: "(?ix) 1/2 | [|][WUBRG] | [0-9]+(?!/[WUBRGSCTQ2]) | [WUBRGHS0-9](/[WUBRGS])\{0,4} ") - cmc := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_half_mana(sym) then 0.5 - else if numbers != "" then max(1, to_int(numbers)) - else 1 # all other symbols are 1 - )) - } - - colored_mana := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_colored_mana(sym) then - if is_half_mana(sym) then 0.5 else 1 - else 0 - )) - } - - ############################################################## 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 - ( : # G: something - | , # G, tap: something - | [ ]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 - ([ ]]*>[CTQHSXYZIWUBRG0-9/|]+]*>[ ](and|or))* # pay X or Y - [ ] - ([,.)]|$ # (end of word) - |[ ][^ .,]*$ # still typing... - |[ ]( or | and | in | less | more | to ) # or next word is ... - ) - ) - | # keyword argument that is declared as mana - | [ ]* # keyword argument that is declared as cost - | , # 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 - remove_tag@(tag: "") + - remove_tag@(tag: "") + - remove_tag@(tag: "{keyword}" - else keyword + if expand then " ({reminder})" } - ) + - # step 2b : move inline keywords' reminder text to the end of the line - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - # step 3 : expand shortcut words ~ and CARDNAME - replace@( - match: "CARDNAME", - in_context: "(^|[[:space:]]|\\()", - replace: "" - ) + - # step 4 : fill in atom fields - tag_contents@( - tag: "", - contents: { if card.name=="" then "CARDNAME" else card.name } - ) + - # step 4.5 : explict non mana symbols - replace@( - match: "\\][HSCTQXYZIWUBRG0-9/|]+\\[", - replace: {"" + mana_filter_t() + ""} ) + - # step 5 : add mana & tap symbols - replace@( - match: "[HSCTQXYZIWUBRG0-9/|]+", - in_context: mana_context, - replace: {"" + mana_filter_t() + ""} ) + - # step 5b : add explict mana symbols - replace@( - match: "\\[[HSCTQXYZIWUBRG0-9/|]+\\]", - replace: {"" + mana_filter_t() + ""} ) + - # step 7 : italic reminder text - replace@( - match: "[(][^)\n]*[)]?", - in_context: "(^|[[:space:]])|", - replace: "&") + - # step 8 : automatic capitalization, but not after "(" - replace@( - match: "[a-z]", - in_context: "[ ]*: |—| — ", - replace: { to_upper() })+ - curly_quotes - - ############################################################## Other boxes - # the flavor text filter - # - makes all text italic - flavor_text_filter := - # step 1 : remove italic tags - remove_tag@(tag: "") + - # step 2 : surround by tags - { "" + input + "" } + - # curly quotes - curly_quotes - - # Process the name for sorting rules - sort_name := - # Remove "The", "A", and "And" at the beginning - replace@(match: "^(The|An?) ", replace: "") + - # Remove commas and apostrophes - replace@(match: "(,|'|’)", replace: "") + - # Remove bold and italic tags - replace@(match: "(|||)", replace: "") + - # Make lowercase - to_lower - - #Necessary to make magic-mana-future play nicely - colorless_color := { "c" } - - word_count := break_text@(match:"[^[:space:]]+") + length - line_count := split_text@(match:"\n+",include_empty:false) + length - - space_to_comma := replace@(match:"^[A-Z]", replace:",&") - remove_first_comma := replace@(match:"^[,]", replace:"") - all_planes := { - remove_first_comma( - for each card in set do - space_to_comma(to_text(card.subtype)) - ) - } - type_over_type := replace_rule(match:" ?-", replace:"") - plane_type_filter := - tag_remove_rule(tag: "{input}" - else input } - ancestral_mana := {card.name == "nlsfajnalsjfa"} - card_number := { - position ( - of: card - in: set - order_by: { rarity_sort() + sort_index() + sort_name(card.name) } - filter: set_filter() - ) + 1 - } - card_count := { - number_of_items(in: set, filter: set_filter()) - } - - #Starting with M15, zero digits in card numbers should be shown up to three. - card_number_m15 := { (if card_number() < 100 then "0" else "") + (if card_number() < 10 then "0" else "") + card_number() } - card_count_m15 := { (if card_count() < 100 then "0" else "") + (if card_count() < 10 then "0" else "") + card_count() } - is_masterpiece := { card.rarity == "masterpiece" } - rarity_sort := { - if card.shape == "token" then "T1" - else if card.shape == "emblem" then "T2" - else if card.shape == "rulestip" then "T3" - else if card.shape == "counter" then "T4" - else if card.shape == "checklist" then "T5" - else if is_masterpiece() then "T6" - else if set.sort_special_rarity == "with the rest" or card.rarity != "special" then " " - else "S" - } - set_filter := { - # TODO: what about rulestips? - if card.shape == "token" or card.shape == "emblem" then - { card.shape == "token" or card.shape == "emblem" } - else if card.shape == "rulestip" then - { card.shape == "rulestip" } - else if card.shape == "counter" then - { card.shape == "counter" } - else if card.shape == "checklist" then - { card.shape == "checklist" } - else if is_masterpiece() then - { is_masterpiece() } - else if set.sort_special_rarity != "separate numbering" then - { not is_masterpiece() and card.shape != "token" and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist"} - else if card.rarity == "special" then - { not is_masterpiece() and card.shape != "token" and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity == "special" } - else - { not is_masterpiece() and card.shape != "token" and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity != "special" } - } - sort_index := { - (if contains(card.shape, match:"shifted") then "S" else " ") + # planeshifted cards come after normal ones - (if contains(card.shape, match:"split") then "S" else " ") + # split cards come after normal ones - ":" - } - card_shape := { "plane card" } - is_nom := {card.supertype == "Phenomenon"} - - ancestral_mana := {"false"} - white_text := {false} - ############################################################## Mainframe mana - use_v_mana := {contains(set.custom_mana_symbol_name, match:".png")} - use_large_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in casting costs")} - use_small_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in text boxes")} - use_color_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"colored mana symbols") and not use_hybrid_v_mana()} - use_hybrid_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"hybrid with colors")} - v_mana_name := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"(.+/|\\.png)", replace:"")} - v_mana_loc := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"{v_mana_name()}\\.png", replace:"")} - v_mana_num := {max(to_number(set.number_hybrid_variants),0) or else -1} - - symbol_font_small_color := { "black" } -############################################################## 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: text - name: set code - description: Typically, a three letter code for the set. -set field: - type: text - name: set language - description: Typically, a two letter code for the language the set is in. -set field: - type: text - name: masterpiece set code - description: The letter code for masterpieces, typically MSP -set field: - type: symbol - name: symbol - description: The symbol for this set, double click to edit -set field: - type: symbol - name: masterpiece symbol - description: The symbol for this sets masterpieces, click to edit -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, pseudo, 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: yes - description: Should card numbers be shown on the cards? -set field: - type: boolean - name: automatic copyright - description: Should the copyright line above be shown on the cards? -set field: - type: choice - name: sort special rarity - description: Determines how cards with special rarity are sorted. - choice: with the rest - choice: after other cards - choice: separate numbering - initial: after other cards -set field: - type: info - name: custom mana -set field: - type: text - name: custom mana symbol name - description: Use mana symbols from magic-mainframe-extras.mse-include. Input NAME.png here, check help below for file instructions. -set field: - type: multiple choice - name: mana symbol options - choice: enable in casting costs - choice: enable in text boxes - choice: colored mana symbols - choice: hybrid with colors -set field: - type: text - name: number hybrid variants - description: Change each number hybrid (0/X, 1/X, 2/X ... 11/X) up to this number to a specific variant instead of a hybrid symbol. -set field: - type: choice - name: mana symbol help - choice: Click here for mana symbol help! - choice: In your mainframe-extras folder, create folders named "large" and/or "small" depending on your usage - choice: Large is for only mana costs, small for only text, create both if you use both - choice: Additionally, you can create a "future" folder for M15 Future mana costs - choice: Save NAME.png to the relevant folders. Remember that large symbols have dropshadows - choice: For the name option above, set the address of the image, minus mainframe-extras and large/small/future - choice: Ex: magic-mainframe-extras/cajun/large/hazard.png would use cajun/hazard.png - choice: Standard size is 160x160 for small, 200x200 for small hybrid and future, 165x178 for large, 205x218 for large hybrid - choice: If your symbol mixes with colors (such as Phyrexian mana): Save NAME_w.png, NAME_u.png, etc to those folders too. - choice: If your symbol hybrids with colors (like 2/W): [Note, doesn't work on M15 Future mana costs.] - choice: Save NAME_h.png to those folders too. See mana_bb.png and similar for how this image should look. - choice: Your mana symbol will now be keyed to V (and V/W, V/U, etc. for colored/hybrid symbols). - choice: You can change number hybrids (2/V etc) to different mana symbols for even more custom symbols. - choice: Put the highest number to change (from 0 to 11) in "number hybrid variants" and save as NAME_0.png etc. - -############################# Default style -default set style: - title: - padding left: 2 - font: - size: 16 - symbol: - max aspect ratio: 2.5 - variation: - name: common - border radius: 0.10 - fill type: solid - fill color: rgb(0,0,0) - border color: rgb(255,255,255) - variation: - name: uncommon - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(224,224,224) - fill color 2: rgb(84, 84, 84) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(214,196,94) - fill color 2: rgb(95, 84, 40) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: mythic rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(245,148,31) - fill color 2: rgb(186,45,38) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: special - border radius: 0.10 - fill type: linear gradient - fill color 1: rgb(224,170,247) - fill color 2: rgb(58,7,80) - border color 1: rgb(255,255,255) - border color 2: rgb(255,255,255) - masterpiece symbol: - max aspect ratio: 2.5 - variation: - name: common - border radius: 0.10 - fill type: solid - fill color: rgb(0,0,0) - border color: rgb(255,255,255) - variation: - name: uncommon - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(224,224,224) - fill color 2: rgb(84, 84, 84) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(214,196,94) - fill color 2: rgb(95, 84, 40) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: mythic rare - border radius: 0.07 - fill type: linear gradient - fill color 1: rgb(245,148,31) - fill color 2: rgb(186,45,38) - border color 1: rgb(0, 0, 0) - border color 2: rgb(0, 0, 0) - variation: - name: special - border radius: 0.10 - fill type: linear gradient - fill color 1: rgb(224,170,247) - fill color 2: rgb(58,7,80) - border color 1: rgb(255,255,255) - border color 2: rgb(255,255,255) - variation: - name: watermark - border radius: 0.10 - fill type: solid - fill color: rgb(255,255,255) - border color: rgba(0,0,0,0) - automatic reminder text: - render style: checklist - direction: vertical - mana symbol options: - render style: checklist - direction: vertical -############################################################## Card fields -############################# Background stuff -card field: - type: choice - name: shape - show statistics: false - choice: normal - choice: token - choice: flip - choice: split - choice: fuse split - choice: double faced - choice: planeswalker - choice: shifted - choice: rulestip - choice: leveler - choice: augment - choice: counter - choice: checklist - choice: emblem - choice: plane card - script: card_shape() # determined by the style -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 - description: The border of the card; can be any solid color -############################# 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 - description: The name of the card -#### compatibility with mana fonts -card field: - type: choice - name: card symbol - description: The symbol of the card. - show statistics: false - card list name: Symbol - card list column: 0920 - card list width: 100 - choice: none -############################# Image -card field: - type: image - name: image - show statistics: false - description: The image of the card -############################# Card type -card field: - type: text - name: supertype - description: The supertype of the card - script: type_over_type(value) - show statistics: false -card field: - type: text - name: subtype - description: The subtype of the card - script: plane_type_filter(value) - position hint: 11 - icon: stats/card_type.png -card field: - type: text - name: type - show statistics: false - save value: false - script: - # Either just supertype, or subtype - supertype - combined_editor( - field1: card.supertype, - separator: " — ", - field2: card.subtype, - soft_before_empty: true, - hide_when_empty: true - ) - card list visible: true - card list column:2 - description: The type of this card, type - to go the subtype -card field: - type: choice - name: rarity - position hint: 100 - choice: common - choice: uncommon - choice: rare - choice: mythic rare - choice: masterpiece - choice: special - initial: common - card list visible: true - card list column: 6 - icon: stats/rarity.png - description: The rarity of the card, to edit the symbol switch to the 'set info' tab - choice colors: - common: rgb(33,33,33) - uncommon: rgb(224,224,224) - mythic rare: rgb(202, 49, 35) - rare: rgb(255,207,52) - special: rgb(190,0,255) -############################# Text box -card field: - type: text - name: rule text - script: text_filter(value) - show statistics: false - multi line: true - description: The rules text of the card -card field: - type: text - name: chaos text - script: text_filter(value) - show statistics: false - multi line: true - description: The chaos text of the card -card field: - type: text - name: flavor text - script: flavor_text_filter(value) - show statistics: false - multi line: true - description: The flavor text of the card -card field: - type: text - name: text - multi line: true - save value: false - show statistics: false - script: - if is_nom() then combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - else forward_editor(field: card.rule_text) - description: The rules and flavor text for the card; use up and down arrows to switch -############################# PT -############################# Card sorting / numbering -card field: - type: text - name: card number - save value: false - script: card_number() + "/" + card_count() - sort script: rarity_sort() + card.card_number - card list visible: true - card list column: 10 - card list width: 50 - card list name: # - card list alignment: right - editable: false - show statistics: false -card field: - type: text - name: card number m15 - save value: false - script: card_number_m15() + "/" + card_count_m15() - sort script: rarity_sort() + card.card_number - card list visible: false - editable: false - show statistics: false -card field: - type: text - name: custom card number - save value: true - editable: true - show statistics: false -card field: - type: text - name: set code - editable: false - save value: false - script: set.set_code + (if set.set_code != "" or set.set_language!= "" then " • ") + set.set_language - show statistics: false -card field: - type: text - name: card code text - editable: true - save value: true - show statistics: false -############################# Copyright stuff -card field: - type: text - name: illustrator - default: set.artist - description: The illustrator of the image - icon: stats/illustrator.png - position hint: 100 -card field: - type: text - name: copyright text - default: " " - description: The copyright field - show statistics: false -card field: - type: text - name: copyright - default: set.copyright - show statistics: 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) - description: The copyright and card number of the card -############################################################### Extra Statistics -statistics dimension: - name: type - script: card.supertype - position hint: 10 - icon: stats/card_type.png -statistics dimension: - name: keywords - position hint: 1000 - script: keyword_usage(unique:true) - show empty: false - split list: true - icon: stats/keywords.png -statistics dimension: - name: style - position hint: 1001 - script: stylesheet.short_name - icon: stats/stylesheet.png -statistics dimension: - name: text length (words) - position hint: 100 - script: word_count(to_text(card.rule_text)) - numeric: true - bin size: 5 - icon: stats/text_length.png -statistics dimension: - name: text length (lines) - position hint: 101 - script: line_count(to_text(card.rule_text)) - numeric: true - icon: stats/text_length.png -############################################################## Auto replace -# Do we need categories? -#auto replace category: text box -#auto replace category: copyright -#auto replace category: everywhere -auto replace: - match: (C) - replace: © -auto replace: - match: AE - replace: Æ - whole word: false -auto replace: - match: TM - replace: ™ - whole word: false -auto replace: - match: -- - replace: — -auto replace: - # note the spaces - match: - - - replace: - — -auto replace: - match: CIP - replace: enters the battlefield -auto replace: - match: AAA - replace: as an additional cost to cast -auto replace: - match: ~ - replace: CARDNAME -auto replace: - match: ' - replace: ’ -auto replace: - match: roll chaos - replace: Whenever you roll C, -############################################################## Card pack items -pack type: - name: card - filter: card.name != "" -############################################################## Card packs -pack type: - name: booster pack - item: - name: card - amount: 1 -############################################################## Word lists -word list: - name: plane - word: - script: all_planes() - line below: true - # Start with 5 most recently visited planes. - word: Mirrodin - word: New Phyrexia - word: Innistrad - word: Ravnica - word: Theros - word: - name: Post-Mending Planes - word: Alara - word: Aranzhur - word: Diraden - word: Innistrad - word: Kephalai - word: Lorwyn - word: New Phyrexia - word: Regatha - word: Shadowmoor - word: Tavelia - word: Theros - word: Zendikar - word: - name: Post-Revisionist Planes - word: Kamigawa - word: Mercadia - word: Mirrodin - word: Rath - word: Ravnica - word: Serra's Realm - word: - name: Pre-Revisionist Planes - word: Azoria - word: Bolas's Meditation Realm - word: Cabralin - word: Cridhe - word: Dominaria - word: Equilor - word: Ergamon - word: Gastal - word: Ilcae - word: Moag - word: Nether Void - word: Phyrexia - word: Pyrulea - word: Rabiah - word: Segovia - word: Shandalar - word: Ulgrotha - word: Vatraquaz - word: Wildfire - word: - name: Planechase Planes - word: Arkhos - word: Azgol - word: Belenon - word: Fabacin - word: Iquatana - word: Ir - word: Kaldheim - word: Karsus - word: Kinshala - word: Kolbahan - word: Kyneth - word: Luvion - word: Mongseng - word: Muraganda - word: Valla - word: Vryn - word: Xerex -############################################################## Keywords -############################# Keyword rules - -has keywords: true - -#keyword preview: {keyword} ({reminder}) - -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: [HSCTQXYZI0-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\} - refer script: - name: colored mana cost - description: Converts mana to number of colored mana - # "0" left in so users can easily see how to edit script. - script: \{colored_mana({input}) + 0\} -# By pichoro and bunnierein -keyword parameter type: - name: cost - match: [ ][HSCTQXYZI0-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 " - 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 " - 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: one_word - match: [A-Za-z0-9]+ -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: english_number - match: [ upto]*[(an? |one |two |three |four |five |six |seven |eight |nine |ten )]* -keyword parameter type: - name: prefix - description: Prefix for things like "walk" - optional: false - match: [A-Z][A-Z,a-z’ ]* - example: Forest -keyword parameter type: - name: a - match: [an?]* -keyword parameter type: - name: nonland - match: ( n?o?n?l?a?n?d? ?) -############################# 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 or planeswalker. -keyword: - keyword: Banding - match: banding - mode: old - reminder: 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. -keyword: - keyword: Landwalk - match: prefixwalk - mode: core - reminder: This creature is unblockable as long as defending player controls a {if match(param1.value, match: " land$") or contains(param1.value, match: "Snow") or contains(param1.value, match:"Basic") or contains(param1.value, match:"Legendary") then "{to_lower(param1)}" else "{param1}"}. -keyword: - keyword: Protection from - match: protection from name - 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 name - mode: old - reminder: Any {param1} can attack in a band as long as at least one has “bands with other {param1}.” Bands are blocked as a group. If at least two {param1} you control, one of which has “bands with other {param1},” are blocking or being blocked by the same creature, you divide that creature’s combat damage, not its controller, among any of the creatures it’s being blocked by or is blocking. -keyword: - keyword: Rampage - match: rampage number - 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 cost - 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: It phases in or out before you untap during each of your untap steps. While it’s phased out, it’s treated as though it doesn’t exist. -keyword: - keyword: Flanking - match: flanking - mode: expert - 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast it. If you do, put it into your hand as it resolves. -keyword: - keyword: Echo - match: echo cost - 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 cost - mode: expert - reminder: {param1}, Discard it: Draw a card. -keyword: - keyword: Haste - match: haste - mode: core - reminder: It can attack and T as soon as 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 number - mode: expert - reminder: It enters the battlefield 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast the card. -keyword: - keyword: Flashback - match: flashback cost - mode: expert - reminder: You may cast it from your graveyard for its flashback cost. Then exile it. -keyword: - keyword: Threshold - match: Threshold - mode: pseudo - rules: Threshold — [effect] as long as seven or more cards are in your graveyard. -keyword: - keyword: Madness - match: madness cost - mode: expert - reminder: If you discard it, you may cast it for its madness cost instead of putting it into your graveyard. -keyword: - keyword: Morph - match: morph cost - mode: expert - reminder: You may cast it face down as a 2/2 creature for 3. Turn it face up any time for its morph cost. -keyword: - keyword: Fear - match: fear - mode: old - reminder: It can’t be blocked except by artifact creatures and/or black creatures. -keyword: - keyword: Amplify - match: amplify number - mode: expert - reminder: As it enters the battlefield, 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: prefixcycling cost - 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 cast it, copy it for each spell cast before it this turn. You may choose new targets for the copies. -keyword: - keyword: Affinity for - match: affinity for name - mode: expert - reminder: It costs 1 less to cast for each {english_singular(param1)} you control. -keyword: - keyword: Entwine - match: entwine cost - mode: expert - reminder: Choose both if you pay the entwine cost. -keyword: - keyword: Equip - match: equip cost - mode: core - reminder: {param1}: Attach to target creature you control. Equip only as a sorcery. -keyword: - keyword: Imprint - match: Imprint - mode: pseudo - rules: Imprint — When it enters the battlefield, you may exile a [something] from [somewhere]. -keyword: - keyword: Modular - match: modular number - mode: expert - reminder: It enters the battlefield 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 number - 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 enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. If it isn’t a creature, use charge counters instead. -keyword: - keyword: Art rampage - match: art rampage number - mode: expert - reminder: Whenever it blocked by a creature, it gets +{param1}/+{param1} for each creature in the blocker’s art beyond the first. -keyword: - keyword: Super haste - match: Super haste - mode: expert - reminder: It may attack the turn before you cast it. (You may have it enter the battlefield from your hand, tapped and attacking, during your declare attackers step. If you do, you lose the game at the end of your next turn unless you pay its mana cost during that turn.) -keyword: - keyword: Gotcha - match: Gotcha - mode: pseudo - rules: Gotcha — Whenever an opponent [does something], you may say “Gotcha!”. If you do, return [something] from your graveyard to your hand. -keyword: - keyword: Splice - match: splice onto name cost - mode: expert - reminder: As you cast 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 number - mode: expert - reminder: When it blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn. -keyword: - keyword: Soulshift - match: soulshift number - mode: expert - reminder: When it is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost {param1} or less from your graveyard to your hand. -keyword: - keyword: Enchant - match: enchant name - mode: core - reminder: Target a {param1} as you cast the card. The card enters the battlefield 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: prefix offering - mode: expert - reminder: You may cast it any time you could cast 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 cost - mode: expert - reminder: {param1}, Return an unblocked attacker you control to hand: Put that card onto the battlefield from your hand tapped and attacking. -keyword: - keyword: Epic - match: epic - mode: expert - reminder: For the rest of the game, you can’t cast 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 - rules: Channel — [cost], Discard a card: [effect]. -keyword: - keyword: Sweep - match: Sweep - mode: pseudo - rules: Sweep — Return any number of [basic land type] you control to their owner’s hand. [effect based on number of lands returned]. -keyword: - keyword: Convoke - match: convoke - mode: expert - reminder: Each creature you tap while casting the card reduces its cost by 1 or by one mana of that creature’s color. -keyword: - keyword: Transmute - match: transmute cost - 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. Transmute only as a sorcery. -keyword: - keyword: Dredge - match: dredge number - 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 - rules: Radiance — [effect to target permanent or spell and all cards of same card type that share a color with it]. -keyword: - keyword: Haunt - match: haunt - mode: expert - reminder: When it is put into a graveyard from the battlefield, or when it resolves if it is not a permanent, exile it haunting target creature. -keyword: - keyword: Bloodthirst - match: bloodthirst number - mode: expert - reminder: If an opponent was dealt damage this turn, the permanent enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Replicate - match: replicate cost - mode: expert - reminder: When you cast it, copy it for each time you paid its replicate cost. You may choose new targets for the copies. -keyword: - keyword: Graft - match: graft number - mode: expert - reminder: It enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever a creature enters the battlefield, you may move a +1/+1 counter from the permanent onto it. -keyword: - keyword: Forecast - match: forecast — action, Reveal name from your hand: action - mode: expert - reminder: Activate the ability only during your upkeep and only once each turn. -keyword: - keyword: Hellbent - match: Hellbent - mode: pseudo - rules: Hellbent — [effect] if you have no cards in hand. -keyword: - keyword: Recover - match: recover cost - mode: expert - reminder: When a creature is put into your graveyard from the battlefield, you may {for_mana_costs(add:"pay ",param1)}. If you do, return the card from your graveyard to your hand. Otherwise, exile this card. -keyword: - keyword: Ripple - match: ripple number - mode: expert - reminder: When you cast it, you may reveal the top {english_number_multiple(param1)} card(s) of your library. You may cast 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 cast it any time you could cast an instant. -keyword: - keyword: Split second - match: split second - mode: expert - reminder: As long as it is on the stack, players can’t cast spells or activate abilities that aren’t mana abilities. -keyword: - keyword: Suspend - match: suspend numbercost - mode: expert - reminder: Rather than cast it from your hand, you may pay {param2} and exile it 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, cast it without paying its mana cost. If it is a creature, it has haste. -keyword: - keyword: Vanishing - match: vanishing number - mode: expert - reminder: It enters the battlefield 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: Any amount of damage it deals to a creature is enough to destroy it. -keyword: - keyword: Reach - match: reach - mode: core - reminder: It can block creatures with flying. -keyword: - keyword: Gravestorm - match: gravestorm - mode: expert - reminder: When you cast 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: Damage dealt by it also causes you to gain that much life. -keyword: - keyword: Absorb - match: absorb number - mode: expert - reminder: If a source would deal damage to it, prevent {param1} of that damage. -keyword: - keyword: Fateseal - match: fateseal number - 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 cost - 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 onto the battlefield. Then shuffle your library. Transfigure only as a sorcery. -keyword: - keyword: Aura swap - match: aura swap cost - mode: expert - reminder: {param1}: Exchange it with an Aura card in your hand. -keyword: - keyword: Frenzy - match: frenzy number - 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 exile any number of cards in your graveyard as you cast it. It costs 1 less to cast for each card exiled this way. -keyword: - keyword: Poisonous - match: poisonous number - 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 cost - mode: expert - reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. It enters the battlefield unattached and stays on the battlefield if the land leaves. -keyword: - keyword: Grandeur - match: Grandeur - mode: pseudo - rules: Grandeur — Discard another card named [something]: [effect]. -keyword: - keyword: Evoke - match: evoke cost - mode: expert - reminder: You may cast it for its evoke cost. If you do, it’s sacrificed when it enters the battlefield. -keyword: - keyword: Champion - match: champion a name - mode: expert - reminder: When it enters the battlefield, sacrifice it unless you exile another {param2} you control. When it leaves the battlefield, return that card to the battlefield. -keyword: - keyword: Clash - match: clash - mode: expert - reminder: 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. -keyword: - keyword: Changeling - match: changeling - mode: expert - reminder: It is every creature type at all times. -keyword: - keyword: Hideaway - match: hideaway - mode: expert - reminder: The land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. -keyword: - keyword: Prowl - match: prowl cost - mode: expert - reminder: You may cast it for its prowl cost if you dealt combat damage to a player this turn with a creature that shares a type with it. -keyword: - keyword: Reinforce - match: reinforce numbercost - mode: expert - reminder: {param2}, Discard it: Put {english_number_a(param1)} +1/+1 counter(s) on target creature. -keyword: - keyword: Kinship - match: Kinship - mode: pseudo - rules: Kinship — At the beginning of your upkeep, you may look at the top card of your library. If that card shares a creature type with it, you may reveal it. If you do, [effect]. -keyword: - keyword: Persist - match: persist - mode: expert - reminder: When it is put into a graveyard from the battlefield, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it. -keyword: - keyword: Wither - match: wither - mode: expert - reminder: It deals damage to creatures in the form of -1/-1 counters. -keyword: - keyword: Conspire - match: conspire - mode: expert - reminder: As you cast it, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy. -keyword: - keyword: Retrace - match: retrace - mode: expert - reminder: You may cast it from your graveyard by discarding a land card in addition to paying its other costs. -keyword: - keyword: Chroma - match: Chroma - mode: pseudo - rules: Chroma — [effect] based on the number of [color] mana symbols [in graveyard, under your control, in cards you discard]. -keyword: - keyword: Unearth - match: unearth cost - mode: expert - reminder: {param1}: Return it from your graveyard to the battlefield. If it is a creature, it gains haste. Exile it at the beginning of the end step or if it would leave the battlefield. Unearth only as a sorcery. -keyword: - keyword: Devour - match: devour number - mode: expert - reminder: As it enters the battlefield, you may sacrifice any number of creatures. It enters the battlefield with { if param1.value == 1 then "" else if param1.value == 2 then "twice " else english_number(param1) + " times " }that many +1/+1 counters on it. -keyword: - keyword: Exalted - match: exalted - mode: expert - reminder: Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn. -keyword: - keyword: Domain - match: Domain - mode: pseudo - rules: Domain — [effect] for each basic land type among lands you control. -keyword: - keyword: Cascade - match: cascade - mode: expert - reminder: When you cast it, exile the top card of your library until you remove a nonland card that costs less. You may cast that card without paying its mana cost. Put the exiled cards on the bottom of your library at random. -keyword: - keyword: Intimidate - match: intimidate - mode: core - reminder: It can’t be blocked except by artifact creatures and/or creatures that share a color with it. -keyword: - keyword: Landfall - match: Landfall - mode: pseudo - rules: Landfall — Whenever a land enters the battlefield under your control, [effect]. -keyword: - keyword: Multikicker - match: multikicker cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ", param1)} any number of times as you cast it. -keyword: - keyword: Annihilator - match: annihilator number - mode: expert - reminder: Whenever it attacks, defending player sacrifices {english_number_a(param1)} permanent(s). -keyword: - keyword: Rebound - match: rebound - mode: expert - reminder: If you cast it from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast it from exile without paying its mana cost. -keyword: - keyword: Totem armor - match: totem armor - mode: expert - reminder: If enchanted creature would be destroyed, instead remove all damage from the creature and destroy it. -keyword: - keyword: Level up - match: level up cost - mode: expert - reminder: {param1}: Put a level counter on it. Level up only as a sorcery. -keyword: - keyword: Infect - match: infect - mode: expert - reminder: This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters. -keyword: - keyword: Proliferate - match: proliferate - mode: expert - reminder: You may choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there. -keyword: - keyword: Metalcraft - match: Metalcraft - mode: pseudo - rules: Metalcraft — As long as you control three or more artifacts, [effect]. -keyword: - keyword: Battle cry - match: battle cry - mode: expert - reminder: Whenever it attacks, each other attacking creature gets +1/+0 until end of turn. -keyword: - keyword: Living weapon - match: living weapon - mode: expert - reminder: When it enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach it to the creature. -keyword: - keyword: Hexproof - match: hexproof - mode: core - reminder: It can't be the target of spells or abilities your opponents control. -keyword: - keyword: Morbid - match: Morbid - mode: pseudo - rules: Morbid — If a creature died this turn, [effect]. -keyword: - keyword: Fight - match: fight - mode: action - reminder: Each deals damage equal to its power to the other. -keyword: - keyword: Undying - match: undying - mode: expert - reminder: When it dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it. -keyword: - keyword: Fateful hour - match: Fateful hour - mode: pseudo - rules: Fateful hour — As long as you have 5 or less life, [effect]. -keyword: - keyword: Miracle - match: miracle cost - mode: expert - reminder: You may cast it for its miracle cost when you draw it if it's the first card you drew this turn. -keyword: - keyword: Soulbond - match: soulbond - mode: expert - reminder: You may pair it with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them. -keyword: - keyword: Detain - match: detainenglish_numbertargetnonlandone_word - mode: action - reminder: Until your next turn, {if contains(param1.value, match:"one") or param1.value == " " then "that" else "those"} {param3} can't attack or block and its activated abilities can't be activated. -keyword: - keyword: Overload - match: overload cost - mode: expert - reminder: You may cast it for its overload cost. If you do, change its text by replacing all instances of "target" with "each". -keyword: - keyword: Unleash - match: unleash - mode: expert - reminder: You may have it enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it. -keyword: - keyword: Scavenge - match: scavenge cost - mode: expert - reminder: {param1}, Exile it from your graveyard: Put a number of +1/+1 counters equal to its power on target creature. Scavenge only as a sorcery. -keyword: - keyword: Populate - match: populate - mode: action - reminder: Put a token onto the battlefield that's a copy of a creature token you control. -keyword: - keyword: Extort - match: extort - mode: expert - reminder: Whenever you cast spell, you may pay [W/B]. If you do, each opponent loses 1 life and you gain that much life. -keyword: - keyword: Cipher - match: cipher - mode: expert - reminder: Then you may exile it encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost. -keyword: - keyword: Bloodrush - match: Bloodrush - mode: pseudo - rules: Bloodrush — [cost], Discard ~: Target attacking creature gets [effect]. -keyword: - keyword: Battalion - match: Battalion - mode: pseudo - rules: Battalion — Whenever ~ and at least two other creatures attack, [effect]. -keyword: - keyword: Evolve - match: evolve - mode: expert - reminder: Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than it, put a +1/+1 counter on it. -keyword: - keyword: Fuse - match: fuse - mode: expert - reminder: You may cast one or both halves of it from your hand. -keyword: - keyword: Indestructible - match: indestructible - mode: core - reminder: Damage and effects that say "destroy" don't destroy it. -keyword: - keyword: Hero's Reward - match: Hero's Reward - mode: pseudo -keyword: - keyword: Monstrosity - match: monstrosity number - mode: expert - reminder: If it isn’t monstrous, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes monstrous. -keyword: - keyword: Heroic - match: Heroic - mode: pseudo - rules: Whenever you cast a spell that targets ~, [effect]. -keyword: - keyword: Bestow - match: bestow cost - mode: expert - reminder: If you cast it for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature. -keyword: - keyword: Devotion - match: devotion to action - mode: action - reminder: Each {color_to_mana(param1)} in the mana costs of permanents you control counts toward your devotion to {param1}. -keyword: - keyword: Tribute - match: tribute number - mode: expert - reminder: As it enters the battlefield, an opponent of your choice may put {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Inspiration - match: Inspiration - mode: pseudo - rules: Inspiration - Whenever ~ becomes untapped, [effect]. diff --git a/data/planechase.mse-game/keywords b/data/planechase.mse-game/keywords deleted file mode 100644 index aa822b7e7b..0000000000 --- a/data/planechase.mse-game/keywords +++ /dev/null @@ -1,1263 +0,0 @@ - -############################################################## We have keywords - -has keywords: true - -############################################################## Keyword mode - -keyword mode: - name: old - description: Old keywords (Banding, Phasing, etc.) -keyword mode: - name: core - description: Core set keywords (Flying, Haste, etc.) -keyword mode: - name: expert - description: Expert set keywords (Cycling, Vanishing, etc.) -keyword mode: - name: pseudo - description: Pseudo keyword / Ability words (Hellbent, Threshold, etc.) -keyword mode: - name: action - description: Keyword actions, reminder text at end of line (Scry, Regenerate, etc.) -keyword mode: - is default: true - name: custom - description: Custom keywords - -############################################################## Keyword parameter types - -keyword parameter type: - name: mana - match: [HSCTQXYZI0-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})\} - refer script: - name: colored mana cost - description: Converts mana to number of colored mana - # "0" left in so users can easily see how to edit script. - script: \{colored_mana({input})\} - -# By pichoro and bunnierein -keyword parameter type: - name: cost - match: [ ][HSCTQXYZI0-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 " - 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 " - 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})\} - refer script: - name: as ordinal words - description: (first, second, third) - script: \{english_number_ordinal({input})\} - -keyword parameter type: - name: action - match: [^(:\n]+ - separator after is: [.] - reminder script: alternative_cost() - -keyword parameter type: - name: one_word - match: [A-Za-z0-9]+ - -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})\} - refer script: - name: separate words with "and/or" - description: Changes spaces to " and/or ". "Elf Warrior" becomes "Elf and/or Warrior". - script: \{separate_words(spacer: " and/or ", {input})\} - refer script: - name: separate words with "or" - description: Changes spaces to " or ". "Elf Warrior" becomes "Elf or Warrior". - script: \{separate_words(spacer: " or ", {input})\} - -keyword parameter type: - name: prefix - description: Prefix for things like "walk" - optional: false -# match: [A-Z][a-z, ]*([A-Z][a-z, ]*\xEB00) # commented out because it stopped prefix param from working, version below allows all "walks", including "Dame Judi Denchwalk", doesn't trigger #in middle of sentences, and doesn't trigger in chains of keywords. -# match: [A-Z][A-Z,a-z’ ]* # commented out due to still not working - match: [^(.:;\n—]+ - example: Forest -keyword parameter type: - name: english_number - match: [ upto]*[(an? |one |two |three |four |five |six |seven |eight |nine |ten )]* - -keyword parameter type: - name: a - match: [an?]* -keyword parameter type: - name: nonland - match: ( n?o?n?l?a?n?d? ?) - -############################# All Magic keywords -# By JrEye and Neko_Asakami, Updated by Pichoro and Buttock1234 - -# Alpha -keyword: - keyword: Flying - match: Flying - mode: core - reminder: This creature can’t be blocked except by creatures with flying or reach. -keyword: - keyword: First strike - match: First strike - mode: core - reminder: This creature deals combat damage before creatures without first strike. -keyword: - keyword: Trample - match: Trample - mode: core - reminder: This creature can deal excess combat damage to defending player or planeswalker while attacking. -keyword: - keyword: Banding - match: Banding - mode: old - reminder: 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. -keyword: - keyword: Landwalk - match: prefixwalk - mode: old - reminder: This creature can't be blocked as long as defending player controls a {if match(param1.value, match: " land$") or contains(param1.value, match: "Snow") or contains(param1.value, match:"Basic") or contains(param1.value, match:"Legendary") then "{to_lower(param1)}" else "{param1}"}. -keyword: - keyword: Protection from - match: Protection from name - mode: expert - reminder: Nothing {english_singular(param1)} can block, target, deal damage to, or attach to {if has_pt() then "this creature" else "this permanent"}. -keyword: - keyword: Regeneration - match: Regenerate - mode: action - reminder: The next time {if has_pt() then "this creature" else "this"} would be destroyed this turn, it isn’t.{if has_pt() then " Instead tap it, remove all damage from it, and remove it from combat." else " Instead tap it."} -# Legends -keyword: - keyword: Bands with other - match: Bands with other name - mode: old - reminder: Any {param1} can attack in a band as long as at least one has “bands with other {param1}.” Bands are blocked as a group. If at least two {param1} you control, one of which has “bands with other {param1},” are blocking or being blocked by the same creature, you divide that creature’s combat damage, not its controller, among any of the creatures it’s being blocked by or is blocking. -keyword: - keyword: Rampage - match: Rampage number - mode: old - reminder: Whenever this creature becomes blocked, it gets +{param1}/+{param1} until end of turn for each creature blocking it beyond the first. -# Ice Age -keyword: - keyword: Cumulative upkeep - match: Cumulative upkeep cost - mode: old - reminder: 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. -# Mirage -keyword: - keyword: Phasing - match: Phasing - mode: old - reminder: This phases in or out before you untap during each of your untap steps. While it’s phased out, it’s treated as though it doesn’t exist. -keyword: - keyword: Flanking - match: Flanking - mode: expert - reminder: Whenever a creature without flanking blocks this creature, the blocking creature gets -1/-1 until end of turn. -# Unglued -keyword: - keyword: Denimwalk - match: Denimwalk - mode: old - reminder: If defending player is wearing any clothing made of denim, this creature is unblockable. -# Tempest -keyword: - keyword: Shadow - match: Shadow - mode: expert - reminder: This creature can block or be blocked by only creatures with shadow. -keyword: - keyword: Buyback - match: Buyback cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast this spell. If you do, put this card into your hand as it resolves. -# Urza's Saga -keyword: - keyword: Echo - match: Echo cost - mode: expert - reminder: At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost. -keyword: - keyword: Cycling - match: Cycling cost - mode: expert - reminder: {param1}, Discard this card: Draw a card. -# Sixth Edition -keyword: - keyword: Haste - match: Haste - mode: core - reminder: This creature can attack and T as soon as it comes under your control. -# Portal: Three Kingdoms -keyword: - keyword: Horsemanship - match: Horsemanship - mode: old - reminder: This creature can’t be blocked except by creatures with horsemanship. -# Nemesis -keyword: - keyword: Fading - match: Fading number - mode: expert - reminder: This {if has_pt() then "creature" else "permanent"} enters the battlefield 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. -# Invasion -keyword: - keyword: Kicker - match: Kicker cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ", param1)} as you cast this spell. -# Odyssey -keyword: - keyword: Flashback - match: Flashback cost - mode: expert - reminder: You may cast this card from your graveyard for its flashback cost. Then exile it. -keyword: - keyword: Threshold - match: Threshold - mode: pseudo - rules: Threshold — [effect] as long as seven or more cards are in your graveyard. -# Torment -keyword: - keyword: Madness - match: Madness cost - mode: expert - reminder: If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard. -# Onslaught -keyword: - keyword: Morph - match: Morph cost - mode: expert - reminder: You may cast this card face down as a 2/2 creature for 3. Turn it face up any time for its morph cost. -keyword: - keyword: Fear - match: Fear - mode: old - reminder: This creature can’t be blocked except by artifact creatures and/or black creatures. -# Legions -keyword: - keyword: Amplify - match: Amplify number - mode: expert - reminder: As this creature enters the battlefield, put {english_number_a(param1)} +1/+1 counter(s) on it for each {separate_words(spacer: " and/or ", card.sub_type)} card you reveal in your hand. -keyword: - keyword: Double strike - match: Double strike - mode: core - reminder: This creature deals both first-strike and regular combat damage. -keyword: - keyword: Provoke - match: Provoke - mode: expert - reminder: When this attacks, you may have target creature defending player controls untap and block it if able. -# Scourge -keyword: - keyword: Typecycling - match: one_wordcycling cost - mode: action - reminder: {param2}, Discard this card: 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 cast this spell, copy it for each spell cast before it this turn.{ if is_targeted() then " You may choose new targets for the copies." } -# Mirrodin -keyword: - keyword: Affinity for - match: Affinity for name - mode: expert - reminder: This spell costs 1 less to cast for each {english_singular(param1)} you control. -keyword: - keyword: Entwine - match: Entwine cost - mode: expert - reminder: Choose both if you pay the entwine cost. -keyword: - keyword: Equip - match: Equip cost - mode: core - reminder: {param1}: Attach to target creature you control. Equip only as a sorcery. -keyword: - keyword: Imprint - match: Imprint - mode: pseudo - rules: When ~ enters the battlefield, you may exile a [something] from [somewhere]. -# Darksteel -keyword: - keyword: Modular - match: Modular number - mode: expert - reminder: This enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. When it dies, you may put its +1/+1 counters on target artifact creature. -# Fifth Dawn -keyword: - keyword: Scry - match: Scry number - mode: action - reminder: - To scry {param1}, look at the top { - if param1.value==1 then "card of your library. You may put that card on the bottom of your library." - else "{english_number(param1)} cards of your library, then put any number of them on the bottom of your library and the rest on top in any order." - } -keyword: - keyword: Sunburst - match: Sunburst - mode: expert - reminder: This enters the battlefield with a {if has_pt() then "+1/+1" else "charge"} counter on it for each color of mana spent to cast it. -# Unhinged -keyword: - keyword: Art rampage - match: Art rampage number - mode: expert - reminder: Whenever this becomes blocked by a creature, it gets +{param1}/+{param1} for each creature in the blocker’s art beyond the first. -keyword: - keyword: Super haste - match: Super haste - mode: expert - reminder: This may attack the turn before you cast it. (You may have this card enter the battlefield from your hand, tapped and attacking, during your declare attackers step. If you do, you lose the game at the end of your next turn unless you pay this card’s mana cost during that turn.) -keyword: - keyword: Gotcha - match: Gotcha - mode: pseudo - rules: Gotcha — Whenever an opponent [does something], you may say “Gotcha!”. If you do, return [something] from your graveyard to your hand. -# Champions of Kamigawa -keyword: - keyword: Splice - match: Splice onto name cost - mode: expert - reminder: As you cast a {param1} 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. -keyword: - keyword: Bushido - match: Bushido number - mode: expert - reminder: When this blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn. -keyword: - keyword: Soulshift - match: Soulshift number - mode: expert - reminder: When this creature dies, you may return target Spirit card with converted mana cost {param1} or less from your graveyard to your hand. -keyword: - keyword: Enchant - match: Enchant name - mode: core - reminder: Target a {param1} as you cast this. This card enters the battlefield attached to that {param1}. -keyword: - keyword: Vigilance - match: Vigilance - mode: core - reminder: Attacking doesn’t cause this creature to tap. -keyword: - keyword: Defender - match: Defender - mode: core - reminder: This creature can’t attack. -# Betrayers of Kamigawa -keyword: - keyword: Offering - match: prefix offering - mode: expert - reminder: You may cast this card any time you could cast an instant by sacrificing a {param1} and paying the difference in mana costs between this and the sacrificed {param1}. Mana cost includes color. -keyword: - keyword: Ninjutsu - match: Ninjutsu cost - mode: expert - reminder: {param1}, Return an unblocked attacker you control to hand: Put this card onto the battlefield from your hand tapped and attacking. -# Saviors of Kamigawa -keyword: - keyword: Epic - match: Epic - mode: expert - reminder: For the rest of the game, you can’t cast spells. At the beginning of each of your upkeeps, copy this spell except for its epic ability.{ if is_targeted() then " You may choose a new target for the copy." } -keyword: - keyword: Channel - match: Channel - mode: pseudo - rules: Channel — [cost], Discard ~: [effect]. -keyword: - keyword: Sweep - match: Sweep - mode: pseudo - rules: Sweep — Return any number of [basic land type] you control to their owner’s hand. [effect based on number of lands returned]. -# Ravnica: City of Guilds -keyword: - keyword: Convoke - match: Convoke - mode: expert - reminder: 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. -keyword: - keyword: Transmute - match: Transmute cost - mode: expert - reminder: {param1}, Discard this card: Search your library for a card with the same converted mana cost as this card, reveal it, and put it into your hand. Then shuffle your library. Transmute only as a sorcery. -keyword: - keyword: Dredge - match: Dredge number - 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 this card from your graveyard to your hand. Otherwise, draw a card. -keyword: - keyword: Radiance - match: Radiance - mode: pseudo - rules: Radiance — [effect to target permanent or spell and all cards of same card type that share a color with it] -# Guildpact -keyword: - keyword: Haunt - match: Haunt - mode: expert - reminder: When this { if is_spell() then "spell card is put into a graveyard after resolving," else "creature dies," } exile it haunting target creature. -keyword: - keyword: Bloodthirst - match: Bloodthirst number - mode: expert - reminder: If an opponent was dealt damage this turn, this {if has_pt() then "creature" else "permanent"} enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Replicate - match: Replicate cost - mode: expert - reminder: When you cast this spell, copy it for each time you paid its replicate cost.{ if is_targeted() then " You may choose new targets for the copies." } -# Dissension -keyword: - keyword: Graft - match: Graft number - mode: expert - reminder: {if has_pt() then "This creature" else "This permanent"} enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever {if has_pt() then "another" else "a"} creature enters the battlefield, you may move a +1/+1 counter from {if has_pt() then "this creature" else "this permanent"} onto it. -keyword: - keyword: Forecast - match: Forecast — action, Reveal name from your hand: action - mode: expert - reminder: Activate this ability only during your upkeep and only once each turn. -keyword: - keyword: Hellbent - match: Hellbent - mode: pseudo - rules: Hellbent — [effect] if you have no cards in hand. -# Cold Snap -keyword: - keyword: Recover - match: Recover cost - mode: expert - reminder: When a creature is put into your graveyard from the battlefield, you may {for_mana_costs(add:"pay ",param1)}. If you do, return this card from your graveyard to your hand. Otherwise, exile this card. -keyword: - keyword: Ripple - match: Ripple number - mode: expert - reminder: When you cast this spell, you may reveal the top {english_number_multiple(param1)} card(s) of your library. You may cast any revealed cards with the same name as this spell without paying their mana costs. Put the rest on the bottom of your library. -# Time Spiral -keyword: - keyword: Flash - match: Flash - mode: core - reminder: You may cast this spell any time you could cast an instant. -keyword: - keyword: Split second - match: Split second - mode: expert - reminder: As long as this spell is on the stack, players can’t cast spells or activate abilities that aren’t mana abilities. -keyword: - keyword: Suspend - match: Suspend numbercost - mode: expert - reminder: Rather than cast this card from your hand,{if has_cc() then " you may" else ""} {for_mana_costs(add:"pay ", param2)} and exile it 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, cast it without paying its mana cost.{if has_pt() then " It has haste." } -# Planar Chaos -keyword: - keyword: Vanishing - match: Vanishing number - mode: expert - reminder: This permanent enters the battlefield 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. -# Future Sight -keyword: - keyword: Deathtouch - match: Deathtouch - mode: core - reminder: Any amount of damage this deals to a creature is enough to destroy it. -keyword: - keyword: Reach - match: Reach - mode: core - reminder: This creature can block creatures with flying. -keyword: - keyword: Gravestorm - match: Gravestorm - mode: expert - reminder: When you cast this spell, copy it for each permanent put into a graveyard this turn.{ if is_targeted() then " You may choose new targets for the copies." } -keyword: - keyword: Lifelink - match: Lifelink - mode: core - reminder: Damage dealt by this { if has_pt() then "creature" else if is_spell() then "spell" else "permanent" } also causes you to gain that much life. -keyword: - keyword: Absorb - match: Absorb number - mode: expert - reminder: If a source would deal damage to this creature, prevent {param1} of that damage. -keyword: - keyword: Fateseal - match: Fateseal number - mode: action - reminder: - To fateseal {param1}, 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 cost - mode: expert - reminder: {param1}, Sacrifice this creature: Search your library for a creature card with the same converted mana cost as this creature and put that card onto the battlefield. Then shuffle your library. Transfigure only as a sorcery. -keyword: - keyword: Aura swap - match: Aura swap cost - mode: expert - reminder: {param1}: Exchange this Aura with an Aura card in your hand. -keyword: - keyword: Frenzy - match: Frenzy number - mode: expert - reminder: Whenever this creature attacks and isn’t blocked, it gets +{param1}/+0 until end of turn. -keyword: - keyword: Delve - match: Delve - mode: expert - reminder: Each card you exile from your graveyard while casting this spell pays for 1. -keyword: - keyword: Poisonous - match: Poisonous number - mode: expert - reminder: Whenever this creature 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: This permanent can’t be the target of spells or abilities. -keyword: - keyword: Fortify - match: Fortify cost - mode: expert - reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. This card enters the battlefield unattached and stays on the battlefield if the land leaves. -keyword: - keyword: Grandeur - match: Grandeur - mode: pseudo - rules: Grandeur — Discard another card named ~: [effect]. -# Lorwyn -keyword: - keyword: Evoke - match: Evoke cost - mode: expert - reminder: You may cast this spell for its evoke cost. If you do, it’s sacrificed when it enters the battlefield. -keyword: - keyword: Champion - match: Champion a name - mode: expert - reminder: When this enters the battlefield, sacrifice it unless you exile another {param2} you control. When this leaves the battlefield, that card returns to the battlefield. -keyword: - keyword: Clash - match: Clash - mode: action - reminder: 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. -keyword: - keyword: Changeling - match: Changeling - mode: expert - reminder: This card is every creature type at all times. -keyword: - keyword: Hideaway - match: Hideaway - mode: expert - reminder: This land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. -# Morningtide -keyword: - keyword: Prowl - match: Prowl cost - mode: expert - reminder: You may cast this for its prowl cost if you dealt combat damage to a player this turn with a {separate_words(spacer: " or ", card.sub_type)}. -keyword: - keyword: Reinforce - match: Reinforce numbercost - mode: expert - reminder: {param2}, Discard this card: Put {english_number_a(param1)} +1/+1 counter(s) on target creature. -keyword: - keyword: Kinship - match: Kinship - mode: pseudo - rules: Kinship — At the beginning of your upkeep, you may look at the top card of your library. If that card shares a creature type with ~, you may reveal it. If you do, [effect]. -# Shadowmoor -keyword: - keyword: Persist - match: Persist - mode: expert - reminder: When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it. -keyword: - keyword: Wither - match: Wither - mode: expert - reminder: This deals damage to creatures in the form of -1/-1 counters. -keyword: - keyword: Conspire - match: Conspire - mode: expert - reminder: As you cast this spell, you may tap two untapped creatures you control that share a color with it. When you do, copy it{ if is_targeted() then " and you may choose a new target for the copy" }. -# Eventide -keyword: - keyword: Retrace - match: Retrace - mode: expert - reminder: You may cast this card from your graveyard by discarding a land card in addition to paying its other costs. -keyword: - keyword: Chroma - match: Chroma - mode: pseudo - rules: Chroma — [effect] based on the number of [color] mana symbols [in graveyard, under your control, in cards you discard]. -# Shards of Alara -keyword: - keyword: Unearth - match: Unearth cost - mode: expert - reminder: {param1}: Return this card from your graveyard to the battlefield. {if has_pt() then "It gains haste. " else "" }Exile it at the beginning of the end step or if it would leave the battlefield. Unearth only as a sorcery. -keyword: - keyword: Devour - match: Devour number - mode: expert - reminder: As this enters the battlefield, you may sacrifice any number of creatures. This creature enters the battlefield with { if param1.value == 1 then "" else if param1.value == 2 then "twice " else english_number(param1) + " times " }that many +1/+1 counters on it. -keyword: - keyword: Exalted - match: Exalted - mode: expert - reminder: Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn. -# Conflux -keyword: - keyword: Basic landcycling - match: Basic landcycling cost - mode: expert - reminder: {param1}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library. -keyword: - keyword: Domain - match: Domain - mode: pseudo - rules: Domain — [effect] for each basic land type among lands you control. -# Alara Reborn -keyword: - keyword: Cascade - match: Cascade - mode: expert - reminder: When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom in a random order. -# Magic 2010 -keyword: - keyword: Intimidate - match: Intimidate - mode: old - reminder: This creature can’t be blocked except by artifact creatures and/or creatures that share a color with it. -# Zendikar -keyword: - keyword: Landfall - match: Landfall - mode: pseudo - rules: Landfall — Whenever a land enters the battlefield under your control, [effect]. -# Worldwake -keyword: - keyword: Multikicker - match: Multikicker cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ", param1)} any number of times as you cast this spell. -# Rise of the Eldrazi -keyword: - keyword: Annihilator - match: Annihilator number - mode: expert - reminder: Whenever this creature attacks, defending player sacrifices {english_number_a(param1)} permanent(s). -keyword: - keyword: Rebound - match: Rebound - mode: expert - reminder: If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost. -keyword: - keyword: Totem armor - match: Totem armor - mode: expert - reminder: If enchanted {if contains(card.text, match:"Enchant creature") then "creature" else "permanent"} would be destroyed, instead remove all damage from it and destroy this Aura. -keyword: - keyword: Level up - match: Level up cost - mode: expert - reminder: {param1}: Put a level counter on this. Level up only as a sorcery. -# Scars of Mirrodin -keyword: - keyword: Infect - match: Infect - mode: expert - reminder: This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters. -keyword: - keyword: Proliferate - match: Proliferate - mode: action - reminder: You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there. -keyword: - keyword: Metalcraft - match: Metalcraft - mode: pseudo - rules: Metalcraft — As long as you control three or more artifacts, [effect]. -# Mirrodin Besieged -keyword: - keyword: Battle cry - match: Battle cry - mode: expert - reminder: Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn. -keyword: - keyword: Living weapon - match: Living weapon - mode: expert - reminder: When this Equipment enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach this to it. -# Commander -keyword: - keyword: Join forces - match: Join forces - mode: pseudo - rules: Join forces — Starting with you, each player may [effect]. -# Magic 2012 -keyword: - keyword: Hexproof - match: Hexproof - mode: core - reminder: This creature can't be the target of spells or abilities your opponents control. -# Innistrad -keyword: - keyword: Morbid - match: Morbid - mode: pseudo - rules: Morbid — If a creature died this turn, [effect]. -keyword: - keyword: Fight - match: fight - mode: action - reminder: Each deals damage equal to its power to the other. -# Dark Ascension -keyword: - keyword: Undying - match: Undying - mode: expert - reminder: When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it. -keyword: - keyword: Fateful hour - match: Fateful hour - mode: pseudo - rules: Fateful Hour — As long as you have 5 or less life, [effect]. -# Avacyn Restored -keyword: - keyword: Miracle - match: Miracle cost - mode: expert - reminder: You may cast this card for its miracle cost when you draw it if it's the first card you drew this turn. -keyword: - keyword: Soulbond - match: Soulbond - mode: expert - reminder: You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them. -# Return to Ravnica -keyword: - keyword: Detain - match: detainenglish_numbertargetnonlandone_word - mode: action - reminder: Until your next turn, {if contains(param1.value, match:"one") or param1.value == " " then "that" else "those"} {param3} can't attack or block and {if contains(param1.value, match:"one") or param1.value == " " then "its" else "their"} activated abilities can't be activated. -keyword: - keyword: Overload - match: Overload cost - mode: expert - reminder: You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each". -keyword: - keyword: Unleash - match: Unleash - mode: expert - reminder: You may have this creature enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it. -keyword: - keyword: Scavenge - match: Scavenge cost - mode: expert - reminder: {param1}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery. -keyword: - keyword: Populate - match: populate - mode: action - reminder: Put a token onto the battlefield that's a copy of a creature token you control. -# Gatecrash -keyword: - keyword: Extort - match: Extort - mode: expert - reminder: Whenever you cast a spell, you may pay [W/B]. If you do, each opponent loses 1 life and you gain that much life. -keyword: - keyword: Cipher - match: Cipher - mode: expert - reminder: Then you may exile this spell card encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost. -keyword: - keyword: Bloodrush - match: Bloodrush - mode: pseudo - rules: Bloodrush — [cost], Discard ~: Target attacking creature gets [effect]. -keyword: - keyword: Battalion - match: Battalion - mode: pseudo - rules: Battalion — Whenever ~ and at least two other creatures attack, [effect]. -keyword: - keyword: Evolve - match: Evolve - mode: expert - reminder: Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature. -# Dragon's Maze -keyword: - keyword: Fuse - match: Fuse - mode: expert - reminder: You may cast one or both halves of this card from your hand. -# Magic 2014 -keyword: - keyword: Indestructible - match: Indestructible - mode: core - reminder: {if has_pt() then "Damage and effects" else "Effects"} that say "destroy" don't destroy this {if has_pt() then "creature" else if is_artifact(card.super_type) then "artifact" else "permanent"}. -# Theros -keyword: - keyword: Hero's reward - match: Hero's Reward - mode: pseudo - rules: Hero's Reward — When ~ leaves the battlefield, each player [effect]. -keyword: - keyword: Monstrosity - match: Monstrosity number - mode: action - reminder: If this creature isn’t monstrous, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes monstrous. -keyword: - keyword: Heroic - match: Heroic - mode: pseudo - rules: Heroic — Whenever you cast a spell that targets ~, [effect]. -keyword: - keyword: Bestow - match: Bestow cost - mode: expert - reminder: If you cast this card for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature. -keyword: - keyword: Devotion - match: devotion to action - mode: action - reminder: Each {color_to_mana(param1)} in the mana costs of permanents you control counts toward your devotion to {param1}. -# Commander 2013 -keyword: - keyword: Tempting offer - match: Tempting offer - mode: pseudo - rules: Tempting offer - [do something]. Each opponent may [do the same]. For each opponent who does, [do something again]. -# Born of the Gods -keyword: - keyword: Tribute - match: Tribute number - mode: expert - reminder: As this creature enters the battlefield, an opponent of your choice may put {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Inspired - match: Inspired - mode: pseudo - rules: Inspired — Whenever ~ becomes untapped, [effect]. -# Journey into Nyx -keyword: - keyword: Constellation - match: Constellation - mode: pseudo - rules: Constellation — Whenever ~ or another enchantment enters the battlefield under your control, [effect]. -keyword: - keyword: Strive - match: Strive - mode: pseudo - rules: Strive — ~ costs [mana] more to cast for each target beyond the first. -# Conspiracy -keyword: - keyword: Hidden agenda - match: Hidden agenda - mode: expert - reminder: Start the game with this conspiracy face down in the command zone and secretly name a card. You may turn this conspiracy face up any time and reveal the chosen name. -keyword: - keyword: Dethrone - match: Dethrone - mode: expert - reminder: Whenever this creature attacks the player with the most life or tied for most life, put a +1/+1 counter on it. -keyword: - keyword: Will of the council - match: Will of the council - mode: pseudo - rules: Will of the council — [some ability that involves voting, maybe between grace and condemnation] -keyword: - keyword: Parley - match: Parley - mode: pseudo - rules: Parley — Each player reveals the top card of his or her library. For each nonland card revealed this way, [effect]. Then each player draws a card. -# Khans of Tarkir -keyword: - keyword: Outlast - match: Outlast cost - mode: expert - reminder: {param1}, T: Put a +1/+1 counter on this creature. Outlast only as a sorcery. -keyword: - keyword: Prowess - match: Prowess - mode: core - reminder: Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn. -keyword: - keyword: Raid - match: Raid - mode: pseudo - rules: Raid — When ~ enters the battlefield, if you attacked with a creature this turn, [effect]. -keyword: - keyword: Ferocious - match: Ferocious - mode: pseudo - rules: Ferocious — [Whenever ~ attacks/When ~ spell resolves], if you control a creature with power 4 or greater, [effect]. -# Commander 2014 -keyword: - keyword: Lieutenant - match: Lieutenant - mode: pseudo - rules: Lieutenant - As long as you control your commander, [effect]. -# Fate Reforged -keyword: - keyword: Bolster - match: bolster number - mode: action - reminder: Choose a creature with the least toughness among creatures you control and put {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Dash - match: Dash cost - mode: expert - reminder: You may cast this spell for its dash cost. If you do, it gains haste, and it's returned from the battlefield to its owner's hand at the beginning of the next end step. -keyword: - keyword: Manifest - match: manifest - mode: action - reminder: To manifest a card, put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card. -# Dragons of Tarkir -keyword: - keyword: Exploit - match: Exploit - mode: expert - reminder: When this creature enters the battlefield, you may sacrifice a creature. -keyword: - keyword: Formidable - match: Formidable - mode: pseudo - rules: Formidable — Stuff happens if creatures you control have total power 8 or greater. -keyword: - keyword: Megamorph - match: Megamorph cost - mode: expert - reminder: You may cast this face down as a 2/2 creature for 3. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it. -# Magic Origins -keyword: - keyword: Menace - match: Menace - mode: core - reminder: This creature can't be blocked except by two or more creatures. -keyword: - keyword: Renown - match: Renown number - mode: expert - reminder: When this creature deals combat damage to a player, if it isn't renowned, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes renowned. -keyword: - keyword: Spell mastery - match: Spell mastery - mode: pseudo - rules: Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, [effect]. -# Battle for Zendikar -keyword: - keyword: Awaken - match: Awaken numbercost - mode: expert - reminder: If you cast this spell {for_mana_costs(add:"for ", param2)}, also put {english_number_a(param1)} +1/+1 counter(s) on target land you control and it becomes a 0/0 Elemental creature with haste. It's still a land. -keyword: - keyword: Devoid - match: Devoid - mode: expert - reminder: This card has no color. -keyword: - keyword: Ingest - match: Ingest - mode: expert - reminder: Whenever this creature deals combat damage to a player, that player exiles the top card of his or her library. -keyword: - keyword: Rally - match: Rally - mode: pseudo - rules: Rally -- Whenever ~ or another Ally enters the battlefield under your control, [effect]. -keyword: - keyword: Converge - match: Converge - mode: pseudo - rules: Converge -- [effect with X], where X is the number of colors of mana spent to cast ~. -# Commander 2015 -keyword: - keyword: Myriad - match: Myriad - mode: expert - reminder: Whenever this creature attacks, for each opponent other than defending player, you may create a token that's a copy of this creature that's tapped and attacking that player or a planeswalker he or she controls. If one or more tokens are created this way, exile the tokens at end of combat. -# Oath of the Gatewatch -keyword: - keyword: Surge - match: Surge cost - mode: expert - reminder: You may cast this spell for its surge cost if you or a teammate has cast another spell this turn. -keyword: - keyword: Support - match: Support number - mode: action - reminder: Put a +1/+1 counter on {if param1.value!=1 then "each of "}up to {english_number(param1)}{if has_pt() then " other"} target creature(s). -# Shadows over Innistrad -keyword: - keyword: Investigate - match: Investigate - mode: action - reminder: Create a colorless Clue artifact token with "2, Sacrifice this artifact: Draw a card." -keyword: - keyword: Skulk - match: Skulk - mode: expert - reminder: This creature can't be blocked by creatures with greater power. -keyword: - keyword: Delirium - match: Delirium - mode: pseudo - rules: Delirium - If there are four or more card types among cards in your graveyard, [effect]. -# Eldritch Moon -keyword: - keyword: Emerge - match: Emerge cost - mode: expert - reminder: You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's converted mana cost. -keyword: - keyword: Escalate - match: Escalate cost - mode: expert - reminder: Pay this cost for each mode chosen beyond the first. -# Conspiracy: Take the Crown -keyword: - keyword: Double agenda - match: Double agenda - mode: expert - reminder: Start the game with this conspiracy face down in the command zone and secretly name two different cards. You may turn this conspiracy face up any time and reveal the chosen names. -keyword: - keyword: Goad - match: goad - mode: action - reminder: Until your next turn, that creature attacks each combat if able and attacks a player other than you if able. -keyword: - keyword: Melee - match: Melee - mode: expert - reminder: Whenever this creature attacks, it gets +1/+1 until end of turn for each opponent you attacked with a creature this combat. -keyword: - keyword: Monarch - match: become the monarch - mode: action - reminder: The monarch draws a card at the beginning of their end step. Whenever the monarch is dealt combat damage by a creature, its controller becomes the monarch. -keyword: - keyword: Council's dilemma - match: Council's dilemma - mode: pseudo - rules: [May be something] starting with you, each player votes for [one thing or another]. -# Kaladesh -keyword: - keyword: Crew - match: Crew number - mode: expert - reminder: Tap any number of untapped creatures you control with total power {param1} or greater: This permanent becomes an artifact creature until end of turn. -keyword: - keyword: Fabricate - match: Fabricate number - mode: expert - reminder: When this permanent enters the battlefield, you may put {english_number_a(param1)} +1/+1 counter(s) on it. If you don't, create {param1} 1/1 colorless Servo artifact creature tokens. -# Commander 2016 -keyword: - keyword: Partner - match: Partner - mode: expert - reminder: You can have two commanders if both have partner. -keyword: - keyword: Undaunted - match: Undaunted - mode: expert - reminder: This spell costs 1 less to cast for each opponent. -# Aether Revolt -keyword: - keyword: Improvise - match: Improvise - mode: expert - reminder: Your artifacts can help cast this spell. Each artifact you tap after you're done activating mana abilities pays for 1. -keyword: - keyword: Revolt - match: Revolt - mode: pseudo - rules: Revolt - [Something], if a permanent you controlled left the battlefield this turn, [effect]. -# Amonkhet -keyword: - keyword: Aftermath - match: Aftermath - mode: expert - reminder: Cast this spell only from your graveyard, then exile it. -keyword: - keyword: Embalm - match: Embalm cost - mode: expert - reminder: {param1}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a white Zombie {separate_words(spacer: " ", card.sub_type)} with no mana cost. Embalm only as a sorcery. -keyword: - keyword: Exert - match: exert - mode: action - reminder: An exerted creature won't untap during your next untap step. -#Hour of Devestation -keyword: - keyword: Afflict - match: Afflict number - mode: expert - reminder: Whenever this creature becomes blocked, defending player loses {param1} life. -keyword: - keyword: Eternalize - match: Eternalize cost - mode: expert - reminder: {param1}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie {separate_words(spacer: " ", card.sub_type)} with no mana cost. Eternalize only as a sorcery. -#Commander 2017 -keyword: - keyword: Eminence - match: Eminence - mode: pseudo - rules: Eminence - As long as this creature is on the battlefield or in your command zone, [effect]. -#Ixalan -keyword: - keyword: Enrage - match: Enrage - mode: pseudo - rules: Enrage - Whenever this creature is dealt damage, [effect]. -keyword: - keyword: Explore - match: explores - mode: action - reminder: Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard. -#Unstable -keyword: - keyword: Assemble a Contraption - match: Assemble - mode: action - reminder: {if contains(card.rule_text, match: "ssemble a ") then "P" else "To assemble a Contraption, p"}ut the top card of your Contraption deck face up onto one of your sprockets. - rules: This is used when the player assembles Contraptions. -keyword: - keyword: assembles a Contraption - match: assembles - mode: action - reminder: {if contains(card.rule_text, match: "ssemble a ") then "P" else "To assemble a Contraption, p"}ut the top card of your Contraption deck face up onto one of your sprockets. - rules: This is used when a permanent assembles Contraptions. -keyword: - keyword: Combine - match: Combine - mode: action - reminder: Its power is equal to their total power, its toughness is equal to their total toughness, and it has their names, mana costs, types, text boxes, etc. -keyword: - keyword: Switch - match: Switch - mode: action - reminder: If a creature is tapped, the switched creature is tapped. The same is true for untapped, attacking, blocking, enchanted, equipped, and targeted. Any counters on a creature are on the switched creature instead. -keyword: - keyword: Art menace - match: Art menace - mode: expert - reminder: This creature can't be blocked except by creatures with two or more visible figures in their art. -keyword: - keyword: Augment - match: Augment cost - mode: expert - reminder: {param1}, Reveal this card from your hand: Combine it with target host. Augment only as a sorcery. -keyword: - keyword: Blurry - match: Blurry - mode: expert - reminder: This creature can be blocked only if defending player was wearing glasses as it was cast. -keyword: - keyword: Just a second - match: Just a second - mode: expert - reminder: As long as this spell is on the stack, players can't move cards on the battlefield. - rules: Players are also unable to cast spells and activate abilities that aren't mana abilities while this spell, even if they are able to do so without moving cards on the battlefield. -keyword: - keyword: Last strike - match: Last strike - mode: expert - reminder: This creature deals combat damage after creatures without last strike. -keyword: - keyword: Squirrellink - match: Squirrellink - mode: expert - reminder: Damage dealt by this creature also causes you to create that many 1/1 green Squirrel creature tokens. -keyword: - keyword: Triple strike - match: Triple strike - mode: expert - reminder: This creature deals first-strike, regular, and last-strike combat damage. -keyword: - keyword: Undeathtouch - match: Undeathtouch - mode: expert - reminder: If this would deal damage to a creature card, exile that creature card instead. -#Rivals of Ixalan -keyword: - keyword: Ascend - match: Ascend - mode: expert - reminder: If you control ten or more permanents, you get the city's blessing for the rest of the game. \ No newline at end of file diff --git a/data/planechase.mse-game/stats/card_type.png b/data/planechase.mse-game/stats/card_type.png deleted file mode 100644 index d2b8f49ec7..0000000000 Binary files a/data/planechase.mse-game/stats/card_type.png and /dev/null differ diff --git a/data/planechase.mse-game/stats/illustrator.png b/data/planechase.mse-game/stats/illustrator.png deleted file mode 100644 index 86117ef672..0000000000 Binary files a/data/planechase.mse-game/stats/illustrator.png and /dev/null differ diff --git a/data/planechase.mse-game/stats/keywords.png b/data/planechase.mse-game/stats/keywords.png deleted file mode 100644 index 4f1e07a359..0000000000 Binary files a/data/planechase.mse-game/stats/keywords.png and /dev/null differ diff --git a/data/planechase.mse-game/stats/rarity.png b/data/planechase.mse-game/stats/rarity.png deleted file mode 100644 index 62e77e4fae..0000000000 Binary files a/data/planechase.mse-game/stats/rarity.png and /dev/null differ diff --git a/data/planechase.mse-game/stats/stylesheet.png b/data/planechase.mse-game/stats/stylesheet.png deleted file mode 100644 index 32072236a2..0000000000 Binary files a/data/planechase.mse-game/stats/stylesheet.png and /dev/null differ diff --git a/data/planechase.mse-game/stats/text_length.png b/data/planechase.mse-game/stats/text_length.png deleted file mode 100644 index e8c7904e5b..0000000000 Binary files a/data/planechase.mse-game/stats/text_length.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/card-sample.png b/data/vanguard-fkih.mse-style/card-sample.png deleted file mode 100644 index 63e8b640a6..0000000000 Binary files a/data/vanguard-fkih.mse-style/card-sample.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/card.jpg b/data/vanguard-fkih.mse-style/card.jpg deleted file mode 100644 index 42f15f598d..0000000000 Binary files a/data/vanguard-fkih.mse-style/card.jpg and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/cost_a.png b/data/vanguard-fkih.mse-style/cost_a.png deleted file mode 100644 index 3bed23d1c6..0000000000 Binary files a/data/vanguard-fkih.mse-style/cost_a.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/cost_b.png b/data/vanguard-fkih.mse-style/cost_b.png deleted file mode 100644 index d0dd7978d6..0000000000 Binary files a/data/vanguard-fkih.mse-style/cost_b.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/cost_g.png b/data/vanguard-fkih.mse-style/cost_g.png deleted file mode 100644 index 05c45394f3..0000000000 Binary files a/data/vanguard-fkih.mse-style/cost_g.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/cost_m.png b/data/vanguard-fkih.mse-style/cost_m.png deleted file mode 100644 index 32a969b23c..0000000000 Binary files a/data/vanguard-fkih.mse-style/cost_m.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/cost_r.png b/data/vanguard-fkih.mse-style/cost_r.png deleted file mode 100644 index 0f9b426c82..0000000000 Binary files a/data/vanguard-fkih.mse-style/cost_r.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/cost_u.png b/data/vanguard-fkih.mse-style/cost_u.png deleted file mode 100644 index 9929b7024d..0000000000 Binary files a/data/vanguard-fkih.mse-style/cost_u.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/cost_w.png b/data/vanguard-fkih.mse-style/cost_w.png deleted file mode 100644 index 086ca1bcdd..0000000000 Binary files a/data/vanguard-fkih.mse-style/cost_w.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/imagemask.png b/data/vanguard-fkih.mse-style/imagemask.png deleted file mode 100644 index 04839740cc..0000000000 Binary files a/data/vanguard-fkih.mse-style/imagemask.png and /dev/null differ diff --git a/data/vanguard-fkih.mse-style/style b/data/vanguard-fkih.mse-style/style deleted file mode 100644 index 80da90b17e..0000000000 --- a/data/vanguard-fkih.mse-style/style +++ /dev/null @@ -1,271 +0,0 @@ -mse version: 0.3.6 -game: vanguard -short name: FKIH Style -installer group: Magic Vanguard/FKiH -icon: card-sample.png -position hint: 02 - -version: 2008-06-30 -depends on: - package: vanguard.mse-game - version: 2007-12-29 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 -depends on: - package: magic-mana-large.mse-symbol-font - version: 2007-09-23 - -card background: white -card width: 375 -card height: 523 -card dpi: 150 - -# Author: Artfreakwiu -# Based on: vanguard-standard - -############################################################## Extra scripts - -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - - -############################################################## Extra style options - -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: flavor text - description: Should the cards have flavor text? - initial: yes -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-large.mse-symbol-font/mana_t.png - old: /magic-mana-large.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png - -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top : 0 - width: 375 - height: 523 - radius: 18 - left width: 17 - right width: 17 - top width: 17 - bottom width: 18 - z index: -1 - background: - left: 0 - top: 0 - width: 375 - height: 523 - z index: -2 - render style: image - choice images: - normal: card.jpg - - ############################# Name line - name: - left: 74 - top : 22 - width: 224 - height: 23 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 3 - font: - name: MagicMedieval - size: 16 - color: rgb(255,255,255) - shadow color: rgb(0,0,0) - shadow displacement x: 1 - shadow displacement y: 1 - - ############################# Image - image: - left: 38 - top: 42 - width: 296 - height: 269 - mask: imagemask.png - z index: 1 - - ############################# Card type - - type: - left: 103 - top : 314 - width: 168 - height: 18 - alignment: top center shrink-overflow - z index: 3 - font: - name: MPlantin - weight: bold - size: 14 - color: rgb(255,255,255) - shadow color: rgb(0,0,0) - shadow displacement x: 1 - shadow displacement y: 1 - - ############################# Text box - rule text: - left: 46 - top : 346 - width: 285 - height: - script: if styling.flavor_text then 67 else 120 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: rgb(0,0,0) - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle center - z index: 2 - padding left: 4 - padding top: 2 - padding right: 4 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - - flavor text: - left: 46 - top : 413 - width: 285 - height: 53 - font: - name: MPlantin-Italic - italic name: MPlantin-Italic - size: 10 - scale down to: 6 - color: rgb(0,0,0) - alignment: bottom center - z index: 2 - visible: - script: styling.flavor_text - padding left: 2 - padding top: 2 - padding right: 2 - padding bottom: 2 - - ############################# Life/Hand mod - lifemod: - z index: 4 - left: 327 - top: 312 - width: 20 - height: 20 - alignment: center middle shrink-overflow - font: - name: Matrix - size: 14 - color: rgb(0,0,0) - - handmod: - z index: 4 - left: 25 - top: 312 - width: 20 - height: 20 - alignment: center middle shrink-overflow - font: - name: Matrix - size: 14 - color: rgb(0,0,0) - - ############################# Card sorting / numbering - ############################# Copyright stuff - - illustrator: - left: 40 - top : 464 - width: 295 - height: 16 - alignment: center - z index: 1 - font: - name: Mplantin - size: 10 - color: rgb(0,0,0) - - copyright line: - left: 40 - top : 480 - width: 295 - height: 12 - alignment: left - z index: 1 - font: - name: MPlantin - size: 6 - color: rgb(255,255,255) - -############################################################## Extra card fields - -extra card field: - type: choice - name: orb - choice: none - choice: white - choice: blue - choice: black - choice: red - choice: green - choice: artifact - choice: multicolor - -extra card style: - orb: - left: 178 - top: 315 - width: 20 - height: 20 - z index: 2 - render style: image - choice images: - white: cost_w.png - blue: cost_u.png - black: cost_b.png - red: cost_r.png - green: cost_g.png - artifact: cost_a.png - multicolor: cost_m.png diff --git a/data/vanguard-mtgo.mse-style/blackfield.bmp b/data/vanguard-mtgo.mse-style/blackfield.bmp deleted file mode 100644 index a853912672..0000000000 Binary files a/data/vanguard-mtgo.mse-style/blackfield.bmp and /dev/null differ diff --git a/data/vanguard-mtgo.mse-style/card-sample.png b/data/vanguard-mtgo.mse-style/card-sample.png deleted file mode 100644 index e688aaaff0..0000000000 Binary files a/data/vanguard-mtgo.mse-style/card-sample.png and /dev/null differ diff --git a/data/vanguard-mtgo.mse-style/card.png b/data/vanguard-mtgo.mse-style/card.png deleted file mode 100644 index a143d57e80..0000000000 Binary files a/data/vanguard-mtgo.mse-style/card.png and /dev/null differ diff --git a/data/vanguard-mtgo.mse-style/img_mask.png b/data/vanguard-mtgo.mse-style/img_mask.png deleted file mode 100644 index 7da971846f..0000000000 Binary files a/data/vanguard-mtgo.mse-style/img_mask.png and /dev/null differ diff --git a/data/vanguard-mtgo.mse-style/style b/data/vanguard-mtgo.mse-style/style deleted file mode 100644 index 0d4e55fdb5..0000000000 --- a/data/vanguard-mtgo.mse-style/style +++ /dev/null @@ -1,193 +0,0 @@ -mse version: 0.3.7 -game: vanguard -short name: MTGO -installer group: Magic Vanguard/Magic Online style -icon: card-sample.png -position hint: 03 - -version: 2008-08-08 -depends on: - package: vanguard.mse-game - version: 2007-12-29 -depends on: - package: magic-mana-mtgo.mse-symbol-font - version: 2007-09-23 - -card background: white -card width: 290 -card height: 391 -card dpi: 150 -# Author: Pichoro -# Based on: vanguard-standard -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - - paintbrush_color := { - if to_int(card.border_color) < 96 then "white" else "black" - } - -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-mtgo.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-mtgo.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-mtgo.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-mtgo.mse-symbol-font/mana_t.png - old: /magic-mana-mtgo.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-mtgo.mse-symbol-font/mana_t_older.png -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top : 0 - width: 290 - height: 391 - radius: 18 - left width: 17 - right width: 17 - top width: 17 - bottom width: 18 - z index: -1 - background: - left: 17 - top: 17 - width: 256 - height: 356 - z index: -2 - render style: image - choice images: - normal: card.png - ############################# Name line - name: - left: 46 - top : 28 - width: 200 - height: 20 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Tahoma - size: 14 - color: rgb(0,0,0) - ############################# Image - image: - left: 39 - top: 48 - width: 210 - height: 168 - z index: 1 - mask: img_mask.png - default: blackfield.bmp - ############################# Card type - type: - left: 46 - top : 218 - width: 198 - height: 12 - alignment: middle center shrink-overflow - z index: 1 - font: - name: Tahoma - size: 12 - color: rgb(0,0,0) - ############################# Text box - rule text: - left: 42 - top : 237 - width: 208 - height: 93 - font: - name: Tahoma - size: 14 - scale down to: 6 - color: rgb(0,0,0) - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle center - z index: 2 - padding left: 4 - padding top: 2 - padding right: 4 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - ############################# Life/Hand mod - handmod: - z index: 4 - left: 73 - top: 333 - width: 20 - height: 22 - alignment: center middle shrink-overflow - font: - name: Tahoma - size: 9 - color: rgb(0,0,0) - lifemod: - z index: 4 - left: 198 - top: 333 - width: 20 - height: 22 - alignment: center middle shrink-overflow - font: - name: Tahoma - size: 9 - color: rgb(0,0,0) - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 19 - top : 355 - width: 252 - height: 16 - alignment: center - z index: 1 - font: - name: Tahoma - size: 9 - color: rgb(0,0,0) - copyright line: - left: 19 - top : 372 - width: 252 - height: 12 - alignment: middle center - z index: 1 - font: - name: Tahoma - size: 6 - color: { paintbrush_color() } -############################################################## Extra card fields diff --git a/data/vanguard-silvercut.mse-style/card-sample.png b/data/vanguard-silvercut.mse-style/card-sample.png deleted file mode 100644 index ba0660653d..0000000000 Binary files a/data/vanguard-silvercut.mse-style/card-sample.png and /dev/null differ diff --git a/data/vanguard-silvercut.mse-style/frame.jpg b/data/vanguard-silvercut.mse-style/frame.jpg deleted file mode 100644 index 7d5e956b40..0000000000 Binary files a/data/vanguard-silvercut.mse-style/frame.jpg and /dev/null differ diff --git a/data/vanguard-silvercut.mse-style/name_bar.jpg b/data/vanguard-silvercut.mse-style/name_bar.jpg deleted file mode 100644 index 6b09feaa89..0000000000 Binary files a/data/vanguard-silvercut.mse-style/name_bar.jpg and /dev/null differ diff --git a/data/vanguard-silvercut.mse-style/style b/data/vanguard-silvercut.mse-style/style deleted file mode 100644 index f1ccba2ca6..0000000000 --- a/data/vanguard-silvercut.mse-style/style +++ /dev/null @@ -1,225 +0,0 @@ -mse version: 0.3.8 -game: vanguard -short name: Silvercut style -installer group: Magic Vanguard/silvercut style -icon: card-sample.png -position hint: 05 - -version: 2010-03-25 -depends on: - package: vanguard.mse-game - version: 2007-12-29 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 - -card width: 375 -card height: 523 -card dpi: 150 -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: text - name: left -styling field: - type: text - name: top -styling field: - type: text - name: width -styling field: - type: text - name: height -styling field: - type: text - name: size -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top: 0 - width: 375 - height: 523 - radius: 14 - left width: 17 - right width: 17 - top width: 17 - bottom width: 17 - z index: -1 - background: - left: 0 - top: 0 - width: 375 - height: 523 - z index: -2 - render style: image - choice images: - normal: frame.jpg - ############################# Name line - name: - left: - { if card_style.name.content_width > 280 then 47 - else card_style.name.content_width * -0.5 + 185 } - top: 28 - width: - { if card_style.name.content_width > 280 then 281 - else card_style.name.content_width + 5 } - height: 15 - alignment: middle center justify-all - padding bottom: 0 - z index: 2 - font: - name: Anime Ace 2.0 BB - size: 17 - weight: bold - color: black - ############################# Image - image: - left: 17 - top: 56 - width: 341 - height: 280 - z index: 1 - ############################# Card type - type: - left: 129 - top: 342 - width: 117 - height: 16 - alignment: top center shrink-overflow - z index: 1 - font: - name: Matrix - size: 13.5 - color: black - ############################# Text box - rule text: - left: 54 - top: 363 - width: 266 - height: 120 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle center - z index: 2 - padding left: 4 - padding top: 2 - padding right: 4 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - ############################# Life/Hand mod - lifemod: - z index: 4 - left: 325 - top: 438 - width: 25 - height: 25 - alignment: center middle shrink-overflow - font: - name: Mplantin - size: 12 - color: black - handmod: - z index: 4 - left: 24 - top: 438 - width: 25 - height: 25 - alignment: center middle shrink-overflow - font: - name: Mplantin - size: 12 - color: black - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 4000 - top : 466 - width: 295 - height: 16 - alignment: center - z index: 1 - font: - name: Matrix - size: 10 - color: black - copyright line: - left: 4000 - top : 476 - width: 295 - height: 12 - alignment: center - z index: 1 - font: - name: MPlantin - size: 6 - color: black -############################################################## Extra card fields -extra card field: - type: choice - name: name bar - choice: bar - editable: false - save value: false -extra card style: - name bar: - left: - { if card_style.name.content_width > 280 then 47 - else card_style.name.content_width * -0.5 + 180 } - top: 17.1 - width: - { if card_style.name.content_width > 280 then 281 - else card_style.name.content_width + 15 } - height: 39.1 - z index: 1 - visible: { card.name != "" } - render style: image - image: name_bar.jpg diff --git a/data/vanguard-standard.mse-style/card-sample.png b/data/vanguard-standard.mse-style/card-sample.png deleted file mode 100644 index 1a1e4ceea9..0000000000 Binary files a/data/vanguard-standard.mse-style/card-sample.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/card.jpg b/data/vanguard-standard.mse-style/card.jpg deleted file mode 100644 index 64f89aaded..0000000000 Binary files a/data/vanguard-standard.mse-style/card.jpg and /dev/null differ diff --git a/data/vanguard-standard.mse-style/cost_a.png b/data/vanguard-standard.mse-style/cost_a.png deleted file mode 100644 index 3bed23d1c6..0000000000 Binary files a/data/vanguard-standard.mse-style/cost_a.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/cost_b.png b/data/vanguard-standard.mse-style/cost_b.png deleted file mode 100644 index d0dd7978d6..0000000000 Binary files a/data/vanguard-standard.mse-style/cost_b.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/cost_g.png b/data/vanguard-standard.mse-style/cost_g.png deleted file mode 100644 index 05c45394f3..0000000000 Binary files a/data/vanguard-standard.mse-style/cost_g.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/cost_m.png b/data/vanguard-standard.mse-style/cost_m.png deleted file mode 100644 index 32a969b23c..0000000000 Binary files a/data/vanguard-standard.mse-style/cost_m.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/cost_r.png b/data/vanguard-standard.mse-style/cost_r.png deleted file mode 100644 index 0f9b426c82..0000000000 Binary files a/data/vanguard-standard.mse-style/cost_r.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/cost_u.png b/data/vanguard-standard.mse-style/cost_u.png deleted file mode 100644 index 9929b7024d..0000000000 Binary files a/data/vanguard-standard.mse-style/cost_u.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/cost_w.png b/data/vanguard-standard.mse-style/cost_w.png deleted file mode 100644 index 086ca1bcdd..0000000000 Binary files a/data/vanguard-standard.mse-style/cost_w.png and /dev/null differ diff --git a/data/vanguard-standard.mse-style/style b/data/vanguard-standard.mse-style/style deleted file mode 100644 index fa0f6f2613..0000000000 --- a/data/vanguard-standard.mse-style/style +++ /dev/null @@ -1,248 +0,0 @@ -mse version: 0.3.8 -game: vanguard -short name: Standard -installer group: Magic Vanguard/normal style -icon: card-sample.png -position hint: 01 - -version: 2010-03-22 -depends on: - package: vanguard.mse-game - version: 2007-12-29 -depends on: - package: magic-mana-small.mse-symbol-font - version: 2007-09-23 - -card width: 375 -card height: 523 -card dpi: 150 -# Author: Wolfwood -# Based on: magic-new -############################################################## Extra scripts -init script: - # Use the normal tap symbol - mana_t := { - if styling.tap_symbol == "old" then "old" - else if styling.tap_symbol == "diagonal T" then "older" - else "new" - } - # Use guild mana symbols? - guild_mana := { styling.use_guild_mana_symbols } - -############################################################## Extra style options -styling field: - type: boolean - name: use guild mana symbols - description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. - initial: no -styling field: - type: package choice - name: text box mana symbols - match: magic-mana-*.mse-symbol-font - initial: magic-mana-small.mse-symbol-font -styling field: - type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: old - choice: modern - choice: old - choice: diagonal T -styling field: - type: boolean - name: flavor text - description: Should the cards have flavor text? - initial: yes -styling style: - use guild mana symbols: - choice images: - yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png - no: /magic-mana-small.mse-symbol-font/mana_rg.png - tap symbol: - render style: both - choice images: - modern: /magic-mana-small.mse-symbol-font/mana_t.png - old: /magic-mana-small.mse-symbol-font/mana_t_old.png - diagonal T: /magic-mana-small.mse-symbol-font/mana_t_older.png -############################################################## Card fields -card style: - ############################# Background stuff - border color: - left: 0 - top : 0 - width: 375 - height: 523 - radius: 18 - left width: 17 - right width: 17 - top width: 17 - bottom width: 18 - z index: -1 - background: - left: 0 - top: 0 - width: 375 - height: 523 - z index: -2 - render style: image - choice images: - normal: card.jpg - ############################# Name line - name: - left: 74 - top : 30 - width: 224 - height: 23 - alignment: bottom center shrink-overflow - padding bottom: 0 - z index: 1 - font: - name: Matrix - size: 17 - weight: bold - color: rgb(0,0,0) - ############################# Image - image: - left: 46 - top: 56 - width: 281 - height: 248 - z index: 1 - ############################# Card type - type: - left: 53 - top : 306 - width: 268 - height: 18 - alignment: top center shrink-overflow - z index: 1 - font: - name: Matrix - size: 13.5 - color: rgb(0,0,0) - ############################# Text box - rule text: - left: - script: - if styling.flavor_text then 46 - else 76 - top : 328 - width: - script: - if styling.flavor_text then 280 - else 220 - height: - script: - if styling.flavor_text then 65 - else 138 - font: - name: MPlantin - italic name: MPlantin-Italic - size: 14 - scale down to: 6 - color: rgb(0,0,0) - symbol font: - name: { styling.text_box_mana_symbols } - size: 14 - alignment: middle center - z index: 2 - padding left: 4 - padding top: 2 - padding right: 4 - padding bottom: 2 - line height hard: 1.2 - line height line: 1.5 - flavor text: - left: 76 - top : 393 - width: 220 - height: 73 - font: - name: MPlantin-Italic - italic name: MPlantin-Italic - size: 10 - scale down to: 6 - color: rgb(0,0,0) - alignment: bottom left - z index: 2 - visible: - script: styling.flavor_text - padding left: 2 - padding top: 2 - padding right: 2 - padding bottom: 2 - ############################# Life/Hand mod - lifemod: - z index: 4 - left: 304 - top: 433 - width: 22 - height: 32 - alignment: center middle shrink-overflow - font: - name: Mplantin - size: 12 - color: rgb(0,0,0) - handmod: - z index: 4 - left: 43 - top: 433 - width: 22 - height: 32 - alignment: center middle shrink-overflow - font: - name: Mplantin - size: 12 - color: rgb(0,0,0) - ############################# Card sorting / numbering - ############################# Copyright stuff - illustrator: - left: 40 - top : 466 - width: 295 - height: 16 - alignment: center - z index: 1 - font: - name: Matrix - size: 10 - color: rgb(0,0,0) - copyright line: - left: 40 - top : 476 - width: 295 - height: 12 - alignment: center - z index: 1 - font: - name: MPlantin - size: 6 - color: rgb(0,0,0) -############################################################## Extra card fields -extra card field: - type: choice - name: orb - choice: none - choice: white - choice: blue - choice: black - choice: red - choice: green - choice: artifact - choice: multicolor -extra card style: - orb: - left: 179 - top: 483 - width: 17 - height: 17 - z index: 2 - render style: image - choice images: - white: cost_w.png - blue: cost_u.png - black: cost_b.png - red: cost_r.png - green: cost_g.png - artifact: cost_a.png - multicolor: cost_m.png diff --git a/data/vanguard.mse-game/card-sample.png b/data/vanguard.mse-game/card-sample.png deleted file mode 100644 index 4c61d80140..0000000000 Binary files a/data/vanguard.mse-game/card-sample.png and /dev/null differ diff --git a/data/vanguard.mse-game/game b/data/vanguard.mse-game/game deleted file mode 100644 index 21a2fe8279..0000000000 --- a/data/vanguard.mse-game/game +++ /dev/null @@ -1,1352 +0,0 @@ -mse version: 2.0.0 -short name: Vanguard -full name: Magic Vanguard -installer group: Magic Vanguard/game files -icon: card-sample.png -position hint: 02 - -version: 2014-03-25 - -############################################################## Functions & filters -# General functions -init script: - ############################################################## Sorting mana symbols - - # correctly sort a mana symbol (no guild mana) - mana_sort := sort_text@(order: "XYZI[0123456789]HS(WUBRG)") - # correctly sort guild mana - mana_sort_guild := sort_text@(order: "[XYZI01234567890HSWUBRG/|]") + - replace@( - match: "./.|././.|./././.|.[|]", - in_context: "(^|[^/])($|[^/])", - replace: {sort_text(order:"in_place((WUBRG)")} - ) - mana_has_guild := match@(match: "[/|]") # 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_text@(order: "") - mana_filter_t := replace@( # 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: "^[HSCTQXYZIWUBRG0-9/|]+,", input.param) then - "{add}{combined_cost(input.param)}" - else "{combined_cost(input.param)}" - ) else - "{alternative_cost(input.param)}" - ) else - "{add}{input.param}" - } - alternative_cost := replace@(match:"^[A-Z]", replace: { to_lower() }) - combined_cost := replace@(match:", [A-Z]", replace: { to_lower() })+ - replace@(match:",", replace:" and")+ - replace@(match:"^[HSCTQXYZIWUBRG0-9/|]", in_context: "(^|[[:space:]])", replace: "&")+ - replace@(match:"^[A-Z]", replace: { to_lower() }) - long_dash := replace@(match:"-", replace:"—") - - # Converted mana cost - is_half_mana := match@(match: "1/2|[|][WUBRGS]") - is_colored_mana := match@(match: "[WUBRG]") - only_numbers := filter_text@(match: "^[0123456789]+") - cmc_split := break_text@(match: "(?ix) 1/2 | [|][WUBRG] | [0-9]+(?!/[WUBRGSCTQ2]) | [WUBRGHS0-9](/[WUBRGS])\{0,4} ") - cmc := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_half_mana(sym) then 0.5 - else if numbers != "" then max(1, to_int(numbers)) - else 1 # all other symbols are 1 - )) - } - - colored_mana := {to_number( - for each sym in cmc_split() do ( - numbers := only_numbers(sym) - if is_colored_mana(sym) then - if is_half_mana(sym) then 0.5 else 1 - else 0 - )) - } - - ############################################################## 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 - ( : # G: something - | , # G, tap: something - | [ ]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 - ([ ]]*>[CTQHSXYZIWUBRG0-9/|]+]*>[ ](and|or))* # pay X or Y - [ ] - ([,.)]|$ # (end of word) - |[ ][^ .,]*$ # still typing... - |[ ]( or | and | in | less | more | to ) # or next word is ... - ) - ) - | # keyword argument that is declared as mana - | [ ]* # keyword argument that is declared as cost - | , # 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 - remove_tag@(tag: "") + - remove_tag@(tag: "") + - remove_tag@(tag: "{keyword}" - else keyword + if expand then " ({reminder})" } - ) + - # step 2b : move inline keywords' reminder text to the end of the line - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - replace@( - match: "(.*]*>)([^\n(]+)", - replace: "\\2\\1" - ) + - # step 3 : expand shortcut words ~ and CARDNAME - replace@( - match: "CARDNAME", - in_context: "(^|[[:space:]]|\\()", - replace: "" - ) + - # step 4 : fill in atom fields - tag_contents@( - tag: "", - contents: { if card.name=="" then "CARDNAME" else card.type + " - " + card.name } - ) + - # step 4.5 : explict non mana symbols - replace@( - match: "\\][HSCTQXYZIWUBRG0-9/|]+\\[", - replace: {"" + mana_filter_t() + ""} ) + - # step 5 : add mana & tap symbols - replace@( - match: "[HSCTQXYZIWUBRG0-9/|]+", - in_context: mana_context, - replace: {"" + mana_filter_t() + ""} ) + - # step 5b : add explict mana symbols - replace@( - match: "\\[[HSCTQXYZIWUBRG0-9/|]+\\]", - replace: {"" + mana_filter_t() + ""} ) + - # step 7 : italic reminder text - replace@( - match: "[(][^)\n]*[)]?", - in_context: "(^|[[:space:]])|", - replace: "&") + - # step 8 : automatic capitalization, but not after "(" - replace@( - match: "[a-z]", - in_context: "[ ]*: |—| — ", - replace: { to_upper() })+ - curly_quotes - - ############################################################## Other boxes - # the flavor text filter - # - makes all text italic - flavor_text_filter := - # step 2 : remove italic tags - remove_tag@(tag: "") + - # step 3 : surround by tags - { "" + input + "" } + - # curly quotes - curly_quotes - - # Process the name for sorting rules - sort_name := - # Remove "The", "A", and "And" at the beginning - replace@(match: "^(The|An?) ", replace: "") + - # Remove commas and apostrophes - replace@(match: "(,|'|’)", replace: "") + - # Remove bold and italic tags - replace@(match: "(|||)", replace: "") + - # Make lowercase - to_lower - - #Necessary to make magic-mana-future play nicely - colorless_color := { "c" } - - word_count := break_text@(match:"[^[:space:]]+") + length - line_count := split_text@(match:"\n+",include_empty:false) + length - - # Mana font scripts - ancestral_mana := {false} - use_v_mana := {contains(set.custom_mana_symbol_name, match:".png")} - use_large_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"casting")} - use_small_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"text")} - use_color_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"colored") and not use_hybrid_v_mana()} - use_hybrid_v_mana := { use_v_mana() and contains(set.mana_symbol_options, match:"hybrid")} - v_mana_name := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"(.+/|\\.png)", replace:"")} - v_mana_loc := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"{v_mana_name()}\\.png", replace:"")} - white_text := {false} - symbol_font_small_color := { "black" } -############################################################## 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, pseudo, 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? -set field: - type: info - name: custom mana -set field: - type: text - name: custom mana symbol name - description: Use mana symbols from magic-mainframe-extras.mse-include. Input NAME.png here, check help below for file instructions. -set field: - type: multiple choice - name: mana symbol options - choice: enable in casting costs - choice: enable in text boxes - choice: colored mana symbols - choice: hybrid with colors -set field: - type: text - name: number hybrid variants - description: Change each number hybrid (0/X, 1/X, 2/X ... 11/X) up to this number to a specific variant instead of a hybrid symbol. -set field: - type: choice - name: mana symbol help - choice: Click here for mana symbol help! - choice: In your mainframe-extras folder, create folders named "large" and/or "small" depending on your usage - choice: Large is for only mana costs, small for only text, create both if you use both - choice: Additionally, you can create a "future" folder for M15 Future mana costs - choice: Save NAME.png to the relevant folders. Remember that large symbols have dropshadows - choice: For the name option above, set the address of the image, minus mainframe-extras and large/small/future - choice: Ex: magic-mainframe-extras/cajun/large/hazard.png would use cajun/hazard.png - choice: Standard size is 160x160 for small, 200x200 for small hybrid and future, 165x178 for large, 205x218 for large hybrid - choice: If your symbol mixes with colors (such as Phyrexian mana): Save NAME_w.png, NAME_u.png, etc to those folders too. - choice: If your symbol hybrids with colors (like 2/W): [Note, doesn't work on M15 Future mana costs.] - choice: Save NAME_h.png to those folders too. See mana_bb.png and similar for how this image should look. - choice: Your mana symbol will now be keyed to V (and V/W, V/U, etc. for colored/hybrid symbols). - choice: You can change number hybrids (2/V etc) to different mana symbols for even more custom symbols. - choice: Put the highest number to change (from 0 to 11) in "number hybrid variants" and save as NAME_0.png etc. - -############################# Default style -default set style: - title: - padding left: 2 - font: - size: 16 - automatic reminder text: - render style: checklist - direction: vertical - mana symbol options: - 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 - description: The border of the card; can be any solid color -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 - description: The name of the card -#### compatibility with mana fonts -card field: - type: choice - name: card symbol - description: The symbol of the card. - show statistics: false - card list name: Symbol - card list column: 0920 - card list width: 100 - choice: none -############################# Image -card field: - type: image - name: image - show statistics: false - description: The image of the card -############################# Card type -card field: - type: text - name: type - card list visible: true - card list column: 2 - description: The type of the card - icon: stats/card_type.png -############################# Text box -card field: - type: text - name: rule text - script: text_filter(value) - show statistics: false - multi line: true - description: The rules text of the card -card field: - type: text - name: flavor text - script: flavor_text_filter(value) - show statistics: false - multi line: true - description: The flavor text of the card -############################# PT -card field: - type: text - name: handmod - card list visible: true - card list column: 3 - card list width: 50 - card list name: hand - show statistics: false - description: The starting and maximum hand size modifier -card field: - type: text - name: lifemod - card list visible: true - card list column: 4 - card list width: 50 - card list name: life - show statistics: false - description: The starting life total modifier -############################# Card sorting / numbering -card field: - type: text - name: card number - save value: false - script: - position( - of: card - in: set - order_by: { sort_name(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 - description: The illustrator of the image - icon: stats/illustrator.png -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) - description: The copyright and card number of the card -############################################################### Extra Statistics -statistics dimension: - name: hand size modifier - script: card.handmod - icon: stats/number.png -statistics dimension: - name: life total modifier - script: card.lifemod - icon: stats/number.png -statistics dimension: - name: text length (words) - position hint: 100 - script: word_count(to_text(card.rule_text)) - numeric: true - bin size: 5 - icon: stats/text_length.png -statistics dimension: - name: text length (lines) - position hint: 101 - script: line_count(to_text(card.rule_text)) - numeric: true - icon: stats/text_length.png -statistics dimension: - name: keywords - position hint: 1000 - script: keyword_usage(unique:true) - show empty: false - split list: true - icon: stats/keywords.png -statistics dimension: - name: style - position hint: 1001 - script: stylesheet.short_name - icon: stats/stylesheet.png -############################################################## Auto replace -# Do we need categories? -#auto replace category: text box -#auto replace category: copyright -#auto replace category: everywhere -auto replace: - match: (C) - replace: © -auto replace: - match: AE - replace: Æ - whole word: false -auto replace: - match: TM - replace: ™ - whole word: false -auto replace: - match: -- - replace: — -auto replace: - # note the spaces - match: - - - replace: - — -auto replace: - match: CIP - replace: enters the battlefield -auto replace: - match: AAA - replace: as an additional cost to cast -auto replace: - match: ~ - replace: CARDNAME -auto replace: - match: ' - replace: ’ -############################################################## Card pack items -pack type: - name: card - filter: card.name != "" -############################################################## Card packs -pack type: - name: booster pack - item: - name: card - amount: 1 -############################################################## Keywords -############################# Keyword rules - -has keywords: true - -#keyword preview: {keyword} ({reminder}) - -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: [HSCTQXYZI0-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\} - refer script: - name: colored mana cost - description: Converts mana to number of colored mana - # "0" left in so users can easily see how to edit script. - script: \{colored_mana({input}) + 0\} -# By pichoro and bunnierein -keyword parameter type: - name: cost - match: [ ][HSCTQXYZI0-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 " - 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 " - 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: one_word - match: [A-Za-z0-9]+ -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: english_number - match: [ upto]*[(an? |one |two |three |four |five |six |seven |eight |nine |ten )]* -keyword parameter type: - name: prefix - description: Prefix for things like "walk" - optional: false - match: [A-Z][A-Z,a-z’ ]* - example: Forest -keyword parameter type: - name: a - match: [an?]* -keyword parameter type: - name: nonland - match: ( n?o?n?l?a?n?d? ?) -############################# 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 or planeswalker. -keyword: - keyword: Banding - match: banding - mode: old - reminder: 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. -keyword: - keyword: Landwalk - match: prefixwalk - mode: core - reminder: This creature is unblockable as long as defending player controls a {if match(param1.value, match: " land$") or contains(param1.value, match: "Snow") or contains(param1.value, match:"Basic") or contains(param1.value, match:"Legendary") then "{to_lower(param1)}" else "{param1}"}. -keyword: - keyword: Protection from - match: protection from name - 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 name - mode: old - reminder: Any {param1} can attack in a band as long as at least one has “bands with other {param1}.” Bands are blocked as a group. If at least two {param1} you control, one of which has “bands with other {param1},” are blocking or being blocked by the same creature, you divide that creature’s combat damage, not its controller, among any of the creatures it’s being blocked by or is blocking. -keyword: - keyword: Rampage - match: rampage number - 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 cost - 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: It phases in or out before you untap during each of your untap steps. While it’s phased out, it’s treated as though it doesn’t exist. -keyword: - keyword: Flanking - match: flanking - mode: expert - 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast it. If you do, put it into your hand as it resolves. -keyword: - keyword: Echo - match: echo cost - 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 cost - mode: expert - reminder: {param1}, Discard it: Draw a card. -keyword: - keyword: Haste - match: haste - mode: core - reminder: It can attack and T as soon as 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 number - mode: expert - reminder: It enters the battlefield 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 cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ",param1)} as you cast the card. -keyword: - keyword: Flashback - match: flashback cost - mode: expert - reminder: You may cast it from your graveyard for its flashback cost. Then exile it. -keyword: - keyword: Threshold - match: Threshold - mode: pseudo - rules: Threshold — [effect] as long as seven or more cards are in your graveyard. -keyword: - keyword: Madness - match: madness cost - mode: expert - reminder: If you discard it, you may cast it for its madness cost instead of putting it into your graveyard. -keyword: - keyword: Morph - match: morph cost - mode: expert - reminder: You may cast it face down as a 2/2 creature for 3. Turn it face up any time for its morph cost. -keyword: - keyword: Fear - match: fear - mode: old - reminder: It can’t be blocked except by artifact creatures and/or black creatures. -keyword: - keyword: Amplify - match: amplify number - mode: expert - reminder: As it enters the battlefield, 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: prefixcycling cost - 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 cast it, copy it for each spell cast before it this turn. You may choose new targets for the copies. -keyword: - keyword: Affinity for - match: affinity for name - mode: expert - reminder: It costs 1 less to cast for each {english_singular(param1)} you control. -keyword: - keyword: Entwine - match: entwine cost - mode: expert - reminder: Choose both if you pay the entwine cost. -keyword: - keyword: Equip - match: equip cost - mode: core - reminder: {param1}: Attach to target creature you control. Equip only as a sorcery. -keyword: - keyword: Imprint - match: Imprint - mode: pseudo - rules: Imprint — When it enters the battlefield, you may exile a [something] from [somewhere]. -keyword: - keyword: Modular - match: modular number - mode: expert - reminder: It enters the battlefield 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 number - 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 enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. If it isn’t a creature, use charge counters instead. -keyword: - keyword: Art rampage - match: art rampage number - mode: expert - reminder: Whenever it blocked by a creature, it gets +{param1}/+{param1} for each creature in the blocker’s art beyond the first. -keyword: - keyword: Super haste - match: Super haste - mode: expert - reminder: It may attack the turn before you cast it. (You may have it enter the battlefield from your hand, tapped and attacking, during your declare attackers step. If you do, you lose the game at the end of your next turn unless you pay its mana cost during that turn.) -keyword: - keyword: Gotcha - match: Gotcha - mode: pseudo - rules: Gotcha — Whenever an opponent [does something], you may say “Gotcha!”. If you do, return [something] from your graveyard to your hand. -keyword: - keyword: Splice - match: splice onto name cost - mode: expert - reminder: As you cast 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 number - mode: expert - reminder: When it blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn. -keyword: - keyword: Soulshift - match: soulshift number - mode: expert - reminder: When it is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost {param1} or less from your graveyard to your hand. -keyword: - keyword: Enchant - match: enchant name - mode: core - reminder: Target a {param1} as you cast the card. The card enters the battlefield 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: prefix offering - mode: expert - reminder: You may cast it any time you could cast 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 cost - mode: expert - reminder: {param1}, Return an unblocked attacker you control to hand: Put it onto the battlefield from your hand tapped and attacking. -keyword: - keyword: Epic - match: epic - mode: expert - reminder: For the rest of the game, you can’t cast 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 - rules: Channel — [cost], Discard a card: [effect]. -keyword: - keyword: Sweep - match: Sweep - mode: pseudo - rules: Sweep — Return any number of [basic land type] you control to their owner’s hand. [effect based on number of lands returned]. -keyword: - keyword: Convoke - match: convoke - mode: expert - reminder: Each creature you tap while casting the card reduces its cost by 1 or by one mana of that creature’s color. -keyword: - keyword: Transmute - match: transmute cost - 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. Transmute only as a sorcery. -keyword: - keyword: Dredge - match: dredge number - 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 - rules: Radiance — [effect to target permanent or spell and all cards of same card type that share a color with it]. -keyword: - keyword: Haunt - match: haunt - mode: expert - reminder: When it is put into a graveyard from the battlefield, or when it resolves if it is not a permanent, exile it haunting target creature. -keyword: - keyword: Bloodthirst - match: bloodthirst number - mode: expert - reminder: If an opponent was dealt damage this turn, the permanent enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Replicate - match: replicate cost - mode: expert - reminder: When you cast it, copy it for each time you paid its replicate cost. You may choose new targets for the copies. -keyword: - keyword: Graft - match: graft number - mode: expert - reminder: It enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever a creature enters the battlefield, you may move a +1/+1 counter from the permanent onto it. -keyword: - keyword: Forecast - match: forecast — action, Reveal name from your hand: action - mode: expert - reminder: Activate the ability only during your upkeep and only once each turn. -keyword: - keyword: Hellbent - match: Hellbent - mode: pseudo - rules: Hellbent — [effect] if you have no cards in hand. -keyword: - keyword: Recover - match: recover cost - mode: expert - reminder: When a creature is put into your graveyard from the battlefield, you may {for_mana_costs(add:"pay ",param1)}. If you do, return the card from your graveyard to your hand. Otherwise, exile this card. -keyword: - keyword: Ripple - match: ripple number - mode: expert - reminder: When you cast it, you may reveal the top {english_number_multiple(param1)} card(s) of your library. You may cast 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 cast it any time you could cast an instant. -keyword: - keyword: Split second - match: split second - mode: expert - reminder: As long as it is on the stack, players can’t cast spells or activate abilities that aren’t mana abilities. -keyword: - keyword: Suspend - match: suspend numbercost - mode: expert - reminder: Rather than cast it from your hand, you may pay {param2} and exile it 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, cast it without paying its mana cost. If it is a creature, it has haste. -keyword: - keyword: Vanishing - match: vanishing number - mode: expert - reminder: It enters the battlefield 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: Any amount of damage it deals to a creature is enough to destroy it. -keyword: - keyword: Reach - match: reach - mode: core - reminder: It can block creatures with flying. -keyword: - keyword: Gravestorm - match: gravestorm - mode: expert - reminder: When you cast 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: Damage dealt by it also causes you to gain that much life. -keyword: - keyword: Absorb - match: absorb number - mode: expert - reminder: If a source would deal damage to it, prevent {param1} of that damage. -keyword: - keyword: Fateseal - match: fateseal number - 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 cost - 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 onto the battlefield. Then shuffle your library. Transfigure only as a sorcery. -keyword: - keyword: Aura swap - match: aura swap cost - mode: expert - reminder: {param1}: Exchange it with an Aura card in your hand. -keyword: - keyword: Frenzy - match: frenzy number - 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 exile any number of cards in your graveyard as you cast it. It costs 1 less to cast for each card exiled this way. -keyword: - keyword: Poisonous - match: poisonous number - 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 cost - mode: expert - reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. It enters the battlefield unattached and stays on the battlefield if the land leaves. -keyword: - keyword: Grandeur - match: Grandeur - mode: pseudo - rules: Grandeur — Discard another card named [something]: [effect]. -keyword: - keyword: Evoke - match: evoke cost - mode: expert - reminder: You may cast it for its evoke cost. If you do, it’s sacrificed when it enters the battlefield. -keyword: - keyword: Champion - match: champion a name - mode: expert - reminder: When it enters the battlefield, sacrifice it unless you exile another {param2} you control. When it leaves the battlefield, return that card to the battlefield. -keyword: - keyword: Clash - match: clash - mode: expert - reminder: 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. -keyword: - keyword: Changeling - match: changeling - mode: expert - reminder: It is every creature type at all times. -keyword: - keyword: Hideaway - match: hideaway - mode: expert - reminder: The land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. -keyword: - keyword: Prowl - match: prowl cost - mode: expert - reminder: You may cast it for its prowl cost if you dealt combat damage to a player this turn with a creature that shares a type with it. -keyword: - keyword: Reinforce - match: reinforce numbercost - mode: expert - reminder: {param2}, Discard it: Put {english_number_a(param1)} +1/+1 counter(s) on target creature. -keyword: - keyword: Kinship - match: Kinship - mode: pseudo - rules: Kinship — At the beginning of your upkeep, you may look at the top card of your library. If that card shares a creature type with it, you may reveal it. If you do, [effect]. -keyword: - keyword: Persist - match: persist - mode: expert - reminder: When it is put into a graveyard from the battlefield, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it. -keyword: - keyword: Wither - match: wither - mode: expert - reminder: It deals damage to creatures in the form of -1/-1 counters. -keyword: - keyword: Conspire - match: conspire - mode: expert - reminder: As you cast it, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy. -keyword: - keyword: Retrace - match: retrace - mode: expert - reminder: You may cast it from your graveyard by discarding a land card in addition to paying its other costs. -keyword: - keyword: Chroma - match: Chroma - mode: pseudo - rules: Chroma — [effect] based on the number of [color] mana symbols [in graveyard, under your control, in cards you discard]. -keyword: - keyword: Unearth - match: unearth cost - mode: expert - reminder: {param1}: Return it from your graveyard to the battlefield. If it is a creature, it gains haste. Exile it at the beginning of the end step or if it would leave the battlefield. Unearth only as a sorcery. -keyword: - keyword: Devour - match: devour number - mode: expert - reminder: As it enters the battlefield, you may sacrifice any number of creatures. It enters the battlefield with { if param1.value == 1 then "" else if param1.value == 2 then "twice " else english_number(param1) + " times " }that many +1/+1 counters on it. -keyword: - keyword: Exalted - match: exalted - mode: expert - reminder: Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn. -keyword: - keyword: Domain - match: Domain - mode: pseudo - rules: Domain — [effect] for each basic land type among lands you control. -keyword: - keyword: Cascade - match: cascade - mode: expert - reminder: When you cast it, exile the top card of your library until you remove a nonland card that costs less. You may cast that card without paying its mana cost. Put the exiled cards on the bottom of your library at random. -keyword: - keyword: Intimidate - match: intimidate - mode: core - reminder: It can’t be blocked except by artifact creatures and/or creatures that share a color with it. -keyword: - keyword: Landfall - match: Landfall - mode: pseudo - rules: Landfall — Whenever a land enters the battlefield under your control, [effect]. -keyword: - keyword: Multikicker - match: multikicker cost - mode: expert - reminder: You may {for_mana_costs(add:"pay an additional ", param1)} any number of times as you cast it. -keyword: - keyword: Annihilator - match: annihilator number - mode: expert - reminder: Whenever it attacks, defending player sacrifices {english_number_a(param1)} permanent(s). -keyword: - keyword: Rebound - match: rebound - mode: expert - reminder: If you cast it from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast it from exile without paying its mana cost. -keyword: - keyword: Totem armor - match: totem armor - mode: expert - reminder: If enchanted creature would be destroyed, instead remove all damage from the creature and destroy it. -keyword: - keyword: Level up - match: level up cost - mode: expert - reminder: {param1}: Put a level counter on it. Level up only as a sorcery. -keyword: - keyword: Infect - match: infect - mode: expert - reminder: This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters. -keyword: - keyword: Proliferate - match: proliferate - mode: expert - reminder: You may choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there. -keyword: - keyword: Metalcraft - match: Metalcraft - mode: pseudo - rules: Metalcraft — As long as you control three or more artifacts, [effect]. -keyword: - keyword: Battlecry - match: battlecry - mode: expert - reminder: Whenever it attacks, each other attacking creature gets +1/+0 until end of turn. -keyword: - keyword: Living weapon - match: living weapon - mode: expert - reminder: When it enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach it to the creature. -keyword: - keyword: Hexproof - match: hexproof - mode: core - reminder: It can't be the target of spells or abilities your opponents control. -keyword: - keyword: Morbid - match: Morbid - mode: pseudo - rules: Morbid — If a creature died this turn, [effect]. -keyword: - keyword: Fight - match: fight - mode: action - reminder: Each deals damage equal to its power to the other. -keyword: - keyword: Undying - match: undying - mode: expert - reminder: When it dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it. -keyword: - keyword: Fateful hour - match: Fateful hour - mode: pseudo - rules: Fateful hour — As long as you have 5 or less life, [effect]. -keyword: - keyword: Miracle - match: miracle cost - mode: expert - reminder: You may cast it for its miracle cost when you draw it if it's the first card you drew this turn. -keyword: - keyword: Soulbond - match: soulbond - mode: expert - reminder: You may pair it with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them. -keyword: - keyword: Detain - match: detainenglish_numbertargetnonlandone_word - mode: action - reminder: Until your next turn, {if contains(param1.value, match:"one") or param1.value == " " then "that" else "those"} {param3} can't attack or block and its activated abilities can't be activated. -keyword: - keyword: Overload - match: overload cost - mode: expert - reminder: You may cast it for its overload cost. If you do, change its text by replacing all instances of "target" with "each". -keyword: - keyword: Unleash - match: unleash - mode: expert - reminder: You may have it enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it. -keyword: - keyword: Scavenge - match: scavenge cost - mode: expert - reminder: {param1}, Exile it from your graveyard: Put a number of +1/+1 counters equal to its power on target creature. Scavenge only as a sorcery. -keyword: - keyword: Populate - match: populate - mode: action - reminder: Put a token onto the battlefield that's a copy of a creature token you control. -keyword: - keyword: Extort - match: extort - mode: expert - reminder: Whenever you cast spell, you may pay [W/B]. If you do, each opponent loses 1 life and you gain that much life. -keyword: - keyword: Cipher - match: cipher - mode: expert - reminder: Then you may exile it encoded on a creature you control. Whenever that creature deals combat damage to a player, its controller may cast a copy of the encoded card without paying its mana cost. -keyword: - keyword: Bloodrush - match: Bloodrush - mode: pseudo - rules: Bloodrush — [cost], Discard ~: Target attacking creature gets [effect]. -keyword: - keyword: Battalion - match: Battalion - mode: pseudo - rules: Battalion — Whenever ~ and at least two other creatures attack, [effect]. -keyword: - keyword: Evolve - match: evolve - mode: expert - reminder: Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than it, put a +1/+1 counter on it. -keyword: - keyword: Fuse - match: fuse - mode: expert - reminder: You may cast one or both halves of it from your hand. -keyword: - keyword: Indestructible - match: indestructible - mode: core - reminder: Damage and effects that say "destroy" don't destroy it. -keyword: - keyword: Hero's Reward - match: Hero's Reward - mode: pseudo -keyword: - keyword: Monstrosity - match: monstrosity number - mode: expert - reminder: If it isn’t monstrous, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes monstrous. -keyword: - keyword: Heroic - match: Heroic - mode: pseudo - rules: Whenever you cast a spell that targets ~, [effect]. -keyword: - keyword: Bestow - match: bestow cost - mode: expert - reminder: If you cast it for its bestow cost, it's an Aura spell with enchant creature. It becomes a creature again if it's not attached to a creature. -keyword: - keyword: Devotion - match: devotion to action - mode: action - reminder: Each {color_to_mana(param1)} in the mana costs of permanents you control counts toward your devotion to {param1}. -keyword: - keyword: Tribute - match: tribute number - mode: expert - reminder: As it enters the battlefield, an opponent of your choice may put {english_number_a(param1)} +1/+1 counter(s) on it. -keyword: - keyword: Inspiration - match: Inspiration - mode: pseudo - rules: Inspiration - Whenever ~ becomes untapped, [effect]. diff --git a/data/vanguard.mse-game/stats/card_type.png b/data/vanguard.mse-game/stats/card_type.png deleted file mode 100644 index d2b8f49ec7..0000000000 Binary files a/data/vanguard.mse-game/stats/card_type.png and /dev/null differ diff --git a/data/vanguard.mse-game/stats/illustrator.png b/data/vanguard.mse-game/stats/illustrator.png deleted file mode 100644 index 86117ef672..0000000000 Binary files a/data/vanguard.mse-game/stats/illustrator.png and /dev/null differ diff --git a/data/vanguard.mse-game/stats/keywords.png b/data/vanguard.mse-game/stats/keywords.png deleted file mode 100644 index 4f1e07a359..0000000000 Binary files a/data/vanguard.mse-game/stats/keywords.png and /dev/null differ diff --git a/data/vanguard.mse-game/stats/number.png b/data/vanguard.mse-game/stats/number.png deleted file mode 100644 index 21e566f7e3..0000000000 Binary files a/data/vanguard.mse-game/stats/number.png and /dev/null differ diff --git a/data/vanguard.mse-game/stats/stylesheet.png b/data/vanguard.mse-game/stats/stylesheet.png deleted file mode 100644 index 32072236a2..0000000000 Binary files a/data/vanguard.mse-game/stats/stylesheet.png and /dev/null differ diff --git a/data/vanguard.mse-game/stats/text_length.png b/data/vanguard.mse-game/stats/text_length.png deleted file mode 100644 index e8c7904e5b..0000000000 Binary files a/data/vanguard.mse-game/stats/text_length.png and /dev/null differ