mse version: 2.0.0 game: magic short name: DFC Vikings full name: Kaldheim Showcase icon: card-sample.png installer group: magic/m15 style/normal cards position hint: 095 version: 2024-09-01 depends on: package: magic.mse-game version: 2014-06-25 depends on: package: magic-default-image.mse-include version: 2007-09-23 depends on: package: magic-modules.mse-include version: 2024-05-20 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-mainframe-extras.mse-include version: 2007-09-23 card width: 752 card height: 523 card dpi: 150 card region: name: front x: 0 y: 0 height: 523 width: 375 card region: name: back x: 377 y: 0 height: 523 width: 375 ####### images from digiman ############################################################## Extra scripts init script: faces_coordinates := { [ [ left: 0, top: 0, width: 375, height: 523 ], [ left: 377, top: 0, width: 375, height: 523 ] ] } card_shape := { "transform double faced" } # 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 } #Should multicolor lands with basic land types have a colored name? mask_multi_land_with_color := { styling.colored_multicolor_land_name } template_prefix := [ card: "" card2: "legend/" pt: "" flag: "flags/" flag2: "flags/" stamp: "/magic-modules.mse-include/stamps/backs/375 round/" ubstamp: "/magic-modules.mse-include/stamps/backs/375 ub/" identity: "/magic-modules.mse-include/indicators/" ] template_suffix := [ card: "card.png" card2: "card.png" flag: "flag.png" flag2: "flag2.png" pt: "pt.png" stamp: "stamp.png" ubstamp: "stamp.png" identity: "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] } # Use land templates for previews because they show more contrast hybrid_previews := "land,hybrid" legend_background := { color_background(type:"card2", base_hybrid:card_hybrid) } card_ptbox := { color_background(type:"pt", base_hybrid:card_hybrid) } front_flag_image := { color_background(type:"flag", base_hybrid:card_hybrid) } back_flag_image := { color_background(type:"flag2", 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 } # Is the card a promo card? is_promo := { styling.promo } mana_sort := { if styling.unsorted_casting_cost then input else sort_text@(order: "XYZI[0123456789]HSCA(WUBRG)")() } ancestral_mana := { styling.ancestral_mana_symbols } watermark_include := "/magic-modules.mse-include/watermarks" is_unsorted := {styling.remove_from_autocount} chop_top := {to_number(pull_comma_array(styling.text_chops, cell:0, end:false))} chop_bot := {to_number(pull_comma_array(styling.text_chops, cell:1, end:false))} chop_correction := { chop_bot() } 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_typeline_text != "" then to_int((if comma_count(styling.shrink_typeline_text) != "" then split_text(match:",", styling.shrink_typeline_text).1)) else 0 } shrink_name2 := {if styling.shrink_name_text != "" then to_int((if comma_count(styling.shrink_name_text) != "" then split_text(match:",", styling.shrink_name_text).1)) else 0 } use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")} un_png := replace@(match:".png", replace: "") is_vehicle := {lang_setting("is_vehicle")(card.sub_type)} is_legend := {set.auto_legends and lang_setting("is_legendary")(card.super_type) } is_modal_dfc := { styling.dfc_type != "transforming" or contains(card.transformation, match:"modal") } auto_flags := { styling.dfc_type == "modal with standard flags" or (styling.dfc_type == "transforming" and contains(card.transformation, match:"modal")) } back_vehicle := {lang_setting("is_vehicle")(card.sub_type_2)} back_legend := {set.auto_legends and lang_setting("is_legendary")(card.super_type_2) } back_face := replace@(match:"a", replace:"b") card_stamp_offset_top_1 := {1} transform_symbol_default := { stylesheet if margin_code == "transform1" then ( if contains(card.transformation_2, match:"modal back") then "modal front " + sparker_card_color(card.card_color) else if contains(card.transformation_2, match:"modal front") then "modal back " + sparker_card_color(card.card_color) else if styling.dfc_type != "transforming" then "modal front " + sparker_card_color(card.card_color) else "front triangle" ) else if margin_code == "transform2" then ( if contains(card.transformation, match:"modal front") then "modal back " + sparker_card_color(card.card_color_2) else if contains(card.transformation, match:"modal back") then "modal front " + sparker_card_color(card.card_color_2) else if styling.dfc_type != "transforming" then "modal back " + sparker_card_color(card.card_color_2) else "back triangle" ) else "eldrazi" } transform_symbol_offset_left_1 := {-9} transform_symbol_offset_left_2 := {-9} transform_symbol_offset_top_1 := { if is_legend() then 4 else -7 } transform_symbol_offset_top_2 := { if back_legend() then 4 else -7 } ############################################################## 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: choice name: dfc type choice: transforming choice: modal with standard flags choice: modal with custom flags styling field: type: text name: text chops description: Format as "X,Y". Shrinks textbox X pixels from the top and Y from bottom. styling field: type: text name: shrink name text description: Shrinks name X pixels styling field: type: text name: shrink typeline text description: Shrinks type X pixels 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: boolean name: remove from autocount description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. initial: no include file: /magic-modules.mse-include/stamps/styling_fields 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: unsorted casting cost description: Disables automatic mana symbol sorting. initial: no styling field: type: boolean name: ancestral mana symbols description: Enables ancestral's modified generic mana. initial: no styling field: type: boolean name: colored multicolor land name description: Use a colored background for the name and type on multicolor land cards with a basic land type. 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: 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: 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: center text description: When to center text (short text only means only on one-line cards with no flavor text) choice: always choice: short text only choice: never initial: never styling field: type: boolean name: promo description: Is this card a promo card, with the "P" rarity? initial: no styling field: type: boolean name: masterpiece description: Is this card a Masterpiece? initial: no styling field: type: boolean name: inverted common symbol description: Should the common rarity symbol be inverted, like in Coldsnap? initial: no styling field: type: package choice name: overlay description: Should there be an overlay applied, such as foil? match: magic-overlay-*.mse-include required: false styling style: use guild mana symbols: choice images: yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png no: /magic-mana-small.mse-symbol-font/mana_rg.png tap symbol: render style: both choice images: modern: /magic-mana-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 center text: render style: both choice images: always: /magic.mse-game/icons/center-all-text.png short text only: /magic.mse-game/icons/center-short-text.png never: /magic.mse-game/icons/center-no-text.png inverted common symbol: choice images: no: { symbol_variation(symbol: set.symbol, variation: "common") } yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } ############################################################## Card fields include file: /magic-modules.mse-include/corners/card_fields_dfc include file: /magic-modules.mse-include/information/card_fields_dfc include file: /magic-modules.mse-include/symbols/card_fields_dfc include file: /magic-modules.mse-include/stamps/card_fields include file: /magic-modules.mse-include/stamps/stamp_back include file: /magic-modules.mse-include/watermarks/card_fields_dfc include file: /magic-modules.mse-include/separators/card_fields_dfc card style: ############################# Background stuff border color: left: 0 top : 0 width: 375 height: 523 radius: 18 left width: 17 right width: 17 top width: 17 bottom width: 18 z index: 1 mask: {if is_legend() then "border_legend.png" else "border_mask.png"} card color: left: 0 top: 0 width: 375 height: 523 z index: 0 render style: image popup style: in place image: { if is_legend() then legend_background() else card_background() } mask: {(if is_legend() then "legend/" else "") + "framemask.png"} card color 2: left: 377 top: 0 width: 375 height: 523 z index: 0 render style: image popup style: in place image: { if back_legend() then legend_background() else card_background() } mask: {(if back_legend() then "legend/" else "") + "framemask.png"} ############################# Name line name: left: 45 top: {if is_legend() then 33 else 22} right: { 341 - card_style.casting_cost.content_width } height: {23 - 0.5*shrink_name()} alignment: bottom shrink-overflow padding bottom: 0 z index: 1 font: name: Beleren Bold size: {15 - shrink_name()} color: white name 2: left: 422 top: {if back_legend() then 33 else 22} right: { 718 - card_style.casting_cost_2.content_width } height: {23 - 0.5*shrink_name2()} alignment: bottom shrink-overflow padding bottom: 0 z index: 1 font: name: Beleren Bold size: {15 - shrink_name2()} color: white casting cost: right: 346 top: {if is_legend() then 33 else 22} width: { max(30, card_style.casting_cost.content_width) + 5 } height: 23 alignment: middle right font: name: MPlantin size: 15 symbol font: name: magic-mana-large size: 15 alignment: middle right always symbol: true z index: 2 padding top: 0 casting cost 2: right: 723 top: {if back_legend() then 33 else 22} width: { max(30, card_style.casting_cost.content_width) + 5 } height: 23 alignment: middle right font: name: MPlantin size: 15 symbol font: name: magic-mana-large size: 15 alignment: middle right always symbol: true z index: 2 padding top: 0 ############################# Image image: left: 39 top: {if is_legend() then 60 else 48} width: 297 height: {if is_legend() then 243 else 255} z index: -1 default: {default_image(card.card_color)} mask: {(if is_legend() then "legend/") + "imagemask.png"} image 2: left: 416 top: {if back_legend() then 60 else 48} width: 297 height: {if back_legend() then 243 else 255} z index: -1 default: {default_image(card.card_color_2)} mask: {(if back_legend() then "legend/") + "imagemask.png"} ############################# Card type indicator: left: 26 top: 308 width: 17 height: 17 z index: 1 render style: image visible: { has_identity() } image: { module_identity() } indicator 2: left: 403 top: 308 width: 17 height: 17 z index: 1 render style: image visible: { has_identity_2() } image: { module_identity() } type: left: { if has_identity() then "46" else "28" } top: {shrink_type() + 305 } width: { (if has_identity() then "290" else "310") - max(22,card_style.rarity.content_width) } height: { 20 - shrink_type() } alignment: top shrink-overflow z index: 2 padding top: 2 font: name: Beleren Bold size: {13 - shrink_type()} color: white separator color: red type 2: left: { 377 + (if has_identity_2() then 46 else 28) } top: {shrink_type2() + 305 } width: { (if has_identity_2() then "290" else "310") - max(22,card_style.rarity.content_width) } height: { 20 - shrink_type2() } alignment: top shrink-overflow z index: 2 padding top: 2 font: name: Beleren Bold size: {13 - shrink_type2()} color: white separator color: red rarity: right: 344 top: 308 width: 44 height: 22 z index: 2 render style: image alignment: middle right include file: /magic-modules.mse-include/rarities/choice_images rarity 2: right: 721 top: 308 width: 44 height: 22 z index: 2 render style: image alignment: middle right include file: /magic-modules.mse-include/rarities/choice_images ############################# Text box text: left: 29 top: {338-(-chop_top())} width: 314 bottom: {477-chop_bot()} font: name: MPlantin italic name: MPlantin-Italic size: 14 scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: 14 scale down to: 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" z index: 900 padding left: 6 padding right: 4 line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } line height line: 1.5 line height soft: 0.9 line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 } line height line max: 1.6 text 2: left: 406 top: {338-(-chop_top2())} width: 314 bottom: {477-chop_bot2()} font: name: MPlantin italic name: MPlantin-Italic size: 14 scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: 14 scale down to: 6 alignment: script: if (styling.center_text == "short text only" and not contains(match:"\n", card.rule_text_2) and card.flavor_text_2 == "" and card_style.text_2.content_lines <= 2) or styling.center_text == "always" then "middle center" else "middle left" z index: 900 padding left: 6 padding right: 4 line height hard: {if is_modal(card.rule_text_2) then 0.9 else 1.2 } line height line: 1.5 line height soft: 0.9 line height hard max: {if is_modal(card.rule_text_2) then 1.0 else 1.3 } line height line max: 1.6 ############################# PT pt: z index: 2 left: 293 top: 468 width: 60 height: 28 alignment: center middle shrink-overflow font: name: Beleren Bold size: 15 color: black separator color: red pt 2: z index: 2 left: 670 top: 468 width: 60 height: 28 alignment: center middle shrink-overflow font: name: Beleren Bold size: 15 color: black separator color: red ############################################################## Extra card fields extra card field: type: choice name: pt box script: card.card_color editable: false save value: false extra card field: type: choice name: pt box 2 script: card.card_color_2 editable: false save value: false extra card field: type: choice name: foil layer choice: foil save value: false editable: false extra card field: type: choice name: foil layer 2 choice: foil save value: false editable: false extra card field: type: choice name: vehicle overlay choice: overlay editable: false save value: false show statistics: false extra card field: type: choice name: vehicle overlay 2 choice: overlay editable: false save value: false show statistics: false extra card field: type: choice name: front modal flag script: card.card_color_2 editable: false save value: false show statistics: false extra card field: type: choice name: back modal flag script: card.card_color editable: false save value: false show statistics: false extra card field: type: text name: back type hint script: if front_modal_hint().0 != "" then front_modal_hint().0 else value save value: true editable: true extra card field: type: text name: back color hint script: if front_modal_hint().1 != "" then front_modal_hint().1 else value save value: true editable: true extra card field: type: text name: front type hint script: if back_modal_hint().0 != "" then back_modal_hint().0 else value save value: true editable: true extra card field: type: text name: front color hint script: if back_modal_hint().1 != "" then back_modal_hint().1 else value save value: true editable: true extra card style: pt box: left: 285 top: 460 width: 77 height: 43 z index: 1 visible: { card.pt != "" } render style: image image: { if is_vehicle() then "vpt.png" else card_ptbox() } pt box 2: left: 662 top: 460 width: 77 height: 43 z index: 1 visible: { card.pt_2 != "" } render style: image image: { if back_vehicle() then "vpt.png" else card_ptbox() } foil layer: left: 0 top : 0 width: 375 height: 523 z index: 1050 render style: image image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} mask: { if is_rare() then "foil_mask_rare.png" else "foil_mask.png" } foil layer 2: left: 0 top : 0 width: 375 height: 523 z index: 1050 render style: image image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} mask: foil_mask.png vehicle overlay: left: 0 top: 0 width: 375 height: 523 render style: image image: {(if is_legend() then "legend/" else "") + "voverlay.png" } z index: 0 visible: {is_vehicle()} vehicle overlay 2: left: 377 top: 0 width: 375 height: 523 render style: image image: {(if back_legend() then "legend/" else "") + "voverlay.png" } z index: 0 visible: {back_vehicle()} front modal flag: left: 16 top: 467 width: 160 height: 20 render style: image image: {front_flag_image()} z index: 2 visible: {is_modal_dfc()} back type hint: left: 30 top: 470 width: 80 height: 12 z index: 3 visible: {is_modal_dfc()} font: name: Beleren Bold size: 9 color: white back color hint: right: 163 top: 471 width: 80 height: 14 z index: 3 visible: {is_modal_dfc()} font: name: MPlantin size: 10 color: white symbol font: name: { styling.text_box_mana_symbols } size: 10 scale down to: 6 alignment: right middle back modal flag: left: 393 top: 467 width: 160 height: 20 render style: image image: {back_flag_image()} z index: 2 visible: {is_modal_dfc()} front type hint: left: 407 top: 470 width: 80 height: 12 z index: 3 visible: {is_modal_dfc()} font: name: Beleren Bold size: 9 color: black front color hint: right: 540 top: 471 width: 80 height: 14 z index: 3 visible: {is_modal_dfc()} font: name: MPlantin size: 10 color: black symbol font: name: { styling.text_box_mana_symbols } size: 10 scale down to: 6 alignment: right middle