mse version: 2.5.6 game: magic short name: Pixel full name: TMNT Showcase icon: card_sample.png position hint: 095 version: 2024-10-01 depends on: package: magic.mse-game version: 2014-06-25 depends on: package: magic-mana-large.mse-symbol-font version: 2007-09-23 depends on: package: magic-mana-small.mse-symbol-font version: 2007-09-23 depends on: package: magic-modules.mse-include version: 2024-10-01 depends on: package: magic-mainframe-extras.mse-include version: 2007-09-23 card width: 744 card height: 1039 card dpi: 297.6 ### blanks by Crobledo and GenevensiS ### code by GenevensiS ############################################################## Extra scripts init script: swap_fonts_pt_default := [ name: {"JoganSoft-Bold"}, size: {28.0}, color: {"white"}, vertical: {0}, italic: {""} ] swap_fonts_body_default := [ name: {"JoganSoft-Bold"}, size: {22.0}, color: {"white"}, vertical: {0}, italic: {"MPlantin-Italic"} ] type_offset_left_1 := { 4 } type_offset_top_1 := { 3 } rarity_offset_top_1 := { 7 } rarity_offset_left_1 := { 4 } indicator_offset_left_1 := { -4 } indicator_offset_top_1 := { 2 } typeline_character_limit := 45 swap_fonts_type_default := [ name: {"JoganSoft-Bold-AllCaps"}, size: { 20.0 - max(0, (length(to_text(card.type)) - typeline_character_limit) / 3) }, color: {"white"}, vertical: {0}, italic: {""} ] transform_symbol_disabled_1 := { true } nameline_offset_top_1 := { 4 } casting_cost_offset_top_1 := { 3 } casting_cost_offset_left_1 := { -2 } swap_fonts_name_default := [ name: {"JoganSoft-Bold-AllCaps"}, size: {28.0}, color: {"white"}, vertical: {0}, italic: {""} ] swap_fonts_casting_cost_default := [ name: {"MPlantin"}, size: {name_font_size()}, color: {"white"}, vertical: {0}, italic: {"MPlantin-Italic"} ] #alias_offset_top_1 := { if is_crowned() then 2 else -2 } #alias_colors := { # [ # w: rgb(243, 246, 231), # u: rgb( 82, 156, 178), # b: rgb(125, 127, 140), # r: rgb(199, 106, 78), # g: rgb(101, 137, 90), # a: rgb(136, 159, 174), # m: rgb(206, 176, 46), # c: rgb(113, 72, 19) # ][input] #} invert_watermark_1 := { true } card_stamp_offset_top_1 := { if stamp_shape() == "triangle" then 6 else 0 } information_copyright_offset_pt_top_1 := { 0 } information_secondary_shift_with_pt_1 := { false } template_prefix := [ border: "border/", card: "card/", clearcard: "clearcard/", pt: "pt/", crown: "crown/", noncrown: "noncrown/", clearcrown: "clearcrown/", alias: "alias/", stamp: "stamp/", nonstamp: "nonstamp/" identity: "/magic-modules.mse-include/indicators/", identity2: "/magic-modules.mse-include/indicators/", ] template_suffix := [ border: ".png", card: ".png", clearcard: ".png", pt: ".png", crown: ".png", noncrown: ".png", clearcrown: ".png", alias: ".png", stamp: ".png", nonstamp: ".png" identity: "identity.png", identity2: "identity.png", ] template := { template_prefix[type] + input + template_suffix[type] } land_template := { template_prefix[type] + (if input == "a" then "c" else input) + template_suffix[type] } color_blend := color_background@(input: card.card_color, base_hybrid: card_hybrid, multicolor_blend: "white", hybrid_blend: "white", artifact_blend: "white") pure_colors := { sort_text( order: if card_is_wedge(input) then "(wbgur)" else "(wubrg)", (if chosen(card.card_color, choice:"white") then "w") + (if chosen(card.card_color, choice:"blue") then "u") + (if chosen(card.card_color, choice:"black") then "b") + (if chosen(card.card_color, choice:"red") then "r") + (if chosen(card.card_color, choice:"green") then "g") ) } pt_colors := { if styling.PT_color_scheme == "canon" then pt_colors_canon() else styling.PT_color_scheme } pt_colors_canon := { if contains(card.card_color, match: "hybrid") then "land" else "gold" } is_promo := { styling.promo } is_unsorted := { styling.remove_from_autocount } is_crowned := { styling.legend_crown == "yes" or (styling.legend_crown == "if legendary" and lang_setting("is_legendary")(card.super_type)) } foil_mask_added_sections := { [] } foil_mask_removed_sections := { [] } chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split[0] != "" and split[0] != "-" then clamp(split[0], maximum:500, minimum:-500) else 0 } chop_bottom := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split[1] != "" and split[1] != "-" then clamp(split[1], maximum:500, minimum:-500) else 0 } chop_right := { split := split_comma(styling.chop_text_box); if length(split) > 2 and split[2] != "" and split[2] != "-" then clamp(split[2], maximum:500, minimum:-500) else 0 } popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -500) else 0 } popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, maximum: 2000, minimum: -500) else 0 } popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, maximum: 1500, minimum: 0) else 0 } popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 } art_left := { 0 } art_width := { stylesheet.card_width } art_top := { if styling.stretch_art_to_whole_card or styling.border != "yes" then 0 else if get_alpha_percentage(styling.nameline_opacity_percentage, default: 70) < 0.995 then 51 else 131 } art_bottom := { if styling.stretch_art_to_whole_card or styling.border == "no" or styling.border == "fade" then stylesheet.card_height else if styling.border == "only copyright" then 968 else if get_alpha_percentage(styling.textbox_opacity_percentage, default: 70) < 0.995 then 929 else if get_alpha_percentage(styling.typeline_opacity_percentage, default: 70) < 0.995 then 650 else 577 } art_mask := { crop("image_mask.png", offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_bottom() - art_top()) } ############################################################## Extra style options styling field: type: text name: popout art coordinates description: The coordinates for the popout image field, formatted as "left,top,width,height". Used to make the illustration jump in front of the frame. styling field: type: boolean name: stretch art to whole card description: Make the image span the whole card instead of just the visible part. Use this to help make popout effects. initial: no include file: /magic-modules.mse-include/texts/styling_fields styling field: type: slider name: nameline opacity percentage description: Set the opacity percentage for the nameline. Opaque is 100, transparent is 0. initial: 80 styling field: type: slider name: aliasline opacity percentage description: Set the opacity percentage for the aliasline. Opaque is 100, transparent is 0. initial: 80 styling field: type: slider name: typeline opacity percentage description: Set the opacity percentage for the typeline. Opaque is 100, transparent is 0. initial: 80 styling field: type: slider name: textbox opacity percentage description: Set the opacity percentage for the rules textbox. Opaque is 100, transparent is 0. initial: 80 styling field: type: choice name: PT color scheme description: Use the selected color scheme for the PT box on two color cards. Canon is "land" on hybrid cards, "gold" otherwise. choice: canon choice: gold choice: hybrid choice: colored choice: land initial: canon styling field: type: choice name: legend crown description: Use the legend crown? choice: yes choice: if legendary choice: no initial: no include file: /magic-modules.mse-include/rarities/styling_fields include file: /magic-modules.mse-include/watermarks/styling_fields include file: /magic-modules.mse-include/foils/styling_fields styling field: type: choice name: border description: Use a border? choice: yes choice: only copyright choice: fade choice: no initial: only copyright include file: /magic-modules.mse-include/information/styling_fields styling field: type: package choice name: casting cost mana symbols description: Mana symbols used for casting cost, name, banner, fuse and transformation reminder. match: magic-mana-*.mse-symbol-font initial: magic-mana-tmnt-pixel.mse-symbol-font styling field: type: package choice name: text box mana symbols description: Mana symbols used inside rule text. match: magic-mana-*.mse-symbol-font initial: magic-mana-small.mse-symbol-font styling field: type: boolean name: use ancestral mana symbols description: Enables ancestral's modified generic mana. initial: no 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: choice name: tap symbol description: What tap and untap symbols should be used on cards? choice: modern choice: old choice: diagonal T initial: modern styling style: use ancestral mana symbols: choice images: yes: /magic-modules.mse-include/symbol-fonts/generic_ancestral.png no: /magic-modules.mse-include/symbol-fonts/generic_normal.png use guild mana symbols: choice images: yes: /magic-modules.mse-include/symbol-fonts/hybrid_guild.png no: /magic-modules.mse-include/symbol-fonts/hybrid_normal.png tap symbol: render style: both choice images: modern: /magic-modules.mse-include/symbol-fonts/tap_new.png old: /magic-modules.mse-include/symbol-fonts/tap_old.png diagonal T: /magic-modules.mse-include/symbol-fonts/tap_older.png include file: /magic-modules.mse-include/fonts/styling_fields ############################################################## Card fields include file: /magic-modules.mse-include/information/card_fields include file: /magic-modules.mse-include/stamps/card_fields include file: /magic-modules.mse-include/corners/card_fields include file: /magic-modules.mse-include/watermarks/card_fields include file: /magic-modules.mse-include/separators/card_fields include file: /magic-modules.mse-include/namelines/card_fields include file: /magic-modules.mse-include/typelines/card_fields include file: /magic-modules.mse-include/foils/card_fields #include file: /magic-modules.mse-include/alias/card_fields_under card style: ############################# Alias alias: left: 160 top: 140 width: 424 height: 31 alignment: center middle shrink-overflow z index: 900 font: name: JoganSoft-Bold size: { alias_font_size(face:1) } style: bold weight: bold color: white ############################# Background stuff border color: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 150 visible: { styling.border != "no" } mask: { "border_" + (if styling.border == "only copyright" then "borderless_" else if styling.border == "fade" then "fade_" else "extended_") + "mask.png" } card color: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 200 popup style: in place render style: image image: { color_blend(type: "card") } mask: card_mask.png ############################# Image image: left: { art_left() } top: { art_top() } width: { art_width() } bottom: { art_bottom() } z index: 100 mask: { art_mask() } mainframe image: left: { popout_left() } top: { popout_top() } width: { popout_width() } height: { popout_height() } z index: 1000 ############################# Text box text: left: 55 top: { 674 + chop_top() + body_font_vertical() } right: { 689 - chop_right() } bottom: { 919 - chop_bottom() } z index: 900 line height hard: { if is_modal(card.rule_text) then 0.9 else 1.2 } line height line: 1.5 line height soft: 0.9 line height hard max: { if is_modal(card.rule_text) then 1.0 else 1.3 } line height line max: 1.6 alignment: script: if (styling.center_text == "short text only" and not contains(match:"\n", card.rule_text) and card.flavor_text == "" and card_style.text.content_lines <= 2) or styling.center_text == "always" then "middle center" else "middle left" font: name: { body_font() } italic name: { body_font_italic() } size: { body_font_size() } scale down to: 7 color: { body_font_color() } symbol font: name: { styling.text_box_mana_symbols } size: { body_font_size() } scale down to: 7 ############################# PT pt: left: 609 top: { 903 + pt_font_vertical() } width: 100 height: 45 z index: 900 alignment: center middle shrink-overflow font: name: { pt_font() } size: { pt_font_size() } color: { pt_font_color() } separator color: red ############################################################## Extra card fields extra card field: type: choice name: crown editable: false save value: false show statistics: false choice: crown extra card field: type: choice name: crown box editable: false save value: false show statistics: false choice: crown box extra card field: type: choice name: alias bar editable: false save value: false show statistics: false choice: alias bar extra card field: type: choice name: alias box editable: false save value: false show statistics: false choice: alias box extra card field: type: choice name: name box editable: false save value: false show statistics: false choice: name box extra card field: type: choice name: type box editable: false save value: false show statistics: false choice: type box extra card field: type: choice name: text box editable: false save value: false show statistics: false choice: text box extra card field: type: choice name: pt box editable: false save value: false show statistics: false choice: pt box extra card field: type: color name: stamp border script: card.border_color save value: false show statistics: false choice: stamp border extra card style: crown: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 195 visible: { is_crowned() } render style: image image: { color_blend(type: "crown") } crown box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 190 visible: { is_crowned() } render style: image image: { set_alpha("crown_background.png", alpha: get_alpha_percentage(styling.nameline_opacity_percentage, default: 100)) } alias bar: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 195 visible: { card.alias != "" } render style: image image: { color_blend(type: "alias") } alias box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 190 visible: { card.alias != "" } render style: image image: { set_alpha("alias_background.png", alpha: get_alpha_percentage(styling.aliasline_opacity_percentage, default: 100)) } name box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 190 render style: image image: { set_alpha("name_background.png", alpha: get_alpha_percentage(styling.nameline_opacity_percentage, default: 100)) } type box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 190 render style: image image: { set_alpha("type_background.png", alpha: get_alpha_percentage(styling.typeline_opacity_percentage, default: 100)) } text box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 190 render style: image image: { set_alpha("text_background.png", alpha: get_alpha_percentage(styling.textbox_opacity_percentage, default: 100)) } pt box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 800 visible: { card.pt != "" } render style: image image: script: pure := pure_colors() count := length(pure) color := pt_colors() if color == "gold" and count > 1 then masked_blend(mask: "multicolor_blend_pt.png", dark: template("m", type: "pt"), light: color_blend(type: "pt")) else if color == "land" and count > 1 then masked_blend(mask: "hybrid_blend_pt.png", dark: template("c", type: "pt"), light: color_blend(type: "pt")) else if color == "hybrid" and count == 2 then masked_blend(mask: "special_blend_pt.png", dark: template(pure.0, type: "pt"), light: template(pure.1, type: "pt")) else color_blend(type: "pt") stamp border: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 210 visible: { is_stamped() and (styling.border == "yes" or styling.border == "only copyright") } mask: { if stamp_shape() == "triangle" then "stamp_triangle_border_mask.png" else "stamp_border_mask.png" }