Files
magic-set-editor-fork/data/magic-m15-showcase-monster-manual.mse-style/style
cajun 7dbd7f3494 3.0.2 bugfixes (#86)
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>
2024-10-01 15:04:55 -05:00

526 lines
15 KiB
Plaintext

mse version: 2.0.0
game: magic
short name: Monster Manual
full name: DND 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-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
####### images from Card Conjurer
############################################################## Extra scripts
init script:
# 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:"splashes/" identity: "/magic-modules.mse-include/indicators/"]
template_suffix := [card:".jpg" stamp: "stamp.jpg" 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"
crown_background := { color_background(type:"crown", 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 }
is_legend := {set.auto_legends and lang_setting("is_legendary")(card.super_type) }
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}
is_d20 := {styling.d20_dividers != "off"}
is_all_break := {contains(styling.d20_dividers, match:"all breaks")}
d20string := "^(<b>)?(((</sym>)?[-0-9 ,+>\<](<sym>)?)+|[Ee]lse|[Oo]ther) ?(</b>)?[|]"
d20_array :=
filter_text@(match:"(\n|"+d20string+")")
+split_text@(match:d20string)
number_of_rolls := {if is_all_break() then 1+length(filter_text(card.rule_text, match:"\n"))-rolls_start(card.text) else length(d20_array(input))-1}
rolls_start := {
if styling.d20_dividers == "all breaks +3" then 4
else if styling.d20_dividers == "all breaks +2" then 3
else if styling.d20_dividers == "all breaks +1" then 2
else if styling.d20_dividers == "all breaks" then 0
else if is_d20() then length(d20_array(input).0)
else 0
}
d20_filter := replace@(match:"^([Ee]lse ?|[Oo]ther ?|((</sym>)?[-0-9 ,+>\<](<sym>)?)+)[|]", replace:"<b>\\1</b>|")
top_of_para := {
input := input + no_roll(card.text)
if card_style.text.layout.paragraphs[input].top or else 0 > 0 then
card_style.text.top + card_style.text.layout.paragraphs[input].top - 0.5*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom)
else 0
}
height_of_para := {
input := input + no_roll(card.text)
if card_style.text.layout.paragraphs[input].bottom or else 0 > 0 then
card_style.text.layout.paragraphs[input].bottom + 1.3*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) - card_style.text.layout.paragraphs[input].top
else 0
}
no_roll := {if styling.d20_dividers == "all breaks" then 1 else if rolls_start(input) == 0 then 1 else 0}
text_filter := text_filter + d20_filter
############################################################## 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: 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: boolean
name: hover art
description: use transparent art with painted background
initial: no
styling field:
type: choice
name: d20 dividers
choice: d20 mode
choice: off
choice: all breaks
choice: all breaks +1
choice: all breaks +2
choice: all breaks +3
description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc.
include file: /magic-modules.mse-include/stamps/styling_fields
include file: /magic-modules.mse-include/rarities/styling_fields
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: 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
include file: /magic-modules.mse-include/information/card_fields
include file: /magic-modules.mse-include/card-symbols/card_fields
include file: /magic-modules.mse-include/stamps/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
radius: 18
left width: 17
right width: 17
top width: 17
bottom width: 18
z index: 3
mask: {if is_legend() then "crown_border.png" else "border_mask.png"}
card color:
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
############################# Name line
name:
left: 32
top: 27
right: { 341 - card_style.casting_cost.content_width }
height: {23 - 0.5*shrink_name()}
alignment: bottom shrink-overflow
padding bottom: 0
z index: 3
font:
name: Beleren Bold
size: {16 - shrink_name()}
color: black
casting cost:
right: 346
top: 26
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: 4
padding top: 0
############################# Image
image:
left: 22
top: 56
width: {if styling.hover_art then 0 else 338}
height: 240
z index: 1
default: {card_background(card.card_color)}
mainframe image:
left: 14
top: 35
width: {if styling.hover_art then 347 else 0}
height: 276
z index: 4
############################# Card type
indicator:
left: 31
top: 300
width: 17
height: 17
z index: 1
render style: image
visible: { has_identity() }
image: { module_identity() }
type:
left: { if has_identity() then "46" else "28" }
top: {shrink_type() + 299 }
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: black
separator color: red
rarity:
right: 344
top: 300
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: {330-(-chop_top())}
width: 314
bottom: {481-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
watermark:
left: 19
top: 330
width: 334
bottom: 481
z index: 2
alignment: middle center
render style: image
popup style: in place
include file: /magic.mse-game/watermarks/menu_choice_images
image: { watermark_image_1() }
############################# PT
pt:
z index: 4
left: 294
top: 468
width: 55
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: foil stamp
choice: stamp
save value: false
editable: false
extra card field:
type: choice
name: foil layer
choice: foil
save value: false
editable: false
extra card field:
type: choice
name: crown
choice: overlay
editable: false
extra card field:
type: choice
name: color back
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: level 2 overlay
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: level 3 overlay
choice: mask
editable: false
show statistics: false
extra card field:
type: choice
name: level 4 overlay
choice: mask
editable: false
show statistics: false
extra card style:
pt box:
left: 289
top: 465
width: 65
height: 33
z index: 3
visible: { card.pt != "" }
render style: image
image: pt.png
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 stamp:
left: 165
top: 472
width: 46
height: 26
z index: 850
visible: { card.card_stamp != "none" }
render style: image
image: { "/magic-modules.mse-include/stamps/backs/" + (if stamp_shape(field:1) == "triangle" then "triangle_stamp.png" else "stamp.png") }
crown:
left: 0
top: 0
width: 375
height: 61
render style: image
image: crown.png
z index: 2
visible: {is_legend()}
color back:
left: 22
top: 56
width: 338
height: 240
z index: 0
render style: image
image: {card_background()}
level 2 overlay:
left: 29
top: { top_of_para(rolls_start(card.text))}
height: { height_of_para(rolls_start(card.text))}
width: 314
z index: 2
render style: image
image: d20slice.png
visible: {is_d20() and number_of_rolls(card.text) > 0}
level 3 overlay:
left: 29
top: { top_of_para(rolls_start(card.text)+2)}
height: { height_of_para(rolls_start(card.text)+2)}
width: 314
z index: 2
render style: image
image: d20slice.png
visible: {is_d20() and number_of_rolls(card.text) > 2}
level 4 overlay:
left: 29
top: { top_of_para(rolls_start(card.text)+4)}
height: { height_of_para(rolls_start(card.text)+4)}
width: 314
z index: 2
render style: image
image: d20slice.png
visible: {is_d20() and number_of_rolls(card.text) > 4}