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
@@ -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] }
|
||||
|
||||
super_type_filter_default := { (if two_types() then "" else "Basic ") + "Land" }
|
||||
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
|
||||
]
|
||||
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] }
|
||||
|
||||
super_type_filter_default := { (if two_types() then "" else "Basic ") + "Land" }
|
||||
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
|
||||
]
|
||||
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,17 +166,34 @@ 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 }
|
||||
|
||||
is_unsorted := { styling.remove_from_autocount }
|
||||
@@ -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] }
|
||||
|
||||
super_type_filter_default := { (if two_types() then "" else "Basic ") + "Land" }
|
||||
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
|
||||
]
|
||||
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
|
||||
|
||||