Files
magic-set-editor-fork/data/magic-m15-extra.mse-style/style_experiment
CajunAvenger b582d03f6a Initial commit
2021-07-08 17:16:53 -05:00

829 lines
21 KiB
Plaintext

mse version: 2.0.0
game: magic
short name: M15 Extra
full name: M15 with Extra Features
icon: card-sample.png
installer group: magic/m15 style/normal cards/with extra features
position hint: 008
version: 2015-07-01
depends on:
package: magic.mse-game
version: 2015-04-08
depends on:
package: magic-default-image.mse-include
version: 2007-09-23
depends on:
package: magic-mana-large-extra-m15.mse-symbol-font
version: 2014-03-11
depends on:
package: magic-mana-small-extra-m15.mse-symbol-font
version: 2014-03-11
depends on:
package: magic-pt-symbols-extra-m15.mse-symbol-font
version: 2014-03-20
card width: 375
card height: 523
card dpi: 150
############################################################## Extra scripts
init script:
# Load scripts that are redefined from the game file
include file: game_scripts
# Load scripts that are redefined from the blends package
include file: blends_scripts
# Load scripts for image box
include file: /magic-default-image.mse-include/scripts
# Load font profiles
include file: font_new
include file: font_phyrexian
include file: font_old
include file: font_m15
# Should hybrids have a grey name?
mask_hybrid_with_land := { contains(styling.regular_options, match:"grey hybrid names") }
#Should multicolor lands with basic land types have a colored name?
mask_multi_land_with_color := { contains(styling.regular_options, match:"colored multicolor land names") }
template_prefix := [card: "" pt: "" stamp: "" identity: ""]
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" or input == "s" then "c" else input) + "l" + template_suffix[type] }
# Use land templates for previews because they show more contrast
hybrid_previews := "land,hybrid"
# 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 := { contains(styling.regular_options, match:"guild mana symbols") }
# Filter to commas, so they can be counted to see if field is complete
comma_count := filter_text@(match:",")
# Interpret the font profile choice.
font_profile := {
if styling.font_style == "Phyrexian" then "phyrexian"
else if styling.font_style == "Before 8th Edition" then "old"
else if styling.font_style == "After 8th Edition" then "new"
else "m15"
}
font_field := {
if font_profile() == "m15" then (
if field == "name" then font_name_m15[value]
else if field == "type" then font_type_m15[value]
else if field == "text" then font_text_m15[value]
else if field == "pt" then font_pt_m15[value]
)
else if font_profile() == "new" then (
if field == "name" then font_name_new[value]
else if field == "type" then font_type_new[value]
else if field == "text" then font_text_new[value]
else if field == "pt" then font_pt_new[value]
)
else if font_profile() == "phyrexian" then (
if field == "name" then font_name_phyrexian[value]
else if field == "type" then font_type_phyrexian[value]
else if field == "text" then font_text_phyrexian[value]
else if field == "pt" then font_pt_phyrexian[value]
)
else if font_profile() == "old" then (
if field == "name" then font_name_old[value]
else if field == "type" then font_type_old[value]
else if field == "text" then font_text_old[value]
else if field == "pt" then font_pt_old[value]
)
}
# Is the card a promo card?
is_promo := { styling.promo }
############################################################## 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: choice
name: font style
description: Which font style should be used?
choice: After Magic 2015
choice: After 8th Edition
choice: Before 8th Edition
choice: Phyrexian
initial: After Magic 2015
styling field:
type: multiple choice
name: regular options
description: Which regular styling options would you like to use?
choice: center text
choice: color indicator dot
choice: colored multicolor land names
choice: grey hybrid names
choice: guild mana symbols
choice: holofoil stamped rares
choice: promo rarity
choice: inverted common symbol
initial: colored multicolor land names, grey hybrid names, holofoil stamped rares
styling field:
type: multiple choice
name: extras
description: Which extra options would you like to use?
choice: pichoro's alchemist watermark
choice: alpha style dual lands
choice: card creator credit field
choice: takeabow's clock watermark
choice: advent's colored xyz mana
choice: circeus' colorless-colored hybrid
choice: anuttymous' frost effect
choice: holiday promo text
choice: dark nova's runes
choice: lesurgo's spell-land hybrid
choice: circeus' tinged artifact hybrid
choice: type symbol with name
choice: unsorted casting cost
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-extra-m15.mse-symbol-font
styling field:
type: package choice
name: pt box symbols
match: magic-pt-symbols-*.mse-symbol-font
initial: magic-pt-symbols-extra.mse-symbol-font
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: symbol
name: mythic rare accent
description: This symbol field is used to hold the white accent that should appear on mythic rares.
styling field:
type: choice
name: outer color
description: Should the outside of the frame be a special color?
choice: default
choice: white
choice: blue
choice: black
choice: red
choice: green
choice: purple
choice: pink
choice: artifact
choice: snow
choice: multicolor
choice: spectral
choice: colorless
styling field:
type: choice
name: trim color
description: Should the trim of the frame be a special color?
choice: default
choice: white
choice: blue
choice: black
choice: red
choice: green
choice: purple
choice: pink
choice: artifact
choice: snow
choice: multicolor
choice: spectral
choice: colorless
styling field:
type: choice
name: inner color
description: Should the inside of the frame be a special color?
choice: default
choice: white
choice: blue
choice: black
choice: red
choice: green
choice: purple
choice: pink
choice: artifact
choice: snow
choice: multicolor
choice: spectral
choice: colorless
styling field:
type: text
name: popout image style
description: The styling instructions for the popout image field, formatted as "left,top,width,height,". The text MUST end with a comma.
styling style:
tap symbol:
render style: both
choice images:
modern: /magic-mana-large-extra-m15.mse-symbol-font/mana_t.png
old: /magic-mana-large-extra-m15.mse-symbol-font/mana_t_old.png
diagonal T: /magic-mana-large-extra-m15.mse-symbol-font/mana_t_older.png
regular options:
render style: checklist
direction: vertical
extras:
render style: checklist
direction: vertical
############################################################## Card fields
card style:
############################# Background stuff
############################# Name line
name:
left:
{ if card.card_symbol=="none" and (card.type_symbol=="none" or not contains(styling.extras, match:"type symbol with name")) then 32
else if card.card_symbol == "none" then 49
else if card.type_symbol == "none" or ( not contains(styling.extras, match:"type symbol with name")) then 49
else 67}
top: { font_field(field: "name", value: "top")}
right: { 341 - card_style.casting_cost.content_width }
height: 23
alignment: bottom shrink-overflow
padding bottom: 0
z index: 1
font:
name: { font_field(field: "name", value: "name")}
size: { font_field(field: "name", value: "size")}
weight: { font_field(field: "name", value: "weight")}
color: black
casting cost:
right: 346
top: 29
width: { max(30, card_style.casting_cost.content_width) + 5 }
height: 23
alignment: middle right
font:
name: MPlantin
size: 15
symbol font:
name: magic-mana-large-extra-m15
size: 15
alignment: middle right
always symbol: true
z index: 2
padding top: 0
card symbol:
left:
{if card.card_symbol == "none" then 20
else if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 30
else 50}
top: {if card.card_symbol == "none" then 40 else 29}
height: 20
width: 14
z index: 1
render style: image
choice images:
tombstone: tombstone.png
type symbol:
left: {if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 18 else 27}
top: {if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 20 else 30}
width: 21
height: 20
z index: 5
render style: image
alignment: middle center
visible: { contains(styling.extras, match:"type symbol with name") }
choice images:
artifact: type-symbols/artifact_black.png
creature: type-symbols/creature_black.png
enchantment: type-symbols/enchantment_black.png
instant: type-symbols/instant_black.png
land: type-symbols/land_black.png
multitype: type-symbols/multitype_black.png
sorcery: type-symbols/sorcery_black.png
planeswalker: type-symbols/planeswalker_black.png
structure: type-symbols/structure_black.png
############################# Image
image:
left: 29
top: 60
width: 316
height: 231
z index: 1
default: {default_image(card.card_color)}
image 2:
left: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).0 else "0"}
top: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).1 else "0"}
width: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).2 else "0"}
height: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).3 else "0"}
z index: 1
############################# Card type
indicator:
left: 31
top: 300
width: 17
height: 17
z index: 2
render style: image
visible: { has_identity() }
image: { card_identity() }
type:
left: { if has_identity() then "52" else "32" }
top: { font_field(field: "type", value: "top")}
width: { (if has_identity() then "290" else "310") - max(22,card_style.rarity.content_width) }
height: 20
alignment: top shrink-overflow
z index: 2
padding top: 2
font:
name: { font_field(field: "type", value: "name")}
size: { font_field(field: "type", value: "size")}
weight: { font_field(field: "type", value: "weight")}
color: black
separator color: red
rarity:
right: 344
top: 297
width: 44
height: 22
z index: 2
render style: image
alignment: middle right
choice images:
# Images based on the set symbol
basic land:
script:
if contains(styling.regular_options, match:"inverted common symbol") then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
else symbol_variation(symbol: set.symbol, variation: "common")
common:
script:
if contains(styling.regular_options, match:"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: 29
top: 327
width: 314
height: 154
font:
name: { font_field(field: "text", value: "name")}
italic name: { font_field(field: "text", value: "italic")}
size: { font_field(field: "text", value: "size")}
weight: { font_field(field: "text", value: "weight")}
scale down to: 6
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: 14
alignment:
script:
if contains(styling.regular_options, match:"center text") then "middle center"
else "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
pt:
z index: 2
left: 286
top: 469
width: 60
height: 28
alignment: center middle shrink-overflow
font:
name: { font_field(field: "pt", value: "name")}
size: { font_field(field: "pt", value: "size")}
weight: { font_field(field: "pt", value: "weight")}
color: black
separator color: red
symbol font:
name: {styling.pt_box_symbols}
size: 8
alignment: middle right
############################# Card sorting / numbering
set code:
left: 24
top: 498
width: 40
height: 10
z index: 1
font:
name: Relay-Medium
size: 7
color: white
weight: bold
############################# Copyright stuff
illustrator:
left: { 44 + card_style.set_code.content_width }
top: 497.5
width: 200
height: 10
z index: 1
font:
name: Beleren Small Caps Bold
size: 7.5
color: white
copyright:
right: 350
top: { if card.pt != "" then 500 else 488 }
width: 140
height: 10
z index: 2
alignment: middle right shrink-overflow
font:
name: Matrix
size: 7
color: white
weight: bold
############################################################## Extra card fields
extra card field:
type: choice
name: mythic rare accent
save value: false
editable: false
choice: accent
extra card field:
type: text
name: card code
save value: false
script: forward_editor(prefix: card_number_m15() + "/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text)
extra card field:
type: choice
name: artist arrow
editable: false
save value: false
choice: white
save value: false
extra card field:
type: multiple choice
name: stamp
empty choice: colorless
choice: white
choice: blue
choice: black
choice: red
choice: green
choice: purple
choice:
name: pink
line below: true
choice: artifact
choice: snow
choice: land
choice: multicolor
choice: spectral
choice:
name: hybrid
line below: true
choice:
name: horizontal
type: radio
choice:
name: vertical
type: radio
choice:
name: radial
type: radio
choice:
name: diagonal
type: radio
choice:
name: overlay
type: radio
choice:
name: reversed
script: card_color_filter(value)
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
extra card field:
type: multiple choice
name: pt box
empty choice: colorless
choice: white
choice: blue
choice: black
choice: red
choice: green
choice: purple
choice:
name: pink
line below: true
choice: artifact
choice: snow
choice: land
choice: multicolor
choice: spectral
choice:
name: hybrid
line below: true
choice:
name: horizontal
type: radio
choice:
name: vertical
type: radio
choice:
name: radial
type: radio
choice:
name: diagonal
type: radio
choice:
name: overlay
type: radio
choice:
name: reversed
script: card_color_filter(value)
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
extra card field:
type: choice
name: foil stamp
choice: stamp
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: emblem
include file: watermarks/watermark-names
extra card field:
type: text
name: creator computer
save value: false
editable: false
show statistics: false
script: ":"
extra card field:
type: text
name: creator
save value: true
show statistics: false
editable: true
extra card field:
type: text
name: promo label
save value: true
description: The golden promo label.
extra card field:
type: multiple choice
name: frame
empty choice: colorless
choice: white
choice: blue
choice: black
choice: red
choice: green
choice: purple
choice:
name: pink
line below: true
choice: artifact
choice: snow
choice: land
choice: multicolor
choice: spectral
choice:
name: hybrid
line below: true
choice:
name: horizontal
type: radio
choice:
name: vertical
type: radio
choice:
name: radial
type: radio
choice:
name: diagonal
type: radio
choice:
name: overlay
type: radio
choice:
name: reversed
script: card_color_filter(value)
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
extra card field:
type: choice
name: clock watermark
save value: false
editable: false
script: "clock"
extra card field:
type: choice
name: alchemist watermark
save value: false
editable: false
script: "alchemy"
extra card field:
type: choice
name: frost effect
save value: false
editable: false
script: "frost"
extra card field:
type: choice
name: runes
save value: false
editable: false
script: "runes"
extra card style:
mythic rare accent:
right: 344
top: 297
width: 44
height: 22
z index: 3
render style: image
visible: {card.rarity == "mythic rare"}
alignment: middle right
choice images:
# Images based on the set symbol
accent:
script:
symbol_variation(
symbol: styling.mythic_rare_accent,
border_radius: 0,
fill_type: "solid",
border_color: rgb(255,255,255),
fill_color: rgba(0,0,0,0)
)
card code:
left: 24
top: 488
width: 120
height: 10
z index: 1
font:
name: Relay-Medium
size: 7
color: white
weight: bold
artist arrow:
left: { 28 + card_style.set_code.content_width }
top: 500
width: 12
height: 7
z index: 1
render style: image
image: artist_arrow.png
stamp:
left: 165
top: 472
width: 46
height: 26
z index: 1
visible: { is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") }
render style: image
image: { card_stamp() }
pt box:
left: 273
top: 466
width: 81
height: 42
z index: 1
visible: { card.pt != "" }
render style: image
image: { card_ptbox() }
foil stamp:
left: 165
top: 472
width: 46
height: 26
z index: 1
visible: { is_rare() }
render style: image
image: foil_stamp.png
foil layer:
left: 0
top : 0
width: 375
height: 523
z index: 3
render style: image
image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"}
mask: { if is_rare() then "masks/foil_mask_rare.png" else "masks/foil_mask.png" }
emblem:
left: 117
top: 321
width: 138
height: 166
z index: 1
render style: image
popup style: in place
alignment: middle center
include file: watermarks/watermarks
creator computer:
left: { 48 + card_style.set_code.content_width + card_style.illustrator.content_width }
top: 497.5
width: 10
height: 10
z index: 1
visible: { contains(styling.extras, match:"card creator credit field") }
font:
name: Wingdings
size: 8.5
weight: bold
color: white
creator:
left: { 62 + card_style.set_code.content_width + card_style.illustrator.content_width }
top: 497.5
width: 100
height: 10
z index: 1
visible: { contains(styling.extras, match:"card creator credit field") }
font:
name: Beleren Small Caps Bold
size: 7.5
color: white
promo label:
left: 40
top: 262
width: 295
height: 29
alignment: middle right
z index: 4
font:
name: { if contains(styling.extras, match:"holiday promo text") then "MagicMedieval" else "ModMatrix" }
size: 14
color: { if contains(styling.extras, match:"holiday promo text") then rgb(217,0,0) else rgb(223,169,41) }
frame:
left: 0
top: 0
width: 375
height: 523
z index: 0
render style: image
popup style: in place
image: { card_background() }
clock watermark:
left: 28
top: 326
width: 318
height: 157
z index: 4
render style: image
image: clock_watermark.png
visible: { contains(styling.extras, match: "clock watermark") }
mask: { if is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") then "masks/mask_fullsize_watermarks.png" else nil }
alchemist watermark:
left: 28
top: 326
width: 318
height: 157
z index: 4
render style: image
image: alchemy_watermark.png
visible: { contains(styling.extras, match: "alchemist watermark") }
mask: { if is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") then "masks/mask_fullsize_watermarks.png" else nil }
frost effect:
left: 0
top: 0
width: 375
height: 523
z index: 4
render style: image
image: frost.png
visible: { contains(styling.extras, match: "frost effect") }
runes:
left: 0
top: 0
width: 375
height: 523
z index: 4
render style: image
image: runes.png
visible: { contains(styling.extras, match: "runes") }
mask: masks/rune_mask.png