Initial commit
BIN
data/magic-m15-extra.mse-style/acard.jpg
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
data/magic-m15-extra.mse-style/aidentity.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
data/magic-m15-extra.mse-style/alchemy_watermark.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
data/magic-m15-extra.mse-style/apt.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
data/magic-m15-extra.mse-style/artifact_blend_card.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
data/magic-m15-extra.mse-style/artifact_blend_identity.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
data/magic-m15-extra.mse-style/artifact_blend_pt.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
data/magic-m15-extra.mse-style/artifact_blend_stamp.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
data/magic-m15-extra.mse-style/artist_arrow.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
data/magic-m15-extra.mse-style/astamp.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
data/magic-m15-extra.mse-style/bcard.jpg
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
data/magic-m15-extra.mse-style/bidentity.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
data/magic-m15-extra.mse-style/blcard.jpg
Normal file
|
After Width: | Height: | Size: 76 KiB |
990
data/magic-m15-extra.mse-style/blends_scripts
Normal file
@@ -0,0 +1,990 @@
|
||||
# Scripts for blending images
|
||||
# Included by a style file in its init script
|
||||
|
||||
########################################################################
|
||||
# Filenames and other defaults
|
||||
########################################################################
|
||||
|
||||
########################################################################
|
||||
# Combining multiple colors (hybrids)
|
||||
########################################################################
|
||||
# This script has been expanded to handle more color choices.
|
||||
horizontal_card_hybrid := [
|
||||
1: { template(colors[0]) }
|
||||
2: card_hybrid_2
|
||||
3: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 0.22, y1: 0
|
||||
x2: 0.4, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 0.6, y1: 0
|
||||
x2: 0.78, y2: 0
|
||||
image2: template(colors[2])
|
||||
))}
|
||||
4: {linear_blend(
|
||||
# blend = 0.16
|
||||
image1: template(colors[0])
|
||||
x1: 0.15, y1: 0
|
||||
x2: 0.31, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 0.42, y1: 0
|
||||
x2: 0.58, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 0.69, y1: 0
|
||||
x2: 0.85, y2: 0
|
||||
image2: template(colors[3])
|
||||
)))}
|
||||
5: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 2.0 / 15, y1: 0
|
||||
x2: 4.0 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 5.0 / 15, y1: 0
|
||||
x2: 7.0 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 8.0 / 15, y1: 0
|
||||
x2: 10.0 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[3])
|
||||
x1: 11.0 / 15, y1: 0
|
||||
x2: 13.0 / 15, y2: 0
|
||||
image2: template(colors[4])
|
||||
))))}
|
||||
6: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 1.5 / 15, y1: 0
|
||||
x2: 3.1 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 4.1 / 15, y1: 0
|
||||
x2: 5.7 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 6.7 / 15, y1: 0
|
||||
x2: 8.3 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[3])
|
||||
x1: 9.3 / 15, y1: 0
|
||||
x2: 10.9 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[4])
|
||||
x1: 11.9 / 15, y1: 0
|
||||
x2: 13.5 / 15, y2: 0
|
||||
image2: template(colors[5])
|
||||
)))))}
|
||||
7: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 1.3 / 15, y1: 0
|
||||
x2: 2.7 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 3.5 / 15, y1: 0
|
||||
x2: 4.9 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 5.7 / 15, y1: 0
|
||||
x2: 7.1 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[3])
|
||||
x1: 7.9 / 15, y1: 0
|
||||
x2: 9.3 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[4])
|
||||
x1: 10.1 / 15, y1: 0
|
||||
x2: 11.5 / 15, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[5])
|
||||
x1: 12.3 / 15, y1: 0
|
||||
x2: 13.7 / 15, y2: 0
|
||||
image2: template(colors[6])
|
||||
))))))}
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
|
||||
# This script doesn't exist in magic-blends.
|
||||
diagonal_card_hybrid := [
|
||||
1: { template(colors[0]) }
|
||||
2: {linear_blend(
|
||||
image1: template(colors[0]),
|
||||
image2: template(colors[1]),
|
||||
x1: 0.40, y1: 0.50
|
||||
x2: 0.60, y2: 0.60
|
||||
)}
|
||||
3: {linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: template(colors[0]),
|
||||
image2: template(colors[1]),
|
||||
x1: 0.15, y1: 0.50
|
||||
x2: 0.35, y2: 0.60),
|
||||
image2: template(colors[2]),
|
||||
x1: 0.65, y1: 0.50
|
||||
x2: 0.85, y2: 0.60
|
||||
)}
|
||||
4: { linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: template(colors[0]),
|
||||
image2: template(colors[1]),
|
||||
x1: -0.10, y1: 0.50
|
||||
x2: 0.10, y2: 0.60),
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2]),
|
||||
image2: template(colors[3]),
|
||||
x1: 0.90, y1: 0.50
|
||||
x2: 1.10, y2: 0.60),
|
||||
x1: 0.40, y1: 0.50
|
||||
x2: 0.60, y2: 0.60
|
||||
)}
|
||||
5: {linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: template(colors[0]),
|
||||
image2: template(colors[1]),
|
||||
x1: -0.20, y1: 0.50
|
||||
x2: 0.00, y2: 0.60),
|
||||
image2: template(colors[2]),
|
||||
x1: 0.15, y1: 0.50
|
||||
x2: 0.35, y2: 0.60),
|
||||
image2: template(colors[3]),
|
||||
x1: 0.65, y1: 0.50
|
||||
x2: 0.85, y2: 0.60),
|
||||
image2: template(colors[4]),
|
||||
x1: 1.00, y1: 0.50
|
||||
x2: 1.20, y2: 0.60
|
||||
)}
|
||||
6: {linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: template(colors[0]),
|
||||
image2: template(colors[1]),
|
||||
x1: -0.30, y1: 0.50
|
||||
x2: -0.10, y2: 0.60),
|
||||
image2: template(colors[2]),
|
||||
x1: 0.10, y1: 0.50
|
||||
x2: 0.20, y2: 0.60),
|
||||
image2: template(colors[3]),
|
||||
x1: 0.40, y1: 0.50
|
||||
x2: 0.60, y2: 0.60),
|
||||
image2: template(colors[4]),
|
||||
x1: 0.70, y1: 0.50
|
||||
x2: 0.90, y2: 0.60),
|
||||
image2: template(colors[5]),
|
||||
x1: 1.10, y1: 0.50
|
||||
x2: 1.30, y2: 0.60
|
||||
)}
|
||||
7: { template("m") }
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
|
||||
card_hybrid := [
|
||||
radial: [
|
||||
0: { template("c") }
|
||||
1: { template(colors[0]) }
|
||||
2: card_hybrid_2
|
||||
3: {linear_blend(
|
||||
image1: card_hybrid_2(colors: colors[0] + colors[1]),
|
||||
image2: template(colors[2]),
|
||||
x1: 0, y1: 0.55
|
||||
x2: 0, y2: 0.77
|
||||
)}
|
||||
4: {linear_blend(
|
||||
image1: card_hybrid_2(colors: colors[0] + colors[1])
|
||||
image2: card_hybrid_2(colors: colors[3] + colors[2])
|
||||
x1: 0, y1: 0.4
|
||||
x2: 0, y2: 0.62
|
||||
)}
|
||||
5: {linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: card_hybrid_2(colors: colors[0] + colors[1]),
|
||||
image2: card_hybrid_2(colors: colors[4] + colors[2]),
|
||||
x1: 0, y1: 0.19
|
||||
x2: 0, y2: 0.35
|
||||
),
|
||||
image2: template(colors[3]),
|
||||
x1: 0, y1: 0.777
|
||||
x2: 0, y2: 0.937
|
||||
)}
|
||||
6: {linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: card_hybrid_2(colors: colors[0] + colors[1]),
|
||||
image2: card_hybrid_2(colors: colors[5] + colors[2]),
|
||||
x1: 0, y1: 0.19
|
||||
x2: 0, y2: 0.35
|
||||
),
|
||||
image2: card_hybrid_2(colors: colors[4] + colors[3]),
|
||||
x1: 0, y1: 0.777
|
||||
x2: 0, y2: 0.937
|
||||
)}
|
||||
7: {linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: card_hybrid_2(colors: colors[0] + colors[1]),
|
||||
image2: card_hybrid_2(colors: colors[6] + colors[3]),
|
||||
x1: 0, y1: 0.34
|
||||
x2: 0, y2: 0.50
|
||||
),
|
||||
image2: card_hybrid_2(colors: colors[5] + colors[3]),
|
||||
x1: 0, y1: 0.877
|
||||
x2: 0, y2: 0.937
|
||||
),
|
||||
image2: template(colors[4]),
|
||||
x1: 0, y1: 1.140
|
||||
x2: 0, y2: 1.300
|
||||
)}
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
horizontal: horizontal_card_hybrid
|
||||
diagonal: diagonal_card_hybrid
|
||||
vertical: [
|
||||
1: { template(colors[0]) }
|
||||
2: { linear_blend(
|
||||
image1: template(colors[0])
|
||||
image2: template(colors[1])
|
||||
x1: 0, y1: 0.4
|
||||
x2: 0, y2: 0.6
|
||||
)}
|
||||
3: vertical_card_hybrid
|
||||
4: vertical_card_hybrid
|
||||
5: vertical_card_hybrid
|
||||
6: vertical_card_hybrid
|
||||
7: vertical_card_hybrid
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
overlay: overlay_hybrid
|
||||
]
|
||||
|
||||
########################################################################
|
||||
# P/T box
|
||||
########################################################################
|
||||
# These are easier
|
||||
# This script has been expanded to handle more color choices.
|
||||
horizontal_pt_hybrid := [
|
||||
1: { template(colors[0]) }
|
||||
2: { template(colors[1]) }
|
||||
3: { linear_blend(
|
||||
image1: template(colors[1])
|
||||
image2: template(colors[2])
|
||||
x1: -0.51, y1: 0
|
||||
x2: 0.26, y2: 0
|
||||
)}
|
||||
4: { linear_blend(
|
||||
image1: template(colors[2])
|
||||
image2: template(colors[3])
|
||||
x1: -0.1, y1: 0
|
||||
x2: 0.6, y2: 0
|
||||
)}
|
||||
5: { linear_blend(
|
||||
image1: template(colors[3])
|
||||
image2: template(colors[4])
|
||||
x1: 0.08, y1: 0
|
||||
x2: 0.65, y2: 0
|
||||
)}
|
||||
6: { linear_blend(
|
||||
image1: template(colors[4])
|
||||
image2: template(colors[5])
|
||||
x1: 0.07, y1: 0
|
||||
x2: 0.7, y2: 0
|
||||
)}
|
||||
7: {linear_blend(
|
||||
image1: linear_blend(
|
||||
image1: template(colors[4]),
|
||||
image2: template(colors[5]),
|
||||
x1: -0.2, y1: 0
|
||||
x2: 0.2, y2: 0
|
||||
),
|
||||
image2: template(colors[6]),
|
||||
x1: 0.5, y1: 0
|
||||
x2: 0.7, y2: 0
|
||||
)}
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
|
||||
# This script doesn't exist in magic-blends.
|
||||
diagonal_pt_hybrid := [
|
||||
1: { template(colors[0]) }
|
||||
2: { template(colors[1]) }
|
||||
3: { template(colors[2]) }
|
||||
4: { template(colors[3]) }
|
||||
5: { linear_blend(
|
||||
image1: template(colors[3]),
|
||||
image2: template(colors[4]),
|
||||
x1: -0.10, y1: 0.50
|
||||
x2: 0.10, y2: 0.60
|
||||
)}
|
||||
6: { linear_blend(
|
||||
image1: template(colors[4]),
|
||||
image2: template(colors[5]),
|
||||
x1: 0.10, y1: 0.50
|
||||
x2: 0.30, y2: 0.60
|
||||
)}
|
||||
7: { template("m") }
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
|
||||
pt_hybrid := [
|
||||
radial: [
|
||||
0: { template("c") }
|
||||
1: { template(colors[0]) }
|
||||
2: { template(colors[1]) }
|
||||
3: { template(colors[2]) }
|
||||
4: { template(colors[2]) }
|
||||
5: { linear_blend(
|
||||
image1: template(colors[2])
|
||||
image2: template(colors[3])
|
||||
x1: 0, y1: -1.5
|
||||
x2: 0, y2: 0.7
|
||||
)}
|
||||
6: { linear_blend(
|
||||
image1: template(colors[2])
|
||||
image2: template(colors[3])
|
||||
x1: 0, y1: -1.5
|
||||
x2: 0, y2: 0.7
|
||||
)}
|
||||
7: { template(colors[3]) }
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
horizontal: horizontal_pt_hybrid
|
||||
diagonal: diagonal_pt_hybrid
|
||||
vertical: [
|
||||
1: { template(colors[0]) }
|
||||
2: { template(colors[1]) }
|
||||
3: { template(colors[2]) }
|
||||
4: { template(colors[3]) }
|
||||
5: { template(colors[4]) }
|
||||
6: { template(colors[5]) }
|
||||
7: { template(colors[6]) }
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
overlay: overlay_hybrid
|
||||
]
|
||||
|
||||
########################################################################
|
||||
# P/T boxes of flip cards
|
||||
########################################################################
|
||||
#
|
||||
########################################################################
|
||||
# P/T boxes for leveler cards
|
||||
########################################################################
|
||||
#
|
||||
########################################################################
|
||||
# Textbox and typeline for FPM templates and Futureshifts
|
||||
########################################################################
|
||||
#
|
||||
########################################################################
|
||||
# Color Identity Marking
|
||||
########################################################################
|
||||
# This script has been expanded to handle more color choices.
|
||||
identity_horizontal_hybrid := [
|
||||
0: { template("c") }
|
||||
1: { template(colors[0]) }
|
||||
2: { linear_blend(
|
||||
image1: template(colors[0])
|
||||
image2: template(colors[1])
|
||||
x1: 0.49, y1: 0.49
|
||||
x2: 0.5, y2: 0.5
|
||||
)}
|
||||
3: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 0.39, y1: 0.39
|
||||
x2: 0.4, y2: 0.4
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 0.6, y1: 0.6
|
||||
x2: 0.61, y2: 0.61
|
||||
image2: template(colors[2])
|
||||
))}
|
||||
4: {linear_blend(
|
||||
# blend = 0.16
|
||||
image1: template(colors[0])
|
||||
x1: 0.29, y1: 0.29
|
||||
x2: 0.3, y2: 0.3
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 0.49, y1: 0.49
|
||||
x2: 0.50, y2: 0.5
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 0.69, y1: 0.69
|
||||
x2: 0.7, y2: 0.7
|
||||
image2: template(colors[3])
|
||||
)))}
|
||||
5: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 0.28, y1: 0.28
|
||||
x2: 0.29, y2: 0.29
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 0.42, y1: 0.42
|
||||
x2: 0.43, y2: 0.43
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 0.56, y1: 0.56
|
||||
x2: 0.57, y2: 0.57
|
||||
image2: linear_blend(
|
||||
image1: template(colors[3])
|
||||
x1: 0.7, y1: 0.7
|
||||
x2: 0.71, y2: 0.71
|
||||
image2: template(colors[4])
|
||||
))))}
|
||||
6: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 0.27, y1: 0.27
|
||||
x2: 0.28, y2: 0.28
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 0.38, y1: 0.38
|
||||
x2: 0.39, y2: 0.39
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 0.49, y1: 0.49
|
||||
x2: 0.50, y2: 0.50
|
||||
image2: linear_blend(
|
||||
image1: template(colors[3])
|
||||
x1: 0.60, y1: 0.60
|
||||
x2: 0.61, y2: 0.61
|
||||
image2: linear_blend(
|
||||
image1: template(colors[4])
|
||||
x1: 0.71, y1: 0.71
|
||||
x2: 0.72, y2: 0.72
|
||||
image2: template(colors[5])
|
||||
)))))}
|
||||
7: {linear_blend(
|
||||
image1: template(colors[0])
|
||||
x1: 0.27, y1: 0.27
|
||||
x2: 0.28, y2: 0.28
|
||||
image2: linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: 0.36, y1: 0.36
|
||||
x2: 0.37, y2: 0.37
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 0.45, y1: 0.45
|
||||
x2: 0.46, y2: 0.46
|
||||
image2: linear_blend(
|
||||
image1: template(colors[3])
|
||||
x1: 0.54, y1: 0.54
|
||||
x2: 0.55, y2: 0.55
|
||||
image2: linear_blend(
|
||||
image1: template(colors[4])
|
||||
x1: 0.63, y1: 0.63
|
||||
x2: 0.64, y2: 0.64
|
||||
image2: linear_blend(
|
||||
image1: template(colors[5])
|
||||
x1: 0.72, y1: 0.72
|
||||
x2: 0.73, y2: 0.73
|
||||
image2: template(colors[6])
|
||||
))))))}
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
|
||||
identity_hybrid := [
|
||||
radial: identity_horizontal_hybrid
|
||||
vertical: identity_horizontal_hybrid
|
||||
horizontal: identity_horizontal_hybrid
|
||||
overlay: identity_horizontal_hybrid
|
||||
diagonal: identity_horizontal_hybrid
|
||||
]
|
||||
|
||||
########################################################################
|
||||
# Promo Stamp
|
||||
########################################################################
|
||||
# These are easier
|
||||
|
||||
horizontal_stamp_hybrid := [
|
||||
1: { template(colors[0]) }
|
||||
2: { linear_blend(
|
||||
image1: template(colors[0])
|
||||
image2: template(colors[1])
|
||||
x1: -0.3, y1: 0
|
||||
x2: 1.3, y2: 0
|
||||
)}
|
||||
3: { template(colors[1]) }
|
||||
4: { linear_blend(
|
||||
image1: template(colors[1])
|
||||
image2: template(colors[2])
|
||||
x1: -0.3, y1: 0
|
||||
x2: 1.3, y2: 0
|
||||
)}
|
||||
5: {linear_blend(
|
||||
image1: template(colors[1])
|
||||
x1: -0.55, y1: 0
|
||||
x2: 0.2, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: 0.8, y1: 0
|
||||
x2: 1.55, y2: 0
|
||||
image2: template(colors[3])
|
||||
))}
|
||||
6: { linear_blend(
|
||||
image1: template(colors[2])
|
||||
image2: template(colors[3])
|
||||
x1: 0.1, y1: 0
|
||||
x2: 0.9, y2: 0
|
||||
)}
|
||||
7: {linear_blend(
|
||||
image1: template(colors[2])
|
||||
x1: -0.55, y1: 0
|
||||
x2: 0.2, y2: 0
|
||||
image2: linear_blend(
|
||||
image1: template(colors[3])
|
||||
x1: 0.8, y1: 0
|
||||
x2: 1.55, y2: 0
|
||||
image2: template(colors[4])
|
||||
))}
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
|
||||
# This script doesn't exist in magic-blends.
|
||||
diagonal_stamp_hybrid := [
|
||||
1: { template(colors[0]) }
|
||||
2: { template(colors[1]) }
|
||||
3: { template(colors[2]) }
|
||||
4: { template("m") }
|
||||
5: { template("m") }
|
||||
6: { template("m") }
|
||||
7: { template("m") }
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
|
||||
stamp_hybrid := [
|
||||
radial: [
|
||||
0: { template("c") }
|
||||
1: { template(colors[0]) }
|
||||
2: { linear_blend(
|
||||
image1: template(colors[0])
|
||||
image2: template(colors[1])
|
||||
x1: -0.3, y1: 0
|
||||
x2: 1.3, y2: 0
|
||||
)}
|
||||
3: { template(colors[2]) }
|
||||
4: { linear_blend(
|
||||
image1: template(colors[3])
|
||||
image2: template(colors[2])
|
||||
x1: -0.3, y1: 0
|
||||
x2: 1.3, y2: 0
|
||||
)}
|
||||
5: { template(colors[3]) }
|
||||
6: { linear_blend(
|
||||
image1: template(colors[4])
|
||||
image2: template(colors[3])
|
||||
x1: -0.3, y1: 0
|
||||
x2: 1.3, y2: 0
|
||||
)}
|
||||
7: { template(colors[4]) }
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
horizontal: horizontal_stamp_hybrid
|
||||
diagonal: diagonal_stamp_hybrid
|
||||
vertical: [
|
||||
1: { template(colors[0]) }
|
||||
2: { template(colors[1]) }
|
||||
3: { template(colors[2]) }
|
||||
4: { template(colors[3]) }
|
||||
5: { template(colors[4]) }
|
||||
6: { template(colors[5]) }
|
||||
7: { template(colors[6]) }
|
||||
8: { template("m") }
|
||||
9: { template("m") }
|
||||
10: { template("m") }
|
||||
11: { template("m") }
|
||||
12: { template("m") }
|
||||
]
|
||||
overlay: overlay_hybrid
|
||||
]
|
||||
|
||||
########################################################################
|
||||
# Putting it all together.
|
||||
########################################################################
|
||||
# Determine the card background based on the card_color multiple choice options
|
||||
color_background := {
|
||||
|
||||
# for thumbnails
|
||||
if input == "hybrid" then
|
||||
input := "white,blue,red,{hybrid_previews},horizontal"
|
||||
else if input == "overlay" then
|
||||
input := "blue,red,{hybrid_previews},overlay"
|
||||
else if input == "radial" or input == "horizontal" or input == "vertical" then
|
||||
input := "white,blue,red,{hybrid_previews}," + input
|
||||
else if input == "diagonal" then
|
||||
input := "white,black,{hybrid_previews},diagonal"
|
||||
else if input == "reversed" then
|
||||
input := "white,blue,red,{hybrid_previews},horizontal,reversed"
|
||||
|
||||
# What type of 'hybrid'?
|
||||
land := chosen(choice:"land")
|
||||
multi := chosen(choice:"multicolor")
|
||||
spectral := chosen(choice:"spectral")
|
||||
hybrid := chosen(choice:"hybrid")
|
||||
artifact := chosen(choice:"artifact")
|
||||
snow := chosen(choice:"snow")
|
||||
if land and colored_lands then template := land_template # use land template instead?
|
||||
|
||||
# The selected colors
|
||||
colors := sort_text( order: "(wubrg)(lpoek)"
|
||||
, (if chosen(choice:"white") then "w")
|
||||
+ (if chosen(choice:"blue") then "u")
|
||||
+ (if chosen(choice:"black") then "b")
|
||||
+ (if chosen(choice:"red") then "r")
|
||||
+ (if chosen(choice:"green") then "g")
|
||||
+ (if chosen(choice:"purple") then "p")
|
||||
+ (if chosen(choice:"pink") then "k"))
|
||||
if multi and (hybrid or colors == "") then (
|
||||
colors := colors + "m"
|
||||
multi := false
|
||||
)
|
||||
if spectral and (hybrid or colors == "") then (
|
||||
colors := colors + "t"
|
||||
multi := false
|
||||
)
|
||||
if artifact and (hybrid or colors == "") then (
|
||||
colors := colors + "a"
|
||||
artifact := false
|
||||
)
|
||||
if snow and (hybrid or colors == "") then (
|
||||
colors := colors + "s"
|
||||
snow := false
|
||||
)
|
||||
if chosen(choice:"reversed") then colors := reverse(colors)
|
||||
color_count := number_of_items(in: colors)
|
||||
if colors == "" then colors == "c"
|
||||
|
||||
# 'shape' / type of hybrid
|
||||
shape := if chosen(choice:"horizontal") then "horizontal"
|
||||
else if chosen(choice:"vertical") then "vertical"
|
||||
else if chosen(choice:"overlay") then "overlay"
|
||||
else if chosen(choice:"diagonal") then "diagonal"
|
||||
else "radial"
|
||||
|
||||
# Determine background (allows styles to hook something else here)
|
||||
color_combination()
|
||||
}
|
||||
|
||||
color_combination := {
|
||||
# The base hybrid, without the outer frame blended over it
|
||||
base := base_hybrid[shape][color_count]()
|
||||
|
||||
# Put a frame around it?
|
||||
# Frame Color Overrides
|
||||
if styling.outer_color != "default" or styling.trim_color != "default" or styling.inner_color != "default" then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: (if styling.outer_color == "default" then base
|
||||
else template(
|
||||
if styling.outer_color == "white" then "w"
|
||||
else if styling.outer_color == "blue" then "u"
|
||||
else if styling.outer_color == "black" then "b"
|
||||
else if styling.outer_color == "red" then "r"
|
||||
else if styling.outer_color == "green" then "g"
|
||||
else if styling.outer_color == "purple" then "p"
|
||||
else if styling.outer_color == "pink" then "k"
|
||||
else if styling.outer_color == "multicolor" then "m"
|
||||
else if styling.outer_color == "spectral" then "t"
|
||||
else if styling.outer_color == "artifact" then "a"
|
||||
else if styling.outer_color == "snow" then "s"
|
||||
else "c"
|
||||
)
|
||||
)
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png",
|
||||
dark: (if styling.inner_color == "default" then base
|
||||
else template(
|
||||
if styling.inner_color == "white" then "w"
|
||||
else if styling.inner_color == "blue" then "u"
|
||||
else if styling.inner_color == "black" then "b"
|
||||
else if styling.inner_color == "red" then "r"
|
||||
else if styling.inner_color == "green" then "g"
|
||||
else if styling.inner_color == "purple" then "p"
|
||||
else if styling.inner_color == "pink" then "k"
|
||||
else if styling.inner_color == "multicolor" then "m"
|
||||
else if styling.inner_color == "spectral" then "t"
|
||||
else if styling.inner_color == "artifact" then "a"
|
||||
else if styling.inner_color == "snow" then "s"
|
||||
else "c"
|
||||
)
|
||||
)
|
||||
light: (if styling.trim_color == "default" then base
|
||||
else template(
|
||||
if styling.trim_color == "white" then "w"
|
||||
else if styling.trim_color == "blue" then "u"
|
||||
else if styling.trim_color == "black" then "b"
|
||||
else if styling.trim_color == "red" then "r"
|
||||
else if styling.trim_color == "green" then "g"
|
||||
else if styling.trim_color == "purple" then "p"
|
||||
else if styling.trim_color == "pink" then "k"
|
||||
else if styling.trim_color == "multicolor" then "m"
|
||||
else if styling.trim_color == "spectral" then "t"
|
||||
else if styling.trim_color == "artifact" then "a"
|
||||
else if styling.trim_color == "snow" then "s"
|
||||
else "c"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
# Lesurgo's "Land-brid" Effect
|
||||
else if contains(styling.extras, match:"spell-land hybrid") and color_count == 1 then
|
||||
linear_blend(
|
||||
image1: base,
|
||||
image2: land_template(colors[0]),
|
||||
x1: 0.4, y1: 0
|
||||
x2: 0.6, y2: 0
|
||||
)
|
||||
# Circeus' Hybrid Effect
|
||||
else if contains(styling.extras, match:"colorless-colored hybrid") and not artifact and not multi and color_count == 1 then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: base
|
||||
light: linear_blend(
|
||||
image1: template("c"),
|
||||
image2: base,
|
||||
x1: 0.4, y1: 0
|
||||
x2: 0.6, y2: 0
|
||||
)
|
||||
)
|
||||
else if contains(styling.extras, match:"colorless-colored hybrid") and not artifact and (multi or color_count > 1) then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("m")
|
||||
light: linear_blend(
|
||||
image1: template("c"),
|
||||
image2: template("m"),
|
||||
x1: 0.4, y1: 0
|
||||
x2: 0.6, y2: 0
|
||||
)
|
||||
)
|
||||
# Circeus' Tinged Artifact Hybrid Effect
|
||||
else if contains(styling.extras, match:"tinged artifact hybrid") and artifact and not multi and color_count == 1 then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a")
|
||||
light: linear_blend(
|
||||
image1: template("a"),
|
||||
image2: template(colors[0]),
|
||||
x1: 0.4, y1: 0
|
||||
x2: 0.6, y2: 0
|
||||
)
|
||||
)
|
||||
else if contains(styling.extras, match:"tinged artifact hybrid") and artifact and (multi or color_count > 1) then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a")
|
||||
light: linear_blend(
|
||||
image1: template("a"),
|
||||
image2: template("m"),
|
||||
x1: 0.4, y1: 0
|
||||
x2: 0.6, y2: 0
|
||||
)
|
||||
)
|
||||
# Alpha Style Dual Lands
|
||||
else if type == "card" and land and color_count == 2 and shape != "overlay" and contains(styling.extras, match:"alpha style dual lands") then
|
||||
masked_blend(
|
||||
mask: "masks/alpha_blend.png",
|
||||
dark: land_template(colors[0]),
|
||||
light: land_template(colors[1]),
|
||||
)
|
||||
# Murmuring Bosk Effect
|
||||
else if land and multi and mask_multi_land_with_color() then
|
||||
masked_blend(
|
||||
mask: "hybrid_blend_{type}.png",
|
||||
dark: base,
|
||||
light: land_template("m"),
|
||||
)
|
||||
# Multicolored Snow Artifact Frame
|
||||
else if artifact and snow and multi then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png"
|
||||
dark: template("m"),
|
||||
light: template("s"),
|
||||
)
|
||||
)
|
||||
# Spectral Snow Artifact Frame
|
||||
else if artifact and snow and spectral then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png"
|
||||
dark: template("t"),
|
||||
light: template("s"),
|
||||
)
|
||||
)
|
||||
# Multicolored Artifact Frame
|
||||
else if artifact and multi then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png"
|
||||
dark: template("m"),
|
||||
light: base,
|
||||
)
|
||||
)
|
||||
# Spectral Artifact Frame
|
||||
else if artifact and spectral then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png"
|
||||
dark: template("t"),
|
||||
light: base,
|
||||
)
|
||||
)
|
||||
# Snow Artifact Frame
|
||||
else if artifact and snow then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png"
|
||||
dark: template("s"),
|
||||
light: base,
|
||||
)
|
||||
)
|
||||
# Multicolored Snow Frame
|
||||
else if snow and multi then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("s"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png"
|
||||
dark: template("m"),
|
||||
light: base,
|
||||
)
|
||||
)
|
||||
# Spectral Snow Frame
|
||||
else if snow and spectral then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("s"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png"
|
||||
dark: template("t"),
|
||||
light: base,
|
||||
)
|
||||
)
|
||||
# Multicolored Frame
|
||||
else if multi then
|
||||
masked_blend(
|
||||
mask: "multicolor_blend_{type}.png",
|
||||
dark: template("m"),
|
||||
light: base,
|
||||
)
|
||||
# Spectral Frame
|
||||
else if spectral then
|
||||
masked_blend(
|
||||
mask: "multicolor_blend_{type}.png",
|
||||
dark: template("t"),
|
||||
light: base,
|
||||
)
|
||||
# Hybrid Colored Artifact Frame
|
||||
else if artifact and color_count > 1 and mask_hybrid_with_land() then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png",
|
||||
dark: template("c"),
|
||||
light: base
|
||||
)
|
||||
)
|
||||
# Hybrid Colored Snow Frame
|
||||
else if snow and color_count > 1 and mask_hybrid_with_land() then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("s"),
|
||||
light: masked_blend(
|
||||
mask: "multicolor_blend_{type}.png",
|
||||
dark: template("c"),
|
||||
light: base
|
||||
)
|
||||
)
|
||||
# Artifact Frame
|
||||
else if artifact then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("a"),
|
||||
light: base,
|
||||
)
|
||||
# Snow Frame
|
||||
else if snow then
|
||||
masked_blend(
|
||||
mask: "artifact_blend_{type}.png",
|
||||
dark: template("s"),
|
||||
light: base,
|
||||
)
|
||||
# Hybrid Frames
|
||||
else if color_count > 1 and mask_hybrid_with_land() then
|
||||
masked_blend(
|
||||
mask: "hybrid_blend_{type}.png",
|
||||
dark: land_template("c"),
|
||||
light: base,
|
||||
)
|
||||
else base
|
||||
}
|
||||
|
||||
########################################################################
|
||||
# Specific types
|
||||
########################################################################
|
||||
|
||||
########################################################################
|
||||
# Font colors
|
||||
########################################################################
|
||||
|
||||
BIN
data/magic-m15-extra.mse-style/blidentity.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
data/magic-m15-extra.mse-style/blpt.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
data/magic-m15-extra.mse-style/blstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
data/magic-m15-extra.mse-style/border_mask.png
Normal file
|
After Width: | Height: | Size: 6.1 KiB |
BIN
data/magic-m15-extra.mse-style/bpt.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
data/magic-m15-extra.mse-style/bstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
7
data/magic-m15-extra.mse-style/build.bat
Normal file
@@ -0,0 +1,7 @@
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
mse --create-installer magic-m15-extra.mse-style magic.mse-game magic-blends.mse-include magic-mana-small-extra-m15.mse-symbol-font magic-mana-large-extra-m15.mse-symbol-font magic-watermarks.mse-include magic-default-image.mse-include magic-pt-symbols-extra-m15.mse-symbol-font
|
||||
|
||||
ren "magic-m15-extra.mse-installer" "Magic - M15 Extra Style.mse-installer"
|
||||
BIN
data/magic-m15-extra.mse-style/card-sample.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
data/magic-m15-extra.mse-style/ccard.jpg
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
data/magic-m15-extra.mse-style/cidentity.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
data/magic-m15-extra.mse-style/clcard.jpg
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
data/magic-m15-extra.mse-style/clidentity.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
data/magic-m15-extra.mse-style/clock_watermark.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
data/magic-m15-extra.mse-style/clpt.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
data/magic-m15-extra.mse-style/clstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
data/magic-m15-extra.mse-style/cpt.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
data/magic-m15-extra.mse-style/cstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
data/magic-m15-extra.mse-style/foil_stamp.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
7
data/magic-m15-extra.mse-style/font_m15
Normal file
@@ -0,0 +1,7 @@
|
||||
font_name_m15 := [ name: "Beleren Bold", size: 16, weight: "normal", top: 30]
|
||||
|
||||
font_type_m15 := [ name: "Beleren Bold", size: 13, weight: "normal", top: 297]
|
||||
|
||||
font_text_m15 := [ name: "MPlantin", italic: "MPlantin-Italic", size: 14, weight: "normal" ]
|
||||
|
||||
font_pt_m15 := [ name: "Beleren Bold", size: 16, weight: "normal" ]
|
||||
7
data/magic-m15-extra.mse-style/font_new
Normal file
@@ -0,0 +1,7 @@
|
||||
font_name_new := [ name: "Matrix", size: 17, weight: "bold", top: 28]
|
||||
|
||||
font_type_new := [ name: "Matrix", size: 14, weight: "normal", top: 297]
|
||||
|
||||
font_text_new := [ name: "MPlantin", italic: "MPlantin-Italic", size: 14, weight: "normal" ]
|
||||
|
||||
font_pt_new := [ name: "ModMatrix", size: 17, weight: "bold" ]
|
||||
7
data/magic-m15-extra.mse-style/font_old
Normal file
@@ -0,0 +1,7 @@
|
||||
font_name_old := [ name: "MagicMedieval", size: 15, weight: "bold", top: 29]
|
||||
|
||||
font_type_old := [ name: "MagicMedieval", size: 12, weight: "normal", top: 299]
|
||||
|
||||
font_text_old := [ name: "MPlantin", italic: "MPlantin-Italic", size: 14, weight: "normal" ]
|
||||
|
||||
font_pt_old := [ name: "MPlantin", size: 15, weight: "bold" ]
|
||||
7
data/magic-m15-extra.mse-style/font_phyrexian
Normal file
@@ -0,0 +1,7 @@
|
||||
font_name_phyrexian := [ name: "Phyrexian Regular", size: 18, weight: "normal", top: 28]
|
||||
|
||||
font_type_phyrexian := [ name: "Phyrexian Regular", size: 16, weight: "normal" , top: 297]
|
||||
|
||||
font_text_phyrexian := [ name: "Phyrexian Regular", italic: "Phyrexian Regular", size: 16, weight: "normal" ]
|
||||
|
||||
font_pt_phyrexian := [ name: "Phyrexian Regular", size: 17, weight: "bold" ]
|
||||
BIN
data/magic-m15-extra.mse-style/frost.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
515
data/magic-m15-extra.mse-style/game_scripts
Normal file
@@ -0,0 +1,515 @@
|
||||
############################################################################################################ Scripts from Game File
|
||||
############################################################## Sorting mana symbols
|
||||
# Current Mana Codes:
|
||||
#
|
||||
# A - artifact B - black C - colorless D - E - F - G - green H - phyrexian
|
||||
#
|
||||
# I - J - K - pink L - yellow M - N - O - P - purple
|
||||
#
|
||||
# Q - untap R - red S - snow T - tap U - blue V - W - white X - X variable
|
||||
#
|
||||
# Y - Y variable Z - Z variable
|
||||
#
|
||||
# correctly sort a mana symbol (no guild mana)
|
||||
# This script is modified to provide an unsorted option and handle extra colors.
|
||||
# This script is modified to handle extra colors.
|
||||
mana_sort := {
|
||||
if contains(styling.extras, match:"unsorted casting cost") then
|
||||
sort_text@(order: "[/XYZ∞0123456789HSCAPKWUBRG]")()
|
||||
else
|
||||
sort_text@(order: "XYZ∞[0123456789]HSCA(PK)(WUBRG)")()
|
||||
}
|
||||
# This script is modified to provide an unsorted option and handle extra colors.
|
||||
# This script is modified to handle extra colors.
|
||||
mana_sort_wedge := {
|
||||
if contains(styling.extras, match:"unsorted casting cost") then
|
||||
sort_text@(order: "[/XYZ∞0123456789HSCAPKWUBRG]")()
|
||||
else
|
||||
sort_text@(order: "XYZ∞[0123456789]HSCA(PK)(WBGUR)")()
|
||||
}
|
||||
# correctly sort guild mana
|
||||
mana_sort_guild := sort_text@(order: "[XYZ∞01234567890HSCAPKWUBRG/|]") +
|
||||
replace@(
|
||||
match: "./.|././.|./././.|.[|]",
|
||||
in_context: "(^|[^/])<match>($|[^/])",
|
||||
replace: {sort_text(order:"in_place((PK)(WUBRG)")}
|
||||
)
|
||||
tap_filter := sort_text@(order: "<TQ>")
|
||||
############################################################## Determine card color
|
||||
|
||||
# Names of colors
|
||||
color_name := {
|
||||
if input = "W" then "white"
|
||||
else if input = "U" then "blue"
|
||||
else if input = "B" then "black"
|
||||
else if input = "R" then "red"
|
||||
else if input = "G" then "green"
|
||||
else if input = "P" then "purple"
|
||||
else if input = "K" then "pink"
|
||||
else ""
|
||||
}
|
||||
color_names_6 := { color_name(colors.0) + ", " + color_name(colors.1) + ", " + color_name(colors.2) + ", " + color_name(colors.3) + ", " + color_name(colors.4) + ", " + color_name(colors.5) }
|
||||
color_names_7 := { color_name(colors.0) + ", " + color_name(colors.1) + ", " + color_name(colors.2) + ", " + color_name(colors.3) + ", " + color_name(colors.4) + ", " + color_name(colors.5) + ", " + color_name(colors.6) }
|
||||
# color based on mana cost, input = a mana cost
|
||||
color_filter := sort_text@(order: "<WUBRGPK>")
|
||||
color_filterS := sort_text@(order: "<SC>")
|
||||
mana_to_color := {
|
||||
count := number_of_items(in: colors)
|
||||
if hybrid == "" and snow = "" and contains(type, match:"Artifact") then
|
||||
# not a hybrid, not snow costed, but artifact
|
||||
if count == 0 then "colorless"
|
||||
else if count == 1 then color_names_1() + ", artifact"
|
||||
else if set.set_info.use_gradient_multicolor == "no" then "artifact, multicolor" # stop here
|
||||
else if count == 2 then color_names_2() + ", artifact, multicolor"
|
||||
else if set.set_info.use_gradient_multicolor != "yes" then "artifact, multicolor" # stop here
|
||||
else if count == 3 then color_names_3() + ", artifact, multicolor"
|
||||
else if count == 4 then color_names_4() + ", artifact, multicolor"
|
||||
else if count == 5 then color_names_5() + ", artifact, multicolor"
|
||||
else if count == 6 then color_names_6() + ", artifact, multicolor"
|
||||
else if count == 7 then color_names_7() + ", artifact, multicolor"
|
||||
else "artifact, multicolor"
|
||||
|
||||
else if hybrid == "" and contains(type, match:"Artifact") then
|
||||
# not a hybrid, but snow costed and artifact
|
||||
if count == 0 then "artifact, snow"
|
||||
else if count == 1 then color_names_1() + ", artifact, snow"
|
||||
else if set.set_info.use_gradient_multicolor == "no" then "artifact, snow, multicolor" # stop here
|
||||
else if count == 2 then color_names_2() + ", artifact, snow, multicolor"
|
||||
else if set.set_info.use_gradient_multicolor != "yes" then "artifact, snow, multicolor" # stop here
|
||||
else if count == 3 then color_names_3() + ", artifact, snow, multicolor"
|
||||
else if count == 4 then color_names_4() + ", artifact, snow, multicolor"
|
||||
else if count == 5 then color_names_5() + ", artifact, snow, multicolor"
|
||||
else if count == 6 then color_names_6() + ", artifact, snow, multicolor"
|
||||
else if count == 7 then color_names_7() + ", artifact, snow, multicolor"
|
||||
else "artifact, snow, multicolor"
|
||||
else if hybrid == "" and snow == "" then
|
||||
# not a hybrid, not snow costed, not artifact
|
||||
if count == 0 then "colorless"
|
||||
else if count == 1 then color_names_1()
|
||||
else if set.set_info.use_gradient_multicolor == "no" then "multicolor" # stop here
|
||||
else if count == 2 then color_names_2() + ", multicolor"
|
||||
else if set.set_info.use_gradient_multicolor != "yes" then "multicolor" # stop here
|
||||
else if count == 3 then color_names_3() + ", multicolor"
|
||||
else if count == 4 then color_names_4() + ", multicolor"
|
||||
else if count == 5 then color_names_5() + ", multicolor"
|
||||
else if count == 6 then color_names_6() + ", multicolor"
|
||||
else if count == 7 then color_names_7() + ", multicolor"
|
||||
else "multicolor"
|
||||
else if hybrid == "" then
|
||||
# not a hybrid, not artifact, but snow costed
|
||||
if count == 0 then "snow"
|
||||
else if count == 1 then color_names_1() + ", snow"
|
||||
else if set.set_info.use_gradient_multicolor == "no" then "snow, multicolor" # stop here
|
||||
else if count == 2 then color_names_2() + ", snow, multicolor"
|
||||
else if set.set_info.use_gradient_multicolor != "yes" then "snow, multicolor" # stop here
|
||||
else if count == 3 then color_names_3() + ", snow, multicolor"
|
||||
else if count == 4 then color_names_4() + ", snow, multicolor"
|
||||
else if count == 5 then color_names_5() + ", snow, multicolor"
|
||||
else if count == 6 then color_names_6() + ", snow, multicolor"
|
||||
else if count == 7 then color_names_7() + ", snow, multicolor"
|
||||
else "snow, multicolor"
|
||||
else if snow == "" and contains(type, match:"Artifact") then
|
||||
# hybrid, and artifact, but not snow costed
|
||||
if count == 0 then "colorless"
|
||||
else if count == 1 then color_names_1() + ", artifact"
|
||||
else if count == 2 then color_names_2() + ", artifact"
|
||||
else if count == 3 then color_names_3() + ", artifact"
|
||||
else if count == 6 then
|
||||
if color_names_6() == "blue, red, green, yellow, purple, orange" then color_names_6() + ", artifact"
|
||||
else "artifact, multicolor"
|
||||
else "artifact, multicolor"
|
||||
else if contains(type, match:"Artifact") then
|
||||
# hybrid, and snow costed, and artifact
|
||||
if count == 0 then "artifact, snow"
|
||||
else if count == 1 then color_names_1() + ", artifact, snow"
|
||||
else if count == 2 then color_names_2() + ", artifact, snow"
|
||||
else if count == 3 then color_names_3() + ", artifact, snow"
|
||||
else if count == 6 then
|
||||
if color_names_6() == "blue, red, green, yellow, purple, orange" then color_names_6() + ", artifact, snow"
|
||||
else "artifact, snow, multicolor"
|
||||
else "artifact, snow, multicolor"
|
||||
else if snow == "" then
|
||||
# hybrid, not artifact, and not snow costed
|
||||
if count == 0 then "colorless"
|
||||
else if count == 1 then color_names_1()
|
||||
else if count == 2 then color_names_2() + ", hybrid"
|
||||
else if count == 6 then
|
||||
if color_names_6() == "blue, red, green, yellow, purple, orange" then color_names_6() + ", hybrid"
|
||||
else "multicolor"
|
||||
else "multicolor"
|
||||
else
|
||||
# hybrid and snow costed, but not artifact
|
||||
if count == 0 then "snow"
|
||||
else if count == 1 then color_names_1() + ", snow"
|
||||
else if count == 2 then color_names_2() + ", snow, hybrid"
|
||||
else if count == 6 then
|
||||
if color_names_6() == "blue, red, green, yellow, purple, orange" then color_names_6() + ", snow, hybrid"
|
||||
else "snow, multicolor"
|
||||
else "snow, multicolor"
|
||||
}
|
||||
|
||||
# Look for a CDA that defines colors
|
||||
text_to_color := {
|
||||
# Note: running filter_text is quite slow, do a quick 'contains' check first
|
||||
if contains(match: card_name) then (
|
||||
text := filter_text(match: regex_escape(card_name)+"(</[-a-z]+>)? is (colorless|all colors|((blue|white|green|red|black|purple|pink)((,|,? and) (blue|white|green|red|black|purple|pink))*))\\.")
|
||||
if text != "" then (
|
||||
if contains(text, match: "all colors") then (
|
||||
colors := "WUBRGP"
|
||||
if land = "land" then land_multicolor()
|
||||
else mana_to_color(hybrid: "")
|
||||
) else (
|
||||
colors := ""
|
||||
if contains(text, match: "white") then colors := colors + "W"
|
||||
if contains(text, match: "blue") then colors := colors + "U"
|
||||
if contains(text, match: "black") then colors := colors + "B"
|
||||
if contains(text, match: "red") then colors := colors + "R"
|
||||
if contains(text, match: "green") then colors := colors + "G"
|
||||
if contains(text, match: "purple") then colors := colors + "P"
|
||||
if contains(text, match: "pink") then colors := colors + "K"
|
||||
if land = "land" then land_multicolor()
|
||||
else mana_to_color(hybrid: "")
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
card_color := {
|
||||
# usually the color of mana
|
||||
text_color := text_to_color(rules_text, land: is_land(type));
|
||||
if text_color == "" then (
|
||||
mana_color := mana_to_color(colors: color_filter(casting_cost), hybrid: color_filterH(casting_cost), snow: color_filterS(casting_cost))
|
||||
if mana_color == "colorless" and is_land (type) then land_to_color(watermark)
|
||||
else if mana_color == "colorless" and is_artifact(type) then "artifact"
|
||||
else mana_color
|
||||
)
|
||||
else text_color
|
||||
};
|
||||
|
||||
# Number of colors in a card_color
|
||||
card_color_color_count := count_chosen@(choices: "white,blue,black,red,green,purple,pink,artifact,snow")
|
||||
# Clean up color field
|
||||
card_color_filter := {
|
||||
colors := card_color_color_count()
|
||||
if colors > 2 then
|
||||
input := remove_choice(choice: "overlay")
|
||||
if colors > 1 then (
|
||||
input := require_choice(choices: "multicolor, hybrid, land, artifact, snow, spectral")
|
||||
input := exclusive_choice(choices: "multicolor, hybrid, spectral")
|
||||
input := require_exclusive_choice(choices: "horizontal, vertical, radial, diagonal, overlay")
|
||||
) else
|
||||
input := remove_choice(choices: "radial, horizontal, vertical, diagonal, overlay, hybrid, reversed")
|
||||
input := exclusive_choice(choices: "multicolor, spectral")
|
||||
if chosen(choice:"overlay") then
|
||||
input := remove_choice(choice: "reversed")
|
||||
input
|
||||
}
|
||||
|
||||
############################################################## Card number
|
||||
|
||||
# Index for sorting, white cards are first, so white->A, blue->B, .. ,
|
||||
# The code consists of 4 parts:
|
||||
# normal/token, color, shifted, split
|
||||
hybrid_color_pair_sort := {
|
||||
colors := sort_text(casting_cost, order: "<WUBRGPK>")
|
||||
if not set.sort_hybrid_in_pairs then "HK"
|
||||
else if colors = "WU" then "HA"
|
||||
else if colors = "UB" then "HB"
|
||||
else if colors = "BR" then "HC"
|
||||
else if colors = "RG" then "HD"
|
||||
else if colors = "WG" then "HE"
|
||||
else if colors = "WB" then "HF"
|
||||
else if colors = "UR" then "HG"
|
||||
else if colors = "BG" then "HH"
|
||||
else if colors = "WR" then "HI"
|
||||
else if colors = "UG" then "HJ"
|
||||
else if colors = "WP" then "HJAA"
|
||||
else if colors = "UP" then "HJAB"
|
||||
else if colors = "BP" then "HJAC"
|
||||
else if colors = "RP" then "HJAD"
|
||||
else if colors = "GP" then "HJAE"
|
||||
else if colors = "WK" then "HJBA"
|
||||
else if colors = "UK" then "HJBB"
|
||||
else if colors = "BK" then "HJBC"
|
||||
else if colors = "RK" then "HJBD"
|
||||
else if colors = "GK" then "HJBE"
|
||||
else if colors = "PK" then "HJBF"
|
||||
else "HK"
|
||||
}
|
||||
multi_color_pair_sort := {
|
||||
colors := sort_text(casting_cost, order: "<WUBRGP>")
|
||||
if not set.sort_multicolor_in_pairs then "GK"
|
||||
else if colors = "WU" then "GA"
|
||||
else if colors = "UB" then "GB"
|
||||
else if colors = "BR" then "GC"
|
||||
else if colors = "RG" then "GD"
|
||||
else if colors = "WG" then "GE"
|
||||
else if colors = "WB" then "GF"
|
||||
else if colors = "UR" then "GG"
|
||||
else if colors = "BG" then "GH"
|
||||
else if colors = "WR" then "GI"
|
||||
else if colors = "UG" then "GJ"
|
||||
else if colors = "WP" then "GJAA"
|
||||
else if colors = "UP" then "GJAB"
|
||||
else if colors = "BP" then "GJAC"
|
||||
else if colors = "RP" then "GJAD"
|
||||
else if colors = "GP" then "GJAE"
|
||||
else if colors = "WK" then "GJBA"
|
||||
else if colors = "UK" then "GJBB"
|
||||
else if colors = "BK" then "GJBC"
|
||||
else if colors = "RK" then "GJBD"
|
||||
else if colors = "GK" then "GJBE"
|
||||
else if colors = "PK" then "GJBF"
|
||||
else if contains(card.casting_cost, match:"/") then "GL"
|
||||
else "GK"
|
||||
}
|
||||
color_of_card := {
|
||||
card_color := card.card_color
|
||||
casting_cost := card.casting_cost
|
||||
type := card.super_type
|
||||
if card.shape == "split" and
|
||||
card_color != card.card_color_2 then "I" # Diff Color Splits
|
||||
else if chosen(choice: "land", card_color) then ( # Lands
|
||||
if card.rarity != "basic land" then "L" # Nonbasic Land
|
||||
else basic_land_sort() # Basic Land
|
||||
) else if is_null_cost(casting_cost) then ( # Non-Land Cards with no or zero costs.
|
||||
if chosen(choice: "colorless", card_color) then "A" # Clear Colorless
|
||||
else if chosen(choice: "hybrid", card_color) then "HK" # Hybrids
|
||||
else if is_multicolor(card_color) then "GK" # Multicolor
|
||||
else if chosen(choice:"white", card_color) then "B" # White
|
||||
else if chosen(choice:"blue", card_color) then "C" # Blue
|
||||
else if chosen(choice:"black", card_color) then "D" # Black
|
||||
else if chosen(choice:"red", card_color) then "E" # Red
|
||||
else if chosen(choice:"green", card_color) then "F" # Green
|
||||
else "J" # Artifact
|
||||
) else (
|
||||
# Cards with costs.
|
||||
colors := sort_text(casting_cost, order: "<WUBRGPK>")
|
||||
if colors == "" and contains(type, match:"Artifact") then "J" # Artifact
|
||||
else if colors == "" then "A" # Clear Colorless
|
||||
else if colors == "W" then "B" # White
|
||||
else if colors == "U" then "C" # Blue
|
||||
else if colors == "B" then "D" # Black
|
||||
else if colors == "R" then "E" # Red
|
||||
else if colors == "G" then "F" # Green
|
||||
else if colors == "P" then "FTA" # Purple
|
||||
else if colors == "K" then "FTB" # Pink
|
||||
else if is_hybrid_cost() then hybrid_color_pair_sort() # Hybrid (by pairs)
|
||||
else if contains(casting_cost, match:"/") and contains(type, match:"Artifact") then "I" # Hybrid Artifacts
|
||||
else multi_color_pair_sort() # Multicolor (by pairs)
|
||||
)
|
||||
}
|
||||
|
||||
############################################################## Utilities for keywords
|
||||
# replaces — correctly
|
||||
for_mana_costs := format_cost := {
|
||||
if input.separator_before == "—" and contains(input.param, match: " ") then (
|
||||
if contains(input.param, match:",") then (
|
||||
if match(match: "^[HSCATQXYZ∞WUBRGPK0-9/|]+,", input.param) then
|
||||
"{add}<param-cost>{combined_cost(input.param)}</param-cost>"
|
||||
else "<param-cost>{combined_cost(input.param)}</param-cost>"
|
||||
) else
|
||||
"<param-cost>{alternative_cost(input.param)}</param-cost>"
|
||||
) else
|
||||
"{add}<param-mana>{input.param}</param-mana>"
|
||||
}
|
||||
combined_cost := replace@(match:", [A-Z]", replace: { to_lower() })+
|
||||
replace@(match:",", replace:" and")+
|
||||
replace@(match:"^[HSCATQXYZ∞WUBRGPK0-9/|]", in_context: "(^|[[:space:]])<match>", replace: "<sym-auto>&</sym-auto>")+
|
||||
replace@(match:"^[A-Z]", replace: { to_lower() })
|
||||
|
||||
############################################################## The text box
|
||||
|
||||
# Filters for the text box
|
||||
# context in which mana symbols are found
|
||||
mana_context :=
|
||||
"(?ix) # case insensitive, ignore whitespace
|
||||
(^|[[:space:]\"(“']) # start of a word
|
||||
( <match>: # G: something
|
||||
| <match>, # G, tap: something
|
||||
| <match>[ ]can[ ]be[ ]pay
|
||||
| (pays?|additional|costs?|the # pay X. creatures cost 1 less. pay an additional G.
|
||||
|adds?|pay(ed)?[ ](with|using)
|
||||
)
|
||||
([ ]either)? # pay either X or Y
|
||||
([ ](<sym[^>]*>)?[HSCATQXYZ∞WUBRGPK0-9/|]+(</sym[^>]*>)?,)* # pay X, Y or Z
|
||||
([ ](<sym[^>]*>)?[HSCATQXYZ∞WUBRGPK0-9/|]+(</sym[^>]*>)?[ ](and|or|and/or))* # pay X or Y
|
||||
[ ]<match>
|
||||
([,.)]|$ # (end of word)
|
||||
|[ ][^ .,]*$ # still typing...
|
||||
|[ ]( or | and | in | less | more | to ) # or next word is ...
|
||||
)
|
||||
)
|
||||
| <param-mana><match></param-mana> # keyword argument that is declared as mana
|
||||
| <param-cost>[ ]*<match></param-cost> # keyword argument that is declared as cost
|
||||
| <param-cost><match>, # keyword argument that is declared as cost
|
||||
";
|
||||
# the rule text filter
|
||||
# - adds mana symbols
|
||||
# - makes text in parentheses italic
|
||||
text_filter :=
|
||||
# step 1 : remove all automatic tags
|
||||
remove_tag@(tag: "<sym-auto>") +
|
||||
remove_tag@(tag: "<i-auto>") +
|
||||
remove_tag@(tag: "<b-auto>") +
|
||||
remove_tag@(tag: "<error-spelling") +
|
||||
remove_tag@(tag: "<nospellcheck") +
|
||||
# step 2 : reminder text for keywords
|
||||
expand_keywords@(
|
||||
condition: {
|
||||
correct_case or (mode != "pseudo" and not used_placeholders)
|
||||
}
|
||||
default_expand: {
|
||||
chosen(choice:if correct_case then mode else "lower case", set.automatic_reminder_text)
|
||||
},
|
||||
combine: {
|
||||
keyword := "<nospellcheck>{keyword}</nospellcheck>"
|
||||
reminder := process_english_hints(reminder)
|
||||
if mode == "pseudo" then "<i-auto>{keyword}</i-auto>"
|
||||
else keyword + if expand then "<atom-reminder-{mode}> ({reminder})</atom-reminder-{mode}>"
|
||||
}) +
|
||||
# step 2b : move action keywords' reminder text to the end of the line
|
||||
replace@(
|
||||
match: "(<atom-reminder-action>(?:(?!<kw-).)*</atom-reminder-action></kw[^>]*>)(((?!<atom-reminder| ?<kw-)[^\n(])+)",
|
||||
replace: "\\2\\1"
|
||||
) +
|
||||
# step 2c : remove duplicate reminder text
|
||||
replace@(
|
||||
match: "(<atom-reminder-[^>]*>[^)]+[)]</atom-reminder-[^>]*>)([^\n]+)\\1"
|
||||
replace: "\\2\\1"
|
||||
) +
|
||||
# step 3a : expand shortcut word CARDNAME
|
||||
replace@(
|
||||
match: "CARDNAME",
|
||||
in_context: "(^|[[:space:]]|\\()<match>", # TODO: Allow any punctuation before
|
||||
replace: "<atom-cardname></atom-cardname>"
|
||||
) +
|
||||
# step 3b : expand shortcut word LEGENDNAME
|
||||
replace@(
|
||||
match: "LEGENDNAME",
|
||||
in_context: "(^|[[:space:]]|\\()<match>", # TODO: Allow any punctuation before
|
||||
replace: "<atom-legname></atom-legname>"
|
||||
) +
|
||||
# step 3c : fill in atom fields
|
||||
tag_contents@(
|
||||
tag: "<atom-cardname>",
|
||||
contents: { "<nospellcheck>" + (if card_name=="" then "CARDNAME" else card_name) + "</nospellcheck>" }
|
||||
) +
|
||||
tag_contents@(
|
||||
tag: "<atom-legname>",
|
||||
contents: { "<nospellcheck>" + (if card_name=="" then "LEGENDNAME" else legend_filter(card_name)) + "</nospellcheck>" }
|
||||
) +
|
||||
# step 4 : explict non mana symbols
|
||||
replace@(
|
||||
match: "\\][HSCATQXYZ∞WUBRGPK0-9/|]+\\[",
|
||||
replace: {"<nosym>" + mana_filter_t() + "</nosym>"} ) +
|
||||
# step 5 : add mana & tap symbols
|
||||
replace@(
|
||||
match: "\\b[HSCATQXYZ∞WUBRGPK0-9/|]+\\b",
|
||||
in_context: mana_context,
|
||||
replace: {"<sym-auto>" + mana_filter_t() + "</sym-auto>"} ) +
|
||||
# step 5b : add explict mana symbols
|
||||
replace@(
|
||||
match: "\\[[HSCATQXYZ∞WUBRGPK0-9/|]+\\]",
|
||||
replace: {"<sym>" + mana_filter_t() + "</sym>"} ) +
|
||||
# step 6a : curly double quotes
|
||||
replace@(
|
||||
match: "[[.quotation-mark.]]|”",
|
||||
in_context: "[ ]<match>+|^<match>",
|
||||
replace: "“" )+
|
||||
replace@(
|
||||
match: "[[.quotation-mark.]]",
|
||||
replace: "”" )+
|
||||
# step 7 : italicize text in parenthesis
|
||||
replace@(
|
||||
match: "[(]([^)\n]|[(][^)\n]*[)])*[)]?",
|
||||
in_context: "(^|[[:space:]])<match>|<atom-keyword><match></",
|
||||
replace: "<i-auto>&</i-auto>") +
|
||||
# step 8 : automatic capitalization, but not after "("
|
||||
replace@(
|
||||
match: "([ ]*: |—| — )" # preceded by this
|
||||
+ "([[:lower:]])" # match this
|
||||
+ "(?![)])", # not followed by this
|
||||
replace: { _1 + to_upper(_2) }) +
|
||||
#curly_quotes +
|
||||
# step 9 : spellcheck
|
||||
{ if set.mark_errors then
|
||||
check_spelling(
|
||||
language: language().spellcheck_code,
|
||||
extra_dictionary: "/magic.mse-game/magic-words",
|
||||
extra_match: additional_text_words
|
||||
)
|
||||
else input
|
||||
}
|
||||
|
||||
############################################################## Other boxes
|
||||
# Script to make magic-mana-future compatible w/ other templates
|
||||
# Is now used to allow colored XYZ mana.
|
||||
colorless_color := {
|
||||
if contains(styling.extras, match:"colored xyz mana") and card.card_color=="white" then "w"
|
||||
else if contains(styling.extras, match:"colored xyz mana") and card.card_color=="blue" then "u"
|
||||
else if contains(styling.extras, match:"colored xyz mana") and card.card_color=="black" then "b"
|
||||
else if contains(styling.extras, match:"colored xyz mana") and card.card_color=="red" then "r"
|
||||
else if contains(styling.extras, match:"colored xyz mana") and card.card_color=="green" then "g"
|
||||
else if contains(styling.extras, match:"colored xyz mana") and card.card_color=="colorless" and contains(card.casting_cost, match:"P") then "p"
|
||||
else if contains(styling.extras, match:"colored xyz mana") and card.card_color=="colorless" and contains(card.casting_cost, match:"K") then "k"
|
||||
else "c"
|
||||
}
|
||||
|
||||
# Determine a rarity code for M15 styles.
|
||||
rarity_code := {
|
||||
if contains(styling.regular_options, match:"promo rarity") then "P"
|
||||
else if card.rarity == "common" then "C"
|
||||
else if card.rarity == "uncommon" then "U"
|
||||
else if card.rarity == "rare" then "R"
|
||||
else if card.rarity == "mythic rare" then "M"
|
||||
else if card.rarity == "special" then "S"
|
||||
else if card.rarity == "basic land" then "L" }
|
||||
|
||||
# Assigns default type symbols. Is modified for structure symbols.
|
||||
typesymbol_for :=
|
||||
to_text +
|
||||
replace@(match: "(Legendary|Basic|Snow|World| )", replace: "") +
|
||||
{ if input == "Creature" then "creature"
|
||||
else if input == "Sorcery" then "sorcery"
|
||||
else if input == "Instant" then "instant"
|
||||
else if input == "Artifact" then "artifact"
|
||||
else if input == "Enchantment" then "enchantment"
|
||||
else if input == "Land" then "land"
|
||||
else if input == "Planeswalker" then "planeswalker"
|
||||
else if input == "Structure" then "structure"
|
||||
else "multitype"
|
||||
}
|
||||
|
||||
# This script has been modified to check a styling menu choice instead.
|
||||
|
||||
has_identity := { contains(styling.regular_options, match:"color indicator dot") }
|
||||
|
||||
############################################################## Statistics utilities
|
||||
# Converted mana cost
|
||||
is_half_mana := match@(match: "1/2|[|][HSCAWUBRGPK]")
|
||||
is_colored_mana := match@(match: "[WUBRGPK]")
|
||||
cmc_split := break_text@(match: "(?ix) 1/2 | [|][WUBRGPK] | [0-9]+(?!/[WUBRGHSCAPKCTQ2]) | [WUBRGHSCAPK0-9.](/[WUBRGHSCAPK])\{0,4} ")
|
||||
|
||||
primary_card_color := {
|
||||
artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green"))
|
||||
land := chosen(choice:"land")
|
||||
multi := chosen(choice:"multicolor")
|
||||
hybrid := chosen(choice:"hybrid")
|
||||
white := chosen(choice:"white")
|
||||
blue := chosen(choice:"blue")
|
||||
black := chosen(choice:"black")
|
||||
red := chosen(choice:"red")
|
||||
green := chosen(choice:"green")
|
||||
if land then "land"
|
||||
else if multi then "multicolor"
|
||||
else if hybrid then "hybrid"
|
||||
else if artifact then "artifact"
|
||||
else if white then "white"
|
||||
else if blue then "blue"
|
||||
else if black then "black"
|
||||
else if red then "red"
|
||||
else if green then "green"
|
||||
else input
|
||||
}
|
||||
|
||||
BIN
data/magic-m15-extra.mse-style/gcard.jpg
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
data/magic-m15-extra.mse-style/gidentity.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
data/magic-m15-extra.mse-style/glcard.jpg
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
data/magic-m15-extra.mse-style/glidentity.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
data/magic-m15-extra.mse-style/glpt.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
data/magic-m15-extra.mse-style/glstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
data/magic-m15-extra.mse-style/gpt.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
data/magic-m15-extra.mse-style/gstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/hybrid_blend_card.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
data/magic-m15-extra.mse-style/hybrid_blend_identity.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
data/magic-m15-extra.mse-style/hybrid_blend_pt.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
data/magic-m15-extra.mse-style/hybrid_blend_stamp.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
data/magic-m15-extra.mse-style/kcard.jpg
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
data/magic-m15-extra.mse-style/kidentity.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
data/magic-m15-extra.mse-style/klcard.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
data/magic-m15-extra.mse-style/klidentity.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
data/magic-m15-extra.mse-style/klpt.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
data/magic-m15-extra.mse-style/klstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/kpt.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
data/magic-m15-extra.mse-style/kstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/masks/alpha_blend.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
data/magic-m15-extra.mse-style/masks/border_mask.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
data/magic-m15-extra.mse-style/masks/foil_mask.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
data/magic-m15-extra.mse-style/masks/foil_mask_rare.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
BIN
data/magic-m15-extra.mse-style/masks/rune_mask.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
data/magic-m15-extra.mse-style/mcard.jpg
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
data/magic-m15-extra.mse-style/midentity.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
data/magic-m15-extra.mse-style/mlcard.jpg
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
data/magic-m15-extra.mse-style/mlidentity.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
data/magic-m15-extra.mse-style/mlpt.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
data/magic-m15-extra.mse-style/mlstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/mpt.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
data/magic-m15-extra.mse-style/mstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/multicolor_blend_card.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
data/magic-m15-extra.mse-style/multicolor_blend_identity.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
data/magic-m15-extra.mse-style/multicolor_blend_pt.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
data/magic-m15-extra.mse-style/multicolor_blend_stamp.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
data/magic-m15-extra.mse-style/pcard.jpg
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
data/magic-m15-extra.mse-style/pidentity.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
data/magic-m15-extra.mse-style/plcard.jpg
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
data/magic-m15-extra.mse-style/plidentity.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
data/magic-m15-extra.mse-style/plpt.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-extra.mse-style/plstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/ppt.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
data/magic-m15-extra.mse-style/pstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
data/magic-m15-extra.mse-style/rcard.jpg
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
data/magic-m15-extra.mse-style/ridentity.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
data/magic-m15-extra.mse-style/rlcard.jpg
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
data/magic-m15-extra.mse-style/rlidentity.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
data/magic-m15-extra.mse-style/rlpt.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
data/magic-m15-extra.mse-style/rlstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/rpt.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
data/magic-m15-extra.mse-style/rstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
data/magic-m15-extra.mse-style/runes.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
data/magic-m15-extra.mse-style/scard.jpg
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
data/magic-m15-extra.mse-style/sidentity.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
data/magic-m15-extra.mse-style/spt.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
data/magic-m15-extra.mse-style/sstamp.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
858
data/magic-m15-extra.mse-style/style
Normal file
@@ -0,0 +1,858 @@
|
||||
mse version: 2.0.0
|
||||
game: magic
|
||||
short name: M15 Extra
|
||||
full name: M15 with Extra Features
|
||||
icon: card-sample.png
|
||||
installer group: magic/m15 style/normal cards/with extra features
|
||||
position hint: 050
|
||||
|
||||
version: 2018-02-09
|
||||
depends on:
|
||||
package: magic.mse-game
|
||||
version: 2015-04-08
|
||||
depends on:
|
||||
package: magic-default-image.mse-include
|
||||
version: 2007-09-23
|
||||
depends on:
|
||||
package: magic-mana-large-extra-m15.mse-symbol-font
|
||||
version: 2014-03-11
|
||||
depends on:
|
||||
package: magic-mana-small-extra-m15.mse-symbol-font
|
||||
version: 2014-03-11
|
||||
depends on:
|
||||
package: magic-pt-symbols-extra-m15.mse-symbol-font
|
||||
version: 2014-03-20
|
||||
|
||||
card width: 375
|
||||
card height: 523
|
||||
card dpi: 150
|
||||
############################################################## Extra scripts
|
||||
init script:
|
||||
# Load scripts that are redefined from the game file
|
||||
include file: game_scripts
|
||||
|
||||
# Load scripts that are redefined from the blends package
|
||||
include file: blends_scripts
|
||||
|
||||
# Load scripts for image box
|
||||
include file: /magic-default-image.mse-include/scripts
|
||||
|
||||
# Load font profiles
|
||||
include file: font_new
|
||||
include file: font_phyrexian
|
||||
include file: font_old
|
||||
include file: font_m15
|
||||
|
||||
# Should hybrids have a grey name?
|
||||
mask_hybrid_with_land := { contains(styling.regular_options, match:"grey hybrid names") }
|
||||
|
||||
#Should multicolor lands with basic land types have a colored name?
|
||||
mask_multi_land_with_color := { contains(styling.regular_options, match:"colored multicolor land names") }
|
||||
|
||||
template_prefix := [card: "" pt: "" stamp: "" identity: ""]
|
||||
template_suffix := [card: "card.jpg" pt: "pt.png" stamp: "stamp.jpg" identity: "identity.png"]
|
||||
template := { template_prefix[type] + input + template_suffix[type] }
|
||||
land_template := { template_prefix[type] + (if input == "a" or input == "s" then "c" else input) + "l" + template_suffix[type] }
|
||||
# Use land templates for previews because they show more contrast
|
||||
hybrid_previews := "land,hybrid"
|
||||
|
||||
# Use the normal tap symbol
|
||||
mana_t := {
|
||||
if styling.tap_symbol == "old" then "old"
|
||||
else if styling.tap_symbol == "diagonal T" then "older"
|
||||
else "new"
|
||||
}
|
||||
|
||||
# Use guild mana symbols?
|
||||
guild_mana := { contains(styling.regular_options, match:"guild mana symbols") }
|
||||
|
||||
# Filter to commas, so they can be counted to see if field is complete
|
||||
comma_count := filter_text@(match:",")
|
||||
|
||||
# Interpret the font profile choice.
|
||||
font_profile := {
|
||||
if styling.font_style == "Phyrexian" then "phyrexian"
|
||||
else if styling.font_style == "Before 8th Edition" then "old"
|
||||
else if styling.font_style == "After 8th Edition" then "new"
|
||||
else "m15"
|
||||
}
|
||||
|
||||
font_field := {
|
||||
if font_profile() == "m15" then (
|
||||
if field == "name" then font_name_m15[value]
|
||||
else if field == "type" then font_type_m15[value]
|
||||
else if field == "text" then font_text_m15[value]
|
||||
else if field == "pt" then font_pt_m15[value]
|
||||
)
|
||||
else if font_profile() == "new" then (
|
||||
if field == "name" then font_name_new[value]
|
||||
else if field == "type" then font_type_new[value]
|
||||
else if field == "text" then font_text_new[value]
|
||||
else if field == "pt" then font_pt_new[value]
|
||||
)
|
||||
else if font_profile() == "phyrexian" then (
|
||||
if field == "name" then font_name_phyrexian[value]
|
||||
else if field == "type" then font_type_phyrexian[value]
|
||||
else if field == "text" then font_text_phyrexian[value]
|
||||
else if field == "pt" then font_pt_phyrexian[value]
|
||||
)
|
||||
else if font_profile() == "old" then (
|
||||
if field == "name" then font_name_old[value]
|
||||
else if field == "type" then font_type_old[value]
|
||||
else if field == "text" then font_text_old[value]
|
||||
else if field == "pt" then font_pt_old[value]
|
||||
)
|
||||
}
|
||||
|
||||
# Is the card a promo card?
|
||||
is_promo := { styling.promo }
|
||||
is_unsorted := { contains(styling.regular_options, match:"remove from autocount") }
|
||||
chop_top := {if comma_count(styling.chop_text) == ",," then split_text(match:",", styling.chop_text).0 else "0"}
|
||||
chop_bot := {if comma_count(styling.chop_text) == ",," then split_text(match:",", styling.chop_text).1 else "0"}
|
||||
############################################################## Set info fields
|
||||
set info style:
|
||||
symbol:
|
||||
variation:
|
||||
name: invertedcommon
|
||||
border radius: 0.10
|
||||
fill type: solid
|
||||
fill color: rgb(255,255,255)
|
||||
border color: rgb(0,0,0)
|
||||
############################################################## Extra style options
|
||||
styling field:
|
||||
type: text
|
||||
name: chop text
|
||||
description: Shrinks the textbox, formatted as "top,bottom". This must end in a comma.
|
||||
styling field:
|
||||
type: choice
|
||||
name: font style
|
||||
description: Which font style should be used?
|
||||
choice: After Magic 2015
|
||||
choice: After 8th Edition
|
||||
choice: Before 8th Edition
|
||||
choice: Phyrexian
|
||||
initial: After Magic 2015
|
||||
styling field:
|
||||
type: multiple choice
|
||||
name: regular options
|
||||
description: Which regular styling options would you like to use?
|
||||
choice: center text
|
||||
choice: color indicator dot
|
||||
choice: colored multicolor land names
|
||||
choice: grey hybrid names
|
||||
choice: guild mana symbols
|
||||
choice: holofoil stamped rares
|
||||
choice: promo rarity
|
||||
choice: inverted common symbol
|
||||
choice: remove from autocount
|
||||
initial: colored multicolor land names, grey hybrid names, holofoil stamped rares
|
||||
styling field:
|
||||
type: multiple choice
|
||||
name: extras
|
||||
description: Which extra options would you like to use?
|
||||
choice: pichoro's alchemist watermark
|
||||
choice: alpha style dual lands
|
||||
choice: card creator credit field
|
||||
choice: takeabow's clock watermark
|
||||
choice: advent's colored xyz mana
|
||||
choice: circeus' colorless-colored hybrid
|
||||
choice: anuttymous' frost effect
|
||||
choice: holiday promo text
|
||||
choice: dark nova's runes
|
||||
choice: lesurgo's spell-land hybrid
|
||||
choice: circeus' tinged artifact hybrid
|
||||
choice: type symbol with name
|
||||
choice: unsorted casting cost
|
||||
choice: double watermarks
|
||||
styling field:
|
||||
type: choice
|
||||
name: tap symbol
|
||||
description: What tap and untap symbols should be used on cards?
|
||||
initial: modern
|
||||
choice: modern
|
||||
choice: old
|
||||
choice: diagonal T
|
||||
styling field:
|
||||
type: package choice
|
||||
name: text box mana symbols
|
||||
match: magic-mana-*.mse-symbol-font
|
||||
initial: magic-mana-small-extra-m15.mse-symbol-font
|
||||
styling field:
|
||||
type: package choice
|
||||
name: pt box symbols
|
||||
match: magic-pt-symbols-*.mse-symbol-font
|
||||
initial: magic-pt-symbols-extra.mse-symbol-font
|
||||
styling field:
|
||||
type: package choice
|
||||
name: overlay
|
||||
description: Should there be an overlay applied, such as foil?
|
||||
match: magic-overlay-*.mse-include
|
||||
required: false
|
||||
styling field:
|
||||
type: choice
|
||||
name: outer color
|
||||
description: Should the outside of the frame be a special color?
|
||||
choice: default
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice: pink
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice: colorless
|
||||
styling field:
|
||||
type: choice
|
||||
name: trim color
|
||||
description: Should the trim of the frame be a special color?
|
||||
choice: default
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice: pink
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice: colorless
|
||||
styling field:
|
||||
type: choice
|
||||
name: inner color
|
||||
description: Should the inside of the frame be a special color?
|
||||
choice: default
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice: pink
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice: colorless
|
||||
styling field:
|
||||
type: text
|
||||
name: popout image style
|
||||
description: The styling instructions for the popout image field, formatted as "left,top,width,height,". The text MUST end with a comma.
|
||||
styling style:
|
||||
tap symbol:
|
||||
render style: both
|
||||
choice images:
|
||||
modern: /magic-mana-large-extra-m15.mse-symbol-font/mana_t.png
|
||||
old: /magic-mana-large-extra-m15.mse-symbol-font/mana_t_old.png
|
||||
diagonal T: /magic-mana-large-extra-m15.mse-symbol-font/mana_t_older.png
|
||||
regular options:
|
||||
render style: checklist
|
||||
direction: vertical
|
||||
extras:
|
||||
render style: checklist
|
||||
direction: vertical
|
||||
############################################################## Card fields
|
||||
card style:
|
||||
border color:
|
||||
left: 0
|
||||
top : 0
|
||||
width: 375
|
||||
height: 523
|
||||
radius: 18
|
||||
left width: 17
|
||||
right width: 17
|
||||
top width: 17
|
||||
bottom width: 18
|
||||
z index: 4
|
||||
mask: border_mask.png
|
||||
############################# Background stuff
|
||||
############################# Name line
|
||||
name:
|
||||
left:
|
||||
{ if card.card_symbol=="none" and (card.type_symbol=="none" or not contains(styling.extras, match:"type symbol with name")) then 32
|
||||
else if card.card_symbol == "none" then 49
|
||||
else if card.type_symbol == "none" or ( not contains(styling.extras, match:"type symbol with name")) then 49
|
||||
else 67}
|
||||
top: { font_field(field: "name", value: "top")}
|
||||
right: { 341 - card_style.casting_cost.content_width }
|
||||
height: 23
|
||||
alignment: bottom shrink-overflow
|
||||
padding bottom: 0
|
||||
z index: 1
|
||||
font:
|
||||
name: { font_field(field: "name", value: "name")}
|
||||
size: { font_field(field: "name", value: "size")}
|
||||
weight: { font_field(field: "name", value: "weight")}
|
||||
color: black
|
||||
casting cost:
|
||||
right: 346
|
||||
top: 29
|
||||
width: { max(30, card_style.casting_cost.content_width) + 5 }
|
||||
height: 23
|
||||
alignment: middle right
|
||||
font:
|
||||
name: MPlantin
|
||||
size: 15
|
||||
symbol font:
|
||||
name: magic-mana-large-extra-m15
|
||||
size: 15
|
||||
alignment: middle right
|
||||
always symbol: true
|
||||
z index: 2
|
||||
padding top: 0
|
||||
card symbol:
|
||||
left:
|
||||
{if card.card_symbol == "none" then 20
|
||||
else if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 30
|
||||
else 50}
|
||||
top: {if card.card_symbol == "none" then 40 else 29}
|
||||
height: 20
|
||||
width: 14
|
||||
z index: 1
|
||||
render style: image
|
||||
choice images:
|
||||
tombstone: tombstone.png
|
||||
type symbol:
|
||||
left: {if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 18 else 27}
|
||||
top: {if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 20 else 30}
|
||||
width: 21
|
||||
height: 20
|
||||
z index: 5
|
||||
render style: image
|
||||
alignment: middle center
|
||||
visible: { contains(styling.extras, match:"type symbol with name") }
|
||||
choice images:
|
||||
artifact: type-symbols/artifact_black.png
|
||||
creature: type-symbols/creature_black.png
|
||||
enchantment: type-symbols/enchantment_black.png
|
||||
instant: type-symbols/instant_black.png
|
||||
land: type-symbols/land_black.png
|
||||
multitype: type-symbols/multitype_black.png
|
||||
sorcery: type-symbols/sorcery_black.png
|
||||
planeswalker: type-symbols/planeswalker_black.png
|
||||
structure: type-symbols/structure_black.png
|
||||
############################# Image
|
||||
image:
|
||||
left: 29
|
||||
top: 59
|
||||
width: 316
|
||||
height: 231
|
||||
z index: 1
|
||||
default: {default_image(card.card_color)}
|
||||
image 2:
|
||||
left: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).0 else "0"}
|
||||
top: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).1 else "0"}
|
||||
width: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).2 else "0"}
|
||||
height: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).3 else "0"}
|
||||
z index: 1
|
||||
############################# Card type
|
||||
indicator:
|
||||
left: 31
|
||||
top: 300
|
||||
width: 17
|
||||
height: 17
|
||||
z index: 2
|
||||
render style: image
|
||||
visible: { has_identity() }
|
||||
image: { card_identity() }
|
||||
type:
|
||||
left: { if has_identity() then "52" else "32" }
|
||||
top: { font_field(field: "type", value: "top")}
|
||||
width: { (if has_identity() then "290" else "310") - max(22,card_style.rarity.content_width) }
|
||||
height: 20
|
||||
alignment: top shrink-overflow
|
||||
z index: 2
|
||||
padding top: 2
|
||||
font:
|
||||
name: { font_field(field: "type", value: "name")}
|
||||
size: { font_field(field: "type", value: "size")}
|
||||
weight: { font_field(field: "type", value: "weight")}
|
||||
color: black
|
||||
separator color: red
|
||||
rarity:
|
||||
right: 344
|
||||
top: 297
|
||||
width: 44
|
||||
height: 22
|
||||
z index: 2
|
||||
render style: image
|
||||
alignment: middle right
|
||||
choice images:
|
||||
# Images based on the set symbol
|
||||
basic land:
|
||||
script:
|
||||
if contains(styling.regular_options, match:"inverted common symbol") then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
|
||||
else symbol_variation(symbol: set.symbol, variation: "common")
|
||||
common:
|
||||
script:
|
||||
if contains(styling.regular_options, match:"inverted common symbol") then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
|
||||
else symbol_variation(symbol: set.symbol, variation: "common")
|
||||
uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon")
|
||||
rare: script: symbol_variation(symbol: set.symbol, variation: "rare")
|
||||
mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare")
|
||||
special: script: symbol_variation(symbol: set.symbol, variation: "special")
|
||||
masterpiece: script: symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare")
|
||||
############################# Text box
|
||||
text:
|
||||
left: 29
|
||||
top: { 327 - (-chop_top()) }
|
||||
width: 314
|
||||
bottom: { 481 - chop_bot() }
|
||||
font:
|
||||
name: { font_field(field: "text", value: "name")}
|
||||
italic name: { font_field(field: "text", value: "italic")}
|
||||
size: { font_field(field: "text", value: "size")}
|
||||
weight: { font_field(field: "text", value: "weight")}
|
||||
scale down to: 6
|
||||
color: black
|
||||
symbol font:
|
||||
name: { styling.text_box_mana_symbols }
|
||||
size: 14
|
||||
alignment:
|
||||
script:
|
||||
if contains(styling.regular_options, match:"center text") then "middle center"
|
||||
else "middle left"
|
||||
z index: 2
|
||||
padding left: 6
|
||||
padding right: 4
|
||||
line height hard: 1.2
|
||||
line height line: 1.5
|
||||
line height soft: 0.9
|
||||
line height hard max: 1.3
|
||||
line height line max: 1.6
|
||||
############################# PT
|
||||
pt:
|
||||
z index: 2
|
||||
left: 286
|
||||
top: 469
|
||||
width: 60
|
||||
height: 28
|
||||
alignment: center middle shrink-overflow
|
||||
font:
|
||||
name: { font_field(field: "pt", value: "name")}
|
||||
size: { font_field(field: "pt", value: "size")}
|
||||
weight: { font_field(field: "pt", value: "weight")}
|
||||
color: black
|
||||
separator color: red
|
||||
symbol font:
|
||||
name: {styling.pt_box_symbols}
|
||||
size: 8
|
||||
alignment: middle right
|
||||
############################# Card sorting / numbering
|
||||
set code:
|
||||
left: 24
|
||||
top: 498
|
||||
width: 40
|
||||
height: 10
|
||||
z index: 1
|
||||
font:
|
||||
name: Relay-Medium
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
############################# Copyright stuff
|
||||
illustrator:
|
||||
left: { 44 + card_style.set_code.content_width }
|
||||
top: 497.5
|
||||
width: 200
|
||||
height: 10
|
||||
z index: 1
|
||||
font:
|
||||
name: Beleren Small Caps Bold
|
||||
size: 7.5
|
||||
color: white
|
||||
copyright:
|
||||
right: 350
|
||||
top: { if card.pt != "" then 500 else 488 }
|
||||
width: 140
|
||||
height: 10
|
||||
z index: 2
|
||||
visible: {not set.automatic_copyright}
|
||||
alignment: middle right shrink-overflow
|
||||
font:
|
||||
name: Matrix
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
############################################################## Extra card fields
|
||||
extra card field:
|
||||
type: text
|
||||
name: card code
|
||||
save value: false
|
||||
script:
|
||||
if set.automatic_card_numbers and not is_unsorted() then
|
||||
forward_editor(prefix: card_number_m15() + "/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text)
|
||||
else
|
||||
combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card.card_code_text)
|
||||
extra card field:
|
||||
type: choice
|
||||
name: artist arrow
|
||||
editable: false
|
||||
save value: false
|
||||
choice: white
|
||||
save value: false
|
||||
extra card field:
|
||||
type: multiple choice
|
||||
name: stamp
|
||||
empty choice: colorless
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice:
|
||||
name: pink
|
||||
line below: true
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: land
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice:
|
||||
name: hybrid
|
||||
line below: true
|
||||
choice:
|
||||
name: horizontal
|
||||
type: radio
|
||||
choice:
|
||||
name: vertical
|
||||
type: radio
|
||||
choice:
|
||||
name: radial
|
||||
type: radio
|
||||
choice:
|
||||
name: diagonal
|
||||
type: radio
|
||||
choice:
|
||||
name: overlay
|
||||
type: radio
|
||||
choice:
|
||||
name: reversed
|
||||
script: card_color_filter(value)
|
||||
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
|
||||
extra card field:
|
||||
type: multiple choice
|
||||
name: pt box
|
||||
empty choice: colorless
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice:
|
||||
name: pink
|
||||
line below: true
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: land
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice:
|
||||
name: hybrid
|
||||
line below: true
|
||||
choice:
|
||||
name: horizontal
|
||||
type: radio
|
||||
choice:
|
||||
name: vertical
|
||||
type: radio
|
||||
choice:
|
||||
name: radial
|
||||
type: radio
|
||||
choice:
|
||||
name: diagonal
|
||||
type: radio
|
||||
choice:
|
||||
name: overlay
|
||||
type: radio
|
||||
choice:
|
||||
name: reversed
|
||||
script: card_color_filter(value)
|
||||
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
|
||||
extra card field:
|
||||
type: choice
|
||||
name: foil stamp
|
||||
choice: stamp
|
||||
save value: false
|
||||
editable: false
|
||||
extra card field:
|
||||
type: choice
|
||||
name: foil layer
|
||||
choice: foil
|
||||
save value: false
|
||||
editable: false
|
||||
extra card field:
|
||||
type: choice
|
||||
name: emblem
|
||||
include file: watermarks/watermark-names
|
||||
extra card field:
|
||||
type: choice
|
||||
name: emblem 2
|
||||
include file: watermarks/watermark-names
|
||||
extra card field:
|
||||
type: text
|
||||
name: creator computer
|
||||
save value: false
|
||||
editable: false
|
||||
show statistics: false
|
||||
script: ":"
|
||||
extra card field:
|
||||
type: text
|
||||
name: creator
|
||||
save value: true
|
||||
show statistics: false
|
||||
editable: true
|
||||
extra card field:
|
||||
type: text
|
||||
name: promo label
|
||||
save value: true
|
||||
description: The golden promo label.
|
||||
extra card field:
|
||||
type: multiple choice
|
||||
name: frame
|
||||
empty choice: colorless
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice:
|
||||
name: pink
|
||||
line below: true
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: land
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice:
|
||||
name: hybrid
|
||||
line below: true
|
||||
choice:
|
||||
name: horizontal
|
||||
type: radio
|
||||
choice:
|
||||
name: vertical
|
||||
type: radio
|
||||
choice:
|
||||
name: radial
|
||||
type: radio
|
||||
choice:
|
||||
name: diagonal
|
||||
type: radio
|
||||
choice:
|
||||
name: overlay
|
||||
type: radio
|
||||
choice:
|
||||
name: reversed
|
||||
script: card_color_filter(value)
|
||||
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
|
||||
extra card field:
|
||||
type: choice
|
||||
name: clock watermark
|
||||
save value: false
|
||||
editable: false
|
||||
script: "clock"
|
||||
extra card field:
|
||||
type: choice
|
||||
name: alchemist watermark
|
||||
save value: false
|
||||
editable: false
|
||||
script: "alchemy"
|
||||
extra card field:
|
||||
type: choice
|
||||
name: frost effect
|
||||
save value: false
|
||||
editable: false
|
||||
script: "frost"
|
||||
extra card field:
|
||||
type: choice
|
||||
name: runes
|
||||
save value: false
|
||||
editable: false
|
||||
script: "runes"
|
||||
extra card field:
|
||||
type: text
|
||||
name: auto copyright
|
||||
script: set.copyright
|
||||
save value: false
|
||||
editable: false
|
||||
show statistics: false
|
||||
extra card style:
|
||||
card code:
|
||||
left: 24
|
||||
top: 488
|
||||
width: 120
|
||||
height: 10
|
||||
z index: 1
|
||||
font:
|
||||
name: Relay-Medium
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
artist arrow:
|
||||
left: { 28 + card_style.set_code.content_width }
|
||||
top: 500
|
||||
width: 12
|
||||
height: 7
|
||||
z index: 1
|
||||
render style: image
|
||||
image: artist_arrow.png
|
||||
stamp:
|
||||
left: 165
|
||||
top: 472
|
||||
width: 46
|
||||
height: 26
|
||||
z index: 1
|
||||
visible: { is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") }
|
||||
render style: image
|
||||
image: { card_stamp() }
|
||||
pt box:
|
||||
left: 273
|
||||
top: 466
|
||||
width: 81
|
||||
height: 42
|
||||
z index: 1
|
||||
visible: { card.pt != "" }
|
||||
render style: image
|
||||
image: { card_ptbox() }
|
||||
foil stamp:
|
||||
left: 165
|
||||
top: 472
|
||||
width: 46
|
||||
height: 26
|
||||
z index: 1
|
||||
visible: { is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") }
|
||||
render style: image
|
||||
image: foil_stamp.png
|
||||
foil layer:
|
||||
left: 0
|
||||
top : 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 3
|
||||
render style: image
|
||||
image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"}
|
||||
mask: { if is_rare() then "masks/foil_mask_rare.png" else "masks/foil_mask.png" }
|
||||
emblem:
|
||||
left: { if contains(styling.extras, match:"double watermarks") then 48 else 117 }
|
||||
top: 321
|
||||
width: 138
|
||||
height: 166
|
||||
z index: 1
|
||||
render style: image
|
||||
popup style: in place
|
||||
alignment: middle center
|
||||
include file: watermarks/watermarks
|
||||
emblem 2:
|
||||
left: { if contains(styling.extras, match:"double watermarks") then 186 else 500 }
|
||||
top: 321
|
||||
width: 138
|
||||
height: 166
|
||||
z index: 1
|
||||
render style: image
|
||||
popup style: in place
|
||||
alignment: middle center
|
||||
include file: watermarks/watermarks
|
||||
creator computer:
|
||||
left: { 48 + card_style.set_code.content_width + card_style.illustrator.content_width }
|
||||
top: 497.5
|
||||
width: 10
|
||||
height: 10
|
||||
z index: 1
|
||||
visible: { contains(styling.extras, match:"card creator credit field") }
|
||||
font:
|
||||
name: Wingdings
|
||||
size: 8.5
|
||||
weight: bold
|
||||
color: white
|
||||
creator:
|
||||
left: { 62 + card_style.set_code.content_width + card_style.illustrator.content_width }
|
||||
top: 497.5
|
||||
width: 100
|
||||
height: 10
|
||||
z index: 1
|
||||
visible: { contains(styling.extras, match:"card creator credit field") }
|
||||
font:
|
||||
name: Beleren Small Caps Bold
|
||||
size: 7.5
|
||||
color: white
|
||||
promo label:
|
||||
left: 40
|
||||
top: 262
|
||||
width: 295
|
||||
height: 29
|
||||
alignment: middle right
|
||||
z index: 4
|
||||
font:
|
||||
name: { if contains(styling.extras, match:"holiday promo text") then "MagicMedieval" else "ModMatrix" }
|
||||
size: 14
|
||||
color: { if contains(styling.extras, match:"holiday promo text") then rgb(217,0,0) else rgb(223,169,41) }
|
||||
frame:
|
||||
left: 0
|
||||
top: 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 0
|
||||
render style: image
|
||||
popup style: in place
|
||||
image: { card_background() }
|
||||
clock watermark:
|
||||
left: 28
|
||||
top: 326
|
||||
width: 318
|
||||
height: 157
|
||||
z index: 4
|
||||
render style: image
|
||||
image: clock_watermark.png
|
||||
visible: { contains(styling.extras, match: "clock watermark") }
|
||||
mask: { if is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") then "masks/mask_fullsize_watermarks.png" else nil }
|
||||
alchemist watermark:
|
||||
left: 28
|
||||
top: 326
|
||||
width: 318
|
||||
height: 157
|
||||
z index: 4
|
||||
render style: image
|
||||
image: alchemy_watermark.png
|
||||
visible: { contains(styling.extras, match: "alchemist watermark") }
|
||||
mask: { if is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") then "masks/mask_fullsize_watermarks.png" else nil }
|
||||
frost effect:
|
||||
left: 0
|
||||
top: 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 4
|
||||
render style: image
|
||||
image: frost.png
|
||||
visible: { contains(styling.extras, match: "frost effect") }
|
||||
runes:
|
||||
left: 0
|
||||
top: 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 4
|
||||
render style: image
|
||||
image: runes.png
|
||||
visible: { contains(styling.extras, match: "runes") }
|
||||
mask: masks/rune_mask.png
|
||||
auto copyright:
|
||||
right: 350
|
||||
top: { if card.pt != "" then 500 else 488 }
|
||||
width: 140
|
||||
height: 10
|
||||
z index: 2
|
||||
alignment: middle right shrink-overflow
|
||||
visible: {set.automatic_copyright}
|
||||
font:
|
||||
name: Matrix
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
828
data/magic-m15-extra.mse-style/style_experiment
Normal file
@@ -0,0 +1,828 @@
|
||||
mse version: 2.0.0
|
||||
game: magic
|
||||
short name: M15 Extra
|
||||
full name: M15 with Extra Features
|
||||
icon: card-sample.png
|
||||
installer group: magic/m15 style/normal cards/with extra features
|
||||
position hint: 008
|
||||
|
||||
version: 2015-07-01
|
||||
depends on:
|
||||
package: magic.mse-game
|
||||
version: 2015-04-08
|
||||
depends on:
|
||||
package: magic-default-image.mse-include
|
||||
version: 2007-09-23
|
||||
depends on:
|
||||
package: magic-mana-large-extra-m15.mse-symbol-font
|
||||
version: 2014-03-11
|
||||
depends on:
|
||||
package: magic-mana-small-extra-m15.mse-symbol-font
|
||||
version: 2014-03-11
|
||||
depends on:
|
||||
package: magic-pt-symbols-extra-m15.mse-symbol-font
|
||||
version: 2014-03-20
|
||||
|
||||
card width: 375
|
||||
card height: 523
|
||||
card dpi: 150
|
||||
############################################################## Extra scripts
|
||||
init script:
|
||||
# Load scripts that are redefined from the game file
|
||||
include file: game_scripts
|
||||
|
||||
# Load scripts that are redefined from the blends package
|
||||
include file: blends_scripts
|
||||
|
||||
# Load scripts for image box
|
||||
include file: /magic-default-image.mse-include/scripts
|
||||
|
||||
# Load font profiles
|
||||
include file: font_new
|
||||
include file: font_phyrexian
|
||||
include file: font_old
|
||||
include file: font_m15
|
||||
|
||||
# Should hybrids have a grey name?
|
||||
mask_hybrid_with_land := { contains(styling.regular_options, match:"grey hybrid names") }
|
||||
|
||||
#Should multicolor lands with basic land types have a colored name?
|
||||
mask_multi_land_with_color := { contains(styling.regular_options, match:"colored multicolor land names") }
|
||||
|
||||
template_prefix := [card: "" pt: "" stamp: "" identity: ""]
|
||||
template_suffix := [card: "card.jpg" pt: "pt.png" stamp: "stamp.jpg" identity: "identity.png"]
|
||||
template := { template_prefix[type] + input + template_suffix[type] }
|
||||
land_template := { template_prefix[type] + (if input == "a" or input == "s" then "c" else input) + "l" + template_suffix[type] }
|
||||
# Use land templates for previews because they show more contrast
|
||||
hybrid_previews := "land,hybrid"
|
||||
|
||||
# Use the normal tap symbol
|
||||
mana_t := {
|
||||
if styling.tap_symbol == "old" then "old"
|
||||
else if styling.tap_symbol == "diagonal T" then "older"
|
||||
else "new"
|
||||
}
|
||||
|
||||
# Use guild mana symbols?
|
||||
guild_mana := { contains(styling.regular_options, match:"guild mana symbols") }
|
||||
|
||||
# Filter to commas, so they can be counted to see if field is complete
|
||||
comma_count := filter_text@(match:",")
|
||||
|
||||
# Interpret the font profile choice.
|
||||
font_profile := {
|
||||
if styling.font_style == "Phyrexian" then "phyrexian"
|
||||
else if styling.font_style == "Before 8th Edition" then "old"
|
||||
else if styling.font_style == "After 8th Edition" then "new"
|
||||
else "m15"
|
||||
}
|
||||
|
||||
font_field := {
|
||||
if font_profile() == "m15" then (
|
||||
if field == "name" then font_name_m15[value]
|
||||
else if field == "type" then font_type_m15[value]
|
||||
else if field == "text" then font_text_m15[value]
|
||||
else if field == "pt" then font_pt_m15[value]
|
||||
)
|
||||
else if font_profile() == "new" then (
|
||||
if field == "name" then font_name_new[value]
|
||||
else if field == "type" then font_type_new[value]
|
||||
else if field == "text" then font_text_new[value]
|
||||
else if field == "pt" then font_pt_new[value]
|
||||
)
|
||||
else if font_profile() == "phyrexian" then (
|
||||
if field == "name" then font_name_phyrexian[value]
|
||||
else if field == "type" then font_type_phyrexian[value]
|
||||
else if field == "text" then font_text_phyrexian[value]
|
||||
else if field == "pt" then font_pt_phyrexian[value]
|
||||
)
|
||||
else if font_profile() == "old" then (
|
||||
if field == "name" then font_name_old[value]
|
||||
else if field == "type" then font_type_old[value]
|
||||
else if field == "text" then font_text_old[value]
|
||||
else if field == "pt" then font_pt_old[value]
|
||||
)
|
||||
}
|
||||
|
||||
# Is the card a promo card?
|
||||
is_promo := { styling.promo }
|
||||
|
||||
############################################################## Set info fields
|
||||
set info style:
|
||||
symbol:
|
||||
variation:
|
||||
name: invertedcommon
|
||||
border radius: 0.10
|
||||
fill type: solid
|
||||
fill color: rgb(255,255,255)
|
||||
border color: rgb(0,0,0)
|
||||
############################################################## Extra style options
|
||||
styling field:
|
||||
type: choice
|
||||
name: font style
|
||||
description: Which font style should be used?
|
||||
choice: After Magic 2015
|
||||
choice: After 8th Edition
|
||||
choice: Before 8th Edition
|
||||
choice: Phyrexian
|
||||
initial: After Magic 2015
|
||||
styling field:
|
||||
type: multiple choice
|
||||
name: regular options
|
||||
description: Which regular styling options would you like to use?
|
||||
choice: center text
|
||||
choice: color indicator dot
|
||||
choice: colored multicolor land names
|
||||
choice: grey hybrid names
|
||||
choice: guild mana symbols
|
||||
choice: holofoil stamped rares
|
||||
choice: promo rarity
|
||||
choice: inverted common symbol
|
||||
initial: colored multicolor land names, grey hybrid names, holofoil stamped rares
|
||||
styling field:
|
||||
type: multiple choice
|
||||
name: extras
|
||||
description: Which extra options would you like to use?
|
||||
choice: pichoro's alchemist watermark
|
||||
choice: alpha style dual lands
|
||||
choice: card creator credit field
|
||||
choice: takeabow's clock watermark
|
||||
choice: advent's colored xyz mana
|
||||
choice: circeus' colorless-colored hybrid
|
||||
choice: anuttymous' frost effect
|
||||
choice: holiday promo text
|
||||
choice: dark nova's runes
|
||||
choice: lesurgo's spell-land hybrid
|
||||
choice: circeus' tinged artifact hybrid
|
||||
choice: type symbol with name
|
||||
choice: unsorted casting cost
|
||||
styling field:
|
||||
type: choice
|
||||
name: tap symbol
|
||||
description: What tap and untap symbols should be used on cards?
|
||||
initial: modern
|
||||
choice: modern
|
||||
choice: old
|
||||
choice: diagonal T
|
||||
styling field:
|
||||
type: package choice
|
||||
name: text box mana symbols
|
||||
match: magic-mana-*.mse-symbol-font
|
||||
initial: magic-mana-small-extra-m15.mse-symbol-font
|
||||
styling field:
|
||||
type: package choice
|
||||
name: pt box symbols
|
||||
match: magic-pt-symbols-*.mse-symbol-font
|
||||
initial: magic-pt-symbols-extra.mse-symbol-font
|
||||
styling field:
|
||||
type: package choice
|
||||
name: overlay
|
||||
description: Should there be an overlay applied, such as foil?
|
||||
match: magic-overlay-*.mse-include
|
||||
required: false
|
||||
styling field:
|
||||
type: symbol
|
||||
name: mythic rare accent
|
||||
description: This symbol field is used to hold the white accent that should appear on mythic rares.
|
||||
styling field:
|
||||
type: choice
|
||||
name: outer color
|
||||
description: Should the outside of the frame be a special color?
|
||||
choice: default
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice: pink
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice: colorless
|
||||
styling field:
|
||||
type: choice
|
||||
name: trim color
|
||||
description: Should the trim of the frame be a special color?
|
||||
choice: default
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice: pink
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice: colorless
|
||||
styling field:
|
||||
type: choice
|
||||
name: inner color
|
||||
description: Should the inside of the frame be a special color?
|
||||
choice: default
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice: pink
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice: colorless
|
||||
styling field:
|
||||
type: text
|
||||
name: popout image style
|
||||
description: The styling instructions for the popout image field, formatted as "left,top,width,height,". The text MUST end with a comma.
|
||||
styling style:
|
||||
tap symbol:
|
||||
render style: both
|
||||
choice images:
|
||||
modern: /magic-mana-large-extra-m15.mse-symbol-font/mana_t.png
|
||||
old: /magic-mana-large-extra-m15.mse-symbol-font/mana_t_old.png
|
||||
diagonal T: /magic-mana-large-extra-m15.mse-symbol-font/mana_t_older.png
|
||||
regular options:
|
||||
render style: checklist
|
||||
direction: vertical
|
||||
extras:
|
||||
render style: checklist
|
||||
direction: vertical
|
||||
############################################################## Card fields
|
||||
card style:
|
||||
############################# Background stuff
|
||||
############################# Name line
|
||||
name:
|
||||
left:
|
||||
{ if card.card_symbol=="none" and (card.type_symbol=="none" or not contains(styling.extras, match:"type symbol with name")) then 32
|
||||
else if card.card_symbol == "none" then 49
|
||||
else if card.type_symbol == "none" or ( not contains(styling.extras, match:"type symbol with name")) then 49
|
||||
else 67}
|
||||
top: { font_field(field: "name", value: "top")}
|
||||
right: { 341 - card_style.casting_cost.content_width }
|
||||
height: 23
|
||||
alignment: bottom shrink-overflow
|
||||
padding bottom: 0
|
||||
z index: 1
|
||||
font:
|
||||
name: { font_field(field: "name", value: "name")}
|
||||
size: { font_field(field: "name", value: "size")}
|
||||
weight: { font_field(field: "name", value: "weight")}
|
||||
color: black
|
||||
casting cost:
|
||||
right: 346
|
||||
top: 29
|
||||
width: { max(30, card_style.casting_cost.content_width) + 5 }
|
||||
height: 23
|
||||
alignment: middle right
|
||||
font:
|
||||
name: MPlantin
|
||||
size: 15
|
||||
symbol font:
|
||||
name: magic-mana-large-extra-m15
|
||||
size: 15
|
||||
alignment: middle right
|
||||
always symbol: true
|
||||
z index: 2
|
||||
padding top: 0
|
||||
card symbol:
|
||||
left:
|
||||
{if card.card_symbol == "none" then 20
|
||||
else if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 30
|
||||
else 50}
|
||||
top: {if card.card_symbol == "none" then 40 else 29}
|
||||
height: 20
|
||||
width: 14
|
||||
z index: 1
|
||||
render style: image
|
||||
choice images:
|
||||
tombstone: tombstone.png
|
||||
type symbol:
|
||||
left: {if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 18 else 27}
|
||||
top: {if card.type_symbol == "none" or not contains(styling.extras, match:"type symbol with name") then 20 else 30}
|
||||
width: 21
|
||||
height: 20
|
||||
z index: 5
|
||||
render style: image
|
||||
alignment: middle center
|
||||
visible: { contains(styling.extras, match:"type symbol with name") }
|
||||
choice images:
|
||||
artifact: type-symbols/artifact_black.png
|
||||
creature: type-symbols/creature_black.png
|
||||
enchantment: type-symbols/enchantment_black.png
|
||||
instant: type-symbols/instant_black.png
|
||||
land: type-symbols/land_black.png
|
||||
multitype: type-symbols/multitype_black.png
|
||||
sorcery: type-symbols/sorcery_black.png
|
||||
planeswalker: type-symbols/planeswalker_black.png
|
||||
structure: type-symbols/structure_black.png
|
||||
############################# Image
|
||||
image:
|
||||
left: 29
|
||||
top: 60
|
||||
width: 316
|
||||
height: 231
|
||||
z index: 1
|
||||
default: {default_image(card.card_color)}
|
||||
image 2:
|
||||
left: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).0 else "0"}
|
||||
top: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).1 else "0"}
|
||||
width: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).2 else "0"}
|
||||
height: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).3 else "0"}
|
||||
z index: 1
|
||||
############################# Card type
|
||||
indicator:
|
||||
left: 31
|
||||
top: 300
|
||||
width: 17
|
||||
height: 17
|
||||
z index: 2
|
||||
render style: image
|
||||
visible: { has_identity() }
|
||||
image: { card_identity() }
|
||||
type:
|
||||
left: { if has_identity() then "52" else "32" }
|
||||
top: { font_field(field: "type", value: "top")}
|
||||
width: { (if has_identity() then "290" else "310") - max(22,card_style.rarity.content_width) }
|
||||
height: 20
|
||||
alignment: top shrink-overflow
|
||||
z index: 2
|
||||
padding top: 2
|
||||
font:
|
||||
name: { font_field(field: "type", value: "name")}
|
||||
size: { font_field(field: "type", value: "size")}
|
||||
weight: { font_field(field: "type", value: "weight")}
|
||||
color: black
|
||||
separator color: red
|
||||
rarity:
|
||||
right: 344
|
||||
top: 297
|
||||
width: 44
|
||||
height: 22
|
||||
z index: 2
|
||||
render style: image
|
||||
alignment: middle right
|
||||
choice images:
|
||||
# Images based on the set symbol
|
||||
basic land:
|
||||
script:
|
||||
if contains(styling.regular_options, match:"inverted common symbol") then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
|
||||
else symbol_variation(symbol: set.symbol, variation: "common")
|
||||
common:
|
||||
script:
|
||||
if contains(styling.regular_options, match:"inverted common symbol") then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
|
||||
else symbol_variation(symbol: set.symbol, variation: "common")
|
||||
uncommon: script: symbol_variation(symbol: set.symbol, variation: "uncommon")
|
||||
rare: script: symbol_variation(symbol: set.symbol, variation: "rare")
|
||||
mythic rare: script: symbol_variation(symbol: set.symbol, variation: "mythic rare")
|
||||
special: script: symbol_variation(symbol: set.symbol, variation: "special")
|
||||
############################# Text box
|
||||
text:
|
||||
left: 29
|
||||
top: 327
|
||||
width: 314
|
||||
height: 154
|
||||
font:
|
||||
name: { font_field(field: "text", value: "name")}
|
||||
italic name: { font_field(field: "text", value: "italic")}
|
||||
size: { font_field(field: "text", value: "size")}
|
||||
weight: { font_field(field: "text", value: "weight")}
|
||||
scale down to: 6
|
||||
color: black
|
||||
symbol font:
|
||||
name: { styling.text_box_mana_symbols }
|
||||
size: 14
|
||||
alignment:
|
||||
script:
|
||||
if contains(styling.regular_options, match:"center text") then "middle center"
|
||||
else "middle left"
|
||||
z index: 2
|
||||
padding left: 6
|
||||
padding right: 4
|
||||
line height hard: 1.2
|
||||
line height line: 1.5
|
||||
line height soft: 0.9
|
||||
line height hard max: 1.3
|
||||
line height line max: 1.6
|
||||
############################# PT
|
||||
pt:
|
||||
z index: 2
|
||||
left: 286
|
||||
top: 469
|
||||
width: 60
|
||||
height: 28
|
||||
alignment: center middle shrink-overflow
|
||||
font:
|
||||
name: { font_field(field: "pt", value: "name")}
|
||||
size: { font_field(field: "pt", value: "size")}
|
||||
weight: { font_field(field: "pt", value: "weight")}
|
||||
color: black
|
||||
separator color: red
|
||||
symbol font:
|
||||
name: {styling.pt_box_symbols}
|
||||
size: 8
|
||||
alignment: middle right
|
||||
############################# Card sorting / numbering
|
||||
set code:
|
||||
left: 24
|
||||
top: 498
|
||||
width: 40
|
||||
height: 10
|
||||
z index: 1
|
||||
font:
|
||||
name: Relay-Medium
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
############################# Copyright stuff
|
||||
illustrator:
|
||||
left: { 44 + card_style.set_code.content_width }
|
||||
top: 497.5
|
||||
width: 200
|
||||
height: 10
|
||||
z index: 1
|
||||
font:
|
||||
name: Beleren Small Caps Bold
|
||||
size: 7.5
|
||||
color: white
|
||||
copyright:
|
||||
right: 350
|
||||
top: { if card.pt != "" then 500 else 488 }
|
||||
width: 140
|
||||
height: 10
|
||||
z index: 2
|
||||
alignment: middle right shrink-overflow
|
||||
font:
|
||||
name: Matrix
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
############################################################## Extra card fields
|
||||
extra card field:
|
||||
type: choice
|
||||
name: mythic rare accent
|
||||
save value: false
|
||||
editable: false
|
||||
choice: accent
|
||||
extra card field:
|
||||
type: text
|
||||
name: card code
|
||||
save value: false
|
||||
script: forward_editor(prefix: card_number_m15() + "/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text)
|
||||
extra card field:
|
||||
type: choice
|
||||
name: artist arrow
|
||||
editable: false
|
||||
save value: false
|
||||
choice: white
|
||||
save value: false
|
||||
extra card field:
|
||||
type: multiple choice
|
||||
name: stamp
|
||||
empty choice: colorless
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice:
|
||||
name: pink
|
||||
line below: true
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: land
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice:
|
||||
name: hybrid
|
||||
line below: true
|
||||
choice:
|
||||
name: horizontal
|
||||
type: radio
|
||||
choice:
|
||||
name: vertical
|
||||
type: radio
|
||||
choice:
|
||||
name: radial
|
||||
type: radio
|
||||
choice:
|
||||
name: diagonal
|
||||
type: radio
|
||||
choice:
|
||||
name: overlay
|
||||
type: radio
|
||||
choice:
|
||||
name: reversed
|
||||
script: card_color_filter(value)
|
||||
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
|
||||
extra card field:
|
||||
type: multiple choice
|
||||
name: pt box
|
||||
empty choice: colorless
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice:
|
||||
name: pink
|
||||
line below: true
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: land
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice:
|
||||
name: hybrid
|
||||
line below: true
|
||||
choice:
|
||||
name: horizontal
|
||||
type: radio
|
||||
choice:
|
||||
name: vertical
|
||||
type: radio
|
||||
choice:
|
||||
name: radial
|
||||
type: radio
|
||||
choice:
|
||||
name: diagonal
|
||||
type: radio
|
||||
choice:
|
||||
name: overlay
|
||||
type: radio
|
||||
choice:
|
||||
name: reversed
|
||||
script: card_color_filter(value)
|
||||
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
|
||||
extra card field:
|
||||
type: choice
|
||||
name: foil stamp
|
||||
choice: stamp
|
||||
save value: false
|
||||
editable: false
|
||||
extra card field:
|
||||
type: choice
|
||||
name: foil layer
|
||||
choice: foil
|
||||
save value: false
|
||||
editable: false
|
||||
extra card field:
|
||||
type: choice
|
||||
name: emblem
|
||||
include file: watermarks/watermark-names
|
||||
extra card field:
|
||||
type: text
|
||||
name: creator computer
|
||||
save value: false
|
||||
editable: false
|
||||
show statistics: false
|
||||
script: ":"
|
||||
extra card field:
|
||||
type: text
|
||||
name: creator
|
||||
save value: true
|
||||
show statistics: false
|
||||
editable: true
|
||||
extra card field:
|
||||
type: text
|
||||
name: promo label
|
||||
save value: true
|
||||
description: The golden promo label.
|
||||
extra card field:
|
||||
type: multiple choice
|
||||
name: frame
|
||||
empty choice: colorless
|
||||
choice: white
|
||||
choice: blue
|
||||
choice: black
|
||||
choice: red
|
||||
choice: green
|
||||
choice: purple
|
||||
choice:
|
||||
name: pink
|
||||
line below: true
|
||||
choice: artifact
|
||||
choice: snow
|
||||
choice: land
|
||||
choice: multicolor
|
||||
choice: spectral
|
||||
choice:
|
||||
name: hybrid
|
||||
line below: true
|
||||
choice:
|
||||
name: horizontal
|
||||
type: radio
|
||||
choice:
|
||||
name: vertical
|
||||
type: radio
|
||||
choice:
|
||||
name: radial
|
||||
type: radio
|
||||
choice:
|
||||
name: diagonal
|
||||
type: radio
|
||||
choice:
|
||||
name: overlay
|
||||
type: radio
|
||||
choice:
|
||||
name: reversed
|
||||
script: card_color_filter(value)
|
||||
default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name)
|
||||
extra card field:
|
||||
type: choice
|
||||
name: clock watermark
|
||||
save value: false
|
||||
editable: false
|
||||
script: "clock"
|
||||
extra card field:
|
||||
type: choice
|
||||
name: alchemist watermark
|
||||
save value: false
|
||||
editable: false
|
||||
script: "alchemy"
|
||||
extra card field:
|
||||
type: choice
|
||||
name: frost effect
|
||||
save value: false
|
||||
editable: false
|
||||
script: "frost"
|
||||
extra card field:
|
||||
type: choice
|
||||
name: runes
|
||||
save value: false
|
||||
editable: false
|
||||
script: "runes"
|
||||
extra card style:
|
||||
mythic rare accent:
|
||||
right: 344
|
||||
top: 297
|
||||
width: 44
|
||||
height: 22
|
||||
z index: 3
|
||||
render style: image
|
||||
visible: {card.rarity == "mythic rare"}
|
||||
alignment: middle right
|
||||
choice images:
|
||||
# Images based on the set symbol
|
||||
accent:
|
||||
script:
|
||||
symbol_variation(
|
||||
symbol: styling.mythic_rare_accent,
|
||||
border_radius: 0,
|
||||
fill_type: "solid",
|
||||
border_color: rgb(255,255,255),
|
||||
fill_color: rgba(0,0,0,0)
|
||||
)
|
||||
card code:
|
||||
left: 24
|
||||
top: 488
|
||||
width: 120
|
||||
height: 10
|
||||
z index: 1
|
||||
font:
|
||||
name: Relay-Medium
|
||||
size: 7
|
||||
color: white
|
||||
weight: bold
|
||||
artist arrow:
|
||||
left: { 28 + card_style.set_code.content_width }
|
||||
top: 500
|
||||
width: 12
|
||||
height: 7
|
||||
z index: 1
|
||||
render style: image
|
||||
image: artist_arrow.png
|
||||
stamp:
|
||||
left: 165
|
||||
top: 472
|
||||
width: 46
|
||||
height: 26
|
||||
z index: 1
|
||||
visible: { is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") }
|
||||
render style: image
|
||||
image: { card_stamp() }
|
||||
pt box:
|
||||
left: 273
|
||||
top: 466
|
||||
width: 81
|
||||
height: 42
|
||||
z index: 1
|
||||
visible: { card.pt != "" }
|
||||
render style: image
|
||||
image: { card_ptbox() }
|
||||
foil stamp:
|
||||
left: 165
|
||||
top: 472
|
||||
width: 46
|
||||
height: 26
|
||||
z index: 1
|
||||
visible: { is_rare() }
|
||||
render style: image
|
||||
image: foil_stamp.png
|
||||
foil layer:
|
||||
left: 0
|
||||
top : 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 3
|
||||
render style: image
|
||||
image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"}
|
||||
mask: { if is_rare() then "masks/foil_mask_rare.png" else "masks/foil_mask.png" }
|
||||
emblem:
|
||||
left: 117
|
||||
top: 321
|
||||
width: 138
|
||||
height: 166
|
||||
z index: 1
|
||||
render style: image
|
||||
popup style: in place
|
||||
alignment: middle center
|
||||
include file: watermarks/watermarks
|
||||
creator computer:
|
||||
left: { 48 + card_style.set_code.content_width + card_style.illustrator.content_width }
|
||||
top: 497.5
|
||||
width: 10
|
||||
height: 10
|
||||
z index: 1
|
||||
visible: { contains(styling.extras, match:"card creator credit field") }
|
||||
font:
|
||||
name: Wingdings
|
||||
size: 8.5
|
||||
weight: bold
|
||||
color: white
|
||||
creator:
|
||||
left: { 62 + card_style.set_code.content_width + card_style.illustrator.content_width }
|
||||
top: 497.5
|
||||
width: 100
|
||||
height: 10
|
||||
z index: 1
|
||||
visible: { contains(styling.extras, match:"card creator credit field") }
|
||||
font:
|
||||
name: Beleren Small Caps Bold
|
||||
size: 7.5
|
||||
color: white
|
||||
promo label:
|
||||
left: 40
|
||||
top: 262
|
||||
width: 295
|
||||
height: 29
|
||||
alignment: middle right
|
||||
z index: 4
|
||||
font:
|
||||
name: { if contains(styling.extras, match:"holiday promo text") then "MagicMedieval" else "ModMatrix" }
|
||||
size: 14
|
||||
color: { if contains(styling.extras, match:"holiday promo text") then rgb(217,0,0) else rgb(223,169,41) }
|
||||
frame:
|
||||
left: 0
|
||||
top: 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 0
|
||||
render style: image
|
||||
popup style: in place
|
||||
image: { card_background() }
|
||||
clock watermark:
|
||||
left: 28
|
||||
top: 326
|
||||
width: 318
|
||||
height: 157
|
||||
z index: 4
|
||||
render style: image
|
||||
image: clock_watermark.png
|
||||
visible: { contains(styling.extras, match: "clock watermark") }
|
||||
mask: { if is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") then "masks/mask_fullsize_watermarks.png" else nil }
|
||||
alchemist watermark:
|
||||
left: 28
|
||||
top: 326
|
||||
width: 318
|
||||
height: 157
|
||||
z index: 4
|
||||
render style: image
|
||||
image: alchemy_watermark.png
|
||||
visible: { contains(styling.extras, match: "alchemist watermark") }
|
||||
mask: { if is_rare() and contains(styling.regular_options, match:"holofoil stamped rares") then "masks/mask_fullsize_watermarks.png" else nil }
|
||||
frost effect:
|
||||
left: 0
|
||||
top: 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 4
|
||||
render style: image
|
||||
image: frost.png
|
||||
visible: { contains(styling.extras, match: "frost effect") }
|
||||
runes:
|
||||
left: 0
|
||||
top: 0
|
||||
width: 375
|
||||
height: 523
|
||||
z index: 4
|
||||
render style: image
|
||||
image: runes.png
|
||||
visible: { contains(styling.extras, match: "runes") }
|
||||
mask: masks/rune_mask.png
|
||||
BIN
data/magic-m15-extra.mse-style/tcard.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |