Files
magic-set-editor-fork/data/magic-m15-full-art-basic-land-symbol.mse-style/style
2025-05-10 18:21:03 -05:00

914 lines
27 KiB
Plaintext

mse version: 2.1.2
game: magic
short name: Full Art
full name: w/ basic land symbol
icon: card_sample.png
position hint: 020
version: 2023-08-15
depends on:
package: magic.mse-game
version: 2014-06-25
depends on:
package: magic-default-image.mse-include
version: 2007-09-23
depends on:
package: magic-modules.mse-include
version: 2024-10-01
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-mainframe-extras.mse-include
version: 2007-09-23
card width: 375
card height: 523
card dpi: 150
### blanks by GenevensiS
### code by GenevensiS
### made from magic-744-60-full-art.mse-style
############################################################## Extra scripts
init script:
swap_fonts_pt_default :=
[
name: {"Beleren Bold"},
size: {16.0},
color: {"black"},
vertical: {0},
italic: {"Beleren Bold"}
]
swap_fonts_body_default :=
[
name: {"MPlantin"},
size: {14.0},
color: {"white"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_type_default :=
[
name: {"Beleren Bold"},
size: {13.0},
color: {"black"},
vertical: {0},
italic: {""}
]
swap_fonts_name_default :=
[
name: {"Beleren Bold"},
size: {16.0},
color: {"black"},
vertical: {0},
italic: {""}
]
swap_fonts_name2_default :=
[
name: {"MPlantin-Italic"},
size: {9.0},
color: {"white"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_name2_src := { styling.custom_alias_font or else "" }
template_prefix :=
[
crown: "crown/",
identity: "/magic-modules.mse-include/indicators/"
pt: "pt/",
basicsymbol: "basicsymbol/",
name: "name/",
type: "type/",
basictype: "basictype/",
pinline: "pinline/",
]
template_suffix :=
[
crown: "crown.png",
identity: "identity.png"
pt: "pt.png",
basicsymbol: "basicsymbol.png",
name: "name.png",
type: "type.png",
basictype: "basictype.png",
pinline: "pinline.png",
]
template :=
{
if is_basic_symboled() then
(
if is_plains(card.sub_type) then template_prefix[type] + "w" + template_suffix[type]
else if is_island(card.sub_type) then template_prefix[type] + "u" + template_suffix[type]
else if is_swamp(card.sub_type) then template_prefix[type] + "b" + template_suffix[type]
else if is_mountain(card.sub_type) then template_prefix[type] + "r" + template_suffix[type]
else if is_forest(card.sub_type) then template_prefix[type] + "g" + template_suffix[type]
else template_prefix[type] + input + template_suffix[type]
)
else template_prefix[type] + input + template_suffix[type]
}
land_template :=
{
if is_basic_symboled() then
(
if is_plains(card.sub_type) then template_prefix[type] + "w" + template_suffix[type]
else if is_island(card.sub_type) then template_prefix[type] + "u" + template_suffix[type]
else if is_swamp(card.sub_type) then template_prefix[type] + "b" + template_suffix[type]
else if is_mountain(card.sub_type) then template_prefix[type] + "r" + template_suffix[type]
else if is_forest(card.sub_type) then template_prefix[type] + "g" + template_suffix[type]
else template_prefix[type] + input + template_suffix[type]
)
else 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) }@(offset:0 )
card_ptbox := { color_background(input: card.card_color, type: "pt", base_hybrid: card_hybrid) }@(offset:0 )
card_basicsymbol := { color_background(input: card.card_color, type: "basicsymbol", base_hybrid: card_hybrid) }@(offset:0 )
card_name := { color_background(input: card.card_color, type: "name", base_hybrid: card_hybrid) }@(offset:0 )
card_type := { color_background(input: card.card_color, type: if is_basic_symboled() then "basictype" else "type", base_hybrid: card_hybrid) }@(offset:0 )
card_pinline := { color_background(input: card.card_color, type: "pinline", base_hybrid: card_hybrid) }@(offset:0 )
card_stampholofoil :=
{
if card.card_stamp == "none" then "" else
"holofoil/" +
card.card_stamp +
(if is_foil_stamped() then "" else "_void") +
".png"
}
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")
)
}
mana_t :=
{
if styling.tap_symbol == "old" then "old"
else if styling.tap_symbol == "diagonal T" then "older"
else "new"
}
guild_mana := { styling.use_guild_mana_symbols }
ancestral_mana := { styling.use_ancestral_mana_symbols }
is_land := lang_setting("is_land")
is_basic := lang_setting("is_basic")
is_plains := lang_setting("is_plains")
is_island := lang_setting("is_island")
is_swamp := lang_setting("is_swamp")
is_mountain := lang_setting("is_mountain")
is_forest := lang_setting("is_forest")
is_wastes := lang_setting("is_wastes")
is_basic_symboled := {
styling.basic_land_symbol
and is_basic(card.super_type)
and is_land(card.super_type)
and (
is_plains(card.sub_type)
or is_island(card.sub_type)
or is_swamp(card.sub_type)
or is_mountain(card.sub_type)
or is_forest(card.sub_type)
or is_wastes(card.name)
)
}
is_promo := { styling.promo }
is_unsorted := { styling.remove_from_autocount }
is_aliased := { card.alias != "" }
is_crowned := { styling.legend_crown == "yes" or (styling.legend_crown == "if legendary" and contains(card.super_type, match:"Legendary")) }
is_pinlined := { styling.pinlines }
chop_top := { split := split_comma(styling.chop_textbox); if length(split) > 0 and split.0 != "" and split.0 != "-" then clamp(to_int(split.0), minimum: -300, maximum: 250) else 0 }
chop_bottom := { split := split_comma(styling.chop_textbox); if length(split) > 1 and split.1 != "" and split.1 != "-" then clamp(to_int(split.1), minimum: -300, maximum: 250) else 0 }
chop_right := { split := split_comma(styling.chop_textbox); if length(split) > 2 and split.2 != "" and split.2 != "-" then clamp(to_int(split.2), minimum: -300, maximum: 250) else 0 }
use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png") }
rarity_right := { split := split_comma(styling.rarity_coordinates); if length(split) > 0 and split.0 != "" then clamp(split.0, minimum: 0, maximum: 800) else 344 }
rarity_top := { split := split_comma(styling.rarity_coordinates); if length(split) > 1 and split.1 != "" then clamp(split.1, minimum: 0, maximum: 1100) else 445 }
rarity_size := { split := split_comma(styling.rarity_coordinates); if length(split) > 2 and split.2 != "" then clamp(split.2, minimum: 0, maximum: 1100) else 22 }
rarity_left := { rarity_right() - rarity_size() }
popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, minimum: -300, maximum: 400) else 0 }
popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, minimum: -300, maximum: 550) 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: 800) 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: 1000) else 0 }
get_alpha :=
{
alpha_value := if input == "" then default
else to_number(input) or else default
if alpha_value < 0 then 0.0
else if alpha_value <= 100 then alpha_value/100.0
else 1.0
}
textbox_left := { if is_pinlined() then 25 else 0 }
textbox_width := { if is_pinlined() then 325 else 375 }
textbox_height := { if is_pinlined() then 442 else 523 }
textbox_image := { set_alpha(recolor_image("textbox.png", color: styling.textbox_color), alpha: get_alpha(styling.textbox_opacity_percentage, default: 0)) }
textbox_mask :=
{
mask := if not styling.rounded_textbox or styling.border == "no" then "mask_textbox_flat.png" else if styling.border == "yes" then "mask_textbox.png" else "mask_textbox_borderless.png"
crop_safe(mask, offset_x: textbox_left(), offset_y: 300 - chop_top(), width: textbox_width(), height: textbox_height(), max_x:375, max_y:1123)
}
pinline_mask :=
{
base := if is_pinlined() then "mask_pinline_extended.png" else "mask_pinline.png"
if is_crowned() then combine_blend(image1: "mask_shadow_crown.png", image2: base, combine: "multiply") else base
}
############################################################## 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 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: center rule text
description: When to center text (short text means only on one-line cards with no flavor text)
choice: always
choice: short text only
choice: never
initial: never
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: black
styling field:
type: text
name: textbox opacity percentage
description: Set the opacity percentage for the textbox background. Opaque is 100, transparent is 0, default is 0.
styling field:
type: text
name: chop textbox
description: Formatted as "X,Y,Z". Shrinks textbox X pixels from the top, Y from the bottom, and Z from the right.
styling field:
type: boolean
name: rounded textbox
description: Should the textbox background have rounded corners?
initial: yes
styling field:
type: choice
name: PT color scheme
description: Use the selected color scheme for the PT box on two color cards
choice: gold
choice: hybrid
choice: blend
initial: gold
styling field:
type: choice
name: legend crown
description: Use the legend crown?
choice: yes
choice: if legendary
choice: no
initial: if legendary
styling field:
type: boolean
name: pinlines
description: Use pinlines on the side?
initial: no
styling field:
type: boolean
name: basic land symbol
description: Use a special symbol if the card is a basic land?
initial: yes
styling field:
type: choice
name: border
description: Use a border?
choice: yes
choice: only copyright
choice: no
initial: only copyright
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: inverted common symbol
description: Should the common rarity symbol be inverted, like in Coldsnap?
initial: no
styling field:
type: text
name: alt rarity color
description: Use a custom color for the rarity symbol. Formatted as "R1,G1,B1:R2,G2,B2:..." 1 and 2 are fill color, 3 and 4 border color
styling field:
type: text
name: rarity coordinates
description: The coordinates for the set symbol, formatted as "right,top,size". Default is 344,445,22.
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, and set code text.
choice: white
choice: black
initial: white
allow custom: true
styling field:
type: boolean
name: use ancestral mana symbols
description: Enables ancestral's modified generic mana.
initial: no
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: choice
name: tap symbol
description: What tap and untap symbols should be used on cards?
choice: modern
choice: old
choice: diagonal T
initial: modern
styling field:
type: package choice
name: casting cost mana symbols
description: Symbols used in the casting cost.
match: magic-mana-*.mse-symbol-font
initial: magic-mana-large.mse-symbol-font
styling field:
type: package choice
name: text box mana symbols
description: Symbols used in the rule text and flavor text.
match: magic-mana-*.mse-symbol-font
initial: magic-mana-small.mse-symbol-font
include file: /magic-modules.mse-include/fonts/styling_fields
styling field:
type: text
name: custom alias font
description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers.
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-large.mse-symbol-font/mana_t.png
old: /magic-mana-large.mse-symbol-font/mana_t_old.png
diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png
center rule 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") }
############################################################## Card fields
include file: /magic-modules.mse-include/corners/card_fields
include file: /magic-modules.mse-include/information/card_fields
include file: /magic-modules.mse-include/separators/card_fields
include file: /magic-modules.mse-include/stamps/card_fields
card style:
############################# Background stuff
border color:
left: 0
top : 0
width: 375
height: 523
z index: 110
visible: { styling.border != "no" }
mask: { if styling.border == "yes" then "mask_background_border.png" else "mask_background_borderless_border.png" }
card color:
left: 0
top: 0
width: 375
height: 523
z index: 0
popup style: in place
render style: image
mask: { if is_pinlined() then "mask_card_color_pinline.png" else "mask_card_color.png" }
############################# Name line
name:
left: 32
top: 27
right: { 343 - (if card_style.casting_cost.content_width == 0 then 0 else card_style.casting_cost.content_width + 3) }
height: 26
z index: 900
alignment: middle left shrink-overflow
font:
name: { name_font() }
italic name: { name_font_italic() }
size: { name_font_size() }
scale down to: 7
color: { name_font_color() }
casting cost:
right: 346
top: 28
width: { max(35, card_style.casting_cost.content_width + 6) }
height: 26
z index: 920
alignment: middle right
always symbol: true
font:
name: MPlantin
italic name: { name_font_italic() }
size: { name_font_size() }
scale down to: 7
color: { name_font_color() }
symbol font:
name: { styling.casting_cost_mana_symbols }
size: { name_font_size() }
scale down to: 7
alias:
left: 54
top: 58
right: 321
height: 15
z index: 900
alignment: middle center shrink-overflow
font:
name: { name2_font() }
italic name: { name2_font_italic() }
size: { name2_font_size() }
scale down to: 5
color: { name2_font_color() }
weight: bold
############################# Image
image:
left: { if styling.stretch_art_to_whole_card then 0 else if styling.border != "yes" then 0 else 15 }
top: { if styling.stretch_art_to_whole_card then 0 else if styling.border != "yes" then 0 else 15 }
width: { if styling.stretch_art_to_whole_card then 375 else if styling.border != "yes" then 375 else 345 }
bottom: { if styling.stretch_art_to_whole_card then 524 else if styling.border != "no" then 480 else 524 }
z index: 100
mainframe image:
left: { popout_left() }
top: { popout_top() }
width: { popout_width() }
height: { popout_height() }
z index: 1010
############################# Card type
indicator:
left: { if is_basic_symboled() then 71 else 31 }
top: 448
width: 17
height: 17
z index: 940
visible: { has_identity() }
render style: image
image: { module_identity() }
type:
left: { if has_identity() then (if is_basic_symboled() then 92 else 52) else (if is_basic_symboled() then 70 else 32) }
top: 443
right: { if set.shorten_types_for_rarity then clamp(rarity_left()-3, minimum: 200, maximum: 343) else 343 }
height: 27
z index: 1000
alignment: middle left shrink-overflow
font:
name: { type_font() }
italic name: { type_font_italic() }
size: { type_font_size() }
scale down to: 7
color: { type_font_color() }
separator color: red
rarity:
right: { rarity_right() }
top: { rarity_top() }
width: { 44 }
height: { rarity_size() }
z index: 1010
alignment: middle right
render style: image
include file: /magic-modules.mse-include/rarities/choice_images
############################# Text box
text:
left: 33
top: { 315 + chop_top() }
right: { 341 - chop_right() }
bottom: { 435 - chop_bottom() }
z index: 1000
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_rule_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_rule_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
watermark:
left: 10
top: { 315 + chop_top() }
right: 355
bottom: 437
z index: 600
render style: image
popup style: in place
alignment: middle center
include file: /magic.mse-game/watermarks/menu_choice_images
image: { watermark_image_1() }
############################# PT
pt:
left: 299
top: 410
width: 47
height: 27
z index: 1000
alignment: center middle shrink-overflow
font:
name: { pt_font() }
italic name: { pt_font_italic() }
size: { pt_font_size() }
scale down to: 7
color: { pt_font_color() }
separator color: red
############################################################## Extra card fields
extra card field:
type: choice
name: card shadow
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: pinline
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: basic land pinline
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: basic land symbol
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: name box
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: alias box
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: alias shadow
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: color
name: alias border
script: rgb(0, 0, 0)
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: type box
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: text box
script: card.card_color
editable: false
save value: false
show statistics: false
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: pt shadow
editable: false
save value: false
show statistics: false
choice: pt shadow
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: crown shadow
editable: false
save value: false
show statistics: false
choice: crown shadow
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 background border
script: card.border_color
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: card stamp shadow
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: color
name: corners
script: rgb(255, 255, 255)
editable: false
save value: false
show statistics: false
extra card style:
card shadow:
left: 0
top: 0
width: 375
height: 523
z index: 300
render style: image
image: { "shadow_card" + (if is_basic_symboled() then "_basic" else "") + (if is_pinlined() then "_pinline" else "") + ".png" }
mask: { if is_crowned() then "mask_shadow_crown.png" else "" }
pinline:
left: 0
top: 0
width: 375
height: 523
z index: 310
render style: image
image: { card_pinline() }
mask: { pinline_mask() }
basic land pinline:
left: 0
top: 0
width: 375
height: 523
z index: 310
render style: image
image: { if is_basic_symboled() then card_pinline() else "" }
mask: mask_pinline_basic_land.png
basic land symbol:
left: 0
top: 0
width: 375
height: 523
z index: 500
render style: image
image: { if is_basic_symboled() then card_basicsymbol() else "" }
name box:
left: 0
top: 0
width: 375
height: 523
z index: 500
render style: image
image: { card_name() }
mask: mask_name.png
alias box:
left: 0
top: 0
width: 375
height: 523
z index: 500
visible: { card.alias != "" }
render style: image
image: { card_pinline() }
mask: mask_alias.png
alias shadow:
left: 0
top: 0
width: 375
height: 523
z index: 300
visible: { card.alias != "" }
render style: image
image: shadow_alias.png
alias border:
left: 0
top: 0
width: 375
height: 523
z index: 510
visible: { card.alias != "" }
mask: mask_alias_border.png
type box:
left: 0
top: 0
width: 375
height: 523
z index: 500
render style: image
image: { card_type() }
mask: mask_type.png
text box:
left: { textbox_left() }
top: 0
width: { textbox_width() }
height: { textbox_height() }
z index: 105
render style: image
image: { textbox_image() }
mask: { textbox_mask() }
pt box:
left: 0
top: 0
width: 375
height: 523
z index: 810
visible: { card.pt != "" }
render style: image
image:
script:
pure := pure_colors()
count := length(pure)
if styling.PT_color_scheme == "gold" and count > 1 then template("m", type: "pt")
else if styling.PT_color_scheme == "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()
#mask: mask_pt.png
pt shadow:
left: 0
top: 0
width: 375
height: 523
z index: 800
visible: { card.pt != "" }
render style: image
image: pt/shadow.png
crown:
left: 0
top: 0
width: 375
height: 523
z index: 420
visible: { is_crowned() }
render style: image
image: { card_crown() }
mask: { if is_pinlined() then "mask_crown_pinlines.png" else "mask_crown.png" }
crown shadow:
left: 0
top: 0
width: 375
height: 523
z index: 410
visible: { is_crowned() }
render style: image
image: { if is_pinlined() then "shadow_crown_pinline.png" else "shadow_crown.png" }
card stamp rim:
left: 0
top: 0
width: 375
height: 523
z index: 310
visible: { is_stamped() }
render style: image
image: { card_pinline() }
mask: { if card.card_stamp == "universes beyond" then "mask_stamp_rim_triangle.png" else "mask_stamp_rim.png" }
card stamp background border:
left: 0
top: 0
width: 375
height: 523
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 stamp shadow:
left: 0
top: 0
width: 375
height: 523
z index: 300
visible: { is_stamped() }
render style: image
image: { if card.card_stamp == "universes beyond" then "shadow_stamp_pinline_triangle.png" else "shadow_stamp_pinline.png" }
foil layer:
left: 0
top : 0
width: 375
height: 523
z index: 3000
visible: { styling.overlay != "none" and styling.overlay != "" }
render style: image
image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" }