527 lines
14 KiB
Plaintext
527 lines
14 KiB
Plaintext
mse version: 2.0.0
|
|
game: magic
|
|
short name: Punk Show
|
|
full name: Cover Style
|
|
icon: card-sample.png
|
|
position hint: 095
|
|
installer group: magic/new style/normal cards
|
|
|
|
version: 2024-09-28
|
|
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 background: white
|
|
card width: 375
|
|
card height: 523
|
|
card dpi: 150
|
|
|
|
############################################################## 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 := { false }
|
|
|
|
#Should multicolor lands with basic land types have a colored name?
|
|
mask_multi_land_with_color := { styling.colored_multicolor_land_name }
|
|
|
|
# Which artifact template should be used? Which multicolor template should be used?
|
|
alternate_template := {
|
|
if input == "a" then (
|
|
if styling.artifact_style == "light" then "oa"
|
|
else if styling.artifact_style == "brown" then "ba"
|
|
else "a"
|
|
)
|
|
else input
|
|
}
|
|
template_prefix := [identity: "/magic-modules.mse-include/indicators/"]
|
|
template_suffix := [identity: "identity.png"]
|
|
template := { template_prefix[type] + input + template_suffix[type] }
|
|
land_template := { template_prefix[type] + input + template_suffix[type] }
|
|
# Use land templates for previews because they show more contrast
|
|
hybrid_previews := "land,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 }
|
|
|
|
ancestral_mana := { styling.ancestral_mana_symbols }
|
|
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}
|
|
|
|
break_name := {
|
|
words := split_text(card.name, match:" ")
|
|
lead := ""
|
|
end := ""
|
|
i := 0
|
|
for each w in words do (
|
|
i := i + length(w) + 1
|
|
if i == 0 then lead := w
|
|
else if i < 13 then lead := lead + " " + w
|
|
else if end == "" then end := w
|
|
else end := end + " " + w
|
|
)
|
|
[lead, end]
|
|
}
|
|
name_1 := { if length(card.name) < 19 then card.name else break_name().0}
|
|
name_2 := { if length(card.name) < 19 then "" else break_name().1}
|
|
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
|
|
|
|
name_color := {
|
|
if card.card_color=="black" or contains(card.card_color, match:"land") then rgb(89,49,120)
|
|
else if contains(card.card_color, match:"white") then rgb(201,195,155)
|
|
else if contains(card.card_color, match:"blue") then rgb(88,131,182)
|
|
else if contains(card.card_color, match:"green") then rgb(53,110,55)
|
|
else if contains(card.card_color, match:"red") then rgb(172,37,31)
|
|
else "black"
|
|
}
|
|
|
|
card_stamp_offset_top_1 := { 3 }
|
|
|
|
############################################################## 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: 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.
|
|
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: 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/information/card_fields
|
|
include file: /magic-modules.mse-include/corners/card_fields
|
|
include file: /magic-modules.mse-include/stamps/card_fields
|
|
card style:
|
|
############################# Background stuff
|
|
card color:
|
|
left: 0
|
|
top: 0
|
|
width: 375
|
|
height: 523
|
|
z index: -2
|
|
render style: image
|
|
popup style: in place
|
|
image: card.jpg
|
|
|
|
############################# Name line
|
|
name:
|
|
left: 57
|
|
top: 32
|
|
width: 251
|
|
height: 30
|
|
alignment: center shrink-overflow
|
|
padding bottom: 0
|
|
z index: 1
|
|
font:
|
|
name: Fugaz One
|
|
size: 20
|
|
weight: bold
|
|
color: rgba(0,0,0,0)
|
|
casting cost:
|
|
right: 360
|
|
top: 7
|
|
left: 309
|
|
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: 18
|
|
top: 99
|
|
width: 342
|
|
height: 212
|
|
z index: 1
|
|
############################# Card type
|
|
type:
|
|
left: 33
|
|
top : 313
|
|
width: { 291 - max(23,card_style.rarity.content_width) }
|
|
height: 19
|
|
alignment: top shrink-overflow
|
|
z index: 1
|
|
padding top: 2
|
|
font:
|
|
name: Tahoma
|
|
weight: bold
|
|
size: 13
|
|
color: black
|
|
separator color: rgb(128,128,128)
|
|
rarity:
|
|
right: 344
|
|
top: 317
|
|
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: 28
|
|
top : {348-(-chop_top())}
|
|
width: 311
|
|
bottom: {483-chop_bot()-(if is_stamped() then 3 else 0)}
|
|
font:
|
|
name: Tahoma
|
|
size: 14
|
|
scale down to: 12
|
|
color: black
|
|
scale down to: 6
|
|
symbol font:
|
|
name: { styling.text_box_mana_symbols }
|
|
size: 14
|
|
scale down to: 6
|
|
alignment:
|
|
script:
|
|
if card.rule_text == "" then "middle " else "top " + (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 "center"
|
|
else "left")
|
|
z index: 3
|
|
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.85
|
|
line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 }
|
|
line height line max: 1.6
|
|
############################# PT
|
|
pt:
|
|
z index: 4
|
|
left: 320
|
|
top: 420
|
|
width: 55
|
|
height: 28
|
|
alignment: center middle shrink-overflow
|
|
font:
|
|
name: Tahoma
|
|
weight: bold
|
|
size: 15
|
|
color: black
|
|
separator color: red
|
|
############################################################## Extra card fields
|
|
extra card field:
|
|
type: text
|
|
name: module title
|
|
editable: true
|
|
save value: true
|
|
default: "Band Name"
|
|
extra card field:
|
|
type: text
|
|
name: adventure label
|
|
editable: true
|
|
save value: true
|
|
default: "SIDE A / SIDE B"
|
|
extra card field:
|
|
type: text
|
|
name: dnd label
|
|
multi line: true
|
|
default: "$2.00"
|
|
editable: true
|
|
save value: true
|
|
extra card field:
|
|
type: text
|
|
name: name mirror
|
|
script: to_upper(name_1())
|
|
editable: false
|
|
save value: false
|
|
extra card field:
|
|
type: text
|
|
name: name mirror 2
|
|
script: to_upper(name_2())
|
|
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 field:
|
|
type: choice
|
|
name: stamp backing
|
|
choice: stamp
|
|
save value: false
|
|
editable: false
|
|
|
|
extra card style:
|
|
module title:
|
|
left: 100
|
|
top: 7
|
|
width: 176
|
|
height: 20
|
|
alignment: center shrink-overflow
|
|
padding bottom: 0
|
|
z index: 1
|
|
font:
|
|
name: Tahoma
|
|
weight: bold
|
|
size: 12
|
|
color: black
|
|
stamp backing:
|
|
left: 165
|
|
top: 475
|
|
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") }
|
|
adventure label:
|
|
left: 18
|
|
top: 76
|
|
width: 339
|
|
height: 15
|
|
alignment: center shrink-overflow
|
|
padding bottom: 0
|
|
z index: 1
|
|
font:
|
|
name: Gotham Pro Black
|
|
size: 10
|
|
color: { if card.card_color=="black" or contains(card.card_color, match:"land") then rgb(89,49,120) else if contains(card.card_color, match:"white") then rgb(201,195,155) else if contains(card.card_color, match:"blue") then rgb(88,131,182) else if contains(card.card_color, match:"green") then rgb(53,110,55) else if contains(card.card_color, match:"red") then rgb(172,37,31) else "black"}
|
|
dnd label:
|
|
left: 0
|
|
top: 54
|
|
width: 80
|
|
height: 30
|
|
angle: 45
|
|
alignment: center shrink-overflow
|
|
padding bottom: 0
|
|
z index: 1
|
|
font:
|
|
name: ITC Souvenir Bold
|
|
size: 15
|
|
color: black
|
|
name mirror:
|
|
left: 72
|
|
top: {if length(card.name) > 18 then 20 else 32}
|
|
width: 221
|
|
height: 38
|
|
alignment: middle center shrink-overflow
|
|
padding bottom: 0
|
|
z index: 1
|
|
font:
|
|
name: Fugaz One
|
|
size: 18
|
|
scale down to: 6
|
|
weight: bold
|
|
color: {name_color()}
|
|
name mirror 2:
|
|
left: 72
|
|
top: 43
|
|
width: {if length(card.name) > 18 then 221 else 0}
|
|
height: 38
|
|
alignment: middle center shrink-overflow
|
|
padding bottom: 0
|
|
z index: 1
|
|
font:
|
|
name: Fugaz One
|
|
size: 18
|
|
scale down to: 6
|
|
weight: bold
|
|
color: {name_color()}
|
|
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}
|