M15 Mainframe and Mainframe DFC will use their Style tab "Custom symbol" option if it is not blank; if it is blank it will use the link from the Set tab. Previously they tried to use their Style tab link even if it was blank Unhandled watermarks (usually due to hard-coded custom watermarks that weren't added to the new system) will now use a blank image instead of throwing an error. The Crimson Vow showcase now uses its proper indicators. Fixed the watermark alignment on the Monster Manual Showcase. Fixed the UB Vehicle frame using the wrong link. Fixed a number of Mainframe DFC bugs: Fixed a bug where back face chapter symbols were all snapping to the Chapter 1 position. Fixed a bug where back face watermarks were blending with the front face colors Fixed a bug where the front face evobar had a too-low z index. Fixed an error with backface miracle blending. --------- Co-authored-by: cajun <12363371+CajunAvenger@users.noreply.github.com>
364 lines
11 KiB
Plaintext
364 lines
11 KiB
Plaintext
mse version: 2.1.2
|
|
game: magic
|
|
short name: Fang
|
|
full name: Innistrad Showcase Crimson Vow
|
|
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: 750
|
|
card height: 1046
|
|
card dpi: 300
|
|
|
|
### blanks by CardConjurer
|
|
### code by cajun
|
|
|
|
############################################################## Extra scripts
|
|
|
|
init script:
|
|
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_width_1 := { -14 }
|
|
typeline_offset_left_1 := { 7 }
|
|
rarity_offset_top_1 := { 2 }
|
|
swap_fonts_type_default :=
|
|
[
|
|
name: {"Beleren Bold"},
|
|
size: {30.0},
|
|
color: {"black"},
|
|
vertical: {0},
|
|
italic: {""}
|
|
]
|
|
|
|
transform_symbol_disabled_1 := { true }
|
|
card_symbol_offset_left_1 := { 2 }
|
|
nameline_offset_width_1 := { -8 }
|
|
nameline_offset_left_1 := { 4 }
|
|
swap_fonts_name_default :=
|
|
[
|
|
name: {"Beleren Bold"},
|
|
size: {30.0},
|
|
color: {"black"},
|
|
vertical: {0},
|
|
italic: {""}
|
|
]
|
|
|
|
card_stamp_offset_top_1 := { 4 }
|
|
|
|
foil_mask_added_sections := {
|
|
output := []
|
|
pt_field := if face == 1 then card.pt else card["pt_" + face]
|
|
if pt_field != "" then output := output + ["foil_mask_pt.png"]
|
|
if is_crowned() then output := output + ["foil_mask_crown.png"]
|
|
output
|
|
}@(face:1)
|
|
|
|
template_prefix := [
|
|
card: "card/"
|
|
pt: "pt/"
|
|
crown: "crown/"
|
|
stamp: "stamp/"
|
|
ubstamp: "stamp/ub/"
|
|
identity: "/magic-modules.mse-include/indicators/vow/"
|
|
]
|
|
template_suffix := [
|
|
card: "card.png"
|
|
pt: "pt.png"
|
|
crown: "crown.png"
|
|
stamp: "stamp.png"
|
|
ubstamp: "stamp.png"
|
|
identity: "identity.png"
|
|
]
|
|
template := { template_prefix[type] + input + template_suffix[type] }
|
|
land_template := { template_prefix[type] + (if input == "a" then "c" else input) + template_suffix[type] }
|
|
|
|
card_crown := { color_background(input: card.card_color, type: "crown", base_hybrid: card_hybrid) }
|
|
card_ptbox := { color_background(input: card.card_color, type: "pt", base_hybrid: card_hybrid) }
|
|
ub_stamp := { color_background(blend_type: "stamp", type: "ubstamp", base_hybrid: card_hybrid) }
|
|
|
|
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 is_hybrid_cost() 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)) }
|
|
|
|
chop_top := { split := split_comma(styling.chop_text_box); if length(split) > 0 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -1500) else 0 }
|
|
chop_bot := { split := split_comma(styling.chop_text_box); if length(split) > 1 and split.1 != "" then clamp(split.1, maximum: 1500, minimum: -1500) else 0 }
|
|
|
|
popout_left := { split := split_comma(styling.popout_image_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, maximum: 1500, minimum: -500) else 0 }
|
|
popout_top := { split := split_comma(styling.popout_image_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, maximum: 2000, minimum: -500) else 0 }
|
|
popout_width := { split := split_comma(styling.popout_image_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, maximum: 1500, minimum: 0) else 0 }
|
|
popout_height := { split := split_comma(styling.popout_image_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, maximum: 2000, minimum: 0) else 0 }
|
|
|
|
############################################################## Extra style options
|
|
|
|
styling field:
|
|
type: text
|
|
name: popout image coordinates
|
|
description: The coordinates for the popout image field, formatted as "left,top,width,height". Used to make the illustration jump in front of the frame.
|
|
styling field:
|
|
type: boolean
|
|
name: stretch image to whole card
|
|
description: Make the image span the whole card instead of just the visible part. Use this to help make popout effects.
|
|
initial: no
|
|
|
|
include file: /magic-modules.mse-include/texts/styling_fields
|
|
|
|
styling field:
|
|
type: choice
|
|
name: 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
|
|
|
|
styling field:
|
|
type: package choice
|
|
name: overlay
|
|
description: Should there be an overlay applied, such as foil?
|
|
match: magic-overlay-*.mse-include
|
|
required: false
|
|
|
|
include file: /magic-modules.mse-include/information/styling_fields
|
|
|
|
include file: /magic-modules.mse-include/symbol-fonts/styling_fields
|
|
|
|
include file: /magic-modules.mse-include/fonts/styling_fields
|
|
|
|
############################################################## Card fields
|
|
|
|
include file: /magic-modules.mse-include/information/card_fields
|
|
|
|
include file: /magic-modules.mse-include/stamps/card_fields
|
|
|
|
include file: /magic-modules.mse-include/corners/card_fields
|
|
|
|
include file: /magic-modules.mse-include/watermarks/card_fields
|
|
|
|
include file: /magic-modules.mse-include/separators/card_fields
|
|
|
|
include file: /magic-modules.mse-include/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 }
|
|
left width: 44
|
|
right width: 42
|
|
top width: 45
|
|
bottom width: 66
|
|
z index: 500
|
|
mask: border_mask.png
|
|
card color:
|
|
left: 0
|
|
top: 0
|
|
width: { stylesheet.card_width }
|
|
height: { stylesheet.card_height }
|
|
z index: 200
|
|
render style: image
|
|
popup style: in place
|
|
image: { card_background() }
|
|
############################# Image
|
|
image:
|
|
left: { if styling.stretch_image_to_whole_card then 0 else 58 }
|
|
top: { if styling.stretch_image_to_whole_card then 0 else 116 }
|
|
width: { if styling.stretch_image_to_whole_card then stylesheet.card_width else 634 }
|
|
height: { if styling.stretch_image_to_whole_card then stylesheet.card_height else 466 }
|
|
z index: 100
|
|
mask: { if styling.stretch_image_to_whole_card then "image_mask_full.png" else "image_mask.png" }
|
|
mainframe image:
|
|
left: { popout_left() }
|
|
top: { popout_top() }
|
|
width: { popout_width() }
|
|
height: { popout_height() }
|
|
z index: 1010
|
|
############################# Text box
|
|
text:
|
|
left: 60
|
|
top: { 660 + chop_top() + body_font_vertical() }
|
|
right: 690
|
|
bottom: { 966 - chop_bot() }
|
|
z index: 900
|
|
padding left: 6
|
|
padding right: 4
|
|
line height hard: { if is_modal(card.rule_text) then 0.9 else 1.2 }
|
|
line height line: 1.5
|
|
line height soft: 0.9
|
|
line height hard max: { if is_modal(card.rule_text) then 1.0 else 1.3 }
|
|
line height line max: 1.6
|
|
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: 12
|
|
color: { body_font_color() }
|
|
symbol font:
|
|
name: { styling.text_box_mana_symbols }
|
|
size: { body_font_size() }
|
|
scale down to: 12
|
|
############################# PT
|
|
pt:
|
|
left: 602
|
|
top: { 944 + pt_font_vertical() }
|
|
width: 90
|
|
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
|
|
script: card.card_color
|
|
editable: false
|
|
save value: false
|
|
show statistics: false
|
|
extra card field:
|
|
type: choice
|
|
name: crown
|
|
script: card.card_color
|
|
editable: false
|
|
save value: false
|
|
show statistics: false
|
|
extra card field:
|
|
type: choice
|
|
name: foil layer
|
|
editable: false
|
|
save value: false
|
|
show statistics: false
|
|
choice: foil layer
|
|
extra card field:
|
|
type: choice
|
|
name: stamp backing
|
|
script: card.card_color
|
|
editable: false
|
|
save value: false
|
|
show statistics: false
|
|
|
|
extra card style:
|
|
pt box:
|
|
left: 0
|
|
top: 0
|
|
width: { stylesheet.card_width }
|
|
height: { stylesheet.card_height }
|
|
z index: 840
|
|
visible: { card.pt != "" }
|
|
render style: image
|
|
image:
|
|
script:
|
|
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 card_ptbox()
|
|
crown:
|
|
left: 0
|
|
top: 0
|
|
width: { stylesheet.card_width }
|
|
height: { stylesheet.card_height }
|
|
z index: 840
|
|
visible: { is_crowned() }
|
|
render style: image
|
|
image: { card_crown() }
|
|
foil layer:
|
|
left: 0
|
|
top: 0
|
|
width: { stylesheet.card_width }
|
|
height: { stylesheet.card_height }
|
|
z index: 1050
|
|
visible: { styling.overlay != "none" and styling.overlay != "" }
|
|
render style: image
|
|
image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" }
|
|
mask: { foil_mask_blended_image() }
|
|
stamp backing:
|
|
left: 300
|
|
top: 940
|
|
width: 150
|
|
height: 40
|
|
z index: 850
|
|
visible: { is_stamped() }
|
|
render style: image
|
|
image: { if stamp_shape() == "triangle" then ub_stamp() else card_stamp() } |