add avatar elemental showcase frame (#170)

* add avatar elemental showcase frame
This commit is contained in:
GenevensiS
2026-02-07 23:41:42 +01:00
committed by GitHub
parent 73fcaba07c
commit 9d13378480
70 changed files with 433 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,433 @@
mse version: 2.5.6
game: magic
short name: Elemental
full name: Avatar Showcase
icon: card_sample.png
position hint: 095
version: 2024-10-01
depends on:
package: magic.mse-game
version: 2014-06-25
depends on:
package: magic-mana-large.mse-symbol-font
version: 2007-09-23
depends on:
package: magic-mana-small.mse-symbol-font
version: 2007-09-23
depends on:
package: magic-modules.mse-include
version: 2024-10-01
depends on:
package: magic-mainframe-extras.mse-include
version: 2007-09-23
card width: 744
card height: 1039
card dpi: 297.6
### blanks by GenevensiS
### code by GenevensiS
############################################################## Extra scripts
init script:
swap_fonts_pt_default :=
[
name: {"Beleren Bold"},
size: {30.0},
color: {"black"},
vertical: {0},
italic: {""}
]
swap_fonts_body_default :=
[
name: {"MPlantin"},
size: {27.0},
color: {"black"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
type_offset_left_1 := { 3 }
rarity_offset_top_1 := { 2 }
rarity_offset_left_1 := { 5 }
indicator_offset_left_1 := { -4 }
typeline_character_limit := 34
swap_fonts_type_default :=
[
name: {"Beleren Bold"},
size: { 25.0 - max(0, (length(to_text(card.type)) - typeline_character_limit) / 3) },
color: {"white"},
vertical: {0},
italic: {""}
]
transform_symbol_disabled_1 := { true }
casting_cost_offset_top_1 := { 1 }
casting_cost_offset_left_1 := { 1 }
swap_fonts_name_default :=
[
name: {"Beleren Bold"},
size: {30.0},
color: {"white"},
vertical: {0},
italic: {""}
]
alias_offset_top_1 := { if is_crowned() then 2 else -2 }
alias_colors := {
[
w: rgb(243, 246, 231),
u: rgb( 82, 156, 178),
b: rgb(125, 127, 140),
r: rgb(199, 106, 78),
g: rgb(101, 137, 90),
a: rgb(136, 159, 174),
m: rgb(206, 176, 46),
c: rgb(113, 72, 19)
][input]
}
invert_watermark_1 := { false }
card_stamp_offset_top_1 := { if stamp_shape() == "triangle" then 6 else 0 }
information_copyright_offset_pt_top_1 := { -2 }
template_prefix :=
[
border: "border/",
card: "card/",
clearcard: "clearcard/",
pt: "pt/",
crown: "crown/",
noncrown: "noncrown/",
clearcrown: "clearcrown/",
alias: "alias/",
stamp: "stamp/",
nonstamp: "nonstamp/"
identity: "/magic-modules.mse-include/indicators/",
identity2: "/magic-modules.mse-include/indicators/",
]
template_suffix :=
[
border: ".png",
card: ".png",
clearcard: ".png",
pt: ".png",
crown: ".png",
noncrown: ".png",
clearcrown: ".png",
alias: ".png",
stamp: ".png",
nonstamp: ".png"
identity: "identity.png",
identity2: "identity.png",
]
template := { template_prefix[type] + input + template_suffix[type] }
land_template := { template_prefix[type] + (if input == "a" then "c" else input) + template_suffix[type] }
color_blend := { color_background(input: card.card_color, type: type, base_hybrid: card_hybrid, multicolor_blend: "white", hybrid_blend: "white", artifact_blend: "white") }
symbol_default :=
{
if contains(card.rule_text, match: "irbend") then "airbender"
else if contains(card.rule_text, match: "arthbend") then "earthbender"
else if contains(card.rule_text, match: "aterbend") then "waterbender"
else if contains(card.rule_text, match: "irebend") then "firebender"
else "nonbender"
}
pure_colors :=
{
sort_text(
order: if card_is_wedge(input) then "(wbgur)" else "(wubrg)",
(if chosen(card.card_color, choice:"white") then "w") +
(if chosen(card.card_color, choice:"blue") then "u") +
(if chosen(card.card_color, choice:"black") then "b") +
(if chosen(card.card_color, choice:"red") then "r") +
(if chosen(card.card_color, choice:"green") then "g")
)
}
pt_colors := { if styling.PT_color_scheme == "canon" then pt_colors_canon() else styling.PT_color_scheme }
pt_colors_canon := { if contains(card.card_color, match: "hybrid") then "land" else "gold" }
is_promo := { styling.promo }
is_unsorted := { styling.remove_from_autocount }
is_crowned := { styling.legend_crown == "yes" or (styling.legend_crown == "if legendary" and lang_setting("is_legendary")(card.super_type)) }
foil_mask_added_sections := { [] }
foil_mask_removed_sections := { [] }
chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split[0] != "" and split[0] != "-" then clamp(split[0], maximum:500, minimum:-500) else 0 }
chop_bottom := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split[1] != "" and split[1] != "-" then clamp(split[1], maximum:500, minimum:-500) else 0 }
chop_right := { split := split_comma(styling.chop_text_box); if length(split) > 2 and split[2] != "" and split[2] != "-" then clamp(split[2], maximum:500, minimum:-500) else 0 }
popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -500) else 0 }
popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, maximum: 2000, minimum: -500) else 0 }
popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, maximum: 1500, minimum: 0) else 0 }
popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 }
art_left := { 0 }
art_width := { stylesheet.card_width }
art_top := { if styling.stretch_art_to_whole_card then 0 else if styling.border == "yes" then (if is_crowned() then 121 else 117) else 0 }
art_bottom := { if styling.stretch_art_to_whole_card or styling.border == "no" or styling.border == "fade" then stylesheet.card_height else if styling.clear_frame then 904 else 577 }
art_mask := { crop("image_mask.png", offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_bottom() - art_top()) }
############################################################## Extra style options
styling field:
type: text
name: popout art coordinates
description: The coordinates for the popout image field, formatted as "left,top,width,height". Used to make the illustration jump in front of the frame.
styling field:
type: boolean
name: stretch art to whole card
description: Make the image span the whole card instead of just the visible part. Use this to help make popout effects.
initial: no
styling field:
type: boolean
name: clear frame
description: Make the motifs on the frame transparent.
initial: no
include file: /magic-modules.mse-include/texts/styling_fields
styling field:
type: choice
name: PT color scheme
description: Use the selected color scheme for the PT box on two color cards. Canon is "land" on hybrid cards, "gold" otherwise.
choice: canon
choice: gold
choice: hybrid
choice: colored
choice: land
initial: canon
styling field:
type: choice
name: legend crown
description: Use the legend crown?
choice: yes
choice: if legendary
choice: no
initial: yes
include file: /magic-modules.mse-include/rarities/styling_fields
include file: /magic-modules.mse-include/watermarks/styling_fields
include file: /magic-modules.mse-include/foils/styling_fields
styling field:
type: choice
name: border
description: Use a border?
choice: yes
choice: only copyright
choice: fade
choice: no
initial: only copyright
include file: /magic-modules.mse-include/information/styling_fields
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
include file: /magic-modules.mse-include/foils/card_fields
include file: /magic-modules.mse-include/alias/card_fields_under
card style:
############################# Background stuff
border color:
left: 0
top: 0
width: { stylesheet.card_width }
height: { stylesheet.card_height }
z index: 150
visible: { styling.border != "no" }
mask: { "border_" + (if styling.border == "only copyright" then "borderless_" else if styling.border == "fade" then "fade_" else "extended_") + "mask.png" }
card color:
left: 0
top: 0
width: { stylesheet.card_width }
height: { stylesheet.card_height }
z index: 200
popup style: in place
render style: image
image: { color_blend(type: if styling.clear_frame then "clearcard" else "card") }
mask: card_mask.png
############################# Image
image:
left: { art_left() }
top: { art_top() }
width: { art_width() }
bottom: { art_bottom() }
z index: 100
mask: { art_mask() }
mainframe image:
left: { popout_left() }
top: { popout_top() }
width: { popout_width() }
height: { popout_height() }
z index: 1000
############################# Text box
text:
left: 64
top: { 660 + chop_top() + body_font_vertical() }
right: { 680 - chop_right() }
bottom: { 951 - (if is_stamped() then 10 else 0) - chop_bottom() }
z index: 900
line height hard: { if is_modal(card.rule_text) then 0.9 else 1.2 }
line height line: 1.5
line height soft: 0.9
line height hard max: { if is_modal(card.rule_text) then 1.0 else 1.3 }
line height line max: 1.6
alignment:
script:
if (styling.center_text == "short text only" and
not contains(match:"\n", card.rule_text) and
card.flavor_text == "<i-flavor></i-flavor>" 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: { 937 + pt_font_vertical() }
width: 100
height: 36
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: pt box
editable: false
save value: false
show statistics: false
choice: pt box
extra card field:
type: choice
name: crown
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: color
name: stamp border
script: card.border_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: symbol
default: symbol_default()
show statistics: false
choice: nonbender
choice: airbender
choice: earthbender
choice: waterbender
choice: firebender
choice: bloodbender
choice: lightningbender
choice: metalbender
choice: lavabender
choice: avatar
choice: blank
extra card style:
pt box:
left: 0
top: 0
width: { stylesheet.card_width }
height: { stylesheet.card_height }
z index: 800
render style: image
image:
script:
if card.pt == "" then "nonpt.png" else (
pure := pure_colors()
count := length(pure)
color := pt_colors()
if color == "gold" and count > 1 then template("m", type: "pt")
else if color == "land" and count > 1 then template("c", type: "pt")
else if color == "hybrid" and count == 2 then masked_blend(mask: "special_blend_pt.png", dark: template(pure.0, type: "pt"), light: template(pure.1, type: "pt"))
else color_blend(type: "pt"))
crown:
left: 0
top: 0
width: { stylesheet.card_width }
height: { stylesheet.card_height }
z index: 190
render style: image
image: { color_blend(type: if is_crowned() then (if styling.border == "yes" or not styling.clear_frame then "crown" else "clearcrown") else "noncrown") }
stamp border:
left: 0
top: 0
width: { stylesheet.card_width }
height: { stylesheet.card_height }
z index: 210
visible: { (styling.border == "only copyright" or styling.border == "yes") and is_stamped() }
mask: stamp_border_mask.png
symbol:
left: 24
top: 505
width: 76
height: 77
z index: 210
popup style: in place
render style: image
choice images:
nonbender: symbol/nonbender.png
airbender: symbol/airbender.png
earthbender: symbol/earthbender.png
waterbender: symbol/waterbender.png
firebender: symbol/firebender.png
bloodbender: symbol/bloodbender.png
lightningbender: symbol/lightningbender.png
metalbender: symbol/metalbender.png
lavabender: symbol/lavabender.png
avatar: symbol/avatar.png
blank: symbol/blank.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB