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: 060 version: 2018-06-19 depends on: package: magic.mse-game version: 2014-06-25 depends on: package: magic-watermarks.mse-include version: 2007-09-23 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-identity-new.mse-include version: 2012-01-22 depends on: package: magic-mainframe-extras.mse-include version: 2017-05-05 depends on: package: magic-default-image.mse-include version: 2007-09-23 card width: 752 card height: 523 card dpi: 150 ############################################################## Extra scripts init script: # Load scripts for image box include file: /magic-default-image.mse-include/scripts # Should hybrids have a grey name? mask_hybrid_with_land := { styling.grey_hybrid_name } template_prefix := [card: "normal/" card2: "normal/" card3: "planeswalker/" card4: "planeswalker/" card5: "planeswalker/" card6: "planeswalker/" nyx: "nyx/" miracle: "miracles/" miracle2: "miracles/" legend: "legend/" legend2: "legend/" curtain: "curtains/" cb: "" cb2: "" map: "maps/" mappt: "maps/" pt: "normal/" pt2: "normal/" saga:"saga/" stamp2: "normal/" stamp: "" identity: "/magic-identity-new.mse-include/" identity2: "/magic-identity-new.mse-include/"] template_suffix := [card: "card.jpg" card2: "card2.jpg" card3: "card.jpg" card4: "card2.jpg" card5: "card3.jpg" card6: "card4.jpg" nyx: "nyx.png" miracle: "miracle.png" miracle2: "miracle2.png" legend: "crown.png" legend2: "crown.png" curtain: "card.png" cb: "cb.png" cb2: "cb.png" map: "card.png" mappt: "pt.png" saga:"card.jpg", stamp: "stamp.jpg" stamp2: "stamp.jpg" pt: "pt.png" pt2: "pt2.png" identity: "identity.png" identity2: "identity.png"] template := { crown_lead(type) + template_prefix[type] + input + crown_follow(type) + template_suffix[type] } land_template := { crown_lead(type) + template_prefix[type] + (if input == "a" then "c" else input) + crown_follow(type) + (if landless(type) then "" else "l") + template_suffix[type] } landless := {if input == "nyx" or input == "comcrown" or input == "cons" or input == "arrow" or input == "arrow2" or input == "arrow3" or input == "slide" or input == "slide2" or input == "crown" or input == "nyxcrown" then true else false} # Use land templates for previews because they show more contrast hybrid_previews := "land,hybrid" crown_lead := { if input != "legend" and input != "legend2" then "" else if (styling.legend_crown == "custom" and styling.custom_crown_location != "") then "/magic-mainframe-extras.mse-include/" + styling.custom_crown_location else "" } crown_follow := { if input != "legend" and input != "legend2" then "" else if styling.legend_crown == "nyx" or (check_nyx(input) and contains(styling.other_options, match:"auto nyx")) then "nyx" else if styling.legend_crown == "companion" then "com" else "" } check_nyx := { if input == "legend" and is_nyx() then true else if input == "legend2" and back_nyx() then true else false } # The normal backface card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) } # The planeswalker front face card_background3 := { color_background(type:"card3", base_hybrid:card_hybrid) } # The planeswalker backface card_background4 := { color_background(type:"card4", base_hybrid:card_hybrid) } # The 4walker front face card_background5 := { color_background(type:"card5", base_hybrid:card_hybrid) } # The 4walker backface card_background6 := { color_background(type:"card6", base_hybrid:card_hybrid) } # The nyx frontface nyx_background := { color_background(type:"nyx", base_hybrid:card_hybrid) } # The miracle frontface miracle_background := { color_background(type:"miracle", base_hybrid:card_hybrid) } # The miracle backface miracle_background2 := { color_background(type:"miracle2", base_hybrid:card_hybrid) } # The legend frontface legend_background := { color_background(type:"legend", base_hybrid:card_hybrid) } # The legend backface legend_background2 := { color_background(type:"legend2", base_hybrid:card_hybrid) } # The front map face map_background := { color_background(type:"map", base_hybrid:card_hybrid) } # The second map face map_background2 := { color_background(type:"map", base_hybrid:card_hybrid) } saga_background := { color_background(type:"saga", base_hybrid:card_hybrid) } # pt scripts card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) } card_mapbox := { color_background(type:"mappt", base_hybrid:pt_hybrid) } card_mapbox2 := { color_background(type:"mappt", base_hybrid:pt_hybrid) } # doublecast flag scripts card_cb2 := { color_background(type:"cb2", base_hybrid:card_hybrid) } card_cb := { color_background(type:"cb", base_hybrid:card_hybrid) } curtain_background := { color_background(type:"curtain", base_hybrid: card_hybrid)} # Use the normal tap symbol mana_t := { if styling.tap_symbol == "old" then "old" else if styling.tap_symbol == "diagonal T" then "older" else "new" } # Use guild mana symbols? guild_mana := { styling.use_guild_mana_symbols } # Loyalty cost arrows loyalty_image := { if contains(input, match: "+") then "loyalty up" else if contains(input, match: "-") then "loyalty down" else "loyalty naught" } card_shape := {"double faced"} # Is the card a promo card? is_promo := { contains(styling.other_options, match:"promo") } is_full := { contains(styling.other_options, match:"mythic edition") and not is_map() and not back_map()} is_puma := { contains(styling.other_options, match:"puma") and not is_plwalker() and not is_map() and not front_clear()} back_puma := { contains(styling.other_options, match:"puma") and not back_walker() and not back_map() and not back_clear()} is_plwalker := {contains(styling.front_style, match:"planeswalker")} back_walker := {contains(styling.back_style, match:"planeswalker")} comma_count := filter_text@(match:",") paragraph_count := replace@(match:"\n", replace:"")+ filter_text@(match:"\n") # Front Face has_four_abilities := { styling.front_style == "4 ability planeswalker" or stagger_levels()} has_two_abilities := { styling.front_style == "2 ability planeswalker" } is_normal := { not contains(styling.front_style, match:"planeswalker") } has_three_abilities := {styling.front_style == "3 ability planeswalker" } is_stamped := { is_rare() and contains(styling.other_options, match:"use holofoil stamps") } is_normal_size := { not contains(styling.other_options, match:"wider planeswalker image") } lv_chop := { pull_comma_array(input, cell:cell, end:0, default:0)} loyal_move := { pull_comma_array(input, cell:cell, end:0, default:0)} # Back Face back_four_abilities := { styling.back_style == "4 ability planeswalker" or stagger_levels2()} back_two_abilities := { styling.back_style == "2 ability planeswalker" } back_normal := { not contains(styling.back_style, match:"planeswalker") } back_three_abilities := {styling.back_style == "3 ability planeswalker" } bottom_of_walker_textbox := { if heavy_levels() then stripe30()+10-lv_chop(styling.level_1_chop, cell:1) else if has_four_abilities() then stripe31()+10-lv_chop(styling.level_1_chop, cell:1) else if has_two_abilities() then 11+stripe01()-lv_chop(styling.level_1_chop, cell:1) else if has_three_abilities() then stripe12()+10-lv_chop(styling.level_1_chop, cell:1) else 481 } bottom_of_walker_textbox_2 := { if heavy_levels2() then stripe30b()+10-lv_chop(styling.level_5_chop, cell:1) else if back_four_abilities() then stripe31b()+10-lv_chop(styling.level_5_chop, cell:1) else if back_two_abilities() then 11+stripe01b()-lv_chop(styling.level_5_chop, cell:1) else if back_three_abilities() then stripe12b()+10-lv_chop(styling.level_5_chop, cell:1) else 481 } top_of_textbox := {if is_normal() then (if is_map() then 340 else if is_mutate() then 395 else 327)-lv_chop(styling.level_1_chop, cell:0)} bottom_of_textbox := {if is_normal() then (if is_map() then 475 else 481)-lv_chop(styling.level_1_chop, cell:1) else 0} top_of_textbox2 := {if back_normal() then (if back_map() then 340 else if back_mutate() then 394 else 327)-lv_chop(styling.level_5_chop, cell:0)} bottom_of_textbox2 := {if back_normal() then (if back_map() then 475 else 481)-lv_chop(styling.level_5_chop, cell:1) else 0} mask_script := { if contains(styling.custom_mask, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_mask else if is_full() and is_normal() and not is_saga() and not is_map() then "normal_mythic_mask.png" else if front_clear() then "imagemask_clear.png" else if is_mutate() then "mutate_mask.png" else if not is_plwalker() then "" else if is_full() and has_four_abilities() and is_stamped() then "4tress_imagemask_rare_level.png" else if is_full() and has_four_abilities() then "4tress_imagemask_level.png" else if is_full() and has_four_abilities() and is_stamped() then "4tress_imagemask_rare.png" else if is_full() and has_four_abilities() then "4tress_imagemask.png" else if is_full() and is_stamped() then "fortress_imagemask_rare_level.png" else if is_full() and is_stamped() then "fortress_imagemask_rare.png" else if is_full() then "fortress_imagemask_level.png" else if is_full() then "fortress_imagemask.png" else "imagemask" + ( if has_two_abilities() and not has_four_abilities() then "_2abil" else "" ) + ( if has_four_abilities() then "_4abil" else "" ) + ( if is_normal_size() then "" else "_wide" ) + "_level" + ".png" } back_mask_script := { if contains(styling.custom_mask_2, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_mask else if is_full() and back_normal() and not back_saga() and not back_map() then "normal_mythic_mask.png" else if back_clear() then "imagemask_clear.png" else if back_mutate() then "mutate_mask.png" else if not back_walker() then "" else if is_full() and back_four_abilities() then "4tress_imagemask_level_back.png" else if is_full() and back_four_abilities() then "4tress_imagemask_back.png" else if is_full() then "fortress_imagemask_level_back.png" else if is_full() then "fortress_imagemask_back.png" else "imagemask" + ( if back_two_abilities() and not back_four_abilities() then "_2abil" else "" ) + ( if back_four_abilities() then "_4abil" else "" ) + ( if is_normal_size() then "" else "_wide" ) + "_level" + ".png" } text_size := { 14 -(if styling.front_font_cap == "" then 0 else if contains(styling.front_font_cap, match: ".5") then to_int(split_text(match:".5", styling.separated_text_size).0) else styling.front_font_cap) } text_size2 := { 14 -(if styling.back_font_cap == "" then 0 else if contains(styling.back_font_cap, match: ".5") then to_int(split_text(match:".5", styling.separated_text_size).0) else styling.back_font_cap) } stripe01 := { 345 + min(pull_comma_array(styling.stripe_coordinate, cell: 0, default:48),105)} stripe12 := { 345 + min(pull_comma_array(styling.stripe_coordinate, cell: 0, default:27),stripe23()-365)} stripe23 := { 345 + min(pull_comma_array(styling.stripe_coordinate, cell: 1, default:80),95)} stripe30 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: 0, default:(if heavy_levels() then 25 else 0)),stripe31()-329)} stripe31 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: (if heavy_levels() then 1 else 0), default:(if stagger_levels() then 50 else 21)),stripe32()-329)} stripe32 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: (if heavy_levels() then 2 else 1), default:(if stagger_levels() then 100 else 69)),stripe33()-329)} stripe33 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: 2, default:(if stagger_levels() then 150 else 119)),151)} stripe01b := { 345 + min(pull_comma_array(styling.back_stripe_coordinate, cell: 0, default:48),105)} stripe12b := { 345 + min(pull_comma_array(styling.back_stripe_coordinate, cell: 0, default:27),stripe23b()-365)} stripe23b := { 345 + min(pull_comma_array(styling.back_stripe_coordinate, cell: 1, default:80),95)} stripe30b := { 309 + min(pull_comma_array(styling.back_stripe_coordinate, cell: 0, default:(if heavy_levels2() then 25 else 21)),stripe32b()-329)} stripe31b := { 309 + min(pull_comma_array(styling.back_stripe_coordinate, cell: (if heavy_levels2() then 1 else 0), default:(if stagger_levels2() then 50 else 21)),stripe32b()-329)} stripe32b := { 309 + min(pull_comma_array(styling.back_stripe_coordinate, cell: (if heavy_levels2() then 2 else 1), default:(if stagger_levels2() then 100 else 69)),stripe33b()-329)} stripe33b := { 309 + min(pull_comma_array(styling.back_stripe_coordinate, cell: 2, default:(if stagger_levels2() then 150 else 119)),151)} stagger_levels := {heavy_levels() or styling.front_style == "3 ability tall planeswalker"} stagger_levels2 := {heavy_levels2() or styling.back_style == "3 ability tall planeswalker"} heavy_levels := {styling.front_style == "double passive planeswalker"} heavy_levels2 := {styling.back_style == "double passive planeswalker"} has_identity := { contains(styling.other_options, match:"front color indicator")} has_identity2 := { contains(styling.other_options, match:"back color indicator")} is_unsorted := {contains(styling.other_options, match:"remove from autocount")} front_clear := {contains(styling.other_options, match:"clear front")} back_clear := {contains(styling.other_options, match:"clear back")} two_clear := {has_two_abilities() and not has_two_abilities() and front_clear()} two_back_clear := {has_two_abilities() and not back_two_abilities() and back_clear()} use_full_art := {"false"} is_miracle := {styling.front_style == "miracle"} is_nyx := {styling.front_style == "nyx" or styling.front_style == "nyx vehicle"} is_vehicle := {styling.front_style == "vehicle" or styling.front_style == "nyx vehicle"} is_map := {styling.front_style == "map"} is_saga := {two_boxes() or three_boxes() or four_boxes()} back_miracle := {styling.back_style == "miracle"} back_nyx := {styling.back_style == "nyx" or styling.back_style == "nyx vehicle"} back_vehicle := {styling.back_style == "vehicle" or styling.back_style == "nyx vehicle"} back_map := {styling.back_style == "map"} back_saga := {back_two_boxes() or back_three_boxes() or back_four_boxes()} is_legend := {is_normal() and not is_map() and (contains(styling.other_options, match:"legendary front") or (contains(card.super_type, match:"Legendary") and set.auto_legends)) } back_legend := {back_normal() and not back_map() and (contains(styling.other_options, match: "legendary back") or (contains(card.super_type_2, match: "Legendary") and set.auto_legends))} is_curtains := {contains(card.notes, match:"!curtain")} is_mutate := {contains(styling.other_options, match:"front mutate") and is_normal() and not is_full() and not is_saga() and not is_map() and not front_clear()} back_mutate := {contains(styling.other_options, match:"back mutate") and back_normal() and not is_full() and not back_saga() and not back_map() and not back_clear()} poke_walker := {is_plwalker() and not is_full() and use_evobar()} back_poke_walker := {back_walker() and not is_full() and use_evobar()} is_leveler := {styling.front_style == "leveler"} back_leveler := {styling.back_style == "leveler"} is_skinned := {contains(styling.other_options, match:"godzilla style alias")} use_evobar := {contains(styling.other_options, match: "pokemon evobar") and not is_skinned()} opacity := {pull_comma_array(styling.opacity, cell:input, end:false, default:50)} ##### 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)))} chapter1 := { to_number(pull_comma_array(styling.move_loyalty_costs, cell:0, end:true, default:(if two_boxes() then 183 else 185))) } chapter2 := { to_number(pull_comma_array(styling.move_loyalty_costs, cell:1, end:true, default:(if two_boxes() then 223 else 279))) } chapter3 := { to_number(pull_comma_array(styling.move_loyalty_costs, cell:2, end:true, default:(if two_boxes() then 329 else 373))) } chapter4 := { to_number(pull_comma_array(styling.move_loyalty_costs, cell:3, end:true, default:600)) } chapter5 := { to_number(pull_comma_array(styling.move_loyalty_costs, cell:4, end:true, default:600)) } chapter6 := { to_number(pull_comma_array(styling.move_loyalty_costs, cell:5, end:true, default:600)) } chapter1b := { to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:0, end:true, default:(if back_two_boxes() then 183 else 185))) } chapter2b := { to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:1, end:true, default:(if back_two_boxes() then 223 else 279))) } chapter3b := { to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:2, end:true, default:(if back_two_boxes() then 329 else 373))) } chapter4b := { to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:3, end:true, default:600)) } chapter5b := { to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:4, end:true, default:600)) } chapter6b := { to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:5, end:true, default:600)) } chapter_custom := { to_number(pull_comma_array(styling.custom_chapter_coordinate, cell:0, end:false, default:600)) } chapter_customb := { to_number(pull_comma_array(styling.custom_chapter_coordinate, cell:1, 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 or else "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"} build_array := { if input +17 >= (if split_34() != "" then split_34() else 600) then 4 else if 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 } level_leader := { (if build_array((if chapter1() != "" then chapter1() else 185)) == input then "I, ") +(if build_array((if chapter2() != "" then chapter2() else 279)) == input then "II, ") +(if build_array((if chapter3() != "" then chapter3() else 373)) == input then "III, ") +(if build_array((if chapter4() != "" then chapter4() else 600)) == input then "IV, ") +(if build_array((if chapter5() != "" then chapter5() else 600)) == input then "V, ") +(if build_array((if chapter6() != "" then chapter6() else 600)) == input then "VI, ") +(if build_array((if chapter_custom() != "" then chapter_custom() else 600)) == input then custom_name() + ", ") } build_array2 := { if input +17 >= (if split_34b() != "" then split_34b() else 600) then 4 else if 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 } level_leader2 := { (if build_array((if chapter1b() != "" then chapter1b() else 185)) == input then "I, ") +(if build_array((if chapter2b() != "" then chapter2b() else 279)) == input then "II, ") +(if build_array((if chapter3b() != "" then chapter3b() else 373)) == input then "III, ") +(if build_array((if chapter4b() != "" then chapter4b() else 600)) == input then "IV, ") +(if build_array((if chapter5b() != "" then chapter5b() else 600)) == input then "V, ") +(if build_array((if chapter6b() != "" then chapter6b() else 600)) == input then "VI, ") +(if build_array((if chapter_customb() != "" then chapter_customb() else 600)) == input then custom_name() + ", ") } end_leader := replace@(match:", $", replace:" — ") ##### mainframe stuff 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 := {contains(styling.other_options, match: "use doublecast flags") } use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")} un_png := replace@(match:".png", replace: "") ancestral_mana := { contains(styling.other_options, match:"ancestral generic")} unindent := { if contains(styling.other_options, match:"unindent nonloyalty abilities") and input == "" then -14 else 0} ###### flavor bar stuff bar_offset := {if styling_offset() == "-" then 0 else if styling_offset() != "" then -styling_offset() else 0} styling_offset := { replace(styling.flavor_bar_offset, match:"(u|d)+", replace: "") } offset_lines := {offset_counter(styling.flavor_bar_offset)} ##### backface bar bar_offset2 := {if styling_offset2() == "-" then 0 else if styling_offset2() != "" then -styling_offset2() else 0} styling_offset2 := { replace(styling.flavor_bar_offset_2, match:"(u|d)+", replace: "") } offset_lines2 := {offset_counter(styling.flavor_bar_offset_2)} special_text := { if styling.front_style == "saga" then ( card.rule_text +(if card.level_1_text != "" then "\n" + end_leader(level_leader(1)) + card.level_1_text) +(if card.level_2_text != "" then "\n" + end_leader(level_leader(2)) + card.level_2_text) +(if card.level_3_text != "" then "\n" + end_leader(level_leader(3)) + card.level_3_text) +(if card.level_4_text != "" then "\n" + end_leader(level_leader(4)) + card.level_4_text) ) else if is_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 + "]: ") +(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 + "]" + ": ") +(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") + ( if card.loyalty_cost_3 != "" then "[" + card.loyalty_cost_3 + "]" + ": ") +(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) + (if has_four_abilities() then "\n") + ( if card.loyalty_cost_4 != "" then "[" + card.loyalty_cost_4 + "]" + ": ") +(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) } special_text2 := { if styling.back_style == "saga" then ( card.rule_text +(if card.level_5_text != "" then "\n" + end_leader(level_leader2(1)) + card.level_5_text) +(if card.level_6_text != "" then "\n" + end_leader(level_leader2(2)) + card.level_6_text) +(if card.level_7_text != "" then "\n" + end_leader(level_leader2(3)) + card.level_7_text) +(if card.level_8_text != "" then "\n" + end_leader(level_leader2(4)) + card.level_8_text) ) 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 + "]: ") +(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 + "]" + ": ") +(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") + ( if card.loyalty_cost_7 != "" then "[" + card.loyalty_cost_7 + "]" + ": ") +(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) + (if back_four_abilities() then "\n") + ( if card.loyalty_cost_8 != "" then "[" + card.loyalty_cost_8 + "]" + ": ") +(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) } back_face := replace@(match:"a", replace:"b") is_bumped := {not is_plwalker() and (card.loyalty_cost_1 != "" or card.loyalty_cost_2 != "" or card.loyalty_cost_3 != "" or card.loyalty_cost_4 != "")} back_bumped := {not back_walker() and (card.loyalty_cost_5 != "" or card.loyalty_cost_6 != "" or card.loyalty_cost_7 != "" or card.loyalty_cost_8 != "")} ############################################################## 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: front style choice: normal choice: 3 ability planeswalker choice: 4 ability planeswalker choice: 2 ability planeswalker choice: 3 ability tall planeswalker choice: double passive planeswalker choice: 2 box saga choice: 3 box saga choice: 4 box saga choice: leveler choice: miracle choice: nyx choice: vehicle choice: nyx vehicle 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," 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: 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: 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: flavor bar offset description: Move the flavor bar down X pixels. Use negative to move up. styling field: type: choice name: back style choice: normal choice: 3 ability planeswalker choice: 4 ability planeswalker choice: 2 ability planeswalker choice: 3 ability tall planeswalker choice: double passive planeswalker choice: 2 box saga choice: 3 box saga choice: 4 box saga choice: leveler choice: miracle choice: nyx choice: vehicle choice: nyx vehicle 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: 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: 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: text name: flavor bar offset 2 description: Move the backface flavor bar down X pixels. Use negative to move up. styling field: type: text name: opacity description: set opacity for planeswalkers, from 0 to 255. Formatted as Front,Back, 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 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: multiple choice name: other options description: Additional options choice: normal back face choice: promo choice: mythic edition choice: prerelease stamps choice: remove from autocount choice: use hovering pt choice: use hovering loyalty choice: use holofoil stamps choice: use doublecast flags choice: center front choice: center back choice: center first name choice: center second name choice: clear front choice: clear back choice: legendary front choice: legendary back choice: meld back choice: front color indicator choice: back color indicator choice: front mutate choice: back mutate choice: wider planeswalker images choice: ancestral generic mana choice: unindent nonloyalty abilities choice: auto nyx crowns choice: godzilla style alias choice: pokemon evobar initial: use hovering pt, use holofoil stamps, back color indicator, unindent nonloyalty abilities, auto nyx crowns styling field: type: choice name: legend crown choice: standard choice: nyx choice: companion choice: custom description: The type of legend crown to use for this card. styling field: type: text name: custom crown location description: location of custom legend crown images in magic-mainframe-extras styling field: type: text name: custom chapter location description: The location of the custom chapter symbol inside magic-mainframe-extras 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: 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: 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 card style: ############################# Background stuff border color: left: 0 top : 0 width: { if is_full() then 0 else 752} height: {if is_full() then 0 else 523} radius: 18 left width: 17 right width: 17 top width: 17 bottom width: 18 z index: 4 mask: {"border_mask_" + (if is_legend() then "l" else "n") + (if back_legend() then "l" else "n") + (if card.border_color == rgb(200,200,200) then "_silver") + ".png"} card color: left: 0 top: 0 width: 375 height: 523 z index: 0 render style: image popup style: in place image: { if front_clear() or is_map() then "" else if is_saga() then saga_background() else if is_normal() then card_background() else if has_four_abilities() then card_background5() else card_background3() } card color 2: left: 377 top: 0 width: 375 height: 523 z index: 0 render style: image popup style: in place image: { if back_clear() or back_map() then "" else if back_saga() then saga_background() else if back_normal() and contains(styling.other_options, match:"normal back face") then card_background() else if back_normal() then card_background2() else if back_four_abilities() and contains(styling.other_options, match:"normal back face") then card_background5() else if back_four_abilities() then card_background6() else if contains(styling.other_options, match:"normal back face") then card_background3() else card_background4() } ############################# Name line name: left: { if is_map() then 65 else if is_normal() then 58 else 60 } top: { if is_map() then 27 else if is_normal() then 30 else if front_clear() then 22 else 23 } right: { (if is_map() then 344 else 339) - card_style.casting_cost.content_width } height: {23 - (0.5 * shrink_name())} alignment: { if contains(styling.other_options, match:"center first") then "bottom center" else "bottom shrink-overflow"} padding bottom: 0 z index: 3 font: name: { if is_map() then "Beleren Small Caps" else "Beleren Bold"} size: { if is_map() then 14.8 - shrink_name() else 16 - shrink_name() } color: black name 2: left: { if back_map() then 442 else if back_normal() then 437 else 435 } top: { if back_map() then 27 else if back_normal() then 30 else if back_clear() then 22 else 23 } right: { (if back_map() then 719 else 714) - card_style.casting_cost_2.content_width } height: {23 - (0.5 * shrink_name2())} alignment: { if contains(styling.other_options, match:"center second") then "bottom center" else "bottom shrink-overflow"} padding bottom: 0 z index: 3 font: name: { if back_map() then "Beleren Small Caps" else "Beleren Bold"} size: { if back_map() then 14.8 - shrink_name2() else 16 - shrink_name2()} color: { if contains(styling.other_options, match:"normal back face") or back_map() or back_clear() or back_saga() then "black" else "white" } casting cost: right: 347 top: { if is_normal() then 29 else 22 } 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: 4 padding top: 0 casting cost 2: right: 722 top: { if back_normal() then 29 else 22 } 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: 4 padding top: 0 card symbol: left: {if card.card_symbol=="none" then 20 else 29} top: 23 height: 18 width: 14 z index: 1 render style: image choice images: tombstone: tombstone.png ############################# Image image: left: { if is_saga() then 188 else if front_clear() or is_map() or is_full() then 0 else if is_mutate() then 22 else if is_normal() then 29 else if is_normal_size() then 25 else 15 } top: { if is_saga() then 59 else if is_map() then 57 else if front_clear() or is_full() then 0 else if is_normal() then 59 else if is_normal_size() then 52 else 15 } width: { if is_saga() then 157 else if front_clear() or is_map() or is_full() then 375 else if is_mutate() then 330 else if is_normal() then 316 else if is_normal_size() then 324 else 345 } height: { if is_map() then 241 else if is_saga() then 379 else if front_clear() or is_full() then 523 else if is_mutate() then 334 else if is_normal() then 231 else if is_normal_size() then 428 else 493 } z index: 1 mask: { mask_script() } default: {default_image(card.card_color)} image 2: left: { if back_saga() then 565 else if back_clear() or back_map() or is_full() then 377 else if back_mutate() then 399 else if back_normal() then 406 else if is_normal_size() then 402 else 392 } top: { if back_saga() then 59 else if back_map() then 57 else if back_clear() or is_full() then 0 else if back_normal() then 59 else if is_normal_size() then 52 else 15 } width: { if back_saga() then 157 else if back_clear() or back_map() or is_full() then 375 else if back_mutate() then 330 else if back_normal() then 316 else if is_normal_size() then 324 else 345 } height: { if back_saga() then 379 else if back_map() then 241 else if back_clear() or is_full() then 523 else if back_mutate() then 334 else if back_normal() then 231 else if is_normal_size() then 428 else 493 } z index: 1 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: 8 ############################# Card type indicator: left: { if is_map() then 18 else 31 } top: { if is_saga() then 449 else if is_map() then 298 else if has_four_abilities() then 265 else 300 } width: 17 height: 17 z index: 2 render style: image visible: { has_identity()} image: { card_identity() } indicator 2: left: { if back_map() then 395 else 407 } top: { if back_saga() then 449 else if back_map() then 298 else if back_four_abilities() then 265 else 300 } width: 17 height: 17 z index: 2 render style: image visible: { has_identity2()} image: { card_identity_2() } type: left: { if is_map() then 85 else if has_identity() then "52" else "32" } top: { (if is_map() then 297.5 else if is_saga() then 444 else if has_four_abilities() then 261 else 296) + shrink_type() } width: { if is_map() then 205 else (if has_identity() then "290" else "310") - max(22,card_style.rarity.content_width) } height: { if is_map() then 18 - shrink_type() else 20 - shrink_type() } alignment: { if is_map() then "center top shrink-overflow" else "top shrink-overflow"} z index: 2 padding top: 2 padding bottom: { if is_map() then 4 else 0} padding right: { if is_map() then 2 else 0} font: name: Beleren Bold size: { if is_map() then 12 - shrink_type() else 13 - shrink_type()} color: black separator color: red type 2: left: { if back_map() then 462 else if has_identity2() then "427" else "413" } top: { (if back_map() then 297.5 else if back_saga() then 444 else if back_four_abilities() then 261 else 296) + shrink_type2() } width: { if back_map() then 205 else (if has_identity2() then "290" else "310") - max(22,card_style.rarity.content_width) } 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: 2 padding top: 2 padding bottom: { if back_map() then 4 else 0} padding right: { if back_map() then 2 else 0} font: name: Beleren Bold size: { if back_map() then 12 - shrink_type2() else 13 - shrink_type2()} color: { if back_clear() or back_map() or back_saga() or contains(styling.other_options, match:"normal back face") then "black" else "white"} separator color: red rarity: right: { if is_map() then 199 else 345 } top: { if is_saga() then 445 else if is_map() then 53 else if is_normal() then 297 else if has_four_abilities() then 263 else 298 } width: { if is_normal() then 44 else 42 } height: { if is_normal() then 22 else 21 } z index: 3 render style: image alignment: middle right choice images: # Images based on the set symbol basic land: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") else symbol_variation(symbol: set.symbol, variation: "common") common: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") else symbol_variation(symbol: set.symbol, variation: "common") uncommon: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png" else symbol_variation(symbol: set.symbol, variation: "uncommon") rare: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png" else symbol_variation(symbol: set.symbol, variation: "rare") mythic rare: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png" else symbol_variation(symbol: set.symbol, variation: "mythic rare") special: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png" else symbol_variation(symbol: set.symbol, variation: "special") masterpiece: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png" else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") rarity 2: right: { if back_map() then 576 else 722} top: { if back_saga() then 445 else if back_map() then 53 else if back_normal() then 297 else if back_four_abilities() then 263 else 298 } width: { if back_normal() then 44 else 42 } height: { if back_normal() then 22 else 21 } z index: 3 render style: image alignment: middle right choice images: # Images based on the set symbol basic land: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") else symbol_variation(symbol: set.symbol, variation: "common") common: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") else symbol_variation(symbol: set.symbol, variation: "common") uncommon: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png" else symbol_variation(symbol: set.symbol, variation: "uncommon") rare: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png" else symbol_variation(symbol: set.symbol, variation: "rare") mythic rare: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png" else symbol_variation(symbol: set.symbol, variation: "mythic rare") special: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png" else symbol_variation(symbol: set.symbol, variation: "special") masterpiece: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png" else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") ############################# Text box text: left: { if is_map() then 40 else (if is_bumped() then 47 else 29)} top: { top_of_textbox() } width: {if is_leveler() then 0 else -lv_chop(styling.level_1_chop, cell:2) + if is_saga() then 0 else if is_map() then 287 else if is_normal() then (314 - if is_bumped() then 18) else 0} bottom: { bottom_of_textbox()} font: name: MPlantin italic name: MPlantin-Italic size: { if styling.front_font_cap != "" then styling.front_font_cap else (if is_mutate() then 12 else 14) } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.front_font_cap != "" then styling.front_font_cap else (if is_mutate() then 12 else 14) } alignment: script: if contains(styling.other_options, match:"center front") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 text 2: left: { if back_map() then 417 else (if back_bumped() then 425 else 407) } top: { top_of_textbox2() } width: {if back_leveler() then 0 else -lv_chop(styling.level_5_chop, cell:2) + if back_saga() then 0 else if back_map() then 287 else if back_normal() then (314 - if is_bumped() then 18) else 0} bottom: { bottom_of_textbox2()} font: name: MPlantin italic name: MPlantin-Italic size: { if styling.back_font_cap != "" then styling.back_font_cap else (if back_mutate() then 12 else 14) } scale down to: 6 symbol font: name: { styling.text_box_mana_symbols } size: { if styling.back_font_cap != "" then styling.back_font_cap else (if back_mutate() then 12 else 14) } alignment: script: if contains(styling.other_options, match:"center back") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 watermark: left: { if is_saga() then 45 else if is_map() then 40 else 19} top : { if has_four_abilities() then 296 else if is_saga() then 60 else 330 } width: { if is_saga() then 133 else if is_map() then 287 else 334} height: { if is_saga() then 378 else if is_map() then 154 else if has_four_abilities() then 185 else 152 } z index: 4 render style: image alignment: middle center include file: /magic-watermarks.mse-include/watermarks watermark 2: left: { if back_saga() then 422 else if back_map() then 5417 else 396} top : { if back_four_abilities() then 296 else if back_saga() then 60 else 330 } width: { if back_saga() then 133 else if back_map() then 287 else 334} height: { if back_saga() then 378 else if back_map() then 154 else if back_four_abilities() then 185 else 152 } z index: 4 render style: image alignment: middle center include file: /magic-watermarks.mse-include/watermarks ############################# Levels level 1 text: left: {if is_saga() then 45 else if is_mutate() then (if is_bumped() then 47 else 29) else 63+unindent(card.loyalty_cost_1)} top: { if is_saga() then 155 else if back_mutate() then 329 else if has_four_abilities() then 289-lv_chop(styling.level_1_chop, cell:0)+(if front_clear() then 5 else 0) else 330-lv_chop(styling.level_1_chop, cell:0) } width: { -lv_chop(styling.level_1_chop, cell:2)-unindent(card.loyalty_cost_1) + if is_saga() then 138 else if is_mutate() then (314 - if is_bumped() then 18) else if is_normal() then 0 else 282 } bottom: { if is_saga() then (if split_12() == "" then 249 else split_12()) else if is_mutate() then 391 else if is_normal() then 0 else bottom_of_walker_textbox() } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else if is_mutate() then 12 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else if is_mutate() then 12 else 14 } alignment: script: if contains(styling.other_options, match:"center front") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 level 2 text: left: {if is_saga() then 45 else 63+unindent(card.loyalty_cost_2)} top: { (if is_saga() then (if split_12() == "" then 249 else split_12()) else if heavy_levels() then stripe30()+10 else if has_four_abilities() then stripe31()+10 else if has_two_abilities() then stripe01()+11 else stripe12()+10) -lv_chop(styling.level_2_chop, cell:0) } width: { -lv_chop(styling.level_2_chop, cell:2)-unindent(card.loyalty_cost_2) + if is_saga() then 138 else if is_normal() then 0 else 282 } bottom: { if is_normal() and not is_saga() then 0 else (if is_saga() then (if split_23() == "" then 343 else split_23()) else if heavy_levels() then stripe31()+10 else if has_four_abilities() then stripe32()+10 else if has_two_abilities() then 478 else stripe23()+10) - lv_chop(styling.level_2_chop, cell:1) } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } alignment: script: if contains(styling.other_options, match:"center front") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 level 3 text: left: {if is_saga() then 45 else 63+unindent(card.loyalty_cost_3)} top: { if has_two_abilities() then 0 else (if is_saga() then (if split_23() == "" then 343 else split_23()) else if heavy_levels() then stripe31()+10 else if has_four_abilities() then stripe32()+10 else stripe23()+10) -lv_chop(styling.level_3_chop, cell:0) } width: { -lv_chop(styling.level_3_chop, cell:2)-unindent(card.loyalty_cost_3) + if is_saga() then 138 else if is_normal() then 0 else 282 } bottom: { if has_two_abilities() or is_normal() and not is_saga() then 0 else (if is_saga() then (if split_34() == "" then 437 else split_34()) else if heavy_levels() then stripe32()+10 else if has_four_abilities() then stripe33()+10 else 478) - lv_chop(styling.level_3_chop, cell:1) } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } alignment: script: if contains(styling.other_options, match:"center front") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 level 4 text: left: {if is_saga() then 45 else 63+unindent(card.loyalty_cost_4)} top: { if is_saga() then (if split_34() == "" then 437 else split_34()) else if heavy_levels() then stripe32()+10 else stripe33()+10 -lv_chop(styling.level_4_chop, cell:0) } width: { -lv_chop(styling.level_4_chop, cell:2)-unindent(card.loyalty_cost_4) + if is_saga() then 138 else if has_four_abilities() then 282 else 0 } bottom: { if is_saga() then 437 else if has_four_abilities() then 475 - lv_chop(styling.level_4_chop, cell:1) else 0 } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } alignment: script: if contains(styling.other_options, match:"center front") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 mask: walker_text_mask.png level 5 text: left: {if back_saga() then 422 else if back_mutate() then (if back_bumped() then 424 else 406) else 440+unindent(card.loyalty_cost_5)} top: { if back_saga() then 155 else if back_mutate() then 329 else if back_four_abilities() then 289-lv_chop(styling.level_5_chop, cell:0)+(if back_clear() then 5 else 0) else 330-lv_chop(styling.level_5_chop, cell:0) } width: { -lv_chop(styling.level_5_chop, cell:2)-unindent(card.loyalty_cost_5) + if back_saga() then 138 else if back_mutate() then (314 - if back_bumped() then 18) else if back_normal() then 0 else 282 } bottom: { if back_saga() then (if split_12b() == "" then 249 else split_12b()) else if back_mutate() then 391 else if back_normal() then 0 else bottom_of_walker_textbox_2() } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else if back_mutate() then 12 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else if back_mutate() then 12 else 14 } alignment: script: if contains(styling.other_options, match:"center back") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 level 6 text: left: {if back_saga() then 422 else 440+unindent(card.loyalty_cost_6)} top: { (if back_saga() then (if split_12b() == "" then 249 else split_12b()) else if heavy_levels2() then stripe30b()+10 else if back_four_abilities() then stripe31b()+10 else if back_two_abilities() then stripe01b()+11 else stripe12b()+10) -lv_chop(styling.level_6_chop, cell:0) } width: { -lv_chop(styling.level_6_chop, cell:2)-unindent(card.loyalty_cost_6) + if back_saga() then 138 else if back_normal() then 0 else 282 } bottom: { if back_normal() and not back_saga() then 0 else (if back_saga() then (if split_23b() == "" then 343 else split_23b()) else if heavy_levels2() then stripe31b()+10 else if back_four_abilities() then stripe32b()+10 else if back_two_abilities() then 478 else stripe23b()+10) - lv_chop(styling.level_6_chop, cell:1) } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } alignment: script: if contains(styling.other_options, match:"center back") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 level 7 text: left: {if back_saga() then 422 else 440+unindent(card.loyalty_cost_7)} top: { if back_two_abilities() then 0 else (if back_saga() then (if split_23b() == "" then 343 else split_23b()) else if heavy_levels2() then stripe31b()+10 else if back_four_abilities() then stripe32b()+10 else stripe23b()+10) -lv_chop(styling.level_7_chop, cell:0) } width: { -lv_chop(styling.level_7_chop, cell:2)-unindent(card.loyalty_cost_7) + if back_saga() then 138 else if back_normal() then 0 else 282 } bottom: { if back_two_abilities() or back_normal() and not back_saga() then 0 else (if back_saga() then (if split_34b() == "" then 437 else split_34b()) else if heavy_levels2() then stripe32b()+10 else if back_four_abilities() then stripe33b()+10 else 478) - lv_chop(styling.level_7_chop, cell:1) } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } alignment: script: if contains(styling.other_options, match:"center back") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 level 8 text: left: {if back_saga() then 422 else 440+unindent(card.loyalty_cost_8)} top: {if back_saga() then (if split_34b() == "" then 437 else split_34b()) else if heavy_levels2() then stripe32b()+10 else stripe33b()+10 -lv_chop(styling.level_8_chop, cell:0) } width: { -lv_chop(styling.level_8_chop, cell:2)-unindent(card.loyalty_cost_8) + if back_saga() then 138 else if back_four_abilities() then 282 else 0 } bottom: { if back_saga() then 437 else if back_four_abilities() then 475 - lv_chop(styling.level_8_chop, cell:1) else 0 } font: name: MPlantin italic name: MPlantin-Italic size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } alignment: script: if contains(styling.other_options, match:"center back") then "middle center" else "middle left" z index: 5 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 mask: walker_text_mask.png ############################# PT pt: z index: 5 left: 286 top: { if is_map() then 467 else 469 } width: { if is_normal() or card.pt != "" then 60 else 0} height: 28 alignment: center middle shrink-overflow font: name: Beleren Bold size: { if is_map() then 14 else 16} color: { if is_vehicle() then "white" else "black" } separator color: red pt 2: z index: 5 left: 661 top: { if back_map() then 467 else 469} width: {if back_normal() or card.pt_2 != "" then 60 else 0 } height: 28 alignment: center middle shrink-overflow font: name: Beleren Bold size: { if back_map() then 14 else 16} color: { if back_map() or back_clear() then "black" else "white"} separator color: red ############################# Loyalty loyalty: z index: 7 left: 326 top: 462 width: { if card.loyalty != "" then 13.16 else if is_normal() then 0 else 13.16 } height: { if card.loyalty != "" then 34.63 else if is_normal() then 0 else 34.63 } alignment: center middle font: name: Beleren Bold size: 14 color: white loyalty 2: z index: 7 left: 703 top: 462 width: { if card.loyalty_2 != "" then 13.16 else if back_normal() then 0 else 13.16 } height: { if card.loyalty_2 != "" then 34.63 else if back_normal() then 0 else 34.63 } alignment: center middle font: name: Beleren Bold size: 14 color: white loyalty cost 1: z index: 7 left: {if is_normal() then 14 else 32} top: { -loyal_move(styling.move_loyalty_costs, cell:0) +(if has_four_abilities() then 297 else if has_two_abilities() then 348 else 335) } width: { if not is_normal() or card.loyalty_cost_1 != "" then 13.16 else 0 } height: { if not is_normal() or card.loyalty_cost_1 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white loyalty cost 2: z index: 7 left: {if is_normal() then 14 else 32} top: { -loyal_move(styling.move_loyalty_costs, cell:1) +(if has_four_abilities() then 344 else if has_two_abilities() then 420 else 386) } width: { if not is_normal() or card.loyalty_cost_2 != "" then 13.16 else 0 } height: { if not is_normal() or card.loyalty_cost_2 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white loyalty cost 3: z index: 7 left: {if is_normal() then 14 else 32} top: { -loyal_move(styling.move_loyalty_costs, cell:2) +(if has_four_abilities() then 391 else 435) } width: { if has_two_abilities() then 0 else if not is_normal() or card.loyalty_cost_3 != "" then 13.16 else 0 } height: { if has_two_abilities() then 0 else if not is_normal() or card.loyalty_cost_3 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white loyalty cost 4: z index: 7 left: {if is_normal() then 14 else 32} top: { -loyal_move(styling.move_loyalty_costs, cell:3) +438 } width: { if has_four_abilities() or card.loyalty_cost_4 != "" then 13.16 else 0 } height: { if has_four_abilities() or card.loyalty_cost_4 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white loyalty cost 5: z index: 7 left: {if back_normal() then 391 else 409} top: { -loyal_move(styling.move_back_loyalty_costs, cell:0) +(if back_four_abilities() then 297 else if back_two_abilities() then 348 else 335) } width: { if not back_normal() or card.loyalty_cost_5 != "" then 13.16 else 0 } height: { if not back_normal() or card.loyalty_cost_5 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white loyalty cost 6: z index: 7 left: {if back_normal() then 391 else 409} top: { -loyal_move(styling.move_back_loyalty_costs, cell:1) +(if back_four_abilities() then 344 else if back_two_abilities() then 420 else 386) } width: { if not back_normal() or card.loyalty_cost_6 != "" then 13.16 else 0 } height: { if not back_normal() or card.loyalty_cost_6 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white loyalty cost 7: z index: 7 left: {if back_normal() then 391 else 409} top: { -loyal_move(styling.move_back_loyalty_costs, cell:2) +(if back_four_abilities() then 391 else 435) } width: { if back_two_abilities() then 0 else if not back_normal() or card.loyalty_cost_6 != "" then 13.16 else 0 } height: { if back_two_abilities() then 0 else if not back_normal() or card.loyalty_cost_6 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white loyalty cost 8: z index: 7 left: {if back_normal() then 391 else 409} top: { -loyal_move(styling.move_back_loyalty_costs, cell:3) +438 } width: { if back_four_abilities() or card.loyalty_cost_8 != "" then 13.16 else 0 } height: { if back_four_abilities() or card.loyalty_cost_8 != "" then 34.63 else 0 } alignment: center middle font: name: Beleren Bold size: 11 color: white ############################# Card sorting / numbering set code: left: 24 top: 498 width: 40 height: 10 z index: 6 font: name: Relay-Medium size: 7 color: white weight: bold set code 2: left: 399 top: 498 width: 40 height: 10 z index: 6 font: name: Relay-Medium size: 7 color: white weight: bold ############################# Copyright stuff illustrator: left: { 44 + card_style.set_code.content_width } top: 497.5 width: 200 height: 10 z index: 2 font: name: Beleren Small Caps Bold size: 7.25 color: white copyright: right: 350 top: { if is_normal() and card.pt != "" then (if is_map() then 504 else 500) else if is_normal() then 488 else 498 } width: 140 height: 10 z index: 6 alignment: middle right shrink-overflow visible: {not set.automatic_copyright} font: name: Matrix size: 7 color: white weight: bold illustrator 2: left: { 419 + card_style.set_code.content_width } top: 497.5 width: 200 height: 10 z index: 2 font: name: Beleren Small Caps Bold size: 7.25 color: white copyright 2: right: 728 top: { if back_normal() and card.pt_2 != "" then (if back_map() then 504 else 500) else if back_normal() then 488 else 498 } width: 140 height: 10 z index: 6 alignment: middle right shrink-overflow visible: {not set.automatic_copyright} font: name: Matrix size: 7 color: white weight: bold ############################## Alias alias: left: {if is_saga() then 188 else if is_skinned() then 45 else if poke_walker() then 36 else if is_map() then 17 else 33} top: {if is_plwalker() then 46 else if is_map() then 58 else 53} width: {if is_skinned() then 285 else if use_evobar() then max(100, card_style.alias.content_width) else 0} height: 20 alignment: { (if is_skinned() then "center") + "bottom shrink-overflow"} padding bottom: 0 z index: 3 font: name: Matrix size: 10 style: italic color: black alias 2: left: { if back_saga() then 565 else if is_skinned() then 422 else if back_poke_walker() then 413 else if back_map() then 394 else 410} top: {if back_walker() then 46 else if back_map() then 58 else 53} width: {if is_skinned() then 285 else if use_evobar() then max(100, card_style.alias_2.content_width) else 0} height: 20 alignment: { (if is_skinned() then "center") + "bottom shrink-overflow"} padding bottom: 0 z index: 3 font: name: Matrix size: 10 style: italic color: black ############################################################## Extra card fields extra card field: type: text name: card code save value: false script: if set.automatic_card_numbers and not is_unsorted() then forward_editor(prefix: card_number_m15() + "a/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text) else combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card.card_code_text) extra card field: type: text name: card code 2 editable: false save value: false script: if set.automatic_card_numbers and not is_unsorted() then forward_editor(prefix: card_number_m15() + "b/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text) else back_face(card.custom_card_number) + " " + rarity_code() + " " + card.card_code_text extra card field: type: choice name: artist arrow editable: false save value: false choice: white extra card field: type: choice name: artist arrow 2 editable: false save value: false choice: white extra card field: type: choice name: loyalty box editable: false choice: loyalty save value: false extra card field: type: choice name: loyalty box 2 editable: false choice: loyalty save value: false extra card field: type: choice name: stamp script: card.card_color editable: false save value: false extra card field: type: choice name: foil stamp choice: stamp save value: false editable: false extra card field: type: choice name: foil layer choice: foil save value: false editable: false extra card field: type: choice name: foil layer 2 choice: foil save value: false editable: false extra card field: type: choice name: loyalty cost box 1 editable: false script: loyalty_image(card.loyalty_cost_1) save value: false extra card field: type: choice name: loyalty cost box 2 editable: false script: loyalty_image(card.loyalty_cost_2) save value: false extra card field: type: choice name: loyalty cost box 3 editable: false script: loyalty_image(card.loyalty_cost_3) save value: false extra card field: type: choice name: loyalty cost box 4 editable: false script: loyalty_image(card.loyalty_cost_4) save value: false extra card field: type: choice name: loyalty cost box 5 editable: false script: loyalty_image(card.loyalty_cost_5) save value: false extra card field: type: choice name: loyalty cost box 6 editable: false script: loyalty_image(card.loyalty_cost_6) save value: false extra card field: type: choice name: loyalty cost box 7 editable: false script: loyalty_image(card.loyalty_cost_7) save value: false extra card field: type: choice name: loyalty cost box 8 editable: false script: loyalty_image(card.loyalty_cost_8) save value: false extra card field: type: text name: colon 1 editable: false script: ":" save value: false extra card field: type: text name: colon 2 editable: false script: ":" save value: false extra card field: type: text name: colon 3 editable: false script: ":" save value: false extra card field: type: text name: colon 4 editable: false script: ":" save value: false extra card field: type: text name: colon 5 editable: false script: ":" save value: false extra card field: type: text name: colon 6 editable: false script: ":" save value: false extra card field: type: text name: colon 7 editable: false script: ":" save value: false extra card field: type: text name: colon 8 editable: false script: ":" save value: false extra card field: type: choice name: top stripe editable: false save value: false choice: stripe extra card field: type: choice name: bot stripe editable: false save value: false choice: stripe extra card field: type: choice name: fourth stripe editable: false save value: false choice: stripe extra card field: type: color name: top color script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: color name: bottom color script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: color name: stripe color script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: color name: stripe color 2 script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: choice name: top stripe back editable: false save value: false choice: stripe extra card field: type: choice name: bot stripe back editable: false save value: false choice: stripe extra card field: type: choice name: fourth stripe back editable: false save value: false choice: stripe extra card field: type: color name: top color back script: if back_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: color name: bottom color back script: if back_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: color name: stripe color back script: if back_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: color name: stripe color 2 back script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) editable: false save value: false extra card field: type: text name: auto copyright script: set.copyright save value: false editable: false show statistics: false extra card field: type: text name: auto copyright 2 script: set.copyright save value: false editable: false show statistics: false extra card field: type: choice name: clear frame choice: frame editable: false save value: false show statistics: false extra card field: type: choice name: clear frame back choice: frame editable: false save value: false show statistics: false extra card field: type: text name: pt 2 copy script: if contains(styling.other_options, match:"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: card.card_color_2 editable: false save value: false extra card field: type: choice name: corner choice: none choice: day choice: night choice: moon choice: eldrazi choice: compass choice: artifact choice: creature choice: enchantment choice: instant choice: land choice: multitype choice: sorcery choice: planeswalker choice: structure choice: aetherprint choice: name: sparker colors choice: white choice: blue choice: black choice: red choice: green choice: multicolor choice: colorless choice: custom one choice: custom two default: "day" save value: true editable: true extra card field: type: choice name: corner 2 choice: none choice: day choice: night choice: moon choice: eldrazi choice: compass choice: artifact choice: creature choice: enchantment choice: instant choice: land choice: multitype choice: sorcery choice: planeswalker choice: structure choice: aetherprint choice: name: sparker colors choice: white choice: blue choice: black choice: red choice: green choice: multicolor choice: colorless choice: custom one choice: custom two default: "night" save value: true editable: true extra card field: type: choice name: vehicle overlay choice: car door save value: false editable: false 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: miracle overlay choice: miracle save value: false editable: false script: card.card_color extra card field: type: choice name: curtain choice: curtain save value: false editable: false script: card.card_color extra card field: type: choice name: legend overlay choice: crown save value: false editable: false script: card.card_color extra card field: type: choice name: vehicle overlay 2 choice: car door save value: false editable: false 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: miracle overlay 2 choice: miracle save value: false editable: false script: card.card_color_2 extra card field: type: choice name: curtain 2 choice: curtain save value: false editable: false script: card.card_color_2 extra card field: type: choice name: legend overlay 2 choice: crown save value: false editable: false script: card.card_color_2 extra card field: type: choice name: patch 1 choice: patch save value: false editable: false extra card field: type: choice name: patch 2 choice: patch save value: false editable: false extra card field: type: choice name: map choice: map save value: false editable: false script: card.card_color extra card field: type: choice name: map 2 choice: map save value: false editable: false script: card.card_color_2 extra card field: type: text name: cb 2 copy script: card.casting_cost_2 editable: false save value: false extra card field: type: text name: cb copy script: card.casting_cost editable: false save value: false extra card field: type: choice choice: cb name: cb box script: card.card_color editable: false save value: false extra card field: type: choice choice: cb name: cb box 2 script: card.card_color_2 editable: false save value: false extra card field: type: choice choice: bar name: meld bar editable: false show statistics: false extra card field: type: choice name: flavor bar choice: bar editable: false save value: false show statistics: false extra card field: type: choice name: flavor bar 2 choice: bar editable: false save value: false show statistics: false extra card field: type: text name: promo label save value: true description: The golden promo label. extra card field: type: 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: text name: chapter text editable: true save value: true show statistics: false multi line: true script: forward_editor(field: card.rule_text) default: "(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)" 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: text name: chapter text 2 editable: true save value: true show statistics: false multi line: true script: forward_editor(field: card.rule_text_2) default: "(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)" 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: opac filter script: rgb(opacity(0), opacity(0), opacity(0)) save value: false extra card field: type: color name: opac filter 2 script: rgb(opacity(1), opacity(1), opacity(1)) save value: 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 extra card style: pt 2 copy: z index: 4 right: 347 top: 446 width: 30 height: 12 alignment: bottom right visible: {contains(styling.other_options, match:"use hovering pt")} font: name: ModMatrix size: 12 weight: bold color: {rgb(45,45,45)} separator color: red card code: left: 24 top: 488 width: 120 height: 10 z index: 6 font: name: Relay-Medium size: 7 color: white weight: bold card code 2: left: 399 top: 488 width: 120 height: 10 z index: 2 font: name: Relay-Medium size: 7 color: white weight: bold artist arrow: left: { 28 + card_style.set_code.content_width } top: 500 width: 12 height: 7 z index: 6 render style: image image: artist_arrow.png artist arrow 2: left: { 403 + card_style.set_code_2.content_width } top: 500 width: 12 height: 7 z index: 2 render style: image image: artist_arrow.png loyalty box: right: 362 top: 460 width: 60 height: 38 z index: 6 render style: image visible: { card.loyalty != "" } choice images: loyalty: loyalty.png loyalty box 2: right: 739 top: 460 width: 60 height: 38 z index: 6 render style: image visible: { card.loyalty_2 != "" } choice images: loyalty: loyalty.png stamp: left: {if is_map() then 169 else if is_normal() then 165 else 170 } top: { if is_normal() and not is_map() then 472 else 473 } width: { if is_map() then 38 else if is_normal() then 46 else 36.5 } height: { if is_map() then 24 else if is_normal() then 26 else 22.5 } z index: 3 visible: { is_stamped() and not front_clear() } render style: image image: { if is_map() then "maps/holo_stamp.png" else if is_normal() then card_stamp2() else card_stamp() } mask: { if is_full() then "stamp_mask_full.png" else "stamp_mask.png" } foil stamp: left: {if front_clear() then 168 else if is_normal() then 165 else 170 } top: { if front_clear() then 471 else if is_normal() then 472 else 473 } width: { if front_clear() and is_normal() then 0 else if front_clear() then 41 else if is_normal() then 46 else 36.5 } height: { if front_clear() and is_normal() then 0 else if front_clear() then 28 else if is_normal() then 26 else 22.5 } z index: 4 visible: { is_stamped() and not is_map()} render style: image image: { if front_clear() then "xstamp.png" else "foil_stamp.png" } foil layer: left: 0 top : 0 width: 375 height: 523 z index: 14 render style: image image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} foil layer 2: left: 377 top: 0 width: 375 height: 523 z index: 14 render style: image image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} loyalty cost box 1: left: {if is_normal() then 0 else 18} top: { -loyal_move(styling.move_loyalty_costs, cell:0) +(if has_four_abilities() then 295 else if has_two_abilities() then 346 else 333) } width: 42 height: 40 z index: 6 render style: image visible: { card.loyalty_cost_1 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png loyalty cost box 2: left: {if is_normal() then 0 else 18} top: { -loyal_move(styling.move_loyalty_costs, cell:1) +(if has_four_abilities() then 342 else if has_two_abilities() then 417 else 383) } width: 42 height: 40 z index: 6 render style: image visible: { card.loyalty_cost_2 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png loyalty cost box 3: left: {if is_normal() then 0 else 18} top: { -loyal_move(styling.move_loyalty_costs, cell:2) +(if has_four_abilities() then 389 else 432) } width: { if has_two_abilities() then 0 else 42 } height: { if has_two_abilities() then 0 else 40 } z index: 6 render style: image visible: { card.loyalty_cost_3 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png loyalty cost box 4: left: {if is_normal() then 0 else 18} top: { -loyal_move(styling.move_loyalty_costs, cell:3) +436 } width: { if has_four_abilities() then 42 else 0 } height: 40 z index: 6 render style: image visible: { card.loyalty_cost_4 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png colon 1: left: {if is_normal() then 41 else 59} top: { -loyal_move(styling.move_loyalty_costs, cell:0) +(if has_four_abilities() then 309 else if has_two_abilities() then 360 else 347) } width: 5 height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_1 != "" } colon 2: left: {if is_normal() then 41 else 59} top: { -loyal_move(styling.move_loyalty_costs, cell:1) +(if has_four_abilities() then 356 else if has_two_abilities() then 431 else 397) } width: 5 height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_2 != "" } colon 3: left: {if is_normal() then 41 else 59} top: { -loyal_move(styling.move_loyalty_costs, cell:2) +(if has_four_abilities() then 403 else 446) } width: 5 height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_3 != "" } colon 4: left: {if is_normal() then 41 else 59} top: { -loyal_move(styling.move_loyalty_costs, cell:3) +450 } width: { if has_four_abilities() then 5 else 0 } height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_4 != "" } colon 5: left: {if back_normal() then 418 else 436} top: { -loyal_move(styling.move_back_loyalty_costs, cell:0) +(if back_four_abilities() then 309 else if back_two_abilities() then 360 else 347) } width: 5 height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_5 != "" } colon 6: left: {if back_normal() then 418 else 436} top: { -loyal_move(styling.move_back_loyalty_costs, cell:1) +(if back_four_abilities() then 356 else if back_two_abilities() then 431 else 397) } width: 5 height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_6 != "" } colon 7: left: {if back_normal() then 418 else 436} top: { -loyal_move(styling.move_back_loyalty_costs, cell:2) +(if back_four_abilities() then 403 else 446) } width: 5 height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_7 != "" } colon 8: left: {if back_normal() then 418 else 436} top: { -loyal_move(styling.move_back_loyalty_costs, cell:3) +450 } width: { if back_four_abilities() then 5 else 0 } height: 10 z index: 6 font: name: MPlantin size: 15 scale down to: 15 color: black alignment: middle center visible: { card.loyalty_cost_8 != "" } top stripe: left: 46 top: { if has_four_abilities() then stripe31() else if two_clear() then stripe01()+10 else if has_two_abilities() then stripe01() else stripe12() } width: 299 height: 20 image: { (if front_clear() then "clear_" else "") + "top_stripe_test.png" } render style: image z index: 2 mask: stripe_mask.png visible: { has_two_abilities() or two_clear() or has_three_abilities() or has_four_abilities() and not contains(styling.custom_mask, match:".png") } bot stripe: left: 46 top: { if has_four_abilities() then stripe32() else stripe23() } width: 299 height: 20 image: { (if front_clear() then "clear_" else "") + "bot_stripe_test.png" } render style: image z index: 2 mask: stripe_mask.png visible: { has_three_abilities() or has_four_abilities() and not contains(styling.custom_mask, match:".png")} fourth stripe: left: 46 top: { stripe33() } width: 299 height: 20 image: { (if front_clear() then "clear_" else "") + "top_stripe_test.png" } render style: image z index: 2 mask: stripe_mask.png visible: { has_four_abilities() and not stagger_levels() and not contains(styling.custom_mask, match:".png")} stripe color: left: 46 top: { if has_four_abilities() then 307 else 343 } width: 299 bottom: { if has_four_abilities() then stripe31() else if two_clear() then stripe01()+10 else if has_two_abilities() then stripe01() else stripe12() } z index: 2 mask: stripe_mask.png visible: { has_two_abilities() or two_clear() or has_three_abilities() or has_four_abilities() and not contains(styling.custom_mask, match:".png")} stripe color 2: left: 46 top: { (if has_four_abilities() then stripe32() else stripe23()) +20 } width: 299 bottom: { if stagger_levels() then 461 else if has_four_abilities() then stripe33() else 461 } z index: 2 mask: stripe_mask.png visible: { has_three_abilities() or has_four_abilities() and not contains(styling.custom_mask, match:".png")} top color: left: 26 top: { if front_clear() and has_four_abilities() then 288 else if has_four_abilities() then 284 else 320 } width: 324 height: { if front_clear() and has_four_abilities() then 19 else 23 } z index: 2 mask: mask_top.png visible: { has_two_abilities() or two_clear() or has_three_abilities() or has_four_abilities() and not contains(styling.custom_mask, match:".png")} bottom color: left: 26 top: 461 width: 323 height: 18 z index: 2 mask: mask_bot.png visible: { has_three_abilities() or stagger_levels() and not contains(styling.custom_mask, match:".png")} loyalty cost box 5: left: {if back_normal() then 377 else 395} top: { -loyal_move(styling.move_back_loyalty_costs, cell:0) +(if back_four_abilities() then 295 else if back_two_abilities() then 346 else 333) } width: 42 height: 40 z index: 6 render style: image visible: { card.loyalty_cost_5 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png loyalty cost box 6: left: {if back_normal() then 377 else 395} top: { -loyal_move(styling.move_back_loyalty_costs, cell:1) +(if back_four_abilities() then 342 else if back_two_abilities() then 417 else 383) } width: 42 height: 40 z index: 6 render style: image visible: { card.loyalty_cost_6 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png loyalty cost box 7: left: {if back_normal() then 377 else 395} top: { -loyal_move(styling.move_back_loyalty_costs, cell:2) +(if back_four_abilities() then 389 else 432) } width: { if back_two_abilities() then 0 else 42 } height: { if back_two_abilities() then 0 else 40 } z index: 6 render style: image visible: { card.loyalty_cost_7 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png loyalty cost box 8: left: {if back_normal() then 377 else 395} top: { -loyal_move(styling.move_back_loyalty_costs, cell:3) +436 } width: { if back_four_abilities() then 42 else 0 } height: 40 z index: 6 render style: image visible: { card.loyalty_cost_8 != "" } choice images: loyalty up: loyaltyup.png loyalty down: loyaltydown.png loyalty naught: loyaltynaught.png top stripe back: left: 423 top: { if back_four_abilities() then stripe31b() else if two_back_clear() then stripe01b()+10 else if back_two_abilities() then stripe01b() else stripe12b() } width: 299 height: 20 image: { (if back_clear() then "clear_" else "") + "top_stripe_test.png" } render style: image z index: 2 mask: stripe_mask.png visible: { back_two_abilities() or two_back_clear() or back_three_abilities() or back_four_abilities() and not contains(styling.custom_mask_2, match:".png") } bot stripe back: left: 423 top: { if back_four_abilities() then stripe32b() else stripe23b() } width: 299 height: 20 image: { (if back_clear() then "clear_" else "") + "bot_stripe_test.png" } render style: image z index: 2 mask: stripe_mask.png visible: { back_three_abilities() or back_four_abilities() and not contains(styling.custom_mask_2, match:".png")} fourth stripe back: left: 423 top: { stripe33b() } width: 299 height: 20 image: { (if back_clear() then "clear_" else "") + "top_stripe_test.png" } render style: image z index: 2 mask: stripe_mask.png visible: { back_four_abilities() and not stagger_levels2() and not contains(styling.custom_mask_2, match:".png")} stripe color back: left: 423 top: { if back_four_abilities() then 307 else 343 } width: 299 bottom: { if back_four_abilities() then stripe31b() else if two_back_clear() then stripe01b()+10 else if back_two_abilities() or two_back_clear() then stripe01b() else stripe12b() } z index: 2 mask: stripe_mask.png visible: { back_two_abilities() or two_back_clear() or back_three_abilities() or back_four_abilities() and not contains(styling.custom_mask_2, match:".png")} stripe color 2 back: left: 423 top: { (if back_four_abilities() then stripe32b() else stripe23b()) +20 } width: 299 bottom: { if stagger_levels2() then 460 else if back_four_abilities() then stripe33b() else 460 } z index: 2 mask: stripe_mask.png visible: { back_three_abilities() or back_four_abilities() and not contains(styling.custom_mask_2, match:".png")} top color back: left: 403 top: { if back_clear() and back_four_abilities() then 286 else if back_four_abilities() then 284 else 320 } width: 324 height: { if back_clear() and back_four_abilities() then 21 else 23 } z index: 2 mask: mask_top.png visible: { back_two_abilities() or two_back_clear() or back_three_abilities() or back_four_abilities() and not contains(styling.custom_mask_2, match:".png")} bottom color back: left: 403 top: 460 width: 323 height: 18 z index: 2 mask: mask_bot.png visible: { back_three_abilities() or stagger_levels2() and not contains(styling.custom_mask_2, match:".png")} pt box: left: { if is_map() then 270 else 273} top: { if is_map() then 453 else 466} width: { if is_map() then 90 else if is_normal() or card.pt != "" then 81 else 0 } height: { if is_map() then 54 else if is_normal() or card.pt != "" then 42 else 0 } z index: 3 visible: { card.pt != "" } render style: image image: { if is_map() then card_mapbox() else if is_vehicle() then "vpt.png" else if front_clear() then "xpt.png" else card_ptbox() } pt box 2: left: { if back_map() then 647 else 648} top: { if back_map() then 453 else 466} width: { if back_map() then 90 else if back_normal() or card.pt_2 != "" then 81 else 0} height: {if back_map() then 54 else if back_normal() or card.pt != "" then 42 else 0} z index: 3 visible: { card.pt_2 != "" } render style: image image: { if back_map() then card_mapbox2() else if back_vehicle() then "vpt.png" else if back_clear() then "xpt.png" else card_ptbox2() } auto copyright: right: 350 top: { if is_normal() and card.pt != "" then 500 else if is_normal() then 488 else 498 } width: 140 height: 10 z index: 6 alignment: middle right shrink-overflow visible: {set.automatic_copyright} font: name: Matrix size: 7 color: white weight: bold auto copyright 2: right: 728 top: { if back_normal() and card.pt_2 != "" then 500 else if back_normal() then 488 else 498 } width: 140 height: 10 z index: 6 alignment: middle right shrink-overflow visible: {set.automatic_copyright} font: name: Matrix size: 7 color: white weight: bold clear frame: left: 0 top: 0 width: { if front_clear() then 375 else 0 } height: { if front_clear() then 523 else 0 } z index: 1 render style: image popup style: in place image: { (if is_normal() then "clear" else if has_four_abilities() then "xcard2" else "xcard") + (if has_two_abilities() or two_clear() or has_three_abilities() or has_four_abilities() then "_level") + (if is_stamped() and is_normal() then "_rare") + ".png" } clear frame back: left: 377 top: 0 width: { if back_clear() then 375 else 0 } height: { if back_clear() then 523 else 0 } z index: 1 render style: image popup style: in place image: { (if back_normal() then "clear2" else if back_four_abilities() then "xcard2" else "xcard") + (if back_two_abilities() or two_back_clear() or back_three_abilities() or back_four_abilities() then "_level") + ".png" } corner: left: { if is_map() then 22 else 19} top: { if is_normal() then 25 else if front_clear() then 17 else 18} height: { if is_normal() then 31 else 32} width: { if is_normal() then 31 else 32} z index: 5 render style: image choice images: day: sun_circle.png night: night_circle.png eldrazi: eldrazi.png moon: moon.png compass: compass.png artifact: artifact.png creature: creature.png enchantment: enchantment.png instant: instant.png land: land.png multitype: multitype.png sorcery: sorcery.png planeswalker: planeswalker.png structure: structure.png compass: compass.png aetherprint: aetherprint.png sparker colors white: planeswalker/wcorner.png sparker colors blue: planeswalker/ucorner.png sparker colors black: planeswalker/bcorner.png sparker colors red: planeswalker/rcorner.png sparker colors green: planeswalker/gcorner.png sparker colors multicolor: planeswalker/mcorner.png sparker colors colorless: planeswalker/ccorner.png custom one: { if contains(styling.custom_symbol_one, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_one else "" } custom two: { if contains(styling.custom_symbol_two, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_two else "" } corner 2: left: { if back_map() then 399 else 396} top: { if back_normal() then 25 else if back_clear() then 17 else 18} height: { if back_normal() then 31 else 32} width: { if back_normal() then 31 else 32} z index: 5 render style: image choice images: day: sun_circle.png night: night_circle.png eldrazi: eldrazi.png moon: moon.png compass: compass.png artifact: artifact.png creature: creature.png enchantment: enchantment.png instant: instant.png land: land.png multitype: multitype.png sorcery: sorcery.png planeswalker: planeswalker.png structure: structure.png compass: compass.png aetherprint: aetherprint.png sparker colors white: planeswalker/wcorner.png sparker colors blue: planeswalker/ucorner.png sparker colors black: planeswalker/bcorner.png sparker colors red: planeswalker/rcorner.png sparker colors green: planeswalker/gcorner.png sparker colors multicolor: planeswalker/mcorner.png sparker colors colorless: planeswalker/ccorner.png custom one: { if contains(styling.custom_symbol_one, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_one else "" } custom two: { if contains(styling.custom_symbol_two, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_two else "" } nyx overlay: left: 0 top: 0 width: 375 height: 523 render style: image image: {if front_clear() then "" else nyx_background()} z index: 0 visible: {is_nyx()} mask: {"nyx/notch_" + (if is_vehicle() then "v_") + "mask.png"} curtain: left: 0 top: 0 width: 375 height: 523 render style: image image: {curtain_background()} z index: 3 visible: {is_curtains()} mask: { if is_legend() then "lcurtainmask.png" else "nodemask.png"} legend overlay: left: 0 top: 0 width: 375 height: 523 render style: image image: {if front_clear() then "xcrown.png" else legend_background()} z index: 3 visible: {is_legend()} mask: { if is_curtains() or is_full() then "curtainmask.png" else if not front_clear() then "nodemask.png"} miracle overlay: left: 0 top: 0 width: 375 height: 523 render style: image image: {if front_clear() then "miracles/xmiracle.png" else miracle_background()} z index: 1 visible: {is_miracle()} mask: { if not front_clear() then "nodemask.png"} vehicle overlay: left: 0 top: 0 width: 375 height: 523 render style: image image: voverlay.png z index: 0 mask: vmask.png visible: {is_vehicle()} nyx overlay 2: left: 377 top: 0 width: 375 height: 523 render style: image image: {if back_clear() then "" else nyx_background()} z index: 0 visible: {back_nyx()} mask: {"nyx/" + (if contains(styling.other_options, match:"normal back face") then "notch_") + (if is_vehicle() then "v_") + "mask.png"} miracle overlay 2: left: 377 top: 0 width: 375 height: 523 render style: image image: {if back_clear() then "miracles/xmiracle.png" else if contains(styling.other_options, match:"normal back face") then miracle_background() else miracle_background2()} z index: 1 visible: {back_miracle()} mask: { if not back_clear() then "nodemask.png"} curtain 2: left: 377 top: 0 width: 375 height: 523 render style: image image: {curtain_background()} z index: 3 visible: {is_curtains()} mask: { if back_legend() then "lcurtainmask.png" else "nodemask.png"} legend overlay 2: left: 377 top: 0 width: 375 height: 523 render style: image image: {if back_clear() then "xcrown.png" else legend_background2()} z index: 3 visible: {back_legend()} mask: { if is_curtains() or is_full() then "curtainmask.png" else if not back_clear() then "nodemask.png"} vehicle overlay 2: left: 377 top: 0 width: 375 height: 523 render style: image image: voverlay.png z index: 0 mask: {if contains(styling.other_options, match:"normal back face") then "vmask.png" else ""} visible: {back_vehicle()} patch 1: left: 0 top: 0 width: 375 height: 523 render style: image image: {if has_four_abilities() then "planeswalker/bigpatch.png" else "planeswalker/smolpatch.png"} visible: {not is_normal() and not (front_clear() and has_four_abilities())} z index: 2 patch 2: left: 377 top: 0 width: 375 height: 523 render style: image image: {if back_four_abilities() then "planeswalker/bigpatch.png" else "planeswalker/smolpatch.png"} visible: {not back_normal() and not (back_clear() and back_four_abilities())} z index: 2 map: left: 0 top: 0 width: 375 height: 523 z index: 1 render style: image image: {map_background()} visible: {is_map()} mask: maps/frame_mask.png map 2: left: 377 top: 0 width: 375 height: 523 z index: 1 render style: image image: {map_background2()} visible: {back_map()} mask: maps/frame_mask.png cb 2 copy: z index: 4 left: 270 top: 60 width: 70 height: 20 alignment: bottom center font: name: ModMatrix size: 12 weight: bold color: black separator color: red symbol font: name: magic-mana-large size: 13 alignment: middle right always symbol: true visible: { is_flagged()} cb copy: z index: 4 left: 647 top: 60 width: 70 height: 20 alignment: bottom center font: name: ModMatrix size: 12 weight: bold color: black separator color: red symbol font: name: magic-mana-large size: 13 alignment: middle right always symbol: true visible: { is_flagged()} cb box: left: 0 top: 0 width: 375 height: 523 z index: 1 visible: { card.casting_cost_2 != "" and is_flagged() } render style: image image: { card_cb() } cb box 2: left: 377 top: 0 width: 375 height: 523 z index: 1 visible: { card.casting_cost != "" and is_flagged()} render style: image image: { card_cb() } meld bar: left: 377 top: 0 width: 375 height: 523 render style: image image: meldmask.png visible: {contains(styling.other_options, match:"meld back")} z index: 10 promo label: left: 40 top: { if has_four_abilities() then 225 else 262 } width: {if contains(styling.other_options, match:"prerelease stamp") then 295 else 0} height: 29 alignment: middle right z index: 4 font: name: ModMatrix size: 14 color: rgb(223,169,41) flavor bar: left: 0 top: { bar_equation() } width: 375 height: 1 z index: 1 render style: image image: bar.png visible: { card.rule_text != "" and remove_tags(card.flavor_text) != "" and set.use_flavor_bar } promo label 2: left: 417 top: { if back_four_abilities() then 225 else 262 } width: {if contains(styling.other_options, match:"prerelease stamp") then 295 else 0} height: 29 alignment: middle right z index: 4 font: name: ModMatrix size: 14 color: rgb(223,169,41) flavor bar 2: left: 377 top: { bar_equation2() } width: 375 height: 1 z index: 1 render style: image image: bar.png visible: { card.rule_text_2 != "" and remove_tags(card.flavor_text_2) != "" and set.use_flavor_bar } chapter 1: left: 14 top: { if chapter1() == "" then 185 else chapter1() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter1.png visible: {is_saga()} chapter 2: left: 14 top: { if chapter2() == "" then 279 else chapter2() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter2.png visible: {is_saga()} chapter 3: left: 14 top: { if chapter3() == "" then 373 else chapter3() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter3.png visible: {is_saga()} chapter 4: left: 14 top: { if chapter4() == "" then 600 else chapter4() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter4.png visible: {is_saga()} chapter 5: left: 14 top: { if chapter5() == "" then 600 else chapter5() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter5.png visible: {is_saga()} chapter 6: left: 14 top: { if chapter6() == "" then 600 else chapter6() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter6.png visible: {is_saga()} chapter custom: left: 14 top: { if chapter_custom() == "" then 600 else chapter_custom() } width: 30 height: 34 render style: image z index: 5 image: {custom_chapter_node()} visible: {is_saga()} chapter text: left: 30 top: 69 width: 153 height: 70 z index: 3 font: name: MPlantin italic name: MPlantin-Italic size: { if styling.front_font_cap != "" then styling.front_font_cap else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.front_font_cap != "" then styling.front_font_cap else 14 } alignment: script: if contains(styling.other_options, match:"center front") then "middle center" else "middle left" z index: 5 padding left: 3 padding right: 1 line height hard: 1.2 line height line: 1.5 line height soft: 0.85 line height hard max: 1.3 line height line max: 1.6 visible: {is_saga()} ###pulls double duty as saga line and mutate bar to reduce fields linebreak 1: left: {if is_mutate() then 28 else 43} top: {if is_mutate() then 393 else 154} width: {if is_mutate() then 317 else 143} height: {if is_mutate() then 2 else 3} render style: image z index: 6 image: {if is_mutate() then "mutbar.png" else "line.png"} visible: {is_saga() or is_mutate()} linebreak 2: left: 42 top: {if split_12() == "" then 248 else split_12()-1} width: 144 height: 3 render style: image z index: 6 image: line.png visible: {is_saga()} linebreak 3: left: 42 top: {if split_23() == "" then 342 else split_23()-1} width: 144 height: 3 render style: image z index: 6 image: line.png visible: {three_boxes() or four_boxes()} linebreak 4: left: 42 top: {if split_34() == "" then 600 else split_34()-1} width: 144 height: 3 render style: image z index: 6 image: line.png visible: {four_boxes()} chapter 1b: left: 391 top: { if chapter1b() == "" then 185 else chapter1b() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter1.png visible: {back_saga()} chapter 2b: left: 391 top: { if chapter2b() == "" then 279 else chapter2b() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter2.png visible: {back_saga()} chapter 3b: left: 391 top: { if chapter3b() == "" then 373 else chapter3b() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter3.png visible: {back_saga()} chapter 4b: left: 391 top: { if chapter4b() == "" then 600 else chapter4b() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter4.png visible: {back_saga()} chapter 5b: left: 391 top: { if chapter5b() == "" then 600 else chapter5b() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter5.png visible: {back_saga()} chapter 6b: left: 391 top: { if chapter6b() == "" then 600 else chapter6b() } width: 30 height: 34 render style: image z index: 5 image: saga/chapter6.png 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: 5 image: {custom_chapter_node()} visible: {back_saga()} chapter text 2: left: 407 top: 69 width: 153 height: 70 z index: 3 font: name: MPlantin italic name: MPlantin-Italic size: { if styling.back_font_cap != "" then styling.back_font_cap else 14 } scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: { if styling.back_font_cap != "" then styling.back_font_cap else 14 } alignment: script: if contains(styling.other_options, match:"center front") then "middle center" else "middle left" z index: 5 padding left: 3 padding right: 1 line height hard: 1.2 line height line: 1.5 line height soft: 0.85 line height hard max: 1.3 line height line max: 1.6 visible: {back_saga()} linebreak 1b: left: {if back_mutate() then 405 else 420} top: {if back_mutate() then 393 else 154} width: {if back_mutate() then 317 else 143} height: {if back_mutate() then 2 else 3} render style: image z index: 6 image: {if back_mutate() then "mutbar.png" else "line.png"} visible: {back_saga() or back_mutate()} linebreak 2b: left: 419 top: {if split_12b() == "" then 248 else split_12b()-1} width: 144 height: 3 render style: image z index: 6 image: line.png visible: {back_saga()} linebreak 3b: left: 419 top: {if split_23b() == "" then 342 else split_23b()-1} width: 144 height: 3 render style: image z index: 6 image: line.png visible: {back_three_boxes() or back_four_boxes()} linebreak 4b: left: 419 top: {if split_34b() == "" then 600 else split_34b()-1} width: 144 height: 3 render style: image z index: 6 image: line.png visible: {back_four_boxes()} opac filter: left: 45 top: {if has_four_abilities() then 289 else 325} width: 303 height: {if has_four_abilities() then 192 else 155} mask: {"opacfilter" + if has_four_abilities() then "_4.png" else ".png"} z index: 1 visible: {is_plwalker() and pull_comma_array(styling.opacity, cell:0, end:false, default:300) != 300} opac filter 2: left: 422 top: {if back_four_abilities() then 289 else 325} width: 303 height: {if back_four_abilities() then 192 else 155} mask: {"opacfilter" + if back_four_abilities() then "_4.png" else ".png"} z index: 1 visible: {back_walker() and pull_comma_array(styling.opacity, cell:1, end:false, default:300) != 300} silver patch: left: 10 top: 10 width: 355 height: 15 z index: 2 visible: {not is_full() and is_legend() and card.border_color == rgb(200,200,200)} silver patch 2: left: 387 top: 10 width: 355 height: 15 z index: 2 visible: {not is_full() and back_legend() and card.border_color == rgb(200,200,200)} evobar: left: { if is_saga() then 188 else if is_skinned() then 75 else if poke_walker() then 40 else if is_map() then 15 else 27} top: { if is_plwalker() then 51 else if is_map() then 62 else 57} width: {if is_skinned() then 225 else card_style.alias.content_width} height: 27 z index: 2 render style: image image: evobar.png visible: {is_skinned() or use_evobar()} evobar tip: left: {if is_skinned() then 299.6 else (if poke_walker() then 39.6 else if is_map() then 14.6 else if is_saga() then 187.6 else 26.6) + card_style.alias.content_width} top: {if is_plwalker() then 51 else if is_map() then 62 else 57} width: 36 height: 27 z index: 2 render style: image image: evobar_tip.png visible: {is_skinned() or use_evobar()} evobar 2: left: { if back_saga() then 565 else if is_skinned() then 452 else if back_poke_walker() then 417 else if back_map() then 391 else 404} top: {if back_walker() then 51 else if back_map() then 62 else 57} width: {if is_skinned() then 225 else card_style.alias_2.content_width} height: 27 z index: 2 render style: image image: evobar.png visible: {is_skinned() or use_evobar()} evobar tip 2: left: {if is_skinned() then 676.6 else (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 back_walker() then 51 else if back_map() then 62 else 57} width: 36 height: 27 z index: 2 render style: image image: evobar_tip.png visible: {is_skinned() or use_evobar()} evobar start: left: {if poke_walker() then 31 else 39.4} top: {if is_plwalker() then 51 else if is_map() then 62 else 57} width: {if poke_walker() then 9 else 36} height: 27 z index: 2 render style: image image: {if poke_walker() then "evobar_start.png" else "evobar_flip.png"} mask: {if poke_walker() then "evobar_mask.png" else ""} visible: {is_skinned() or poke_walker()} evobar start 2: left: {if back_poke_walker() then 408 else 416.4} top: {if back_walker() then 51 else if back_map() then 62 else 57} width: {if back_poke_walker() then 9 else 36} height: 27 z index: 2 render style: image image: {if back_poke_walker() then "evobar_start.png" else "evobar_flip.png"} mask: {if back_poke_walker() then "evobar_mask.png" else ""} visible: {is_skinned() or back_poke_walker()}