Files
magic-set-editor-fork/data/magic-m15-showcase-kaldheim-dfc.mse-style/style
cajun 9a7b7949e8 [wip] updating exporters for 2.5 (#75)
* Add Card Regions to DFCs
* Add Hashes
* Add crop_multi_image to help crop with card regions
* bugfix exporters and organize the list
* add dfc splitter support for Cockatrice and Lackey exporters
* fix sizing bugs on Planesculptors exporter
* update icons on exporters missing them
* update namecheck exporter and improve near checking

---------

Co-authored-by: cajun <12363371+CajunAvenger@users.noreply.github.com>
2024-09-24 09:52:17 -05:00

779 lines
20 KiB
Plaintext

mse version: 2.0.0
game: magic
short name: DFC Vikings
full name: Kaldheim Showcase
icon: card-sample.png
installer group: magic/m15 style/normal cards
position hint: 095
version: 2024-09-01
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-05-20
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: 752
card height: 523
card dpi: 150
card region:
name: front
x: 0
y: 0
height: 523
width: 375
card region:
name: back
x: 377
y: 0
height: 523
width: 375
####### images from digiman
############################################################## Extra scripts
init script:
faces_coordinates := {
[
[
left: 0,
top: 0,
width: 375,
height: 523
],
[
left: 377,
top: 0,
width: 375,
height: 523
]
]
}
card_shape := { "transform double faced" }
# Load scripts for image box
include file: /magic-default-image.mse-include/scripts
# Should hybrids have a grey name?
mask_hybrid_with_land := { styling.grey_hybrid_name }
#Should multicolor lands with basic land types have a colored name?
mask_multi_land_with_color := { styling.colored_multicolor_land_name }
template_prefix := [
card: ""
card2: "legend/"
pt: ""
flag: "flags/"
flag2: "flags/"
stamp: "/magic-modules.mse-include/stamps/backs/375 round/"
ubstamp: "/magic-modules.mse-include/stamps/backs/375 ub/"
identity: "/magic-modules.mse-include/indicators/"
]
template_suffix := [
card: "card.png"
card2: "card.png"
flag: "flag.png"
flag2: "flag2.png"
pt: "pt.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] }
# Use land templates for previews because they show more contrast
hybrid_previews := "land,hybrid"
legend_background := { color_background(type:"card2", base_hybrid:card_hybrid) }
card_ptbox := { color_background(type:"pt", base_hybrid:card_hybrid) }
front_flag_image := { color_background(type:"flag", base_hybrid:card_hybrid) }
back_flag_image := { color_background(type:"flag2", base_hybrid:card_hybrid) }
# 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"
}
# Use guild mana symbols?
guild_mana := { styling.use_guild_mana_symbols }
# Is the card a promo card?
is_promo := { styling.promo }
mana_sort := {
if styling.unsorted_casting_cost then
input
else
sort_text@(order: "XYZI[0123456789]HSCA(WUBRG)")()
}
ancestral_mana := { styling.ancestral_mana_symbols }
watermark_include := "/magic-modules.mse-include/watermarks"
is_unsorted := {styling.remove_from_autocount}
chop_top := {to_number(pull_comma_array(styling.text_chops, cell:0, end:false))}
chop_bot := {to_number(pull_comma_array(styling.text_chops, cell:1, end:false))}
chop_correction := { chop_bot() }
shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else 0}
shrink_name := {if styling.shrink_name_text != "" then to_number(styling.shrink_name_text) else 0}
shrink_type2 := {if styling.shrink_typeline_text != "" then to_int((if comma_count(styling.shrink_typeline_text) != "" then split_text(match:",", styling.shrink_typeline_text).1)) else 0 }
shrink_name2 := {if styling.shrink_name_text != "" then to_int((if comma_count(styling.shrink_name_text) != "" then split_text(match:",", styling.shrink_name_text).1)) else 0 }
use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
un_png := replace@(match:".png", replace: "")
is_vehicle := {lang_setting("is_vehicle")(card.sub_type)}
is_legend := {set.auto_legends and lang_setting("is_legendary")(card.super_type) }
is_modal_dfc := {
styling.dfc_type != "transforming"
or contains(card.transformation, match:"modal")
}
auto_flags := {
styling.dfc_type == "modal with standard flags"
or (styling.dfc_type == "transforming" and contains(card.transformation, match:"modal"))
}
back_vehicle := {lang_setting("is_vehicle")(card.sub_type_2)}
back_legend := {set.auto_legends and lang_setting("is_legendary")(card.super_type_2) }
back_face := replace@(match:"a", replace:"b")
card_stamp_offset_top_1 := {1}
transform_symbol_default := {
stylesheet
if margin_code == "transform1" then
(
if contains(card.transformation_2, match:"modal back")
then "modal front " + sparker_card_color(card.card_color)
else if contains(card.transformation_2, match:"modal front")
then "modal back " + sparker_card_color(card.card_color)
else if styling.dfc_type != "transforming"
then "modal front " + sparker_card_color(card.card_color)
else "front triangle"
)
else if margin_code == "transform2" then
(
if contains(card.transformation, match:"modal front")
then "modal back " + sparker_card_color(card.card_color_2)
else if contains(card.transformation, match:"modal back")
then "modal front " + sparker_card_color(card.card_color_2)
else if styling.dfc_type != "transforming"
then "modal back " + sparker_card_color(card.card_color_2)
else "back triangle"
)
else "eldrazi"
}
transform_symbol_offset_left_1 := {-9}
transform_symbol_offset_left_2 := {-9}
transform_symbol_offset_top_1 := { if is_legend() then 4 else -7 }
transform_symbol_offset_top_2 := { if back_legend() then 4 else -7 }
############################################################## 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: choice
name: dfc type
choice: transforming
choice: modal with standard flags
choice: modal with custom flags
styling field:
type: text
name: text chops
description: Format as "X,Y". Shrinks textbox X pixels from the top and Y from bottom.
styling field:
type: text
name: shrink name text
description: Shrinks name X pixels
styling field:
type: text
name: shrink typeline text
description: Shrinks type X pixels
styling field:
type: text
name: custom symbol one
description: Uses a custom DFC symbol from data/magic-mainframe-extras.mse-include
styling field:
type: text
name: custom symbol two
description: Uses a custom DFC symbol from data/magic-mainframe-extras.mse-include
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
include file: /magic-modules.mse-include/stamps/styling_fields
styling field:
type: boolean
name: grey hybrid name
description: Use a grey background for the name and type line on hybrid cards. This is done on real cards.
styling field:
type: boolean
name: unsorted casting cost
description: Disables automatic mana symbol sorting.
initial: no
styling field:
type: boolean
name: ancestral mana symbols
description: Enables ancestral's modified generic mana.
initial: no
styling field:
type: boolean
name: colored multicolor land name
description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards.
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?
initial: modern
choice: modern
choice: old
choice: diagonal T
styling field:
type: package choice
name: text box mana symbols
match: magic-mana-*.mse-symbol-font
initial: magic-mana-small.mse-symbol-font
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: never
styling field:
type: boolean
name: promo
description: Is this card a promo card, with the "P" rarity?
initial: no
styling field:
type: boolean
name: masterpiece
description: Is this card a Masterpiece?
initial: no
styling field:
type: boolean
name: inverted common symbol
description: Should the common rarity symbol be inverted, like in Coldsnap?
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-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 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_dfc
include file: /magic-modules.mse-include/information/card_fields_dfc
include file: /magic-modules.mse-include/symbols/card_fields_dfc
include file: /magic-modules.mse-include/stamps/card_fields
include file: /magic-modules.mse-include/stamps/stamp_back
include file: /magic-modules.mse-include/watermarks/card_fields_dfc
include file: /magic-modules.mse-include/separators/card_fields_dfc
card style:
############################# Background stuff
border color:
left: 0
top : 0
width: 375
height: 523
radius: 18
left width: 17
right width: 17
top width: 17
bottom width: 18
z index: 1
mask: {if is_legend() then "border_legend.png" else "border_mask.png"}
card color:
left: 0
top: 0
width: 375
height: 523
z index: 0
render style: image
popup style: in place
image: { if is_legend() then legend_background() else card_background() }
mask: {(if is_legend() then "legend/" else "") + "framemask.png"}
card color 2:
left: 377
top: 0
width: 375
height: 523
z index: 0
render style: image
popup style: in place
image: { if back_legend() then legend_background() else card_background() }
mask: {(if back_legend() then "legend/" else "") + "framemask.png"}
############################# Name line
name:
left: 45
top: {if is_legend() then 33 else 22}
right: { 341 - card_style.casting_cost.content_width }
height: {23 - 0.5*shrink_name()}
alignment: bottom shrink-overflow
padding bottom: 0
z index: 1
font:
name: Beleren Bold
size: {15 - shrink_name()}
color: white
name 2:
left: 422
top: {if back_legend() then 33 else 22}
right: { 718 - card_style.casting_cost_2.content_width }
height: {23 - 0.5*shrink_name2()}
alignment: bottom shrink-overflow
padding bottom: 0
z index: 1
font:
name: Beleren Bold
size: {15 - shrink_name2()}
color: white
casting cost:
right: 346
top: {if is_legend() then 33 else 22}
width: { max(30, card_style.casting_cost.content_width) + 5 }
height: 23
alignment: middle right
font:
name: MPlantin
size: 15
symbol font:
name: magic-mana-large
size: 15
alignment: middle right
always symbol: true
z index: 2
padding top: 0
casting cost 2:
right: 723
top: {if back_legend() then 33 else 22}
width: { max(30, card_style.casting_cost.content_width) + 5 }
height: 23
alignment: middle right
font:
name: MPlantin
size: 15
symbol font:
name: magic-mana-large
size: 15
alignment: middle right
always symbol: true
z index: 2
padding top: 0
############################# Image
image:
left: 39
top: {if is_legend() then 60 else 48}
width: 297
height: {if is_legend() then 243 else 255}
z index: -1
default: {default_image(card.card_color)}
mask: {(if is_legend() then "legend/") + "imagemask.png"}
image 2:
left: 416
top: {if back_legend() then 60 else 48}
width: 297
height: {if back_legend() then 243 else 255}
z index: -1
default: {default_image(card.card_color_2)}
mask: {(if back_legend() then "legend/") + "imagemask.png"}
############################# Card type
indicator:
left: 26
top: 308
width: 17
height: 17
z index: 1
render style: image
visible: { has_identity() }
image: { module_identity() }
indicator 2:
left: 403
top: 308
width: 17
height: 17
z index: 1
render style: image
visible: { has_identity_2() }
image: { module_identity() }
type:
left: { if has_identity() then "46" else "28" }
top: {shrink_type() + 305 }
width: { (if has_identity() then "290" else "310") - max(22,card_style.rarity.content_width) }
height: { 20 - shrink_type() }
alignment: top shrink-overflow
z index: 2
padding top: 2
font:
name: Beleren Bold
size: {13 - shrink_type()}
color: white
separator color: red
type 2:
left: { 377 + (if has_identity_2() then 46 else 28) }
top: {shrink_type2() + 305 }
width: { (if has_identity_2() then "290" else "310") - max(22,card_style.rarity.content_width) }
height: { 20 - shrink_type2() }
alignment: top shrink-overflow
z index: 2
padding top: 2
font:
name: Beleren Bold
size: {13 - shrink_type2()}
color: white
separator color: red
rarity:
right: 344
top: 308
width: 44
height: 22
z index: 2
render style: image
alignment: middle right
include file: /magic-modules.mse-include/rarities/choice_images
rarity 2:
right: 721
top: 308
width: 44
height: 22
z index: 2
render style: image
alignment: middle right
include file: /magic-modules.mse-include/rarities/choice_images
############################# Text box
text:
left: 29
top: {338-(-chop_top())}
width: 314
bottom: {477-chop_bot()}
font:
name: MPlantin
italic name: MPlantin-Italic
size: 14
scale down to: 6
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: 14
scale down to: 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"
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
text 2:
left: 406
top: {338-(-chop_top2())}
width: 314
bottom: {477-chop_bot2()}
font:
name: MPlantin
italic name: MPlantin-Italic
size: 14
scale down to: 6
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: 14
scale down to: 6
alignment:
script:
if (styling.center_text == "short text only" and
not contains(match:"\n", card.rule_text_2) and
card.flavor_text_2 == "<i-flavor></i-flavor>" and
card_style.text_2.content_lines <= 2) or
styling.center_text == "always"
then "middle center"
else "middle left"
z index: 900
padding left: 6
padding right: 4
line height hard: {if is_modal(card.rule_text_2) 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_2) then 1.0 else 1.3 }
line height line max: 1.6
############################# PT
pt:
z index: 2
left: 293
top: 468
width: 60
height: 28
alignment: center middle shrink-overflow
font:
name: Beleren Bold
size: 15
color: black
separator color: red
pt 2:
z index: 2
left: 670
top: 468
width: 60
height: 28
alignment: center middle shrink-overflow
font:
name: Beleren Bold
size: 15
color: black
separator color: red
############################################################## Extra card fields
extra card field:
type: choice
name: pt box
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: pt box 2
script: card.card_color_2
editable: false
save value: false
extra card field:
type: choice
name: foil layer
choice: foil
save value: false
editable: false
extra card field:
type: choice
name: foil layer 2
choice: foil
save value: false
editable: false
extra card field:
type: choice
name: vehicle overlay
choice: overlay
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: vehicle overlay 2
choice: overlay
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: front modal flag
script: card.card_color_2
editable: false
save value: false
show statistics: false
extra card field:
type: choice
name: back modal flag
script: card.card_color
editable: false
save value: false
show statistics: false
extra card field:
type: text
name: back type hint
script: if front_modal_hint().0 != "" then front_modal_hint().0 else value
save value: true
editable: true
extra card field:
type: text
name: back color hint
script: if front_modal_hint().1 != "" then front_modal_hint().1 else value
save value: true
editable: true
extra card field:
type: text
name: front type hint
script: if back_modal_hint().0 != "" then back_modal_hint().0 else value
save value: true
editable: true
extra card field:
type: text
name: front color hint
script: if back_modal_hint().1 != "" then back_modal_hint().1 else value
save value: true
editable: true
extra card style:
pt box:
left: 285
top: 460
width: 77
height: 43
z index: 1
visible: { card.pt != "" }
render style: image
image: { if is_vehicle() then "vpt.png" else card_ptbox() }
pt box 2:
left: 662
top: 460
width: 77
height: 43
z index: 1
visible: { card.pt_2 != "" }
render style: image
image: { if back_vehicle() then "vpt.png" else card_ptbox() }
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"}
mask: { if is_rare() then "foil_mask_rare.png" else "foil_mask.png" }
foil layer 2:
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"}
mask: foil_mask.png
vehicle overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: {(if is_legend() then "legend/" else "") + "voverlay.png" }
z index: 0
visible: {is_vehicle()}
vehicle overlay 2:
left: 377
top: 0
width: 375
height: 523
render style: image
image: {(if back_legend() then "legend/" else "") + "voverlay.png" }
z index: 0
visible: {back_vehicle()}
front modal flag:
left: 16
top: 467
width: 160
height: 20
render style: image
image: {front_flag_image()}
z index: 2
visible: {is_modal_dfc()}
back type hint:
left: 30
top: 470
width: 80
height: 12
z index: 3
visible: {is_modal_dfc()}
font:
name: Beleren Bold
size: 9
color: white
back color hint:
right: 163
top: 471
width: 80
height: 14
z index: 3
visible: {is_modal_dfc()}
font:
name: MPlantin
size: 10
color: white
symbol font:
name: { styling.text_box_mana_symbols }
size: 10
scale down to: 6
alignment: right middle
back modal flag:
left: 393
top: 467
width: 160
height: 20
render style: image
image: {back_flag_image()}
z index: 2
visible: {is_modal_dfc()}
front type hint:
left: 407
top: 470
width: 80
height: 12
z index: 3
visible: {is_modal_dfc()}
font:
name: Beleren Bold
size: 9
color: black
front color hint:
right: 540
top: 471
width: 80
height: 14
z index: 3
visible: {is_modal_dfc()}
font:
name: MPlantin
size: 10
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: 10
scale down to: 6
alignment: right middle