Compare commits
10 Commits
89af7e1065
...
c5941f6c89
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c5941f6c89 | ||
|
|
9c7963ee69 | ||
|
|
ddceedadde | ||
|
|
a542a11dd9 | ||
|
|
e35d40f658 | ||
|
|
13360c8ba8 | ||
|
|
ef23a2b452 | ||
|
|
a67b241e08 | ||
|
|
e36f84756c | ||
|
|
b3098f30d1 |
BIN
Template Creation Tutorial.odt
Normal file
@@ -1099,21 +1099,9 @@ set_watermark_blend := {
|
||||
)
|
||||
)
|
||||
}
|
||||
spotlight_folder := { watermark_include + "/spotlight/" }
|
||||
spotlight_watermark_blend := {
|
||||
face := [1:card.card_color, 2:card.card_color_2, 3:card.card_color_3][face]
|
||||
if type_of(input) == type_of("string") then (
|
||||
array := split_comma(input)
|
||||
input := array.0
|
||||
if length(array) > 1 then (
|
||||
px := px_split(array.2)
|
||||
if length(px) > 2
|
||||
then l := 0
|
||||
else (
|
||||
l := px.0
|
||||
h := px.1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
if l < 1 or h < 1 or l > 1024 or h > 1024 then (
|
||||
input
|
||||
@@ -1121,7 +1109,7 @@ spotlight_watermark_blend := {
|
||||
wmc := watermark_colors(face:face)
|
||||
c1 := wmc.0 + (if contains(face, match:"land") then "l") + "spotlight.png"
|
||||
c2 := wmc.1 + (if contains(face, match:"land") then "l") + "spotlight.png"
|
||||
wmdir := watermark_include + "/spotlight/"
|
||||
wmdir := spotlight_folder()
|
||||
c1 := crop(wmdir+c1, height:h, width:l, offset_x:0, offset_y:0)
|
||||
c2 := crop(wmdir+c2, height:h, width:l, offset_x:0, offset_y:0)
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ init script:
|
||||
spot_pt := { color_background(type:"spotpt", base_hybrid:card_hybrid, folder:"blend_masks/") }
|
||||
|
||||
crown_background := { color_background(type:"crown", base_hybrid: card_hybrid, folder:"blend_masks/")}
|
||||
beyond_background := { color_background(type:"ubcard", base_hybrid: card_hybrid, folder:template_prefix["ubcard"], blend_type:"card")}
|
||||
beyond_background := { color_background(type:"ubcard", base_hybrid: card_hybrid, folder:template_prefix["card"], blend_type:"card")}
|
||||
|
||||
# Use the normal tap symbol
|
||||
mana_t := {
|
||||
@@ -413,8 +413,11 @@ init script:
|
||||
"/magic-mainframe-extras.mse-include/" + src
|
||||
}
|
||||
custom_border_blend := { color_background(type:"custom_border", base_hybrid:card_hybrid, folder:"blend_masks/") }
|
||||
is_custom := {contains(styling.frames, match:"custom border") and contains(styling.custom_border_source, match:".png")}
|
||||
|
||||
is_custom_border := {
|
||||
if chosen(styling.frames, choice:"custom border")
|
||||
then has_png(styling.custom_border_source)
|
||||
else auto_custom_border()
|
||||
}
|
||||
# this goes at the very end
|
||||
harder_script := [
|
||||
crown: module_crown_template,
|
||||
@@ -1227,7 +1230,7 @@ extra card style:
|
||||
render style: image
|
||||
image: { custom_border_blend() }
|
||||
z index: 0
|
||||
visible: {is_custom()}
|
||||
visible: {is_custom_border()}
|
||||
mask: {(if is_vehicle() or is_snow() or is_nyx() then "double_") + "frame_border_mask.png"}
|
||||
nyx overlay:
|
||||
left: 0
|
||||
|
||||
@@ -290,9 +290,11 @@ init script:
|
||||
is_leveler := {
|
||||
chosen(styling.frames, choice:"leveler")
|
||||
}
|
||||
|
||||
is_custom_border := {
|
||||
chosen(styling.frames, choice:"custom border")
|
||||
and contains(styling.custom_border_source, match:".png")
|
||||
if chosen(styling.frames, choice:"custom border")
|
||||
then has_png(styling.custom_border_source)
|
||||
else auto_custom_border()
|
||||
}
|
||||
is_leveler := {chosen(styling.frames, choice:"leveler")}
|
||||
is_legend := {
|
||||
@@ -639,7 +641,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 "")
|
||||
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -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 }
|
||||
|
||||
|
||||
@@ -499,7 +499,9 @@ init script:
|
||||
)
|
||||
}
|
||||
front_custom_border := {
|
||||
chosen(styling.other_options, choice:"custom border front") and contains(styling.custom_border_source, match:".png")
|
||||
if chosen(styling.other_options, choice:"custom border front")
|
||||
then has_png(styling.custom_border_source)
|
||||
else auto_custom_border()
|
||||
}
|
||||
front_draft := {
|
||||
chosen(styling.other_options, choice:"draft matters front")
|
||||
@@ -552,7 +554,9 @@ init script:
|
||||
)
|
||||
}
|
||||
back_custom_border := {
|
||||
chosen(styling.other_options, choice:"custom border back")
|
||||
if chosen(styling.other_options, choice:"custom border back")
|
||||
then has_png(styling.custom_border_source)
|
||||
else auto_custom_border_2()
|
||||
}
|
||||
back_draft := {
|
||||
chosen(styling.other_options, choice:"draft matters back")
|
||||
@@ -1525,6 +1529,12 @@ init script:
|
||||
transform_symbol_offset_height_2 := {
|
||||
if mainframe_walkerb() then 1 else 0
|
||||
}
|
||||
card_symbol_offset_top_1 := {
|
||||
if front_normal() then 0 else -8
|
||||
}
|
||||
card_symbol_offset_top_2 := {
|
||||
if front_normal() then 0 else -8
|
||||
}
|
||||
card_stamp_offset_top_1 := {
|
||||
if mainframe_walker() and stamp_shape() == "triangle" then -3 else 0
|
||||
}
|
||||
@@ -1533,6 +1543,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 +1980,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 +1993,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 439 else 456 }
|
||||
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()) }
|
||||
|
||||
@@ -66,7 +66,17 @@ init script:
|
||||
alt_text_script := {
|
||||
combined_editor(field1:card.rule_text, separator1:"<line>\n</line>", field2:card.rule_text_2)
|
||||
}
|
||||
card_name_for_face := { "" }
|
||||
card_name_for_face := {
|
||||
if (set.CARDNAME_replacement == "card's type" xor reverse)
|
||||
then (
|
||||
ty := to_lower(cardname_type(card["type"]))
|
||||
if ty == "" then "this"
|
||||
else "this " + ty
|
||||
)
|
||||
else if set.CARDNAME_replacement == "card's alias" and card["alias"] != ""
|
||||
then card["alias"]
|
||||
else card["name"]
|
||||
}@(reverse:false)
|
||||
|
||||
is_loaded := { card_style.text.layout.separator[0] or else 0 > 0 }
|
||||
top_box_height := {
|
||||
|
||||
@@ -66,7 +66,17 @@ init script:
|
||||
alt_text_script := {
|
||||
combined_editor(field1:card.rule_text, separator1:"<line>\n</line>", field2:card.rule_text_2)
|
||||
}
|
||||
card_name_for_face := { "" }
|
||||
card_name_for_face := {
|
||||
if (set.CARDNAME_replacement == "card's type" xor reverse)
|
||||
then (
|
||||
ty := to_lower(cardname_type(card["type"]))
|
||||
if ty == "" then "this"
|
||||
else "this " + ty
|
||||
)
|
||||
else if set.CARDNAME_replacement == "card's alias" and card["alias"] != ""
|
||||
then card["alias"]
|
||||
else card["name"]
|
||||
}@(reverse:false)
|
||||
|
||||
is_loaded := { card_style.text.layout.separator[0] or else 0 > 0 }
|
||||
top_box_height := {
|
||||
|
||||
@@ -266,6 +266,13 @@ 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 := {
|
||||
if chosen(styling.other_options, choice:"custom border")
|
||||
then has_png(styling.custom_border_source)
|
||||
else auto_custom_border()
|
||||
}
|
||||
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 +383,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 +551,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 +989,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 +1431,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 +1441,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 +1450,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}
|
||||
@@ -1455,6 +1483,18 @@ extra card style:
|
||||
image: { if stamp_shape() == "triangle" then (if is_clear() then template_prefix["ubstamp"]+"xstamp.png" else module_ubstamp()) else if is_clear() then template_prefix["stamp"]+"xstamp.png" else module_stamp() }
|
||||
mask: {if stamp_shape() == "triangle" then (if use_full_art() then "mythicstamp_mask_triangle.png" else "") else (if use_full_art() then "mythic" else "") + "stamp_mask.png"}
|
||||
|
||||
vorthos box:
|
||||
right: 275
|
||||
top: 488
|
||||
width: 65
|
||||
height: 10
|
||||
z index: 900
|
||||
alignment: middle right
|
||||
font:
|
||||
name: Relay-Medium
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
adventure cover:
|
||||
left: 0
|
||||
top: {if has_four_abilities() then 288 else 324}
|
||||
|
||||
@@ -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,12 @@ 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 := {
|
||||
if chosen(styling.frames, choice:"custom border")
|
||||
then has_png(styling.custom_border_source)
|
||||
else auto_custom_border()
|
||||
}
|
||||
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 +259,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 +497,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 +723,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 +873,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -192,7 +192,7 @@ init script:
|
||||
special_text := {
|
||||
if is_class() then
|
||||
(
|
||||
card.chapter_text
|
||||
(if card.chapter_text == "" then saga_reminder() else card.chapter_text)
|
||||
+(if card.level_1_text != "" then "\n" + card.level_1_text)
|
||||
+(if card.level_2_text != "" then "\n" + card.level_9_text + (if card.level_2 == "" then " Level 2" else " " + card.level_2) + "\n" + card.level_2_text)
|
||||
+(if card.level_3_text != "" then "\n" + card.level_10_text + (if card.level_3 == "" then " Level 3" else " " + card.level_3) + "\n" + card.level_3_text)
|
||||
@@ -1280,7 +1280,7 @@ extra card style:
|
||||
render style: image
|
||||
z index: 720
|
||||
image: {if is_case() then "bar.png" else if is_class() then class_bar() else "line.png"}
|
||||
visible: {is_class() or is_case() or not un_marked()}
|
||||
visible: {(is_class() and card.chapter_text != "" and card.level_1_text != "") or is_case() or not un_marked()}
|
||||
linebreak 2:
|
||||
left: {30+if is_class() or is_case() then 158 else 0}
|
||||
top: {if is_class() or is_case() then lev2() else if split_12() == "" then 248 else split_12()-1}
|
||||
|
||||
@@ -96,6 +96,14 @@ init script:
|
||||
un_png := replace@(match:".png", replace: "")
|
||||
is_vehicle := {lang_setting("is_vehicle")(card.sub_type)}
|
||||
card_stamp_offset_top_1 := {1}
|
||||
|
||||
include file: /magic-modules.mse-include/loyalty/init_script
|
||||
loyalty_abilities_count_real := loyalty_abilities_count
|
||||
loyalty_abilities_count := {
|
||||
if mainframe_walker() then loyalty_abilities_count_real(instance:instance, active:active) else 0
|
||||
}@(active:false, instance:1)
|
||||
mainframe_walker := { lang_setting("is_planeswalker")(card.type) }
|
||||
loyalty_textbox_mask := {"walker_mask.png"}
|
||||
############################################################## Set info fields
|
||||
set info style:
|
||||
symbol:
|
||||
@@ -124,6 +132,69 @@ styling field:
|
||||
description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks.
|
||||
initial: no
|
||||
include file: /magic-modules.mse-include/stamps/styling_fields
|
||||
styling field:
|
||||
type: choice
|
||||
name: number of textboxes
|
||||
description: Number of textboxes for abilities and passives. MODIFY CONTENTS OF TEXTBOXES IF THIS HAS TROUBLE UPDATING AFTER BEING CHANGED.
|
||||
choice: automatic
|
||||
choice: 1
|
||||
choice: 2
|
||||
choice: 3
|
||||
choice: 4
|
||||
choice: 5
|
||||
choice: 6
|
||||
choice: 7
|
||||
choice: 8
|
||||
initial: automatic
|
||||
styling field:
|
||||
type: text
|
||||
name: move separators
|
||||
description: Moves the limits between abilities down by this many pixels. Use negatives to move up. Formatted as "1,2,3,4,5"
|
||||
styling field:
|
||||
type: text
|
||||
name: move loyalty costs
|
||||
description: Moves loyalty costs down by this many pixels. Use negatives to move up. Formatted as "1,2,3,4,5,6"
|
||||
styling field:
|
||||
type: text
|
||||
name: textbox opacity percentage
|
||||
description: Set the opacity percentage for textboxes. Opaque is 100, transparent is 0, default is 70.
|
||||
styling field:
|
||||
type: color
|
||||
name: textbox color
|
||||
description: Use the specified color for the textbox background.
|
||||
choice:
|
||||
name: black
|
||||
color: rgb(0,0,0)
|
||||
choice:
|
||||
name: white
|
||||
color: rgb(255,255,255)
|
||||
initial: rgb(255,255,255)
|
||||
styling field:
|
||||
type: text
|
||||
name: stripes opacity percentage
|
||||
description: Set the opacity percentage for stripes separating abilities. Opaque is 100, transparent is 0, default is 40.
|
||||
styling field:
|
||||
type: color
|
||||
name: stripes color
|
||||
description: Use the specified color for the textbox background.
|
||||
choice:
|
||||
name: black
|
||||
color: rgb(0,0,0)
|
||||
choice:
|
||||
name: white
|
||||
color: rgb(255,255,255)
|
||||
initial: rgb(0,0,0)
|
||||
styling field:
|
||||
type: color
|
||||
name: rule text color
|
||||
description: Use the specified color for the rule text.
|
||||
choice:
|
||||
name: black
|
||||
color: rgb(0,0,0)
|
||||
choice:
|
||||
name: white
|
||||
color: rgb(255,255,255)
|
||||
initial: rgb(0,0,0)
|
||||
|
||||
styling field:
|
||||
type: boolean
|
||||
@@ -218,6 +289,7 @@ include file: /magic-modules.mse-include/stamps/card_fields
|
||||
include file: /magic-modules.mse-include/stamps/stamp_back
|
||||
include file: /magic-modules.mse-include/watermarks/card_fields
|
||||
include file: /magic-modules.mse-include/separators/card_fields
|
||||
include file: /magic-modules.mse-include/loyalty/card_fields
|
||||
card style:
|
||||
############################# Background stuff
|
||||
border color:
|
||||
@@ -314,7 +386,7 @@ card style:
|
||||
include file: /magic-modules.mse-include/rarities/choice_images
|
||||
############################# Text box
|
||||
text:
|
||||
left: 29
|
||||
left: { if mainframe_walker() then 35 else 29 }
|
||||
top: {338-(-chop_top())}
|
||||
width: 314
|
||||
bottom: {477-chop_bot()}
|
||||
@@ -350,7 +422,7 @@ card style:
|
||||
z index: 900
|
||||
left: 293
|
||||
top: 468
|
||||
width: 60
|
||||
width: { if mainframe_walker() then 0 else 60 }
|
||||
height: 28
|
||||
alignment: center middle shrink-overflow
|
||||
font:
|
||||
@@ -383,7 +455,7 @@ extra card style:
|
||||
pt box:
|
||||
left: 285
|
||||
top: 460
|
||||
width: 77
|
||||
width: { if mainframe_walker() then 0 else 77 }
|
||||
height: 43
|
||||
z index: 840
|
||||
visible: { card.pt != "" }
|
||||
|
||||
BIN
data/magic-m15-showcase-kaldheim.mse-style/walker_mask.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
data/magic-m15-split-fusable.mse-style/rooms/bottom_mask.png
Normal file
|
After Width: | Height: | Size: 584 B |
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -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
|
||||
@@ -38,7 +38,7 @@ init script:
|
||||
else "2" # textbox
|
||||
}
|
||||
|
||||
template_prefix :=
|
||||
template_prefix := [
|
||||
card: ""
|
||||
card2: ""
|
||||
card3: ""
|
||||
|
||||
|
Before Width: | Height: | Size: 97 B After Width: | Height: | Size: 551 B |
|
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 97 B After Width: | Height: | Size: 551 B |
|
Before Width: | Height: | Size: 217 B After Width: | Height: | Size: 1.2 KiB |
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -1387,7 +1387,7 @@ keyword:
|
||||
keyword: Amass
|
||||
match: Amass <atom-param>name</atom-param> <atom-param>number</atom-param>
|
||||
mode: action
|
||||
reminder: {handle_action_rt(to:"amass {param1} {param2}", "Create")} {english_number_a(param2)} +1/+1 counter(s) on an Army you control. It's also a {if param1.value == "Zombies" then "Zombie" else english_singular(param1)}. If you don't control an Army, create a 0/0 black {if param1.value == "Zombies" then "Zombie" else english_singular(param1)} Army creature token first.
|
||||
reminder: {handle_action_rt(to:"amass {param1} {param2}", "Put")} {english_number_a(param2)} +1/+1 counter(s) on an Army you control. It's also a {if param1.value == "Zombies" then "Zombie" else english_singular(param1)}. If you don't control an Army, create a 0/0 black {if param1.value == "Zombies" then "Zombie" else english_singular(param1)} Army creature token first.
|
||||
#Throne of Eldraine
|
||||
keyword:
|
||||
keyword: Adamant
|
||||
@@ -1965,4 +1965,15 @@ keyword:
|
||||
keyword: Survival
|
||||
match: Survival
|
||||
mode: pseudo
|
||||
rules: Survival — At the beginning of your second main phase, if ~ is tapped, [effect].
|
||||
rules: Survival — At the beginning of your second main phase, if ~ is tapped, [effect].
|
||||
#Aetherdrift
|
||||
keyword:
|
||||
keyword: Start your engines!
|
||||
match: Start your engines!
|
||||
mode: expert
|
||||
reminder: If you have no speed, it starts at 1. It increases once on each of your turns when an opponent loses life. Max speed is 4.
|
||||
keyword:
|
||||
keyword: Exhaust
|
||||
match: Exhaust — <atom-param>cost</atom-param>: <atom-param>action</atom-param>
|
||||
mode: expert
|
||||
reminder: Activate each exhaust ability only once.
|
||||
@@ -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 := {
|
||||
@@ -1673,6 +1675,12 @@ text_filter :=
|
||||
in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|-|—|/|)<match>", #### TODO: Allow any punctuation before
|
||||
replace: "<atom-cardname></atom-cardname>"
|
||||
) +
|
||||
#### step 3a : expand shortcut word THIS
|
||||
replace@(
|
||||
match: "THIS>?", #### >? is here so after replacement, the mouse snaps to the end of </atom>
|
||||
in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|-|—|/|)<match>", #### TODO: Allow any punctuation before
|
||||
replace: "<atom-printname></atom-printname>"
|
||||
) +
|
||||
#### step 3b : expand shortcut word LEGENDNAME
|
||||
replace@(
|
||||
match: "LEGENDNAME>?",
|
||||
@@ -1685,11 +1693,37 @@ text_filter :=
|
||||
in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|/|)<match>", #### TODO: Allow any punctuation before
|
||||
replace: "<atom-autorem></atom-autorem>"
|
||||
) +
|
||||
#### step 3bb : debug atom fields
|
||||
replace@(
|
||||
match: "<atom-name>([^<]+)</atom-(card|print)",
|
||||
replace: "<atom-\\2name>\\1</atom-\\2"
|
||||
) +
|
||||
replace@(
|
||||
match: "<atom-name>",
|
||||
replace: ""
|
||||
) +
|
||||
#### step 3c : fill in atom fields
|
||||
tag_contents@(
|
||||
tag: "<atom-cardname>",
|
||||
contents: { "<nospellcheck>" + (if card_name=="" then "CARDNAME" else strip_card_codes(card_name, atom:true)) + "</nospellcheck>" }
|
||||
) +
|
||||
tag_contents@(
|
||||
tag: "<atom-printname>",
|
||||
contents: { "<nospellcheck>" + reverse_name_for(card_name, margin_code:margin_code) + "</nospellcheck>" }
|
||||
) +
|
||||
#### capitalize This type when appropriate
|
||||
replace@(
|
||||
match:"([•.:]) <atom-(card|print)name><nospellcheck>this",
|
||||
replace:"\\1 <atom-\\2name><nospellcheck>This"
|
||||
) +
|
||||
replace@(
|
||||
match:"([\"“'])<atom-(card|print)name><nospellcheck>this",
|
||||
replace:"\\1<atom-\\2name><nospellcheck>This"
|
||||
) +
|
||||
replace@(
|
||||
match:"^<atom-(card|print)name><nospellcheck>this",
|
||||
replace:"<atom-\\1name><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>" }
|
||||
@@ -2417,9 +2451,9 @@ custom_watermark_link := {
|
||||
array := split_comma(field)
|
||||
#### not blank, has png, is either verified or old link that's probably fine
|
||||
if array.0 != "" and (has_png(array.0) and array.1 or else "" != "Not found")
|
||||
then "/magic-mainframe-extras.mse-include/"+array.0
|
||||
then "/magic-mainframe-extras.mse-include/"+(if long then field else array.0)
|
||||
else "/magic-modules.mse-include/watermarks/other/planeswalker.png"
|
||||
}
|
||||
}@(long:false)
|
||||
card_watermark_a := {""}
|
||||
custom_card_watermark := {
|
||||
tag := if face == 1 then "" else "_" + face
|
||||
@@ -2427,10 +2461,10 @@ custom_card_watermark := {
|
||||
array := split_comma(field)
|
||||
#### not blank, has png, is either verified or old link that's probably fine
|
||||
if array.0 != "" and (has_png(array.0) and array.1 or else "" != "Not found")
|
||||
then "/magic-mainframe-extras.mse-include/" + array.0
|
||||
then "/magic-mainframe-extras.mse-include/"+(if long then field else array.0)
|
||||
else if card_watermark_a() != "" then "/magic-mainframe-extras.mse-include/" + card_watermark_a()
|
||||
else "/magic-modules.mse-include/watermarks/other/planeswalker.png"
|
||||
}
|
||||
}@(long:false)
|
||||
card_new_color := {
|
||||
if card.card_color == "white" then "w"
|
||||
else if card.card_color == "blue" then "u"
|
||||
@@ -2656,23 +2690,41 @@ watermark_scripts :=
|
||||
"universes beyond ponies nightmare moon": { watermark_blend(wm_directory + "ponies/nightmare moon.png", face:face) }
|
||||
"universes beyond ponies luna": { watermark_blend(wm_directory + "ponies/luna.png", face:face) }
|
||||
|
||||
"custom watermark one": { watermark_blend(custom_watermark_link(1), custom:true, face:face) }
|
||||
"custom watermark two": { watermark_blend(custom_watermark_link(2), custom:true, face:face) }
|
||||
"custom watermark three": { watermark_blend(custom_watermark_link(3), custom:true, face:face) }
|
||||
"custom watermark four": { watermark_blend(custom_watermark_link(4), custom:true, face:face) }
|
||||
"custom watermark five": { watermark_blend(custom_watermark_link(5), custom:true, face:face) }
|
||||
"custom watermark six": { watermark_blend(custom_watermark_link(6), custom:true, face:face) }
|
||||
"custom watermark seven": { watermark_blend(custom_watermark_link(7), custom:true, face:face) }
|
||||
"custom watermark eight": { watermark_blend(custom_watermark_link(8), custom:true, face:face) }
|
||||
"custom watermark nine": { watermark_blend(custom_watermark_link(9), custom:true, face:face) }
|
||||
"custom watermark ten": { watermark_blend(custom_watermark_link(10), custom:true, face:face) }
|
||||
"custom watermark card": { watermark_blend(custom_card_watermark(face:face), custom:true, face:face) }
|
||||
"custom watermark one": { build_custom_watermark_blend(1) }
|
||||
"custom watermark two": { build_custom_watermark_blend(2) }
|
||||
"custom watermark three": { build_custom_watermark_blend(3) }
|
||||
"custom watermark four": { build_custom_watermark_blend(4) }
|
||||
"custom watermark five": { build_custom_watermark_blend(5) }
|
||||
"custom watermark six": { build_custom_watermark_blend(6) }
|
||||
"custom watermark seven": { build_custom_watermark_blend(7) }
|
||||
"custom watermark eight": { build_custom_watermark_blend(8) }
|
||||
"custom watermark nine": { build_custom_watermark_blend(9) }
|
||||
"custom watermark ten": { build_custom_watermark_blend(10) }
|
||||
"custom watermark card": { build_custom_watermark_blend("a") }
|
||||
|
||||
"set symbol": { if (styling.watermark_render or else set.blend_with_colors) == "glow" then glow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark"), face:face) else shadow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark"), face:face) }
|
||||
]
|
||||
watermark_image_1 := { watermark_scripts[card.watermark](face:watermark_face_1()) or else "" }
|
||||
watermark_image_2 := { watermark_scripts[card.watermark_2](face:watermark_face_2()) or else "" }
|
||||
watermark_image_3 := { watermark_scripts[card.watermark_3](face:watermark_face_3()) or else "" }
|
||||
build_custom_watermark_blend := {
|
||||
info := if input == "a" then custom_card_watermark(face:face, long:true)
|
||||
else custom_watermark_link(input, long:true)
|
||||
array := split_comma(info)
|
||||
link := array.0
|
||||
l := 500
|
||||
h := 500
|
||||
if length(array) > 1 then (
|
||||
px := px_split(array.2)
|
||||
if length(px) > 2
|
||||
then l := 0
|
||||
else (
|
||||
l := px.0
|
||||
h := px.1
|
||||
)
|
||||
)
|
||||
watermark_blend(link, l:l, h:h, custom:true, face:face)
|
||||
}
|
||||
############################################################## Other scripted fields
|
||||
#### Dimensions of card faces, can be changed in style files
|
||||
faces_coordinates := {
|
||||
@@ -2843,13 +2895,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
|
||||
)
|
||||
}
|
||||
@@ -2987,7 +3039,7 @@ level_filter := { input }
|
||||
#### Correct the CARDNAME atom for levelers
|
||||
card_name_for_level := {
|
||||
tag := name_tag_for_level()
|
||||
if set.CARDNAME_replacement == "card's type"
|
||||
if (set.CARDNAME_replacement == "card's type" xor reverse)
|
||||
then (
|
||||
ty := to_lower(cardname_type(card["type"+tag]))
|
||||
if ty == "" then "this"
|
||||
@@ -2996,10 +3048,10 @@ card_name_for_level := {
|
||||
else if set.CARDNAME_replacement == "card's alias" and card["alias"+tag] != ""
|
||||
then card["alias"+tag]
|
||||
else card["name"+tag]
|
||||
}
|
||||
}@(reverse:false)
|
||||
card_name_for_face := {
|
||||
tag := if input == 1 then "" else "_" + input
|
||||
if set.CARDNAME_replacement == "card's type"
|
||||
if (set.CARDNAME_replacement == "card's type" xor reverse)
|
||||
then (
|
||||
ty := to_lower(cardname_type(card["type"+tag]))
|
||||
if ty == "" then "this"
|
||||
@@ -3008,7 +3060,7 @@ card_name_for_face := {
|
||||
else if set.CARDNAME_replacement == "card's alias" and card["alias"+tag] != ""
|
||||
then card["alias"+tag]
|
||||
else card["name"+tag]
|
||||
}
|
||||
}@(reverse:false)
|
||||
cardname_type := {
|
||||
if is_creature(input)
|
||||
then lang_setting("creature")
|
||||
@@ -3024,9 +3076,23 @@ cardname_type := {
|
||||
then lang_setting("enchantment")
|
||||
else if is_battle(input)
|
||||
then lang_setting("battle")
|
||||
else if is_plane(input)
|
||||
then lang_setting("plane")
|
||||
else ""
|
||||
|
||||
}
|
||||
reverse_name_for := {
|
||||
lv := "1"
|
||||
face := ""
|
||||
if contains(margin_code, match:"lv") then
|
||||
lv := filter_text(margin_code, match:"[0-9]+")
|
||||
else face := filter_text(margin_code, match:"[0-9]+")
|
||||
|
||||
card_name := if face != "" then card_name_for_face(face, reverse:true)
|
||||
else card_name_for_level(lv, reverse:true)
|
||||
|
||||
if card_name == "" then "CARDNAME" else strip_card_codes(card_name, atom:true)
|
||||
}
|
||||
#### This can be overwritten for more complicated levelers
|
||||
#### Dungeons for example will overwrite with just {""}
|
||||
name_tag_for_level := {
|
||||
@@ -3738,7 +3804,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 :=
|
||||
@@ -5113,8 +5188,30 @@ split_custom_directory := {
|
||||
dir := filter_text(input, match:"^([^.]+/)+")
|
||||
[directory:dir, filename:fn]
|
||||
}
|
||||
auto_custom_available := { set.auto_custom_border != "disabled" and has_png(set.auto_custom_border_source)}
|
||||
auto_custom_border := {
|
||||
auto_custom_available() and active_custom_border()
|
||||
}
|
||||
active_custom_border := {
|
||||
if set.auto_custom_border == "check typeline" then
|
||||
contains(card.type, match:set.auto_custom_border_match)
|
||||
else if set.auto_custom_border == "check rules text" then
|
||||
contains(card.text, match:set.auto_custom_border_match)
|
||||
else false
|
||||
}
|
||||
auto_custom_border_2 := {
|
||||
auto_custom_available() and active_custom_border_2()
|
||||
}
|
||||
active_custom_border_2 := {
|
||||
if set.auto_custom_border == "check typeline" then
|
||||
contains(card.type_2, match:set.auto_custom_border_match)
|
||||
else if set.auto_custom_border == "check rules text" then
|
||||
contains(card.text_2, match:set.auto_custom_border_match)
|
||||
else false
|
||||
}
|
||||
custom_border_image := {
|
||||
src := styling.custom_border_source or else ""
|
||||
if (not has_png(src)) and auto_custom_available() then src := set.auto_custom_border_source
|
||||
ps := split_text(src, match:"-color-")
|
||||
if length(ps) > 1 then
|
||||
"/magic-mainframe-extras.mse-include/" + ps[0] + input + (if land then "l" else "") + ps[1]
|
||||
|
||||
@@ -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
|
||||
@@ -472,6 +479,20 @@ set field:
|
||||
type: text
|
||||
name: alternate nyx
|
||||
description: Use an alternate nyx source folder from magic-mainframe-extras.mse-include.
|
||||
set field:
|
||||
type: choice
|
||||
name: auto custom border
|
||||
choice: disabled
|
||||
choice: check typeline
|
||||
choice: check rules text
|
||||
set field:
|
||||
type: text
|
||||
name: auto custom border match
|
||||
description: The string to match to automate a custom border.
|
||||
set field:
|
||||
type: text
|
||||
name: auto 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.
|
||||
set field:
|
||||
type: text
|
||||
name: custom index
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 card’s 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 card’s 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 card’s various rule texts.
|
||||
@@ -1119,7 +1119,7 @@ statistics dimension:
|
||||
script: if trim_from_draw_statistic() then "" else average_opening_hand_statistic()
|
||||
|
||||
statistics dimension:
|
||||
name: % D’Avoir Un Terrain (1er)
|
||||
name: % D’Avoir 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: % D’Avoir Un Terrain (2ème)
|
||||
name: % D’Avoir 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...
|
||||
|
||||
@@ -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)},
|
||||
|
||||