Files
2024-10-01 08:42:16 -05:00

734 lines
18 KiB
Plaintext

mse version: 2.0.0
game: magic
short name: M15 style
full name: Youtube
icon: card-sample.png
installer group: magic/m15 style/normal cards
position hint: 083
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-small.mse-symbol-font
version: 2007-09-23
depends on:
package: magic-mana-large.mse-symbol-font
version: 2007-09-23
depends on:
package: magic-mana-small-grey.mse-symbol-font
version: 2007-09-23
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 }
template_prefix := [
card: ""
pt: "/magic-modules.mse-include/pts/375 m15/"
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.jpg"
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"
# 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}
shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else if length(remove_tags(card.type)) > 41 then 2 else if length(remove_tags(card.type)) > 38 then 1 else 0 }
chop_top := {if styling.text_chops == "" then 0 else if comma_count(styling.text_chops) == "," or comma_count(styling.text_chops) == ",," then split_text(match:",", styling.text_chops).0 else styling.text_chops}
chop_bot := {if comma_count(styling.text_chops) == ",," then split_text(match:",", styling.text_chops).1 else 0}
chop_top_2 := {if styling.adventure_text_chops == "" then 0 else if comma_count(styling.adventure_text_chops) == "," or comma_count(styling.adventure_text_chops) == ",," then split_text(match:",", styling.adventure_text_chops).0 else styling.adventure_text_chops}
chop_bot_2 := {if comma_count(styling.adventure_text_chops) == ",," then split_text(match:",", styling.adventure_text_chops).1 else 0}
min_maxer := {if input < mini then mini else if input > maxi then maxi else input}
loaded_percentage := {(if styling.loaded_percentage == "" then 75 else min_maxer(to_number(styling.loaded_percentage), mini:0, maxi:100))/100}
ten_filter := replace@(match:"([0-9]+)([0-9])", replace:"\\1.\\2")
one_filter := replace@(match:"([0-9])([0-9]+)", replace:"\\1.\\2")
sub_formatter := {
if styling.subscriber_style == "hundreds"
then input
else if styling.subscriber_style == "tens"
then ten_filter(input)
else one_filter(input)
}
likes_width := {
power := if card.power == "" then "nope" else to_number(card.power) or else 1
toughness := if card.toughness == "" then "nope" else to_number(card.toughness) or else 1
if power == "nope" or toughness == "nope"
then 0
else if power+toughness == 0
then 77*0.5
else 77*power/(power+toughness)
}
card_shape := {if contains(card.type, match:"Token") then "token" else "normal"}
set_code_script := {
styling.remove_from_autocount
sc := if is_masterpiece() then set.masterpiece_set_code else set.set_code
sl := set.set_language
cc := if sc != "" and sl != "" then sc + " • " + sl else sc + sl
if use_auto_numbers()
then card.card_number + (if cc != "" then " • ") + cc
else cc
}
############################################################## 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: X,Y, Shrinks the textbox X pixels from the top and Y pixels from the bottom.
styling field:
type: text
name: shrink typeline text
description: Reduces the typeline text N points.
styling field:
type: boolean
name: adventure
initial: no
description: Is this card an adventure?
styling field:
type: text
name: adventure text chops
description: X,Y, Shrinks the textbox X pixels from the top and Y pixels from the bottom.
styling field:
type: choice
name: subscriber style
choice: hundreds
choice: tens
choice: ones
description: List the custom number as 123, 12.3, or 1.23
styling field:
type: text
name: subscriber magnitude
description: Text after subscriber number for K, M, B, T?
styling field:
type: text
name: loaded percentage
description: What percentage of the video is loaded? (has the colored section). Default is 75.
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: 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: 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
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: 4
mask: border_mask.png
card color:
left: 29
top: 308
width: {loaded_percentage()*316}
height: 3
z index: 4
render style: image
image: {card_background()}
############################# Name line
name:
left: { if card.card_symbol=="none" then 50 else 68 }
top: 22
right: { 341 - card_style.casting_cost.content_width }
height: 23
alignment: bottom shrink-overflow
padding bottom: 0
z index: 1
font:
name: Arial
size: 14
color: white
name 2:
left: 28
top: 347
right: { 178 - card_style.casting_cost_2.content_width }
height: { if styling.adventure then 20 else 0}
alignment: bottom shrink-overflow
z index: 2
font:
name: Arial Bold
size: 11
color: white
casting cost:
right: 355
top: 23
width: {max(58, card_style.casting_cost.content_width+10)}
height: 23
alignment: middle center
font:
name: MPlantin
size: 15
symbol font:
name: magic-mana-small-grey
size: 15
alignment: middle center
always symbol: true
z index: 2
padding top: 0
casting cost 2:
right: 180
top: 347
width: { max(30, card_style.casting_cost_2.content_width) + 5 }
height: { if styling.adventure then 23 else 0}
alignment: middle right
symbol font:
name: magic-mana-small-grey
size: 12
alignment: middle right
always symbol: true
z index: 2
padding top: 0
############################# Image
image:
left: 29
top: 80
width: 316
height: 231
z index: 1
default: {default_image(card.card_color)}
############################# Card type
indicator:
right: {340 - card_style.type.content_width}
top: 316
width: 17
height: 17
z index: 1
render style: image
visible: { has_identity() }
image: { module_identity() }
type:
right: 345
top: 313
width: 240
height: 20
alignment: top right shrink-overflow
z index: 2
padding top: 2
font:
name: Arial
size: {13 - shrink_type()}
color: white
separator color: red
type 2:
left: 28
top: 367
width: 155
height: { if styling.adventure then 20 else 0}
alignment: top shrink-overflow
z index: 4
padding top: 2
font:
name: Arial
size: 10
color: white
separator color: red
image 2:
left: 16
top: 315
width: 30
height: 30
z index: 3
mask: circle.jpg
rarity:
right: 348
top: 55
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: {if styling.adventure then 200 else 29}
top: {347-(-chop_top())}
width: {if styling.adventure then 158 else 314}
bottom: {497-chop_bot()}
font:
name: MPlantin
italic name: MPlantin-Italic
size: 14
scale down to: 6
color: rgb(170,170,170)
symbol font:
name: magic-mana-small-grey
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: 2
padding left: 6
padding right: 4
line height hard: 1.2
line height line: 1.5
line height soft: 0.9
line height hard max: 1.3
line height line max: 1.6
text 2:
left: 22
top: {380-(-chop_top_2())}
width: {if styling.adventure then 173 else 0}
bottom: {497-chop_bot_2()}
font:
name: MPlantin
italic name: MPlantin-Italic
size: 14
scale down to: 6
color: rgb(170,170,170)
symbol font:
name: magic-mana-small-grey
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: 2
padding left: 6
line height hard: 1.2
line height line: 1.5
line height soft: 0.9
line height hard max: 1.3
line height line max: 1.6
############################# PT
power:
z index: 2
left: 290
top: 470
width: 16
height: 23
alignment: center middle shrink-overflow
font:
name: Beleren Bold
size: {if length(card.power) > 2 then 10 else if length(card.power) > 1 then 12 else 16}
color: white
separator color: red
toughness:
z index: 2
left: 328
top: 470
width: 16
height: 23
alignment: center middle shrink-overflow
font:
name: Beleren Bold
size: {if length(card.toughness) > 2 then 10 else if length(card.toughness) > 1 then 12 else 16}
color: white
separator color: red
############################# Copyright stuff
illustrator:
left: { 44 + card_style.set_code.content_width }
top: 497.5
width: 200
height: 10
z index: 1
font:
name: Beleren Small Caps Bold
size: 7.25
color: white
copyright:
right: 350
top: 498.5
width: 140
height: 10
z index: 2
visible: {not set.automatic_copyright}
alignment: middle right
font:
name: Matrix
size: 7
color: white
weight: bold
############################# Card sorting / numbering
set code:
left: 24
top: 498
width: 40
height: 10
z index: 1
font:
name: Relay-Medium
size: 7
color: white
weight: bold
custom card number:
top: 333
left: 50
width: {if use_auto_numbers() then 0 else 100}
height: 10
alignment: left middle
z index: 3
font:
name: Arial
size: 7
color: rgba(0,0,0,0)
level 0:
top: 333
left: 50
width: {if use_auto_numbers() then 100 else 0}
height: 10
alignment: left middle
z index: 3
font:
name: Arial
size: 7
color: rgba(0,0,0,0)
############################################################## Extra card fields
extra card field:
type: text
name: title
editable: true
save value: true
description: The video title
extra card field:
type: text
name: designer
editable: true
save value: true
description: The designer or channel name
extra card field:
type: text
name: subs
script: sub_formatter(if use_auto_numbers() then card.level_0 else card.custom_card_number) + styling.subscriber_magnitude + " subscribers"
editable: false
save value: false
description: The card number or subscriber count
extra card field:
type: color
name: likes
editable: false
save value: false
script: rgb(255,255,255)
extra card field:
type: choice
name: pt box
script: card.card_color
editable: false
save value: false
extra card field:
type: choice
name: foil layer
choice: foil
save value: false
editable: false
extra card field:
type: multiple choice
name: stamp
script: card.card_color
extra card field:
type: choice
name: loading bar
choice: bar
editable: false
show statistics: false
extra card field:
type: choice
name: frame
editable: false
save value: false
choice: frame
extra card field:
type: choice
name: triangle
editable: true
save value: true
choice: none
choice: triangle
description: Enable comments dropdown on the Adventure
extra card field:
type: color
name: search button
editable: false
save value: false
script: rgb(51, 53, 52)
extra card field:
type: text
name: replies
editable: true
description: Number of replies to the Adventure
save value: true
extra card field:
type: text
name: auto copyright
script: set.copyright
save value: false
editable: false
show statistics: false
extra card field:
type: choice
name: artist arrow
editable: false
save value: false
choice: white
extra card style:
title:
left: 28
top: 53
width: 295
height: 23
alignment: bottom shrink-overflow
padding bottom: 0
z index: 1
font:
name: Arial
size: 12
color: white
designer:
top: 319
left: 50
width: 100
height: 10
alignment: left middle
z index: 3
font:
name: Arial Bold
size: 8
color: white
subs:
top: 333
left: 50
width: 100
height: 10
alignment: left middle
z index: 3
font:
name: Arial
size: 7
color: rgb(170,170,170)
likes:
top: 496
left: 267
height: 2
width: {likes_width()}
z index: 4
pt box:
left: 257
top: 470
width: 93
height: 28
z index: 1
visible: { card.pt != "" }
render style: image
image: thumbs.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" }
loading bar:
left: 29
top: 308
width: 316
height: 3
render style: image
image: loading.png
z index: 3
search button:
right: 355
top: 17
width: {max(card_style.casting_cost.content_width+10, 58)}
height: 34
z index: 0
frame:
left: 0
top: 0
width: 375
height: 523
z index: 0
render style: image
popup style: in place
image: card.jpg
replies:
left: 40
top: 484
height: { if styling.adventure then 9 else 0}
width: 100
z index: 5
font:
name: Arial Bold
size: 8
color: rgb(45,150,255)
triangle:
left: 24
top: 485
height: { if styling.adventure then 9 else 0}
width: 14
z index: 4
render style: image
choice images:
triangle: triangle.jpg
auto copyright:
right: 350
top: 498.5
width: 140
height: 10
z index: 2
alignment: middle right shrink-overflow
visible: {set.automatic_copyright}
font:
name: Matrix
size: 7
color: white
weight: bold
artist arrow:
left: { 28 + card_style.set_code.content_width }
top: 500
width: 12
height: 7
z index: 1
render style: image
image: artist_arrow.png