This commit is contained in:
cajun
2025-01-11 23:38:05 -06:00
parent e35d40f658
commit a542a11dd9
34 changed files with 237 additions and 89 deletions

Binary file not shown.

View File

@@ -639,7 +639,7 @@ init script:
cw := if cw > 44 then (if set.print_fix != "" then set.print_fix else 22) else if cw < 22 then 22 else cw
if card_style.rarity.width == 0 then 0 else cw
}
special_text := {if is_leveler() then ((if card.level_0 != "" then "[" + level_label(0) + " " + card.level_0 + "] " else "") + card.level_1_text + (if card.pt != "" then " [" + card.pt + "]" else "") + "\n"
special_text := {if is_leveler() then ((if card.level_0 != "" then "[" + level_label(0) + " " + card.level_0 + "] " else "") + card.level_1_text + (if card.pt != "" and not lone_pt() then " [" + card.pt + "]" else "") + "\n"
+ (if card.level_1 != "" then "[" + level_label(1) + " " + card.level_1 + "] " else "") + card.level_2_text + (if card.pt_2 != "" then " [" + card.pt_2 + "]" else "") + "\n"
+ (if card.level_2 != "" then "[" + level_label(2) + " " + card.level_2 + "] " else "") + card.level_3_text + (if card.pt_3 != "" then " [" + card.pt_3 + "]" else "") + (if card.level_4_text != "" then "\n" else "")
+ (if card.level_3 != "" then "[" + level_label(3) + " " + card.level_3 + "] " else "") + card.level_4_text + (if card.pt_7 != "" then " [" + card.pt_7 + "]" else "")

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -123,15 +123,28 @@ init script:
guild_mana := { styling.use_guild_mana_symbols }
ancestral_mana := { styling.use_ancestral_mana_symbols }
is_land := match@(match: "(?i)Land")
is_basic := match@(match: "(?i)Basic")
is_plains := match@(match: "(?i)Plains")
is_island := match@(match: "(?i)Island")
is_swamp := match@(match: "(?i)Swamp")
is_mountain := match@(match: "(?i)Mountain")
is_forest := match@(match: "(?i)Forest")
is_land := lang_setting("is_land")
is_basic := lang_setting("is_basic")
is_plains := lang_setting("is_plains")
is_island := lang_setting("is_island")
is_swamp := lang_setting("is_swamp")
is_mountain := lang_setting("is_mountain")
is_forest := lang_setting("is_forest")
is_wastes := lang_setting("is_wastes")
is_basic_symboled := { styling.basic_land_symbol and is_basic(card.super_type) and is_land(card.super_type) and (is_plains(card.sub_type) or is_island(card.sub_type) or is_swamp(card.sub_type) or is_mountain(card.sub_type) or is_forest(card.sub_type)) }
is_basic_symboled := {
styling.basic_land_symbol
and is_basic(card.super_type)
and is_land(card.super_type)
and (
is_plains(card.sub_type)
or is_island(card.sub_type)
or is_swamp(card.sub_type)
or is_mountain(card.sub_type)
or is_forest(card.sub_type)
or is_wastes(card.name)
)
}
is_promo := { styling.promo }

View File

@@ -1533,6 +1533,10 @@ init script:
}
flavor_bar_disabled_1 := { mainframe_walker() or a_saga() or not set.use_flavor_bar }
flavor_bar_disabled_2 := { mainframe_walkerb() or b_saga() or not set.use_flavor_bar }
name_transform_symbol_shift := {
map := face_coordinates_map(face)
29 * (min(map.width, map.height)/375) + offset
}
watermark_include := "/magic-modules.mse-include/watermarks"
############################################################## Set info fields
@@ -1966,7 +1970,7 @@ card style:
mask: { back_frame_mask() }
############################# Name line
name:
left: { if front_map() then 65 else if front_normal() then 58 else 62 }
left: { if front_map() then 65 else if front_normal() then (if card.card_symbol == "none" then 58 else 78) else if card.card_symbol == "none" then 62 else 79 }
top: { if front_map() then 27 else if front_normal() then 30 else 22 }
right: { (if front_map() then 344 else 339) - card_style.casting_cost.content_width }
height: { 23 - (0.5 * shrink_name()) }
@@ -1979,7 +1983,7 @@ card style:
size: { name_font_size() }
color: { name_font_color() }
name 2:
left: { if back_map() then 442 else if back_normal() then 435 else 439 }
left: { if back_map() then 442 else if back_normal() then ( if card.card_symbol_2 == "none" then 435 else 455) else if card.card_symbol_2 == "none" then 456 else 439 }
top: { (if back_map() then 27 else if back_normal() then 30 else 22) - 0.5*shrink_name2() }
right: { (if back_map() then 719 else 714) - card_style.casting_cost_2.content_width }
height: { 23 - (0.5 * shrink_name2()) }

View File

@@ -266,6 +266,12 @@ init script:
is_snow := {chosen(styling.other_options, choice:"snow")}
is_vehicle := {chosen(styling.other_options, choice:"vehicle")}
is_pinned := {chosen(styling.other_options, choice:"pride pinlines")}
is_custom_border := {
chosen(styling.other_options, choice:"custom border")
and contains(styling.custom_border_source, match:".png")
}
custom_border_blend := { color_background(type:"custom_border", base_hybrid:card_hybrid) }
paragraph_count := replace@(match:"\n", replace:"~")+
filter_text@(match:"~")
special_text := {
@@ -376,11 +382,16 @@ styling field:
choice: nyx
choice: snow
choice: vehicle
choice: custom border
choice: adventure
choice: reversed adventure
choice: pride pinlines
choice: popunder art
initial: un-indent nonloyalty abilities
styling field:
type: text
name: custom border source
description: Use this file from magic-mainframe-extras as a custom vehicle-like frame. if colored, name images like "wborder.png" and put "-color-border.png" here.
styling field:
type: text
name: custom mask
@@ -539,7 +550,7 @@ card style:
z index: 920
padding top: 0
card symbol:
left: {if card.card_symbol=="none" then 20 else 29}
left: {if card.card_symbol=="none" then 20 else 25}
top: 21
height: 21
width: 23
@@ -977,6 +988,12 @@ extra card field:
choice: car door
save value: false
editable: false
extra card field:
type: choice
name: custom overlay
choice: car door
save value: false
editable: false
extra card field:
type: choice
name: snow overlay
@@ -1413,7 +1430,7 @@ extra card style:
image: {module_nyx()}
z index: 330
visible: {is_nyx()}
mask: {"trim_masks/" + (if has_four_abilities() then "4") + "pw" + (if is_vehicle() then "_v") + "_mask.png"}
mask: {"trim_masks/" + (if has_four_abilities() then "4") + "pw" + (if is_vehicle() or is_custom_border() then "_v") + "_mask.png"}
snow overlay:
left: 0
top: 0
@@ -1423,7 +1440,7 @@ extra card style:
image: {module_snow()}
z index: 320
visible: {is_snow()}
mask: {"trim_masks/" + (if has_four_abilities() then "4") + "pw" + (if is_vehicle() then "_v") + "_mask.png"}
mask: {"trim_masks/" + (if has_four_abilities() then "4") + "pw" + (if is_vehicle() or is_custom_border() then "_v") + "_mask.png"}
vehicle overlay:
left: 0
top: 0
@@ -1432,8 +1449,18 @@ extra card style:
render style: image
image: full_voverlay.png
z index: 310
mask: {"trim_masks/" + (if has_four_abilities() then "4") + "pw_mask.png"}
mask: {"trim_masks/" + (if has_four_abilities() then "4") + "pw" + (if is_custom_border() then "_v") + "_mask.png"}
visible: {is_vehicle()}
custom overlay:
left: 0
top: 0
width: 375
height: 523
render style: image
image: { custom_border_blend() }
z index: 317
mask: {"trim_masks/" + (if has_four_abilities() then "4") + "pw_mask.png"}
visible: { is_custom_border() }
pride pin:
left: { if not is_pinned() then 0 else 19}
top: { if not is_pinned() then 0 else 51}

View File

@@ -6,7 +6,7 @@ icon: card-sample.png
installer group: magic/m15 style/tokens
position hint: 004
version: 2024-09-03
version: 2025-01-11
depends on:
package: magic.mse-game
version: 2014-06-25
@@ -228,6 +228,11 @@ init script:
then module_stamp()
else "/magic-modules.mse-include/stamps/backs/" + (if sh == "triangle" then "triangle_stamp.png" else "stamp.png")
}
is_custom_border := {
chosen(styling.frames, choice:"custom border")
and contains(styling.custom_border_source, match:".png")
}
custom_border_blend := { color_background(type:"custom_border", base_hybrid:card_hybrid) }
watermark_include := "/magic-modules.mse-include/watermarks"
############################################################## Set info fields
set info style:
@@ -253,6 +258,11 @@ styling field:
choice: nyx
choice: snow
choice: vehicle
choice: custom border
styling field:
type: text
name: custom border source
description: Use this file from magic-mainframe-extras as a custom vehicle-like frame. if colored, name images like "wborder.png" and put "-color-border.png" here.
styling field:
type: multiple choice
name: auto frames
@@ -486,7 +496,7 @@ card style:
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
z index: 1010
############################# Card type
type:
left: 32
@@ -712,6 +722,12 @@ extra card field:
choice: plate
save value: false
editable: false
extra card field:
type: choice
name: custom overlay
choice: plate
save value: false
editable: false
extra card field:
type: text
name: vorthos box
@@ -856,6 +872,16 @@ extra card style:
image: voverlay.png
mask: {"v_" + (if is_nyx() or is_snow() then "nyx_" else "") + if is_tall() then "tall_mask.png" else if is_textless() then "short_mask.png" else "mid_mask.png"}
visible: { is_vehicle() }
vehicle overlay:
left: 15
top: 15
width: 345
height: 471
z index: 1
render style: image
image: {custom_border_blend()}
mask: {"v_" + (if is_nyx() or is_snow() then "nyx_" else "") + if is_tall() then "tall_mask.png" else if is_textless() then "short_mask.png" else "mid_mask.png"}
visible: { is_custom_border() }
vorthos box:
right: { if card.pt != "" then 275 else 350 }
top: 488

View File

@@ -88,7 +88,6 @@ init script:
# This will create two seperate card faces
card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) }
card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) }
# Use the normal tap symbol
mana_t := {
@@ -824,7 +823,7 @@ extra card style:
z index: 840
visible: { card.pt_2 != "" and styling.three_cards == "yes"}
render style: image
image: { card_ptbox2() }
image: { card_ptbox() }
pt box 3:
left: 464
top: 466

View File

@@ -405,13 +405,25 @@
replace: { _1 + to_upper(_2) }) +
#curly_quotes +
# step 9 : spellcheck
{ if set.mark_errors then
{
if set.auto_correct then
auto_correct(input)
else input
} +
{
if set.auto_errata then
auto_errata(input)
else input
} +
{
if language().code == "ja" or language().code == "zht" or language().code == "zhs" then input
else if set.mark_errors then
check_spelling(
language: language().spellcheck_code,
extra_dictionary: "/magic.mse-game/magic-words",
extra_dictionary: "/magic.mse-game/dictionary/magic-words",
extra_match: additional_text_words
)
else input
else input
}
############################################################## Statistics utilities

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -398,10 +398,11 @@ init script:
image_width := {
clear := if input == "left" then left_clear() else if input == "right" then right_clear() else false
bl := is_borderless()
sr := is_short_room()
room_style := styling.room_images
if is_room() then (
if room_style == "one image" and input == "left"
then if bl then 488 else if clear then 474 else 452
then if bl then 488 else if clear then 474 else if sr then 444 else 452
else if room_style == "one image"
then 0
else if bl and input == "left"
@@ -410,6 +411,8 @@ init script:
then 265
else if clear
then 251
else if sr
then 236
else 240
)
else if bl and input == "left" and room_style == "one image"
@@ -422,6 +425,8 @@ init script:
then 265
else if clear
then 237
else if contains(styling.other_options, match:"spillover image")
then if input == "left" then 444 else 0
else 203
}
image_height := {
@@ -430,6 +435,8 @@ init script:
then 375
else if clear
then 345
else if is_short_room()
then 149
else if is_room()
then 211
else 148
@@ -442,7 +449,8 @@ init script:
room_style := styling.room_images
rm := is_room()
if rm then (
if is_short_room() then if input == "right" then "rooms/image_mask_right_short.png" else ""
else if rm then (
if room_style == "one image" and input == "left"
then "rooms/image_mask{tag}.png"
else "rooms/image_mask_{input}{tag}.png"
@@ -470,6 +478,7 @@ init script:
is_room := {
chosen(styling.frames, choice:"room") or lang_setting("is_room")(card.sub_type)
}
is_short_room := { chosen(styling.other_options, choice:"short room image") and is_room() }
is_fuse := { card.rule_text_3 != "" and not is_room() }
is_arrows := { chosen(styling.frames, choice:"arrows") }
is_borderless := { chosen(styling.frames, choice:"borderless") }
@@ -601,6 +610,9 @@ init script:
]
]
}
flavor_bar_width := { 251 }
flavor_bar_offset_left_1 := { 25 }
flavor_bar_offset_left_2 := { 268 }
harder_script := [
alt_nyx: alt_nyx_template,
texture: texture_template
@@ -650,7 +662,14 @@ styling field:
choice: ancestral generic mana
choice: prerelease stamp
choice: two illustrators
choice: spillover image
choice: short room image
initial: two illustrators
styling field:
type: color
name: room backfill
default: rgb(0,0,0)
description: Sets the color of the room textbox on short rooms
styling field:
type: text
name: popout image style
@@ -880,11 +899,11 @@ card style:
image: { card_symbol_image(face: 2) }
############################# Image
image:
left: { if is_borderless() or left_clear() then 35 else if is_room() then 46 else 50 }
left: { if is_borderless() or left_clear() then 35 else if is_short_room() then 50 else if is_room() then 46 else 50 }
top: { if is_borderless() then 0 else if left_clear() then 13 else 49 }
width: { image_width("left") }
height: { image_height("left") }
z index: 400
z index: 510
default: {default_image(card.card_color)}
mask: { image_mask("left") }
image 2:
@@ -892,7 +911,7 @@ card style:
top: { if is_borderless() then 0 else if right_clear() then 13 else 49 }
width: { image_width("right") }
height: { image_height("right") }
z index: 401
z index: 511
default: {default_image(card.card_color_2)}
mask: { image_mask("right") }
mainframe image:
@@ -903,11 +922,11 @@ card style:
z index: 1010
mainframe image 2:
left: 245
top: { if is_borderless() then 0 else 53 }
top: { if is_borderless() then 0 else 49 }
width: { if (is_room() or is_borderless()) and styling.room_images == "three images" then 50 else 0 }
height: { if is_borderless() then 375 else 209 }
z index: 410
mask: { "rooms/image_mask_middle" + (if not is_room() then "_fuse" else if is_borderless() then (if uses_fuse_arrows() then "_arrow" else "_bl") else "") + ".png" }
height: { if is_borderless() then 375 else if is_short_room() then 149 else 211 }
z index: 520
mask: { if is_short_room() then "" else "rooms/image_mask_middle" + (if not is_room() then "_fuse" else if is_borderless() then (if uses_fuse_arrows() then "_arrow" else "_bl") else "") + ".png" }
############################# Card type
indicator:
left: 50
@@ -1184,7 +1203,13 @@ extra card field:
choice: patch
editable: false
save value: false
extra card field:
type: color
name: spillblock
script: styling.room_backfill
editable: false
save value: false
extra card style:
fuse_bridge:
left: 265
@@ -1316,3 +1341,11 @@ extra card style:
render style: image
image: rooms/patch.png
visible: { borderless_frames() and is_room() and not left_clear() }
spillblock:
left: 46
top: 202
width: 452
height: 58
z index: 700
visible: { is_short_room() }
mask: rooms/bottom_mask.png

View File

@@ -38,7 +38,7 @@ init script:
else "2" # textbox
}
template_prefix :=
template_prefix := [
card: ""
card2: ""
card3: ""

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -2,8 +2,8 @@ card style:
watermark:
left: { text_style_field(watermark_text_field_1()).left - face_coordinates_map(watermark_face_1()).width/375*10 - watermark_offset_width_1() + watermark_offset_left_1() }
width: { text_style_field(watermark_text_field_1()).width + face_coordinates_map(watermark_face_1()).width/375*20 + watermark_offset_width_1()*2 }
top: { text_style_field(watermark_text_field_1()).top + face_coordinates_map(watermark_face_1()).height/523*3 - watermark_offset_height_1() + watermark_offset_top_1() }
height: { text_style_field(watermark_text_field_1()).height - face_coordinates_map(watermark_face_1()).height/523*6 + watermark_offset_height_1()*2 + (if is_stamped(field: watermark_stamp_field_1()) then watermark_offset_stamp_1() else 0) }
top: { text_style_field(watermark_text_field_1()).top + face_coordinates_map(watermark_face_1()).height/523*3 - watermark_offset_height_1() + watermark_offset_top_1() - chop_top() }
height: { text_style_field(watermark_text_field_1()).height - face_coordinates_map(watermark_face_1()).height/523*6 + watermark_offset_height_1()*2 + (if is_stamped(field: watermark_stamp_field_1()) then watermark_offset_stamp_1() else 0) + chop_top() + chop_bot() }
visible: { not watermark_disabled_1() }
alignment: middle center
popup style: in place

View File

@@ -3,8 +3,8 @@ card style:
watermark 2:
left: { text_style_field(watermark_text_field_2()).left - face_coordinates_map(watermark_face_2()).width/375*10 - watermark_offset_width_2() + watermark_offset_left_2() }
width: { text_style_field(watermark_text_field_2()).width + face_coordinates_map(watermark_face_2()).width/375*20 + watermark_offset_width_2()*2 }
top: { text_style_field(watermark_text_field_2()).top + face_coordinates_map(watermark_face_2()).height/523*3 - watermark_offset_height_2() + watermark_offset_top_2() }
height: { text_style_field(watermark_text_field_2()).height - face_coordinates_map(watermark_face_2()).height/523*6 + watermark_offset_height_2()*2 + (if is_stamped(field: watermark_stamp_field_2()) then watermark_offset_stamp_2() else 0) }
top: { text_style_field(watermark_text_field_2()).top + face_coordinates_map(watermark_face_2()).height/523*3 - watermark_offset_height_2() + watermark_offset_top_2() - chop_top2() }
height: { text_style_field(watermark_text_field_2()).height - face_coordinates_map(watermark_face_2()).height/523*6 + watermark_offset_height_2()*2 + (if is_stamped(field: watermark_stamp_field_2()) then watermark_offset_stamp_2() else 0) + chop_top2() + chop_bot2() }
visible: { not watermark_disabled_2() }
alignment: middle center
popup style: in place

View File

@@ -3,8 +3,8 @@ card style:
watermark 3:
left: { text_style_field(watermark_text_field_3()).left - face_coordinates_map(watermark_face_3()).width/375*10 - watermark_offset_width_3() + watermark_offset_left_3() }
width: { text_style_field(watermark_text_field_3()).width + face_coordinates_map(watermark_face_3()).width/375*20 + watermark_offset_width_3()*2 }
top: { text_style_field(watermark_text_field_3()).top + face_coordinates_map(watermark_face_3()).height/523*3 - watermark_offset_height_3() + watermark_offset_top_3() }
height: { text_style_field(watermark_text_field_3()).height - face_coordinates_map(watermark_face_3()).height/523*6 + watermark_offset_height_3()*2 + (if is_stamped(field: watermark_stamp_field_3()) then watermark_offset_stamp_3() else 0) }
top: { text_style_field(watermark_text_field_3()).top + face_coordinates_map(watermark_face_3()).height/523*3 - watermark_offset_height_3() + watermark_offset_top_3() - chop_top3() }
height: { text_style_field(watermark_text_field_3()).height - face_coordinates_map(watermark_face_3()).height/523*6 + watermark_offset_height_3()*2 + (if is_stamped(field: watermark_stamp_field_3()) then watermark_offset_stamp_3() else 0) + chop_top3() + chop_bot3() }
visible: { not watermark_disabled_3() }
alignment: middle center
popup style: in place

View File

@@ -42,6 +42,7 @@ script:
else if contains(card.shape, match:"battle") then "split"
else if contains(card.shape, match:"leveler") then "normal"
else if contains(card.shape, match:"saga") then "normal"
else if contains(card.shape, match:"class") then "normal"
else if contains(card.shape, match:"adventure") then "vsplit"
else if contains(card.shape, match:"aftermath") then "vsplit"
else if contains(card.shape, match:"planeswalker") then "normal"

View File

@@ -815,7 +815,7 @@ extra card field:
type: text
name: card code
save value: false
script: card_code_script_core()
script: card_code_script(value)
extra card field:
type: choice
name: artist arrow

View File

@@ -333,7 +333,7 @@ extra card field:
type: text
name: card code
save value: false
script: card_code_script_core()
script: card_code_script(value)
extra card field:
type: choice
name: artist arrow

View File

@@ -105,7 +105,7 @@ keyword parameter type:
match: [p](?!ped)(?!ment)
keyword parameter type:
name: name
match: ([^(.:;\n—]+|[ ])
match: ([^(.:;\n—]+[(.:;\n—]?|[ ])
#match: [A-Za-z0-9 ',"“”!?]+
refer script:
name: normal

View File

@@ -1187,7 +1187,9 @@ handle_merged_rt := {
handle_action_rt := {
"<use-if-bumped>To " + to + ", " + to_lower(input) + "</use-if-bumped><otherwise>" + input + "</otherwise>"
}
handle_action_rt_single := {
"<use-if-bumped>" + prefix + " " + to_lower(input) + "</use-if-bumped><otherwise>" + input + "</otherwise>"
}
############################################################## Complex reminder texts
self_pro_check := match@(match:"You ha(ve|s) <kw-A><nospellcheck>protection")
protection_code := {
@@ -1690,6 +1692,19 @@ text_filter :=
tag: "<atom-cardname>",
contents: { "<nospellcheck>" + (if card_name=="" then "CARDNAME" else strip_card_codes(card_name, atom:true)) + "</nospellcheck>" }
) +
#### capitalize This type when appropriate
replace@(
match:"([•.]) <atom-cardname><nospellcheck>this",
replace:"\\1 <atom-cardname><nospellcheck>This"
) +
replace@(
match:"([\"“'])<atom-cardname><nospellcheck>this",
replace:"\\1<atom-cardname><nospellcheck>This"
) +
replace@(
match:"^<atom-cardname><nospellcheck>this",
replace:"<atom-cardname><nospellcheck>This"
) +
tag_contents@(
tag: "<atom-legname>",
contents: { "<nospellcheck>" + (if card_name=="" then "LEGENDNAME" else legend_filter(strip_card_codes(card_name, atom:true))) + "</nospellcheck>" }
@@ -2861,13 +2876,13 @@ card_number_old_1 := {
else if auto_copy then
combined_editor(
field1: card.auto_copyright,
separator: card.card_number,
separator: " " + card.card_number + " ",
field2: card.card_code_text
)
else
combined_editor(
field1: card.copyright,
separator: card.card_number,
separator: " " + card.card_number + " ",
field2: card.card_code_text
)
}
@@ -3008,8 +3023,8 @@ card_name_for_level := {
if set.CARDNAME_replacement == "card's type"
then (
ty := to_lower(cardname_type(card["type"+tag]))
if ty == "" then "this"
else "this " + ty
if ty == "" then "This"
else "This " + ty
)
else if set.CARDNAME_replacement == "card's alias" and card["alias"+tag] != ""
then card["alias"+tag]
@@ -3756,7 +3771,16 @@ loyalty_textbox_background_image :=
############################################################## Separators
separator_enable_level := { false }
separator_default := { if set.use_flavor_bar then "flavor bar" else "none" }
separator_default := {
if set.use_flavor_bar then (
if set.default_flavor_bar == "thin bar"
then "grey bar"
else if set.default_flavor_bar == "thick bar"
then "flavor bar"
else set.default_flavor_bar
)
else "none"
}
flavor_bar_left := { face_coordinates_map(input).left }
flavor_bar_top :=

View File

@@ -460,6 +460,13 @@ set field:
type: boolean
name: use flavor bar
description: Enables the flavor bar on Mainframe templates.
set field:
type: choice
name: default flavor bar
choice: thin bar
choice: thick bar
choice: none
description: The style of flavor bar to use
set field:
type: boolean
name: auto legends

View File

@@ -133,7 +133,7 @@ statistics dimension:
script: if filter_from_statistic() == "Filtered" or trim_from_statistic() then "" else mana_value_statistic()
statistics dimension:
name: permanent/non
name: permanent / nonpermanent
position hint: 0200
icon: stats/type.png
description: Counts the number of creatures, noncreature permanents, and nonpermanents. Counts each side/face separately.
@@ -689,8 +689,8 @@ statistics dimension:
statistics dimension:
name: all mana production
position hint: 0500
name: mana production (All)
position hint: 0520
icon: stats/land_production.png
description: Counts how many cards can produce white mana. Repeat for all other colors. Then counts how many cards can produce mana of any color, and mana of a chosen color.
split list: true
@@ -715,8 +715,8 @@ statistics dimension:
Chosen : rgb(112,38,128)
statistics dimension:
name: land mana prod.
position hint: 0510
name: mana production (Lands)
position hint: 0500
icon: stats/land_production.png
description: Counts how many lands can produce white mana. Repeat for all other colors. Then counts how many lands can produce mana of any color, and mana of a chosen color. If either side/face is a land, the card will be counted here.
split list: true
@@ -741,8 +741,8 @@ statistics dimension:
Chosen : rgb(112,38,128)
statistics dimension:
name: nonland mana prod.
position hint: 0520
name: mana production (Nonlands)
position hint: 0510
icon: stats/land_production.png
description: Counts how many non-land cards can produce white mana. Repeat for all other colors. Then counts how many non-land cards can produce mana of any color, and mana of a chosen color.
split list: true
@@ -767,7 +767,7 @@ statistics dimension:
Chosen : rgb(112,38,128)
statistics dimension:
name: pip count (Casting)
name: pip count (Casting Costs)
position hint: 0600
icon: stats/color_pips.png
description: Counts the number of casting costs that contain one colored pip. Repeat for all other amounts.
@@ -795,7 +795,7 @@ statistics dimension:
8+ : rgb(197,24,214)
statistics dimension:
name: pip colors (Casting)
name: pip colors (Casting Costs)
position hint: 0630
icon: stats/color_pips.png
description: Counts how many cards have a single white pip in their casting cost. Repeat for two white pips. Then three, then four+, then for all other colors. Counts each side/face separately.
@@ -829,7 +829,7 @@ statistics dimension:
GGGG+ : rgb(18,102,0)
statistics dimension:
name: total pips (Casting)
name: total pips (Casting Costs)
position hint: 0660
icon: stats/color_pips.png
description: Counts the total number of white pips in all the casting costs. Repeat for all other colors.
@@ -851,7 +851,7 @@ statistics dimension:
G : rgb(68,144,15)
statistics dimension:
name: pip count (Ability)
name: pip count (Ability Costs)
position hint: 0610
icon: stats/color_pips.png
description: Counts the number of activated/triggered/keyworded ability costs that contain one colored pip. Repeat for all other amounts.
@@ -879,7 +879,7 @@ statistics dimension:
8+ : rgb(197,24,214)
statistics dimension:
name: pip colors (Ability)
name: pip colors (Ability Costs)
position hint: 0640
icon: stats/color_pips.png
description: Counts how many activated/triggered/keyworded abilities have a single white pip in their cost. Repeat for two white pips. Then three, then four+, then for all other colors. Counts each ability on each side/face separately.
@@ -913,7 +913,7 @@ statistics dimension:
GGGG+ : rgb(18,102,0)
statistics dimension:
name: total pips (Ability)
name: total pips (Ability Costs)
position hint: 0670
icon: stats/color_pips.png
description: Counts the total number of white pips in all the activated/triggered/keyworded ability costs. Repeat for all other colors.
@@ -935,7 +935,7 @@ statistics dimension:
G : rgb(68,144,15)
statistics dimension:
name: pip count (Combined)
name: pip count (All Costs)
position hint: 0620
icon: stats/color_pips.png
description: Counts the number of costs that contain one colored pip. Repeat for all other amounts.
@@ -963,7 +963,7 @@ statistics dimension:
8+ : rgb(197,24,214)
statistics dimension:
name: pip color (Combined)
name: pip color (All Costs)
position hint: 0650
icon: stats/color_pips.png
description: Counts how many costs contain a single white pip. Repeat for two white pips. Then three, then four+, then for all other colors. Counts each cost on each side/face separately.
@@ -997,7 +997,7 @@ statistics dimension:
GGGG+ : rgb(18,102,0)
statistics dimension:
name: total pips (Combined)
name: total pips (All Costs)
position hint: 0680
icon: stats/color_pips.png
description: Counts the total number of white pips in all the costs. Repeat for all other colors.
@@ -1119,7 +1119,7 @@ statistics dimension:
script: if trim_from_draw_statistic() then "" else average_opening_hand_statistic()
statistics dimension:
name: land drop hit % (Play)
name: land drop hit % (On The Play)
position hint: 1100
icon: stats/land_drops.png
description: If the set is a deck, probability of hitting every single land drop up to the given turn, when on the play. Always excludes cards with the word 'commander' in their card notes, as well as tokens, emblems, dungeons, conspiracies, heroes, vanguards, schemes, planes and phenomenons.
@@ -1128,7 +1128,7 @@ statistics dimension:
script: land_drop_hit_percentage_statistic(start: 6)
statistics dimension:
name: land drop hit % (Draw)
name: land drop hit % (On The Draw)
position hint: 1110
icon: stats/land_drops.png
description: If the set is a deck, probability of hitting every single land drop up to the given turn, when on the draw. Always excludes cards with the word 'commander' in their card notes, as well as tokens, emblems, dungeons, conspiracies, heroes, vanguards, schemes, planes and phenomenons.

View File

@@ -133,7 +133,7 @@ statistics dimension:
script: if filter_from_statistic() == "Filtré" or trim_from_statistic() then "" else mana_value_statistic()
statistics dimension:
name: Permanent/Non
name: Permanent / Nonpermanent
position hint: 0200
icon: stats/type.png
description: Counts the number of creatures, noncreature permanents, and nonpermanents. Counts each side/face separately.
@@ -220,7 +220,7 @@ statistics dimension:
script: if filter_from_statistic() == "Filtré" or trim_from_statistic() then "" else combined_subtype_statistic()
statistics dimension:
name: Sous-Type (Noncréature)
name: Sous-Type De Noncréature
position hint: 0260
icon: stats/noncreature_subtype.png
description: Subtypes of all types except creature/tribal/kindred.
@@ -690,7 +690,7 @@ statistics dimension:
statistics dimension:
name: Production de Mana (Tout)
position hint: 0500
position hint: 0520
icon: stats/land_production.png
description: Counts how many cards can produce white mana. Repeat for all other colors. Then counts how many cards can produce mana of any color, and mana of a chosen color.
split list: true
@@ -715,8 +715,8 @@ statistics dimension:
Choisie : rgb(112,38,128)
statistics dimension:
name: Prod. de Mana (Terrain)
position hint: 0510
name: Production de Mana (Terrain)
position hint: 0500
icon: stats/land_production.png
description: Counts how many lands can produce white mana. Repeat for all other colors. Then counts how many lands can produce mana of any color, and mana of a chosen color. If either side/face is a land, the card will be counted here.
split list: true
@@ -741,8 +741,8 @@ statistics dimension:
Choisie : rgb(112,38,128)
statistics dimension:
name: Prod. de Mana (Nonterrain)
position hint: 0520
name: Production de Mana (Nonterrain)
position hint: 0510
icon: stats/land_production.png
description: Counts how many non-land cards can produce white mana. Repeat for all other colors. Then counts how many non-land cards can produce mana of any color, and mana of a chosen color.
split list: true
@@ -767,7 +767,7 @@ statistics dimension:
Choisie : rgb(112,38,128)
statistics dimension:
name: # de Pépins (Lancement)
name: # de Pépins (Coût de Lancement)
position hint: 0600
icon: stats/color_pips.png
description: Counts the number of casting costs that contain one colored pip. Repeat for all other amounts.
@@ -795,7 +795,7 @@ statistics dimension:
8+ : rgb(197,24,214)
statistics dimension:
name: Pépins (Lancement)
name: Pépins (Coût de Lancement)
position hint: 0630
icon: stats/color_pips.png
description: Counts how many cards have a single white pip in their casting cost. Repeat for two white pips. Then three, then four+, then for all other colors. Counts each side/face separately.
@@ -829,7 +829,7 @@ statistics dimension:
GGGG+ : rgb(18,102,0)
statistics dimension:
name: Pépins Totaux (Lancement)
name: Pépins Totaux (Coût de Lancement)
position hint: 0660
icon: stats/color_pips.png
description: Counts the total number of white pips in all the casting costs. Repeat for all other colors.
@@ -851,7 +851,7 @@ statistics dimension:
G : rgb(68,144,15)
statistics dimension:
name: # De Pépins (Capacités)
name: # De Pépins (Coût de Capacités)
position hint: 0610
icon: stats/color_pips.png
description: Counts the number of activated/triggered/keyworded ability costs that contain one colored pip. Repeat for all other amounts.
@@ -879,7 +879,7 @@ statistics dimension:
8+ : rgb(197,24,214)
statistics dimension:
name: Pépins (Capacités)
name: Pépins (Coût de Capacités)
position hint: 0640
icon: stats/color_pips.png
description: Counts how many activated/triggered/keyworded abilities have a single white pip in their cost. Repeat for two white pips. Then three, then four+, then for all other colors. Counts each ability on each side/face separately.
@@ -913,7 +913,7 @@ statistics dimension:
GGGG+ : rgb(18,102,0)
statistics dimension:
name: Pépins Totaux (Capacités)
name: Pépins Totaux (Coût de Capacités)
position hint: 0670
icon: stats/color_pips.png
description: Counts the total number of white pips in all the activated/triggered/keyworded ability costs. Repeat for all other colors.
@@ -935,7 +935,7 @@ statistics dimension:
G : rgb(68,144,15)
statistics dimension:
name: # de Pépins (Tout)
name: # de Pépins (Tout les Coûts)
position hint: 0620
icon: stats/color_pips.png
description: Counts the number of costs that contain one colored pip. Repeat for all other amounts.
@@ -963,7 +963,7 @@ statistics dimension:
8+ : rgb(197,24,214)
statistics dimension:
name: Pépins (Tout)
name: Pépins (Tout les Coûts)
position hint: 0650
icon: stats/color_pips.png
description: Counts how many costs contain a single white pip. Repeat for two white pips. Then three, then four+, then for all other colors. Counts each cost on each side/face separately.
@@ -997,7 +997,7 @@ statistics dimension:
GGGG+ : rgb(18,102,0)
statistics dimension:
name: Pépins Totaux (Tout)
name: Pépins Totaux (Tout les Coûts)
position hint: 0680
icon: stats/color_pips.png
description: Counts the total number of white pips in all the costs. Repeat for all other colors.
@@ -1019,7 +1019,7 @@ statistics dimension:
G : rgb(68,144,15)
statistics dimension:
name: # De Mots
name: Nombre De Mots
position hint: 0700
icon: stats/text_length.png
description: How many words are in the cards various rule texts.
@@ -1029,7 +1029,7 @@ statistics dimension:
script: if filter_from_statistic() == "Filtré" or trim_from_statistic() then "" else total_word_count_statistic()
#statistics dimension:
# name: # De Lignes
# name: Nombre De Lignes
# position hint: 1110
# icon: stats/text_length.png
# description: How many lines are in the cards various rule texts.
@@ -1038,7 +1038,7 @@ statistics dimension:
# script: if filter_from_statistic() == "Filtré" or trim_from_statistic() then "" else total_line_count_statistic() # Not reliable atm.
statistics dimension:
name: # De Paragraphes
name: Nombre De Paragraphes
position hint: 0710
icon: stats/text_length.png
description: How many paragraphs are in the cards various rule texts.
@@ -1119,7 +1119,7 @@ statistics dimension:
script: if trim_from_draw_statistic() then "" else average_opening_hand_statistic()
statistics dimension:
name: % DAvoir Un Terrain (1er)
name: % DAvoir Un Terrain (Jouant 1er)
position hint: 1100
icon: stats/land_drops.png
description: If the set is a deck, probability of hitting every single land drop up to the given turn, when on the play. Always excludes cards with the word 'commander' in their card notes, as well as tokens, emblems, dungeons, conspiracies, heroes, vanguards, schemes, planes and phenomenons.
@@ -1128,7 +1128,7 @@ statistics dimension:
script: land_drop_hit_percentage_statistic(start: 6)
statistics dimension:
name: % DAvoir Un Terrain (2ème)
name: % DAvoir Un Terrain (Jouant 2ème)
position hint: 1110
icon: stats/land_drops.png
description: If the set is a deck, probability of hitting every single land drop up to the given turn, when on the draw. Always excludes cards with the word 'commander' in their card notes, as well as tokens, emblems, dungeons, conspiracies, heroes, vanguards, schemes, planes and phenomenons.
@@ -1137,7 +1137,7 @@ statistics dimension:
script: land_drop_hit_percentage_statistic(start: 7)
statistics dimension:
name: # De Couleurs
name: Nombre De Couleurs
position hint: 1500
icon: stats/color.png
description: How many cards have one color, how many have two, three, etc...
@@ -1159,7 +1159,7 @@ statistics dimension:
5 : rgb(161,54,169)
statistics dimension:
name: # De Couleurs (Identité)
name: Nombre De Couleurs (Identité)
position hint: 1510
icon: stats/color.png
description: How many cards have one color in their color identity, how many have two, three, etc...

View File

@@ -1380,6 +1380,8 @@ filter_field_map_statistic :=
color_identity_count: {color_identity_count_statistic()},
mana_production: {mana_production_list_statistic(check_type: "all")},
"permanent/non": {replace_en_spaces_statistic(remove_zero_width_spaces_statistic(permanent_statistic()))},
"permanent/nonpermanent": {replace_en_spaces_statistic(remove_zero_width_spaces_statistic(permanent_statistic()))},
"permanent / nonpermanent": {replace_en_spaces_statistic(remove_zero_width_spaces_statistic(permanent_statistic()))},
mana_value: {cmc(card.casting_cost)},
mana_value_2: {cmc(card.casting_cost_2)},
supertype: {keep_only_supertypes_statistic(card.super_type)},

Binary file not shown.

Binary file not shown.

BIN
mse.com

Binary file not shown.

BIN
mse.exe

Binary file not shown.