Add UNF full art basics (#118)
* Add UNF full art basics * improve full art basics automation implementation * fix z index on basic land symbol textbox
@@ -13,7 +13,7 @@ __More New Templates__
|
||||
Thanks to GenevensiS for their continued work on keeping up with the Showcases!
|
||||
• Add the Aetherdrift First Place, First Place Planeswalker, and First Place Full Art land frames. Without access to the Space Cadet font, we don't plan to make the Rude Riders variant.
|
||||
• Added the MKM Magnified Showcase frame
|
||||
• Added the ONE and LCI Full Art land frames
|
||||
• Added the UNF, ONE, LCI Full Art land frames. Those and NEO have code to detect or manually select up to two basic types.
|
||||
• Added the Mechanic Reminder frame, for things like Start your engines!
|
||||
|
||||
__Template Code Updates__
|
||||
@@ -22,3 +22,4 @@ __Template Code Updates__
|
||||
__Bug Fixes__
|
||||
• Fixed a bug where hybrid Adventure pages were blending incorrectly.
|
||||
• Fixed a bug where the Set tab Inverted Common Symbol wasn't working on most frames.
|
||||
• Fixed a bug in Full Art Lands w/Basic Land Symbol where the textbox effect wasn't displaying.
|
||||
@@ -801,7 +801,7 @@ extra card style:
|
||||
top: 0
|
||||
width: { textbox_width() }
|
||||
height: { textbox_height() }
|
||||
z index: 50
|
||||
z index: 105
|
||||
render style: image
|
||||
image: { textbox_image() }
|
||||
mask: { textbox_mask() }
|
||||
|
||||
@@ -54,83 +54,85 @@ init script:
|
||||
italic: {""}
|
||||
]
|
||||
|
||||
two_types := { styling.second_land_type != "none" }
|
||||
|
||||
card_symbol :=
|
||||
{
|
||||
first := "symbol/" + type_to_letter_map[styling.land_type] + ".png"
|
||||
if not two_types() then first else (
|
||||
second := "symbol/" + type_to_letter_map[styling.second_land_type] + ".png"
|
||||
linear_blend(
|
||||
image1: first,
|
||||
image2: second,
|
||||
x1: 0.49, y1: 0,
|
||||
x2: 0.51, y2: 0
|
||||
))
|
||||
land_types := [["plains"], ["island"], ["swamp"], ["mountain"], ["forest"], ["wastes"]]
|
||||
land_type_of := {
|
||||
result := "none"
|
||||
option := if input == 2 then styling.second_land_type else styling.land_type
|
||||
if option == "auto" then (
|
||||
ar := break_text(card.sub_type, match:"<word-list-land>[^<]+</word-list-land>")
|
||||
given := if length(ar) >= input then to_lower(remove_tags(ar[input-1])) else "none"
|
||||
if input == 1 and position(of:[to_lower(card.name)], in:land_types) >= 0 then result := to_lower(card.name)
|
||||
else if include_types and position(of:[given], in:land_types) >= 0 then result := given
|
||||
)
|
||||
else result := option
|
||||
result
|
||||
}@(include_types:true)
|
||||
land_type_1 := { land_type_of(1, include_types:include_types) }@(include_types:true)
|
||||
land_type_2 := { land_type_of(2, include_types:include_types) }@(include_types:true)
|
||||
land_type_count := {
|
||||
count := 0
|
||||
lt1 := land_type_1()
|
||||
lt2 := land_type_2()
|
||||
if lt1 != "none" then count := count + 1
|
||||
if lt2 != "none" and lt2 != lt1 then count := count + 1
|
||||
count
|
||||
}
|
||||
no_types := { land_type_count() == 0 }
|
||||
two_types := { land_type_count() == 2 }
|
||||
|
||||
card_full_name := { value }
|
||||
card_full_name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] }
|
||||
name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] }
|
||||
modified_color := {
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
|
||||
super_type_filter_default := { (if two_types() then "" else "Basic ") + "Land" }
|
||||
if t3 == "none"
|
||||
then card.card_color ## double none, revert to real card color
|
||||
else if t1 == "none" or t2 == "none"
|
||||
then type_to_word_map[t3] ## single none, use that
|
||||
else (
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
c3 := if c1 == "colorless" then c2 else c1
|
||||
if c3 == "colorless"
|
||||
then "colorless" ## double colorless, use that
|
||||
else if c1 == "colorless" or c2 == "colorless" or c1 == c2
|
||||
then c3 ## color + colorless or double color, use the color
|
||||
else ( ## combine colors, multi, reverse if needed
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
"{c1}, {c2}, multicolor, horizontal" + (if not normal_order then ", reversed" else "")
|
||||
)
|
||||
)
|
||||
}
|
||||
normal_order_map := [
|
||||
"white,blue": true,
|
||||
"white,black": true,
|
||||
"blue,black": true,
|
||||
"blue,red": true,
|
||||
"black,red": true,
|
||||
"black,green": true,
|
||||
"red,green": true,
|
||||
"red,white": true,
|
||||
"green,white": true,
|
||||
"green,blue": true
|
||||
]
|
||||
super_type_filter_default := {
|
||||
if two_types() then "Land" else "Basic Land"
|
||||
}
|
||||
sub_type_filter_default :=
|
||||
{
|
||||
base := to_title(styling.land_type) + (if two_types() then " " + to_title(styling.second_land_type) else "")
|
||||
if base == "Wastes" then "" else base
|
||||
t1 := land_type_1(include_types:false)
|
||||
t2 := land_type_2(include_types:false)
|
||||
if t1 == "wastes" or t1 == "none" then t1 := ""
|
||||
if t2 == "wastes" or t2 == "none" then t2 := ""
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
|
||||
lower_type := if normal_order then t1 + (if t1 != "" then " " else "") + t2
|
||||
else t2 + (if t2 != "" then " " else "") + t1
|
||||
to_title(lower_type)
|
||||
}
|
||||
|
||||
type_to_name_map :=
|
||||
[
|
||||
"plains,none": "Plains",
|
||||
"island,none": "Island",
|
||||
"swamp,none": "Swamp",
|
||||
"mountain,none": "Mountain",
|
||||
"forest,none": "Forest",
|
||||
"wastes,none": "Wastes",
|
||||
|
||||
"plains,wastes": "Wasted Plains",
|
||||
"island,wastes": "Wasted Island",
|
||||
"swamp,wastes": "Wasted Swamp",
|
||||
"mountain,wastes": "Wasted Mountain",
|
||||
"forest,wastes": "Wasted Forest",
|
||||
"wastes,wastes": "Wastes",
|
||||
|
||||
"plains,plains": "Plains",
|
||||
"island,plains": "Tundra",
|
||||
"swamp,plains": "Scrubland",
|
||||
"mountain,plains": "Plateau",
|
||||
"forest,plains": "Savannah",
|
||||
"wastes,plains": "Wasted Plains",
|
||||
|
||||
"plains,island": "Tundra",
|
||||
"island,island": "Island",
|
||||
"swamp,island": "Underground Sea",
|
||||
"mountain,island": "Volcanic Island",
|
||||
"forest,island": "Tropical Island",
|
||||
"wastes,island": "Wasted Island",
|
||||
|
||||
"plains,swamp": "Scrubland",
|
||||
"island,swamp": "Underground Sea",
|
||||
"swamp,swamp": "Swamp",
|
||||
"mountain,swamp": "Badlands",
|
||||
"forest,swamp": "Bayou",
|
||||
"wastes,swamp": "Wasted Swamp",
|
||||
|
||||
"plains,mountain": "Plateau",
|
||||
"island,mountain": "Volcanic Island",
|
||||
"swamp,mountain": "Badlands",
|
||||
"mountain,mountain": "Mountain",
|
||||
"forest,mountain": "Taiga",
|
||||
"wastes,mountain": "Wasted Mountain",
|
||||
|
||||
"plains,forest": "Savannah",
|
||||
"island,forest": "Tropical Island",
|
||||
"swamp,forest": "Bayou",
|
||||
"mountain,forest": "Taiga",
|
||||
"forest,forest": "Forest",
|
||||
"wastes,forest": "Wasted Forest"
|
||||
]
|
||||
type_to_letter_map :=
|
||||
[
|
||||
plains: "w",
|
||||
@@ -141,16 +143,30 @@ init script:
|
||||
wastes: "c",
|
||||
none: "none"
|
||||
]
|
||||
type_to_color_map :=
|
||||
[
|
||||
plains: ", white",
|
||||
island: ", blue",
|
||||
swamp: ", black",
|
||||
mountain: ", red",
|
||||
forest: ", green",
|
||||
wastes: "",
|
||||
none: ", none"
|
||||
type_to_word_map := [
|
||||
plains: "white",
|
||||
island: "blue",
|
||||
swamp: "black",
|
||||
mountain: "red",
|
||||
forest: "green",
|
||||
wastes: "colorless",
|
||||
none: "",
|
||||
"": ""
|
||||
]
|
||||
card_symbol :=
|
||||
{
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
if t1 != "none" and t2 != "none" then linear_blend(
|
||||
image1: "symbol/" + type_to_letter_map[t1] + ".png",
|
||||
image2: "symbol/" + type_to_letter_map[t2] + ".png",
|
||||
x1: 0.49, y1: 0,
|
||||
x2: 0.51, y2: 0
|
||||
)
|
||||
else "symbol/" + type_to_letter_map[t3] + ".png"
|
||||
}
|
||||
|
||||
|
||||
is_promo := { styling.promo }
|
||||
|
||||
@@ -161,7 +177,7 @@ init script:
|
||||
popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, minimum: 0, maximum: 1500) else 0 }
|
||||
popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, minimum: 0, maximum: 2000) else 0 }
|
||||
|
||||
mountain_symbol_offset := { if styling.second_land_type == "mountain" or styling.land_type == "mountain" then -76 else 0 }
|
||||
mountain_symbol_offset := { if land_type_1() == "mountain" or land_type_2() == "mountain" then -76 else 0 }
|
||||
|
||||
############################################################## Extra style options
|
||||
|
||||
@@ -169,19 +185,8 @@ styling field:
|
||||
type: choice
|
||||
name: land type
|
||||
description: What type is this card?
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
initial: plains
|
||||
styling field:
|
||||
type: choice
|
||||
name: second land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: none
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
@@ -189,7 +194,23 @@ styling field:
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
initial: none
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: choice
|
||||
name: second land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: text
|
||||
name: popout art coordinates
|
||||
@@ -329,16 +350,17 @@ extra card style:
|
||||
height: 49
|
||||
z index: 3000
|
||||
render style: image
|
||||
image: { "type/" + type_to_letter_map[styling.land_type] + ".png" }
|
||||
visible: { land_type_1() != "none" }
|
||||
image: { "type/" + type_to_letter_map[land_type_1()] + ".png" }
|
||||
second type:
|
||||
left: 244
|
||||
top: 857
|
||||
width: 420
|
||||
height: 49
|
||||
z index: 3000
|
||||
visible: { two_types() }
|
||||
visible: { land_type_2() != "none" }
|
||||
render style: image
|
||||
image: { "type/" + type_to_letter_map[styling.second_land_type] + ".png" }
|
||||
image: { "type/" + type_to_letter_map[land_type_2()] + ".png" }
|
||||
symbol:
|
||||
left: { 156 + mountain_symbol_offset() }
|
||||
top: 779
|
||||
@@ -355,7 +377,7 @@ extra card style:
|
||||
z index: 3000
|
||||
visible: { not two_types() and not styling.hide_basic_land_text }
|
||||
render style: image
|
||||
image: { "basic_land/" + type_to_letter_map[styling.land_type] + ".png" }
|
||||
image: { "basic_land/" + type_to_letter_map[land_type_1()] + ".png" }
|
||||
foil layer:
|
||||
left: 0
|
||||
top: 0
|
||||
|
||||
@@ -77,93 +77,85 @@ init script:
|
||||
template_prefix[type] + (if input == "a" then "c" else input) + template_suffix[type]
|
||||
}
|
||||
|
||||
two_types := { styling.second_land_type != "none" }
|
||||
|
||||
card_background :=
|
||||
{
|
||||
first_color := "card/" + type_to_letter_map[styling.land_type] + "card.png"
|
||||
if not two_types() then first_color else (
|
||||
second_color := "card/" + type_to_letter_map[styling.second_land_type] + "card.png"
|
||||
linear_blend(
|
||||
image1: first_color,
|
||||
image2: second_color,
|
||||
x1: 0.3, y1: 0,
|
||||
x2: 0.7, y2: 0
|
||||
))
|
||||
}
|
||||
card_color :=
|
||||
{
|
||||
if not two_types() then substring(type_to_color_map[styling.land_type] + ", land", begin: 2)
|
||||
else substring(type_to_color_map[styling.land_type] + type_to_color_map[styling.second_land_type] + ", land, horizontal", begin: 2)
|
||||
}
|
||||
card_color_filter :=
|
||||
{
|
||||
if not two_types() then substring(type_to_color_map[styling.land_type] + ", land", begin: 2)
|
||||
else substring(type_to_color_map[styling.land_type] + type_to_color_map[styling.second_land_type] + ", land, horizontal", begin: 2)
|
||||
land_types := [["plains"], ["island"], ["swamp"], ["mountain"], ["forest"], ["wastes"]]
|
||||
land_type_of := {
|
||||
result := "none"
|
||||
option := if input == 2 then styling.second_land_type else styling.land_type
|
||||
if option == "auto" then (
|
||||
ar := break_text(card.sub_type, match:"<word-list-land>[^<]+</word-list-land>")
|
||||
given := if length(ar) >= input then to_lower(remove_tags(ar[input-1])) else "none"
|
||||
if input == 1 and position(of:[to_lower(card.name)], in:land_types) >= 0 then result := to_lower(card.name)
|
||||
else if include_types and position(of:[given], in:land_types) >= 0 then result := given
|
||||
)
|
||||
else result := option
|
||||
result
|
||||
}@(include_types:true)
|
||||
land_type_1 := { land_type_of(1, include_types:include_types) }@(include_types:true)
|
||||
land_type_2 := { land_type_of(2, include_types:include_types) }@(include_types:true)
|
||||
land_type_count := {
|
||||
count := 0
|
||||
lt1 := land_type_1()
|
||||
lt2 := land_type_2()
|
||||
if lt1 != "none" then count := count + 1
|
||||
if lt2 != "none" and lt2 != lt1 then count := count + 1
|
||||
count
|
||||
}
|
||||
no_types := { land_type_count() == 0 }
|
||||
two_types := { land_type_count() == 2 }
|
||||
|
||||
card_full_name := { value }
|
||||
card_full_name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] }
|
||||
name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] }
|
||||
modified_color := {
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
|
||||
super_type_filter_default := { (if two_types() then "" else "Basic ") + "Land" }
|
||||
if t3 == "none"
|
||||
then card.card_color ## double none, revert to real card color
|
||||
else if t1 == "none" or t2 == "none"
|
||||
then type_to_word_map[t3] ## single none, use that
|
||||
else (
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
c3 := if c1 == "colorless" then c2 else c1
|
||||
if c3 == "colorless"
|
||||
then "colorless" ## double colorless, use that
|
||||
else if c1 == "colorless" or c2 == "colorless" or c1 == c2
|
||||
then c3 ## color + colorless or double color, use the color
|
||||
else ( ## combine colors, multi, reverse if needed
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
"{c1}, {c2}, multicolor, horizontal" + (if not normal_order then ", reversed" else "")
|
||||
)
|
||||
)
|
||||
}
|
||||
normal_order_map := [
|
||||
"white,blue": true,
|
||||
"white,black": true,
|
||||
"blue,black": true,
|
||||
"blue,red": true,
|
||||
"black,red": true,
|
||||
"black,green": true,
|
||||
"red,green": true,
|
||||
"red,white": true,
|
||||
"green,white": true,
|
||||
"green,blue": true
|
||||
]
|
||||
super_type_filter_default := {
|
||||
if two_types() then "Land" else "Basic Land"
|
||||
}
|
||||
sub_type_filter_default :=
|
||||
{
|
||||
base := to_title(styling.land_type) + (if two_types() then " " + to_title(styling.second_land_type) else "")
|
||||
if base == "Wastes" then "" else base
|
||||
t1 := land_type_1(include_types:false)
|
||||
t2 := land_type_2(include_types:false)
|
||||
if t1 == "wastes" or t1 == "none" then t1 := ""
|
||||
if t2 == "wastes" or t2 == "none" then t2 := ""
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
|
||||
lower_type := if normal_order then t1 + (if t1 != "" then " " else "") + t2
|
||||
else t2 + (if t2 != "" then " " else "") + t1
|
||||
to_title(lower_type)
|
||||
}
|
||||
|
||||
type_to_name_map :=
|
||||
[
|
||||
"plains,none": "Plains",
|
||||
"island,none": "Island",
|
||||
"swamp,none": "Swamp",
|
||||
"mountain,none": "Mountain",
|
||||
"forest,none": "Forest",
|
||||
"wastes,none": "Wastes",
|
||||
|
||||
"plains,wastes": "Wasted Plains",
|
||||
"island,wastes": "Wasted Island",
|
||||
"swamp,wastes": "Wasted Swamp",
|
||||
"mountain,wastes": "Wasted Mountain",
|
||||
"forest,wastes": "Wasted Forest",
|
||||
"wastes,wastes": "Wastes",
|
||||
|
||||
"plains,plains": "Plains",
|
||||
"island,plains": "Tundra",
|
||||
"swamp,plains": "Scrubland",
|
||||
"mountain,plains": "Plateau",
|
||||
"forest,plains": "Savannah",
|
||||
"wastes,plains": "Wasted Plains",
|
||||
|
||||
"plains,island": "Tundra",
|
||||
"island,island": "Island",
|
||||
"swamp,island": "Underground Sea",
|
||||
"mountain,island": "Volcanic Island",
|
||||
"forest,island": "Tropical Island",
|
||||
"wastes,island": "Wasted Island",
|
||||
|
||||
"plains,swamp": "Scrubland",
|
||||
"island,swamp": "Underground Sea",
|
||||
"swamp,swamp": "Swamp",
|
||||
"mountain,swamp": "Badlands",
|
||||
"forest,swamp": "Bayou",
|
||||
"wastes,swamp": "Wasted Swamp",
|
||||
|
||||
"plains,mountain": "Plateau",
|
||||
"island,mountain": "Volcanic Island",
|
||||
"swamp,mountain": "Badlands",
|
||||
"mountain,mountain": "Mountain",
|
||||
"forest,mountain": "Taiga",
|
||||
"wastes,mountain": "Wasted Mountain",
|
||||
|
||||
"plains,forest": "Savannah",
|
||||
"island,forest": "Tropical Island",
|
||||
"swamp,forest": "Bayou",
|
||||
"mountain,forest": "Taiga",
|
||||
"forest,forest": "Forest",
|
||||
"wastes,forest": "Wasted Forest"
|
||||
]
|
||||
type_to_letter_map :=
|
||||
[
|
||||
plains: "w",
|
||||
@@ -174,16 +166,33 @@ init script:
|
||||
wastes: "c",
|
||||
none: "none"
|
||||
]
|
||||
type_to_color_map :=
|
||||
[
|
||||
plains: ", white",
|
||||
island: ", blue",
|
||||
swamp: ", black",
|
||||
mountain: ", red",
|
||||
forest: ", green",
|
||||
wastes: "",
|
||||
none: ", none"
|
||||
type_to_word_map := [
|
||||
plains: "white",
|
||||
island: "blue",
|
||||
swamp: "black",
|
||||
mountain: "red",
|
||||
forest: "green",
|
||||
wastes: "colorless",
|
||||
none: "",
|
||||
"": ""
|
||||
]
|
||||
card_background :=
|
||||
{
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
if two_types() then (
|
||||
linear_blend(
|
||||
image1: "card/{type_to_letter_map[t1]}card.png",
|
||||
image2: "card/{type_to_letter_map[t2]}card.png",
|
||||
x1: 0.3, y1: 0,
|
||||
x2: 0.7, y2: 0
|
||||
)
|
||||
)
|
||||
else if t3 == "none"
|
||||
then "card/ccard.png"
|
||||
else "card/{type_to_letter_map[t3]}card.png"
|
||||
}
|
||||
|
||||
is_promo := { styling.promo }
|
||||
|
||||
@@ -198,15 +207,15 @@ init script:
|
||||
{
|
||||
"mask_name" +
|
||||
(if two_types() then "_dual" else "") +
|
||||
(if styling.second_land_type == "plains" or styling.second_land_type == "wastes" or styling.land_type == "plains" or styling.land_type == "wastes" then "_plains" else "") +
|
||||
(if land_type_1() == "plains" or land_type_1() == "wastes" or land_type_2() == "plains" or land_type_2() == "wastes" then "_plains" else "") +
|
||||
".png"
|
||||
}
|
||||
|
||||
plains_symbol_offset := { if styling.second_land_type == "plains" or styling.second_land_type == "wastes" or styling.land_type == "plains" or styling.land_type == "wastes" then 150 else 0 }
|
||||
plains_symbol_offset := { if land_type_1() == "plains" or land_type_1() == "wastes" or land_type_2() == "plains" or land_type_2() == "wastes" then 150 else 0 }
|
||||
symbol_offset := { if two_types() then 180 else 0 }
|
||||
two_two :=
|
||||
{
|
||||
(styling.second_land_type == "plains" or styling.second_land_type == "wastes") and (styling.land_type == "plains" or styling.land_type == "wastes")
|
||||
(land_type_1() == "plains" or land_type_1() == "wastes") and (land_type_2() == "plains" or land_type_2() == "wastes")
|
||||
}
|
||||
|
||||
############################################################## Extra style options
|
||||
@@ -215,19 +224,8 @@ styling field:
|
||||
type: choice
|
||||
name: land type
|
||||
description: What type is this card?
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
initial: plains
|
||||
styling field:
|
||||
type: choice
|
||||
name: second land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: none
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
@@ -235,7 +233,23 @@ styling field:
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
initial: none
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: choice
|
||||
name: second land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: text
|
||||
name: popout art coordinates
|
||||
@@ -346,7 +360,7 @@ extra card field:
|
||||
script:
|
||||
styling.land_type
|
||||
styling.second_land_type
|
||||
card_color()
|
||||
modified_color()
|
||||
extra card field:
|
||||
type: choice
|
||||
name: first type
|
||||
@@ -416,19 +430,20 @@ extra card style:
|
||||
height: { if two_two() then 225 else 295 }
|
||||
z index: 3000
|
||||
render style: image
|
||||
image: { recolor_image("type_" + styling.land_type + ".png", color: styling.text_color) }
|
||||
visible: { land_type_1() != "none" }
|
||||
image: { recolor_image("type_" + land_type_1() + ".png", color: styling.text_color) }
|
||||
second type:
|
||||
left: { if two_two() then 91 else 76 }
|
||||
top: { 272 + (if styling.land_type == "plains" or styling.land_type == "wastes" then 140 else 0) - (if two_two() then 70 else 0) }
|
||||
width: { if two_two() then 130 else 160 }
|
||||
height: { if two_two() then 225 else 295 }
|
||||
z index: 3000
|
||||
visible: { two_types() }
|
||||
visible: { land_type_2() != "none" }
|
||||
render style: image
|
||||
image: { recolor_image("type_" + styling.second_land_type + ".png", color: styling.text_color) }
|
||||
image: { recolor_image("type_" + land_type_2() + ".png", color: styling.text_color) }
|
||||
type separator:
|
||||
left: 76
|
||||
top: { 240 + (if styling.land_type == "plains" or styling.land_type == "wastes" then 136 else 0) - (if two_two() then 68 else 0) }
|
||||
top: { 240 + (if land_type_1() == "plains" or land_type_1() == "wastes" then 136 else 0) - (if two_two() then 68 else 0) }
|
||||
width: 160
|
||||
height: 30
|
||||
z index: 3000
|
||||
@@ -442,16 +457,17 @@ extra card style:
|
||||
height: 164
|
||||
z index: 3000
|
||||
render style: image
|
||||
image: { recolor_image("symbol_" + styling.land_type + ".png", color: styling.text_color) }
|
||||
visible: { land_type_1() != "none" }
|
||||
image: { recolor_image("symbol_" + land_type_1() + ".png", color: styling.text_color) }
|
||||
second symbol:
|
||||
left: 76
|
||||
top: { 401 + plains_symbol_offset() + symbol_offset() }
|
||||
width: 160
|
||||
height: 164
|
||||
z index: 3000
|
||||
visible: { two_types() }
|
||||
visible: { land_type_2() != "none" }
|
||||
render style: image
|
||||
image: { recolor_image("symbol_" + styling.second_land_type + ".png", color: styling.text_color) }
|
||||
image: { recolor_image("symbol_" + land_type_2() + ".png", color: styling.text_color) }
|
||||
foil layer:
|
||||
left: 0
|
||||
top: 0
|
||||
|
||||
@@ -54,83 +54,85 @@ init script:
|
||||
italic: {""}
|
||||
]
|
||||
|
||||
two_types := { styling.second_land_type != "none" }
|
||||
|
||||
card_symbol :=
|
||||
{
|
||||
first := "symbol/" + type_to_letter_map[styling.land_type] + ".png"
|
||||
if not two_types() then first else (
|
||||
second := "symbol/" + type_to_letter_map[styling.second_land_type] + ".png"
|
||||
linear_blend(
|
||||
image1: first,
|
||||
image2: second,
|
||||
x1: 0.49, y1: 0,
|
||||
x2: 0.51, y2: 0
|
||||
))
|
||||
land_types := [["plains"], ["island"], ["swamp"], ["mountain"], ["forest"], ["wastes"]]
|
||||
land_type_of := {
|
||||
result := "none"
|
||||
option := if input == 2 then styling.second_land_type else styling.land_type
|
||||
if option == "auto" then (
|
||||
ar := break_text(card.sub_type, match:"<word-list-land>[^<]+</word-list-land>")
|
||||
given := if length(ar) >= input then to_lower(remove_tags(ar[input-1])) else "none"
|
||||
if input == 1 and position(of:[to_lower(card.name)], in:land_types) >= 0 then result := to_lower(card.name)
|
||||
else if include_types and position(of:[given], in:land_types) >= 0 then result := given
|
||||
)
|
||||
else result := option
|
||||
result
|
||||
}@(include_types:true)
|
||||
land_type_1 := { land_type_of(1, include_types:include_types) }@(include_types:true)
|
||||
land_type_2 := { land_type_of(2, include_types:include_types) }@(include_types:true)
|
||||
land_type_count := {
|
||||
count := 0
|
||||
lt1 := land_type_1()
|
||||
lt2 := land_type_2()
|
||||
if lt1 != "none" then count := count + 1
|
||||
if lt2 != "none" and lt2 != lt1 then count := count + 1
|
||||
count
|
||||
}
|
||||
no_types := { land_type_count() == 0 }
|
||||
two_types := { land_type_count() == 2 }
|
||||
|
||||
card_full_name := { value }
|
||||
card_full_name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] }
|
||||
name_default := { type_to_name_map[styling.land_type + "," + styling.second_land_type] }
|
||||
modified_color := {
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
|
||||
super_type_filter_default := { (if two_types() then "" else "Basic ") + "Land" }
|
||||
if t3 == "none"
|
||||
then card.card_color ## double none, revert to real card color
|
||||
else if t1 == "none" or t2 == "none"
|
||||
then type_to_word_map[t3] ## single none, use that
|
||||
else (
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
c3 := if c1 == "colorless" then c2 else c1
|
||||
if c3 == "colorless"
|
||||
then "colorless" ## double colorless, use that
|
||||
else if c1 == "colorless" or c2 == "colorless" or c1 == c2
|
||||
then c3 ## color + colorless or double color, use the color
|
||||
else ( ## combine colors, multi, reverse if needed
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
"{c1}, {c2}, multicolor, horizontal" + (if not normal_order then ", reversed" else "")
|
||||
)
|
||||
)
|
||||
}
|
||||
normal_order_map := [
|
||||
"white,blue": true,
|
||||
"white,black": true,
|
||||
"blue,black": true,
|
||||
"blue,red": true,
|
||||
"black,red": true,
|
||||
"black,green": true,
|
||||
"red,green": true,
|
||||
"red,white": true,
|
||||
"green,white": true,
|
||||
"green,blue": true
|
||||
]
|
||||
super_type_filter_default := {
|
||||
if two_types() then "Land" else "Basic Land"
|
||||
}
|
||||
sub_type_filter_default :=
|
||||
{
|
||||
base := to_title(styling.land_type) + (if two_types() then " " + to_title(styling.second_land_type) else "")
|
||||
if base == "Wastes" then "" else base
|
||||
t1 := land_type_1(include_types:false)
|
||||
t2 := land_type_2(include_types:false)
|
||||
if t1 == "wastes" or t1 == "none" then t1 := ""
|
||||
if t2 == "wastes" or t2 == "none" then t2 := ""
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
|
||||
lower_type := if normal_order then t1 + (if t1 != "" then " " else "") + t2
|
||||
else t2 + (if t2 != "" then " " else "") + t1
|
||||
to_title(lower_type)
|
||||
}
|
||||
|
||||
type_to_name_map :=
|
||||
[
|
||||
"plains,none": "Plains",
|
||||
"island,none": "Island",
|
||||
"swamp,none": "Swamp",
|
||||
"mountain,none": "Mountain",
|
||||
"forest,none": "Forest",
|
||||
"wastes,none": "Wastes",
|
||||
|
||||
"plains,wastes": "Wasted Plains",
|
||||
"island,wastes": "Wasted Island",
|
||||
"swamp,wastes": "Wasted Swamp",
|
||||
"mountain,wastes": "Wasted Mountain",
|
||||
"forest,wastes": "Wasted Forest",
|
||||
"wastes,wastes": "Wastes",
|
||||
|
||||
"plains,plains": "Plains",
|
||||
"island,plains": "Tundra",
|
||||
"swamp,plains": "Scrubland",
|
||||
"mountain,plains": "Plateau",
|
||||
"forest,plains": "Savannah",
|
||||
"wastes,plains": "Wasted Plains",
|
||||
|
||||
"plains,island": "Tundra",
|
||||
"island,island": "Island",
|
||||
"swamp,island": "Underground Sea",
|
||||
"mountain,island": "Volcanic Island",
|
||||
"forest,island": "Tropical Island",
|
||||
"wastes,island": "Wasted Island",
|
||||
|
||||
"plains,swamp": "Scrubland",
|
||||
"island,swamp": "Underground Sea",
|
||||
"swamp,swamp": "Swamp",
|
||||
"mountain,swamp": "Badlands",
|
||||
"forest,swamp": "Bayou",
|
||||
"wastes,swamp": "Wasted Swamp",
|
||||
|
||||
"plains,mountain": "Plateau",
|
||||
"island,mountain": "Volcanic Island",
|
||||
"swamp,mountain": "Badlands",
|
||||
"mountain,mountain": "Mountain",
|
||||
"forest,mountain": "Taiga",
|
||||
"wastes,mountain": "Wasted Mountain",
|
||||
|
||||
"plains,forest": "Savannah",
|
||||
"island,forest": "Tropical Island",
|
||||
"swamp,forest": "Bayou",
|
||||
"mountain,forest": "Taiga",
|
||||
"forest,forest": "Forest",
|
||||
"wastes,forest": "Wasted Forest"
|
||||
]
|
||||
type_to_letter_map :=
|
||||
[
|
||||
plains: "w",
|
||||
@@ -141,16 +143,31 @@ init script:
|
||||
wastes: "c",
|
||||
none: "none"
|
||||
]
|
||||
type_to_color_map :=
|
||||
[
|
||||
plains: ", white",
|
||||
island: ", blue",
|
||||
swamp: ", black",
|
||||
mountain: ", red",
|
||||
forest: ", green",
|
||||
wastes: "",
|
||||
none: ", none"
|
||||
type_to_word_map := [
|
||||
plains: "white",
|
||||
island: "blue",
|
||||
swamp: "black",
|
||||
mountain: "red",
|
||||
forest: "green",
|
||||
wastes: "colorless",
|
||||
none: "",
|
||||
"": ""
|
||||
]
|
||||
card_symbol :=
|
||||
{
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
if t1 != "none" and t2 != "none" then linear_blend(
|
||||
image1: "symbol/" + type_to_letter_map[t1] + ".png",
|
||||
image2: "symbol/" + type_to_letter_map[t2] + ".png",
|
||||
x1: 0.49, y1: 0,
|
||||
x2: 0.51, y2: 0
|
||||
)
|
||||
else if t3 == "none" then ""
|
||||
else "symbol/" + type_to_letter_map[t3] + ".png"
|
||||
}
|
||||
|
||||
|
||||
is_promo := { styling.promo }
|
||||
|
||||
@@ -169,19 +186,8 @@ styling field:
|
||||
type: choice
|
||||
name: land type
|
||||
description: What type is this card?
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
initial: plains
|
||||
styling field:
|
||||
type: choice
|
||||
name: second land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: none
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
@@ -189,7 +195,23 @@ styling field:
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
initial: none
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: choice
|
||||
name: second land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: text
|
||||
name: popout art coordinates
|
||||
@@ -312,21 +334,22 @@ extra card style:
|
||||
mask: { if card.card_stamp == "universes beyond" then "mask_stamp_background_border_triangle.png" else "mask_stamp_background_border.png" }
|
||||
first type:
|
||||
left: 101
|
||||
top: { if two_types() and styling.second_land_type != "wastes" then 735 else 840 }
|
||||
top: { if two_types() and land_type_2() != "wastes" then 735 else 840 }
|
||||
width: 543
|
||||
height: 100
|
||||
z index: 3000
|
||||
render style: image
|
||||
image: { "type/" + type_to_letter_map[styling.land_type] + ".png" }
|
||||
visible: { land_type_1() != "none" }
|
||||
image: { "type/" + type_to_letter_map[land_type_1()] + ".png" }
|
||||
second type:
|
||||
left: 101
|
||||
top: 840
|
||||
width: 543
|
||||
height: 100
|
||||
z index: 3000
|
||||
visible: { two_types() }
|
||||
visible: { land_type_2() != "none" }
|
||||
render style: image
|
||||
image: { "type/" + type_to_letter_map[styling.second_land_type] + ".png" }
|
||||
image: { "type/" + type_to_letter_map[land_type_2()] + ".png" }
|
||||
symbol:
|
||||
left: 175
|
||||
top: 255
|
||||
|
||||
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/a.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/b.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/c.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/g.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/m.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/r.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/u.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card/w.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/card_mask.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/image_mask.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/a.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/b.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/c.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/g.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/m.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/r.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/u.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/stamp/w.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
418
data/magic-m15-unfinity-full-art-basics.mse-style/style
Normal file
@@ -0,0 +1,418 @@
|
||||
mse version: 2.1.2
|
||||
game: magic
|
||||
short name: UNF Basics
|
||||
full name: Unfinity Full Art
|
||||
icon: card_sample.png
|
||||
position hint: 099
|
||||
|
||||
version: 2024-05-20
|
||||
depends on:
|
||||
package: magic.mse-game
|
||||
version: 2014-06-25
|
||||
depends on:
|
||||
package: magic-mana-large.mse-symbol-font
|
||||
version: 2007-09-23
|
||||
depends on:
|
||||
package: magic-mana-small.mse-symbol-font
|
||||
version: 2007-09-23
|
||||
depends on:
|
||||
package: magic-modules.mse-include
|
||||
version: 2024-10-01
|
||||
depends on:
|
||||
package: magic-mainframe-extras.mse-include
|
||||
version: 2007-09-23
|
||||
|
||||
card width: 744
|
||||
card height: 1039
|
||||
card dpi: 297
|
||||
|
||||
### blanks by GenevensiS
|
||||
### code by GenevensiS
|
||||
|
||||
############################################################## Extra scripts
|
||||
|
||||
init script:
|
||||
typeline_disabled_1 := { styling.hide_type_text }
|
||||
swap_fonts_type_default :=
|
||||
[
|
||||
name: {"Beleren Bold"},
|
||||
size: {26.5},
|
||||
color: { if styling.hide_type_text then rgba(0,0,0,0) else rgb(0,0,0) },
|
||||
vertical: {0},
|
||||
italic: {""}
|
||||
]
|
||||
|
||||
nameline_offset_top_1 := { 1 }
|
||||
casting_cost_offset_top_1 := { 1 }
|
||||
transform_symbol_disabled_1 := { true }
|
||||
card_symbol_disabled_1 := { true }
|
||||
swap_fonts_name_default :=
|
||||
[
|
||||
name: {"Beleren Bold"},
|
||||
size: {30.0},
|
||||
color: {"white"},
|
||||
vertical: {0},
|
||||
italic: {""}
|
||||
]
|
||||
|
||||
land_types := [["plains"], ["island"], ["swamp"], ["mountain"], ["forest"], ["wastes"]]
|
||||
land_type_of := {
|
||||
result := "none"
|
||||
option := if input == 2 then styling.second_land_type else styling.land_type
|
||||
if option == "auto" then (
|
||||
ar := break_text(card.sub_type, match:"<word-list-land>[^<]+</word-list-land>")
|
||||
given := if length(ar) >= input then to_lower(remove_tags(ar[input-1])) else "none"
|
||||
if input == 1 and position(of:[to_lower(card.name)], in:land_types) >= 0 then result := to_lower(card.name)
|
||||
else if include_types and position(of:[given], in:land_types) >= 0 then result := given
|
||||
)
|
||||
else result := option
|
||||
result
|
||||
}@(include_types:true)
|
||||
land_type_1 := { land_type_of(1, include_types:include_types) }@(include_types:true)
|
||||
land_type_2 := { land_type_of(2, include_types:include_types) }@(include_types:true)
|
||||
land_type_count := {
|
||||
count := 0
|
||||
lt1 := land_type_1()
|
||||
lt2 := land_type_2()
|
||||
if lt1 != "none" then count := count + 1
|
||||
if lt2 != "none" and lt2 != lt1 then count := count + 1
|
||||
count
|
||||
}
|
||||
no_types := { land_type_count() == 0 }
|
||||
two_types := { land_type_count() == 2 }
|
||||
|
||||
modified_color := {
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
|
||||
if t3 == "none"
|
||||
then card.card_color ## double none, revert to real card color
|
||||
else if t1 == "none" or t2 == "none"
|
||||
then type_to_word_map[t3] ## single none, use that
|
||||
else (
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
c3 := if c1 == "colorless" then c2 else c1
|
||||
if c3 == "colorless"
|
||||
then "colorless" ## double colorless, use that
|
||||
else if c1 == "colorless" or c2 == "colorless" or c1 == c2
|
||||
then c3 ## color + colorless or double color, use the color
|
||||
else ( ## combine colors, multi, reverse if needed
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
"{c1}, {c2}, multicolor, horizontal" + (if not normal_order then ", reversed" else "")
|
||||
)
|
||||
)
|
||||
}
|
||||
normal_order_map := [
|
||||
"white,blue": true,
|
||||
"white,black": true,
|
||||
"blue,black": true,
|
||||
"blue,red": true,
|
||||
"black,red": true,
|
||||
"black,green": true,
|
||||
"red,green": true,
|
||||
"red,white": true,
|
||||
"green,white": true,
|
||||
"green,blue": true
|
||||
]
|
||||
|
||||
template := { type + "/" + input + ".png" }
|
||||
land_template := { type + "/" + (if input == "a" then "c" else input) + ".png" }
|
||||
|
||||
card_background := { color_background(input: modified_color(), type: "card", base_hybrid: card_hybrid, multicolor_blend: "white", hybrid_blend: "white", artifact_blend: "white") }
|
||||
card_stamp := { color_background(input: modified_color(), type: "stamp", base_hybrid: card_hybrid, multicolor_blend: "white", hybrid_blend: "white", artifact_blend: "white") }
|
||||
card_symbol :=
|
||||
{
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
t3 := if t1 == "none" then t2 else t1
|
||||
if t1 != "none" and t2 != "none" then linear_blend(
|
||||
image1: "symbol/" + type_to_letter_map[t1] + ".png",
|
||||
image2: "symbol/" + type_to_letter_map[t2] + ".png",
|
||||
x1: 0.50, y1: 0,
|
||||
x2: 0.51, y2: 0
|
||||
)
|
||||
else "symbol/" + type_to_letter_map[t3] + ".png"
|
||||
}
|
||||
|
||||
super_type_filter_default := {
|
||||
if two_types() then "Land" else "Basic Land"
|
||||
}
|
||||
sub_type_filter_default :=
|
||||
{
|
||||
t1 := land_type_1(include_types:false)
|
||||
t2 := land_type_2(include_types:false)
|
||||
if t1 == "wastes" or t1 == "none" then t1 := ""
|
||||
if t2 == "wastes" or t2 == "none" then t2 := ""
|
||||
c1 := type_to_word_map[t1]
|
||||
c2 := type_to_word_map[t2]
|
||||
normal_order := normal_order_map["{c1},{c2}"] or else false
|
||||
|
||||
lower_type := if normal_order then t1 + (if t1 != "" then " " else "") + t2
|
||||
else t2 + (if t2 != "" then " " else "") + t1
|
||||
to_title(lower_type)
|
||||
}
|
||||
|
||||
type_to_letter_map :=
|
||||
[
|
||||
plains: "w",
|
||||
island: "u",
|
||||
swamp: "b",
|
||||
mountain: "r",
|
||||
forest: "g",
|
||||
wastes: "c",
|
||||
none: "none"
|
||||
]
|
||||
type_to_word_map := [
|
||||
plains: "white",
|
||||
island: "blue",
|
||||
swamp: "black",
|
||||
mountain: "red",
|
||||
forest: "green",
|
||||
wastes: "colorless",
|
||||
none: "",
|
||||
"": ""
|
||||
]
|
||||
|
||||
is_promo := { styling.promo }
|
||||
|
||||
is_unsorted := { styling.remove_from_autocount }
|
||||
|
||||
popout_left := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.0 != "" then clamp(split.0, minimum: -500, maximum: 800) else 0 }
|
||||
popout_top := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.1 != "" then clamp(split.1, minimum: -500, maximum: 1100) else 0 }
|
||||
popout_width := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.2 != "" then clamp(split.2, minimum: 0, maximum: 1500) else 0 }
|
||||
popout_height := { split := split_comma(styling.popout_art_coordinates); if length(split) > 3 and split.3 != "" then clamp(split.3, minimum: 0, maximum: 2000) else 0 }
|
||||
|
||||
art_left := { 0 }
|
||||
art_top := { 0 }
|
||||
art_width := { stylesheet.card_width }
|
||||
art_height := { if styling.stretch_art_to_whole_card then stylesheet.card_height + 1 else 955 }
|
||||
|
||||
art_mask :=
|
||||
{
|
||||
t1 := land_type_1()
|
||||
t2 := land_type_2()
|
||||
base := if t1 == "none" and t2 == "none" then "image_mask.png" else "image_mask_symbol.png"
|
||||
crop(base, offset_x: art_left(), offset_y: art_top(), width: art_width(), height: art_height())
|
||||
}
|
||||
|
||||
############################################################## Extra style options
|
||||
|
||||
styling field:
|
||||
type: choice
|
||||
name: land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: choice
|
||||
name: second land type
|
||||
description: What type is this card?
|
||||
choice:
|
||||
name: auto
|
||||
line below: true
|
||||
choice: plains
|
||||
choice: island
|
||||
choice: swamp
|
||||
choice: mountain
|
||||
choice: forest
|
||||
choice: wastes
|
||||
choice: none
|
||||
initial: auto
|
||||
styling field:
|
||||
type: text
|
||||
name: popout art coordinates
|
||||
description: The coordinates for the popout image field. Formatted as "left,top,width,height". Used to make the illustration jump in front of the frame.
|
||||
styling field:
|
||||
type: boolean
|
||||
name: stretch art to whole card
|
||||
description: Make the image span the whole card instead of just the visible part? Use this to help make popout effects.
|
||||
initial: no
|
||||
styling field:
|
||||
type: text
|
||||
name: namebox opacity percentage
|
||||
description: Set the opacity percentage for the namebox. Opaque is 100, transparent is 0, default is 80.
|
||||
styling field:
|
||||
type: boolean
|
||||
name: hide type text
|
||||
description: Make the typeline visible to edit it, then turn it back invisible.
|
||||
initial: yes
|
||||
|
||||
styling field:
|
||||
type: package choice
|
||||
name: overlay
|
||||
description: Should there be an overlay applied, such as foil?
|
||||
match: magic-overlay-*.mse-include
|
||||
required: false
|
||||
|
||||
include file: /magic-modules.mse-include/information/styling_fields
|
||||
|
||||
############################################################## Card fields
|
||||
|
||||
include file: /magic-modules.mse-include/information/card_fields
|
||||
|
||||
include file: /magic-modules.mse-include/stamps/card_fields
|
||||
|
||||
include file: /magic-modules.mse-include/corners/card_fields
|
||||
|
||||
include file: /magic-modules.mse-include/namelines/card_fields
|
||||
|
||||
include file: /magic-modules.mse-include/typelines/card_fields
|
||||
|
||||
card style:
|
||||
############################# Background stuff
|
||||
border color:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 100
|
||||
mask: border_mask.png
|
||||
card color:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 210
|
||||
popup style: in place
|
||||
render style: image
|
||||
image: { card_background() }
|
||||
mask: card_mask.png
|
||||
############################# Image
|
||||
image:
|
||||
left: { art_left() }
|
||||
top: { art_top() }
|
||||
width: { art_width() }
|
||||
bottom: { art_height() }
|
||||
z index: 0
|
||||
mask: { art_mask() }
|
||||
mainframe image:
|
||||
left: { popout_left() }
|
||||
top: { popout_top() }
|
||||
width: { popout_width() }
|
||||
height: { popout_height() }
|
||||
z index: 1010
|
||||
|
||||
############################################################## Extra card fields
|
||||
|
||||
extra card field:
|
||||
type: choice
|
||||
name: card stamp rim
|
||||
editable: false
|
||||
save value: false
|
||||
show statistics: false
|
||||
choice: card stamp rim
|
||||
extra card field:
|
||||
type: color
|
||||
name: card stamp border
|
||||
script: card.border_color
|
||||
editable: false
|
||||
save value: false
|
||||
show statistics: false
|
||||
extra card field:
|
||||
type: color
|
||||
name: namebox border
|
||||
script: card.border_color
|
||||
editable: false
|
||||
save value: false
|
||||
show statistics: false
|
||||
extra card field:
|
||||
type: choice
|
||||
name: namebox background
|
||||
editable: false
|
||||
save value: false
|
||||
show statistics: false
|
||||
choice: namebox background
|
||||
extra card field:
|
||||
type: choice
|
||||
name: namebox shadow
|
||||
editable: false
|
||||
save value: false
|
||||
show statistics: false
|
||||
choice: namebox shadow
|
||||
extra card field:
|
||||
type: choice
|
||||
name: symbol
|
||||
editable: false
|
||||
save value: false
|
||||
show statistics: false
|
||||
choice: symbol
|
||||
extra card field:
|
||||
type: choice
|
||||
name: foil layer
|
||||
editable: false
|
||||
save value: false
|
||||
show statistics: false
|
||||
choice: foil layer
|
||||
|
||||
extra card style:
|
||||
card stamp rim:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 230
|
||||
visible: { is_stamped() }
|
||||
render style: image
|
||||
image: { card_stamp() }
|
||||
card stamp border:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 220
|
||||
visible: { is_stamped() }
|
||||
mask: border_mask_stamp.png
|
||||
namebox border:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 220
|
||||
mask: border_mask_namebox.png
|
||||
namebox background:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 110
|
||||
popup style: in place
|
||||
render style: image
|
||||
image: { set_alpha("namebox_background.png", alpha: get_alpha_percentage(styling.namebox_opacity_percentage, default: 80)) }
|
||||
namebox shadow:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 100
|
||||
popup style: in place
|
||||
render style: image
|
||||
image: namebox_shadow.png
|
||||
symbol:
|
||||
left: 129
|
||||
top: 732
|
||||
width: 486
|
||||
height: 186
|
||||
z index: 3000
|
||||
visible: { not no_types() }
|
||||
render style: image
|
||||
image: { card_symbol() }
|
||||
foil layer:
|
||||
left: 0
|
||||
top: 0
|
||||
width: { stylesheet.card_width }
|
||||
height: { stylesheet.card_height }
|
||||
z index: 1050
|
||||
visible: { styling.overlay != "none" and styling.overlay != "" }
|
||||
render style: image
|
||||
image: { if styling.overlay == "" then "" else styling.overlay + "/overlay.png" }
|
||||
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/symbol/b.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/symbol/c.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/symbol/g.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/symbol/r.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/symbol/u.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
data/magic-m15-unfinity-full-art-basics.mse-style/symbol/w.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
@@ -33,7 +33,7 @@ include file: language
|
||||
include file: statistics_script
|
||||
include file: /magic-blends.mse-include/new-blends
|
||||
############################################################## Versioning
|
||||
version_date := {"2025-02-01 Template Pack 3.1.a: Mainframe Battles"}
|
||||
version_date := {"2025-02-01 Template Pack 3.1.b: Mainframe Battles - Full Art Basics"}
|
||||
version := version_date
|
||||
############################################################## Common filters
|
||||
############################################################## Utility
|
||||
|
||||