diff --git a/data/magic-m15-emblem-cajun.mse-style/style b/data/magic-m15-emblem-cajun.mse-style/style
index 918acb9e74..54afa5b770 100644
--- a/data/magic-m15-emblem-cajun.mse-style/style
+++ b/data/magic-m15-emblem-cajun.mse-style/style
@@ -6,7 +6,7 @@ installer group: magic/m15 style/emblems
icon: card-sample.png
position hint: 090
-version: 2024-06-06
+version: 2026-05-13
depends on:
package: magic.mse-game
version: 2020-04-25
@@ -23,6 +23,48 @@ depends on:
card width: 375
card height: 523
card dpi: 150
+############################################################## Convert to magic-m15-emblem
+update cards script:
+ before version: 2026-05-14
+ script:
+ reqs := [["magic-m15-emblem.mse-style", "2026-02-28"]]
+ #if true then [] else
+ if not has_required_stylesheets(reqs)
+ then []
+ else (
+ styling_data := [
+ frame_type: "M15",
+ compatibility: "yes",
+ center_text: styling.center_text,
+ overlay: styling.overlay,
+ remove_from_autocount: styling.remove_from_autocount,
+ #text_box_mana_symbols: styling.text_box_mana_symbols,
+ use_guild_mana_symbols: styling.use_guild_mana_symbols,
+ tap_symbol: styling.tap_symbol
+ ]
+ if styling.popout_image_style != "" then (
+ old_popout_numbers := split_text(styling.popout_image_style, match:", ?")
+ new_popout_numbers := for each n in old_popout_numbers do if n == "" then "" else 2*n + ","
+ styling_data := styling_data + [popout_art_coordinates:new_popout_numbers]
+ )
+ font_size := to_int(styling.font_size or else 0)
+ if font_size != 0 then (
+ styling_data := styling_data + [
+ apply_custom_fonts: "yes",
+ custom_body_font: ";{2*font_size};"
+ ]
+ )
+ [
+ new_card(
+ [
+ stylesheet: "magic-m15-emblem.mse-style",
+ styling_data: styling_data
+ ],
+ copy_from:card
+ )
+ ]
+ )
+
##### Flavor Bar image by SirnightNano
############################################################## Extra scripts
init script:
diff --git a/data/magic-m15-emblem.mse-style/acorntail/card.png b/data/magic-m15-emblem.mse-style/acorntail/card.png
new file mode 100644
index 0000000000..5fc3b28bb6
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/acorntail/card.png differ
diff --git a/data/magic-m15-emblem.mse-style/acorntail/image_mask.png b/data/magic-m15-emblem.mse-style/acorntail/image_mask.png
new file mode 100644
index 0000000000..61f341d409
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/acorntail/image_mask.png differ
diff --git a/data/magic-m15-emblem.mse-style/artist_arrow.png b/data/magic-m15-emblem.mse-style/artist_arrow.png
deleted file mode 100644
index 5d30c72a79..0000000000
Binary files a/data/magic-m15-emblem.mse-style/artist_arrow.png and /dev/null differ
diff --git a/data/magic-m15-emblem.mse-style/build.bat b/data/magic-m15-emblem.mse-style/build.bat
deleted file mode 100644
index 48262f96db..0000000000
--- a/data/magic-m15-emblem.mse-style/build.bat
+++ /dev/null
@@ -1,7 +0,0 @@
-cd ..
-
-cd ..
-
-mse --create-installer magic-m15-emblem.mse-style magic-blends.mse-include magic-mana-small.mse-symbol-font magic-future-common.mse-include magic-embossedletters.mse-symbol-font
-
-ren "magic-m15-emblem.mse-installer" "Magic - M15 Emblem.mse-installer"
\ No newline at end of file
diff --git a/data/magic-m15-emblem.mse-style/card-sample.png b/data/magic-m15-emblem.mse-style/card-sample.png
deleted file mode 100644
index 7e1d05c690..0000000000
Binary files a/data/magic-m15-emblem.mse-style/card-sample.png and /dev/null differ
diff --git a/data/magic-m15-emblem.mse-style/card_sample.png b/data/magic-m15-emblem.mse-style/card_sample.png
new file mode 100644
index 0000000000..33be3a8927
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/card_sample.png differ
diff --git a/data/magic-m15-emblem.mse-style/frame.png b/data/magic-m15-emblem.mse-style/frame.png
deleted file mode 100644
index e20023e5b7..0000000000
Binary files a/data/magic-m15-emblem.mse-style/frame.png and /dev/null differ
diff --git a/data/magic-m15-emblem.mse-style/frame_mask.png b/data/magic-m15-emblem.mse-style/frame_mask.png
deleted file mode 100644
index 9c2ad58942..0000000000
Binary files a/data/magic-m15-emblem.mse-style/frame_mask.png and /dev/null differ
diff --git a/data/magic-m15-emblem.mse-style/image_mask.png b/data/magic-m15-emblem.mse-style/image_mask.png
deleted file mode 100644
index a283e2b384..0000000000
Binary files a/data/magic-m15-emblem.mse-style/image_mask.png and /dev/null differ
diff --git a/data/magic-m15-emblem.mse-style/m15/card.png b/data/magic-m15-emblem.mse-style/m15/card.png
new file mode 100644
index 0000000000..cd3b5f1196
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/m15/card.png differ
diff --git a/data/magic-m15-emblem.mse-style/m15/image_mask.png b/data/magic-m15-emblem.mse-style/m15/image_mask.png
new file mode 100644
index 0000000000..cbca0f74e5
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/m15/image_mask.png differ
diff --git a/data/magic-m15-emblem.mse-style/m20/card.png b/data/magic-m15-emblem.mse-style/m20/card.png
new file mode 100644
index 0000000000..287436d44d
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/m20/card.png differ
diff --git a/data/magic-m15-emblem.mse-style/m20/image_mask.png b/data/magic-m15-emblem.mse-style/m20/image_mask.png
new file mode 100644
index 0000000000..cb03135cf6
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/m20/image_mask.png differ
diff --git a/data/magic-m15-emblem.mse-style/pt.png b/data/magic-m15-emblem.mse-style/pt.png
new file mode 100644
index 0000000000..d8c62a1af2
Binary files /dev/null and b/data/magic-m15-emblem.mse-style/pt.png differ
diff --git a/data/magic-m15-emblem.mse-style/style b/data/magic-m15-emblem.mse-style/style
index b9ccc4c7f8..f662ba7a07 100644
--- a/data/magic-m15-emblem.mse-style/style
+++ b/data/magic-m15-emblem.mse-style/style
@@ -1,246 +1,359 @@
-mse version: 2.0.0
-game: magic
-short name: Emblems
-full name: M15 style
-installer group: magic/m15 style/emblems
-icon: card-sample.png
-position hint: 090
-
-version: 2024-06-06
+mse version: 2.6.0
+game: magic
+short name: M15 Emblem
+full name: also M20, Acorntail
+icon: card_sample.png
+position hint: 000071
+installer group: magic/M15 Frames/Standard/M15 Emblem
+
+
+version: 2026-02-28
depends on:
- package: magic.mse-game
- version: 2014-06-25
+ package: magic.mse-game
+ version: 2014-06-25
depends on:
- package: magic-future-common.mse-include
- version: 2007-09-23
+ package: magic-mana-large.mse-symbol-font
+ version: 2007-09-23
depends on:
- package: magic-mana-small.mse-symbol-font
- version: 2007-09-23
+ package: magic-mana-small.mse-symbol-font
+ version: 2007-09-23
depends on:
- package: magic-modules.mse-include
- version: 2024-10-01
+ 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 Acorntail and GenevensiS
+### code by GenevensiS
-card width: 375
-card height: 523
-card dpi: 150
-# By Acorntail
############################################################## Extra scripts
+
init script:
- # 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"
+ card_shape := { "emblem" }
+
+ swap_fonts_pt_default :=
+ [
+ name: {"Beleren Bold"},
+ size: {30.0},
+ color: {"black"},
+ vertical: {0},
+ italic: {"Beleren Bold"}
+ ]
+
+ swap_fonts_body_default :=
+ [
+ name: {"MPlantin"},
+ size: {28.0},
+ color: {"black"},
+ vertical: {0},
+ italic: {"MPlantin-Italic"}
+ ]
+
+ typeline_offset_top_1 :=
+ {
+ if styling.frame_type == "m20" then 121
+ else if styling.frame_type == "m15" then 129
+ else 128
}
+ typeline_offset_left_1 := { 5 }
+ typeline_offset_width_1 := { -4 }
+ rarity_offset_top_1 :=
+ {
+ if styling.frame_type == "m20" then 1
+ else if styling.frame_type == "m15" then 1
+ else 1
+ }
+ swap_fonts_type_default :=
+ [
+ name: {"Beleren Bold"},
+ size: {26.0},
+ color: {"black"},
+ vertical: {0},
+ italic: {""}
+ ]
- # Use guild mana symbols?
- guild_mana := { styling.use_guild_mana_symbols }
+ swap_fonts_name_default :=
+ [
+ name: { "Beleren Small Caps Bold" },
+ size: {30.0},
+ color: {"white"},
+ vertical: {0},
+ italic: {""}
+ ]
- card_shape := { "emblem" }
+ invert_watermark_1 := { false }
+
+ information_offset_top_1 :=
+ {
+ if styling.frame_type == "acorntail" then 6
+ else if styling.frame_type == "m20" then 1
+ else 0
+ }
+
+ 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 != "" 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 styling.compatibility then 0
+ else 104
+ }
+ art_top :=
+ {
+ if styling.stretch_art_to_whole_card then 0
+ else if styling.frame_type == "m20" then 50
+ else if styling.compatibility then 120
+ else if styling.frame_type == "m15" then 121
+ else 116
+ }
+ art_width :=
+ {
+ if styling.stretch_art_to_whole_card then stylesheet.card_width
+ else if styling.compatibility then stylesheet.card_width
+ else 541
+ }
+ art_bottom :=
+ {
+ if styling.stretch_art_to_whole_card then stylesheet.card_height
+ else if styling.frame_type == "m20" then 945
+ else if styling.compatibility then 1046
+ else 956
+ }
+ art_mask := { crop(styling.frame_type + "/image_mask.png", offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_bottom() - art_top()) }
+
+
+############################################################## Extra style options
-############################################################## 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
-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: package choice
- name: text box mana symbols
- match: magic-mana-*.mse-symbol-font
- initial: magic-mana-small.mse-symbol-font
+ type: choice
+ name: frame type
+ description: Which version of the frame should be used?
+ choice: m20
+ choice: m15
+ choice: acorntail
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
+ 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: 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: short text only
+ 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
+
+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: boolean
- name: inverted common symbol
- description: Should the common rarity symbol be inverted, like in Coldsnap?
- initial: no
+ 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
+
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-small.mse-symbol-font/mana_t.png
- old: /magic-mana-small.mse-symbol-font/mana_t_old.png
- diagonal T: /magic-mana-small.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") }
+ type: boolean
+ name: compatibility
+ default: "no"
############################################################## 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/typelines/card_fields
+
include file: /magic-modules.mse-include/information/card_fields
+
card style:
- ###################C######### Name line
+ ############################# Nameline
name:
- left: 30
- top: 26
- width: 315
- height: 28
- alignment: bottom center shrink-overflow
- padding bottom: -2
- padding top: 2
- z index: 3
+ left:
+ script:
+ if styling.frame_type == "m20" then 59
+ else if styling.frame_type == "m15" then 59
+ else 62
+ right:
+ script:
+ if styling.frame_type == "m20" then 685 - card_style.casting_cost.content_width
+ else if styling.frame_type == "m15" then 685 - card_style.casting_cost.content_width
+ else 682 - card_style.casting_cost.content_width
+ top: 56
+ height: 49
+ alignment: { if card.casting_cost == "" then "middle center shrink-overflow" else "middle left shrink-overflow" }
+ font:
+ name: { name_font() }
+ italic name: { name_font_italic() }
+ size: { name_font_size() }
+ color: { name_font_color() }
+ z index: 900
+ casting cost:
+ right:
+ script:
+ if styling.frame_type == "m20" then 685
+ else if styling.frame_type == "m15" then 685
+ else 682
+ top: 56
+ width: { max(card_style.casting_cost.content_width, 30) }
+ height: 49
+ alignment: middle right shrink-overflow
+ always symbol: true
font:
- name: Beleren Small Caps Bold
- size: 19
- color: rgb(228,236,239)
- always symbol: true
+ name: { casting_cost_font() }
+ italic name: { casting_cost_font_italic() }
+ size: { casting_cost_font_size() }
+ color: { casting_cost_font_color() }
+ symbol font:
+ name: { styling.casting_cost_mana_symbols or else "magic-mana-large" }
+ size: { casting_cost_font_size() }
+ z index: 920
############################# Image
image:
- left: 0
- top: 10
- height: 523
- width: 376
- mask: image_mask.png
- z index: 1
- ################H############ Card type
- type:
- left: 32
- top:
- 359
- width: { 308 - max(22,card_style.rarity.content_width) }
- height: 20
- alignment: top shrink-overflow
- z index: 4
- padding top: 2
- padding bottom: 4
- padding right: 2
- font:
- name: Beleren Bold
- size: 14
- color: black
- separator color: red
- rarity:
- right: 343
- top: 361
- width: 44
- height: 22
- z index: 4
- alignment: middle right
- render style: image
- include file: /magic-modules.mse-include/rarities/choice_images
+ 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: 1010
############################# Text box
text:
- left: 31
- top: 390
- width: 311
- height: 80
+ left:
+ script:
+ if styling.frame_type == "m20" then 65
+ else if styling.frame_type == "m15" then 64
+ else 65
+ top:
+ script:
+ if styling.frame_type == "m20" then 781
+ else if styling.frame_type == "m15" then 790
+ else 788
+ right:
+ script:
+ if styling.frame_type == "m20" then 678
+ else if styling.frame_type == "m15" then 679
+ else 678
+ bottom:
+ script:
+ if styling.frame_type == "m20" then 954
+ else if styling.frame_type == "m15" then 953
+ else 957
+ z index: 900
+ line height hard: 1.2
+ line height line: 1.5
+ line height soft: 0.9
+ line height hard max: 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: MPlantin
- italic name: MPlantin-Italic
- size: 14
- scale down to: 10
- color: black
+ 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: 14
- alignment: middle center shrink-overflow
- z index: 4
- padding left: 6
- padding top: 2
- padding right: 4
- padding bottom: 2
- line height hard: 1.2
- line height line: 1.5
- line height soft: 0.9
+ name: { styling.text_box_mana_symbols }
+ size: { body_font_size() }
+ scale down to: 7
+ ############################# PT
+ pt:
+ left: 590
+ top: { 933 + pt_font_vertical() }
+ width: 101
+ height: 45
+ 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: foil layer
- choice: foil
- save value: false
- editable: false
-extra card field:
- type: choice
- name: frame
- choice: frame
- editable: false
- save value: false
+ type: choice
+ name: frame
+ editable: false
+ save value: false
+ show statistics: false
+ choice: frame
extra card field:
- type: choice
- name: frame 2
- choice: frame
- editable: false
- save value: false
+ type: choice
+ name: ptbox
+ editable: false
+ save value: false
+ show statistics: false
+ choice: ptbox
extra card field:
- type: choice
- name: textbox
- choice: textbox
- editable: false
- save value: false
+ type: choice
+ name: foil layer
+ editable: false
+ save value: false
+ show statistics: false
+ choice: foil layer
extra card style:
- 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"}
frame:
- left: 0
- top: 0
- width: 375
- height: 523
- z index: 0
- render style: image
- popup style: in place
- image: frame.png
- frame 2:
- left: 0
- top: 0
- width: 375
- height: 523
- z index: 2
- render style: image
- popup style: in place
- image: frame.png
- mask: frame_mask.png
- textbox:
- left: 0
- top: 0
- width: 375
- height: 523
- z index: 3
- render style: image
- image: textbox.png
+ left: 0
+ top: 0
+ width: { stylesheet.card_width }
+ height: { stylesheet.card_height }
+ z index: 200
+ render style: image
+ image: { styling.frame_type + "/card.png" }
+ ptbox:
+ left: 570
+ top: 924
+ width: 134
+ height: 72
+ z index: 800
+ visible: { card.pt != "" }
+ render style: image
+ image: pt.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-emblem.mse-style/textbox.png b/data/magic-m15-emblem.mse-style/textbox.png
deleted file mode 100644
index b71187cefe..0000000000
Binary files a/data/magic-m15-emblem.mse-style/textbox.png and /dev/null differ
diff --git a/data/magic-monarch-emblem.mse-style/card-sample.png b/data/magic-monarch-emblem.mse-style/card_sample.png
similarity index 100%
rename from data/magic-monarch-emblem.mse-style/card-sample.png
rename to data/magic-monarch-emblem.mse-style/card_sample.png
diff --git a/data/magic-monarch-emblem.mse-style/style b/data/magic-monarch-emblem.mse-style/style
index 8afc80731b..7eddeca2ad 100644
--- a/data/magic-monarch-emblem.mse-style/style
+++ b/data/magic-monarch-emblem.mse-style/style
@@ -1,10 +1,10 @@
-mse version: 2.0.0
-game: magic
-short name: Monarch Emblem
-full name: Monarch Planeswalker Emblem
-icon: card-sample.png
-installer group: magic/m15 style/Emblems
-position hint: 090
+mse version: 2.6.0
+game: magic
+short name: Monarch Reminder
+icon: card_sample.png
+position hint: 800211
+installer group: magic/Paraphernalia/Monarch Reminder
+
version: 2024-05-30
depends on:
diff --git a/data/magic-new-emblem.mse-style/build.bat b/data/magic-new-emblem.mse-style/build.bat
deleted file mode 100644
index 03c7270b24..0000000000
--- a/data/magic-new-emblem.mse-style/build.bat
+++ /dev/null
@@ -1,7 +0,0 @@
-cd ..
-
-cd ..
-
-mse --create-installer magic-new-emblem.mse-style magic.mse-game magic-blends.mse-include magic-mana-small.mse-symbol-font magic-future-common.mse-include magic-embossedletters.mse-symbol-font
-
-ren "magic-new-emblem.mse-installer" "Magic - Emblems.mse-installer"
\ No newline at end of file
diff --git a/data/magic-new-emblem.mse-style/card-sample.png b/data/magic-new-emblem.mse-style/card-sample.png
deleted file mode 100644
index 3e7290fba4..0000000000
Binary files a/data/magic-new-emblem.mse-style/card-sample.png and /dev/null differ
diff --git a/data/magic-new-emblem.mse-style/card.png b/data/magic-new-emblem.mse-style/card.png
new file mode 100644
index 0000000000..2625232b23
Binary files /dev/null and b/data/magic-new-emblem.mse-style/card.png differ
diff --git a/data/magic-new-emblem.mse-style/card_sample.png b/data/magic-new-emblem.mse-style/card_sample.png
new file mode 100644
index 0000000000..06fdc250a1
Binary files /dev/null and b/data/magic-new-emblem.mse-style/card_sample.png differ
diff --git a/data/magic-new-emblem.mse-style/frame.png b/data/magic-new-emblem.mse-style/frame.png
deleted file mode 100644
index e9748be259..0000000000
Binary files a/data/magic-new-emblem.mse-style/frame.png and /dev/null differ
diff --git a/data/magic-new-emblem.mse-style/frame_mask.png b/data/magic-new-emblem.mse-style/frame_mask.png
deleted file mode 100644
index 7004a9907c..0000000000
Binary files a/data/magic-new-emblem.mse-style/frame_mask.png and /dev/null differ
diff --git a/data/magic-new-emblem.mse-style/image_mask.png b/data/magic-new-emblem.mse-style/image_mask.png
new file mode 100644
index 0000000000..e0eb24cc61
Binary files /dev/null and b/data/magic-new-emblem.mse-style/image_mask.png differ
diff --git a/data/magic-new-emblem.mse-style/name-mid.png b/data/magic-new-emblem.mse-style/namebox.png
similarity index 100%
rename from data/magic-new-emblem.mse-style/name-mid.png
rename to data/magic-new-emblem.mse-style/namebox.png
diff --git a/data/magic-new-emblem.mse-style/name-left.png b/data/magic-new-emblem.mse-style/namebox_left.png
similarity index 100%
rename from data/magic-new-emblem.mse-style/name-left.png
rename to data/magic-new-emblem.mse-style/namebox_left.png
diff --git a/data/magic-new-emblem.mse-style/name-right.png b/data/magic-new-emblem.mse-style/namebox_right.png
similarity index 100%
rename from data/magic-new-emblem.mse-style/name-right.png
rename to data/magic-new-emblem.mse-style/namebox_right.png
diff --git a/data/magic-new-emblem.mse-style/pt.png b/data/magic-new-emblem.mse-style/pt.png
new file mode 100644
index 0000000000..d8c62a1af2
Binary files /dev/null and b/data/magic-new-emblem.mse-style/pt.png differ
diff --git a/data/magic-new-emblem.mse-style/style b/data/magic-new-emblem.mse-style/style
index 2eeac613d6..2ea4361a49 100644
--- a/data/magic-new-emblem.mse-style/style
+++ b/data/magic-new-emblem.mse-style/style
@@ -1,358 +1,418 @@
-mse version: 2.0.0
-game: magic
-short name: Emblems
-full name: Modern style
-installer group: magic/new style/emblems
-icon: card-sample.png
-position hint: 290
+mse version: 2.5.8
+game: magic
+short name: Emblem
+full name: Modern
+installer group: magic/Emblems
+icon: card_sample.png
+position hint: 1000
-version: 2024-05-29
+version: 2026-02-28
depends on:
- package: magic.mse-game
- version: 2008-06-02
+ package: magic.mse-game
+ version: 2014-06-25
depends on:
- package: magic-future-common.mse-include
- version: 2007-09-23
+ package: magic-mana-large.mse-symbol-font
+ version: 2007-09-23
depends on:
- package: magic-mana-small.mse-symbol-font
- version: 2007-09-23
+ package: magic-mana-small.mse-symbol-font
+ version: 2007-09-23
depends on:
- package: magic-embossedletters.mse-symbol-font
- version: 2007-09-23
+ package: magic-modules.mse-include
+ version: 2024-10-01
depends on:
- package: magic-modules.mse-include
- version: 2024-10-01
+ package: magic-mainframe-extras.mse-include
+ version: 2007-09-23
+
+card width: 744
+card height: 1039
+card dpi: 297.6
+
+### blanks by Pichoro and GenevensiS
+### code by GenevensiS
-card width: 375
-card height: 523
-card dpi: 150
-# By Pichoro
############################################################## Extra scripts
+
init script:
- # 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"
- }
+ card_shape := { "emblem" }
- # Use guild mana symbols?
- guild_mana := { styling.use_guild_mana_symbols }
+ swap_fonts_pt_default :=
+ [
+ name: {"Beleren Bold"},
+ size: {30.0},
+ color: {"black"},
+ vertical: {0},
+ italic: {"Beleren Bold"}
+ ]
- # AE replacement shouldn't happen in the title, or else MSE compresses the symbol
- name_filter := { input }
+ swap_fonts_body_default :=
+ [
+ name: {"MPlantin"},
+ size: {28.0},
+ color: {"black"},
+ vertical: {0},
+ italic: {"MPlantin-Italic"}
+ ]
- title_width := { max(card_style.super_type.content_width, card_style.name.content_width) }
+ swap_fonts_type_default :=
+ [
+ name: {"Beleren Bold"},
+ size: {42.0},
+ color: {"black"},
+ vertical: {0},
+ italic: {""}
+ ]
- card_shape := { "emblem" }
+ swap_fonts_name_default :=
+ [
+ name: { "Beleren Small Caps Bold" },
+ size: {32.0},
+ color: {"white"},
+ vertical: {0},
+ italic: {""}
+ ]
+
+ invert_watermark_1 := { false }
+
+ illustrator_brush_default := { "art old" }
+
+ 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 != "" 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 111
+ }
+ art_top :=
+ {
+ if styling.stretch_art_to_whole_card then 0
+ else 124
+ }
+ art_width :=
+ {
+ if styling.stretch_art_to_whole_card then stylesheet.card_width
+ else 522
+ }
+ art_bottom :=
+ {
+ if styling.stretch_art_to_whole_card then stylesheet.card_height
+ else 947
+ }
+ art_mask := { crop("image_mask.png", offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_bottom() - art_top()) }
+
+ title_width :=
+ {
+ base := to_int(max(0,min(628,max(card_style.type.content_width, card_style.name.content_width))) - 14)
+ base + (base mod 2)
+ }
+
+############################################################## Extra style options
-############################################################## 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
-styling field:
- type: text
- name: height
- description: How tall should the image field be? Default is 100.
-styling field:
- type: text
- name: width
- description: How wide should the image field be? Default is 100.
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
+ 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: package choice
- name: text box mana symbols
- match: magic-mana-*.mse-symbol-font
- initial: magic-mana-small.mse-symbol-font
+ 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
+
+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: choice
- name: tap symbol
- description: What tap and untap symbols should be used on cards?
- initial: modern
- choice: modern
- choice: old
- choice: diagonal T
+ 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: 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: short text only
+ 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: inverted common symbol
- description: Should the common rarity symbol be inverted, like in Coldsnap?
- initial: no
+ type: boolean
+ name: promo
+ description: Is this card a promo card, with the "P" rarity?
+ 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-small.mse-symbol-font/mana_t.png
- old: /magic-mana-small.mse-symbol-font/mana_t_old.png
- diagonal T: /magic-mana-small.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") }
+ type: color
+ name: copyright text color
+ description: Color of the copyright, illustrator, card number, and set code text.
+ choice: black
+ choice: white
+
+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/corners/card_fields
+
+include file: /magic-modules.mse-include/watermarks/card_fields
+
+include file: /magic-modules.mse-include/separators/card_fields
+
card style:
- ############################# Background stuff
- border color:
- left: 0
- top : 0
- width: 375
- height: 523
- left width: 17
- right width: 17
- top width: 17
- bottom width: 18
- z index: 6
- ###################C######### Name line
- super type:
- left: {max(50, 183.5 - 10*length(remove_tags(card.super_type)))}
- top: 25
- width: {min(275, 6+20*length(remove_tags(card.super_type)))}
- height: 28
- alignment: bottom center
- padding bottom: -2
- padding top: 2
- z index: 4
- symbol font:
- name: magic-embossedletters
- size: 22
- alignment: bottom center
- always symbol: true
+ ############################# Nameline
name:
- left: {max(50, 183.5 - 10*length(card.name))}
- top: 46
- width: {min(275, 6+20*length(card.name))}
- height: 20
- alignment: bottom center
- padding bottom: -2
- padding top: 2
- z index: 4
+ left: 55
+ top: 104
+ right: 689
+ height: 50
+ alignment: top center shrink-overflow
+ font:
+ name: { name_font() }
+ italic name: { name_font_italic() }
+ size: { name_font_size() }
+ color: { name_font_color() }
symbol font:
- name: magic-embossedletters
- size: 15
- alignment: bottom center
+ name: magic-embossedletters
+ size: { name_font_size() }
always symbol: true
+ z index: 900
############################# Image
image:
- left: { if styling.width == "" then 57.5 else 187.5 - styling.width / 2 }
- top: { if styling.width == "" then 125 else 475 - styling.height }
- height: { if styling.height == "" then 350 else styling.height }
- width: { if styling.width == "" then 260 else styling.width }
- z index: 1
- ################H############ Card type
+ 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: 1010
+ ############################# Typeline
+ super type:
+ left: 55
+ top: 56
+ right: 689
+ height: 53
+ z index: 900
+ alignment: bottom center shrink-overflow
+ font:
+ name: { type_font() }
+ italic name: { type_font_italic() }
+ size: { type_font_size() }
+ color: { type_font_color() }
+ separator color: red
+ symbol font:
+ name: magic-embossedletters
+ size: { type_font_size() }
+ always symbol: true
rarity:
- right: 342
- top: 477
- width: 44
- height: 22
- z index: 4
- alignment: middle right
- render style: image
- include file: /magic-modules.mse-include/rarities/choice_images
+ right: { if card.pt == "" then 690 else 557 }
+ top: 949
+ width: { rarity_width_1() + typeline_offset_height_1() }
+ height: { rarity_height_1() + typeline_offset_height_1() }
+ z index: 950
+ alignment: middle right
+ render style: image
+ include file: /magic-modules.mse-include/rarities/choice_images
############################# Text box
text:
- left: 31
- top: 388
- width: 311
- height: 80
+ left: 67
+ top: 766
+ right: 677
+ bottom: 923
+ z index: 900
+ line height hard: 1.2
+ line height line: 1.5
+ line height soft: 0.9
+ line height hard max: 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: MPlantin
- italic name: MPlantin-Italic
- size: 14
- scale down to: 10
- color: black
+ 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: 14
- alignment: middle center shrink-overflow
- z index: 4
- padding left: 6
- padding top: 2
- padding right: 4
- padding bottom: 2
- line height hard: 1.2
- line height line: 1.5
- line height soft: 0.9
- ############################# Copyright stuff
+ name: { styling.text_box_mana_symbols }
+ size: { body_font_size() }
+ scale down to: 7
+ ############################# PT
+ pt:
+ left: 590
+ top: { 933 + pt_font_vertical() }
+ width: 101
+ height: 45
+ z index: 900
+ alignment: center middle shrink-overflow
+ font:
+ name: { pt_font() }
+ size: { pt_font_size() }
+ color: { pt_font_color() }
+ separator color: red
+ ############################# Information
illustrator:
- left: 58
- top : 479
- width: 215
- height: 16
- z index: 3
+ left: { 58 + (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * 744/375 }
+ top: 954
+ width: 400
+ height: 25
+ z index: 900
font:
- name: Matrix
- size: 11
- weight: bold
- color: black
- copyright line:
- left: 30
- top : 493
- width: 247
- height: 12
- z index: 3
+ name: Matrix
+ size: 20
+ weight: bold
+ color: { styling.copyright_text_color }
+ illustrator brush:
+ left: 60
+ top: 961
+ width: { (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * 744/375 }
+ height: { 7 * 1039/523 }
+ popup style: in place
+ include dark file: /magic.mse-game/information/menu_choice_images
+ render style: image
+ image: { illustrator_brush_image(field: 1) }
+ z index: 900
+ copyright:
+ left: 60
+ top: 979
+ width: 420
+ height: 25
+ z index: 900
font:
- name: MPlantin
- size: 6.5
- color: black
+ name: MPlantin
+ size: 14
+ color: { styling.copyright_text_color }
############################################################## Extra card fields
+
extra card field:
- type: choice
- name: foil layer
- choice: foil
- save value: false
- editable: false
-extra card field:
- type: choice
- name: frame
- choice: frame
- editable: false
- save value: false
+ type: choice
+ name: frame
+ editable: false
+ save value: false
+ show statistics: false
+ choice: frame
extra card field:
- type: choice
- name: frame 2
- choice: frame
- editable: false
- save value: false
+ type: choice
+ name: textbox
+ editable: false
+ save value: false
+ show statistics: false
+ choice: textbox
extra card field:
- type: choice
- name: textbox
- choice: textbox
- editable: false
- save value: false
+ type: choice
+ name: ptbox
+ editable: false
+ save value: false
+ show statistics: false
+ choice: ptbox
extra card field:
- type: choice
- name: name box
- choice: black
- editable: false
- save value: false
+ type: choice
+ name: namebox left
+ editable: false
+ save value: false
+ show statistics: false
+ choice: namebox left
extra card field:
- type: choice
- name: name box left
- choice: black
- editable: false
- save value: false
+ type: choice
+ name: namebox right
+ editable: false
+ save value: false
+ show statistics: false
+ choice: namebox right
extra card field:
- type: choice
- name: name box right
- choice: black
- editable: false
- save value: false
+ type: choice
+ name: namebox
+ editable: false
+ save value: false
+ show statistics: false
+ choice: namebox
extra card field:
- type: choice
- name: paintbrush
- choice: black
- editable: false
- save value: false
+ type: choice
+ name: foil layer
+ editable: false
+ save value: false
+ show statistics: false
+ choice: foil layer
extra card style:
- 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"}
frame:
- left: 0
- top: 0
- width: 375
- height: 523
- z index: 0
- render style: image
- popup style: in place
- image: frame.png
- frame 2:
- left: 0
- top: 0
- width: 375
- height: 523
- z index: 2
- render style: image
- popup style: in place
- image: frame.png
- mask: frame_mask.png
+ left: 0
+ top: 0
+ width: { stylesheet.card_width }
+ height: { stylesheet.card_height }
+ z index: 200
+ render style: image
+ image: card.png
textbox:
- left: 0
- top: 0
- width: 375
- height: 527
- z index: 3
- render style: image
- image: textbox.png
- name box:
- left:
- { if title_width() > 275 then 50
- else title_width() * -0.5 + 185.5 }
- top: 26
- width:
- { if title_width() > 275 then 275
- else title_width() + 3}
- #height: 48
- height: 59
- z index: 3
- visible: { card.name != "" }
- render style: image
- image: name-mid.png
- name box left:
- right:
- { if title_width() > 275 then 50
- else title_width() * -0.5 + 185.5 }
- top: 26
- #width: 15
- width: 21
- height: 59
- z index: 3
- render style: image
- image: name-left.png
- name box right:
- left:
- { if title_width() > 275 then 325
- else title_width() * 0.5 + 187.5 }
- top: 26
- #width: 15
- width: 21
- height: 59
- z index: 3
- render style: image
- image: name-right.png
- paintbrush:
- left: 27
- top : 481
- width: 30
- height: 11
- z index: 3
- render style: image
- image: /magic-future-common.mse-include/paintbrush_black.png
+ left: 0
+ top: 0
+ width: { stylesheet.card_width }
+ height: { stylesheet.card_height }
+ z index: 210
+ render style: image
+ image: textbox.png
+ ptbox:
+ left: 570
+ top: 924
+ width: 134
+ height: 72
+ z index: 800
+ visible: { card.pt != "" }
+ render style: image
+ image: pt.png
+ namebox:
+ left: { 372 - title_width()/2 }
+ top: 47
+ width: { title_width() }
+ height: 127
+ z index: 800
+ visible: { card.name != "" }
+ render style: image
+ image: namebox.png
+ namebox left:
+ left: { 321 - title_width()/2 }
+ top: 47
+ width: 51
+ height: 127
+ z index: 800
+ visible: { card.name != "" }
+ render style: image
+ image: namebox_left.png
+ namebox right:
+ left: { 372 + title_width()/2 }
+ top: 47
+ width: 51
+ height: 127
+ z index: 800
+ visible: { card.name != "" }
+ render style: image
+ image: namebox_right.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-new-emblem.mse-style/textbox.png b/data/magic-new-emblem.mse-style/textbox.png
index 5cdb7154e8..a73f07fb8c 100644
Binary files a/data/magic-new-emblem.mse-style/textbox.png and b/data/magic-new-emblem.mse-style/textbox.png differ
diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script
index 70a4c2cc16..97d81a2fdf 100644
--- a/data/magic.mse-game/script
+++ b/data/magic.mse-game/script
@@ -311,7 +311,18 @@ get_alpha_percentage :=
else 1.0
}
-
+has_required_stylesheets :=
+{
+ missing := 0
+ for each a in input do (
+ packaged_version := exists_as_package(a.0)
+ required_version := a.1
+ if packaged_version == nil
+ or version_is_older(packaged_version, than:required_version)
+ then missing := missing + 1;
+ )
+ missing == 0
+}
############################################################## For the user
#### Remove card codes
cc_filter := replace@(match:"^[CURMSL][WUBRGMZACL][0-9]+ ?[-—]? ?", replace:"")