Files
magic-set-editor-fork/data/magic-m15-mainframe-planeswalker.mse-style/style backup
CajunAvenger b582d03f6a Initial commit
2021-07-08 17:16:53 -05:00

1309 lines
44 KiB
Plaintext

mse version: 2.0.0
game: magic
short name: Mainframe Walkers
full name: M15 Planeswalkers
installer group: magic/m15 style/planeswalkers
icon: card-sample.png
position hint: 003
version: 2020-03-19
depends on:
package: magic.mse-game
version: 2014-06-25
depends on:
package: magic-watermarks.mse-include
version: 2007-09-23
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-identity-new.mse-include
version: 2012-01-22
depends on:
package: magic-mainframe-extras.mse-include
version: 2017-05-05
card width: 375
card height: 523
card dpi: 150
############################################################## Extra scripts
init script:
# Should hybrids have a grey name?
mask_hybrid_with_land := { styling.grey_hybrid_name }
mainframe_walker := {"three"}
template_prefix := [card: "" card2: "" card3: "fullart/" card4: "fullart/" nyx:"nyx/" stamp: "" identity: "/magic-identity-new.mse-include/"]
template_suffix := [card: "card.png" card2: "card2.png" card3: "card.jpg" card4: "card2.jpg" nyx:"nyx.png" stamp: "stamp.png" identity: "identity.png"]
template := { template_prefix[type] + input + template_suffix[type] }
land_template := { template_prefix[type] + "c" + template_suffix[type] }
# Use land templates for previews because they show more contrast
hybrid_previews := "land,hybrid"
# This will create two seperate card faces
card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) }
nyx_background := { color_background(type:"nyx", 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 }
paintbrush_color := {
if to_int(card.border_color) < 96 then "white" else "black"
}
# Loyalty cost arrows
loyalty_image := {
if contains(input, match: "+") then "loyalty up"
else if contains(input, match: "-") then "loyalty down"
else "loyalty naught"
}
card_shape := {"planeswalker"}
# Is the card a promo card?
is_promo := { styling.promo }
# Does the card have four abilities?
has_four_abilities := { styling.use_separate_textboxes == "four" or contains(paragraph_count(card.rule_text), match: "~~~") }
has_two_abilities := { styling.use_separate_textboxes == "two" }
is_stamped := { is_rare() and styling.holofoil_stamped_rares }
is_normal_size := { styling.default_image_size }
lv1_chop_top := { pull_comma_array(styling.level_1_chop, cell:0, end:0, default:0)}
lv1_chop_bot := { pull_comma_array(styling.level_1_chop, cell:1, end:0, default:0)}
lv1_chop_right := { pull_comma_array(styling.level_1_chop, cell:2, end:0, default:0)}
lv2_chop_top := { pull_comma_array(styling.level_2_chop, cell:0, end:0, default:0)}
lv2_chop_bot := { pull_comma_array(styling.level_2_chop, cell:1, end:0, default:0)}
lv2_chop_right := { pull_comma_array(styling.level_2_chop, cell:2, end:0, default:0)}
lv3_chop_top := { pull_comma_array(styling.level_3_chop, cell:0, end:0, default:0)}
lv3_chop_bot := { pull_comma_array(styling.level_3_chop, cell:1, end:0, default:0)}
lv3_chop_right := { pull_comma_array(styling.level_3_chop, cell:2, end:0, default:0)}
lv4_chop_top := { pull_comma_array(styling.level_4_chop, cell:0, end:0, default:0)}
lv4_chop_bot := { pull_comma_array(styling.level_4_chop, cell:1, end:0, default:0)}
lv4_chop_right := { pull_comma_array(styling.level_4_chop, cell:2, end:0, default:0)}
loyal_move := { pull_comma_array(styling.move_loyalty_costs, cell:0, end:0, default:0)}
loyal_move2 := { pull_comma_array(styling.move_loyalty_costs, cell:1, end:0, default:0)}
loyal_move3 := { pull_comma_array(styling.move_loyalty_costs, cell:2, end:0, default:0)}
loyal_move4 := { pull_comma_array(styling.move_loyalty_costs, cell:3, end:0, default:0)}
is_level_walker := { not contains(styling.use_separate_textboxes, match:"no") }
comma_count := filter_text@(match:",")
paragraph_count :=
replace@(match:"<soft-line>\n", replace:"")+
filter_text@(match:"\n")
bottom_of_textbox := { if heavy_levels() then stripe30()+10-lv1_chop_bot()
else if level_four() then stripe31()+10-lv1_chop_bot()
else if slide_two() then stripe01()+10-lv1_chop_bot()
else if contains(styling.use_separate_textboxes, match:"two") then 404-lv1_chop_bot()
else if level_three() then stripe12()+10-lv1_chop_bot()
else if has_four_abilities() then 472
else 478
}
use_full_art := { contains(styling.other_options, match:"mythic edition fullart") }
mask_script := { if contains(styling.custom_mask, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_mask
else if is_clear() then "imagemask_clear.png"
else if use_full_art() and has_four_abilities() and is_level_walker() and is_rare() and styling.holofoil_stamped_rares then "4tress_imagemask_rare_level.png"
else if use_full_art() and has_four_abilities() and is_level_walker() then "4tress_imagemask_level.png"
else if use_full_art() and has_four_abilities() and is_rare() and styling.holofoil_stamped_rares then "4tress_imagemask_rare.png"
else if use_full_art() and has_four_abilities() then "4tress_imagemask.png"
else if use_full_art() and is_level_walker() and is_rare() and styling.holofoil_stamped_rares then "fortress_imagemask_rare_level.png"
else if use_full_art() and is_rare() and styling.holofoil_stamped_rares then "fortress_imagemask_rare.png"
else if use_full_art() and is_level_walker() then "fortress_imagemask_level.png"
else if use_full_art() then "fortress_imagemask.png"
else "imagemask"
+ ( if has_two_abilities() and not has_four_abilities() and not slide_two() then "_2abil" else "" )
+ ( if has_four_abilities() then "_4abil" else "" )
+ ( if is_normal_size() then "" else "_wide" )
+ ( if level_three() or level_four() or slide_two() or slide_three() or slide_four() then "_level") + ".png"
}
text_size := { 14 -(if styling.separated_text_size == "" then 0 else if contains(styling.separated_text_size, match: ".5") then to_int(split_text(match:".5", styling.separated_text_size).0) else styling.separated_text_size) }
stripe01 := { 345 + min(pull_comma_array(styling.stripe_coordinate, cell: 0, default:48),105)}
stripe12 := { 345 + min(pull_comma_array(styling.stripe_coordinate, cell: 0, default:27),stripe23()-365)}
stripe23 := { 345 + min(pull_comma_array(styling.stripe_coordinate, cell: 1, default:80),95)}
stripe30 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: 0, default:(if heavy_levels() then 15 else 0)),stripe31()-329)}
stripe31 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: (if heavy_levels() then 1 else 0), default:(if stagger_levels() then 50 else 21)),stripe32()-329)}
stripe32 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: (if heavy_levels() then 2 else 1), default:(if stagger_levels() then 100 else 69)),stripe33()-329)}
stripe33 := { 309 + min(pull_comma_array(styling.stripe_coordinate, cell: 2, default:(if stagger_levels() then 150 else 119)),151)}
level_three := { styling.use_separate_textboxes == "three" }
level_four := { styling.use_separate_textboxes == "four" or (level_three() and has_four_abilities())}
slide_two := { styling.use_separate_textboxes == "two" and comma_count(styling.stripe_coordinate) == "," }
slide_three := { styling.use_separate_textboxes == "no" and not has_four_abilities() and comma_count(styling.stripe_coordinate) == ",," }
slide_four := { styling.use_separate_textboxes == "no" and has_four_abilities() and comma_count(styling.stripe_coordinate) == ",,," }
stagger_levels := {styling.use_separate_textboxes == "four" and styling.four_textbox_alternates != "normal"}
heavy_levels := {styling.use_separate_textboxes == "four" and styling.four_textbox_alternates == "double passive"}
has_identity := { styling.color_indicator_dot}
is_unsorted := {styling.remove_from_autocount}
two_clear := {is_clear() and styling.use_separate_textboxes == "two" and not slide_two()}
fort_two := {contains(styling.other_options, match:"mythic edition fullart") and styling.use_separate_textboxes == "two" and not slide_two()}
shrink_type := {if styling.shrink_typeline_text != "" then to_int(styling.shrink_typeline_text) else 0 }
shrink_name := {if styling.shrink_name_text != "" then to_int(styling.shrink_name_text) else 0 }
use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
un_png := replace@(match:".png", replace: "")
ancestral_mana := { contains(styling.other_options, match:"ancestral generic")}
opacity := {pull_comma_array(styling.opacity, cell:input, end:false, default:50)}
unindent := { contains(styling.other_options, match:"un-indent nonloyalty abilities")}
is_skinned := {contains(styling.other_options, match:"godzilla style alias")}
use_evobar := {contains(styling.other_options, match: "pokemon evobar") and not is_skinned()}
is_clear := {styling.clear or contains(styling.other_options, match:"clear frame")}
is_nyx := {chosen(styling.other_options, choice:"nyx")}
is_vehicle := {chosen(styling.other_options, choice:"vehicle")}
paragraph_count := replace@(match:"\n", replace:"~")+
filter_text@(match:"~")
special_text := {
(if card.loyalty_cost_1 != "" then "[" + card.loyalty_cost_1 + "]: " else "") + (if card.level_1_text != "" and card.level_1_text != card.rule_text then card.level_1_text+"\n" else split_text(match:"\n", card.rule_text).0+"\n")
+ (if card.loyalty_cost_2 != "" then "[" + card.loyalty_cost_2 + "]" + ": " else "") + (if card.level_2_text != "" then card.level_2_text+"\n" else if contains(paragraph_count(card.rule_text), match:"~") then split_text(match:"\n", card.rule_text).1+"\n" else "")
+ (if card.loyalty_cost_3 != "" then "[" + card.loyalty_cost_3 + "]" + ": " else "") + (if card.level_3_text != "" then card.level_3_text else if contains(paragraph_count(card.rule_text), match:"~~") then split_text(match:"\n", card.rule_text).2 else "")
+ (if has_four_abilities() then "\n" + (if card.loyalty_cost_4 != "" then "[" + card.loyalty_cost_4 + "]" + ": " else "") + (if card.level_4_text != "" then card.level_4_text else if contains(paragraph_count(card.rule_text), match:"~~~") then split_text(match:"\n", card.rule_text).3 else "") else "")
}
pw_font_size := { if styling.separated_text_size != "" then styling.separated_text_size else 12 }
############################################################## 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 image style
description: The styling instructions for the popout image field, formatted as "left,top,width,height,". The text MUST end with a comma.
styling field:
type: text
name: stripe coordinate
description: Overrides the coordinates for the ability stripes. Defaults are "48," and "27,80," and "21,69,119,". The text MUST end with a ,
styling field:
type: text
name: move loyalty costs
description: Moves loyalty costs up the specified amount. Use negative to move down. Formatted as "1,2,3,4," MUST end with a comma.
styling field:
type: choice
name: use separate textboxes
choice: no
choice: two
choice: three
choice: four
initial: three
description: Uses a separate textbox for each ability, allowing for different sizes
styling field:
type: choice
name: four textbox alternates
choice: normal
choice: three tall abilities
choice: double passive
description: Use 4 ability height with three stripes for taller abilities or double passives like Gideon Blackblade
styling field:
type: text
name: separated text size
description: Use to standardize the font size of separated abilities. Default is size 12.
styling field:
type: text
name: level 1 chop
description: Changes the start/stop points of the first textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 2 chop
description: Changes the start/stop points of the second textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 3 chop
description: Changes the start/stop points of the third textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: level 4 chop
description: Changes the start/stop points of the fourth textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma.
styling field:
type: text
name: opacity
description: set opacity for stripes, from 0 to 255.
styling field:
type: multiple choice
name: other options
choice: clear frame
choice: ancestral generic mana
choice: prerelease stamp
choice: un-indent nonloyalty abilities
choice: mythic edition fullart
choice: godzilla style alias
choice: pokemon evobar
choice: nyx
choice: vehicle
initial: un-indent nonloyalty abilities
styling field:
type: text
name: shrink name text
description: reduces the name text N points.
styling field:
type: text
name: shrink typeline text
description: reduces the typeline text N points.
styling field:
type: text
name: custom mask
description: Uses a custom mask from data/magic-mainframe-extras.mse-include
styling field:
type: boolean
name: default image size
description: Use the default Planeswalker template image size, disable for easier popout art options.
styling field:
type: boolean
name: holofoil stamped rares
description: Use holofoil stamped rares
styling field:
type: boolean
name: color indicator dot
description: Use the color indicator dot
initial: no
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: 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: 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: 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: 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 field:
type: boolean
name: clear
description: Use the clear frame. (depreciated)
initial: no
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") }
other options:
render style: checklist
direction: vertical
############################################################## Card fields
card style:
############################# Background stuff
border color:
left: 0
top : 0
width: { if use_full_art() then 0 else 375 }
height: { if use_full_art() then 0 else 523 }
radius: 18
left width: 17
right width: 17
top width: 17
bottom width: 18
z index: 4
mask: {"border_mask" + (if card.border_color == rgb(200,200,200) then "_silver") + ".png"}
card color:
left: 0
top: 0
width: 375
height: 523
z index: 0
render style: image
popup style: in place
image: { if is_clear() then "" else if has_four_abilities() then card_background2() else card_background() }
############################# Name line
name:
left: { if card.card_symbol=="none" then 31 else 48 }
top: 23
right: { 339 - card_style.casting_cost.content_width }
height: { 23 - (0.5 * shrink_name()) }
alignment: bottom shrink-overflow
padding bottom: 0
z index: 2
font:
name: Beleren Bold
size: {16 - shrink_name() }
color: black
alias:
left: {if is_skinned() then 45 else 36}
top: 46
width: {if is_skinned() then 285 else if use_evobar() then max(100, card_style.alias.content_width) else 0}
height: 20
alignment: { (if is_skinned() then "center") + "bottom shrink-overflow"}
padding bottom: 0
z index: 3
font:
name: Matrix
size: 10
style: italic
color: black
casting cost:
right: 347
top: 22
width: { max(30, card_style.casting_cost.content_width) + 5 }
height: 23
alignment: middle right
symbol font:
name: magic-mana-large
size: 15
alignment: middle right
always symbol: true
z index: 2
padding top: 0
card symbol:
left: {if card.card_symbol=="none" then 20 else 29}
top: 23
height: 18
width: 14
z index: 1
render style: image
choice images:
tombstone: tombstone.png
############################# Image
image:
left: { if use_full_art() or is_clear() then 0 else if is_normal_size() then 25 else 15 }
top: { if use_full_art() or is_clear() then 0 else if is_normal_size() then 52 else 15 }
width: { if use_full_art() or is_clear() then 375 else if is_normal_size() then 324 else 345 }
height: { if use_full_art() or is_clear() then 523 else if is_normal_size() then 427.5 else 493 }
z index: 1
mask: { mask_script() }
image 2:
left: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).0 else "0"}
top: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).1 else "0"}
width: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).2 else "0"}
height: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).3 else "0"}
z index: 8
############################# Card type
indicator:
left: 30
top: { if has_four_abilities() then 265 else 299 }
width: 17
height: 17
z index: 2
render style: image
visible: { has_identity()}
image: { card_identity() }
type:
left: { if has_identity() then "53" else "33" }
top: { (if has_four_abilities() then 261 else 296) + shrink_type() }
width: { 309 - 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: 345
top: { if has_four_abilities() then 263 else 298 }
width: 42
height: 21
z index: 2
render style: image
alignment: middle right
choice images:
# Images based on the set symbol
basic land:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
else symbol_variation(symbol: set.symbol, variation: "common")
common:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
else symbol_variation(symbol: set.symbol, variation: "common")
uncommon:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
else symbol_variation(symbol: set.symbol, variation: "uncommon")
rare:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
else symbol_variation(symbol: set.symbol, variation: "rare")
mythic rare:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
else symbol_variation(symbol: set.symbol, variation: "mythic rare")
special:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
else symbol_variation(symbol: set.symbol, variation: "special")
masterpiece:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png"
else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare")
############################# Text box
text:
left: 63
top: { if has_four_abilities() then 289-lv1_chop_top()+(if is_clear() then 5 else 0) else 330-lv1_chop_top() }
width: { if contains(styling.use_separate_textboxes, match: "no") then 282 else 0 }
bottom: { if contains(styling.use_separate_textboxes, match: "no") then bottom_of_textbox() else 0}
font:
name: MPlantin
italic name: MPlantin-Italic
size: { if styling.separated_text_size != "" then styling.separated_text_size else if has_four_abilities() then 13.8 else 14 }
scale down to: 6
color: { if has_four_abilities() and not level_four() then rgba(0,0,0,0) else "black" }
symbol font:
name: { if has_four_abilities() and not level_four() then "" else styling.text_box_mana_symbols }
size: { if styling.separated_text_size != "" then styling.separated_text_size else if has_four_abilities() then 13.8 else 14 }
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: 6
mask: { if not is_level_walker() then "walker_text_mask.png" else "" }
padding left: 6
padding right: 4
line height hard: 1.2
line height line: 1.5
line height soft: { if has_four_abilities() then 0.85 else 0.9 }
line height hard max: 1.3
line height line max: 1.6
watermark:
left: 19
top : { if has_four_abilities() then 314 else 331 }
width: 334
height: 150
z index: 4
render style: image
alignment: middle center
include file: /magic-watermarks.mse-include/watermarks
############################# Levels
level 1 text:
left: {if unindent() and card.loyalty_cost_1 == "" then 49 else 63 }
top: { if has_four_abilities() then 289-lv1_chop_top()+(if is_clear() then 5 else 0) else 330-lv1_chop_top() }
width: { if contains(styling.use_separate_textboxes, match: "no") then 0 else 282+(if unindent() and card.loyalty_cost_1 == "" then 14 else 0)-(lv1_chop_right()) }
bottom: { if contains(styling.use_separate_textboxes, match: "no") then 0 else bottom_of_textbox() }
font:
name: MPlantin
italic name: MPlantin-Italic
size: { pw_font_size() }
scale down to: 6
color: { if has_four_abilities() and not level_four() then rgba(0,0,0,0) else "black" }
symbol font:
name: { styling.text_box_mana_symbols }
size: { pw_font_size() }
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: 5
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
level 2 text:
left: { if is_level_walker() then (if unindent() and card.loyalty_cost_2 == "" then 49 else 63) else 0 }
top: { (if heavy_levels() then stripe30()+10 else if level_four() then stripe31()+10 else if slide_two() then stripe01()+10 else if has_two_abilities() then 404 else stripe12()+10) -lv2_chop_top() }
width: { if is_level_walker() then 282+(if unindent() and card.loyalty_cost_2 == "" then 14 else 0)-(lv2_chop_right()) else 0 }
bottom: { (if heavy_levels() then stripe31()+10 else if level_four() then stripe32()+10 else if has_two_abilities() then 478 else stripe23()+10) - lv2_chop_bot() }
font:
name: MPlantin
italic name: MPlantin-Italic
size: { pw_font_size() }
scale down to: 6
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: { pw_font_size() }
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: 5
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
level 3 text:
left: { if is_level_walker() then (if unindent() and card.loyalty_cost_3 == "" then 49 else 63) else 0 }
top: { if has_two_abilities() then 0 else (if heavy_levels() then stripe31()+10 else if has_four_abilities() then stripe32()+10 else if is_level_walker() then stripe23()+10 else 430) -lv3_chop_top() }
width: { if is_level_walker() then 282+(if unindent() and card.loyalty_cost_3 == "" then 14 else 0)-(lv3_chop_right()) else 0 }
bottom: { if has_two_abilities() then 0 else (if heavy_levels() then stripe32()+10 else if has_four_abilities() then stripe33()+10 else if is_level_walker() then 478 else 482) - lv3_chop_bot() }
font:
name: MPlantin
italic name: MPlantin-Italic
size: { pw_font_size() }
scale down to: 6
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: { pw_font_size() }
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: 5
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
level 4 text:
left: {if unindent() and card.loyalty_cost_4 == "" then 49 else 63}
top: { (if heavy_levels() then stripe32()+10 else stripe33()+10) -lv4_chop_top() }
width: { if level_four() then 282+(if unindent() and card.loyalty_cost_4 == "" then 14 else 0)-(lv4_chop_right()) else 0 }
bottom: { if heavy_levels() or level_four() then 475 - lv4_chop_bot() else 0 }
font:
name: MPlantin
italic name: MPlantin-Italic
size: { pw_font_size() }
scale down to: 6
color: black
symbol font:
name: { styling.text_box_mana_symbols }
size: { pw_font_size() }
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: 5
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
mask: walker_text_mask.png
############################# Loyalty
loyalty:
z index: 7
left: 326
top: 462
width: 13.16
height: 34.63
alignment: center middle
font:
name: Beleren Bold
size: 14
color: white
loyalty cost 1:
z index: 7
left: 32
top: { -loyal_move() +(if has_four_abilities() then 297 else if has_two_abilities() then 348 else 335) }
width: 13.16
height: 34.63
alignment: center middle
font:
name: Beleren Bold
size: 11
color: white
loyalty cost 2:
z index: 7
left: 32
top: { -loyal_move2() +(if has_four_abilities() then 344 else if has_two_abilities() then 420 else 386) }
width: 13.16
height: 34.63
alignment: center middle
font:
name: Beleren Bold
size: 11
color: white
loyalty cost 3:
z index: 7
left: 32
top: { -loyal_move3() +(if has_four_abilities() then 391 else 435) }
width: {if has_two_abilities() then 0 else 13.16 }
height: 34.63
alignment: center middle
font:
name: Beleren Bold
size: 11
color: white
loyalty cost 4:
z index: 7
left: 32
top: { -loyal_move4() +438 }
width: { if has_four_abilities() then 13.16 else 0 }
height: { if has_four_abilities() then 34.63 else 0 }
alignment: center middle
font:
name: Beleren Bold
size: 11
color: white
############################# Card sorting / numbering
set code:
left: 24
top: 498
width: 40
height: 10
z index: 6
font:
name: Relay-Medium
size: 7
color: white
weight: bold
############################# Copyright stuff
illustrator:
left: { 44 + card_style.set_code.content_width }
top: 497.5
width: 200
height: 10
z index: 2
font:
name: Beleren Small Caps Bold
size: 7.25
color: white
copyright:
right: 350
top: 498
width: {if set.automatic_copyright then 0 else 140}
height: 10
z index: 6
alignment: middle right shrink-overflow
font:
name: Matrix
size: 7
color: white
weight: bold
############################################################## Extra card fields
extra card field:
type: text
name: card code
save value: false
script:
if set.automatic_card_numbers and not styling.remove_from_autocount then
forward_editor(prefix: card_number_m15() + "/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text)
else
combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card.card_code_text)
extra card field:
type: choice
name: artist arrow
editable: false
save value: false
choice: white
extra card field:
type: choice
name: loyalty box
editable: false
choice: loyalty
save value: false
extra card field:
type: choice
name: stamp
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: loyalty cost box 1
editable: false
script: loyalty_image(card.loyalty_cost_1)
save value: false
extra card field:
type: choice
name: loyalty cost box 2
editable: false
script: loyalty_image(card.loyalty_cost_2)
save value: false
extra card field:
type: choice
name: loyalty cost box 3
editable: false
script: loyalty_image(card.loyalty_cost_3)
save value: false
extra card field:
type: choice
name: loyalty cost box 4
editable: false
script: loyalty_image(card.loyalty_cost_4)
save value: false
extra card field:
type: text
name: colon 1
editable: false
script: ":"
save value: false
extra card field:
type: text
name: colon 2
editable: false
script: ":"
save value: false
extra card field:
type: text
name: colon 3
editable: false
script: ":"
save value: false
extra card field:
type: text
name: colon 4
editable: false
script: ":"
save value: false
extra card field:
type: text
name: second text
editable: false
multi line: true
save value: false
script: card.text
extra card field:
type: choice
name: top stripe
editable: false
save value: false
choice: stripe
extra card field:
type: choice
name: bot stripe
editable: false
save value: false
choice: stripe
extra card field:
type: choice
name: fourth stripe
editable: false
save value: false
choice: stripe
extra card field:
type: color
name: top color
script: if is_clear() then rgb(230,230,230) else rgb(200,200,200)
editable: false
save value: false
extra card field:
type: color
name: bottom color
script: if is_clear() then rgb(230,230,230) else rgb(200,200,200)
editable: false
save value: false
extra card field:
type: color
name: stripe color
script: if is_clear() then rgb(230,230,230) else rgb(200,200,200)
editable: false
save value: false
extra card field:
type: color
name: stripe color 2
script: if is_clear() then rgb(230,230,230) else rgb(200,200,200)
editable: false
save value: false
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: clear frame
choice: frame
editable: false
save value: false
show statistics: false
extra card field:
type: text
name: promo label
save value: true
description: The golden promo label.
extra card field:
type: text
name: filler text
editable: true
save value: true
show statistics: false
multi line: true
script:
forward_editor(field: card.special_text)
special_text()
extra card field:
type: color
name: opac filter
script: rgb(opacity(0), opacity(0), opacity(0))
save value: false
extra card field:
type: choice
name: evobar
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar tip
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: evobar start
choice: evo
save value: false
editable: false
extra card field:
type: choice
name: vehicle overlay
choice: car door
save value: false
editable: false
extra card field:
type: choice
name: nyx overlay
choice: nyx
save value: false
editable: false
script: card.card_color
extra card style:
card code:
left: 24
top: 488
width: 120
height: 10
z index: 6
font:
name: Relay-Medium
size: 7
color: white
weight: bold
artist arrow:
left: { 28 + card_style.set_code.content_width }
top: 500
width: 12
height: 7
z index: 6
render style: image
image: artist_arrow.png
loyalty box:
right: 362
top: 460
width: 60
height: 38
z index: 6
render style: image
visible: { card.loyalty != "" }
choice images:
loyalty: loyalty.png
stamp:
left: 170
top: 473
width: 36.5
height: 22.5
z index: 6
visible: { is_stamped() and not is_clear() }
render style: image
image: { card_stamp() }
mask: {(if use_full_art() then "mythic" else "") + "stamp_mask.png"}
foil stamp:
left: 170
top: 473
width: 36.5
height: 22.5
z index: 7
visible: { is_stamped() and not is_clear() }
render style: image
image: foil_stamp.png
foil layer:
left: 0
top : 0
width: 375
height: 523
z index: 10
render style: image
image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"}
loyalty cost box 1:
left: 18
top: { -loyal_move() +(if has_four_abilities() then 295 else if has_two_abilities() then 346 else 333) }
width: 42
height: 40
z index: 6
render style: image
visible: { card.loyalty_cost_1 != "" }
choice images:
loyalty up: loyaltyup.png
loyalty down: loyaltydown.png
loyalty naught: loyaltynaught.png
loyalty cost box 2:
left: 18
top: { -loyal_move2() +(if has_four_abilities() then 342 else if has_two_abilities() then 417 else 383) }
width: 42
height: 40
z index: 6
render style: image
visible: { card.loyalty_cost_2 != "" }
choice images:
loyalty up: loyaltyup.png
loyalty down: loyaltydown.png
loyalty naught: loyaltynaught.png
loyalty cost box 3:
left: 18
top: { -loyal_move3() +(if has_four_abilities() then 389 else 432) }
width: { if has_two_abilities() then 0 else 42 }
height: { if has_two_abilities() then 0 else 40 }
z index: 6
render style: image
visible: { card.loyalty_cost_3 != "" }
choice images:
loyalty up: loyaltyup.png
loyalty down: loyaltydown.png
loyalty naught: loyaltynaught.png
loyalty cost box 4:
left: 18
top: { -loyal_move4() +436 }
width: { if has_four_abilities() then 42 else 0 }
height: 40
z index: 6
render style: image
visible: { card.loyalty_cost_4 != "" }
choice images:
loyalty up: loyaltyup.png
loyalty down: loyaltydown.png
loyalty naught: loyaltynaught.png
colon 1:
left: 59
top: { -loyal_move() +(if has_four_abilities() then 309 else if has_two_abilities() then 360 else 347) }
width: 5
height: 10
z index: 6
font:
name: MPlantin
size: 15
scale down to: 15
color: black
alignment: middle center
visible: { card.loyalty_cost_1 != "" }
colon 2:
left: 59
top: { -loyal_move2() +(if has_four_abilities() then 356 else if has_two_abilities() then 431 else 397) }
width: 5
height: 10
z index: 6
font:
name: MPlantin
size: 15
scale down to: 15
color: black
alignment: middle center
visible: { card.loyalty_cost_2 != "" }
colon 3:
left: 59
top: { -loyal_move3() +(if has_four_abilities() then 403 else 446) }
width: {if has_two_abilities() then 0 else 5}
height: 10
z index: 6
font:
name: MPlantin
size: 15
scale down to: 15
color: black
alignment: middle center
visible: { card.loyalty_cost_3 != "" }
colon 4:
left: 59
top: { -loyal_move4() +450 }
width: { if has_four_abilities() then 5 else 0 }
height: 10
z index: 6
font:
name: MPlantin
size: 15
scale down to: 15
color: black
alignment: middle center
visible: { card.loyalty_cost_4 != "" }
second text:
left: 63
top: 293
width: 282
height: 183
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
paragraph height: 47
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: 4
mask: walker_text_mask.png
padding left: 6
padding right: 4
padding bottom: 2
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
visible: { has_four_abilities() and not is_level_walker()}
###Bottom of first textbox
top stripe:
left: 47
top: {if level_four() then stripe31() else if slide_two() or two_clear() or fort_two() then stripe01() else stripe12() }
width: 298
height: 20
image: { (if is_clear() then "clear_" else "") + "top_stripe_test.png" }
render style: image
z index: 2
mask: stripe_mask.png
visible: { slide_two() or two_clear() or fort_two() or slide_three() or slide_four() or level_three() or level_four() and not contains(styling.custom_mask, match:".png") }
###Top of third textbox
bot stripe:
left: 47
top: {if level_four() then stripe32() else stripe23() }
width: 298
height: 20
image: { (if is_clear() then "clear_" else "") + "bot_stripe_test.png" }
render style: image
z index: 2
mask: stripe_mask.png
visible: { slide_three() or slide_four() or level_three() or level_four() and not contains(styling.custom_mask, match:".png")}
###Bottom of third textbox
fourth stripe:
left: 47
top: {stripe33() }
width: 298
height: 20
image: { (if is_clear() then "clear_" else "") + "top_stripe_test.png" }
render style: image
z index: 2
mask: stripe_mask.png
visible: { slide_four() or level_four() and not stagger_levels() and not contains(styling.custom_mask, match:".png") and not level_three()}
###Block of first textbox
stripe color:
left: 47
top: { if level_four() then 309 else 345 }
width: 298
bottom: { if level_four() then stripe31() else if slide_two() or two_clear() or fort_two() then stripe01() else stripe12() }
z index: 2
mask: stripe_mask.png
visible: { slide_two() or two_clear() or fort_two() or slide_three() or slide_four() or level_three() or level_four() and not contains(styling.custom_mask, match:".png")}
###Block of second textbox
stripe color 2:
left: 47
top: { (if level_four() then stripe32() else stripe23()) +20 }
width: 298
bottom: { if stagger_levels() then 460 else if level_four() and not level_three() then stripe33() else 460 }
z index: 2
mask: stripe_mask.png
visible: { slide_three() or slide_four() or level_three() or level_four() and not contains(styling.custom_mask, match:".png")}
###Curve of first textbox
top color:
left: 26
top: {if is_clear() and level_four() then 288 else if level_four() then 286 else 322 }
width: 324
height: { if is_clear() and level_four() then 21 else 23 }
z index: 2
mask: mask_top.png
visible: { slide_two() or two_clear() or fort_two() or slide_three() or slide_four() or level_three() or level_four() and not contains(styling.custom_mask, match:".png")}
###Curve of bottom textbox
bottom color:
left: 26
top: 460
width: 323
height: 18
z index: 2
mask: mask_bot.png
visible: { slide_three() or level_three() or stagger_levels() and not contains(styling.custom_mask, match:".png")}
auto copyright:
right: 350
top: 498
width: {if set.automatic_copyright then 140 else 0}
height: 10
z index: 6
alignment: middle right shrink-overflow
font:
name: Matrix
size: 7
color: white
weight: bold
clear frame:
left: 0
top: 0
width: { if is_clear() then 375 else 0 }
height: { if is_clear() then 523 else 0 }
z index: 1
render style: image
popup style: in place
image: { (if has_four_abilities() then "xcard2" else "xcard") + (if not contains(styling.use_separate_textboxes, match: "no") then "_level") + (if is_rare() and styling.holofoil_stamped_rares then "_rare") + ".png" }
promo label:
left: 40
top: { if has_four_abilities() then 225 else 262 }
width: {if contains(styling.other_options, match:"prerelease stamp") then 295 else 0}
height: 29
alignment: middle right
z index: 4
font:
name: ModMatrix
size: 14
color: rgb(223,169,41)
opac filter:
left: 45
top: {if has_four_abilities() then 289 else 325}
width: 303
height: {if has_four_abilities() then 192 else 155}
mask: {"opacfilter" + if has_four_abilities() then "_4.png" else ".png"}
z index: 1
visible: {styling.opacity != ""}
evobar:
left: {if is_skinned() then 75 else 40}
top: 51
width: {if is_skinned() then 225 else card_style.alias.content_width}
height: 27
z index: 2
render style: image
image: evobar.png
visible: {is_skinned() or use_evobar()}
evobar tip:
left: {if is_skinned() then 299.6 else 39.6 + card_style.alias.content_width}
top: 51
width: 36
height: 27
z index: 2
render style: image
image: evobar_tip.png
visible: {is_skinned() or use_evobar()}
evobar start:
left: {if is_skinned() then 39.4 else 31}
top: 51
width: {if is_skinned() then 36 else 9}
height: 27
z index: 2
render style: image
image: {if is_skinned() then "evobar_flip.png" else "evobar_start.png"}
mask: {if is_skinned() then "" else "evobar_mask.png"}
visible: {is_skinned() or use_evobar()}
nyx overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: {nyx_background()}
z index: 0
visible: {is_nyx()}
mask: {"nyx/" + (if has_four_abilities() then "4") + "pw" + (if is_vehicle() then "_v") + "_mask.png"}
vehicle overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: full_voverlay.png
z index: 0
mask: {"nyx/" + (if has_four_abilities() then "4") + "pw_mask.png"}
visible: {is_vehicle()}