Files
2025-11-13 17:56:08 -06:00

940 lines
29 KiB
Plaintext

mse version: 2.0.0
game: magic
short name: Mainframe Tokens
full name: Tokens
icon: card-sample.png
installer group: magic/m15 style/tokens
position hint: 004
version: 2025-01-11
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-small.mse-symbol-font
version: 2007-09-23
depends on:
package: magic-mainframe-extras.mse-include
version: 2018-01-01
card width: 375
card height: 523
card dpi: 150
##### Nyx Tokens by HonchkrowDavid
##### Flavor Bar image by SirnightNano
##### M20 base tokens and Vehicle background by silverback_ape
##### M20 Clear tokens by Femme Fatale
############################################################## Extra scripts
init script:
# Should hybrids have a grey name?
mask_hybrid_with_land := { styling.grey_hybrid_typeline }
text_filter :=
{
if is_archetype() then archetype_formatter(input) else input
}
+
text_filter
archetype_formatter := {
out := replace(input
match:"^([^ ]+)[ ]([^\\\n]+)([ ][ ])"
replace:{"<sym>"+remove_tags(_1) + "</sym> <font:Gotham Pro Black>" + to_upper(remove_tags(_2)) + "</font> "}
)
out
}
# Load scripts for image box
include file: /magic-default-image.mse-include/scripts
template_prefix := [
alias: "alias/"
crown:"/magic-modules.mse-include/crowns/375/borderless/"
card: ""
card2: ""
card3: ""
card4: "nyx/"
card5: "nyx/"
card6:"nyx/"
card7: "m20/"
card8: "m20/"
card9: "m20/"
snow: "/magic-modules.mse-include/trims/snow/"
nyx: "/magic-modules.mse-include/trims/nyx/"
pt:"/magic-modules.mse-include/pts/375 m15/"
snowbox: "/magic-modules.mse-include/cards/375 m15 simple/snow/"
stamp:"stamps/round/"
ubstamp:"stamps/ub/"
star: "/magic-modules.mse-include/trims/star/",
]
template_suffix := [
alias: "alias.png",
crown:"crown.png"
card: "card.jpg",
card2: "card2.jpg",
card3: "card3.jpg",
card4: "nyx.png",
card5: "card2.jpg",
card6: "card3.jpg",
card7: "card.png",
card8: "card2.png",
card9: "card3.png",
snow: "snow.png"
nyx: "nyx.png"
pt: "pt.png"
stamp: "stamp.png"
ubstamp: "stamp.png",
snowbox: "card.jpg"
star: "star.png",
]
template := {
if type_name(harder_script[type] or else nil) != type_name(nil)
then harder_script[type](input, land:false)
else template_prefix[type]
+ input_mixer(input, type:type)
+ template_suffix[type]
}
land_template := {
if type_name(harder_script[type] or else nil) != type_name(nil)
then harder_script[type](input, land:true)
else template_prefix[type]
+ input_mixer(input, type:type)
+ template_suffix[type]
}
input_mixer := {
if input == "w" and (type == "card7" or type == "card8" or type == "card9") and (card.card_color != "white")
then "h"
else input
}
landless := {
landless_ar[input] or else false
}
landless_ar := [ star:true ]
harder_script := [
custom_border: custom_border_image,
alt_nyx: alt_nyx_template
]
# 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_promo := { styling.promo }
########## Frame styling
card_shape := { "token" }
is_unsorted := {styling.remove_from_autocount}
is_m20 := {contains(styling.frames, match: "M20")}
is_tall := {contains(styling.frames, match: "tall")}
is_textless := {card.rule_text == "" and remove_tags(card.flavor_text) == ""}
is_clear := {contains(styling.frames, match: "clear")}
mtgo_abil := {contains(styling.frames, match: "MTGO Ability") and not is_m20()}
is_legend := { auto_legend() or contains(styling.frames, match:"legendary") }
is_vehicle := { (auto_vehicle() or contains(styling.frames, match:"vehicle")) and not is_m20() }
is_nyx := { (auto_nyx() or contains(styling.frames, match:"nyx")) and not is_clear() }
is_snow := { (auto_snow() or contains(styling.frames, match:"snow")) }
auto_legend := { set.auto_legends and lang_setting("is_legendary")(card.super_type) }
auto_vehicle := { contains(styling.auto_frames, match:"vehicle") and lang_setting("is_vehicle")(card.sub_type) }
auto_nyx := { contains(styling.auto_frames, match:"nyx") and lang_setting("is_enchantment")(card.super_type) }
auto_snow := { contains(styling.auto_frames, match:"snow") and lang_setting("is_snow")(card.super_type) }
is_copy := {contains(styling.frames, match: "copy")}
text_shape := {
if is_m20() and is_tall() then "9"
else if is_m20() and is_textless() then "7"
else if is_m20() then "8"
else if is_tall() then "3"
else if is_textless() then ""
else "2"
}
crown_background := {color_background(type:"crown", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/crowns/375/")}
alias_bar := { color_background(type:"alias", base_hybrid:card_hybrid) }
use_evobar := {chosen(styling.other_options, choice:"pokemon evobar") and not is_skinned()}
is_skinned := {chosen(styling.other_options, choice:"godzilla style alias")}
snow_card_background := { color_background(type:"snowbox", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/cards/375 m15 simple/", blend_type:"card") }
########## Mainframe stuff
use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
un_png := replace@(match:".png", replace: "")
ancestral_mana := { contains(styling.other_options, match:"ancestral generic")}
center_pt := { contains(styling.other_options, match:"center pt")}
remove_rarity := { contains(styling.other_options, match:"remove rarity")}
pre_stamp := { contains(styling.other_options, match:"prerelease")}
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 }
use_vorthos := {chosen(styling.other_options, choice:"vorthos box")}
is_weird_token := {chosen(styling.frames, choice:"archetype") or chosen(styling.frames, choice:"state")}
is_state := {chosen(styling.frames, choice:"state")}
is_archetype := {chosen(styling.frames, choice:"archetype")}
white_state_font := {is_weird_token() and contains(styling.other_options, match:"white state text")}
archetype_image := {is_archetype() and contains(styling.other_options, match:"archetype image")}
use_drop_shadow := {is_weird_token() and contains(styling.other_options, match:"state drop shadow")}
### Customize fonts
swap_fonts_name_default := [
name: {
if is_archetype() then "Gotham Medium"
else if is_copy() or mtgo_abil() then "Beleren Bold"
else "Beleren Small Caps Bold"
},
size: {
if is_archetype() then 9
else if is_copy() or mtgo_abil() then 18
else 19
},
color: {
if is_weird_token() then "white"
else if is_m20() and is_snow() then "black"
else if is_m20() and card.card_color == "white" and not is_clear() then "black"
else if is_m20() then "white"
else rgb(255,239,128)
},
vertical: {0},
italic: {""}
]
swap_fonts_type_default := [
name: {"Beleren Bold"},
size: {14},
color: {if mtgo_abil() then rgb(255,239,128) else "black"},
vertical: {0},
italic: {""}
]
swap_fonts_body_default := [
name: {if is_archetype() then "Gotham Pro" else "MPlantin"},
size: {if styling.shrink_font_size != "" then 14 - to_number(styling.shrink_font_size) else 14},
color: {if white_state_font() then "white" else "black"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_pt_default := [
name: {"Beleren Bold"},
size: {16},
color: {if is_vehicle() then "white" else "black"},
vertical: {0},
italic: {""}
]
stamp_img := {
sh := stamp_shape()
if is_m20() and sh == "triangle"
then module_ubstamp()
else if is_m20()
then module_stamp()
else "/magic-modules.mse-include/stamps/backs/" + (if sh == "triangle" then "triangle_stamp.png" else "stamp.png")
}
is_custom_border := {
if chosen(styling.frames, choice:"custom border")
then has_png(styling.custom_border_source)
else auto_custom_border()
}
custom_border_blend := { color_background(type:"custom_border", base_hybrid:card_hybrid) }
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
styling field:
type: multiple choice
name: frames
choice: archetype
choice: state
choice: copy
choice: tall
choice: legendary
choice: clear
choice: M20
choice: MTGO Ability
choice: nyx
choice: snow
choice: vehicle
choice: custom border
styling field:
type: text
name: custom border source
description: Use this file from magic-mainframe-extras as a custom vehicle-like frame. if colored, name images like "wborder.png" and put "-color-border.png" here.
styling field:
type: multiple choice
name: auto frames
description: Automatically applies frames for multi-typed enchantments, snow, or Vehicles.
choice: nyx
choice: snow
choice: vehicle
initial: nyx, vehicle, snow
styling field:
type: multiple choice
name: other options
choice: center pt
choice: remove rarity symbol
choice: prerelease stamp
choice: ancestral generic mana
choice: vorthos box
choice: godzilla style alias
choice: pokemon evobar
choice: archetype image
choice: white state text
choice: state drop shadow
initial: white state test
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: 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: text
name: shrink font size
description: Reduces the fontsize text N points.
styling field:
type: text
name: alt rarity color
description: Use a custom color for the rarity symbol. Formatted as "R1,G1,B1:R2,G2,B2:...:X:" 1 and 2 are fill color, 3 and 4 border color, X is border thickness. For example, rare is 214,196,94:95,84,40:0,0,0:0,0,0:0.07
styling field:
type: boolean
name: apply custom fonts
description: Enable to attempt to use custom fonts given below
initial: no
styling field:
type: text
name: custom name font
description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers.
styling field:
type: text
name: custom type font
description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers.
styling field:
type: text
name: custom body font
description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers.
styling field:
type: text
name: custom pt font
description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers.
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 field:
type: boolean
name: grey hybrid typeline
description: Use a grey background for the type line on hybrid cards. 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: 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: 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: short text only
styling field:
type: boolean
name: promo
description: Is this card a promo card, with the "P" rarity?
initial: no
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-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
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") }
frames:
render style: checklist
direction: vertical
auto frames:
render style: checklist
direction: vertical
other options:
render style: checklist
direction: vertical
############################################################## Card fields
include file: /magic-modules.mse-include/corners/card_fields
include file: /magic-modules.mse-include/information/card_fields
include file: /magic-modules.mse-include/separators/card_fields
include file: /magic-modules.mse-include/stamps/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
mask: { if is_legend() then "crown_border.png" else "border_mask.png"}
card color:
left: 0
top: 0
width: { if is_clear() then 0 else 375 }
height: { if is_clear() then 0 else 523 }
z index: 0
render style: image
popup style: in place
image: { if is_archetype() then "arch_frame.png" else if is_state() then "state_frame.png" else color_background(type:"card" + text_shape(), base_hybrid:card_hybrid) }
mask: {if is_archetype() then "arch_mask.png" else if is_state() then "state_mask.png" else "framemask" + text_shape() + ".png"}
############################# Name line
name:
left: { if is_copy() then 32 else 30}
top: { (if is_archetype() then 10 else if is_copy() then 24 else 26) + name_font_vertical()}
width: { 315 - (if is_copy() then card_style.casting_cost.content_width else 0)}
height: {if is_archetype() then 14 else 28 - (0.5 * shrink_name())}
alignment: { if is_copy() or mtgo_abil() then "bottom shrink-overflow" else "bottom center"}
padding bottom: -2
padding top: 2
z index: 900
font:
name: { name_font() }
italic name: { name_font_italic() }
size: { name_font_size() }
color: { name_font_color() }
weight: {if is_archetype() then "bold" else ""}
alias:
left: {if is_skinned() then 45 else 19}
top: {if is_m20() and is_skinned() then (if is_legend() then 57 else 51) else 52}
width: {if is_skinned() then 285 else if use_evobar() then max(100, card_style.alias.content_width) else 0}
height: 20
alignment: { (if is_skinned() then "center" else "") + "bottom shrink-overflow"}
padding bottom: 0
z index: 900
font:
name: {if use_evobar() then "Matrix" else "MPlantin-Italic"}
size: {if use_evobar() then 10 else 9}
style: {if use_evobar() then "italic" else "bold"}
weight: {if use_evobar() then "italic" else "bold"}
color: {if use_evobar() then "black" else "white"}
casting cost:
right: 344
top: 29
width: { if not is_copy() then 0 else 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
size: 15
alignment: middle right
always symbol: true
z index: 900
padding top: 0
############################# Image
image:
left: { if is_weird_token() then 14 else if is_clear() or is_m20() then 0 else 29 }
top: { if is_archetype() then 30 else if is_state() then 15 else if is_clear() or is_m20() then 0 else 62 }
width: { if is_weird_token() then 346 else if is_clear() or is_m20() then 375 else 317 }
height: { if archetype_image() then 461 else if is_archetype() then 0 else if is_state() then 467 else if is_clear() or is_m20() then 523 else if is_tall() then 229 else if is_textless() then 363 else 289}
mask: { if is_weird_token() then "" else (if is_m20() then "m20_" else if is_clear() then "clear_" else "") + "imagemask" + (if is_clear() and not is_m20() then "" else if is_tall() then "3" else if is_textless() then "" else "2") + ".png" }
z index: -1
default: { if is_clear() then "" else default_image(card.card_color)}
mainframe image:
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: 1010
############################# Card type
type:
left: 32
top:
{(if is_tall() and is_clear() then 294
else if is_tall() then 296
else if is_textless() and is_clear() then 429
else if is_textless() then 429
else if is_clear() then 354
else 354)
+ (if is_m20() and is_textless() then 1 else if is_m20() and not is_tall() then 2 else if is_m20() and is_clear() then 2)
+ shrink_type()
+ type_font_vertical()}
width: { if is_weird_token() then 0 else 311 - ( if contains(styling.other_options, match:"remove rarity") then 0 else rare_width()) }
height: { 20 - shrink_type()}
alignment: top shrink-overflow
z index: 900
padding top: 2
padding bottom: 4
padding right: 2
font:
name: { type_font() }
italic name: { type_font_italic() }
size: { type_font_size() }
color: { type_font_color() }
separator color: red
rarity:
right: 344
top:
{
(if is_tall() and is_clear() then 296
else if is_tall() then (if is_m20() then 298 else if is_clear() then 296 else 297)
else if is_textless() then (if is_m20() then 432 else 431)
else if is_m20() then 358
else 356)
}
width: { if is_weird_token() or contains(styling.other_options, match:"remove rarity") then 0 else 44}
height: 22
z index: 2
alignment: middle right
render style: image
include file: /magic-modules.mse-include/rarities/choice_images
############################# Text box
text:
left: {if is_archetype() then 20 else 29}
top:
{
(if is_archetype() then 30
else if is_state() then 327
else if is_tall() then 327
else if is_textless() then 459
else 388)
+ body_font_vertical()
}
width: { if is_archetype() then 337 else 315}
height:
{
if is_archetype() then 450
else if is_state() then 154
else if is_tall() then 154
else if is_textless() then 27
else 94
}
font:
name: { body_font() }
italic name: { body_font_italic() }
size: { body_font_size() }
scale down to: 6
color: { body_font_color() }
shadow color: {if not use_drop_shadow() then rgba(0,0,0,0) else if white_state_font() then "black" else "white"}
shadow displacement x: -1
shadow displacement y: 1
symbol font:
name: { styling.text_box_mana_symbols }
size: { body_font_size() }
alignment:
script:
if (styling.center_text == "short text only" and
card_style.text.content_lines <= 2 and
not contains(match: ".", card.rule_text) and
not contains(match: ";", card.rule_text) and
not contains(match: ":", card.rule_text) and
not contains(match: "!", card.rule_text) and
not contains(match: "?", card.rule_text) and
card.flavor_text == "<i-flavor></i-flavor>") or
styling.center_text == "always"
then "middle center shrink-overflow"
else "middle left shrink-overflow"
z index: 900
padding left: 6
padding top: 2
padding right: 4
padding bottom: 2
line height hard: 1.2
line height line: 1.5
line height soft: 0.9
rule text 2:
top: 58
left: 29
width: {if is_state() then 315 else 0}
height: 70
font:
name: MPlantin-Italic
italic name: MPlantin
size: 13
scale down to: 8
color: {if white_state_font() then "white" else "black"}
shadow color: {if not use_drop_shadow() then rgba(0,0,0,0) else if white_state_font() then "black" else "white"}
shadow displacement x: -1
shadow displacement y: 1
symbol font:
name: { styling.text_box_mana_symbols }
size: 13
alignment:
script:
if (styling.center_text == "short text only" and
card_style.text_2.content_lines <= 2 and
not contains(match: ".", card.rule_text_2) and
not contains(match: ";", card.rule_text_2) and
not contains(match: ":", card.rule_text_2) and
not contains(match: "!", card.rule_text_2) and
not contains(match: "?", card.rule_text_2) and
card.flavor_text == "<i-flavor></i-flavor>") or
styling.center_text == "always"
then "top center shrink-overflow"
else "top left shrink-overflow"
z index: 900
padding left: 6
padding top: 2
padding right: 4
padding bottom: 2
line height hard: 1.2
line height line: 1.5
line height soft: 0.9
watermark:
left: { if is_tall() then 117 else 142 }
top: { if is_tall() then 321 else if is_textless() then 600 else 383 }
width: { if is_tall() then 138 else 85 }
height: { if is_tall() then 166 else 104 }
z index: 1
render style: image
alignment: middle center
include file: /magic.mse-game/watermarks/menu_choice_images
image: { watermark_image_1() }
############################# PT
pt:
z index: 900
left: { if center_pt() then 157.5 else 286}
top: {469 + pt_font_vertical()}
width: 60
height: 28
alignment: center middle shrink-overflow
font:
name: {pt_font()}
italic name: {pt_font_italic()}
size: {pt_font_size()}
color: {pt_font_color()}
separator color: red
############################################################## Extra card fields
extra card field:
type: choice
name: pt box
script: card.card_color
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: clear frame
choice: clear
save value: false
editable: false
extra card field:
type: choice
name: legend crown
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: text
name: promo label
save value: true
description: The golden promo label.
extra card field:
type: choice
name: plate
choice: plate
save value: false
editable: false
extra card field:
type: choice
name: nyx overlay
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: snow overlay
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: snow type overlay
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: snow box overlay
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: vehicle overlay
choice: plate
save value: false
editable: false
extra card field:
type: choice
name: custom overlay
script: card.card_color
save value: false
editable: false
extra card field:
type: text
name: vorthos box
save value: true
editable: true
description: Where they put mtgstory.com on story spotlights.
extra card field:
type: choice
name: evobar tip
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: alias bar
script: card.card_color
save value: false
editable: false
extra card field:
type: color
name: arch back
choice:
name: gray
color: rgb(120,100,100)
show statistics: false
description: The background of the card; can be any solid color.
extra card field:
type: choice
name: stamp backing
choice: stamp
editable: false
save value: false
script: card.card_color
extra card style:
pt box:
left: {if center_pt() then 144 else 273 }
top: 466
width: 81
height: 42
z index: 720
visible: { card.pt != "" }
render style: image
image: { if is_clear() then template_prefix["pt"]+"cpt.png" else module_ptbox(vehicle:is_vehicle()) }
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"}
clear frame:
left: 0
top: 0
width: { if is_clear() then 375 else 0 }
height: { if is_clear() then 523 else 0 }
z index: 0
render style: image
image: { "xcard" + text_shape() + ".png" }
legend crown:
left: 0
top: 0
width: 375
height: 523
z index: 2
render style: image
visible: {is_legend()}
image: {if is_m20() then crown_background() else "crown.png"}
promo label:
left: 40
top: { if is_tall() then 262 else if is_textless() then 399 else 324 }
width: {if contains(styling.other_options, match:"prerelease stamp") then 295 else 0}
height: 29
alignment: middle right
z index: 4
font:
name: ModMatrix
size: 14
color: rgb(223,169,41)
plate:
left: 19
top: { if is_tall() then 291 else if is_textless() then 425 else 351 }
width: 336
height: 37
z index: 1
render style: image
image: plate.png
visible: { mtgo_abil() }
nyx overlay:
left: {if is_m20() then 0 else 15}
top: {if is_m20() then 0 else 15}
width: {if is_m20() then 375 else 345}
height: {if is_m20() then 523 else 471}
z index: 1
render style: image
image: {module_nyx()}
mask: {if is_m20() then "m20/nyx_mask.png" else "v_" + if is_tall() then "tall_mask.png" else if is_textless() then "short_mask.png" else "mid_mask.png"}
visible: { is_nyx() }
snow overlay:
left: {if is_m20() then 0 else 15}
top: {if is_m20() then 0 else 15}
width: {if is_m20() then 375 else 345}
height: {if is_m20() then 523 else 471}
z index: 1
render style: image
image: {module_snow()}
mask: {if is_m20() then "m20/nyx_mask.png" else "v_" + (if is_nyx() then "nyx_" else "") + if is_tall() then "tall_mask.png" else if is_textless() then "short_mask.png" else "mid_mask.png"}
visible: { is_snow() }
snow type overlay:
left: 0
top: { if is_tall() then 0 else if is_textless() then 134 else 60 }
width: 375
height: 523
z index: 1
render style: image
image: {module_snow()}
mask: m20/type_mask.png
visible: { is_snow() and is_m20() }
snow box overlay:
left: 28
top: { if is_tall() then 327 else 387 }
width: { if is_textless() then 0 else 320 }
height: { if is_tall() then 156 else 96 }
z index: 1
render style: image
image: { crop(snow_card_background(), offset_x:28, offset_y:327, width:320, height:156) }
mask: m20/snowbox_mask.png
visible: { is_snow() and is_m20() }
vehicle overlay:
left: 15
top: 15
width: 345
height: 471
z index: 1
render style: image
image: voverlay.png
mask: {"v_" + (if is_nyx() or is_snow() then "nyx_" else "") + if is_tall() then "tall_mask.png" else if is_textless() then "short_mask.png" else "mid_mask.png"}
visible: { is_vehicle() }
custom overlay:
left: 15
top: 15
width: 345
height: 471
z index: 1
render style: image
image: {custom_border_blend()}
mask: {"v_" + (if is_nyx() or is_snow() then "nyx_" else "") + if is_tall() then "tall_mask.png" else if is_textless() then "short_mask.png" else "mid_mask.png"}
visible: { is_custom_border() }
vorthos box:
right: { if card.pt != "" then 275 else 350 }
top: 488
left: 210
height: {if use_vorthos() then 10 else 0}
z index: 3
alignment: middle right
font:
name: Relay-Medium
size: 7
color: white
weight: bold
alias bar:
left: 38
top: {if is_m20() and is_legend() then 61 else if is_m20() then 55 else 56}
width: 298
height: 21
z index: 2
render style: image
image: {if is_m20() then alias_bar() else "alias/malias.png"}
visible: {is_skinned() and not use_evobar()}
evobar:
left: 15
top: 57
width: {card_style.alias.content_width}
height: 27
z index: 2
render style: image
image: evobar.png
visible: {use_evobar()}
evobar tip:
left: {14.6 + card_style.alias.content_width}
top: 57
width: 36
height: 27
z index: 2
render style: image
image: evobar_tip.png
visible: {use_evobar()}
arch back:
left: 0
top: 0
width: {if is_archetype() then 375 else 0}
height: 523
z index: -2
stamp backing:
left: 159
top: { if is_m20() then 471 else 474 }
width: 56
height: 26
z index: 850
visible: { card.card_stamp != "none" }
render style: image
image: { stamp_img() }