diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/card.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/card.png new file mode 100644 index 000000000..7fa7144ad Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/card.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/card_sample.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/card_sample.png new file mode 100644 index 000000000..5096c57b0 Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/card_sample.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/image_mask.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/image_mask.png new file mode 100644 index 000000000..3b8771b3c Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/image_mask.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/mask_stamp_background_border.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/mask_stamp_background_border.png new file mode 100644 index 000000000..97e9436bc Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/mask_stamp_background_border.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/mask_stamp_background_border_triangle.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/mask_stamp_background_border_triangle.png new file mode 100644 index 000000000..1fe47d046 Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/mask_stamp_background_border_triangle.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/style b/data/magic-m15-aetherdrift-full-art-basics.mse-style/style new file mode 100644 index 000000000..051f740de --- /dev/null +++ b/data/magic-m15-aetherdrift-full-art-basics.mse-style/style @@ -0,0 +1,342 @@ +mse version: 2.5.0 +game: magic +short name: DFT Basics +full name: Aetherdrift Full Art +icon: card_sample.png +position hint: 099 + +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-10-01 +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_type_default := + [ + name: {"Beleren Bold"}, + size: {26.5}, + color: { "white" }, + vertical: {0}, + italic: {""} + ] + + typeline_offset_top_1 := { 294 } + typeline_offset_left_1 := { 77 } + typeline_offset_width_1 := { -77 } + transform_symbol_disabled_1 := { true } + card_symbol_disabled_1 := { true } + swap_fonts_name_default := + [ + name: {"Beleren Bold"}, + size: {30.0}, + color: { "white" }, + vertical: {0}, + italic: {""} + ] + + two_types := { styling.second_land_type != "none" } + + card_symbol := + { + first := "symbol/" + type_to_letter_map[styling.land_type] + ".png" + if not two_types() then first else ( + second := "symbol/" + type_to_letter_map[styling.second_land_type] + ".png" + linear_blend( + image1: first, + image2: second, + x1: 0.49, y1: 0, + x2: 0.51, y2: 0 + )) + } + + card_full_name := { value } + card_full_name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] } + name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] } + + super_type_filter_default := { (if two_types() then "" else "Basic ") + "Land" } + sub_type_filter_default := + { + base := to_title(styling.land_type) + (if two_types() then " " + to_title(styling.second_land_type) else "") + if base == "Wastes" then "" else base + } + + border_color_default := { rgb(246,193,19) } + + type_to_name_map := + [ + "plains,none": "Plains", + "island,none": "Island", + "swamp,none": "Swamp", + "mountain,none": "Mountain", + "forest,none": "Forest", + "wastes,none": "Wastes", + + "plains,wastes": "Wasted Plains", + "island,wastes": "Wasted Island", + "swamp,wastes": "Wasted Swamp", + "mountain,wastes": "Wasted Mountain", + "forest,wastes": "Wasted Forest", + "wastes,wastes": "Wastes", + + "plains,plains": "Plains", + "island,plains": "Tundra", + "swamp,plains": "Scrubland", + "mountain,plains": "Plateau", + "forest,plains": "Savannah", + "wastes,plains": "Wasted Plains", + + "plains,island": "Tundra", + "island,island": "Island", + "swamp,island": "Underground Sea", + "mountain,island": "Volcanic Island", + "forest,island": "Tropical Island", + "wastes,island": "Wasted Island", + + "plains,swamp": "Scrubland", + "island,swamp": "Underground Sea", + "swamp,swamp": "Swamp", + "mountain,swamp": "Badlands", + "forest,swamp": "Bayou", + "wastes,swamp": "Wasted Swamp", + + "plains,mountain": "Plateau", + "island,mountain": "Volcanic Island", + "swamp,mountain": "Badlands", + "mountain,mountain": "Mountain", + "forest,mountain": "Taiga", + "wastes,mountain": "Wasted Mountain", + + "plains,forest": "Savannah", + "island,forest": "Tropical Island", + "swamp,forest": "Bayou", + "mountain,forest": "Taiga", + "forest,forest": "Forest", + "wastes,forest": "Wasted Forest" + ] + type_to_letter_map := + [ + plains: "w", + island: "u", + swamp: "b", + mountain: "r", + forest: "g", + wastes: "c", + none: "none" + ] + type_to_color_map := + [ + plains: ", white", + island: ", blue", + swamp: ", black", + mountain: ", red", + forest: ", green", + wastes: "", + none: ", none" + ] + + is_promo := { styling.promo } + + is_unsorted := { styling.remove_from_autocount } + + popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, minimum: -500, maximum: 800) else 0 } + popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, minimum: -500, maximum: 1100) else 0 } + popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, minimum: 0, maximum: 1500) else 0 } + popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, minimum: 0, maximum: 2000) else 0 } + + art_left := { if styling.stretch_art_to_whole_card then 0 else if styling.border != "yes" then 0 else 30 } + art_top := { if styling.stretch_art_to_whole_card then 0 else if styling.border != "yes" then 0 else 30 } + art_width := { if styling.stretch_art_to_whole_card then stylesheet.card_width else if styling.border != "yes" then stylesheet.card_width else 684 } + art_bottom := { if styling.stretch_art_to_whole_card then stylesheet.card_height + 1 else if styling.border != "no" then 954 else stylesheet.card_height + 1 } + 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: choice + name: land type + description: What type is this card? + choice: plains + choice: island + choice: swamp + choice: mountain + choice: forest + choice: wastes + initial: plains +styling field: + type: choice + name: second land type + description: What type is this card? + choice: + name: none + line below: true + choice: plains + choice: island + choice: swamp + choice: mountain + choice: forest + choice: wastes + initial: none +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: package choice + name: overlay + description: Should there be an overlay applied, such as foil? + match: magic-overlay-*.mse-include + required: false +styling field: + type: choice + name: border + description: Use a border? + choice: yes + choice: only copyright + choice: no + initial: yes +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 +styling field: + type: boolean + name: promo + description: Is this card a promo card, with the "P" rarity? + initial: no +styling field: + type: color + name: copyright text color + description: Color of the copyright, illustrator, card number, and set code text. + choice: white + choice: black + initial: black + +############################################################## 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/namelines/card_fields + +include file: /magic-modules.mse-include/typelines/card_fields + +card style: + ############################# Background stuff + border color: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 100 + visible: { styling.border != "no" } + mask: { "/magic-modules.mse-include/borders/744x1039/m15/full_art/" + (if styling.border == "yes" then "base.png" else "borderless.png") } + ############################# Image + image: + left: { art_left() } + width: { art_width() } + top: { art_top() } + bottom: { art_bottom() } + z index: 0 + mask: { art_mask() } + mainframe image: + left: { popout_left() } + top: { popout_top() } + width: { popout_width() } + height: { popout_height() } + z index: 1010 + +############################################################## Extra card fields + +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: symbol + editable: false + save value: false + show statistics: false + choice: symbol +extra card field: + type: choice + name: card background + editable: false + save value: false + show statistics: false + choice: card background +extra card field: + type: choice + name: foil layer + editable: false + save value: false + show statistics: false + choice: foil layer + +extra card style: + card stamp border: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 110 + visible: { styling.border != "no" and is_stamped() } + mask: { if card.card_stamp == "universes beyond" then "mask_stamp_background_border_triangle.png" else "mask_stamp_background_border.png" } + card background: + left: 0 + top: 0 + width: 744 + height: 1039 + z index: 200 + render style: image + image: card.png + symbol: + left: 32 + top: 868 + width: 81 + height: 81 + z index: 210 + render style: image + image: { card_symbol() } + 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" } diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/b.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/b.png new file mode 100644 index 000000000..4b37b49de Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/b.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/c.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/c.png new file mode 100644 index 000000000..7719c2c81 Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/c.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/g.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/g.png new file mode 100644 index 000000000..c7991ed40 Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/g.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/r.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/r.png new file mode 100644 index 000000000..ce1421acb Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/r.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/u.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/u.png new file mode 100644 index 000000000..1f60f6bde Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/u.png differ diff --git a/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/w.png b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/w.png new file mode 100644 index 000000000..7fc801dcf Binary files /dev/null and b/data/magic-m15-aetherdrift-full-art-basics.mse-style/symbol/w.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_mask.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_mask.png new file mode 100644 index 000000000..26d0ec11d Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_mask_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_mask_borderless.png new file mode 100644 index 000000000..116726f21 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_mask_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_stamp_mask.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_stamp_mask.png new file mode 100644 index 000000000..55f19173a Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/border_stamp_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card.png new file mode 100644 index 000000000..4297933aa Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_borderless.png new file mode 100644 index 000000000..4643a97cb Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_sample.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_sample.png new file mode 100644 index 000000000..d5180232f Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_sample.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_tall.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_tall.png new file mode 100644 index 000000000..0c5ff62ae Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_tall.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_tall_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_tall_borderless.png new file mode 100644 index 000000000..c29627679 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/card_tall_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask.png new file mode 100644 index 000000000..f5322153b Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_borderless.png new file mode 100644 index 000000000..a75042669 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_tall.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_tall.png new file mode 100644 index 000000000..2be44870d Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_tall.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_tall_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_tall_borderless.png new file mode 100644 index 000000000..9fe677ed4 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/image_mask_tall_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost + shadow.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost + shadow.png new file mode 100644 index 000000000..0c8535fc1 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost + shadow.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost +.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost +.png new file mode 100644 index 000000000..c8d7572ac Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost +.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost - shadow.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost - shadow.png new file mode 100644 index 000000000..d9ca5c32b Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost - shadow.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost -.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost -.png new file mode 100644 index 000000000..a68516f68 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost -.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost 0 shadow.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost 0 shadow.png new file mode 100644 index 000000000..ee38c8cf7 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost 0 shadow.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost 0.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost 0.png new file mode 100644 index 000000000..fdac64f5a Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty cost 0.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty shadow.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty shadow.png new file mode 100644 index 000000000..86b2fb83b Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty shadow.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty.png new file mode 100644 index 000000000..61013c9af Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/loyalty.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/nonstamp.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/nonstamp.png new file mode 100644 index 000000000..51836e2e3 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/nonstamp.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/style b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/style new file mode 100644 index 000000000..012ac86c0 --- /dev/null +++ b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/style @@ -0,0 +1,354 @@ +mse version: 2.5.0 +game: magic +short name: First-Place PW +full name: Aetherdrift 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 + +### blanks by GenevensiS +### code by GenevensiS + +############################################################## Extra scripts + +init script: + swap_fonts_body_default := + [ + name: {"MPlantin"}, + size: {26.0}, + color: {styling.rule_text_color}, + vertical: {0}, + italic: {"MPlantin-Italic"} + ] + + move_typeline := { if use_tall_walker_frame_1() then 70 else 0 } + + typeline_offset_top_1 := { - move_typeline() } + swap_fonts_type_default := + [ + name: {"Beleren Bold"}, + size: {26.0}, + color: {"white"}, + vertical: {0}, + italic: {""} + ] + + transform_symbol_disabled_1 := { true } + card_symbol_offset_top_1 := { 1 } + card_symbol_offset_left_1 := { 1 } + nameline_offset_top_1 := { 1 } + nameline_offset_top_1 := { -15 } + swap_fonts_name_default := + [ + name: {"Beleren Bold"}, + size: {30.0}, + color: {"white"}, + vertical: {0}, + italic: {""} + ] + + is_promo := { styling.promo } + is_unsorted := { styling.remove_from_autocount } + + 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, minimum: -500, maximum: 1500) else 0 } + popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, minimum: -500, maximum: 2000) else 0 } + popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, minimum: 0, maximum: 1500) else 0 } + popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, minimum: 0, maximum: 2000) else 0 } + + art_left := { if styling.stretch_art_to_whole_card or contains(styling.layout, match: "extended art") then 0 else if use_tall_walker_frame_1() then 54 else 53 } + art_top := { if styling.stretch_art_to_whole_card or contains(styling.layout, match: "extended art") then 0 else if use_tall_walker_frame_1() then 106 else 106 } + art_width := { if styling.stretch_art_to_whole_card or contains(styling.layout, match: "extended art") then stylesheet.card_width else if use_tall_walker_frame_1() then 635 else 637 } + art_height := { if styling.stretch_art_to_whole_card or contains(styling.layout, match: "extended art") then stylesheet.card_height else if use_tall_walker_frame_1() then 398 else 468 } + + art_mask := + { + base := "image_mask" + + (if use_tall_walker_frame_1() then "_tall" else "") + + (if contains(styling.layout, match: "extended art") then "_borderless" else "") + + ".png" + crop(base, offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_height()) + } + + border_color_default := { rgb(246,193,19) } + + loyalty_boxes_image_folder := { "/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/loyalty/" } + + loyalty_cost_offset_text_margin_1 := { 9 } + + loyalty_stripe_alpha_default := { 0 } + loyalty_textbox_background_alpha_default := { 0 } + + loyalty_textbox_mask_1 := + { + "textbox_mask" + + (if use_tall_walker_frame_1() then "_tall" else "") + + (if is_stamped() then "_stamp" else "") + + ".png" + } + + include file: /magic-modules.mse-include/loyalty/init_script + +############################################################## 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: choice + name: layout + description: What should the shape of the card be? + choice: normal + choice: extended art + #choice: rude riders extended art + initial: normal + +include file: /magic-modules.mse-include/loyalty/styling_formatting + +styling field: + type: text + name: textbox opacity percentage + description: Set the opacity percentage for textboxes. Opaque is 100, transparent is 0, default is 0. +styling field: + type: color + name: textbox color + description: Use the specified color for the textbox background. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(255,255,255) +styling field: + type: text + name: stripes opacity percentage + description: Set the opacity percentage for stripes separating abilities. Opaque is 100, transparent is 0, default is 0. +styling field: + type: color + name: stripes color + description: Use the specified color for the textbox background. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(255,255,255) +styling field: + type: color + name: rule text color + description: Use the specified color for the rule text. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(255,255,255) + +include file: /magic-modules.mse-include/texts/styling_fields + +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 +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 +styling field: + type: boolean + name: promo + description: Is this card a promo card, with the "P" rarity? + initial: no +styling field: + type: color + name: copyright text color + description: Color of the copyright, illustrator, card number, and set code text. + choice: white + choice: black + initial: black + +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/loyalty/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/typelines/card_fields + +include file: /magic-modules.mse-include/namelines/card_fields + +card style: + ############################# Background stuff + border color: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 200 + mask: { if contains(styling.layout, match: "extended art") then "border_mask_borderless.png" else "border_mask.png" } + ############################# Image + image: + left: { art_left() } + top: { art_top() } + width: { art_width() } + height: { art_height() } + z index: 100 + mask: { art_mask() } + mainframe image: + left: { popout_left() } + top: { popout_top() } + width: { popout_width() } + height: { popout_height() } + z index: 1010 + ############################# Text box + text: + left: 97 + top: { 653 - move_typeline() + chop_top() + (if is_stamped() then 4 else 0) + body_font_vertical() } + right: { 677 - chop_right() } + bottom: { 947 - chop_bottom() - if is_stamped() then 7 else 0 } + 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: 2.2 + 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 + +############################################################## Extra card fields + +extra card field: + type: choice + name: card background + editable: false + save value: false + show statistics: false + choice: card background +extra card field: + type: choice + name: card stamp rim + script: card.card_color + editable: false + save value: false + show statistics: false +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: foil layer + editable: false + save value: false + show statistics: false + choice: foil layer + +extra card style: + card background: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 220 + render style: image + image: + script: + "card" + + (if use_tall_walker_frame_1() then "_tall" else "") + + (if contains(styling.layout, match: "extended art") then "_borderless" else "") + + ".png" + card stamp rim: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 230 + visible: { not is_stamped() } + render style: image + image: nonstamp.png + card stamp border: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 210 + visible: { is_stamped() and not contains(styling.layout, match: "extended art") } + mask: border_stamp_mask.png + 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" } diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask.png new file mode 100644 index 000000000..c349083c3 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_stamp.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_stamp.png new file mode 100644 index 000000000..53aee4892 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_stamp.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_tall.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_tall.png new file mode 100644 index 000000000..8ff91fa5a Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_tall.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_tall_stamp.png b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_tall_stamp.png new file mode 100644 index 000000000..0c16c8e92 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place-walker.mse-style/textbox_mask_tall_stamp.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_mask.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_mask.png new file mode 100644 index 000000000..7d113bc06 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_mask_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_mask_borderless.png new file mode 100644 index 000000000..4f6506d0a Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_mask_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_stamp_mask.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_stamp_mask.png new file mode 100644 index 000000000..55f19173a Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/border_stamp_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card.png new file mode 100644 index 000000000..fa685b087 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card_borderless.png new file mode 100644 index 000000000..cc0e97814 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card_sample.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card_sample.png new file mode 100644 index 000000000..471dd60d4 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/card_sample.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/crown.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/crown.png new file mode 100644 index 000000000..73af7c119 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/crown.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask.png new file mode 100644 index 000000000..6e973a6d5 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_crown.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_crown.png new file mode 100644 index 000000000..994e3662e Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_crown.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_pt.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_pt.png new file mode 100644 index 000000000..4461bf3da Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_pt.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_stamp.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_stamp.png new file mode 100644 index 000000000..54e49f548 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/foil_mask_stamp.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/image_mask.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/image_mask.png new file mode 100644 index 000000000..7749c7735 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/image_mask.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/image_mask_borderless.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/image_mask_borderless.png new file mode 100644 index 000000000..3610a8a00 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/image_mask_borderless.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/pt.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/pt.png new file mode 100644 index 000000000..70f6c1d55 Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/pt.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/stamp.png b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/stamp.png new file mode 100644 index 000000000..5863cbdae Binary files /dev/null and b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/stamp.png differ diff --git a/data/magic-m15-showcase-aetherdrift-first-place.mse-style/style b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/style new file mode 100644 index 000000000..22e197390 --- /dev/null +++ b/data/magic-m15-showcase-aetherdrift-first-place.mse-style/style @@ -0,0 +1,362 @@ +mse version: 2.5.0 +game: magic +short name: First-Place +full name: Aetherdrift 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 + +### blanks by GenevensiS +### code by GenevensiS + +############################################################## Extra scripts + +init script: + transform_symbol_disabled_1 := { true } + casting_cost_offset_top_1 := { 1 } + + type_offset_top_1 := { -1 } + rarity_offset_top_1 := { 3 } + + swap_fonts_pt_default := + [ + name: {"Beleren Bold"}, + size: {30.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: {25.5}, + color: {"white"}, + vertical: {0}, + italic: {""} + ] + + swap_fonts_name_default := + [ + name: {"Beleren Bold"}, + size: {29.0}, + color: {"white"}, + vertical: {0}, + italic: {""} + ] + + card_stamp_offset_top_1 := { if stamp_shape() == "triangle" then 4 else 0 } + + border_color_default := { rgb(246,193,19) } + + #foil_mask_added_sections := { + # output := [] + # if card.pt != "" then output := output + ["foil_mask_pt.png"] + # if is_crowned() then output := output + ["foil_mask_crown.png"] + # output + #}@(face:1) + #foil_mask_removed_sections := { + # output := [] + # if is_stamped() then output := output + ["foil_mask_stamp.png"] + # output + #}@(face:1) + + 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_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 := { if styling.stretch_art_to_whole_card then 0 else if contains(styling.layout, match: "extended art") then 0 else 58 } + art_top := { if styling.stretch_art_to_whole_card then 0 else if contains(styling.layout, match: "extended art") then 0 else 118 } + art_width := { if styling.stretch_art_to_whole_card then stylesheet.card_width else if contains(styling.layout, match: "extended art") then stylesheet.card_width else 627 } + art_height := { if styling.stretch_art_to_whole_card then stylesheet.card_height else if contains(styling.layout, match: "extended art") then 918 else 459 } + + art_mask := + { + base := if contains(styling.layout, match: "extended art") then "image_mask_borderless.png" else "image_mask.png" + crop(base, offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_height()) + } + +############################################################## 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: choice + name: layout + description: What should the shape of the card be? + choice: normal + choice: extended art + #choice: rude riders extended art + initial: normal + +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: no + +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 +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 +styling field: + type: boolean + name: promo + description: Is this card a promo card, with the "P" rarity? + initial: no +styling field: + type: color + name: copyright text color + description: Color of the copyright, illustrator, card number, and set code text. + choice: white + choice: black + initial: black + +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: + ############################# Background stuff + border color: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 200 + mask: { if contains(styling.layout, match: "extended art") then "border_mask_borderless.png" else "border_mask.png" } + ############################# Image + image: + left: { art_left() } + top: { art_top() } + width: { art_width() } + height: { art_height() } + z index: 100 + mask: { art_mask() } + mainframe image: + left: { popout_left() } + top: { popout_top() } + width: { popout_width() } + height: { popout_height() } + z index: 1010 + ############################# Text box + text: + left: 66 + top: { 666 + chop_top() + (if is_stamped() then 3 else 0) + body_font_vertical() } + right: 678 + bottom: { 948 - chop_bot() - if is_stamped() then 6 else 0 } + 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: 591 + top: { 931 + pt_font_vertical() } + width: 99 + 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: card background + editable: false + save value: false + show statistics: false + choice: card background +extra card field: + type: choice + name: crown + editable: false + save value: false + show statistics: false + choice: crown +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: card stamp border + script: card.border_color + editable: false + save value: false + show statistics: false +extra card field: + type: choice + name: card stamp rim + script: card.card_color + editable: false + save value: false + show statistics: false +extra card field: + type: choice + name: foil layer + editable: false + save value: false + show statistics: false + choice: foil layer + +extra card style: + card background: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 210 + render style: image + image: { if contains(styling.layout, match: "extended art") then "card_borderless.png" else "card.png" } + pt box: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 840 + visible: { card.pt != "" } + render style: image + image: pt.png + crown: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 800 + visible: { is_crowned() } + render style: image + image: crown.png + card stamp rim: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 330 + visible: { is_stamped() } + render style: image + image: stamp.png + card stamp border: + left: 0 + top: 0 + width: { stylesheet.card_width } + height: { stylesheet.card_height } + z index: 310 + visible: { is_stamped() } + mask: border_stamp_mask.png + 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" } diff --git a/data/magic-modules.mse-include/loyalty/loyalty.png b/data/magic-modules.mse-include/loyalty/loyalty.png index 7096ecff9..02e68a5c7 100644 Binary files a/data/magic-modules.mse-include/loyalty/loyalty.png and b/data/magic-modules.mse-include/loyalty/loyalty.png differ diff --git a/data/magic-modules.mse-include/loyalty/readme.txt b/data/magic-modules.mse-include/loyalty/readme.txt index 686c46553..0bd1c5c20 100644 --- a/data/magic-modules.mse-include/loyalty/readme.txt +++ b/data/magic-modules.mse-include/loyalty/readme.txt @@ -68,3 +68,13 @@ loyalty_textbox_mask_1 := then "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png" else "/magic-modules.mse-include/loyalty/default_textbox_mask.png" } + +#### To change the default transparency percentage for the stripes and textboxes: +loyalty_stripe_alpha_default := { 40 } +loyalty_textbox_background_alpha_default := { 70 } + +#### To change the folder from which the ability box images are taken: +#### You must write the path of the folder starting from the data folder +#### The image files must have the same names as the ones in the default folder (/magic-modules.mse-include/loyalty/) +#### You can omit some images and it will use the default ones instead +loyalty_boxes_image_folder := { "/magic-modules.mse-include/loyalty/" } diff --git a/data/magic-modules.mse-include/loyalty/styling_formatting b/data/magic-modules.mse-include/loyalty/styling_formatting index 99c5c88d9..f512f6fc3 100644 --- a/data/magic-modules.mse-include/loyalty/styling_formatting +++ b/data/magic-modules.mse-include/loyalty/styling_formatting @@ -15,7 +15,7 @@ styling field: styling field: type: choice name: use tall frame - description: Determines when to use the tall frame. + description: Determines when to use the tall frame. Default uses the tall frame when there are four abilities or more. choice: default choice: always choice: never diff --git a/data/magic-modules.mse-include/loyalty/styling_formatting_dfc b/data/magic-modules.mse-include/loyalty/styling_formatting_dfc index 42fce9d1d..505d8b35a 100644 --- a/data/magic-modules.mse-include/loyalty/styling_formatting_dfc +++ b/data/magic-modules.mse-include/loyalty/styling_formatting_dfc @@ -15,7 +15,7 @@ styling field: styling field: type: choice name: use tall frame 2 - description: Determines when to use the tall frame. + description: Determines when to use the tall frame. Default uses the tall frame when there are four abilities or more. choice: default choice: always choice: never diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script index c37afb6b1..6cd6364ed 100644 --- a/data/magic.mse-game/script +++ b/data/magic.mse-game/script @@ -51,6 +51,7 @@ has_png := contains@(match:".png") has_none := contains@(match: "none") starts_vowel := match@(match:"[aâäàáeêëèéiîïìíoôöòóuûüùúAÂÄÀÁEÊËÈÉIÎÏÌÍOÔÖÒÓUÛÜÙÚ]") +ends_dash := match@(match: "/$") remove_comma := replace@(match: ",", replace: "") long_dash := replace@(match:"-", replace:"—") @@ -3430,11 +3431,17 @@ loyalty_cost_box_default := else if contains(cost, match: "-") then "-, shadow" else "0, shadow" } +loyalty_boxes_image_folder := { "/magic-modules.mse-include/loyalty/" } loyalty_cost_box_image := { shape := remove_comma(loyalty_cost_box_field(input + (instance-1)*8)) if contains(shape, match: "none") then "" - else "/magic-modules.mse-include/loyalty/loyalty cost " + shape + ".png" + else ( + folder := loyalty_boxes_image_folder() + if not ends_dash(folder) then folder := folder + "/" + name := "loyalty cost " + shape + ".png" + path := folder + name + if exists_in_package(path) then path else "/magic-modules.mse-include/loyalty/" + name) } loyalty_field := @@ -3460,7 +3467,12 @@ loyalty_box_image := { shape := remove_comma(loyalty_box_field(instance)) if has_none(shape) then "" - else "/magic-modules.mse-include/loyalty/" + shape + ".png" + else ( + folder := loyalty_boxes_image_folder() + if not ends_dash(folder) then folder := folder + "/" + name := shape + ".png" + path := folder + name + if exists_in_package(path) then path else "/magic-modules.mse-include/loyalty/" + name) } loyalty_face_1 := { 1 } @@ -3747,10 +3759,11 @@ loyalty_stripe_mask := ) ) } +loyalty_stripe_alpha_default := { "40" } loyalty_stripe_separator_image := { color := if instance <= 1 then (styling.stripes_color or else rgb(255,255,255)) else (styling["stripes_color_" + instance] or else rgb(255,255,255)) - alpha := if instance <= 1 then (styling.stripes_opacity_percentage or else "40") else (styling["stripes_opacity_percentage_" + instance] or else "40") + alpha := if instance <= 1 then (styling.stripes_opacity_percentage or else loyalty_stripe_alpha_default()) else (styling["stripes_opacity_percentage_" + instance] or else loyalty_stripe_alpha_default()) set_alpha( recolor_image( "/magic-modules.mse-include/loyalty/stripe_" + (if (input mod 2) == 0 then "top" else "bottom") + ".png", @@ -3758,14 +3771,14 @@ loyalty_stripe_separator_image := ), alpha: get_alpha_percentage( alpha, - default: 40 + default: loyalty_stripe_alpha_default() ) ) } loyalty_stripe_image := { color := if instance <= 1 then (styling.stripes_color or else rgb(255,255,255)) else (styling["stripes_color_" + instance] or else rgb(255,255,255)) - alpha := if instance <= 1 then (styling.stripes_opacity_percentage or else "40") else (styling["stripes_opacity_percentage_" + instance] or else "40") + alpha := if instance <= 1 then (styling.stripes_opacity_percentage or else loyalty_stripe_alpha_default()) else (styling["stripes_opacity_percentage_" + instance] or else loyalty_stripe_alpha_default()) set_alpha( recolor_image( "/magic-modules.mse-include/loyalty/color.png", @@ -3773,14 +3786,15 @@ loyalty_stripe_image := ), alpha: get_alpha_percentage( alpha, - default: 40 + default: loyalty_stripe_alpha_default() ) ) } +loyalty_textbox_background_alpha_default := { "70" } loyalty_textbox_background_image := { color := if instance <= 1 then (styling.textbox_color or else rgb(255,255,255)) else (styling["textbox_color_" + instance] or else rgb(255,255,255)) - alpha := if instance <= 1 then (styling.textbox_opacity_percentage or else "70") else (styling["textbox_opacity_percentage_" + instance] or else "70") + alpha := if instance <= 1 then (styling.textbox_opacity_percentage or else loyalty_textbox_background_alpha_default()) else (styling["textbox_opacity_percentage_" + instance] or else loyalty_textbox_background_alpha_default()) set_alpha( recolor_image( "/magic-modules.mse-include/loyalty/color.png", @@ -3788,7 +3802,7 @@ loyalty_textbox_background_image := ), alpha: get_alpha_percentage( alpha, - default: 70 + default: loyalty_textbox_background_alpha_default() ) ) }