Files
magic-set-editor-fork/data/magic-m15-mainframe-dfc.mse-style/style
cajun 5a95c927e5 3.0.4 (#92)
Custom Symbol links will now detect if they are smaller than 512px wide, and add padding if they are not. This will do the padding for any old custom symbols without needing to update them. If you need to disable the autopadding, replace the "+" MSE inserts into the link to a "-".
    Fixed a bug where generic mana symbols were misaligned on HD frames.
    Fixed spree +s indenting like modals when they should not.
    Fix layering conflicts with the Lesson symbol and the Alchemy symbol.
    Fix layering conflict with Kaldheim Showcase watermark.
    Fix Mainframe Planeswalker watermark dependency warning.
    Fix Clear Tops looking in the wrong folder.
    Fix blending error on clear cards with colored mana costs.
    Fixed the alignment of the red Star nyx replacement.
    Improved the text on VOW Showcase.
2024-10-03 13:11:24 -05:00

4709 lines
170 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
mse version: 2.0.0
game: magic
short name: Mainframe DFC
full name: M15 DFCs
installer group: magic/m15 style/double-faced cards
icon: card-sample.png
position hint: 005
version: 2024-09-06
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: 2017-05-05
depends on:
package: magic-default-image.mse-include
version: 2007-09-23
depends on:
package: magic-pride.mse-include
version: 2021-05-26
card width: 752
card height: 523
card dpi: 150
card region:
name: front
x: 0
y: 0
height: 523
width: 375
card region:
name: back
x: 377
y: 0
height: 523
width: 375
############################################################## Extra scripts
init script:
####### Shape things
faces_coordinates := {
[
[
left: 0,
top: 0,
width: 375,
height: 523
],
[
left: 377,
top: 0,
width: 375,
height: 523
]
]
}
# Load scripts
include file: /magic-default-image.mse-include/scripts
include file: /magic-pride.mse-include/scripts
# Should hybrids have a grey name?
mask_hybrid_with_land := { styling.grey_hybrid_name }
# Use guild mana symbols?
guild_mana := { styling.use_guild_mana_symbols }
# 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"
}
# Loyalty cost arrows
loyalty_image := {
if contains(input, match: "+") then "loyalty up"
else if contains(input, match: "-") then "loyalty down"
else "loyalty naught"
}
loyalty_image_name := {
if contains(input, match: "+") then "loyaltyup.png"
else if contains(input, match: "-") then "loyaltydown.png"
else "loyaltynaught.png"
}
include file: /magic-modules.mse-include/loyalty/init_script_dfc
d20_filter := replace@(match:"^(|[Ee]lse ?|[Oo]ther ?|((</sym>)?[-0-9 ,+>\<](<sym>)?)+)[|]", replace:"<b>\\1</b>|")
text_filter := text_filter + d20_filter + {apply_margins(input, name:margin_code)} + {add_spacers(input, name:margin_code)} + {if is_modal(input) then bump_text(softline_ripper(input)) else input}
#### template images
#### base template
template_prefix := [
card: "/magic-modules.mse-include/cards/375 m15 simple/",
pt: "/magic-modules.mse-include/pts/375 m15/",
pt2: "/magic-modules.mse-include/pts/375 m15/back/",
fnm_pt: "/magic-modules.mse-include/pts/375 m15/paradox/",
inv_pt: "/magic-modules.mse-include/pts/375 m15/inverted/",
shifted_pt: "/magic-modules.mse-include/pts/375 m15/shifted/",
alias: "/magic-modules.mse-include/extras/alias/",
snow: "/magic-modules.mse-include/cards/375 m15 simple/snow/",
nyx: "/magic-modules.mse-include/trims/nyx/",
nyx_shifted: "/magic-modules.mse-include/trims/nyx/shifted/",
draft: "/magic-modules.mse-include/trims/conspiracy/",
crown: "/magic-modules.mse-include/crowns/375/",
stamp: "/magic-modules.mse-include/stamps/backs/375 round/",
ubstamp: "/magic-modules.mse-include/stamps/backs/375 ub/",
identity: "/magic-modules.mse-include/indicators/"
star: "/magic-modules.mse-include/trims/star/",
arrow: "/magic-modules.mse-include/levels/arrows/1/"
arrow2: "/magic-modules.mse-include/levels/arrows/2/"
arrow3: "/magic-modules.mse-include/levels/arrows/3/"
slide: "/magic-modules.mse-include/levels/slides/1/"
slide2: "/magic-modules.mse-include/levels/slides/2/"
slide3: "/magic-modules.mse-include/levels/slides/3/"
slide4: "/magic-modules.mse-include/levels/slides/1/back/"
slide5: "/magic-modules.mse-include/levels/slides/2/back/"
slide6: "/magic-modules.mse-include/levels/slides/3/back/"
slide_shift: "/magic-modules.mse-include/levels/slides/1/shifted/"
slide2_shift: "/magic-modules.mse-include/levels/slides/2/shifted/"
slide3_shift: "/magic-modules.mse-include/levels/slides/3/shifted/"
devoid: "devoid/"
map: "/magic-modules.mse-include/cards/746 maps/"
mappt: "/magic-modules.mse-include/pts/746 maps/"
miracle: "/magic-modules.mse-include/trims/miracle/"
miracle2: "/magic-modules.mse-include/trims/miracle/back/"
miracle_shifted: "/magic-modules.mse-include/trims/miracle/shifted/"
miracle_inv: "/magic-modules.mse-include/trims/miracle/inverted/"
miracle_fnm: "/magic-modules.mse-include/trims/miracle/fnm/"
miracle_snow: "/magic-modules.mse-include/trims/miracle/snow/"
draft: "/magic-modules.mse-include/trims/draft/"
node: "nodes/"
node_shifted: "nodes/shifted/"
puma: "puma/"
puma_shift: "puma/shifted/"
curtains: "curtains/"
mark: "bookmarks/"
flag: "/magic-modules.mse-include/flags/dark/",
flag2: "/magic-modules.mse-include/flags/light/",
]
template_suffix := [
card: "card.jpg",
pt: "pt.png",
pt2: "pt.png",
fnm_pt: "pt.png",
inv_pt: "pt.png",
shifted_pt: "pt.png",
alias: "alias.png",
snow: "card.jpg",
nyx: "nyx.png",
nyx_shifted: "nyx.png",
draft: "draft.png",
crown: "crown.png",
stamp: "stamp.png",
ubstamp: "stamp.png",
identity: "identity.png"
star: "star.png",
devoid: "card.png"
map: "card.png"
mappt: "pt.png"
miracle: "miracle.png"
miracle2: "miracle.png"
miracle_shifted: "miracle.png"
miracle_inv: "miracle.png"
miracle_fnm: "miracle.png"
miracle_snow: "miracle.png"
node: "node.png"
node_shifted: "node.png"
curtains: "card.png"
slide: "slide.png"
slide2: "slide.png"
slide3: "slide.png"
slide4: "slide.png"
slide5: "slide.png"
slide6: "slide.png"
slide_shifted: "slide.png"
slide2_shifted: "slide.png"
slide3_shifted: "slide.png"
arrow: "arrow.png"
arrow2: "arrow.png"
arrow3: "arrow.png"
mark: "mark.png"
puma: "puma.png"
puma_shift: "puma.png"
flag: "flag.png",
flag2: "flag.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 + 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 + (if landless(type) or input == "a" then "" else "l") + template_suffix[type]
}
# Use land templates for previews because they show more contrast
hybrid_previews := "land,hybrid"
landless := {
landless_ar[input] or else false
}
landless_ar := [
nyx: true,
nyx_shifted: true,
star: true,
node: true,
miracle: true,
miracle2: true,
miracle_shifted: true,
miracle_snow: true,
miracle_inv: true,
miracle_fnm: true,
alias: true,
devoid: true,
energy: true,
season: true,
conspiracy: true,
arrow: true,
arrow2: true,
arrow3: true,
crown: true,
draft: true,
flag: true,
flag2: true,
mark: true,
curtains: true
]
arrow_img_1 := { color_background(type:"arrow", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/arrows/") }
arrow_img_2 := { color_background(type:"arrow2", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/arrows/", blend_type:"arrow") }
arrow_img_3 := { color_background(type:"arrow3", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/arrows/", blend_type:"arrow") }
level_img_1 := { color_background(type:"slide", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/slides/") }
level_img_2 := { color_background(type:"slide2", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/slides/", blend_type:"slide") }
level_img_3 := { color_background(type:"slide3", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/slides/", blend_type:"slide") }
level_img_4 := { color_background(type:"slide4", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/slides/", blend_type:"slide") }
level_img_5 := { color_background(type:"slide5", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/slides/", blend_type:"slide") }
level_img_6 := { color_background(type:"slide6", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/levels/slides/", blend_type:"slide") }
bookmark_background := { color_background(type:"mark", base_hybrid:card_hybrid, folder:template_prefix["mark"]) }
front_flag_image := { color_background(type:"flag", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/flags/") }
back_flag_image := { color_background(type:"flag2", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/flags/", blend_type:"flag") }
card_mapbox := { color_background(type:"mappt", base_hybrid:pt_hybrid, folder:template_prefix["mappt"], blend_type:"pt") }
curtain_background := { color_background(type:"curtains", base_hybrid:card_hybrid, folder:"curtains/") }
miracle_background := { color_background(type:"miracle", base_hybrid:card_hybrid, folder:template_prefix["miracle"]) }
miracle_background2 := { color_background(type:"miracle2", base_hybrid:card_hybrid, folder:template_prefix["miracle"], blend_type:"miracle") }
snow_background := { color_background(type:"snow", base_hybrid:card_hybrid, folder:template_prefix["card"], blend_type:"card") }
draft_background := { color_background(type:"draft", base_hybrid:card_hybrid, folder:template_prefix["draft"]) }
custom_border_blend := { color_background(type:"custom_border", base_hybrid:card_hybrid, folder:"/magic-modules.mse-include/trims/") }
module_crown_template_patch := {
module_crown_template(override: if mythic_edition() then "borderless" else if front_nyx() and chosen(styling.other_options, choice:"auto nyx crowns") then "nyx" else "")
}
module_crown_template_patch2 := {
module_crown_template(override: if mythic_edition() then "borderless" else if back_nyx() and chosen(styling.other_options, choice:"auto nyx crowns") then "nyx" else "")
}
module_brawl_crown_template := { crowns_folder() + "brawl/" + input + "crown2.png" }
front_ptbox := {
if front_map()
then card_mapbox(card.card_color)
else if front_vehicle()
then template_prefix["pt"] + "vpt.png"
else if front_clear()
then template_prefix["pt"] + "cpt.png"
else module_ptbox(card.card_color)
}
back_ptbox := {
if back_map()
then card_mapbox(card.card_color_2)
else if back_vehicle()
then template_prefix["pt2"] + "vpt.png"
else if back_clear()
then template_prefix["pt2"] + "cpt.png"
else module_ptbox2(card.card_color_2)
}
#### other settings
is_promo := { chosen(styling.other_options, choice:"promo") }
is_unsorted := {chosen(styling.other_options, choice:"remove from autocount")}
opacity := {pull_comma_array(styling.opacity, cell:input, end:false, default:50)}
comma_count := filter_text@(match:",")
paragraph_count :=
replace@(match:"<soft-line>\n", replace:"")+
filter_text@(match:"\n")
#### backend magic
lv_chop := { to_number_lax(pull_comma_array(input, cell:cell, end:0, default:0)) }
card_shape := {
if contains(styling.dfc_type, match: "modal")
then "modal double faced"
else "transform double faced"
}
a_saga := { front_saga() or front_class() or front_case() }
b_saga := { back_saga() or back_class() or back_case() }
## TODO is this better with an atom?
saga_reminder := {
if styling.alternate_saga_reminder != ""
then styling.alternate_saga_reminder
else if front_class()
then "Gain the next level as a sorcery to add its ability."
else "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III."
}
saga_reminderb := {
if styling.alternate_saga_reminder != ""
then styling.alternate_saga_reminder
else if back_class()
then "Gain the next level as a sorcery to add its ability."
else "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III."
}
is_shifted := {false}
back_shifted := {false}
special_text := {
if contains(styling.front_style, match:"saga") then (
card.chapter_text
+(if card.level_1_text != "" then "\n" + end_leader(level_leader(1)) + card.level_1_text else "")
+(if card.level_2_text != "" then "\n" + end_leader(level_leader(2)) + card.level_2_text else "")
+(if card.level_3_text != "" then "\n" + end_leader(level_leader(3)) + card.level_3_text else "")
+(if card.level_4_text != "" then "\n" + end_leader(level_leader(4)) + card.level_4_text else "")
)
else if front_class() then (
card.chapter_text
+(if card.level_1_text != "" then "\n" + card.level_1_text)
+(if card.level_2_text != "" then "\n" + card.level_9_text + (if card.level_2 == "" then " Level 2" else " " + card.level_2) + "\n" + card.level_2_text)
+(if card.level_3_text != "" then "\n" + card.level_10_text + (if card.level_3 == "" then " Level 3" else " " + card.level_3) + "\n" + card.level_3_text)
+(if card.level_4_text != "" then "\n" + card.level_11_text + (if card.level_4 == "" then " Level 4" else " " + card.level_4) + "\n" + card.level_4_text)
)
else if front_case() then (
card.level_1_text + "\n" + card.level_2_text + "\n" + card.level_3_text
)
else if front_leveler() then (
(if card.level_0 != "" then "[" + level_label(0) + " " + card.level_0 + "] " else "") + card.level_1_text + (if card.pt != "" then " [" + card.pt + "]" else "") + "\n"
+ (if card.level_1 != "" then "[" + level_label(1) + " " + card.level_1 + "] " else "") + card.level_2_text + (if card.pt_2 != "" then " [" + card.pt_2 + "]" else "") + "\n"
+ (if card.level_2 != "" then "[" + level_label(2) + " " + card.level_2 + "] " else "") + card.level_3_text + (if card.pt_3 != "" then " [" + card.pt_3 + "]" else "") + (if card.level_4_text != "" then "\n" else "")
+ (if card.level_3 != "" then "[" + level_label(3) + " " + card.level_3 + "] " else "") + card.level_4_text + (if card.pt_7 != "" then " [" + card.pt_7 + "]" else "")
)
else if front_mutate() then card.level_1_text + "\n" + card.text
else if not contains(styling.front_style, match:"planeswalker") then "" else
(if card.loyalty_cost_1 != "" then "[" + card.loyalty_cost_1 + "]: " else "") +(if card.level_1_text != "" and card.level_1_text != card.rule_text then card.level_1_text+"\n" else split_text(match:"\n", card.rule_text).0+"\n")
+ ( if card.loyalty_cost_2 != "" then "[" + card.loyalty_cost_2 + "]" + ": " else "") +(if card.level_2_text != "" then card.level_2_text+"\n" else if contains(paragraph_count(card.rule_text), match:"~") then split_text(match:"\n", card.rule_text).1+"\n" else "")
+ ( if card.loyalty_cost_3 != "" then "[" + card.loyalty_cost_3 + "]" + ": " else "") +(if card.level_3_text != "" then card.level_3_text else if contains(paragraph_count(card.rule_text), match:"~~") then split_text(match:"\n", card.rule_text).2 else "")
+ (if has_four_abilities() then "\n" + ( if card.loyalty_cost_4 != "" then "[" + card.loyalty_cost_4 + "]" + ": " else "") +(if card.level_4_text != "" then card.level_4_text else if contains(paragraph_count(card.rule_text), match:"~~~") then split_text(match:"\n", card.rule_text).3 else "") else "")
}
special_text2 := {
if back_saga() then (
card.chapter_text_2
+(if card.level_5_text != "" then "\n" + end_leader(level_leader2(1)) + card.level_5_text else "")
+(if card.level_6_text != "" then "\n" + end_leader(level_leader2(2)) + card.level_6_text else "")
+(if card.level_7_text != "" then "\n" + end_leader(level_leader2(3)) + card.level_7_text else "")
+(if card.level_8_text != "" then "\n" + end_leader(level_leader2(4)) + card.level_8_text else "")
)
else if back_class() then (
card.chapter_text_2
+(if card.level_5_text != "" then "\n" + card.level_5_text)
+(if card.level_6_text != "" then "\n" + card.level_12_text + (if card.level_6 == "" then " Level 2" else " " + card.level_6) + "\n" + card.level_6_text)
+(if card.level_7_text != "" then "\n" + card.level_13_text + (if card.level_7 == "" then " Level 3" else " " + card.level_7) + "\n" + card.level_7_text)
+(if card.level_8_text != "" then "\n" + card.level_14_text + (if card.level_8 == "" then " Level 4" else " " + card.level_8) + "\n" + card.level_8_text)
)
else if back_case() then (
card.level_5_text + "\n" + card.level_6_text + "\n" + card.level_7_text
)
else if back_leveler() then (
(if card.level_5 != "" then "[" + level_label(4) + " " + card.level_5 + "] " else "") + card.level_5_text + (if card.pt_4 != "" then " [" + card.pt_4 + "]" else "") + "\n"
+ (if card.level_6 != "" then "[" + level_label(5) + " " + card.level_6 + "] " else "") + card.level_6_text + (if card.pt_5 != "" then " [" + card.pt_5 + "]" else "") + "\n"
+ (if card.level_7 != "" then "[" + level_label(6) + " " + card.level_7 + "] " else "") + card.level_7_text + (if card.pt_6 != "" then " [" + card.pt_6 + "]" else "") + (if card.level_8_text != "" then "\n" else "")
+ (if card.level_8 != "" then "[" + level_label(7) + " " + card.level_8 + "] " else "") + card.level_8_text + (if card.pt_8 != "" then " [" + card.pt_8 + "]" else "")
)
else if back_mutate() then card.level_5_text + "\n" + card.text_2
else if not contains(styling.back_style, match:"planeswalker") then "" else
(if card.loyalty_cost_5 != "" then "[" + card.loyalty_cost_5 + "]: " else "") +(if card.level_5_text != "" and card.level_5_text != card.rule_text_2 then card.level_5_text+"\n" else split_text(match:"\n", card.rule_text_2).0+"\n")
+ ( if card.loyalty_cost_6 != "" then "[" + card.loyalty_cost_6 + "]" + ": " else "") +(if card.level_6_text != "" then card.level_6_text+"\n" else if contains(paragraph_count(card.rule_text_2), match:"~") then split_text(match:"\n", card.rule_text_2).1+"\n" else "")
+ ( if card.loyalty_cost_7 != "" then "[" + card.loyalty_cost_7 + "]" + ": " else "") +(if card.level_7_text != "" then card.level_7_text else if contains(paragraph_count(card.rule_text_2), match:"~~") then split_text(match:"\n", card.rule_text_2).2 else "")
+ (if back_four_abilities() then "\n" + ( if card.loyalty_cost_8 != "" then "[" + card.loyalty_cost_8 + "]" + ": " else "") +(if card.level_8_text != "" then card.level_8_text else if contains(paragraph_count(card.rule_text_2), match:"~~~") then split_text(match:"\n", card.rule_text_2).3 else "") else "")
}
name_tag_for_level := {
if input < 5 or input == 9 or input == 10
then ""
else "_2"
}
back_face := replace@(match:"([0-9])a", replace:"\\1b")
is_bumped := {not mainframe_walker() and (card.loyalty_cost_1 != "" or card.loyalty_cost_2 != "" or card.loyalty_cost_3 != "" or card.loyalty_cost_4 != "")}
back_bumped := {not mainframe_walkerb() and (card.loyalty_cost_5 != "" or card.loyalty_cost_6 != "" or card.loyalty_cost_7 != "" or card.loyalty_cost_8 != "")}
mainframe_walker := { contains(styling.front_style, match:"planeswalker") }
mainframe_walkerb := { contains(styling.back_style, match:"planeswalker") }
is_curtains := { contains(card.notes, match:"!curtain") }
use_vorthos := { chosen(styling.other_options, choice:"vorthos box") }
mythic_edition := { chosen(styling.other_options, choice:"mythic edition") and not front_map() and not back_map() and not front_clear() and not back_clear() }
normal_size := { not chosen(styling.other_options, choice:"wider planeswalker images") }
front_normal_size := {mainframe_walker() and normal_size()}
back_normal_size := {mainframe_walkerb() and normal_size()}
use_evobar := {chosen(styling.other_options, choice: "pokemon evobar") and not chosen(styling.other_options, choice:"godzilla style alias")}
is_pinned := {chosen(styling.other_options, choice:"pride pinlines")}
shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else 0 }
shrink_name := {if styling.shrink_name_text != "" then to_number(styling.shrink_name_text) else 0 }
shrink_type2 := {if styling.shrink_back_typeline_text != "" then to_number(styling.shrink_back_typeline_text) else 0 }
shrink_name2 := {if styling.shrink_back_name_text != "" then to_number(styling.shrink_back_name_text) else 0 }
is_flagged := {chosen(styling.other_options, choice: "use doublecast flags") }
ancestral_mana := { chosen(styling.other_options, choice:"ancestral generic mana")}
unindent := {chosen(styling.other_options, choice:"unindent nonloyalty abilities")}
is_modal_dfc := {
styling.dfc_type != "transforming"
or contains(card.transformation, match:"modal")
}
auto_flags := {
styling.dfc_type == "modal with standard flags"
or (styling.dfc_type == "transforming" and contains(card.transformation, match:"modal"))
}
custom_watermark_a := {if styling.card_watermark == "" or not contains(styling.card_watermark, match:".png") then "/magic-modules.mse-include/watermarks/other/planeswalker.png" else "/magic-mainframe-extras.mse-include/" + styling.card_watermark}
custom_watermark_b := {if styling.card_watermark_2 == "" or not contains(styling.card_watermark_2, match:".png") then "/magic-modules.mse-include/watermarks/other/planeswalker.png" else "/magic-mainframe-extras.mse-include/" + styling.card_watermark_2}
shown_cr := {if set.automatic_copyright then set.copyright != "" else card.copyright != ""}
#### frame checks
front_normal := { not contains(styling.front_style, match:"planeswalker") }
front_saga := { two_boxes() or three_boxes() or four_boxes() }
front_legend := {
front_normal()
and not front_map()
and (
chosen(styling.other_options, choice:"legendary front")
or (lang_setting("is_legendary")(card.super_type) and set.auto_legends)
)
}
front_nyx := {
(lang_setting("is_enchantment")(card.super_type) and set.auto_nyx)
}
front_snow := {
styling.front_style == "snow"
or chosen(styling.other_options, choice:"snow front")
or (
chosen(styling.other_options, choice:"automate type frames")
and lang_setting("is_snow")(card.super_type)
)
}
front_vehicle := {
styling.front_style == "vehicle"
or chosen(styling.other_options, choice:"vehicle front")
or (
chosen(styling.other_options, choice:"automate type frames")
and lang_setting("is_vehicle")(card.sub_type)
)
}
front_custom_border := {
chosen(styling.other_options, choice:"custom border front") and contains(styling.custom_border_source, match:".png")
}
front_draft := {
chosen(styling.other_options, choice:"draft matters front")
}
pure_snow_front := {
front_snow() and front_normal() and not front_leveler() and not a_saga()
}
front_class := { styling.front_style == "class" }
front_case := { styling.front_style == "case" }
front_leveler := { styling.front_style == "leveler" }
front_map := { styling.front_style == "map" }
front_miracle := { styling.front_style == "miracle" or chosen(styling.other_options, choice:"miracle front") }
front_mutate := {chosen(styling.other_options, choice:"front mutate") and front_normal() and not mythic_edition() and not front_saga() and not front_map() and not front_clear()}
poke_walker := { mainframe_walker() and not mythic_edition() and use_evobar() }
front_skinned := { not front_saga() and chosen(styling.other_options, choice:"godzilla style alias") }
front_clear := { chosen(styling.other_options, choice:"clear front") }
#### back checks
back_normal := { not contains(styling.back_style, match:"planeswalker") }
back_saga := { back_two_boxes() or back_three_boxes() or back_four_boxes() }
back_legend := {
back_normal()
and not back_map()
and (
chosen(styling.other_options, choice:"legendary back")
or (lang_setting("is_legendary")(card.super_type_2) and set.auto_legends)
)
}
back_nyx := {
(lang_setting("is_enchantment")(card.super_type_2) and set.auto_nyx)
}
back_snow := {
styling.back_style == "snow"
or chosen(styling.other_options, choice:"snow back")
or (
chosen(styling.other_options, choice:"automate type frames")
and lang_setting("is_snow")(card.super_type_2)
)
}
back_vehicle := {
styling.back_style == "vehicle"
or chosen(styling.other_options, choice:"vehicle back")
or (
chosen(styling.other_options, choice:"automate type frames")
and lang_setting("is_vehicle")(card.sub_type_2)
)
}
back_custom_border := {
chosen(styling.other_options, choice:"custom border back")
}
back_draft := {
chosen(styling.other_options, choice:"draft matters back")
}
pure_snow_back := {
back_snow() and back_normal() and not back_leveler() and not b_saga()
}
back_class := { styling.back_style == "class" }
back_case := { styling.back_style == "case" }
back_leveler := { styling.back_style == "leveler" }
back_map := { styling.back_style == "map" }
back_miracle := { styling.back_style == "miracle" or chosen(styling.other_options, choice:"miracle back") }
back_mutate := { chosen(styling.other_options, choice:"back mutate") and back_normal() and not mythic_edition() and not back_saga() and not back_map() and not back_clear()}
back_poke_walker := {mainframe_walkerb() and not mythic_edition() and use_evobar()}
back_skinned := {not back_saga() and chosen(styling.other_options, choice:"godzilla style alias")}
back_clear := { chosen(styling.other_options, choice:"clear back") }
#### field scripts
chop_front := {
if styling.front_chop != "" then
lv_chop(styling.front_chop, cell:input)
else (if input == 0 then -1 else 1)*lv_chop(styling.level_1_chop, cell:input)
}
chop_back := {
if styling.back_chop != "" then
lv_chop(styling.back_chop, cell:input)
else (if input == 0 then -1 else 1)*lv_chop(styling.level_5_chop, cell:input)
}
top_of_textbox := {
(
if mainframe_walker()
then 329 + (if front_clear() then 5 else 0) + (if has_four_abilities() then -37 else 0)
else if front_class() or front_case()
then 60
else if front_map()
then 340
else if front_mutate()
then 395
else 327
)
+ chop_front(0)
}
bottom_of_textbox := {
(
if mainframe_walker()
then 477 - (if is_modal_dfc() then 5 else if is_stamped() then 2 else 0)
else if front_class() or front_case()
then 437
else if front_map()
then 475
else 481
)
- chop_front(1)
}
top_of_textbox2 := {
(
if mainframe_walkerb()
then 329 + (if back_clear() then 5 else 0) + (if back_four_abilities() then -37 else 0)
else if back_class() or back_case()
then 60
else if back_map()
then 340
else if back_mutate()
then 395
else 327
)
+ chop_back(0)
}
bottom_of_textbox2 := {
(
if mainframe_walkerb()
then 477 - (if is_modal_dfc() then 5 else if card.card_stamp_2 != "none" then 2 else 0)
else if back_class() or back_case()
then 437
else if back_map()
then 475
else 481
)
- chop_back(1)
}
##### leveler stuff
box_leveler := {styling.level_containers == "pt boxes"}
loy_leveler := {styling.level_containers == "loyalty boxes"}
aug_leveler := {box_leveler() and center_label(input)}
level_label := {if styling.level_label == "" then "level" else pull_comma_array(styling.level_label, end:false, cell:input, default:styling.level_label)}
center_label := {loy_leveler() or level_label(input) == " "}
lv_1_height := {lv_2_coordinate()}
lv_2_coordinate := {max(min(52 + to_number(pull_comma_array(styling.stripe_coordinate, cell:0)),152), 0)}
lv_3_coordinate := {max(min(101 + to_number(pull_comma_array(styling.stripe_coordinate, cell:1)),152), lv_2_coordinate())}
lv_4_coordinate := {max(min(152 + to_number(pull_comma_array(styling.stripe_coordinate, cell:2)),152), lv_3_coordinate())}
lv_2_height := {lv_3_coordinate() - lv_2_coordinate()}
lv_3_height := {lv_4_coordinate()-lv_3_coordinate()}
lv_4_height := {152-lv_4_coordinate()}
l1_center := {327 + 0.5*lv_1_height()}
l2_center := {327 + lv_2_coordinate() + 0.5*lv_2_height()}
l3_center := {327 + lv_3_coordinate() + 0.5*lv_3_height()}
l4_center := {327 + lv_4_coordinate() + 0.5*lv_4_height()}
mask_height := {if input == "one" then lv_1_height() else if input == "two" then lv_2_height() else lv_3_height()}
lone_pt := {chosen(styling.other_options, choice:"regular pt on levelers")}
lv_2_ptbox := { if front_vehicle() then "vpt.png" else if front_clear() then "xpt.png" else leveler_ptbox2() }
lv_3_ptbox := { if front_vehicle() then "vpt.png" else if front_clear() then "xpt.png" else leveler_ptbox3() }
arrow_left := {if box_leveler() then -3 else if loy_leveler() then 10 else 18}
arrow_width := {if box_leveler() then 84 else if loy_leveler() then 42 else 56}
arrow_height := {if aug_leveler(input) then 42 else if box_leveler() then 50 else if loy_leveler() then 40 else 40}
box_leveler2 := {styling.level_containers_2 == "pt boxes"}
loy_leveler2 := {styling.level_containers_2 == "loyalty boxes"}
aug_leveler2 := {box_leveler2() and center_label2(input)}
center_label2 := {loy_leveler2() or level_label(input+3) == " "}
lv_5_height := {lv_6_coordinate()}
lv_6_coordinate := {max(min(52 + to_number(pull_comma_array(styling.back_stripe_coordinate, cell:0)),152), 0)}
lv_7_coordinate := {max(min(101 + to_number(pull_comma_array(styling.back_stripe_coordinate, cell:1)),152), lv_6_coordinate())}
lv_8_coordinate := {max(min(152 + to_number(pull_comma_array(styling.back_stripe_coordinate, cell:2),152)), lv_7_coordinate())}
lv_6_height := {lv_7_coordinate() - lv_6_coordinate()}
lv_7_height := {lv_8_coordinate()-lv_7_coordinate()}
lv_8_height := {152-lv_8_coordinate()}
l5_center := {327 + 0.5*lv_5_height()}
l6_center := {327 + lv_6_coordinate() + 0.5*lv_6_height()}
l7_center := {327 + lv_7_coordinate() + 0.5*lv_7_height()}
l8_center := {327 + lv_8_coordinate() + 0.5*lv_8_height()}
mask_height := {if input == "one" then lv_5_height() else if input == "two" then lv_6_height() else lv_7_height()}
lv_6_ptbox := { if back_vehicle() then "vpt.png" else if back_clear() then "xpt.png" else leveler_ptbox2() }
lv_7_ptbox := { if back_vehicle() then "vpt.png" else if back_clear() then "xpt.png" else leveler_ptbox3() }
arrow_left2 := {377 + if box_leveler2() then -3 else if loy_leveler2() then 10 else 18}
arrow_width2 := {if box_leveler2() then 84 else if loy_leveler2() then 42 else 56}
arrow_height2 := {if aug_leveler2(input) then 42 else if box_leveler2() then 50 else if loy_leveler2() then 40 else 40}
arrow_offset := {
to_number(pull_comma_array(styling.move_loyalty_costs, cell:input, end: 0))
+ (if box_leveler() then -5 else 0)
+ (if aug_leveler(input) then 4 else 0)
}
arrow_offset2 := {
to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:input, end: 0))
+ (if box_leveler2() then -5 else 0)
+ (if aug_leveler2(input) then 4 else 0)
}
face_leveler := [front_leveler, back_leveler]
face_mutate := [front_mutate, back_mutate]
face_map := [front_map, back_map]
face_saga := [front_saga, back_saga]
face_bumped := [is_bumped, back_bumped]
face_loy := [loy_leveler, loy_leveler2]
face_box := [box_leveler, box_leveler2]
leveler_left := {
adj_lv := lv
if face == 2 then adj_lv := lv + 4
lv := lv-1
face := face-1
level_fields := ["", card.level_0, card.level_1, card.level_2, card.level_3, card.level_5, card.level_6, card.level_7, card.level_8]
use_leveler := face_leveler[face]()
use_saga := face_saga[face]()
use_mutate := face_mutate[face]() and face == 0
if not use_leveler and not use_saga and not use_mutate
then 0
else if use_leveler and level_fields[adj_lv] != ""
then (
if face_loy[face]() then 57
else if face_box[face]() then 78
else 75
)
else if use_leveler and face_map[face]()
then 40
else if use_leveler
then 29
else if use_saga
then 45
else if use_mutate and face_bumped[face]()
then 47
else 29
}
leveler_top := {
adj_lv := lv
if face == 2 then adj_lv := lv + 4
chop := to_number(lv_chop(styling["level_"+adj_lv+"_chop"], cell:0))
lv := lv - 1
face := face - 1
saga_top := 155
if adj_lv != 1 and adj_lv != 5 then saga_top := ["", "", split_12, split_23, split_34, "", split_12b, split_23b, split_34b][adj_lv]()
if face_leveler[face]()
then 327 + (2 * face) + chop + ["", {0}, lv_2_coordinate, lv_3_coordinate, lv_4_coordinate, {0}, lv_6_coordinate, lv_7_coordinate, lv_8_coordinate][adj_lv]()
else if face_saga[face]()
then saga_top + chop
else if face_mutate[face]()
then 329 + chop
else 0
}
leveler_right := {
adj_lv := lv
if face == 2 then adj_lv := lv + 4
pt_field := card.pt
if lv > 1 then pt_field := card["pt_" + adj_lv]
if adj_lv > 4 then pt_field := card["pt_" + (adj_lv-1)]
chop := to_number(lv_chop(styling["level_"+adj_lv+"_chop"], cell:0))
lv := lv - 1
use_mutate := face_mutate[face-1]() and face == 1
face := face - 1
if face_leveler[face]() and (lone_pt() or pt_field == "")
then 342 - chop
else if face_leveler[face]()
then 277 - chop
else if face_leveler[face]()
then 342
else if face_saga[face]()
then 183
else if use_mutate
then 343
else 0
}
leveler_bottom := {
adj_lv := lv
if face == 2 then adj_lv := lv + 4
chop := to_number(lv_chop(styling["level_"+adj_lv+"_chop"], cell:1))
splits := ["", split_12, split_23, split_34, {437}, split_12b, split_23b, split_34b, {437}]
split := splits[adj_lv]()
heights := ["", lv_1_height, lv_2_height, lv_3_height, lv_4_height, lv_5_height, lv_6_height, lv_7_height, lv_8_height]
use_mutate := face_mutate[face-1]() and face == 1
lv_bottom := 327
if lv != 1 and lv != 5 then lv_bottom := card_style["level_"+adj_lv+"_text"].top
lv := lv - 1
face := face - 1
if face_leveler[face]()
then lv_bottom + heights[adj_lv]() - chop
else if face_saga[face]() and split != ""
then split - chop
else if face_saga[face]()
then [249, 343, 600, 600][face] - chop
else if use_mutate
then 391 - chop
else 0
}
##### saga stuff
split_12 := {to_number(pull_comma_array(styling.stripe_coordinate, cell:0, end:true, default:(if two_boxes() then 296 else if four_boxes() then 225 else 249)))}
split_23 := {to_number(pull_comma_array(styling.stripe_coordinate, cell:1, end:true, default:(if two_boxes() then 437 else if four_boxes() then 296 else 343)))}
split_34 := {to_number(pull_comma_array(styling.stripe_coordinate, cell:2, end:true, default:(if three_boxes() then 437 else if four_boxes() then 367 else 600)))}
split_12b := {to_number(pull_comma_array(styling.back_stripe_coordinate, cell:0, end:true, default:(if back_two_boxes() then 296 else if back_four_boxes() then 225 else 249)))}
split_23b := {to_number(pull_comma_array(styling.back_stripe_coordinate, cell:1, end:true, default:(if back_two_boxes() then 437 else if back_four_boxes() then 296 else 343)))}
split_34b := {to_number(pull_comma_array(styling.back_stripe_coordinate, cell:2, end:true, default:(if back_three_boxes() then 437 else if back_four_boxes() then 367 else 600)))}
coords_map := [
1: {[card_style.level_1_text.top, card_style.level_1_text.bottom-card_style.level_1_text.top]},
2: {[card_style.level_2_text.top, card_style.level_2_text.bottom-card_style.level_2_text.top]},
3: {[card_style.level_3_text.top, card_style.level_3_text.bottom-card_style.level_3_text.top]},
4: {[card_style.level_4_text.top, card_style.level_4_text.bottom-card_style.level_4_text.top]},
5: {[card_style.level_5_text.top, card_style.level_5_text.bottom-card_style.level_5_text.top]}
6: {[card_style.level_6_text.top, card_style.level_6_text.bottom-card_style.level_6_text.top]}
7: {[card_style.level_7_text.top, card_style.level_7_text.bottom-card_style.level_7_text.top]}
8: {[card_style.level_8_text.top, card_style.level_8_text.bottom-card_style.level_8_text.top]}
]
auto_snap := {
line := if face == 2 then styling.snap_chapter_to_back_box else styling.snap_chapter_to_box
snap_array := split_text(replace(line, match:",[^,]+$", replace:","), match:",")
abil := to_number(pull_comma_array(line, cell:input-1, end:true)) ###textbox to snap to
if abil == 0 then 600 else snap_calc(input, snap_array:snap_array, abil:abil, bump:if face == 2 then 4 else 0)
}@(face:1)
snap_calc := {
out := 0
abil_array := saga_lore_count(snap_array) ###chapters in each box
ch_count := abil_array[abil-1] ###chapters in this box
self_index := saga_ch_placement(snap_array)[input-1] ###input's index
box_deets := coords_map[abil+bump]() ###[top, height]
remain := box_deets[1] - 30*ch_count ###remaining space after chapter hexes
excess := remain - 10*(ch_count-1) ###remaining after 10px gaps
if excess >= 0 then out := box_deets[0] + excess/2 + 40*(self_index-1) ###top + buffer*index + hex*index-1
else ( ###may not be enough room to ten-gap the middle
inner_gap := 10
squeeze := 0
outer_gap := (remain - inner_gap * (ch_count-1))/2
if outer_gap < -6 then (
squeeze := 2*(outer_gap+6)/(ch_count-1);
outer_gap := -6
)
inner_gap := inner_gap + squeeze
out := box_deets[0] + outer_gap + (self_index-1)*(30+inner_gap)
)
out
}
snapping_chapters := {
splits := split_comma(styling.snap_chapter_to_box)
len := length(splits)
if styling.snap_chapter_to_box == ""
then 0
else if splits[len-1] == ""
then len - 1
else len
}
chapter0 := { if styling.reminder_coordinate != "" then max(60,min(to_number(styling.reminder_coordinate),438)) else 155}
chapter1 := { if snapping_chapters() > 0 then auto_snap(1) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:0, end:true, default:(if two_boxes() then 183 else 185))) }
chapter2 := { if snapping_chapters() > 1 then auto_snap(2) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:1, end:true, default:(if two_boxes() then 223 else 279))) }
chapter3 := { if snapping_chapters() > 2 then auto_snap(3) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:2, end:true, default:(if two_boxes() then 329 else 373))) }
chapter4 := { if snapping_chapters() > 3 then auto_snap(4) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:3, end:true, default:600)) }
chapter5 := { if snapping_chapters() > 4 then auto_snap(5) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:4, end:true, default:600)) }
chapter6 := { if snapping_chapters() > 5 then auto_snap(6) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:5, end:true, default:600)) }
snapping_chaptersb := {
splits := split_comma(styling.snap_chapter_to_back_box)
len := length(splits)
if styling.snap_chapter_to_box == ""
then 0
else if splits[len-1] == ""
then len - 1
else len
}
chapter1b := { if snapping_chaptersb() > 0 then auto_snap(1, face:2) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:0, end:true, default:(if back_two_boxes() then 183 else 185))) }
chapter2b := { if snapping_chaptersb() > 0 then auto_snap(2, face:2) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:1, end:true, default:(if back_two_boxes() then 223 else 279))) }
chapter3b := { if snapping_chaptersb() > 0 then auto_snap(3, face:2) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:2, end:true, default:(if back_two_boxes() then 329 else 373))) }
chapter4b := { if snapping_chaptersb() > 0 then auto_snap(4, face:2) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:3, end:true, default:600)) }
chapter5b := { if snapping_chaptersb() > 0 then auto_snap(5, face:2) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:4, end:true, default:600)) }
chapter6b := { if snapping_chaptersb() > 0 then auto_snap(6, face:2) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:5, end:true, default:600)) }
chapter_custom := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:6, end:true)) > 0 then auto_snap(7, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.custom_chapter_coordinate, cell:0, end:false, default:600)) }
chapter_customb := { if to_number(pull_comma_array(styling.snap_chapter_to_back_box, cell:6, end:true)) > 0 then auto_snap(7, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.custom_chapter_coordinate, cell:0, end:false, default:600)) }
custom_chapter_node := {if contains(styling.custom_chapter_location, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_chapter_location else "/magic-modules.mse-include/chapters/chapter6.png"}
custom_name := {if styling.custom_chapter_name == "" then "C" else styling.custom_chapter_name}
two_boxes := {styling.front_style == "2 box saga"}
three_boxes := {styling.front_style == "3 box saga"}
four_boxes := {styling.front_style == "4 box saga"}
back_two_boxes := {styling.back_style == "2 box saga"}
back_three_boxes := {styling.back_style == "3 box saga"}
back_four_boxes := {styling.back_style == "4 box saga"}
alt_loc := { if styling.replacement_chapter_location != "" then styling.replacement_chapter_location else "no"}
alt_chapters := {
(
if match(styling.replacement_chapter_location, match:"/$")
then "/magic-mainframe-extras.mse-include/" + styling.replacement_chapter_location
else "/magic-modules.mse-include/chapters/"
) + "chapter" + input + ".png"
}
build_array := {
if input > 523 or input < 0 then 0
else if four_boxes() and input +17 >= (if split_34() != "" then split_34() else 600) then 4
else if (four_boxes() or three_boxes()) and input +17 >= (if split_23() != "" then split_23() else 343) then 3
else if input +17 >= (if split_12() != "" then split_12() else 249) then 2
else if input +17 <= (if split_12() != "" then split_12() else 249) then 1
else 0
}
alt_leaders := {
alt := ["I,","II,","III,""IV,","V,","VI,"]
if match(card.notes, match:"!altleader [^,]+,") then
alt := break_text(split_text(card.notes, match:"!altleader ").1, match:"[^,]+,")
alt
}
level_leader := {
alt := alt_leaders()
(if build_array((if chapter1() != "" then chapter1() else 185)) == input then alt.0 + " " else "")
+(if build_array((if chapter2() != "" then chapter2() else 279)) == input then alt.1 + " " else "")
+(if build_array((if chapter3() != "" then chapter3() else 373)) == input then alt.2 + " " else "")
+(if build_array((if chapter4() != "" then chapter4() else 600)) == input then alt.3 + " " else "")
+(if build_array((if chapter5() != "" then chapter5() else 600)) == input then alt.4 + " " else "")
+(if build_array((if chapter6() != "" then chapter6() else 600)) == input then alt.5 + " " else "")
+(if build_array((if chapter_custom() != "" then chapter_custom() else 600)) == input then custom_name() + ", " else "")
}
build_array2 := {
if input > 523 or input < 0 then 0
else if back_four_boxes() and input +17 >= (if split_34b() != "" then split_34b() else 600) then 4
else if (back_four_boxes() or back_three_boxes()) and input +17 >= (if split_23b() != "" then split_23b() else 343) then 3
else if input +17 >= (if split_12b() != "" then split_12b() else 249) then 2
else if input +17 <= (if split_12b() != "" then split_12b() else 249) then 1
else 0
}
level_leader2 := {
alt := alt_leaders()
(if build_array((if chapter1b() != "" then chapter1b() else 185)) == input then alt.0 + " " else "")
+(if build_array((if chapter2b() != "" then chapter2b() else 279)) == input then alt.1 + " " else "")
+(if build_array((if chapter3b() != "" then chapter3b() else 373)) == input then alt.2 + " " else "")
+(if build_array((if chapter4b() != "" then chapter4b() else 600)) == input then alt.3 + " " else "")
+(if build_array((if chapter5b() != "" then chapter5b() else 600)) == input then alt.4 + " " else "")
+(if build_array((if chapter6b() != "" then chapter6b() else 600)) == input then alt.5 + " " else "")
+(if build_array((if chapter_customb() != "" then chapter_customb() else 600)) == input then custom_name() + ", " else "")
}
end_leader := replace@(match:", $", replace:" — ")
##### d20 stuff
is_d20 := {styling.d20_dividers != "off" and not front_leveler()}
is_all_break := {contains(styling.d20_dividers, match:"all breaks")}
d20string := "^(<b>)?(((</sym>)?[-0-9 ,+>\<](<sym>)?)+|[Ee]lse|[Oo]ther) ?(</b>)?[|]"
d20_array :=
filter_text@(match:"(\n|"+d20string+")")
+split_text@(match:d20string)
number_of_rolls := {if is_all_break() then 1+length(filter_text(card.rule_text, match:"\n"))-rolls_start(card.text) else length(d20_array(input))-1}
rolls_start := {
if styling.d20_dividers == "all breaks +3" then 4
else if styling.d20_dividers == "all breaks +2" then 3
else if styling.d20_dividers == "all breaks +1" then 2
else if styling.d20_dividers == "all breaks" then 0
else if is_d20() then length(d20_array(input).0)
else 0
}
top_of_para := {
input := input + no_roll(card.text)
if card_style.text.layout.paragraphs[input].top or else 0 > 0 then
card_style.text.top + card_style.text.layout.paragraphs[input].top - 0.5*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom)
else 0
}
height_of_para := {
input := input + no_roll(card.text)
if card_style.text.layout.paragraphs[input].bottom or else 0 > 0 then
card_style.text.layout.paragraphs[input].bottom + 1.3*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) - card_style.text.layout.paragraphs[input].top
else 0
}
no_roll := {if styling.d20_dividers == "all breaks" then 1 else if rolls_start(input) == 0 then 1 else 0}
back_d20 := {styling.d20_dividers_back != "off" and not back_leveler()}
back_all_break := {contains(styling.d20_dividers_back, match:"all breaks")}
number_of_rolls_b := {if back_all_break() then 1+length(filter_text(card.rule_text_2, match:"\n"))-rolls_start_b(card.text) else length(d20_array(input))-1}
rolls_start_b := {
if styling.d20_dividers_back == "all breaks +3" then 4
else if styling.d20_dividers_back == "all breaks +2" then 3
else if styling.d20_dividers_back == "all breaks +1" then 2
else if styling.d20_dividers_back == "all breaks" then 0
else if back_d20() then length(d20_array(input).0)
else 0
}
top_of_para_b := {
input := input + no_roll_b(card.text_2)
if card_style.text_2.layout.paragraphs[input].top or else 0 > 0 then
card_style.text_2.top + card_style.text_2.layout.paragraphs[input].top - 0.5*(card_style.text_2.layout.paragraphs[input].top-card_style.text_2.layout.paragraphs[input-1].bottom)
else 0
}
height_of_para_b := {
input := input + no_roll_b(card.text_2)
if card_style.text_2.layout.paragraphs[input].bottom or else 0 > 0 then
card_style.text_2.layout.paragraphs[input].bottom + 1.3*(card_style.text_2.layout.paragraphs[input].top-card_style.text_2.layout.paragraphs[input-1].bottom) - card_style.text_2.layout.paragraphs[input].top
else 0
}
no_roll_b := {if styling.d20_dividers_back == "all breaks" then 1 else if rolls_start_b(input) == 0 then 1 else 0}
##### class stuff
alt_text := {front_class() or front_case()}
alt_text_script := {
if front_class()
then combined_editor(field1: card.chapter_text, separator1:"<line>\n</line>", field2: card.level_1_text, separator2: "<line>\n</line>", field3: card.level_2_text, separator3: "<line>\n</line>", field4: card.level_3_text, separator4: "<line>\n</line>", field5: card.level_4_text)
else combined_editor(field1: card.level_1_text, separator1:"<line>\n</line>", field2: card.level_2_text, separator2: "<line>\n</line>", field3: card.level_3_text)
}
lev0 := {
if card_style.text.layout.separator[0] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[0]-1 else 600
}
lev2 := {
if card_style.text.layout.separator[1] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[1]-13 else 600
}
lev3 := {
if card_style.text.layout.separator[2] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[2]-13 else 600
}
lev4 := {
if card_style.text.layout.separator[3] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[3]-13 else 600
}
alt_textb := {back_class() or back_case()}
alt_text_scriptb := {
if back_class()
then combined_editor(field1: card.chapter_text_2, separator1:"<line>\n</line>", field2: card.level_5_text, separator2: "<line>\n</line>", field3: card.level_6_text, separator3: "<line>\n</line>", field4: card.level_7_text, separator4: "<line>\n</line>", field5: card.level_8_text)
else combined_editor(field1: card.level_5_text, separator1:"<line>\n</line>", field2: card.level_6_text, separator2: "<line>\n</line>", field3: card.level_7_text)
}
lev0b := {
if card_style.text_2.layout.separator[0] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[0]-1 else 600
}
lev2b := {
if card_style.text_2.layout.separator[1] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[1]-13 else 600
}
lev3b := {
if card_style.text_2.layout.separator[2] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[2]-13 else 600
}
lev4b := {
if card_style.text_2.layout.separator[3] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[3]-13 else 600
}
####### Planeswalker stuff
#### working place
loyalty_abilities_count := {
styling_field := if instance <= 1 then styling.front_style else styling.back_style
if styling_field == "auto-sizing planeswalker" then (
counter := 1
for x from 1 to 8 do (
tf := card["level_" + (x*instance) + "_text"]
if tf != "" and tf != zwsp then counter := x;
)
tf := card["level_" + counter + "_text"]
if active then counter := counter - ( if tf == "" or tf == zwsp then 1 else 0)
else counter := counter + 1
styling_field := counter;
)
else if styling_field == "4 ability planeswalker" then styling_field := 4
else if styling_field == "3 ability planeswalker" then styling_field := 3
else if styling_field == "2 ability planeswalker" then styling_field := 2
else if styling_field == "1 ability planeswalker" then styling_field := 1
else styling_field := 0
to_int(styling_field) or else digital_map[styling_field]
}@(active:false)
has_four_abilities := {
loyalty_abilities_count(instance:1, active:true) >= 4 or use_tall_walker_frame_1()
}
back_four_abilities := {
loyalty_abilities_count(instance:2, active:true) >= 4 or use_tall_walker_frame_2()
}
use_tall_walker_frame_1 := { chosen(styling.other_options, choice:"force fourwalker front") }
use_tall_walker_frame_2 := { chosen(styling.other_options, choice:"force fourwalker back") }
#### mask scripts
mask_script := {
if contains(styling.custom_mask, match:".png")
then "/magic-mainframe-extras.mse-include/" + styling.custom_mask
else if a_saga()
then ""
else if mythic_edition() and front_normal()
then ""
else if mythic_edition()
then "image_masks/guideline/mythic_walker" + (if has_four_abilities() then "_tall.png" else ".png")
else if mainframe_walker()
then (
"image_masks/guideline/"
+ (if has_four_abilities() then "4walker" else "3walker")
+ (if normal_size() then "" else "_wide")
+ ".png"
)
else if front_map()
then "image_masks/map.png"
else if front_clear() and front_normal()
then "image_masks/clear_normal.png"
else if front_mutate()
then "image_masks/mutate.png"
else ""
}
back_mask_script := {
if contains(styling.custom_mask_2, match:".png")
then "/magic-mainframe-extras.mse-include/" + styling.custom_mask
else if b_saga()
then ""
else if mythic_edition() and back_normal()
then ""
else if mythic_edition()
then "image_masks/guideline/mythic_walker" + (if back_four_abilities() then "_tall" else "") + (if not chosen(styling.other_options, choice:"normal back face") then "_back" else "") + ".png"
else if mainframe_walkerb()
then (
"image_masks/guideline/"
+ (if back_four_abilities() then "4walker" else "3walker")
+ (if normal_size() then "" else "_wide")
+ ".png"
)
else if back_map()
then "image_masks/map.png"
else if back_clear() and back_normal()
then "image_masks/clear_normal.png"
else if back_mutate()
then "image_masks/mutate.png"
else ""
}
loyalty_textbox_mask_1 := {
"/magic-modules.mse-include/cards/750 m15 planeswalker cut/375_"
+ (if has_four_abilities() then "tall" else "short")
+ "_textbox_mask.png"
}
loyalty_textbox_mask_2 := {
"/magic-modules.mse-include/cards/750 m15 planeswalker cut/375_"
+ (if back_four_abilities() then "tall" else "short")
+ "_textbox_mask.png"
}
border_mask := {
"border_masks/border_mask_"
+ (if front_legend() then "l" else "n")
+ (if back_legend() then "l" else "n")
+ (if card.border_color == rgb(200,200,200) then "_silver")
+ ".png"
}
front_frame_mask := {
if front_saga()
then "frame_masks/saga.png"
else if front_class() or front_case()
then "frame_masks/class.png"
else if mythic_edition() then (
"frame_masks/mythic_"
+ (
if front_normal() and not is_modal_dfc()
then "normal_notched"
else if front_normal()
then "normal"
else if has_four_abilities()
then "walker_tall"
else "walker"
)
+ ".png"
)
else if mainframe_walker() then
"frame_masks/" + (if has_four_abilities() then "4walker.png" else "3walker.png")
else if front_map()
then "frame_masks/map.png"
else if front_mutate()
then "frame_masks/mutate.png"
else "frame_masks/normal.png"
}
back_frame_mask := {
if back_saga()
then "frame_masks/saga.png"
else if back_class() or back_case()
then "frame_masks/class.png"
else if mythic_edition() then (
"frame_masks/mythic_"
+ (
if back_normal() and chosen(styling.other_options, choice:"normal back face")
then "normal_notched"
else if back_normal()
then "normal"
else if back_four_abilities()
then "walker_tall_back"
else "walker_back"
)
+ ".png"
)
else if mainframe_walkerb() then
"frame_masks/" + (if back_four_abilities() then "4walker.png" else "3walker.png")
else if back_map()
then "frame_masks/map.png"
else if back_mutate()
then "frame_masks/mutate.png"
else "frame_masks/normal.png"
}
front_trim_mask := {
"/magic-modules.mse-include/trims/"
+ (if mainframe_walker() then "750x1047 " else "375x523 ")
+ (if double then "doubletrim " else "trim ")
+ "mask"
+ (
if a_saga()
then " saga"
else if front_normal()
then ""
else if has_four_abilities()
then " 4walker"
else " walker"
)
+ ".png"
}@(double:false)
back_trim_mask := {
"/magic-modules.mse-include/trims/"
+ (if mainframe_walkerb() then "750x1047 " else "375x523 ")
+ (if double then "doubletrim " else "trim ")
+ "mask"
+ (
if b_saga()
then " saga"
else if back_normal()
then ""
else if back_four_abilities()
then " 4walker"
else " walker"
)
+ ".png"
}@(double:false)
notch := {
if is_modal_dfc()
or (face == 1 and not front_normal())
or (face == 2 and not back_normal())
then input
else set_mask(image:input, mask:"/magic-modules.mse-include/trims/375x523 notch mask.png")
}
nodule := {
set_mask(image:input, mask:"frame_masks/nodemask.png")
}
class_bar := {
if styling.class_levels == "custom" and has_png(styling.custom_class_bar)
then "/magic-mainframe-extras.mse-include/" + styling.custom_class_bar
else if styling.class_levels == "line"
then "levelline.png"
else if styling.class_levels == "cyber"
then "levelcyber.png"
else if styling.class_levels == "unnotched"
then "levelbar.png"
else "level.png"
}
### Customize fonts
## redefine these since Maps make them annoying
swap_fonts_name_default := [
name: {if front_map() then "Beleren Small Caps" else "Beleren Bold"},
size: {if front_map() then 14.8 else 16},
color: {if front_map() or front_clear() then "black" else "black"},
vertical: {0},
italic: {""}
]
swap_fonts_type_default := [
name: {"Beleren Bold"},
size: {if front_map() then 12 else 13},
color: {if front_map() or front_clear() then "black" else "black"},
vertical: {0},
italic: {""}
]
swap_fonts_body_default := [
name: {"MPlantin"},
size: {if styling.front_font_cap != "" then to_number(styling.front_font_cap) else if front_mutate() then 12 else 14},
color: {if front_map() then "black" else "black"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_pt_default := [
name: {"Beleren Bold"},
size: {if front_map() then 14 else 16},
color: {
if front_map() then "black"
else if front_vehicle() then "white"
else "black"
},
vertical: {0},
italic: {""}
]
swap_fonts_name2_default := [
name: {if back_map() then "Beleren Small Caps" else "Beleren Bold"},
size: {if back_map() then 14.8 else 16},
color: {if back_map() or back_clear() or chosen(styling.other_options, choice:"normal back face") then "black" else "white"},
vertical: {0},
italic: {""}
]
swap_fonts_type2_default := [
name: {"Beleren Bold"},
size: {if back_map() then 12 else 13},
color: {if back_map() or back_clear() or chosen(styling.other_options, choice:"normal back face") then "black" else "white"},
vertical: {0},
italic: {""}
]
swap_fonts_body2_default := [
name: {"MPlantin"},
size: {if styling.back_font_cap != "" then to_number(styling.back_font_cap) else if front_mutate() then 12 else 14},
color: {if back_map() then "black" else "black"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_pt2_default := [
name: {"Beleren Bold"},
size: {if back_map() then 14 else 16},
color: {
if back_map() then "black"
else "white"
},
vertical: {0},
italic: {""}
]
transform_symbol_default := {
stylesheet
if margin_code == "transform1" then
(
if contains(card.transformation_2, match:"modal back")
then "modal front " + sparker_card_color(card.card_color)
else if contains(card.transformation_2, match:"modal front")
then "modal back " + sparker_card_color(card.card_color)
else if styling.dfc_type != "transforming"
then "modal front " + sparker_card_color(card.card_color)
else "front triangle"
)
else if margin_code == "transform2" then
(
if contains(card.transformation, match:"modal front")
then "modal back " + sparker_card_color(card.card_color_2)
else if contains(card.transformation, match:"modal back")
then "modal front " + sparker_card_color(card.card_color_2)
else if styling.dfc_type != "transforming"
then "modal back " + sparker_card_color(card.card_color_2)
else "back triangle"
)
else "eldrazi"
}
tri_stamp := {
if front_map() or front_clear() or a_saga()
then template_prefix["ubstamp"] + "_stamp.png"
else module_ubstamp()
}
round_stamp := {
if front_map() or front_clear() or a_saga()
then template_prefix["stamp"] + "_stamp.png"
else module_stamp()
}
tri_stamp2 := {
if back_map() or back_clear() or b_saga()
then template_prefix["ubstamp"] + "_stamp.png"
else color_background(type:"ubstamp2", base_hybrid:stamp_hybrid, folder:template_prefix["ubstamp"], blend_type:"stamp")
}
round_stamp2 := {
if back_map() or back_clear() or b_saga()
then template_prefix["stamp"] + "_stamp.png"
else color_background(type:"stamp2", base_hybrid:stamp_hybrid, folder:template_prefix["stamp"], blend_type:"stamp")
}
stamp_top := {
sh := stamp_shape(field:input)
is_map := ["", front_map, back_map][input]()
is_clear := ["", front_clear, back_clear][input]()
is_saga := ["", a_saga, b_saga][input]()
is_walker := ["", mainframe_walker, mainframe_walkerb][input]()
if (is_map or is_saga) and sh == "triangle"
then 472
else if is_clear
then (if sh == "triangle" then 472 else 473)
else if is_walker and sh == "triangle"
then 468
else 471
}
stamp_template := {
if mainframe_walker()
then "/magic-modules.mse-include/stamps/backs/375 round outlined/" + input + "stamp.png"
else "/magic-modules.mse-include/stamps/backs/375 round/" + input + (if land and input != "a" then "l" else "") + "stamp.png"
}
stamp_template2 := {
if mainframe_walkerb()
then "/magic-modules.mse-include/stamps/backs/375 round outlined/" + input + "stamp.png"
else "/magic-modules.mse-include/stamps/backs/375 round/" + input + (if land and input != "a" then "l" else "") + "stamp.png"
}
ubstamp_template := {
"/magic-modules.mse-include/stamps/backs/375 ub/" + (if mainframe_walker() then "pw/" else "") + input + "stamp.png"
}
ubstamp_template2 := {
"/magic-modules.mse-include/stamps/backs/375 ub/" + (if mainframe_walkerb() then "pw/" else "") + input + "stamp.png"
}
miracle_template := {
template_prefix["miracle"] + (if front_snow() then "snow/" else "") + input + "miracle.png"
}
miracle_template2 := {
template_prefix["miracle2"] + input + "miracle.png"
}
alias_template := {
"alias/" + (if mainframe_walker() and not mythic_edition() then "walker/" else "normal/") + input + "alias.png"
}
alias_template2 := {
"alias/" + (if mainframe_walkerb() and not mythic_edition() then "walker/" else "normal/") + input + "alias.png"
}
module_alias := {
color_background(
type:"alias",
base_hybrid: card_hybrid,
folder:"alias/"
)
}
module_alias2 := {
color_background(
type:"alias2",
base_hybrid: card_hybrid,
folder: "alias/",
blend_type: "alias"
)
}
front_card_img := {
if a_saga()
then "/magic-modules.mse-include/cards/375 m15 saga cut/" + input + (if land and input != "a" then "l" else "") + "card.jpg"
else if front_clear() and front_normal()
then "/magic-modules.mse-include/cards/375 m15 cut/xcard.png"
else if front_clear() and has_four_abilities()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/tall/xcard.png"
else if front_clear()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/xcard.png"
else if has_four_abilities()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/tall/" + input + "card.png"
else if mainframe_walker()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/" + input + "card.png"
else if front_map()
then "/magic-modules.mse-include/cards/746 maps/" + input + (if land and input != "a" then "l" else "") + "card.png"
else if is_modal_dfc()
then "/magic-modules.mse-include/cards/375 m15 cut/" + input + (if land and input != "a" then "l" else "") + "card.jpg"
else "/magic-modules.mse-include/cards/375 m15 cut/notched/" + input + (if land and input != "a" then "l" else "") + "card.jpg"
}
card_background := {
folder := if a_saga()
then "/magic-modules.mse-include/cards/375 m15 saga cut/"
else if mainframe_walker() and has_four_abilities()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/tall/"
else if mainframe_walker()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/"
else if front_map()
then "/magic-modules.mse-include/cards/746 maps/"
else if is_modal_dfc()
then "/magic-modules.mse-include/cards/375 m15 cut/"
else "/magic-modules.mse-include/cards/375 m15 cut/notched/"
if front_clear() and not a_saga()
then front_card_img()
else color_background(
type: "card",
base_hybrid: card_hybrid,
folder: folder
)
}
back_card_img := {
norm := chosen(styling.other_options, choice:"normal back face")
if b_saga()
then "/magic-modules.mse-include/cards/375 m15 saga cut/" + (if not norm then "back/" else "") + input + (if land and input != "a" then "l" else "") + "card.jpg"
else if back_clear() and back_normal()
then "/magic-modules.mse-include/cards/375 m15 cut/xcard.png"
else if back_clear() and back_four_abilities()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/" + (if not norm then "back/" else "") + "tall/xcard.png"
else if back_clear()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/" + (if not norm then "back/" else "") + "xcard.png"
else if back_four_abilities()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/" + (if not norm then "back/" else "") + "tall/" + input + "card.png"
else if mainframe_walkerb()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/" + (if not norm then "back/" else "") + input + "card.png"
else if back_map()
then "/magic-modules.mse-include/cards/746 maps/" + input + (if land and input != "a" then "l" else "") + "card.png"
else "/magic-modules.mse-include/cards/375 m15 cut/" + (if not norm then "back/" else "") + input + (if land and input != "a" then "l" else "") + "card.jpg"
}
card_background2 := {
norm := chosen(styling.other_options, choice:"normal back face")
folder := if b_saga()
then "/magic-modules.mse-include/cards/375 m15 saga cut/"
else if mainframe_walkerb() and back_four_abilities()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/" + (if not norm then "back/" else "") + "tall/"
else if mainframe_walkerb()
then "/magic-modules.mse-include/cards/750 m15 planeswalker cut/" + (if not norm then "back/" else "")
else if back_map()
then "/magic-modules.mse-include/cards/746 maps/"
else "/magic-modules.mse-include/cards/375 m15 cut/" + (if not norm then "back/" else "")
if back_clear() and not b_saga()
then back_card_img()
else color_background(
type: "card2",
base_hybrid: card_hybrid,
folder: folder,
blend_type:"card"
)
}
# this goes at the very end
harder_script := [
crown: module_crown_template_patch,
crown2: module_crown_template_patch2,
card: front_card_img
card2: back_card_img
custom_border: custom_border_image,
alt_nyx: alt_nyx_template,
stamp: stamp_template,
stamp2: stamp_template2,
ubstamp: ubstamp_template,
ubstamp2: ubstamp_template2,
alias: alias_template,
alias2: alias_template2,
miracle: miracle_template,
miracle2: miracle_template2,
]
transform_symbol_offset_left_1 := {
if mainframe_walker() then 2 else 0
}
transform_symbol_offset_left_2 := {
if mainframe_walkerb() then 2 else 0
}
transform_symbol_offset_top_1 := {
if mainframe_walker() then -8 else 0
}
transform_symbol_offset_top_2 := {
if mainframe_walkerb() then -8 else 0
}
transform_symbol_offset_width_1 := {
if mainframe_walker() then 1 else 0
}
transform_symbol_offset_width_2 := {
if mainframe_walkerb() then 1 else 0
}
transform_symbol_offset_height_1 := {
if mainframe_walker() then 1 else 0
}
transform_symbol_offset_height_2 := {
if mainframe_walkerb() then 1 else 0
}
card_stamp_offset_top_1 := {
if mainframe_walker() and stamp_shape() == "triangle" then -3 else 0
}
card_stamp_offset_top_2 := {
if mainframe_walkerb() and stamp_shape(field:2) == "triangle" then -3 else 0
}
flavor_bar_disabled_1 := { mainframe_walker() or a_saga() or not set.use_flavor_bar }
flavor_bar_disabled_2 := { mainframe_walkerb() or b_saga() or not set.use_flavor_bar }
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: 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: choice
name: dfc type
choice: transforming
choice: modal with standard flags
choice: modal with custom flags
styling field:
type: choice
name: front style
choice: normal
choice: auto-sizing planeswalker
choice: 4 ability planeswalker
choice: 3 ability planeswalker
choice: 2 ability planeswalker
choice: 1 ability planeswalker
choice: 2 box saga
choice: 3 box saga
choice: 4 box saga
choice: class
choice: case
choice: leveler
choice: miracle
choice: vehicle
choice: snow
choice: map
initial: normal
description: Choose the style for the front face
styling field:
type: choice
name: defaults
choice: Click here for default coordinate information
choice: 2 ability walker stripes - "48,"
choice: 3 ability walker stripes - "27,80,"
choice: 4 ability walker stripes - "21,69,119,"
choice: 2 box saga stripes - "296,"
choice: 3 box saga stripes - "249,343,"
choice: 4 box saga stripes - "225,296,367"
choice: 2 box saga chapters - "183,223,329,"
choice: 3 box saga chapters - "185,279,373,"
choice: saga chapters use the "move loyalty costs" options
choice: to add chapters 4-6, add their coordinates at the end, ie "183,223,329,369,"
choice: leveler stripes - "0,0,"
choice: leveler arrows use the "move loyalty costs" options
choice: for loyalty costs, saga chapters, leveler arrows and stripes, use -N to move up
styling field:
type: text
name: stripe coordinate
description: Overrides the coordinates for the ability stripes. Defaults are "48," and "27,80," and "21,69,119,". The text MUST end with a ,
styling field:
type: text
name: move loyalty costs
description: Moves loyalty costs up the specified amount. Use negative to move down. Formatted as "1,2,3,4," MUST end with a comma.
styling field:
type: text
name: snap chapter to box
description: Sets the chapter symbols to the given textbox, fo example "1,1,2," for I, II - Ability 1; III - Ability 2
styling field:
type: text
name: front font cap
description: Use to standardize the font size of separated abilities. Default is size 14.
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: front chop
description: Changes the start/stop points of the textbox. Formatted as "X,Y"
styling field:
type: choice
name: d20 dividers
choice: d20 mode
choice: off
choice: all breaks
choice: all breaks +1
choice: all breaks +2
choice: all breaks +3
description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc.
styling field:
type: info
name: Back Face
styling field:
type: choice
name: back style
choice: normal
choice: auto-sizing planeswalker
choice: 4 ability planeswalker
choice: 3 ability planeswalker
choice: 2 ability planeswalker
choice: 1 ability planeswalker
choice: 2 box saga
choice: 3 box saga
choice: 4 box saga
choice: class
choice: case
choice: leveler
choice: miracle
choice: vehicle
choice: snow
choice: map
initial: normal
description: Choose the style for the back face
styling field:
type: text
name: back stripe coordinate
description: Overrides the coordinates for the backface ability stripes. Defaults are "48," and "27,80," and "21,69,119,". The text MUST end with a ,
styling field:
type: text
name: move back loyalty costs
description: Moves loyalty costs of the back face up the specified amount. Use negative to move down. Formatted as "1,2,3,4," MUST end with a comma.
styling field:
type: text
name: snap chapter to back box
description: Sets the chapter symbols to the given textbox, fo example "1,1,2," for I, II - Ability 1; III - Ability 2
styling field:
type: text
name: back font cap
description: Use to standardize the font size of separated abilities of the back face. Default is size 14.
styling field:
type: text
name: shrink back name text
description: reduces the name text N points.
styling field:
type: text
name: shrink back typeline text
description: reduces the typeline text N points.
styling field:
type: text
name: back chop
description: Changes the start/stop points of the textbox of the back face. Formatted as "X,Y"
styling field:
type: choice
name: d20 dividers back
choice: d20 mode
choice: off
choice: all breaks
choice: all breaks +1
choice: all breaks +2
choice: all breaks +3
description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc.
styling field:
type: info
name: Both faces
styling field:
type: multiple choice
name: other options
description: Additional options
choice: normal back face
choice: godzilla style alias
choice: ancestral generic mana
choice: pokemon evobar
choice: vorthos box
choice: pride pinlines
choice: promo
choice: mythic edition
choice: prerelease stamps
choice: remove from autocount
choice: use hovering pt
choice: use hovering loyalty
choice: use backface rarity
choice: center front
choice: center back
choice: center first name
choice: center second name
choice: right align
choice: force fourwalker front
choice: force fourwalker back
choice: wider planeswalker images
choice: unindent nonloyalty abilities
choice: regular pt on levelers
choice: automate type frames
choice: auto nyx crowns
choice: meld back
choice: front mutate
choice: back mutate
choice: clear front
choice: clear back
choice: miracle front
choice: miracle back
choice: draft matters front
choice: draft matters back
choice: custom border front
choice: custom border back
initial: use hovering pt, unindent nonloyalty abilities, automate type frames, auto nyx crowns
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: text
name: custom symbol one
description: Uses a custom DFC symbol from data/magic-mainframe-extras.mse-include
styling field:
type: text
name: custom symbol two
description: Uses a custom DFC symbol from data/magic-mainframe-extras.mse-include
styling field:
type: text
name: card watermark
description: Filename in magic-mainframe-extras to use for standalone card watermark
script: verify_watermark_image(value)
styling field:
type: text
name: card watermark 2
description: Filename in magic-mainframe-extras to use for standalone card watermark
script: verify_watermark_image(value)
include file: /magic-modules.mse-include/crowns/styling_fields
include file: /magic-modules.mse-include/rarities/styling_fields
styling field:
type: info
name: levels
styling field:
type: choice
name: class levels
description: Which type of level bar should classes use?
choice: notched
choice: unnotched
choice: line
choice: cyber
styling field:
type: text
name: custom class bar
description: Location of 158x25 image in magic-mainframe-extras to use as class bars
styling field:
type: text
name: alternate saga reminder
description: Change the reminder text that is generated for new cards
styling field:
type: text
name: custom chapter location
description: Use this image from magic-mainframe-extras as the custom chapter.
styling field:
type: text
name: custom chapter coordinate
description: Set the custom symbol at the given heights, formatted as Front,Back,
styling field:
type: text
name: custom chapter name
description: Set how this symbol will be called in text exports (ie I, II...). Default is C.
styling field:
type: text
name: replacement chapter location
description: location of replacement chapter symbols in magic-mainframe-extras, formatted as "folder/"
styling field:
type: text
name: level label
description: Change the level label. default is "LEVEL". Secondary lables can be added after a comma, "1,2,3,4,5,6,"
styling field:
type: choice
name: level containers
choice: arrows
choice: pt boxes
choice: loyalty boxes
styling field:
type: choice
name: level containers 2
choice: arrows
choice: pt boxes
choice: loyalty boxes
styling field:
type: text
name: level 1 chop
description: Changes the start/stop points of the first textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 2 chop
description: Changes the start/stop points of the second textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 3 chop
description: Changes the start/stop points of the third textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 4 chop
description: Changes the start/stop points of the fourth textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 5 chop
description: Changes the start/stop points of the first textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 6 chop
description: Changes the start/stop points of the second textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 7 chop
description: Changes the start/stop points of the third textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 8 chop
description: Changes the start/stop points of the fourth textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: info
name: Custom fonts
include file: /magic-modules.mse-include/fonts/styling_fields_dfc
styling field:
type: info
name: planeswalkers
styling field:
type: text
name: custom mask
description: Uses a custom mask from data/magic-mainframe-extras.mse-include
styling field:
type: text
name: custom mask 2
description: Uses a custom mask from data/magic-mainframe-extras.mse-include
include file: /magic-modules.mse-include/loyalty/styling_recoloring
include file: /magic-modules.mse-include/loyalty/styling_recoloring_dfc
styling field:
type: info
name: Other stuff
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: 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: package choice
name: level mana symbols
match: magic-mana-*.mse-symbol-font
initial: magic-mana-large.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: 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
inverted common symbol:
choice images:
no: { symbol_variation(symbol: set.symbol, variation: "common") }
yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
other options:
render style: checklist
direction: vertical
############################################################## Card fields
include file: /magic-modules.mse-include/information/card_fields_dfc
include file: /magic-modules.mse-include/card-symbols/card_fields_dfc
include file: /magic-modules.mse-include/separators/card_fields_dfc
include file: /magic-modules.mse-include/corners/card_fields_dfc
include file: /magic-modules.mse-include/stamps/card_fields_dfc
include file: /magic-modules.mse-include/symbols/card_fields_dfc
include file: /magic-modules.mse-include/loyalty/card_fields_dfc
card style:
############################# Background stuff
border color:
left: 0
top : 0
width: {if mythic_edition() then 0 else 752}
height: {if mythic_edition() then 0 else 523}
radius: 18
left width: 17
right width: 17
top width: 17
bottom width: 18
z index: 500
mask: { border_mask() }
card color:
left: 0
top: 0
width: 375
height: 523
z index: 200
render style: image
popup style: in place
image: { card_background() }
mask: { front_frame_mask() }
card color 2:
left: 377
top: 0
width: 375
height: 523
z index: 200
render style: image
popup style: in place
image: { card_background2() }
mask: { back_frame_mask() }
############################# Name line
name:
left: { if front_map() then 65 else if front_normal() then 58 else 62 }
top: { if front_map() then 27 else if front_normal() then 30 else 22 }
right: { (if front_map() then 344 else 339) - card_style.casting_cost.content_width }
height: { 23 - (0.5 * shrink_name()) }
alignment: { if chosen(styling.other_options, choice:"center first name") then "bottom center" else "bottom shrink-overflow"}
padding bottom: 0
z index: 900
font:
name: { name_font() }
italic name: {name_font_italic() }
size: { name_font_size() }
color: { name_font_color() }
name 2:
left: { if back_map() then 442 else if back_normal() then 435 else 439 }
top: { (if back_map() then 27 else if back_normal() then 30 else 22) - 0.5*shrink_name2() }
right: { (if back_map() then 719 else 714) - card_style.casting_cost_2.content_width }
height: { 23 - (0.5 * shrink_name2()) }
alignment: { if chosen(styling.other_options, choice:"center second name") then "bottom center" else "bottom shrink-overflow" }
padding bottom: 0
z index: 900
font:
name: { name2_font() }
italic name: {name2_font_italic() }
size: { name2_font_size() }
color: { name2_font_color() }
casting cost:
right: 347
top: { if front_normal() then 29 else 21 }
width: { max(30, card_style.casting_cost.content_width) + 5 }
height: 23
alignment: middle right
symbol font:
name: magic-mana-large
size: 15
alignment: middle right
always symbol: true
z index: 920
padding top: 0
casting cost 2:
right: 722
top: { if back_normal() then 29 else 21 }
width: { max(30, card_style.casting_cost_2.content_width) + 5 }
height: 23
alignment: middle right
symbol font:
name: magic-mana-large
size: 15
alignment: middle right
always symbol: true
z index: 920
padding top: 0
############################# Image
image:
left:
script:
if front_class() or front_case()
then 28
else if front_saga()
then 188
else if front_clear() or front_map() or mythic_edition()
then 0
else if front_mutate()
then 22
else if front_normal()
then 29
else if front_normal_size()
then 25
else 15
top:
script:
if a_saga()
then 59
else if front_map()
then 57
else if front_clear() or mythic_edition()
then 0
else if front_normal()
then 59
else if front_normal_size()
then 52
else 15
width:
script:
if a_saga()
then 157
else if front_clear() or front_map() or mythic_edition()
then 375
else if front_mutate()
then 330
else if front_normal()
then 316
else if front_normal_size()
then 324
else 345
height:
script:
if a_saga()
then 379
else if front_map()
then 241
else if front_clear() or mythic_edition()
then 523
else if front_mutate()
then 334
else if front_normal()
then 231
else if front_normal_size()
then 428
else 493
z index: 100
mask: { mask_script() }
default: {default_image(card.card_color)}
image 2:
left:
script:
if back_class() or back_case()
then 405
else if back_saga()
then 565
else if back_clear() or back_map() or mythic_edition()
then 377
else if back_mutate()
then 399
else if back_normal()
then 406
else if back_normal_size()
then 402
else 392
top:
script:
if b_saga()
then 59
else if back_map()
then 57
else if back_clear() or mythic_edition()
then 0
else if back_normal()
then 59
else if back_normal_size()
then 52
else 15
width:
script:
if b_saga()
then 157
else if back_clear() or back_map() or mythic_edition()
then 375
else if back_mutate()
then 330
else if back_normal()
then 316
else if back_normal_size()
then 324
else 345
height:
script:
if b_saga()
then 379
else if back_map()
then 241
else if back_clear() or mythic_edition()
then 523
else if back_mutate()
then 334
else if back_normal()
then 231
else if back_normal_size()
then 428
else 493
z index: 100
mask: { back_mask_script() }
default: {default_image(card.card_color_2)}
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
indicator:
left: { if front_map() then 18 else 31 }
top: { if a_saga() then 449 else if front_map() then 298 else if has_four_abilities() then 265 else 300 }
width: 17
height: 17
z index: 800
render style: image
visible: { has_identity()}
image: { module_identity() }
indicator 2:
left: { if back_map() then 395 else 408 }
top: { if b_saga() then 449 else if back_map() then 298 else if back_four_abilities() then 265 else 300 }
width: 17
height: 17
z index: 800
render style: image
visible: { has_identity_2()}
image: { module_identity() }
type:
left: { if front_map() then 85 else if has_identity() then 52 else 32 }
top: { (if front_map() then 297.5 else if a_saga() then 444 else if has_four_abilities() then 261 else 296) + shrink_type() }
width: { if front_map() then 205 else (if has_identity() then 290 else 310) - rare_width() }
height: { if front_map() then 18 - shrink_type() else 20 - shrink_type() }
alignment: { if front_map() then "center top shrink-overflow" else "top shrink-overflow"}
z index: 900
padding top: 2
padding bottom: { if front_map() then 4 else 0}
padding right: { if front_map() then 2 else 0}
font:
name: { type_font() }
italic name: { type_font_italic() }
size: { type_font_size() }
color: { type_font_color() }
separator color: red
type 2:
left: { if back_map() then 462 else if has_identity_2() then 429 else 409 }
top: { (if back_map() then 297.5 else if b_saga() then 444 else if back_four_abilities() then 261 else 296) + shrink_type2() }
width: { if back_map() then 205 else (if has_identity_2() then 290 else 310) - (if chosen(styling.other_options, choice:"use backface rarity") and set.shorten_types_for_rarity then rare_width() else 0) }
height: { if back_map() then 18 - shrink_type2() else 20 - shrink_type2()}
alignment: {if back_map() then "center top shrink-overflow" else "top shrink-overflow"}
z index: 900
padding top: 2
padding bottom: { if back_map() then 4 else 0}
padding right: { if back_map() then 2 else 0}
font:
name: { type2_font() }
italic name: { type2_font_italic() }
size: { type2_font_size() }
color: { type2_font_color() }
separator color: red
rarity:
right: { (if front_map() then 199 else 344) + rarity_user_offset_left(styling.rarity_offsets or else "") }
top: { (if a_saga() then 445 else if front_map() then 53 else if front_normal() then 297 else if has_four_abilities() then 262 else 297) + rarity_user_offset_top(styling.rarity_offsets or else "") }
width: {if set.shorten_types_for_rarity then 44 + rarity_user_offset_width(styling.rarity_offsets or else "") else 0}
height: {22 + rarity_user_offset_height(styling.rarity_offsets or else "")}
z index: 950
render style: image
alignment: middle right
include file: /magic-modules.mse-include/rarities/choice_images
rarity 2:
right: { (if back_map() then 576 else 721) + rarity_user_offset_left(styling.rarity_offsets or else "") }
top: { (if b_saga() then 445 else if back_map() then 53 else if back_normal() then 297 else if back_four_abilities() then 262 else 297) + rarity_user_offset_top(styling.rarity_offsets or else "") }
width: { if chosen(styling.other_options, choice:"use backface rarity") and set.shorten_types_for_rarity then 44 + rarity_user_offset_width(styling.rarity_offsets or else "") else 0 }
height: {22 + rarity_user_offset_height(styling.rarity_offsets or else "")}
z index: 950
render style: image
alignment: middle right
include file: /magic-modules.mse-include/rarities/choice_images
############################# Text box
text:
left: { if front_class() or front_case() then 188 else if front_map() then 40 else if mainframe_walker() then 48 else if is_bumped() then 47 else 29}
top: { top_of_textbox() }
bottom: { bottom_of_textbox()}
width:
script:
if front_leveler()
then 0
else if front_class() or front_case()
then 153
else if front_saga()
then 0
else if front_map()
then 287 - chop_front(2)
else if mainframe_walker()
then 300 - chop_front(2)
else if front_normal() and is_bumped()
then 296 - chop_front(2)
else if front_normal()
then 314 - chop_front(2)
else 0
font:
name: { body_font() }
italic name: { body_font_italic() }
size: { body_font_size() }
scale down to: 6
color: { body_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else if chosen(styling.other_options, choice:"right align") then "middle right" 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
text 2:
left: { if back_class() or back_case() then 565 else if back_map() then 417 else if mainframe_walkerb() then 425 else if back_bumped() then 425 else 407 }
top: { top_of_textbox2() }
bottom: { bottom_of_textbox2()}
width:
script:
if back_leveler()
then 0
else if back_class() or back_case()
then 153
else if back_saga()
then 0
else if back_map()
then 287 - chop_back(2)
else if mainframe_walkerb()
then 300 - chop_back(2)
else if back_normal() and back_bumped()
then 296 - chop_back(2)
else if back_normal()
then 314 - chop_back(2)
else 0
font:
name: { body2_font() }
italic name: { body2_font_italic() }
size: { body2_font_size() }
scale down to: 6
color: { body2_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body2_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center back") then "middle center" else if chosen(styling.other_options, choice:"right align") then "middle right" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.rule_text_2) 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_2) then 1.0 else 1.3 }
line height line max: 1.6
chapter text:
left: 30
top: 60
width: {if not front_saga() then 0 else 153}
height: 96
z index: 3
font:
name: { body_font() }
italic name: { body_font_italic() }
size: { body_font_size() }
scale down to: 6
color: { body_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 3
padding right: 1
line height hard: {if is_modal(card.chapter_text) then 0.9 else 1.2 }
line height line: 1.5
line height soft: 0.85
line height hard max: {if is_modal(card.chapter_text) then 1.0 else 1.3 }
line height line max: 1.6
visible: {front_saga()}
mask: textmask.png
chapter text 2:
left: 407
top: 60
width: {if not back_saga() then 0 else 153}
height: 96
z index: 3
font:
name: { body2_font() }
italic name: { body2_font_italic() }
size: { body2_font_size() }
scale down to: 6
color: { body2_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body2_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center back") then "middle center" else "middle left"
z index: 900
padding left: 3
padding right: 1
line height hard: {if is_modal(card.chapter_text_2) then 0.9 else 1.2 }
line height line: 1.5
line height soft: 0.85
line height hard max: {if is_modal(card.chapter_text_2) then 1.0 else 1.3 }
line height line max: 1.6
visible: {back_saga()}
mask: textmask.png
watermark:
left: { if front_class() or front_case() then 187 else if front_saga() then 45 else if front_map() then 40 else 19}
top : { if has_four_abilities() then 296 else if a_saga() then 60 else 330 }
width: { if front_class() or front_case() then 160 else if front_saga() then 133 else if front_map() then 287 else 334}
height: { if front_class() or front_case() then 160 else if front_saga() then 378 else if front_map() then 154 else if has_four_abilities() then 185 else 152 }
z index: 720
render style: image
alignment: middle center
include file: /magic.mse-game/watermarks/menu_choice_images
image: { watermark_image_1() }
watermark 2:
left: { if back_class() or back_case() then 564 else if back_saga() then 422 else if back_map() then 5417 else 396}
top : { if back_four_abilities() then 296 else if b_saga() then 60 else 330 }
width: { if back_class() or back_case() then 160 else if back_saga() then 133 else if back_map() then 287 else 334}
height: { if b_saga() then 378 else if back_map() then 154 else if back_four_abilities() then 185 else 152 }
z index: 720
render style: image
alignment: middle center
include file: /magic.mse-game/watermarks/menu_choice_images
image: { watermark_image_2() }
############################# Levels
level 1 text:
left: { leveler_left(face:1, lv:1) }
top: { leveler_top(face:1, lv:1) }
right: { leveler_right(face:1, lv:1) }
bottom: { leveler_bottom(face:1, lv:1) }
font:
name: { body_font() }
italic name: { body_font_italic() }
size: { body_font_size() }
scale down to: 6
color: { body_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_1_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.level_1_text) then 1.0 else 1.3 }
line height line max: 1.6
level 2 text:
left: { leveler_left(face:1, lv:2) }
top: { leveler_top(face:1, lv:2) }
right: { leveler_right(face:1, lv:2) }
bottom: { leveler_bottom(face:1, lv:2) }
font:
name: { body_font() }
italic name: { body_font_italic() }
size: { body_font_size() }
scale down to: 6
color: { body_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_2_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.level_2_text) then 1.0 else 1.3 }
line height line max: 1.6
level 3 text:
left: { leveler_left(face:1, lv:3) }
top: { leveler_top(face:1, lv:3) }
right: { leveler_right(face:1, lv:3) }
bottom: { leveler_bottom(face:1, lv:3) }
font:
name: { body_font() }
italic name: { body_font_italic() }
size: { body_font_size() }
scale down to: 6
color: { body_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_3_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.level_3_text) then 1.0 else 1.3 }
line height line max: 1.6
level 4 text:
left: { leveler_left(face:1, lv:4) }
top: { leveler_top(face:1, lv:4) }
right: { leveler_right(face:1, lv:4) }
bottom: { leveler_bottom(face:1, lv:4) }
font:
name: { body_font() }
italic name: { body_font_italic() }
size: { body_font_size() }
scale down to: 6
color: { body_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_4_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.level_4_text) then 1.0 else 1.3 }
line height line max: 1.6
level 5 text:
left: { 377 + leveler_left(face:2, lv:1) }
top: { leveler_top(face:2, lv:1) }
right: { 377 + leveler_right(face:2, lv:1) }
bottom: { leveler_bottom(face:2, lv:1) }
font:
name: { body2_font() }
italic name: { body2_font_italic() }
size: { body2_font_size() }
scale down to: 6
color: { body2_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body2_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_5_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.level_5_text) then 1.0 else 1.3 }
line height line max: 1.6
level 6 text:
left: { 377 + leveler_left(face:2, lv:2) }
top: { leveler_top(face:2, lv:2) }
right: { 377 + leveler_right(face:2, lv:2) }
bottom: { leveler_bottom(face:2, lv:2) }
font:
name: { body2_font() }
italic name: { body2_font_italic() }
size: { body2_font_size() }
scale down to: 6
color: { body2_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body2_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_6_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.level_6_text) then 1.0 else 1.3 }
line height line max: 1.6
level 7 text:
left: { 377 + leveler_left(face:2, lv:3) }
top: { leveler_top(face:2, lv:3) }
right: { 377 + leveler_right(face:2, lv:3) }
bottom: { leveler_bottom(face:2, lv:3) }
font:
name: { body2_font() }
italic name: { body2_font_italic() }
size: { body2_font_size() }
scale down to: 6
color: { body2_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body2_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_7_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.level_7_text) then 1.0 else 1.3 }
line height line max: 1.6
level 8 text:
left: { 377 + leveler_left(face:2, lv:4) }
top: { leveler_top(face:2, lv:4) }
right: { 377 + leveler_right(face:2, lv:4) }
bottom: { leveler_bottom(face:2, lv:4) }
font:
name: { body2_font() }
italic name: { body2_font_italic() }
size: { body2_font_size() }
scale down to: 6
color: { body2_font_color() }
symbol font:
name: { styling.text_box_mana_symbols }
size: { body2_font_size() }
alignment:
script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.level_8_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.level_8_text) then 1.0 else 1.3 }
line height line max: 1.6
############################# Levels
level 0:
z index: 910
left: {if box_leveler() then 8 else if loy_leveler() then 14 else 21}
top: {l1_center() - (if aug_leveler(0) then 4 else 2) - (if center_label(0) then 6 else 0) + arrow_offset(0)}
width: {if front_leveler() or card.level_0 != "" then (34 + (if box_leveler() then 30 else 0)) else 0}
height: 22
alignment: center middle shrink-overflow
font:
name: Beleren Bold
size: {if loy_leveler() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler() then "white" else "black"}
shadow color: { if loy_leveler() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {12 + if center_label(0) then 0.5 else 0}
level 1:
z index: 910
left: {if box_leveler() then 8 else if loy_leveler() then 14 else 21}
top: {l2_center() - (if aug_leveler(1) then 4 else 2) - (if center_label(1) then 6 else 0) + arrow_offset(1)}
height: 22
width: {if front_leveler() or card.level_1 != "" then (34 + (if box_leveler() then 30 else 0)) else 0}
alignment: center middle shrink-overflow
font:
name: Beleren Bold
size: {if loy_leveler() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler() then "white" else "black"}
shadow color: { if loy_leveler() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {12 + if center_label(0) then 0.5 else 0}
level 2:
z index: 910
left: {if front_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 14 else 21}
top: {if front_class() then lev2()+4 else l3_center() - (if aug_leveler(2) then 4 else 2) - (if center_label(2) then 6 else 0) + arrow_offset(2)}
width: {if front_class() and card.level_2_text == "" then 0 else if front_class() then 70 else if front_leveler() or card.level_2 != "" then (34 + (if box_leveler() then 30 else 0)) else 0}
height: {if front_class() then 20 else 22}
alignment: {if front_class() then "center right" else "center middle shrink-overflow"}
font:
name: {if front_class() then "MPlantin" else "Beleren Bold"}
size: {if loy_leveler() or front_class() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler() then "white" else "black"}
shadow color: { if loy_leveler() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {if front_class() then 11 else 12 + if center_label(0) then 0.5 else 0}
level 3:
z index: 910
left: {if front_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 14 else 21}
top: {if front_class() then lev3()+4 else l4_center() - (if aug_leveler(3) then 4 else 2) - (if center_label(3) then 6 else 0) + arrow_offset(3)}
width: {if front_class() and card.level_3_text == "" then 0 else if front_class() then 70 else if front_leveler() or card.level_3 != "" then (34 + (if box_leveler() then 30 else 0)) else 0}
height: {if front_class() then 20 else 22}
alignment: {if front_class() then "center right" else "center middle shrink-overflow"}
font:
name: {if front_class() then "MPlantin" else "Beleren Bold"}
size: {if loy_leveler() or front_class() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler() then "white" else "black"}
shadow color: { if loy_leveler() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {if front_class() then 11 else 12 + if center_label(0) then 0.5 else 0}
level 4:
z index: 910
width: {if front_class() and card.level_4_text == "" then 0 else 70}
top: {lev4()+4}
height: {if not front_class() then 0 else 20}
font:
name: MPlantin
size: 11
weight: bold
symbol font:
name: magic-mana-small
size: 11
alignment: {if front_class() then "center right" else "center middle shrink-overflow"}
level 5:
z index: 910
left: {377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21}
top: {l5_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(0) then 6 else 0) + arrow_offset2(0)}
width: {if back_leveler() or card.level_5 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0}
height: 22
alignment: center middle shrink-overflow
font:
name: {if back_class() then "MPlantin" else "Beleren Bold"}
size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler2() then "white" else "black"}
shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {12 + if center_label2(0) then 0.5 else 0}
level 6:
z index: 910
left: {if back_class() then 647 else 377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21}
top: {if back_class() then lev2b()+4 else l6_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(1) then 6 else 0) + arrow_offset2(1)}
height: 22
width: {if back_class() and card.level_6_text == "" then 0 else if back_class() then 70 else if back_leveler() or card.level_6 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0}
alignment: {if back_class() then "center right" else "center middle shrink-overflow"}
font:
name: {if back_class() then "MPlantin" else "Beleren Bold"}
size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler2() then "white" else "black"}
shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {if back_class() then 11 else 12 + if center_label2(0) then 0.5 else 0}
level 7:
z index: 910
left: {if back_class() then 647 else 377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21}
top: {if back_class() then lev3b()+4 else l7_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(2) then 6 else 0) + arrow_offset2(2)}
width: {if back_class() and card.level_7_text == "" then 0 else if back_class() then 70 else if back_leveler() or card.level_7 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0}
height: 22
alignment: {if back_class() then "center right" else "center middle shrink-overflow"}
font:
name: {if back_class() then "MPlantin" else "Beleren Bold"}
size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler2() then "white" else "black"}
shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {if back_class() then 11 else 12 + if center_label2(0) then 0.5 else 0}
level 8:
z index: 910
left: {if back_class() then 647 else 377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21}
top: {if back_class() then lev4b()+4 else l8_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(3) then 6 else 0) + arrow_offset2(3)}
width: {if back_class() and card.level_8_text == "" then 0 else if back_class() then 70 else if back_leveler() or card.level_8 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0}
height: 22
alignment: {if back_class() then "center right" else "center middle shrink-overflow"}
font:
name: {if back_class() then "MPlantin" else "Beleren Bold"}
size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0}
weight: bold
color: {if loy_leveler2() then "white" else "black"}
shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"}
shadow blur: 2
symbol font:
name: { styling.level_mana_symbols }
size: {if back_class() then 11 else 12 + if center_label2(0) then 0.5 else 0}
############################# Class costs
level 9 text:
left: 190
width: {if not front_class() then 0 else if front_class() and card.level_2_text == "" then 0 else 80}
top: {lev2()+4}
height: 20
z index: 910
font:
name: MPlantin
size: 12
symbol font:
name: magic-mana-small
size: 12
alignment: middle left
level 10 text:
left: 190
width: {if not front_class() then 0 else if front_class() and card.level_3_text == "" then 0 else 80}
top: {lev3()+4}
height: 20
z index: 910
font:
name: MPlantin
size: 12
symbol font:
name: magic-mana-small
size: 12
alignment: middle left
level 11 text:
left: 190
width: {if not front_class() then 0 else if front_class() and card.level_4_text == "" then 0 else 80}
top: {lev4()+4}
height: 20
z index: 910
font:
name: MPlantin
size: 12
symbol font:
name: magic-mana-small
size: 12
alignment: middle left
level 12 text:
left: 567
width: {if not back_class() then 0 else if back_class() and card.level_6_text == "" then 0 else 80}
top: {lev2b()+4}
height: 20
z index: 910
font:
name: MPlantin
size: 12
symbol font:
name: magic-mana-small
size: 12
alignment: middle left
level 13 text:
left: 567
width: {if not back_class() then 0 else if back_class() and card.level_7_text == "" then 0 else 80}
top: {lev3b()+4}
height: 20
z index: 910
font:
name: MPlantin
size: 12
symbol font:
name: magic-mana-small
size: 12
alignment: middle left
level 14 text:
left: 567
width: {if not back_class() then 0 else if back_class() and card.level_8_text == "" then 0 else 80}
top: {lev4b()+4}
height: 20
z index: 910
font:
name: MPlantin
size: 12
symbol font:
name: magic-mana-small
size: 12
alignment: middle left
############################# PT
#### front PT or level 1 face 1
pt:
z index: 900
left: {if front_leveler() and not lone_pt() then 291 else 286}
top: { if front_leveler() and not lone_pt() then (l1_center() - 14) else if front_map() then 467 else 469}
width: { if front_normal() or card.pt != "" then 60 else 0}
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
shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
#### back PT or level 2 face 1
pt 2:
z index: 900
left: {if front_leveler() then 291 else 661}
top: { if front_leveler() then (l2_center() - 12) else if back_map() then 467 else 469}
width: {if front_leveler() and lone_pt() and card.pt == "" then 0 else if (front_leveler() and not lone_pt()) or back_normal() or card.pt_2 != "" then 60 else 0 }
height: 28
alignment: center middle shrink-overflow
font:
name: { if front_leveler() then pt_font() else pt2_font() }
italic name: { if front_leveler() then pt_font_italic() else pt2_font_italic() }
size: { if front_leveler() then pt_font_size() else pt2_font_size() }
color: { if front_leveler() then pt_font_color() else pt2_font_color() }
separator color: red
shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
#### level 3 face 1
pt 3:
z index: 900
left: 291
top: {(l3_center() - 12)}
width: {if front_leveler() and not lone_pt() or card.pt_3 != "" then 60 else 0}
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
shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
#### level 4 face 1
pt 7:
z index: 900
left: 291
top: {(l4_center() - 12)}
width: {if front_leveler() and lv_4_coordinate() != 152 and (not lone_pt() or card.pt_7 != "") then 60 else 0}
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
shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
#### back PT when front leveler, level 1 face 2 otherwise
pt 4:
z index: 900
left: {377+ if back_leveler() and not lone_pt() then 291 else 286}
top: { if back_leveler() and not lone_pt() then (l5_center() - 14) else if front_map() then 467 else 469}
width: {if back_leveler() and (not lone_pt() or card.pt_4 != "" or front_leveler()) then 60 else 0}
height: 28
alignment: center middle shrink-overflow
font:
name: { pt2_font() }
italic name: { pt2_font_italic() }
size: { pt2_font_size() }
color: { pt2_font_color() }
separator color: red
shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
#### level 2 face 2
pt 5:
z index: 900
left: 668
top: {(l6_center() - 12)}
width: {if back_leveler() and not lone_pt() or card.pt_5 != "" then 60 else 0}
height: 28
alignment: center middle shrink-overflow
font:
name: { pt2_font() }
italic name: { pt2_font_italic() }
size: { pt2_font_size() }
color: { pt2_font_color() }
separator color: red
shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
#### level 3 face 2
pt 6:
z index: 900
left: 668
top: {(l7_center() - 12)}
width: {if back_leveler() and not lone_pt() or card.pt_6 != "" then 60 else 0}
height: 28
alignment: center middle shrink-overflow
font:
name: { pt2_font() }
italic name: { pt2_font_italic() }
size: { pt2_font_size() }
color: { pt2_font_color() }
separator color: red
shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
#### level 4 face 2
pt 8:
z index: 900
left: 668
top: {(l8_center() - 12)}
width: {if back_leveler() and lv_8_coordinate() != 152 and (not lone_pt() or card.pt_8 != "") then 60 else 0}
height: 28
alignment: center middle shrink-overflow
font:
name: { pt2_font() }
italic name: { pt2_font_italic() }
size: { pt2_font_size() }
color: { pt2_font_color() }
separator color: red
shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
############################## Alias
alias:
left: {if front_saga() then 188 else if front_skinned() then 45 else if poke_walker() then 36 else if front_map() then 17 else 33}
top: {if mainframe_walker() then 47 else if front_map() then 58 else 53}
width: {if front_skinned() then 285 else if use_evobar() then max(100, card_style.alias.content_width) else 0}
height: 20
alignment: { (if front_skinned() then "center ") + "bottom shrink-overflow"}
padding bottom: 0
z index: 910
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"}
alias 2:
left: { if back_saga() then 565 else if back_skinned() then 422 else if back_poke_walker() then 413 else if back_map() then 394 else 410}
top: {if mainframe_walkerb() then 47 else if back_map() then 58 else 53}
width: {if back_skinned() then 285 else if use_evobar() then max(100, card_style.alias_2.content_width) else 0}
height: 20
alignment: { (if back_skinned() then "center ") + "bottom shrink-overflow"}
padding bottom: 0
z index: 910
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"}
############################################################## Extra card fields
extra card field:
type: choice
name: foil layer
choice: foil
save value: false
editable: false
extra card field:
type: choice
name: foil layer 2
choice: foil
save value: false
editable: false
extra card field:
type: text
name: pt 2 copy
script: if chosen(styling.other_options, choice:"use hovering loyalty") and card.pt_2 == "" then card.loyalty_2 else card.pt_2
editable: false
save value: false
extra card field:
type: choice
name: pt box
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: pt box 2
script: if front_leveler() then card.card_color else card.card_color_2
editable: false
save value: false
extra card field:
type: choice
name: pt box 3
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: pt box 4
script: card.card_color_2
editable: false
save value: false
extra card field:
type: choice
name: pt box 5
script: card.card_color_2
editable: false
save value: false
extra card field:
type: choice
name: pt box 6
script: card.card_color_2
editable: false
save value: false
extra card field:
type: choice
name: pt box 7
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: pt box 8
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: curtain
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: miracle overlay
choice: miracle
save value: false
editable: false
script: card.card_color
extra card field:
type: choice
name: nyx overlay
choice: nyx
save value: false
editable: false
script: card.card_color
extra card field:
type: choice
name: snow overlay
choice: snow
save value: false
editable: false
script: card.card_color
extra card field:
type: choice
name: custom border overlay
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: draft overlay
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: vehicle overlay
choice: car door
save value: false
editable: false
extra card field:
type: choice
name: bookmark
choice: mark
save value: false
editable: false
script: card.card_color
extra card field:
type: choice
name: stripe
choice: mark
save value: false
editable: false
extra card field:
type: choice
name: curtain 2
script: card.card_color_2
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: miracle overlay 2
choice: miracle
save value: false
editable: false
script: card.card_color_2
extra card field:
type: choice
name: nyx overlay 2
choice: nyx
save value: false
editable: false
script: card.card_color_2
extra card field:
type: choice
name: snow overlay 2
choice: snow
save value: false
editable: false
script: card.card_color_2
extra card field:
type: choice
name: custom border overlay 2
script: card.card_color_2
save value: false
editable: false
extra card field:
type: choice
name: draft overlay 2
script: card.card_color_2
save value: false
editable: false
extra card field:
type: choice
name: vehicle overlay 2
choice: car door
save value: false
editable: false
extra card field:
type: choice
name: bookmark 2
choice: mark
save value: false
editable: false
script: card.card_color_2
extra card field:
type: choice
name: stripe 2
choice: mark
save value: false
editable: false
extra card field:
type: choice
name: class paper
choice: bookmark
save value: false
editable: false
script: card.card_color
extra card field:
type: choice
name: class paper 2
choice: bookmark
save value: false
editable: false
script: card.card_color_2
extra card field:
type: choice
choice: bar
name: meld bar
editable: false
show statistics: false
extra card field:
type: text
name: promo label
save value: true
description: The golden promo label.
extra card field:
type: text
name: promo label 2
save value: true
description: The second golden promo label.
extra card field:
type: text
name: filler text
editable: true
save value: true
show statistics: false
multi line: true
script:
forward_editor(field: card.special_text)
special_text()
extra card field:
type: text
name: filler text 2
editable: true
save value: true
show statistics: false
multi line: true
script:
forward_editor(field: card.special_text_2)
special_text2()
extra card field:
type: choice
name: chapter 1
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 2
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 3
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 4
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 5
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 6
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter custom
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 1
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 2
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 3
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 4
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 1b
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 2b
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 3b
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 4b
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 5b
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter 6b
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: chapter customb
choice: chapter
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 1b
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 2b
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 3b
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: linebreak 4b
choice: line
editable: false
save value: false
show statistics: false
extra card field:
type: color
name: silver patch
script: rgb(0,0,0)
extra card field:
type: color
name: silver patch 2
script: rgb(0,0,0)
extra card field:
type: choice
name: evobar
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar tip
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar 2
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar tip 2
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar start
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar start 2
choice: evo
save value: false
editable: false
# Add the word "LEVEL" to the top arrow.
extra card field:
type: text
name: lvl label 0
editable: false
save value: false
script: if loy_leveler() then ":" else level_label(0)
# Add the word "LEVEL" to the first arrow.
extra card field:
type: text
name: lvl label 1
editable: false
save value: false
script: if front_class() then "Level 2" else if loy_leveler() then ":" else level_label(1)
# Add the word "LEVEL" to the second arrow.
extra card field:
type: text
name: lvl label 2
editable: false
save value: false
script: if front_class() then "Level 3" else if loy_leveler() then ":" else level_label(2)
# Add the word "LEVEL" to the third arrow.
extra card field:
type: text
name: lvl label 3
editable: false
save value: false
script: if front_class() then "Level 4" else if loy_leveler() then ":" else level_label(2)
extra card field:
type: choice
name: level 2 overlay
script: card.card_color
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: level 3 overlay
script: card.card_color
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: level 4 overlay
script: card.card_color
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: arrow 1
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: arrow 2
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: arrow 3
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: arrow 4
script: card.card_color
editable: false
save value: false
show statistics: false
# Add the word "LEVEL" to the top arrow.
extra card field:
type: text
name: lvl label 5
editable: false
save value: false
script: if loy_leveler2() then ":" else level_label(3)
# Add the word "LEVEL" to the first arrow.
extra card field:
type: text
name: lvl label 6
editable: false
save value: false
script: if back_class() then "Level 2" else if loy_leveler2() then ":" else level_label(4)
# Add the word "LEVEL" to the second arrow.
extra card field:
type: text
name: lvl label 7
editable: false
save value: false
script: if back_class() then "Level 3" else if loy_leveler2() then ":" else level_label(5)
# Add the word "LEVEL" to the third arrow.
extra card field:
type: text
name: lvl label 8
editable: false
save value: false
script: if back_class() then "Level 4" else if loy_leveler2() then ":" else level_label(5)
extra card field:
type: choice
name: level 6 overlay
script: card.card_color_2
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: level 7 overlay
script: card.card_color_2
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: level 8 overlay
script: card.card_color_2
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: arrow 5
script: card.card_color_2
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: arrow 6
script: card.card_color_2
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: arrow 7
script: card.card_color_2
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: arrow 8
script: card.card_color_2
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: alias bar
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: alias bar 2
script: card.card_color_2
save value: false
editable: false
extra card field:
type: choice
name: front modal flag
script: card.card_color_2
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: back modal flag
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: text
name: back type hint
script: if front_modal_hint().0 != "" then front_modal_hint().0 else value
save value: true
editable: true
extra card field:
type: text
name: back color hint
script: if front_modal_hint().1 != "" then front_modal_hint().1 else value
save value: true
editable: true
extra card field:
type: text
name: front type hint
script: if back_modal_hint().0 != "" then back_modal_hint().0 else value
save value: true
editable: true
extra card field:
type: text
name: front color hint
script: if back_modal_hint().1 != "" then back_modal_hint().1 else value
save value: true
editable: true
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: text
name: vorthos box 2
save value: true
editable: true
description: Where they put mtgstory.com on story spotlights.
extra card field:
type: multiple choice
name: pride pin
include file: /magic-pride.mse-include/pins
save value: true
editable: true
extra card field:
type: multiple choice
name: pride pin 2
include file: /magic-pride.mse-include/pins
save value: true
editable: true
extra card field:
type: choice
name: crown
script: card.card_color
save value: false
editable: false
extra card field:
type: choice
name: crown 2
script: card.card_color_2
save value: false
editable: false
extra card field:
type: choice
name: stamp backing
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: stamp backing 2
script: card.card_color_2
editable: false
save value: false
extra card field:
type: text
name: colon 1
editable: false
save value: false
script: ":"
extra card field:
type: text
name: colon 2
editable: false
save value: false
script: ":"
extra card field:
type: text
name: colon 3
editable: false
save value: false
script: ":"
extra card field:
type: text
name: colon 4
editable: false
save value: false
script: ":"
extra card field:
type: text
name: colon 5
editable: false
save value: false
script: ":"
extra card field:
type: text
name: colon 6
editable: false
save value: false
script: ":"
extra card field:
type: text
name: colon 7
editable: false
save value: false
script: ":"
extra card field:
type: text
name: colon 8
editable: false
save value: false
script: ":"
extra card field:
type: choice
name: art mirror
choice: mirror
editable: false
save value: false
extra card field:
type: choice
name: art mirror 2
choice: mirror
editable: false
save value: false
extra card field:
type: color
name: border mirror
script: rgb(0,0,0)
editable: false
save value: false
extra card field:
type: color
name: border mirror 2
script: rgb(0,0,0)
editable: false
save value: false
include file: /magic-modules.mse-include/loyalty/stripe_fields_dfc
include file: /magic-modules.mse-include/loyalty/separator_fields_dfc
extra card style:
foil layer:
left: 0
top : 0
width: 375
height: 523
z index: 1050
render style: image
image: {if styling.overlay == "" then "" else styling.overlay + "/overlay.png"}
foil layer 2:
left: 377
top: 0
width: 375
height: 523
z index: 1050
render style: image
image: {if styling.overlay == "" then "" else styling.overlay + "/overlay.png"}
pt 2 copy:
z index: 750
right: 347
top: 446
width: 30
height: 12
alignment: bottom right
visible: {not is_modal_dfc() and not front_leveler() and not a_saga() and not mainframe_walker() and chosen(styling.other_options, choice:"use hovering pt")}
font:
name: ModMatrix
size: 12
weight: bold
color: {rgb(45,45,45)}
separator color: red
pt box:
left: { if front_leveler() and not lone_pt() then 278 else if front_map() then 270 else 273}
top: { if front_leveler() and not lone_pt() then (l1_center() - (if front_map() then 26 else 18)) else if front_map() then 453 else 466}
width: { if front_map() then 90 else if front_normal() or card.pt != "" then 81 else 0 }
height: { if front_map() then 54 else 42}
z index: 840
visible: { card.pt != "" }
render style: image
image: { front_ptbox() }
pt box 2:
left: { if front_leveler() then 278 else if back_map() then 647 else 648}
top: { if front_leveler() then (l2_center() - (if front_map() then 26 else 15)) else if back_map() then 453 else 466}
width: { if front_leveler() and front_map() then 90 else if front_leveler() then 81 else if back_map() then 90 else if back_normal() or card.pt_2 != "" then 81 else 0}
height: { if front_leveler() and front_map() then 54 else if front_leveler() then 42 else if back_map() then 54 else 42}
z index: 840
visible: { card.pt_2 != "" }
render style: image
image: { if not front_leveler() then back_ptbox(card.card_color_2) else if front_map() then card_mapbox(card.card_color) else combine_blend(image1:front_ptbox(), image2: template_prefix["pt"] + "ptbox_multiply_1.png", combine:"multiply") }
pt box 3:
left: 278
top: { l3_center() - (if front_map() then 26 else 15)}
width: { if (front_leveler() and not lone_pt()) or card.pt_3 != "" then (if front_map() then 90 else 81) else 0}
height: { if (front_leveler() and not lone_pt()) or card.pt_3 != "" then (if front_map() then 54 else 42) else 0}
z index: 840
visible: { card.pt_3 != "" }
render style: image
image: {if front_map() then card_mapbox() else combine_blend(image1: front_ptbox(), image2: template_prefix["pt"] + "ptbox_multiply_2.png", combine: "multiply")}
pt box 7:
left: 278
top: { l4_center() - (if front_map() then 26 else 15)}
width: { if (front_leveler() and not lone_pt()) or card.pt_7 != "" then (if front_map() then 90 else 81) else 0}
height: { if (front_leveler() and not lone_pt()) or card.pt_7 != "" then (if front_map() then 54 else 42) else 0}
z index: 840
visible: { card.pt_7 != "" and lv_4_coordinate() != 152 }
render style: image
image: {if front_map() then card_mapbox() else combine_blend(image1: front_ptbox(), image2: template_prefix["pt"] + "ptbox_multiply_3.png", combine: "multiply")}
pt box 4:
left: {377 + if back_leveler() and not lone_pt() then 278 else if back_map() then 270 else 273}
top: { if back_leveler() and not lone_pt() then (l5_center() - (if back_map() then 26 else 18)) else if back_map() then 453 else 466}
width: { if back_map() then 90 else 81}
height: { if back_map() then 54 else 42}
z index: 840
visible: { card.pt_4 != "" }
render style: image
image: { back_ptbox() }
pt box 5:
left: 655
top: { l6_center() - (if back_map() then 26 else 15)}
width: { if (back_leveler() and not lone_pt()) or card.pt_5 != "" then (if back_map() then 90 else 81) else 0}
height: { if (back_leveler() and not lone_pt()) or card.pt_5 != "" then (if back_map() then 54 else 42) else 0}
z index: 840
visible: { card.pt_5 != "" }
render style: image
image: {if back_map() then card_mapbox() else combine_blend(image1: back_ptbox(), image2: template_prefix["pt"] + "ptbox_multiply_1.png", combine: "multiply")}
pt box 6:
left: 655
top: { l7_center() - (if back_map() then 26 else 15)}
width: { if (back_leveler() and not lone_pt()) or card.pt_6 != "" then (if back_map() then 90 else 81) else 0}
height: { if (back_leveler() and not lone_pt()) or card.pt_6 != "" then (if back_map() then 54 else 42) else 0}
z index: 840
visible: { card.pt_6 != "" }
render style: image
image: {if back_map() then card_mapbox() else combine_blend(image1: back_ptbox(), image2: template_prefix["pt"] + "ptbox_multiply_2.png", combine: "multiply")}
pt box 8:
left: 655
top: { l8_center() - (if back_map() then 26 else 15)}
width: { if (back_leveler() and not lone_pt()) or card.pt_8 != "" then (if back_map() then 90 else 81) else 0}
height: { if (back_leveler() and not lone_pt()) or card.pt_8 != "" then (if back_map() then 54 else 42) else 0}
z index: 840
visible: { card.pt_8 != "" and lv_8_coordinate != 152}
render style: image
image: {if back_map() then card_mapbox() else combine_blend(image1: back_ptbox(), image2: template_prefix["pt"] + "ptbox_multiply_3.png", combine: "multiply")}
curtain:
left: 0
top: 0
width: 375
height: 523
render style: image
image: {curtain_background()}
z index: 490
visible: {is_curtains()and not front_map() }
mask: { if front_legend() then "frame_masks/lcurtainmask.png" else "frame_masks/nodemask.png"}
miracle overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: {if front_clear() then template_prefix["miracle"] + "xmiracle.png" else miracle_background()}
z index: 850
visible: {front_miracle() and front_normal() and not front_map() and not mythic_edition()}
mask: { if not front_clear() then "frame_masks/nodemask.png"}
nyx overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: { nodule(notch(module_nyx(), face:1)) }
z index: 330
visible: {front_nyx() and not front_map() and not mythic_edition()}
mask: {front_trim_mask(double:pure_snow_front() or front_custom_border() or front_draft() or front_vehicle())}
snow overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: { nodule(snow_background()) }
z index: 310
visible: {front_snow() and not front_map() and not mythic_edition()}
mask: {if pure_snow_front() then "snow_masks/" + (if is_modal_dfc() then "snow_modal_mask.png" else "snow_front_mask.png") else front_trim_mask(face:1, double:front_snow() or front_custom_border() or front_draft() or front_vehicle())}
custom border overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: { nodule(custom_border_blend()) }
z index: 317
visible: {front_custom_border() and not front_map() and not mythic_edition()}
mask: {front_trim_mask(double:front_draft() or front_vehicle())}
draft overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: { nodule(draft_background()) }
z index: 315
visible: {front_draft() and not front_map() and not mythic_edition()}
mask: {front_trim_mask(double:front_vehicle())}
vehicle overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: {nodule(notch("/magic-modules.mse-include/trims/vehicle.png", face:1))}
z index: 320
mask: {front_trim_mask(face:1)}
visible: {front_vehicle() and not front_map() and not mythic_edition()}
curtain 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: {nodule(curtain_background())}
z index: 490
visible: {is_curtains() and not back_map() }
mask: { if back_legend() then "frame_masks/lcurtainmask.png" else "frame_masks/nodemask.png"}
miracle overlay 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: {nodule(if back_clear() then template_prefix["miracle"] + "xmiracle.png" else miracle_background2())}
z index: 850
visible: {back_miracle() and back_normal() and not back_map() and not mythic_edition()}
mask: { if not back_clear() then "frame_masks/nodemask.png"}
nyx overlay 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: { nodule(notch(module_nyx(), face:2)) }
z index: 330
visible: {back_nyx() and not back_map() and not mythic_edition()}
mask: {back_trim_mask(double:pure_snow_back() or back_custom_border() or back_draft() or back_vehicle())}
snow overlay 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: { nodule(snow_background()) }
z index: 310
visible: {back_snow() and not back_map() and not mythic_edition()}
mask: {if pure_snow_back() then "snow_masks/" + (if is_modal_dfc() then "snow_back_mask.png" else "snow_back_mask.png") else back_trim_mask(face:2, double:back_snow() or back_custom_border() or back_draft() or back_vehicle())}
custom border overlay 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: { nodule(custom_border_blend()) }
z index: 317
visible: {back_custom_border() and not back_map() and not mythic_edition()}
mask: {back_trim_mask(double:back_draft() or back_vehicle())}
draft overlay 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: { nodule(draft_background()) }
z index: 315
visible: {back_draft() and not back_map() and not mythic_edition()}
mask: {back_trim_mask(double:back_vehicle())}
vehicle overlay 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: { nodule("/magic-modules.mse-include/trims/vehicle.png") }
z index: 320
mask: {back_trim_mask(face:2)}
visible: {back_vehicle() and not back_map() and not mythic_edition()}
front modal flag:
left: {if mainframe_walker() then 10 else 14}
top: 468
width: 160
height: 20
render style: image
image: {front_flag_image()}
z index: 890
visible: {is_modal_dfc()}
back type hint:
left: {if mainframe_walker() then 24 else 28}
top: 471
width: 80
height: 12
z index: 900
visible: {is_modal_dfc()}
font:
name: Beleren Bold
size: 9
color: white
back color hint:
right: {if mainframe_walker() then 157 else 161}
top: 471
width: 80
height: 14
z index: 900
visible: {is_modal_dfc()}
font:
name: MPlantin
size: 10
color: white
symbol font:
name: { styling.text_box_mana_symbols }
size: 10
scale down to: 6
alignment: right middle
back modal flag:
left: {if mainframe_walkerb() then 387 else 391}
top: 468
width: 160
height: 20
render style: image
image: {back_flag_image()}
z index: 890
visible: {is_modal_dfc()}
front type hint:
left: { if mainframe_walkerb() then 401 else 405}
top: 471
width: 80
height: 12
z index: 900
visible: {is_modal_dfc()}
font:
name: Beleren Bold
size: 9
color: black
front color hint:
right: {if mainframe_walkerb() then 534 else 538}
top: {if match(value, match:"^<sym>[^<]+</sym>$") then 472 else 471}
width: 80
height: 14
z index: 900
visible: {is_modal_dfc()}
font:
name: MPlantin
size: 10
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: 10
scale down to: 6
alignment: right middle
meld bar:
left: 377
top: 0
width: 375
height: 523
render style: image
image: meldmask.png
visible: {chosen(styling.other_options, choice:"meld back")}
z index: 1100
promo label:
left: 40
top: { if has_four_abilities() then 225 else 262 }
width: {if chosen(styling.other_options, choice:"prerelease stamps") then 295 else 0}
height: 29
alignment: middle right
z index: 930
font:
name: ModMatrix
size: 14
color: rgb(223,169,41)
promo label 2:
left: 417
top: { if back_four_abilities() then 225 else 262 }
width: {if chosen(styling.other_options, choice:"prerelease stamps") then 295 else 0}
height: 29
alignment: middle right
z index: 930
font:
name: ModMatrix
size: 14
color: rgb(223,169,41)
chapter 1:
left: 14
top: { if chapter1() == "" then 185 else chapter1() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("1")}
visible: {front_saga()}
chapter 2:
left: 14
top: { if chapter2() == "" then 279 else chapter2() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("2")}
visible: {front_saga()}
chapter 3:
left: 14
top: { if chapter3() == "" then 373 else chapter3() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("3")}
visible: {front_saga()}
chapter 4:
left: 14
top: { if chapter4() == "" then 600 else chapter4() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("4")}
visible: {front_saga()}
chapter 5:
left: 14
top: { if chapter5() == "" then 600 else chapter5() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("5")}
visible: {front_saga()}
chapter 6:
left: 14
top: { if chapter6() == "" then 600 else chapter6() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("6")}
visible: {front_saga()}
chapter custom:
left: 14
top: { if chapter_custom() == "" then 600 else chapter_custom() }
width: 30
height: 34
render style: image
z index: 840
image: {custom_chapter_node()}
visible: {front_saga()}
###pulls double duty as saga line and mutate bar to reduce fields
linebreak 1:
left: {if front_class() or front_case() then 188 else if front_mutate() then 28 else 30}
top: {if front_class() or front_case() then lev0() else if front_mutate() then 393 else 154}
width: {if front_mutate() then 317 else 156}
height: {if front_mutate() or front_class() or front_case() then 2 else 3}
render style: image
z index: 820
image: {if front_class() or front_case() then "bar.png" else if front_mutate() then "mutbar.png" else "line.png"}
visible: {a_saga() or front_mutate()}
linebreak 2:
left: {if front_class() or front_case() then 188 else 30}
top: {if front_class() or front_case() then lev2() else if split_12() == "" then 248 else split_12()-1}
width: {if front_class() or front_case() and card.level_2_text == "" then 0 else 156}
height: {if front_class() or front_case() then 25 else 3}
render style: image
z index: 820
image: {if front_case() then "levelline.png" else if front_class() then class_bar() else "line.png"}
visible: {a_saga()}
linebreak 3:
left: {if front_class() then 188 else 30}
top: {if front_class() then lev3() else if split_23() == "" then 342 else split_23()-1}
width: {if front_class() and card.level_3_text == "" then 0 else 156}
height: {if front_class() then 25 else 3}
render style: image
z index: 820
image: {if front_class() then class_bar() else "line.png"}
visible: {three_boxes() or four_boxes() or front_class()}
linebreak 4:
left: {if front_class() then 188 else 30}
top: {if front_class() then lev4() else if split_34() == "" then 600 else split_34()-1}
width: {if front_class() and card.level_4_text == "" then 0 else 156}
z index: 820
render style: image
height: {if front_class() then 25 else 3}
image: {if front_class() then class_bar() else "line.png"}
visible: {four_boxes() or front_class()}
chapter 1b:
left: 391
top: { if chapter1b() == "" then 185 else chapter1b() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("1")}
visible: {back_saga()}
chapter 2b:
left: 391
top: { if chapter2b() == "" then 279 else chapter2b() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("2")}
visible: {back_saga()}
chapter 3b:
left: 391
top: { if chapter3b() == "" then 373 else chapter3b() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("3")}
visible: {back_saga()}
chapter 4b:
left: 391
top: { if chapter4b() == "" then 600 else chapter4b() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("4")}
visible: {back_saga()}
chapter 5b:
left: 391
top: { if chapter5b() == "" then 600 else chapter5b() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("5")}
visible: {back_saga()}
chapter 6b:
left: 391
top: { if chapter6b() == "" then 600 else chapter6b() }
width: 30
height: 34
render style: image
z index: 840
image: {alt_chapters("6")}
visible: {back_saga()}
chapter customb:
left: 391
top: { if chapter_customb() == "" then 600 else chapter_customb() }
width: 30
height: 34
render style: image
z index: 840
image: {custom_chapter_node()}
visible: {back_saga()}
linebreak 1b:
left: {if back_class() or back_case() then 565 else if back_mutate() then 405 else 407}
top: {if back_class() or back_case() then lev0b() else if back_mutate() then 393 else 154}
width: {if back_mutate() then 317 else 156}
height: {if back_mutate() or back_class() or back_case() then 2 else 3}
render style: image
z index: 820
image: {if back_class() or back_case() then "bar.png" else if back_mutate() then "mutbar.png" else "line.png"}
visible: {b_saga() or back_mutate()}
linebreak 2b:
left: {if back_class() or back_case() then 565 else 407}
top: {if back_class() or back_case() then lev2b() else if split_12b() == "" then 248 else split_12b()-1}
width: {if back_class() or back_case() and card.level_6_text == "" then 0 else 156}
height: {if back_class() or back_case() then 25 else 3}
render style: image
z index: 820
image: {if back_case() then "levelline.png" else if back_class() then class_bar() else "line.png"}
visible: {b_saga()}
linebreak 3b:
left: {if back_class() then 565 else 407}
top: {if back_class() then lev3b() else if split_23b() == "" then 342 else split_23b()-1}
width: {if back_class() and card.level_7_text == "" then 0 else 156}
height: {if back_class() then 25 else 3}
render style: image
z index: 820
image: {if back_class() then class_bar() else "line.png"}
visible: {back_three_boxes() or back_four_boxes() or back_class()}
linebreak 4b:
left: {if back_class() then 565 else 407}
top: {if back_class() then lev4b() else if split_34b() == "" then 600 else split_34b()-1}
width: {if back_class() and card.level_8_text == "" then 0 else 156}
height: {if back_class() then 25 else 3}
render style: image
z index: 820
image: {if back_class() then class_bar() else "line.png"}
visible: {back_four_boxes() or back_class()}
silver patch:
left: 10
top: 10
width: 355
height: 15
z index: 495
visible: { not mythic_edition() and front_legend() and card.border_color == rgb(200,200,200)}
silver patch 2:
left: 387
top: 10
width: 355
height: 15
z index: 495
visible: { not mythic_edition() and front_legend() and card.border_color == rgb(200,200,200)}
evobar:
left: { if front_saga() then 188 else if poke_walker() then 40 else if front_map() then 15 else 27}
top: { if mainframe_walker() then 51 else if front_map() then 62 else 57}
width: {card_style.alias.content_width}
height: 27
z index: 880
render style: image
image: /magic-modules.mse-include/extras/evobar/evobar.png
visible: {use_evobar() and not front_skinned()}
evobar tip:
left: {(if poke_walker() then 39.6 else if front_map() then 14.6 else if front_saga() then 187.6 else 26.6) + card_style.alias.content_width}
top: {if mainframe_walker() then 51 else if front_map() then 62 else 57}
width: 36
height: 27
z index: 880
render style: image
image: /magic-modules.mse-include/extras/evobar/evobar_tip.png
visible: {use_evobar() and not front_skinned()}
evobar 2:
left: { if back_saga() then 565 else if back_poke_walker() then 417 else if back_map() then 391 else 404}
top: {if mainframe_walkerb() then 51 else if back_map() then 62 else 57}
width: {card_style.alias_2.content_width}
height: 27
z index: 880
render style: image
image: /magic-modules.mse-include/extras/evobar/evobar.png
visible: {use_evobar() and not back_skinned()}
evobar tip 2:
left: {(if back_poke_walker() then 416.6 else if back_map() then 390.6 else if back_saga() then 564.6 else 403.6) + card_style.alias_2.content_width}
top: {if mainframe_walkerb() then 51 else if back_map() then 62 else 57}
width: 36
height: 27
z index: 880
render style: image
image: /magic-modules.mse-include/extras/evobar/evobar_tip.png
visible: {use_evobar() and not back_skinned()}
evobar start:
left: 31
top: 51
width: 9
height: 27
z index: 880
render style: image
image: /magic-modules.mse-include/extras/evobar/evobar_start.png
mask: /magic-modules.mse-include/extras/evobar/evobar_mask.png
visible: {poke_walker()}
evobar start 2:
left: 408
top: 51
width: 9
height: 27
z index: 880
render style: image
image: /magic-modules.mse-include/extras/evobar/evobar_start.png
mask: /magic-modules.mse-include/extras/evobar/evobar_mask.png
visible: {back_poke_walker()}
lvl label 0:
left: {if box_leveler() then 8 else if loy_leveler() then 48 else 21}
top: {l1_center() - (if loy_leveler() then 2 else 10) + arrow_offset(0)}
width: {if front_leveler() or card.level_0 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0}
height: {if loy_leveler() then 10 else if center_label(0) then 0 else 10}
z index: 860
alignment: middle center
font:
name: {if loy_leveler() then "MPlantin" else "Beleren Small Caps"}
size: {if loy_leveler() then 15 else if length(level_label(0)) < 8 or box_leveler() then 7 else 6}
color: black
weight: {if loy_leveler() then "" else "bold"}
visible: {card.level_0 != ""}
lvl label 1:
left: {if front_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 48 else 21}
top: {if front_class() then lev2()+4 else l2_center() - (if loy_leveler() then 2 else 10) + arrow_offset(1)}
width: {if front_class() and card.level_2_text != "" then 70 else if front_leveler() or card.level_1 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0}
height: {if front_class() then 20 else if loy_leveler() then 10 else if center_label(1) then 0 else 10}
z index: 860
alignment: {if front_class() then "center right" else "center middle"}
font:
name: {if loy_leveler() or front_class() then "MPlantin" else "Beleren Small Caps"}
size: {if front_class() then 11 else if loy_leveler() then 15 else if length(level_label(1)) < 8 or box_leveler() then 7 else 6}
color: black
weight: {if loy_leveler() then "" else "bold"}
visible: {if front_class() then (card.level_2 == "") else card.level_1 != ""}
lvl label 2:
left: {if front_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 48 else 21}
top: {if front_class() then lev3()+4 else l3_center() - (if loy_leveler() then 2 else 10) + arrow_offset(2)}
width: {if front_class() and card.level_3_text != "" then 70 else if front_leveler() or card.level_2 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0}
height: {if front_class() then 20 else if loy_leveler() then 10 else if center_label(2) then 0 else 10}
z index: 860
alignment: {if front_class() then "center right" else "center middle"}
font:
name: {if loy_leveler() or front_class() then "MPlantin" else "Beleren Small Caps"}
size: {if front_class() then 11 else if loy_leveler() then 15 else if length(level_label(2)) < 8 or box_leveler() then 7 else 6}
color: black
weight: {if loy_leveler() then "" else "bold"}
visible: {if front_class() then (card.level_3 == "") else card.level_2 != ""}
lvl label 3:
left: {if front_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 48 else 21}
top: {if front_class() then lev4()+4 else l4_center() - (if loy_leveler() then 2 else 10) + arrow_offset(3)}
width: {if front_class() and card.level_4_text != "" then 70 else if front_class() then 0 else if front_leveler() or card.level_2 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0}
height: {if front_class() then 20 else if loy_leveler() then 10 else if center_label(3) then 0 else 10}
z index: 860
alignment: {if front_class() then "center right" else "center middle"}
font:
name: {if loy_leveler() or front_class() then "MPlantin" else "Beleren Small Caps"}
size: {if front_class() then 11 else if loy_leveler() then 15 else if length(level_label(3)) < 8 or box_leveler() then 7 else 6}
color: black
weight: {if loy_leveler() then "" else "bold"}
visible: {if front_class() then (card.level_4 == "") else card.level_3 != ""}
level 2 overlay:
left: 29
top: { if is_d20() then top_of_para(rolls_start(card.text)) else 329 + lv_2_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)) else lv_2_height()}
width: 314
z index: 640
render style: image
image: {if is_d20() then "/magic-modules.mse-include/levels/d20slice.png" else slice_crop(level_img_1(), height: lv_2_height(), width:314, distance:(152-lv_2_coordinate()))}
visible: {front_leveler() or (is_d20() and number_of_rolls(card.text) > 0)}
level 3 overlay:
left: 29
top: { if is_d20() then top_of_para(rolls_start(card.text)+2) else 329 + lv_3_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)+2) else lv_3_height()}
width: 314
z index: 640
render style: image
image: {if is_d20() then "/magic-modules.mse-include/levels/d20slice.png" else slice_crop(level_img_2(), height: lv_3_height(), width:314, distance:lv_3_height())}
visible: {front_leveler() or (is_d20() and number_of_rolls(card.text) > 2)}
level 4 overlay:
left: 29
top: { if is_d20() then top_of_para(rolls_start(card.text)+4) else 329 + lv_4_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)+4) else lv_4_height()}
width: 314
z index: 640
render style: image
image: {if is_d20() then "/magic-modules.mse-include/levels/d20slice.png" else slice_crop(level_img_3(), height: lv_4_height(), width:314, distance:lv_4_height())}
visible: {front_leveler() or (is_d20() and number_of_rolls(card.text) > 4)}
arrow 1:
z index: 840
left: {arrow_left()}
top: {l1_center() - 16 + arrow_offset(0)}
width: {if card.level_0 != "" then arrow_width() else 0}
height: {arrow_height(0)}
render style: image
image: {if loy_leveler() then loyalty_image_name(card.level_0) else if box_leveler() then card_ptbox() else arrow_img_1()}
arrow 2:
z index: 840
left: {arrow_left()}
top: {l2_center() - 16 + arrow_offset(1)}
width: {if card.level_1 != "" then arrow_width() else 0}
height: {arrow_height(1)}
render style: image
image: {if loy_leveler() then loyalty_image_name(card.level_1) else if box_leveler() then card_ptbox() else arrow_img_1()}
visible: {not front_class()}
arrow 3:
z index: 840
left: {arrow_left()}
top: {l3_center() - 16 + arrow_offset(2)}
width: {if card.level_2 != "" then arrow_width() else 0}
height: {arrow_height(2)}
render style: image
image: {if loy_leveler() then loyalty_image_name(card.level_2) else if box_leveler() then card_ptbox() else arrow_img_2()}
visible: {not front_class()}
arrow 4:
z index: 840
left: {arrow_left()}
top: {l4_center() - 16 + arrow_offset(3)}
width: {if card.level_3 != "" then arrow_width() else 0}
height: {arrow_height(3)}
render style: image
image: {if loy_leveler() then loyalty_image_name(card.level_3) else if box_leveler() then card_ptbox() else arrow_img_3()}
visible: {not front_class()}
lvl label 5:
left: {if box_leveler2() then 385 else if loy_leveler2() then 425 else 398}
top: {l5_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(0)}
width: {if back_leveler() or card.level_5 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0}
height: {if loy_leveler2() then 10 else if center_label2(0) then 0 else 10}
z index: 860
alignment: middle center
font:
name: {if loy_leveler2() then "MPlantin" else "Beleren Small Caps"}
size: {if loy_leveler2() then 15 else if length(level_label(4)) < 8 or box_leveler2() then 7 else 6}
color: black
weight: {if loy_leveler2() then "" else "bold"}
visible: {card.level_5 != ""}
lvl label 6:
left: {if back_class() then 647 else if box_leveler2() then 385 else if loy_leveler2() then 425 else 398}
top: {if back_class() then lev2b()+4 else l6_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(1)}
width: {if back_class() and card.level_6_text != "" then 70 else if back_leveler() or card.level_6 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0}
height: {if back_class() then 20 else if loy_leveler2() then 10 else if center_label2(1) then 0 else 10}
z index: 860
alignment: {if back_class() then "center right" else "center middle"}
font:
name: {if loy_leveler2() or back_class() then "MPlantin" else "Beleren Small Caps"}
size: {if back_class() then 11 else if loy_leveler2() then 15 else if length(level_label(5)) < 8 or box_leveler2() then 7 else 6}
color: black
weight: {if loy_leveler2() then "" else "bold"}
visible: {if back_class() then (card.level_6 == "") else card.level_6 != ""}
lvl label 7:
left: {if back_class() then 647 else if box_leveler2() then 385 else if loy_leveler2() then 425 else 398}
top: {if back_class() then lev3b()+4 else l7_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(2)}
width: {if back_class() and card.level_7_text != "" then 70 else if back_leveler() or card.level_7 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0}
height: {if back_class() then 20 else if loy_leveler2() then 10 else if center_label2(2) then 0 else 10}
z index: 860
alignment: {if back_class() then "center right" else "center middle"}
font:
name: {if loy_leveler2() or back_class() then "MPlantin" else "Beleren Small Caps"}
size: {if back_class() then 11 else if loy_leveler2() then 15 else if length(level_label(6)) < 8 or box_leveler2() then 7 else 6}
color: black
weight: {if loy_leveler2() then "" else "bold"}
visible: {if back_class() then (card.level_7 == "") else card.level_7 != ""}
lvl label 8:
left: {if back_class() then 647 else if box_leveler2() then 385 else if loy_leveler2() then 425 else 398}
top: {if back_class() then lev4b()+4 else l8_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(3)}
width: {if back_class() and card.level_8_text != "" then 70 else if back_leveler() or card.level_8 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0}
height: {if back_class() then 20 else if loy_leveler2() then 10 else if center_label2(3) then 0 else 10}
z index: 860
alignment: {if back_class() then "center right" else "center middle"}
font:
name: {if loy_leveler2() or back_class() then "MPlantin" else "Beleren Small Caps"}
size: {if back_class() then 11 else if loy_leveler2() then 15 else if length(level_label(7)) < 8 or box_leveler2() then 7 else 6}
color: black
weight: {if loy_leveler2() then "" else "bold"}
visible: {if back_class() then (card.level_8 == "") else card.level_8 != ""}
level 6 overlay:
left: 406
top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)) else 329 + lv_6_coordinate()}
height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)) else lv_6_height()}
width: 314
z index: 640
render style: image
image: {if back_d20() then "/magic-modules.mse-include/levels/d20slice.png" else slice_crop(level_img_4(), height: lv_6_height(), width:314, distance:(152-lv_6_coordinate()))}
visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 0)}
level 7 overlay:
left: 406
top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)+2) else 329 + lv_7_coordinate()}
height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)+2) else lv_7_height()}
width: 314
z index: 640
render style: image
image: {if back_d20() then "/magic-modules.mse-include/levels/d20slice.png" else slice_crop(level_img_5(), height: lv_7_height(), width:314, distance:lv_7_height())}
visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 2)}
level 8 overlay:
left: 406
top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)+4) else 329 + lv_8_coordinate()}
height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)+4) else lv_8_height()}
width: 314
z index: 640
render style: image
image: {if back_d20() then "/magic-modules.mse-include/levels/d20slice.png" else slice_crop(level_img_6(), height: lv_8_height(), width:314, distance:lv_8_height())}
visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 4)}
arrow 5:
z index: 840
left: {arrow_left2()}
top: {l5_center() - 16 + arrow_offset2(0)}
width: {if card.level_5 != "" then arrow_width2() else 0}
height: {arrow_height2(0)}
render style: image
image: {if loy_leveler2() then loyalty_image_name(card.level_5) else if box_leveler2() then card_ptbox() else arrow_img_1()}
arrow 6:
z index: 840
left: {arrow_left2()}
top: {l6_center() - 16 + arrow_offset2(1)}
width: {if card.level_6 != "" then arrow_width2() else 0}
height: {arrow_height2(1)}
render style: image
image: {if loy_leveler2() then loyalty_image_name(card.level_6) else if box_leveler2() then card_ptbox() else arrow_img_1()}
visible: {not back_class()}
arrow 7:
z index: 840
left: {arrow_left2()}
top: {l7_center() - 16 + arrow_offset2(2)}
width: {if card.level_7 != "" then arrow_width2() else 0}
height: {arrow_height2(2)}
render style: image
image: {if loy_leveler2() then loyalty_image_name(card.level_7) else if box_leveler2() then card_ptbox() else arrow_img_2()}
visible: {not back_class()}
arrow 8:
z index: 840
left: {arrow_left2()}
top: {l8_center() - 16 + arrow_offset2(3)}
width: {if card.level_8 != "" then arrow_width2() else 0}
height: {arrow_height2(3)}
render style: image
image: {if loy_leveler2() then loyalty_image_name(card.level_8) else if box_leveler2() then card_ptbox() else arrow_img_3()}
visible: {not back_class()}
bookmark:
left: 15
top: 60
width: 27
height: 372
render style: image
image: {bookmark_background()}
z index: 830
visible: {front_saga()}
bookmark 2:
left: 392
top: 60
width: 27
height: 372
render style: image
image: {bookmark_background()}
z index: 830
visible: {back_saga()}
class paper:
left: 186
top: 58
width: 160
height: 380
render style: image
image: /magic-modules.mse-include/cards/375 m15 saga/paper.png
z index: 620
visible: {front_class() or front_case()}
class paper 2:
left: 563
top: 58
width: 160
height: 380
render style: image
image: /magic-modules.mse-include/cards/375 m15 saga/paper.png
z index: 620
visible: {back_class() or back_case()}
stripe:
left: 15
top: 60
width: 27
height: 372
render style: image
image: bookmarks/stripe.png
z index: 835
visible: {length(write_wubrg(card.card_color))==2 and front_saga()}
stripe 2:
left: 392
top: 60
width: 27
height: 372
render style: image
image: bookmarks/stripe.png
z index: 835
visible: {length(write_wubrg(card.card_color_2))==2 and back_saga()}
alias bar:
left: 34
top: {if front_normal() then 55 else if mythic_edition() then 47 else 49}
width: 307
height: 24
z index: 880
render style: image
image: {if front_clear() then "alias/" + (if mainframe_walker() then "walker" else "normal") + "/xalias.png" else module_alias()}
visible: {front_skinned() and not use_evobar()}
alias bar 2:
left: 411
top: {if back_normal() then 55 else if mythic_edition() then 47 else 49}
width: 307
height: 24
z index: 880
render style: image
image: {if back_clear() then "alias/" + (if mainframe_walkerb() then "walker" else "normal") + "/xalias.png" else module_alias2()}
visible: {front_skinned() and not use_evobar()}
vorthos box:
right: { if mainframe_walker() then 275 else if front_leveler() and not lone_pt() then 350 else if card.pt != "" then 275 else 350 }
top: {if mainframe_walker() then 488 else if card.pt == "" and shown_cr() then 500 else 488}
left: 210
height: {if use_vorthos() then 10 else 0}
z index: 900
alignment: middle right
font:
name: Relay-Medium
size: 7
color: white
weight: bold
vorthos box 2:
right: { if mainframe_walkerb() then 652 else if back_leveler() and not lone_pt() then 727 else if card.pt_2 != "" then 652 else 727 }
top: {if mainframe_walkerb() then 488 else if card.pt_2 == "" and shown_cr() then 500 else 488}
left: 587
height: {if use_vorthos() then 10 else 0}
z index: 900
alignment: middle right
font:
name: Relay-Medium
size: 7
color: white
weight: bold
pride pin:
left: {if mainframe_walker() then 19 else if front_legend() then 18 else 24}
top: {if mainframe_walker() then 51 else 58}
width: {if not is_pinned() then 0 else if mainframe_walker() then 337 else if front_legend() then 338 else 325}
height: {if not is_pinned() then 0 else if has_four_abilities() then 205 else if mainframe_walker() then 240 else 234}
z index: 420
render style: image
popup style: in place
mask: {"/magic-pride.mse-include/masks/" + if has_four_abilities() then "4planeswalker.png" else if mainframe_walker() then "planeswalker.png" else if front_legend() then "m15 legend.png" else "m15.png"}
image: {pin_image()}
pride pin 2:
left: {377+if mainframe_walkerb() then 19 else if back_legend() then 18 else 24}
top: {if mainframe_walkerb() then 51 else 58}
width: {if not is_pinned() then 0 else if mainframe_walkerb() then 337 else if back_legend() then 338 else 325}
height: {if not is_pinned() then 0 else if back_four_abilities() then 205 else if mainframe_walkerb() then 240 else 234}
z index: 420
render style: image
popup style: in place
mask: {"/magic-pride.mse-include/masks/" + if back_four_abilities() then "4planeswalker.png" else if mainframe_walkerb() then "planeswalker.png" else if back_legend() then "m15 legend.png" else "m15.png"}
image: {pin_image()}
crown:
left: 0
top: 0
width: 375
height: 523
render style: image
image: {if front_clear() then template_prefix["crown"] + "xcrown.png" else module_crown()}
z index: 840
visible: {front_legend()}
mask: { if is_curtains() then "frame_masks/curtainmask.png" else "frame_masks/crownnodemask" + (if contains(card.transformation, match:"modal") then "_modal" else "") + ".png"}
crown 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: {if back_clear() then template_prefix["crown"] + "xcrown.png" else module_crown()}
z index: 840
visible: {back_legend()}
mask: { if is_curtains() then "frame_masks/curtainmask.png" else "frame_masks/crownnodemask" + (if contains(card.transformation_2, match:"modal") then "_modal" else "") + ".png"}
stamp backing:
left: { 159 }
top: { stamp_top(1) }
width: { 56 }
height: { 26 }
z index: 850
visible: { card.card_stamp != "none" }
render style: image
image: { if stamp_shape() == "triangle" then tri_stamp() else round_stamp() }
mask: {if mythic_edition() and mainframe_walker() and card.card_stamp != "none" then "/magic-modules.mse-include/stamps/backs/375 " + (if stamp_shape() == "triangle" then "ub/pw/" else "round outlined/") + "border_mask.png" else ""}
stamp backing 2:
left: { 536 }
top: { stamp_top(2) }
width: { 56 }
height: { 26 }
z index: 850
visible: { card.card_stamp_2 != "none" }
render style: image
image: { if stamp_shape(field:2) == "triangle" then tri_stamp2() else round_stamp2() }
mask: {if mythic_edition() and mainframe_walkerb() and card.card_stamp_2 != "none" then "/magic-modules.mse-include/stamps/backs/375 " + (if stamp_shape(field:2) == "triangle" then "ub/pw/" else "round outlined/") + "border_mask.png" else if mainframe_walkerb() and not chosen(styling.other_options, choice:"normal back face") and stamp_shape(field:2) == "triangle" then "walker_back_ub_mask.png" else ""}
art mirror:
left: 0
top: 0
width: 375
height: {if mythic_edition() and mainframe_walker() and card.card_stamp != "none" then 523 else 0}
render style: image
z index: 800
image: {card.image}
mask: { "image_masks/mythic_stamp_" + stamp_shape() + ".png"}
art mirror 2:
left: 377
top: 0
width: 375
height: {if mythic_edition() and mainframe_walkerb() and card.card_stamp_2 != "none" then 523 else 0}
render style: image
z index: 800
image: {card.image_2}
mask: { "image_masks/mythic_stamp_" + stamp_shape(field:2) + ".png"}
border mirror:
left: 0
top: 0
width: 375
height: {if mythic_edition() and mainframe_walker() and card.card_stamp != "none" then 523 else 0}
z index: 800
mask: { "frame_masks/mythic_stamp_" + stamp_shape() + ".png"}
border mirror 2:
left: 377
top: 0
width: 375
height: {if mythic_edition() and mainframe_walkerb() and card.card_stamp_2 != "none" then 523 else 0}
z index: 800
mask: { "frame_masks/mythic_stamp_" + stamp_shape(field:2) + ".png"}