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:{""+remove_tags(_1) + " " + to_upper(remove_tags(_2)) + " "} ) 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: {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: { if styling.shrink_font_size != "" then 14 - to_number(styling.shrink_font_size) else 14} 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 == "") 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 == "") 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 choice: plate 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: 1 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() } vehicle 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() }