mse version: 2.1.2 game: magic short name: Elder Scrolls full name: by kasu_mtg icon: card-sample.png position hint: 083 version: 2024-08-01 depends on: package: magic.mse-game version: 2014-06-25 depends on: package: magic-modules.mse-include version: 2024-10-01 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 card width: 750 card height: 1046 card dpi: 300 ### blanks by kasu_mtg (https://www.instagram.com/kasu_mtg/) ### code by GenevensiS ############################################################## Extra scripts init script: nameline_offset_left_1 := { 4 } nameline_offset_top_1 := { 4 } casting_cost_offset_left_1 := { -8 } casting_cost_offset_top_1 := { 2 } transform_symbol_offset_left_1 := { 20 } transform_symbol_offset_top_1 := { 14 } transform_symbol_offset_width_1 := { -28 } transform_symbol_offset_height_1 := { -28 } name_transform_symbol_offset_left_1 := { -18 } card_symbol_offset_left_1 := { -6 } card_symbol_offset_top_1 := { 5 } card_symbol_offset_width_1 := { -6 } card_symbol_offset_height_1 := { -6 } name_card_symbol_offset_left_1 := { 12 } typeline_offset_top_1 := { 5 } typeline_offset_left_1 := { 8 } type_offset_top_1 := { 2 } rarity_offset_left_1 := { -10 } indicator_offset_left_1 := { -5 } indicator_offset_top_1 := { -4 } information_offset_top_1 := { 8 } information_secondary_offset_pt_left_1 := { 16 } swap_fonts_pt_default := [ name: {"Beleren Bold"}, size: {36.0}, color: {"white"}, vertical: {0}, italic: {"Beleren Bold"} ] swap_fonts_body_default := [ name: {"MPlantin"}, size: {28.0}, color: {"white"}, vertical: {0}, italic: {"MPlantin-Italic"} ] swap_fonts_type_default := [ name: {"Beleren Bold"}, size: {26.0}, color: {"white"}, vertical: {0}, italic: {""} ] swap_fonts_name_default := [ name: {"Beleren Bold"}, size: {30.0}, color: {"white"}, vertical: {0}, italic: {""} ] template_prefix := [ card: { "namebox" + (if is_aliased() then "_alias" else "") + "/" } textbox: { "textbox" + (if is_textboxed() then "_clear" else "") + "/" } pt: { "pt/" } identity: { "/magic-modules.mse-include/indicators/" } crown: { "crown/" } ] template_suffix := [ card: "card.png" textbox: "card.png" pt: "pt.png" identity: "identity.png" crown: "crown.png" ] template := { template_prefix[type]() + input + template_suffix[type] } land_template := { template_prefix[type]() + (if input == "a" then "c" else input) + template_suffix[type] } card_background := { color_background(type:"card", base_hybrid:card_hybrid, hybrid_blend: "white", artifact_blend: "white", multicolor_blend: "white") } card_textbox := { color_background(type:"textbox", base_hybrid:card_hybrid, hybrid_blend: "white", artifact_blend: "white", multicolor_blend: "white") } card_crown := { color_background(type:"crown", base_hybrid:card_hybrid, hybrid_blend: "white", artifact_blend: "white", multicolor_blend: "white") } #card_ptbox := { color_background(type:"pt", base_hybrid:card_hybrid, hybrid_blend: "white", artifact_blend: "white", multicolor_blend: "white") } module_identity := { color_background(type:"identity", base_hybrid:identity_hybrid, hybrid_blend: "white", artifact_blend: "white", multicolor_blend: "white", folder:template_prefix["identity"]()) } is_land_framed := { styling.land_frame == "yes" or ( styling.land_frame == "if land" and lang_setting("is_land")(card.super_type) ) } is_aliased := { card.alias != "" } is_crowned := { styling.legend_crown == "yes" or (styling.legend_crown == "if legendary" and lang_setting("is_legendary")(card.super_type)) } is_textboxed := { styling.textbox_art } chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split.0 != "" then clamp(split.0, maximum: 500, minimum: -500) else 0 } chop_bot := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split.1 != "" then clamp(split.1, maximum: 500, minimum: -500) else 0 } popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" 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 != "" 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 != "" 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 != "" and split.3 != "-" then clamp(split.3, maximum:2000, minimum:0) else 0 } art_left := { 0 } art_right := { stylesheet.card_width } art_top := { if styling.stretch_art_to_whole_card then 0 else 103 } art_bottom := { if styling.stretch_art_to_whole_card then stylesheet.card_height else if is_textboxed() then 970 else 606 } art_mask := { mask := "image_mask" + (if is_aliased() then "_alias" else "") + (if is_textboxed() then "_textbox" else "") + ".png" crop(mask, offset_x: art_left(), offset_y: art_top(), width: art_right() - art_left(), height: art_bottom() - art_top()) } card_stamp_image := { if is_stamped() then "stamp.png" else "" } ############################################################## 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 styling field: type: boolean name: textbox art description: Make the image appear behind the textbox. initial: yes include file: /magic-modules.mse-include/texts/styling_fields styling field: type: choice name: legend crown description: Use the legend crown? choice: yes choice: if legendary choice: no initial: if legendary styling field: type: choice name: land frame description: Use a land frame variant? choice: yes choice: if land choice: no initial: if land styling field: type: choice name: PT type description: Use which pt box variant? choice: solid choice: symbol initial: solid include file: /magic-modules.mse-include/rarities/styling_fields include file: /magic-modules.mse-include/watermarks/styling_fields styling field: type: package choice name: overlay description: Should there be an overlay applied, such as foil? match: magic-overlay-*.mse-include required: false include file: /magic-modules.mse-include/information/styling_fields include file: /magic-modules.mse-include/symbol-fonts/styling_fields 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 card style: ############################# Nameline alias: left: 117 top: { 120 + body_font_vertical() } width: 516 height: 28 z index: 900 alignment: center middle shrink-overflow font: name: { body_font_italic() } italic name: { body_font_italic() } size: { 15 } scale down to: 7 color: { name_font_color() } symbol font: name: { styling.casting_cost_mana_symbols } size: { 15 } scale down to: 7 ############################# Background stuff 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: { card_background() } mask: card_mask.png ############################# Image image: left: { art_left() } top: { art_top() } right: { art_right() } 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: 76 top: { 666 + chop_top() + body_font_vertical() } right: 674 bottom: { 940 - chop_bot() } 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 to_text(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 power: left: 656 top: { 866 + pt_font_vertical() } width: 40 height: 61 z index: 910 alignment: center middle shrink-overflow font: name: { pt_font() } size: { pt_font_size() } color: { pt_font_color() } separator color: red toughness: left: 605 top: { 931 + pt_font_vertical() } width: 40 height: 60 z index: 910 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: textbox editable: false save value: false script: card.card_color extra card field: type: choice name: pt box editable: false save value: false script: card.card_color extra card field: type: choice name: crown overlay editable: false save value: false script: card.card_color extra card field: type: choice name: pearl choice: common choice: uncommon choice: rare choice: mythic default: if card.rarity == "common" or card.rarity == "basic land" then "common" else if card.rarity == "uncommon" then "uncommon" else if card.rarity == "rare" then "rare" else "mythic" extra card field: type: choice name: land overlay editable: false save value: false script: card.rarity extra card style: textbox: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 200 render style: image image: { card_textbox() } pt box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 800 visible: { card.power != "" or card.toughness != "" } render style: image image: { if styling.PT_type == "solid" then "pt.png" else "pt_symbol.png" } crown overlay: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 300 visible: { is_crowned() } render style: image image: { card_crown() } pearl: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 310 visible: { is_crowned() } popup style: in place render style: image choice images: common: pearl/common.png uncommon: pearl/uncommon.png rare: pearl/rare.png mythic: pearl/mythic.png mask: pearl_mask.png land overlay: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 320 visible: { is_land_framed() } render style: image image: { if is_aliased() then "land_alias_overlay.png" else "land_overlay.png" }