mse version: 2.1.2 game: magic short name: PipBoy full name: Fallout Showcase icon: card_sample.png position hint: 095 version: 2024-05-20 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-05-20 depends on: package: magic-mainframe-extras.mse-include version: 2007-09-23 card width: 744 card height: 1039 card dpi: 297 ### blanks by GenevensiS ### code by GenevensiS ############################################################## Extra scripts init script: swap_fonts_pt_default := [ name: {"OCRAStd"}, size: {28.0}, color: {"white"}, vertical: {0}, italic: {"OCRAStd"} ] swap_fonts_body_default := [ name: {"NeoSansPro-Regular"}, size: {22.0}, color: {"white"}, vertical: {0}, italic: {"NeoSansPro-Italic"} ] typeline_offset_width_1 := { -2 } typeline_offset_left_1 := { 1 } type_offset_top_1 := { 1 } indicator_offset_top_1 := { -2 } swap_fonts_type_default := [ name: {"NeoSansPro-Regular"}, size: {23.0}, color: {"white"}, vertical: {0}, italic: {""} ] transform_symbol_disabled_1 := { true } nameline_offset_top_1 := { 2 } swap_fonts_name_default := [ name: {"OCRAStd"}, size: {22.0}, color: {"white"}, vertical: {0}, italic: {""} ] card_stamp_offset_left_1 := { 1 } template_prefix := [ card: "card/", crown: "crown/", identity: "/magic-modules.mse-include/indicators/" ] template_suffix := [ card: "card.png", crown: "crown.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] } card_background := { color_background(input: card.card_color, type: "card", base_hybrid: card_hybrid)}@(offset: 0) card_crown := { color_background(input: card.card_color, type: "crown", base_hybrid: card_hybrid)}@(offset: 0) 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)) } chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -1500) else 0 } chop_bot := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split.1 != "" then clamp(split.1, maximum: 1500, minimum: -1500) else 0 } popout_left := { split := split_comma(styling.popout_image_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_image_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_image_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_image_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 } foil_mask_added_sections := { output := [] pt_field := if face == 1 then card.pt else card["pt_" + face] if pt_field != "" then output := output + ["foil_mask_pt.png"] if is_crowned() then output := output + ["foil_mask_crown.png"] output }@(face:1) ############################################################## Extra style options styling field: type: text name: popout image 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 image 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: choice name: hud selection description: What is selected on the lower HUD? choice: status choice: SPECIAL choice: skills choice: perks choice: general styling field: type: text name: hud opacity percentage description: Set the opacity percentage for the hud. Opaque is 100, transparent is 0, default is 100. styling field: type: text name: scanlines opacity percentage description: Set the opacity percentage for the scanlines. Opaque is 100, transparent is 0, default is 60. styling field: type: color name: scanlines color description: Use the specified color for the scanlines. choice: name: black color: rgb(0,0,0) choice: name: white color: rgb(255,255,255) initial: black styling field: type: choice name: legend crown description: Use the legend crown? choice: yes choice: if legendary choice: no initial: if legendary include file: /magic-modules.mse-include/stamps/styling_fields_ub 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/card-symbols/card_fields include file: /magic-modules.mse-include/names/card_fields include file: /magic-modules.mse-include/typelines/card_fields card style: casting cost: right: { casting_cost_right_1() + nameline_offset_left_1() + nameline_offset_width_1() } top: { casting_cost_top_1() + nameline_offset_top_1() } width: { casting_cost_width_1() } height: { casting_cost_height_1() + nameline_offset_height_1() } alignment: middle right shrink-overflow visible: { (not nameline_disabled_1()) and not casting_cost_disabled_1() } always symbol: true font: name: MPlantin italic name: MPlantin-Italic size: 30 color: black symbol font: name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } size: 30 z index: 920 ############################# Background stuff border color: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 100 mask: border_mask.png card color: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 210 popup style: in place render style: image image: { card_background() } mask: card_mask.png alias: left: 114 top: 120 right: 630 height: 22 z index: 1000 alignment: middle center shrink-overflow font: name: { body_font_italic() } size: 16 color: white ############################# Image image: left: { if styling.stretch_image_to_whole_card then 0 else 59 } top: { if styling.stretch_image_to_whole_card then 0 else 133 } width: { if styling.stretch_image_to_whole_card then stylesheet.card_width else 626 } height: { if styling.stretch_image_to_whole_card then stylesheet.card_height else 426 } z index: 0 mask: { if styling.stretch_image_to_whole_card then "image_mask_full.png" else "image_mask.png" } mainframe image: left: { popout_left() } top: { popout_top() } width: { popout_width() } height: { popout_height() } z index: 1010 ############################# Text box text: left: 74 top: { 664 + chop_top() + body_font_vertical() } right: 670 bottom: { 942 - 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 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: 12 color: { body_font_color() } symbol font: name: { styling.text_box_mana_symbols } size: { body_font_size() } scale down to: 12 ############################# PT pt: left: 595 top: { 934 + pt_font_vertical() } width: 91 height: 46 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 script: card.card_color editable: false save value: false show statistics: false 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: pt box editable: false save value: false show statistics: false choice: pt box extra card field: type: choice name: card stamp rim editable: false save value: false show statistics: false choice: card stamp rim extra card field: type: color name: card stamp border script: card.border_color editable: false save value: false show statistics: false extra card field: type: choice name: hud top editable: false save value: false show statistics: false choice: hud top extra card field: type: choice name: hud editable: false save value: false show statistics: false choice: hud extra card field: type: choice name: scanlines editable: false save value: false show statistics: false choice: scanlines extra card field: type: choice name: foil layer editable: false save value: false show statistics: false choice: foil layer extra card style: crown: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 310 visible: { is_crowned() } render style: image image: { card_crown() } alias box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 320 visible: { card.alias != "" } render style: image image: alias.png pt box: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 810 visible: { card.pt != "" } render style: image image: pt.png card stamp rim: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 610 render style: image image: { stamp_shape() + "_stamp_rim.png" } card stamp border: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 600 visible: { is_stamped() } mask: { "border_stamp_" + (if stamp_shape() == "triangle" then "tri_" else "") + "mask.png" } scanlines: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 10 render style: image image: { set_alpha(recolor_image("scanlines.png", color: styling.scanlines_color), alpha: get_alpha_percentage(styling.scanlines_opacity_percentage, default: 60)) } hud top: left: 0 top: { if card.alias == "" then 0 else 18 } width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 20 render style: image image: { set_alpha("hud_top.png", alpha: get_alpha_percentage(styling.hud_opacity_percentage, default: 100)) } hud: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 20 render style: image image: { set_alpha("hud_" + styling.hud_selection + ".png", alpha: get_alpha_percentage(styling.hud_opacity_percentage, default: 100)) } foil layer: left: 0 top: 0 width: { stylesheet.card_width } height: { stylesheet.card_height } z index: 1050 visible: { styling.overlay != "none" and styling.overlay != "" } render style: image image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" } mask: { foil_mask_blended_image() }