MSE 2.5.2 and Showcase Catchup (#18)

* Updated to MSE 2.5.2
* Added Assassin's Creed Memory Corridor
* Added Bloomburrow Borderless Anime
* Added Bloomburrow Woodland
* Added Compleated Planeswalkers
* Added Duskmourn Paranormal
* Added Kamigawa Neon
* Added Kamigawa Ninja
* Added Kamigawa Samurai
* Added Innistrad Fang
* Added Theros Constellation
* Added Capenna Art Deco
* Added Capenna Golden Age
* Added Capenna Skyscraper
* Added Doctor Who TARDIS
* Added Dominaria Stained Glass
* Added Eldraine Enchanting Tales
* Added Fallout PipBoy
* Added Ikoria Crystal
* Added Innistrad Double Feature
* Added Innistrad Equinox
* Added Ixalan Treasures
* Added Ixalan Legends
* Added Ixalan Caverns
* Added Lord of the Rings Ring
* Added Lord of the Rings Scroll
* Added Ravnica City Mural
* Added Ravnica Dossier
* Added Tarkir Dragon Wing
* Added Thunder Junction Breaking News
* Added Thunder Junction Vault
* Added Thunder Junction Wanted Poster
* Added Unfinity Of Tomorrow
* Added Unfinity Attractions
* Added Secret Lair Baseball
* Added revamped option to Amonkhet Invocations
* Added UB stamp compatibility to old showcase frames
* Added foils and popouts modules
* Add foil_mask blending system
* Fixes #57
This commit is contained in:
GenevensiS
2024-09-23 21:11:14 +02:00
committed by GitHub
parent 8fd810b1d3
commit 206de32133
3117 changed files with 61236 additions and 27952 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -32,7 +32,7 @@ include file: language
include file: statistics_script
include file: /magic-blends.mse-include/new-blends
############################################################## Versioning
version_date := {"2024-05-27 Mainframe 1.3.g Showcase Catchup: Action Check"}
version_date := {"2024-09-23 Template Pack 3.0.0-h Showcase Catchup: Showcases"}
version := version_date
############################################################## Common filters
############################################################## Utility
@@ -245,6 +245,7 @@ has_two_names := {
or contains(card.shape, match:"flip")
or contains(card.shape, match:"split")
}
card_full_name_default := { if has_two_names() then card.name + " // " + card.name_2 else card.name }
card_full_name := { if has_two_names() then card.name + " // " + card.name_2 else card.name }
#### exportname
exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!]+")
@@ -2307,9 +2308,9 @@ custom_watermark_9 := { if set.custom_watermark_9 != "" then "/magic-mainframe-e
custom_watermark_10 := { if set.custom_watermark_10 != "" then "/magic-mainframe-extras.mse-include/" + set.custom_watermark_10 else "/magic-modules.mse-include/watermarks/other/planeswalker.png" }
custom_watermark_a := {"/magic-modules.mse-include/watermarks/other/planeswalker.png"}
custom_watermark_b := {"/magic-modules.mse-include/watermarks/other/planeswalker.png"}
invert_watermark := { false }
invert_watermark2 := { false }
invert_watermark3 := { false }
invert_watermark_1 := { false }
invert_watermark_2 := { false }
invert_watermark_3 := { false }
card_new_color := {
if card.card_color == "white" then "w"
else if card.card_color == "blue" then "u"
@@ -2390,27 +2391,27 @@ watermark_scripts :=
"transparent mana symbol double RW": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana double/mana_rw_old.png") }
"transparent mana symbol double GU": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana double/mana_gu_old.png") }
"guild symbol The Azorius Senate (W/U)": { watermark_blend(wm_directory + "ravnica/azorius2.png") }
"guild symbol House Dimir (U/B)": { watermark_blend(wm_directory + "ravnica/dimir2.png") }
"guild symbol The Cult of Rakdos (B/R)": { watermark_blend(wm_directory + "ravnica/rakados2.png") }
"guild symbol The Gruul Clans (R/G)": { watermark_blend(wm_directory + "ravnica/gruul2.png") }
"guild symbol The Selesnya Conclave (G/W)": { watermark_blend(wm_directory + "ravnica/selesnya2.png") }
"guild symbol The Orzhov Syndicate (W/B)": { watermark_blend(wm_directory + "ravnica/orzhov2.png") }
"guild symbol The Izzet (U/R)": { watermark_blend(wm_directory + "ravnica/izzet2.png") }
"guild symbol The Golgari (B/G)": { watermark_blend(wm_directory + "ravnica/golgari2.png") }
"guild symbol The Boros Legion (R/W)": { watermark_blend(wm_directory + "ravnica/boros2.png") }
"guild symbol The Simic Combine (G/U)": { watermark_blend(wm_directory + "ravnica/simic2.png") }
"guild symbol The Azorius Senate (W/U)": { watermark_blend(wm_directory + "ravnica/watermark_azorius2.png") }
"guild symbol House Dimir (U/B)": { watermark_blend(wm_directory + "ravnica/watermark_dimir2.png") }
"guild symbol The Cult of Rakdos (B/R)": { watermark_blend(wm_directory + "ravnica/watermark_rakados2.png") }
"guild symbol The Gruul Clans (R/G)": { watermark_blend(wm_directory + "ravnica/watermark_gruul2.png") }
"guild symbol The Selesnya Conclave (G/W)": { watermark_blend(wm_directory + "ravnica/watermark_selesnya2.png") }
"guild symbol The Orzhov Syndicate (W/B)": { watermark_blend(wm_directory + "ravnica/watermark_orzhov2.png") }
"guild symbol The Izzet (U/R)": { watermark_blend(wm_directory + "ravnica/watermark_izzet2.png") }
"guild symbol The Golgari (B/G)": { watermark_blend(wm_directory + "ravnica/watermark_golgari2.png") }
"guild symbol The Boros Legion (R/W)": { watermark_blend(wm_directory + "ravnica/watermark_boros2.png") }
"guild symbol The Simic Combine (G/U)": { watermark_blend(wm_directory + "ravnica/watermark_simic2.png") }
"guild symbol originals The Azorius Senate (W/U)": { watermark_blend(wm_directory + "ravnica/azorius.png") }
"guild symbol originals House Dimir (U/B)": { watermark_blend(wm_directory + "ravnica/dimir.png") }
"guild symbol originals The Cult of Rakdos (B/R)": { watermark_blend(wm_directory + "ravnica/rakados.png") }
"guild symbol originals The Gruul Clans (R/G)": { watermark_blend(wm_directory + "ravnica/gruul.png") }
"guild symbol originals The Selesnya Conclave (G/W)": { watermark_blend(wm_directory + "ravnica/selesnya.png") }
"guild symbol originals The Orzhov Syndicate (W/B)": { watermark_blend(wm_directory + "ravnica/orzhov.png") }
"guild symbol originals The Izzet (U/R)": { watermark_blend(wm_directory + "ravnica/izzet.png") }
"guild symbol originals The Golgari (B/G)": { watermark_blend(wm_directory + "ravnica/golgari.png") }
"guild symbol originals The Boros Legion (R/W)": { watermark_blend(wm_directory + "ravnica/boros.png") }
"guild symbol originals The Simic Combine (G/U)": { watermark_blend(wm_directory + "ravnica/simic.png") }
"guild symbol originals The Azorius Senate (W/U)": { watermark_blend(wm_directory + "ravnica/watermark_azorius.png") }
"guild symbol originals House Dimir (U/B)": { watermark_blend(wm_directory + "ravnica/watermark_dimir.png") }
"guild symbol originals The Cult of Rakdos (B/R)": { watermark_blend(wm_directory + "ravnica/watermark_rakados.png") }
"guild symbol originals The Gruul Clans (R/G)": { watermark_blend(wm_directory + "ravnica/watermark_gruul.png") }
"guild symbol originals The Selesnya Conclave (G/W)": { watermark_blend(wm_directory + "ravnica/watermark_selesnya.png") }
"guild symbol originals The Orzhov Syndicate (W/B)": { watermark_blend(wm_directory + "ravnica/watermark_orzhov.png") }
"guild symbol originals The Izzet (U/R)": { watermark_blend(wm_directory + "ravnica/watermark_izzet.png") }
"guild symbol originals The Golgari (B/G)": { watermark_blend(wm_directory + "ravnica/watermark_golgari.png") }
"guild symbol originals The Boros Legion (R/W)": { watermark_blend(wm_directory + "ravnica/watermark_boros.png") }
"guild symbol originals The Simic Combine (G/U)": { watermark_blend(wm_directory + "ravnica/watermark_simic.png") }
"guild symbol ancients The Azorius Senate (W/U)": { watermark_blend(wm_directory + "frazier/azorius.png") }
"guild symbol ancients House Dimir (U/B)": { watermark_blend(wm_directory + "frazier/dimir.png") }
@@ -3353,7 +3354,7 @@ loyalty_abilities_count :=
else counter := counter + 1
styling_field := counter;
)
to_int(styling_field)
to_int(styling_field) or else digital_map[styling_field]
}@(active:false)
loyalty_ability_left :=
@@ -3388,8 +3389,10 @@ loyalty_ability_bottom :=
loyalty_stripe_separator_mask :=
{
mask := loyalty_textbox_mask()
if mask == "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png"
or mask == "/magic-modules.mse-include/loyalty/default_textbox_mask.png" then
mask_path := to_string(mask) or else ""
is_default := mask_path == "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png"
or mask_path == "/magic-modules.mse-include/loyalty/default_textbox_mask.png"
if is_default then
(
crop_safe(
mask,
@@ -3417,8 +3420,10 @@ loyalty_stripe_separator_mask :=
loyalty_stripe_mask :=
{
mask := loyalty_textbox_mask()
if mask == "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png"
or mask == "/magic-modules.mse-include/loyalty/default_textbox_mask.png" then
mask_path := to_string(mask) or else ""
is_default := mask_path == "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png"
or mask_path == "/magic-modules.mse-include/loyalty/default_textbox_mask.png"
if is_default then
(
top := if input > 1 then loyalty_stripe_separator_top(2*input-2) + loyalty_stripe_separator_height() else a_top()
height := (if loyalty_abilities_count(active:true) >= 2*input then loyalty_stripe_separator_top(2*input-1) else a_bottom()) - top
@@ -3619,32 +3624,32 @@ rarity_right :=
map := face_coordinates_map(face)
user_offsets := styling.rarity_offsets or else ""
if map.width > map.height then
map.left + (483 * map.width/523) + offset + rarity_user_offset_left(user_offsets)
else map.left + (344 * map.width/375) + offset + rarity_user_offset_left(user_offsets)
map.left + (483 * map.width/523) + offset + rarity_user_offset_left(user_offsets) + rarity_user_offset_width(user_offsets)
else map.left + (344 * map.width/375) + offset + rarity_user_offset_left(user_offsets) + rarity_user_offset_width(user_offsets)
}
rarity_top :=
{
map := face_coordinates_map(face)
user_offsets := styling.rarity_offsets or else ""
if map.width > map.height then
map.top + 219 * map.height/375 + offset + rarity_user_offset_top(user_offsets)
else map.top + 297 * map.height/523 + offset + rarity_user_offset_top(user_offsets)
map.top + 219 * map.height/375 + offset + rarity_user_offset_top(user_offsets) - rarity_user_offset_height(user_offsets)
else map.top + 297 * map.height/523 + offset + rarity_user_offset_top(user_offsets) - rarity_user_offset_height(user_offsets)
}
rarity_width :=
{
map := face_coordinates_map(face)
user_offsets := styling.rarity_offsets or else ""
if map.width > map.height then
44 * map.width/523 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_width(user_offsets)
else 44 * map.width/375 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_width(user_offsets)
22 * map.width/523 + offset + 2*rarity_user_offset_width(user_offsets)
else 22 * map.width/375 + offset + 2*rarity_user_offset_width(user_offsets)
}
rarity_height :=
{
map := face_coordinates_map(face)
user_offsets := styling.rarity_offsets or else ""
if map.width > map.height then
22 * map.height/375 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_height(user_offsets)
else 22 * map.height/523 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_height(user_offsets)
22 * map.height/375 + offset + 2*rarity_user_offset_height(user_offsets)
else 22 * map.height/523 + offset + 2*rarity_user_offset_height(user_offsets)
}
rarity_size :=
{
@@ -3696,7 +3701,7 @@ rarity_left_3 := { rarity_right_3() - rarity_real_width(face:typeline_face_3(
rarity_user_offset_left := { split := split_comma(input); if length(split) > 0 and split.0 != "" and split.0 != "-" then clamp(split.0, maximum:500, minimum:-500) else 0 }
rarity_user_offset_top := { split := split_comma(input); if length(split) > 1 and split.1 != "" and split.1 != "-" then clamp(split.1, maximum:500, minimum:-500) else 0 }
rarity_user_offset_width := { split := split_comma(input); if length(split) > 2 and split.2 != "" and split.2 != "-" then clamp(split.2, maximum:500, minimum:-500) else 0 }
rarity_user_offset_height := { split := split_comma(input); if length(split) > 3 and split.2 != "" and split.3 != "-" then clamp(split.3, maximum:500, minimum:-500) else 0 }
rarity_user_offset_height := { split := split_comma(input); if length(split) > 2 and split.2 != "" and split.2 != "-" then clamp(split.2, maximum:500, minimum:-500) else 0 }
############################################################## Type offsets
@@ -4054,6 +4059,174 @@ pinline_inner_mask_3 := {""}
pinline_mask_1 := {""}
pinline_mask_2 := {""}
pinline_mask_3 := {""}
############################################################## Crown
crowns_folder := {"/magic-modules.mse-include/crowns/375/"}
module_legend_crown_template := { crowns_folder() + input + "crown.png" }
module_borderless_crown_template := { crowns_folder() + "borderless/" + input + "crown.png" }
module_nyx_crown_template := { crowns_folder() + "nyx/" + input + "crown.png" }
module_companion_crown_template := { crowns_folder() + "companion/" + input + "crown.png" }
module_brawl_crown_template := { crowns_folder() + "brawl/" + input + "crown.png" }
module_custom_crown_template := {
"/magic-mainframe-extras.mse-include/"
+ styling.custom_crown_location
+ input
+ "crown.png"
}
module_crown_template := {
crown_shape := styling.legend_crown or else crown_type
if override != "" then crown_shape := override
case crown_shape of
"borderless": module_borderless_crown_template(),
"nyx": module_nyx_crown_template(),
"companion": module_companion_crown_template(),
"brawl": module_brawl_crown_template(),
"custom": module_custom_crown_template(),
else: module_legend_crown_template();
}@(crown_type:"normal", override:"")
module_crown := { color_background(type:"crown", base_hybrid:card_hybrid, folder:crowns_folder()) }
module_crown_2 := { color_background(type:"crown", base_hybrid:card_hybrid, folder:crowns_folder(), blend_type:"crown") }
module_crown_3 := { color_background(type:"crown", base_hybrid:card_hybrid, folder:crowns_folder(), blend_type:"crown") }
crown_disabled_1 := { not is_legend(face:1) }
crown_offset_left_1 := { 0 }
crown_offset_top_1 := { 0 }
crown_disabled_2 := { not is_legend(face:2) }
crown_offset_left_2 := { 0 }
crown_offset_top_2 := { 0 }
crown_disabled_3 := { not is_legend(face:3) }
crown_offset_left_3 := { 0 }
crown_offset_top_3 := { 0 }
############################################################## Overlay masks
foil_mask_base_image := { "foil_mask.png" }
foil_mask_added_sections := {
output := []
pt_field := if face == 1 then card.pt else card["pt_" + face]
if pt_field != "" then output := output + ["foil_mask_pt.png"]
output
}@(face:1)
foil_mask_removed_sections := {
output := []
sh := stamp_shape(field:face)
if sh == "round" then output := output + ["foil_mask_round.png"]
else if sh == "triangle" then output := output + ["foil_mask_triangle.png"]
output
}@(face:1)
foil_mask_blended_image := {
img := foil_mask_base_image(face)
if img != "" then (
added := foil_mask_added_sections(face)
removed := foil_mask_removed_sections(face)
len_add := length(added)
len_rem := length(removed)
if(len_add > 0) then (
for i from 0 to len_add-1 do (
img := masked_blend(dark:img, light:added[i], mask:added[i]);
"dummy return"
)
)
if(len_rem > 0) then (
for i from 0 to len_rem-1 do (
img := masked_blend(light:img, dark:removed[i], mask:removed[i]);
"dummy return"
)
)
)
img
}@(face:1)
############################################################## module styling
popout_coord := {
split := split_comma(field)
if length(split) > lim and split[input] != ""
then to_number_lax(split[input])
else 0
}@(lim:3)
popout_left := { popout_coord(0, field:styling.popout_art_coordinates or else "") }
popout_top := { popout_coord(1, field:styling.popout_art_coordinates or else "") }
popout_width := { popout_coord(2, field:styling.popout_art_coordinates or else "") }
popout_height := { popout_coord(3, field:styling.popout_art_coordinates or else "") }
popout_angle := { popout_coord(4, field:styling.popout_art_coordinates or else "", lim:4) }
popout_left_2 := { popout_coord(0, field:styling.popout_art_2_coordinates or else "") }
popout_top_2 := { popout_coord(1, field:styling.popout_art_2_coordinates or else "") }
popout_width_2 := { popout_coord(2, field:styling.popout_art_2_coordinates or else "") }
popout_height_2 := { popout_coord(3, field:styling.popout_art_2_coordinates or else "") }
popout_angle_2 := { popout_coord(4, field:styling.popout_art_2_coordinates or else "", lim:4) }
module_chop := {
split := split_comma(styling.chop_text_box)
if length(styling.chop_text_box or else "") > input
then to_number_lax(split[input])
else 0
}
chop_top := { module_chop(0) }
chop_bottom := { module_chop(1) }
chop_right := { module_chop(2) }
############################################################## Overlay masks
foil_mask_base_image := { "foil_mask.png" }
foil_mask_added_sections := {
output := []
pt_field := if face == 1 then card.pt else card["pt_" + face]
if pt_field != "" then output := output + ["foil_mask_pt.png"]
output
}@(face:1)
foil_mask_removed_sections := {
output := []
sh := stamp_shape(field:face)
if sh == "round" then output := output + ["foil_mask_round.png"]
else if sh == "triangle" then output := output + ["foil_mask_triangle.png"]
output
}@(face:1)
foil_mask_blended_image := {
img := foil_mask_base_image(face)
if img != "" then (
added := foil_mask_added_sections(face)
removed := foil_mask_removed_sections(face)
len_add := length(added)
len_rem := length(removed)
if(len_add > 0) then (
for i from 0 to len_add-1 do (
img := masked_blend(dark:img, light:added[i], mask:added[i]);
"dummy return"
)
)
if(len_rem > 0) then (
for i from 0 to len_rem-1 do (
img := masked_blend(light:img, dark:removed[i], mask:removed[i]);
"dummy return"
)
)
)
img
}@(face:1)
############################################################## module styling
popout_coord := {
split := split_comma(field)
if length(split) > lim and split[input] != ""
then to_number_lax(split[input])
else 0
}@(lim:3)
popout_left := { popout_coord(0, field:styling.popout_art_coordinates or else "") }
popout_top := { popout_coord(1, field:styling.popout_art_coordinates or else "") }
popout_width := { popout_coord(2, field:styling.popout_art_coordinates or else "") }
popout_height := { popout_coord(3, field:styling.popout_art_coordinates or else "") }
popout_angle := { popout_coord(4, field:styling.popout_art_coordinates or else "", lim:4) }
popout_left_2 := { popout_coord(0, field:styling.popout_art_2_coordinates or else "") }
popout_top_2 := { popout_coord(1, field:styling.popout_art_2_coordinates or else "") }
popout_width_2 := { popout_coord(2, field:styling.popout_art_2_coordinates or else "") }
popout_height_2 := { popout_coord(3, field:styling.popout_art_2_coordinates or else "") }
popout_angle_2 := { popout_coord(4, field:styling.popout_art_2_coordinates or else "", lim:4) }
module_chop := {
split := split_comma(styling.chop_text_box)
if length(styling.chop_text_box or else "") > input
then to_number_lax(split[input])
else 0
}
chop_top := { module_chop(0) }
chop_bottom := { module_chop(1) }
chop_right := { module_chop(2) }
############################################################## Custom corner symbols
custom_symbol_1 := {
@@ -4187,6 +4360,20 @@ swap_fonts_body_default := [
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_body2_default := [
name: {"MPlantin"},
size: {13},
color: {"black"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_body3_default := [
name: {"MPlantin"},
size: {13},
color: {"black"},
vertical: {0},
italic: {"MPlantin-Italic"}
]
swap_fonts_pt_default := [
name: {"Beleren Bold"},
size: {16},
@@ -4194,7 +4381,20 @@ swap_fonts_pt_default := [
vertical: {0},
italic: {""}
]
swap_fonts_name_src := { styling.custom_name_font or else "" }
swap_fonts_pt2_default := [
name: {"Beleren Bold"},
size: {16},
color: {"black"},
vertical: {0},
italic: {""}
]
swap_fonts_pt3_default := [
name: {"Beleren Bold"},
size: {16},
color: {"black"},
vertical: {0},
italic: {""}
]
swap_fonts_name_src := { styling.custom_name_font or else "" }
swap_fonts_name2_src := { styling.custom_name_2_font or else "" }
swap_fonts_name3_src := { styling.custom_name_3_font or else "" }
@@ -4202,7 +4402,11 @@ swap_fonts_type_src := { styling.custom_type_font or else "" }
swap_fonts_type2_src := { styling.custom_type_2_font or else "" }
swap_fonts_type3_src := { styling.custom_type_3_font or else "" }
swap_fonts_body_src := { styling.custom_body_font or else "" }
swap_fonts_body2_src := { styling.custom_body_2_font or else "" }
swap_fonts_body3_src := { styling.custom_body_3_font or else "" }
swap_fonts_pt_src := { styling.custom_pt_font or else "" }
swap_fonts_pt2_src := { styling.custom_pt_2_font or else "" }
swap_fonts_pt3_src := { styling.custom_pt_3_font or else "" }
#### specific swap functions
name_font := {
swap_font_name(
@@ -4423,63 +4627,63 @@ body_font_italic := {
body2_font := {
swap_font_name(
src: swap_fonts_body_src(),
font_name: swap_fonts_body_default.name()
src: swap_fonts_body2_src(),
font_name: swap_fonts_body2_default.name()
)
}
body2_font_size := {
swap_font_size(
src: swap_fonts_body_src(),
font_size: swap_fonts_body_default.size()
src: swap_fonts_body2_src(),
font_size: swap_fonts_body2_default.size()
)
}
body2_font_color := {
swap_font_color(
src: swap_fonts_body_src(),
font_color: swap_fonts_body_default.color()
src: swap_fonts_body2_src(),
font_color: swap_fonts_body2_default.color()
)
}
body2_font_vertical := {
swap_font_vertical(
src: swap_fonts_body_src(),
vertical: swap_fonts_body_default.vertical()
src: swap_fonts_body2_src(),
vertical: swap_fonts_body2_default.vertical()
)
}
body2_font_italic := {
swap_font_italic(
src: swap_fonts_body_src(),
font_name: swap_fonts_body_default.italic()
src: swap_fonts_body2_src(),
font_name: swap_fonts_body2_default.italic()
)
}
body3_font := {
swap_font_name(
src: swap_fonts_body_src(),
font_name: swap_fonts_body_default.name()
src: swap_fonts_body3_src(),
font_name: swap_fonts_body3_default.name()
)
}
body3_font_size := {
swap_font_size(
src: swap_fonts_body_src(),
font_size: swap_fonts_body_default.size()
src: swap_fonts_body3_src(),
font_size: swap_fonts_body3_default.size()
)
}
body3_font_color := {
swap_font_color(
src: swap_fonts_body_src(),
font_color: swap_fonts_body_default.color()
src: swap_fonts_body3_src(),
font_color: swap_fonts_body3_default.color()
)
}
body3_font_vertical := {
swap_font_vertical(
src: swap_fonts_body_src(),
vertical: swap_fonts_body_default.vertical()
src: swap_fonts_body3_src(),
vertical: swap_fonts_body3_default.vertical()
)
}
body3_font_italic := {
swap_font_italic(
src: swap_fonts_body_src(),
font_name: swap_fonts_body_default.italic()
src: swap_fonts_body3_src(),
font_name: swap_fonts_body3_default.italic()
)
}
@@ -4516,62 +4720,62 @@ pt_font_italic := {
pt2_font := {
swap_font_name(
src: swap_fonts_pt_src(),
src: swap_fonts_pt2_src(),
font_name: swap_fonts_pt2_default.name()
)
}
pt2_font_size := {
swap_font_size(
src: swap_fonts_pt_src(),
src: swap_fonts_pt2_src(),
font_size: swap_fonts_pt2_default.size()
)
}
pt2_font_color := {
swap_font_color(
src: swap_fonts_pt_src(),
src: swap_fonts_pt2_src(),
font_color: swap_fonts_pt2_default.color()
)
}
pt2_font_vertical := {
swap_font_vertical(
src: swap_fonts_pt_src(),
src: swap_fonts_pt2_src(),
vertical: swap_fonts_pt2_default.vertical()
)
}
pt2_font_italic := {
swap_font_italic(
src: swap_fonts_pt_src(),
src: swap_fonts_pt2_src(),
font_name: swap_fonts_pt2_default.italic()
)
}
pt3_font := {
swap_font_name(
src: swap_fonts_pt_src(),
src: swap_fonts_pt3_src(),
font_name: swap_fonts_pt3_default.name()
)
}
pt3_font_size := {
swap_font_size(
src: swap_fonts_pt_src(),
src: swap_fonts_pt3_src(),
font_size: swap_fonts_pt3_default.size()
)
}
pt3_font_color := {
swap_font_color(
src: swap_fonts_pt_src(),
src: swap_fonts_pt3_src(),
font_color: swap_fonts_pt3_default.color()
)
}
pt3_font_vertical := {
swap_font_vertical(
src: swap_fonts_pt_src(),
src: swap_fonts_pt3_src(),
vertical: swap_fonts_pt3_default.vertical()
)
}
pt3_font_italic := {
swap_font_italic(
src: swap_fonts_pt_src(),
src: swap_fonts_pt3_src(),
font_name: swap_fonts_pt3_default.italic()
)
}

View File

@@ -472,57 +472,57 @@ set field:
default set style:
global_variable_average_opening_hand:
visible: false
visible: false
title:
padding left: 2
padding left: 2
font:
size: 16
size: 16
symbol:
max aspect ratio: 2.5
max aspect ratio: 2.5
variation:
name: common
border radius: 0.10
fill type: solid
fill color: rgb(0,0,0)
border color: rgb(255,255,255)
name: common
border radius: 0.10
fill type: solid
fill color: rgb(0,0,0)
border color: rgb(255,255,255)
variation:
name: uncommon
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(224,224,224)
fill color 2: rgb(84, 84, 84)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
name: uncommon
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(224,224,224)
fill color 2: rgb(84, 84, 84)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
variation:
name: rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(214,196,94)
fill color 2: rgb(95, 84, 40)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
name: rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(214,196,94)
fill color 2: rgb(95, 84, 40)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
variation:
name: mythic rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(245,148,31)
fill color 2: rgb(186,45,38)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
name: mythic rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(245,148,31)
fill color 2: rgb(186,45,38)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
variation:
name: special
border radius: 0.10
fill type: linear gradient
fill color 1: rgb(224,170,247)
fill color 2: rgb(58,7,80)
border color 1: rgb(255, 255, 255)
border color 2: rgb(255, 255, 255)
name: special
border radius: 0.10
fill type: linear gradient
fill color 1: rgb(224,170,247)
fill color 2: rgb(58,7,80)
border color 1: rgb(255, 255, 255)
border color 2: rgb(255, 255, 255)
variation:
name: invertedcommon
border radius: 0.10
fill type: solid
fill color: rgb(255,255,255)
border color: rgb(0,0,0)
name: invertedcommon
border radius: 0.10
fill type: solid
fill color: rgb(255,255,255)
border color: rgb(0,0,0)
##purple
##fill color 1: rgb(224,170,247)
##fill color 2: rgb(58,7,80)
@@ -535,102 +535,107 @@ default set style:
##border color 1: rgb(0, 0, 0)
##border color 2: rgb(0, 0, 0)
variation:
name: watermark
border radius: 0.10
fill type: solid
fill color: rgb(0,0,0)
border color: rgba(0,0,0,0)
name: watermark
border radius: 0.10
fill type: solid
fill color: rgb(0,0,0)
border color: rgba(0,0,0,0)
masterpiece symbol:
max aspect ratio: 2.5
max aspect ratio: 2.5
variation:
name: common
border radius: 0.10
fill type: solid
fill color: rgb(0,0,0)
border color: rgb(255,255,255)
name: common
border radius: 0.10
fill type: solid
fill color: rgb(0,0,0)
border color: rgb(255,255,255)
variation:
name: uncommon
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(224,224,224)
fill color 2: rgb(84, 84, 84)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(224,224,224)
fill color 2: rgb(84, 84, 84)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
variation:
name: rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(214,196,94)
fill color 2: rgb(95, 84, 40)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
name: rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(214,196,94)
fill color 2: rgb(95, 84, 40)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
variation:
name: mythic rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(245,148,31)
fill color 2: rgb(186,45,38)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
name: mythic rare
border radius: 0.07
fill type: linear gradient
fill color 1: rgb(245,148,31)
fill color 2: rgb(186,45,38)
border color 1: rgb(0, 0, 0)
border color 2: rgb(0, 0, 0)
variation:
name: special
border radius: 0.10
fill type: linear gradient
fill color 1: rgb(224,170,247)
fill color 2: rgb(58,7,80)
border color 1: rgb(255,255,255)
border color 2: rgb(255,255,255)
name: special
border radius: 0.10
fill type: linear gradient
fill color 1: rgb(224,170,247)
fill color 2: rgb(58,7,80)
border color 1: rgb(255,255,255)
border color 2: rgb(255,255,255)
variation:
name: watermark
border radius: 0.10
fill type: solid
fill color: rgb(255,255,255)
border color: rgba(0,0,0,0)
name: watermark
border radius: 0.10
fill type: solid
fill color: rgb(255,255,255)
border color: rgba(0,0,0,0)
inverted common symbol:
render style: both
choice images:
no: { symbol_variation(symbol: set.symbol, variation: "common") }
yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
corner shape:
render style: both
render style: both
choice images:
rounded and antialiased: /magic.mse-game/corners/rounded_antialiased.png
rounded: /magic.mse-game/corners/rounded.png
diagonal: /magic.mse-game/corners/diagonal.png
none: /magic.mse-game/corners/none.png
automatic reminder text:
render style: checklist
direction: vertical
render style: checklist
direction: vertical
count secondary faces:
render style: checklist
direction: vertical
render style: checklist
direction: vertical
sort special rarity:
render style: both
render style: both
choice images:
with the rest: /magic.mse-game/icons/number_cards_mixed.png
after other cards: /magic.mse-game/icons/number_cards_after.png
separate numbering: /magic.mse-game/icons/number_cards_separate.png
with the rest: /magic.mse-game/icons/number_cards_mixed.png
after other cards: /magic.mse-game/icons/number_cards_after.png
separate numbering: /magic.mse-game/icons/number_cards_separate.png
use gradient multicolor:
render style: both
choice images:
yes: script: built_in_image("bool_yes")
no: script: built_in_image("bool_no")
yes: script: built_in_image("bool_yes")
no: script: built_in_image("bool_no")
card language:
render style: both
choice images:
English: /magic.mse-game/icons/language-en.png
English_(British): /magic.mse-game/icons/language-en-gb.png
English_(Canadian): /magic.mse-game/icons/language-en-ca.png
Español: /magic.mse-game/icons/language-es.png
Français: /magic.mse-game/icons/language-fr.png
Deutsch: /magic.mse-game/icons/language-de.png
Italiano: /magic.mse-game/icons/language-it.png
Português_do_Brasil: /magic.mse-game/icons/language-br.png
Русский: /magic.mse-game/icons/language-ru.png
日本語: /magic.mse-game/icons/language-ja.png
한국어: /magic.mse-game/icons/language-ko.png
汉语: /magic.mse-game/icons/language-zh.png
漢語: /magic.mse-game/icons/language-zh.png
English: /magic.mse-game/icons/language-en.png
English_(British): /magic.mse-game/icons/language-en-gb.png
English_(Canadian): /magic.mse-game/icons/language-en-ca.png
Español: /magic.mse-game/icons/language-es.png
Français: /magic.mse-game/icons/language-fr.png
Deutsch: /magic.mse-game/icons/language-de.png
Italiano: /magic.mse-game/icons/language-it.png
Português_do_Brasil: /magic.mse-game/icons/language-br.png
Русский: /magic.mse-game/icons/language-ru.png
日本語: /magic.mse-game/icons/language-ja.png
한국어: /magic.mse-game/icons/language-ko.png
汉语: /magic.mse-game/icons/language-zh.png
漢語: /magic.mse-game/icons/language-zh.png
mana symbol options:
render style: checklist
direction: vertical
render style: checklist
direction: vertical
default stamp:
render style: both
render style: both
choice images:
standard: /magic.mse-game/stamps/oval.png
none: /magic.mse-game/stamps/none.png
@@ -642,7 +647,7 @@ default set style:
custom: /magic.mse-game/stamps/heart.png
iderp classicshifted: /magic.mse-game/stamps/iderp_classicshifted_default.png
stamp behavior:
render style: both
render style: both
choice images:
All holostamped: /magic.mse-game/stamps/oval.png
Standard, rares holostamped: /magic.mse-game/stamps/onlyrare.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -218,26 +218,26 @@ color_category_statistic :=
face_color_category_statistic :=
{
artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green"))
land := chosen(choice:"land")
multi := chosen(choice:"multicolor")
hybrid := chosen(choice:"hybrid")
white := chosen(choice:"white")
blue := chosen(choice:"blue")
black := chosen(choice:"black")
red := chosen(choice:"red")
green := chosen(choice:"green")
multi_color := count_chosen(choices:"white, blue, black, red, green")
if land then all_en_space_statistic(lang_setting("land"))
else if multi then all_en_space_statistic(lang_setting("multicolor"))
else if multi_color == 2
and chosen(choice:"artifact") then all_en_space_statistic(lang_setting("hybrid")) ##hybrid artifacts would show as their first color
else if hybrid then all_en_space_statistic(lang_setting("hybrid"))
else if artifact then all_en_space_statistic(lang_setting("artifact"))
else if white then all_en_space_statistic(lang_setting("white"))
else if blue then all_en_space_statistic(lang_setting("blue"))
else if black then all_en_space_statistic(lang_setting("black"))
else if red then all_en_space_statistic(lang_setting("red"))
else if green then all_en_space_statistic(lang_setting("green"))
land := chosen(choice:"land")
multi := chosen(choice:"multicolor")
hybrid := chosen(choice:"hybrid")
white := chosen(choice:"white")
blue := chosen(choice:"blue")
black := chosen(choice:"black")
red := chosen(choice:"red")
green := chosen(choice:"green")
multi_color := count_chosen(choices:"white, blue, black, red, green")
if land then all_en_space_statistic(lang_setting("land"))
else if multi then all_en_space_statistic(lang_setting("multicolor"))
else if multi_color == 2
and chosen(choice:"artifact") then all_en_space_statistic(lang_setting("hybrid")) ##hybrid artifacts would show as their first color
else if hybrid then all_en_space_statistic(lang_setting("hybrid"))
else if artifact then all_en_space_statistic(lang_setting("artifact"))
else if white then all_en_space_statistic(lang_setting("white"))
else if blue then all_en_space_statistic(lang_setting("blue"))
else if black then all_en_space_statistic(lang_setting("black"))
else if red then all_en_space_statistic(lang_setting("red"))
else if green then all_en_space_statistic(lang_setting("green"))
else all_en_space_statistic(lang_setting("colorless"))
}
@@ -822,18 +822,18 @@ detect_custom_creature_subtypes_statistic :=
for a from 0 to 1 do (
subtypes := if a == 1 then face_detect_custom_subtypes_statistic(c.sub_type_2) else face_detect_custom_subtypes_statistic(c.sub_type)
super := if a == 1 then c.super_type_2 else c.super_type
is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super)
is_artifact := lang_setting("is_artifact")(super)
is_enchantment := lang_setting("is_enchantment")(super)
is_land := lang_setting("is_land")(super)
is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land
is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super)
is_artifact := lang_setting("is_artifact")(super)
is_enchantment := lang_setting("is_enchantment")(super)
is_land := lang_setting("is_land")(super)
is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land
for each s in subtypes do (
# is this a canon type?
has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false
has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false
if not has_creature then (
if is_just_creature then creature_hard := creature_hard + [s]
else if not is_creature then noncreature_hard := noncreature_hard + [s]
else creature_soft := creature_soft + [s]
if is_just_creature then creature_hard := creature_hard + [s]
else if not is_creature then noncreature_hard := noncreature_hard + [s]
else creature_soft := creature_soft + [s]
)
"" ## dummy return, otherwise it tries to concat scripts and explodes
)
@@ -878,36 +878,36 @@ detect_custom_subtypes_statistic :=
for a from 0 to 1 do (
subtypes := if a == 1 then face_detect_custom_subtypes_statistic(c.sub_type_2) else face_detect_custom_subtypes_statistic(c.sub_type)
super := if a == 1 then c.super_type_2 else c.super_type
is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super)
is_artifact := lang_setting("is_artifact")(super)
is_enchantment := lang_setting("is_enchantment")(super)
is_land := lang_setting("is_land")(super)
is_spell := lang_setting("is_spell")(super)
is_walker := lang_setting("is_planeswalker")(super) or lang_setting("is_emblem")(super)
is_battle := lang_setting("is_battle")(super)
is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land
is_just_artifact := is_artifact and not is_creature and not is_enchantment and not is_land
is_just_enchantment := is_enchantment and not is_creature and not is_artifact and not is_land
is_just_land := is_land and not is_creature and not is_artifact and not is_enchantment
is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super)
is_artifact := lang_setting("is_artifact")(super)
is_enchantment := lang_setting("is_enchantment")(super)
is_land := lang_setting("is_land")(super)
is_spell := lang_setting("is_spell")(super)
is_walker := lang_setting("is_planeswalker")(super) or lang_setting("is_emblem")(super)
is_battle := lang_setting("is_battle")(super)
is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land
is_just_artifact := is_artifact and not is_creature and not is_enchantment and not is_land
is_just_enchantment := is_enchantment and not is_creature and not is_artifact and not is_land
is_just_land := is_land and not is_creature and not is_artifact and not is_enchantment
for each s in subtypes do (
# is this a canon type?
has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false
has_artifact := if is_artifact then contains(artifact_subtypes_statistic(), match:s+";") else false
has_enchantment := if is_enchantment then contains(enchantment_subtypes_statistic(), match:s+";") else false
has_land := if is_land then contains(land_subtypes_statistic(), match:s+";") else false
has_spell := if is_spell then contains(spell_subtypes_statistic(), match:s+";") else false
has_walker := if is_walker then contains(planeswalker_subtypes_statistic(), match:s+";") else false
has_battle := if is_battle then contains(battle_subtypes_statistic(), match:s+";") else false
has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false
has_artifact := if is_artifact then contains(artifact_subtypes_statistic(), match:s+";") else false
has_enchantment := if is_enchantment then contains(enchantment_subtypes_statistic(), match:s+";") else false
has_land := if is_land then contains(land_subtypes_statistic(), match:s+";") else false
has_spell := if is_spell then contains(spell_subtypes_statistic(), match:s+";") else false
has_walker := if is_walker then contains(planeswalker_subtypes_statistic(), match:s+";") else false
has_battle := if is_battle then contains(battle_subtypes_statistic(), match:s+";") else false
if not has_creature and not has_artifact and not has_enchantment and not has_land and not has_walker and not has_battle and not has_spell then (
if is_just_creature then creature_hard := creature_hard + [s]
else if is_just_artifact then artifact_hard := artifact_hard + [s]
else if is_just_enchantment then enchantment_hard := enchantment_hard + [s]
else if is_just_land then land_hard := land_hard + [s]
else if is_walker then walker_soft := walker_soft + [s]
else if is_battle then battle_soft := battle_soft + [s]
else if is_spell then spell_hard := spell_hard + [s]
else if not is_creature then noncreature_hard := noncreature_hard + [s]
else unknown_sub_types := unknown_sub_types + [s]
if is_just_creature then creature_hard := creature_hard + [s]
else if is_just_artifact then artifact_hard := artifact_hard + [s]
else if is_just_enchantment then enchantment_hard := enchantment_hard + [s]
else if is_just_land then land_hard := land_hard + [s]
else if is_walker then walker_soft := walker_soft + [s]
else if is_battle then battle_soft := battle_soft + [s]
else if is_spell then spell_hard := spell_hard + [s]
else if not is_creature then noncreature_hard := noncreature_hard + [s]
else unknown_sub_types := unknown_sub_types + [s]
)
"" ## dummy return, otherwise it tries to concat scripts and explodes
)