diff --git a/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Bold.otf b/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Bold.otf
new file mode 100644
index 000000000..48b6f834b
Binary files /dev/null and b/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Bold.otf differ
diff --git a/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Demi.otf b/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Demi.otf
new file mode 100644
index 000000000..9c22065a2
Binary files /dev/null and b/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Demi.otf differ
diff --git a/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Medium.otf b/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Medium.otf
new file mode 100644
index 000000000..6af1c03e0
Binary files /dev/null and b/Magic - Fonts/template specific fonts/Magic - Dungeon Module/Souvenir-Medium.otf differ
diff --git a/data/magic-deckbox-symbols.mse-symbol-font/bmana.png b/data/magic-deckbox-symbols.mse-symbol-font/bmana.png
new file mode 100644
index 000000000..1c9e81886
Binary files /dev/null and b/data/magic-deckbox-symbols.mse-symbol-font/bmana.png differ
diff --git a/data/magic-deckbox-symbols.mse-symbol-font/gmana.png b/data/magic-deckbox-symbols.mse-symbol-font/gmana.png
new file mode 100644
index 000000000..743b43b29
Binary files /dev/null and b/data/magic-deckbox-symbols.mse-symbol-font/gmana.png differ
diff --git a/data/magic-deckbox-symbols.mse-symbol-font/rmana.png b/data/magic-deckbox-symbols.mse-symbol-font/rmana.png
new file mode 100644
index 000000000..534cd1da5
Binary files /dev/null and b/data/magic-deckbox-symbols.mse-symbol-font/rmana.png differ
diff --git a/data/magic-deckbox-symbols.mse-symbol-font/symbol-font b/data/magic-deckbox-symbols.mse-symbol-font/symbol-font
new file mode 100644
index 000000000..2d94840fc
--- /dev/null
+++ b/data/magic-deckbox-symbols.mse-symbol-font/symbol-font
@@ -0,0 +1,35 @@
+mse version: 0.3.9
+version: 2020-02-07
+# Symbol font in the 'deckbox' style, used for commander decks
+short name: deckbox style
+installer group: magic/Mana symbols/popup style
+position hint: 020
+icon: rmana.png
+
+image font size: 135
+horizontal space: 2
+
+symbol:
+ code: W
+ image: wmana.png
+symbol:
+ code: U
+ image: umana.png
+symbol:
+ code: B
+ image: bmana.png
+symbol:
+ code: R
+ image: rmana.png
+symbol:
+ code: G
+ image: gmana.png
+
+##############################################################
+# Insert-symbol menu
+insert symbol menu:
+ item: W
+ item: U
+ item: B
+ item: R
+ item: G
\ No newline at end of file
diff --git a/data/magic-deckbox-symbols.mse-symbol-font/umana.png b/data/magic-deckbox-symbols.mse-symbol-font/umana.png
new file mode 100644
index 000000000..b3d3269ad
Binary files /dev/null and b/data/magic-deckbox-symbols.mse-symbol-font/umana.png differ
diff --git a/data/magic-deckbox-symbols.mse-symbol-font/wmana.png b/data/magic-deckbox-symbols.mse-symbol-font/wmana.png
new file mode 100644
index 000000000..2643c3e83
Binary files /dev/null and b/data/magic-deckbox-symbols.mse-symbol-font/wmana.png differ
diff --git a/data/magic-deckbox.mse-style/card-sample.png b/data/magic-deckbox.mse-style/card-sample.png
new file mode 100644
index 000000000..c6ab8f217
Binary files /dev/null and b/data/magic-deckbox.mse-style/card-sample.png differ
diff --git a/data/magic-deckbox.mse-style/corners.png b/data/magic-deckbox.mse-style/corners.png
new file mode 100644
index 000000000..5465d1727
Binary files /dev/null and b/data/magic-deckbox.mse-style/corners.png differ
diff --git a/data/magic-deckbox.mse-style/frame.png b/data/magic-deckbox.mse-style/frame.png
new file mode 100644
index 000000000..1e730a376
Binary files /dev/null and b/data/magic-deckbox.mse-style/frame.png differ
diff --git a/data/magic-deckbox.mse-style/legendary_foils.png b/data/magic-deckbox.mse-style/legendary_foils.png
new file mode 100644
index 000000000..83e698165
Binary files /dev/null and b/data/magic-deckbox.mse-style/legendary_foils.png differ
diff --git a/data/magic-deckbox.mse-style/magic_blue.png b/data/magic-deckbox.mse-style/magic_blue.png
new file mode 100644
index 000000000..9d9a4b384
Binary files /dev/null and b/data/magic-deckbox.mse-style/magic_blue.png differ
diff --git a/data/magic-deckbox.mse-style/magic_dark.png b/data/magic-deckbox.mse-style/magic_dark.png
new file mode 100644
index 000000000..a198b748c
Binary files /dev/null and b/data/magic-deckbox.mse-style/magic_dark.png differ
diff --git a/data/magic-deckbox.mse-style/magic_light.png b/data/magic-deckbox.mse-style/magic_light.png
new file mode 100644
index 000000000..6cc5f636f
Binary files /dev/null and b/data/magic-deckbox.mse-style/magic_light.png differ
diff --git a/data/magic-deckbox.mse-style/magic_yellow.png b/data/magic-deckbox.mse-style/magic_yellow.png
new file mode 100644
index 000000000..316f70eda
Binary files /dev/null and b/data/magic-deckbox.mse-style/magic_yellow.png differ
diff --git a/data/magic-deckbox.mse-style/red_test.png b/data/magic-deckbox.mse-style/red_test.png
new file mode 100644
index 000000000..15f167804
Binary files /dev/null and b/data/magic-deckbox.mse-style/red_test.png differ
diff --git a/data/magic-deckbox.mse-style/style b/data/magic-deckbox.mse-style/style
new file mode 100644
index 000000000..85e9eb0af
--- /dev/null
+++ b/data/magic-deckbox.mse-style/style
@@ -0,0 +1,214 @@
+mse version: 2.0.0
+game: magic
+short name: Deck Box
+full name: Commander Deck
+installer group: magic/symbol display style
+icon: card-sample.png
+position hint: 999
+
+version: 2021-09-06
+depends on:
+ package: magic.mse-game
+ version: 2008-06-02
+
+card background: white
+card width: 774
+card height: 1060
+card dpi: 150
+### Images from Chillbrain
+############################################################## Extra scripts
+init script:
+ is_unsorted := {true}
+ mana_t := {"new"}
+ guild_mana := {"false"}
+############################################################## 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: color
+ name: box color
+ choice:
+ name: red
+ color: rgb(230, 0, 0)
+ choice:
+ name: green
+ color: rgb(0, 230, 0)
+ choice:
+ name: blue
+ color: rgb(0, 0, 230)
+ description: The color of the deckbox.
+styling field:
+ type: color
+ name: name color
+ choice:
+ name: gold
+ color: rgb(200,180,0)
+ choice:
+ name: silver
+ color: rgb(200,200,200)
+ choice:
+ name: white
+ color: rgb(0, 0, 0)
+ choice:
+ name: black
+ color: rgb(255, 255, 255)
+ description: The color of the background.
+styling field:
+ type: boolean
+ name: legendary foils
+ description: Include the legendary foils stamp
+############################################################## Card fields
+card style:
+ name:
+ top: 965
+ left: 40
+ width: 680
+ height: 60
+ z index: 3
+ alignment: top center shrink-overflow
+ font:
+ name: Beleren Small Caps Bold
+ size: 35
+ color: {styling.name_color}
+ casting cost:
+ top: 840
+ left: 155
+ width: 450
+ height: 80
+ z index: 3
+ alignment: top center
+ font:
+ name: MPlantin
+ size: 15
+ symbol font:
+ name: magic-deckbox-symbols
+ size: 66
+ alignment: middle right
+ always symbol: true
+
+ image:
+ left: 199
+ top : 275
+ width: 375
+ height: 523
+ z index: 0
+ mask: corners.png
+
+extra card field:
+ type: choice
+ name: box
+ choice: box
+ save value: false
+ editable: false
+extra card field:
+ type: color
+ name: back color
+ choice:
+ name: white
+ color: rgb(0, 0, 0)
+ choice:
+ name: black
+ color: rgb(255, 255, 255)
+ choice:
+ name: gray
+ color: rgb(48, 48, 48)
+ choice:
+ name: grey
+ color: rgb(148, 148, 148)
+ default: "gray"
+ editable: true
+ save value: true
+ description: The border of the card can be any solid color.
+
+extra card field:
+ type: choice
+ name: magic logo
+ choice: light
+ choice: dark
+ choice: blue
+ choice: yellow
+ choice: none
+extra card field:
+ type: text
+ name: format
+ save value: true
+ editable: true
+extra card field:
+ type: text
+ name: foil number
+ save value: true
+ editable: true
+extra card field:
+ type: choice
+ name: foil stamp
+ save value: false
+ editable: false
+ choice: stamp
+extra card style:
+ box:
+ left: 0
+ top: 0
+ width: 774
+ height: 1060
+ render style: image
+ image: {recolor_image("red_test.png", color: styling.box_color)}
+ z index: 2
+ magic logo:
+ left: 145
+ top: 47
+ width: 460
+ height: 156
+ z index: 3
+ render style: image
+ popup style: in place
+ choice images:
+ light: magic_light.png
+ dark: magic_dark.png
+ blue: magic_blue.png
+ yellow: magic_yellow.png
+ format:
+ top: 883
+ left: 155
+ width: 450
+ height: 80
+ z index: 3
+ alignment: top center
+ font:
+ name: Beleren Small Caps Bold
+ size: 60
+ color: rgb(211, 218, 225)
+ foil stamp:
+ top: 800
+ left: 50
+ width: 116
+ height: 105
+ render style: image
+ z index: 3
+ image: legendary_foils.png
+ visible: {styling.legendary_foils}
+ foil number:
+ top: 831
+ left: 88
+ width: 38
+ height: 43
+ z index: 4
+ visible: {styling.legendary_foils}
+ alignment: middle center
+ font:
+ name: Beleren Bold
+ size: 35
+ color: rgb(172, 130, 58)
+ back color:
+ left: 160
+ top: 225
+ width: 470
+ height: 630
+ z index: -1
+
diff --git a/data/magic-m15-altered.mse-style/artifact_blend_puma.png b/data/magic-m15-altered.mse-style/artifact_blend_puma.png
new file mode 100644
index 000000000..3d03f7a42
Binary files /dev/null and b/data/magic-m15-altered.mse-style/artifact_blend_puma.png differ
diff --git a/data/magic-m15-altered.mse-style/bigimagemasks/borderless_frameless.png b/data/magic-m15-altered.mse-style/bigimagemasks/borderless_frameless.png
index 7c80628fe..ea47ba88e 100644
Binary files a/data/magic-m15-altered.mse-style/bigimagemasks/borderless_frameless.png and b/data/magic-m15-altered.mse-style/bigimagemasks/borderless_frameless.png differ
diff --git a/data/magic-m15-altered.mse-style/bigimagemasks/rare_borderless_frameless.png b/data/magic-m15-altered.mse-style/bigimagemasks/rare_borderless_frameless.png
index a60ed3095..b06deb4ba 100644
Binary files a/data/magic-m15-altered.mse-style/bigimagemasks/rare_borderless_frameless.png and b/data/magic-m15-altered.mse-style/bigimagemasks/rare_borderless_frameless.png differ
diff --git a/data/magic-m15-altered.mse-style/hybrid_blend_inverted.png b/data/magic-m15-altered.mse-style/hybrid_blend_inverted.png
new file mode 100644
index 000000000..22669546b
Binary files /dev/null and b/data/magic-m15-altered.mse-style/hybrid_blend_inverted.png differ
diff --git a/data/magic-m15-altered.mse-style/hybrid_blend_invertedpt.png b/data/magic-m15-altered.mse-style/hybrid_blend_invertedpt.png
new file mode 100644
index 000000000..b209ddfbf
Binary files /dev/null and b/data/magic-m15-altered.mse-style/hybrid_blend_invertedpt.png differ
diff --git a/data/magic-m15-altered.mse-style/hybrid_blend_puma.png b/data/magic-m15-altered.mse-style/hybrid_blend_puma.png
new file mode 100644
index 000000000..22669546b
Binary files /dev/null and b/data/magic-m15-altered.mse-style/hybrid_blend_puma.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/acard.png b/data/magic-m15-altered.mse-style/inverted/acard.png
new file mode 100644
index 000000000..2d2795911
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/acard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/apt.png b/data/magic-m15-altered.mse-style/inverted/apt.png
new file mode 100644
index 000000000..18cc71b17
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/apt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/bcard.png b/data/magic-m15-altered.mse-style/inverted/bcard.png
new file mode 100644
index 000000000..c8e3f0320
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/bcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/blcard.png b/data/magic-m15-altered.mse-style/inverted/blcard.png
new file mode 100644
index 000000000..5910e4e23
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/blcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/blpt.png b/data/magic-m15-altered.mse-style/inverted/blpt.png
new file mode 100644
index 000000000..0f51aef32
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/blpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/bpt.png b/data/magic-m15-altered.mse-style/inverted/bpt.png
new file mode 100644
index 000000000..0f51aef32
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/bpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/ccard.png b/data/magic-m15-altered.mse-style/inverted/ccard.png
new file mode 100644
index 000000000..1302c6c47
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/ccard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/clcard.png b/data/magic-m15-altered.mse-style/inverted/clcard.png
new file mode 100644
index 000000000..79e525a45
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/clcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/clpt.png b/data/magic-m15-altered.mse-style/inverted/clpt.png
new file mode 100644
index 000000000..bfc693ab9
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/clpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/cpt.png b/data/magic-m15-altered.mse-style/inverted/cpt.png
new file mode 100644
index 000000000..bfc693ab9
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/cpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/gcard.png b/data/magic-m15-altered.mse-style/inverted/gcard.png
new file mode 100644
index 000000000..fd6e0b880
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/gcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/glcard.png b/data/magic-m15-altered.mse-style/inverted/glcard.png
new file mode 100644
index 000000000..fcab3f4a9
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/glcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/glpt.png b/data/magic-m15-altered.mse-style/inverted/glpt.png
new file mode 100644
index 000000000..9c3ab5423
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/glpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/gpt.png b/data/magic-m15-altered.mse-style/inverted/gpt.png
new file mode 100644
index 000000000..9c3ab5423
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/gpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/mcard.png b/data/magic-m15-altered.mse-style/inverted/mcard.png
new file mode 100644
index 000000000..15bed3652
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/mcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/mlcard.png b/data/magic-m15-altered.mse-style/inverted/mlcard.png
new file mode 100644
index 000000000..3d9232e66
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/mlcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/mlpt.png b/data/magic-m15-altered.mse-style/inverted/mlpt.png
new file mode 100644
index 000000000..348f36503
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/mlpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/mpt.png b/data/magic-m15-altered.mse-style/inverted/mpt.png
new file mode 100644
index 000000000..e7487687c
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/mpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/rcard.png b/data/magic-m15-altered.mse-style/inverted/rcard.png
new file mode 100644
index 000000000..24a1b0c14
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/rcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/rlcard.png b/data/magic-m15-altered.mse-style/inverted/rlcard.png
new file mode 100644
index 000000000..955a2f215
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/rlcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/rlpt.png b/data/magic-m15-altered.mse-style/inverted/rlpt.png
new file mode 100644
index 000000000..064a2932e
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/rlpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/rpt.png b/data/magic-m15-altered.mse-style/inverted/rpt.png
new file mode 100644
index 000000000..064a2932e
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/rpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/ucard.png b/data/magic-m15-altered.mse-style/inverted/ucard.png
new file mode 100644
index 000000000..38fdf1a98
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/ucard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/ulcard.png b/data/magic-m15-altered.mse-style/inverted/ulcard.png
new file mode 100644
index 000000000..b48c38624
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/ulcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/ulpt.png b/data/magic-m15-altered.mse-style/inverted/ulpt.png
new file mode 100644
index 000000000..321b2556e
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/ulpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/upt.png b/data/magic-m15-altered.mse-style/inverted/upt.png
new file mode 100644
index 000000000..07a4a161a
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/upt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/wcard.png b/data/magic-m15-altered.mse-style/inverted/wcard.png
new file mode 100644
index 000000000..700d35856
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/wcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/wlcard.png b/data/magic-m15-altered.mse-style/inverted/wlcard.png
new file mode 100644
index 000000000..1f78da771
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/wlcard.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/wlpt.png b/data/magic-m15-altered.mse-style/inverted/wlpt.png
new file mode 100644
index 000000000..6f61d4df8
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/wlpt.png differ
diff --git a/data/magic-m15-altered.mse-style/inverted/wpt.png b/data/magic-m15-altered.mse-style/inverted/wpt.png
new file mode 100644
index 000000000..6f61d4df8
Binary files /dev/null and b/data/magic-m15-altered.mse-style/inverted/wpt.png differ
diff --git a/data/magic-m15-altered.mse-style/multicolor_blend_inverted.png b/data/magic-m15-altered.mse-style/multicolor_blend_inverted.png
new file mode 100644
index 000000000..af6ec2fa8
Binary files /dev/null and b/data/magic-m15-altered.mse-style/multicolor_blend_inverted.png differ
diff --git a/data/magic-m15-altered.mse-style/multicolor_blend_invertedpt.png b/data/magic-m15-altered.mse-style/multicolor_blend_invertedpt.png
new file mode 100644
index 000000000..b209ddfbf
Binary files /dev/null and b/data/magic-m15-altered.mse-style/multicolor_blend_invertedpt.png differ
diff --git a/data/magic-m15-altered.mse-style/multicolor_blend_puma.png b/data/magic-m15-altered.mse-style/multicolor_blend_puma.png
new file mode 100644
index 000000000..af6ec2fa8
Binary files /dev/null and b/data/magic-m15-altered.mse-style/multicolor_blend_puma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma.png b/data/magic-m15-altered.mse-style/puma.png
new file mode 100644
index 000000000..0027cfad0
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/apuma.png b/data/magic-m15-altered.mse-style/puma/apuma.png
new file mode 100644
index 000000000..6875c38d8
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/apuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/blpuma.png b/data/magic-m15-altered.mse-style/puma/blpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/blpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/bpuma.png b/data/magic-m15-altered.mse-style/puma/bpuma.png
new file mode 100644
index 000000000..0d78d7199
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/bpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/clpuma.png b/data/magic-m15-altered.mse-style/puma/clpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/clpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/cpuma.png b/data/magic-m15-altered.mse-style/puma/cpuma.png
new file mode 100644
index 000000000..841696f18
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/cpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/glpuma.png b/data/magic-m15-altered.mse-style/puma/glpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/glpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/gpuma.png b/data/magic-m15-altered.mse-style/puma/gpuma.png
new file mode 100644
index 000000000..f288f1a1c
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/gpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/mlpuma.png b/data/magic-m15-altered.mse-style/puma/mlpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/mlpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/mpuma.png b/data/magic-m15-altered.mse-style/puma/mpuma.png
new file mode 100644
index 000000000..3fec303cf
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/mpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/rlpuma.png b/data/magic-m15-altered.mse-style/puma/rlpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/rlpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/rpuma.png b/data/magic-m15-altered.mse-style/puma/rpuma.png
new file mode 100644
index 000000000..1f94ccf99
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/rpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/apuma.png b/data/magic-m15-altered.mse-style/puma/shifted/apuma.png
new file mode 100644
index 000000000..64fcf8e35
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/apuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/blpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/blpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/blpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/bpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/bpuma.png
new file mode 100644
index 000000000..0d78d7199
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/bpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/clpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/clpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/clpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/cpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/cpuma.png
new file mode 100644
index 000000000..841696f18
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/cpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/glpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/glpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/glpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/gpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/gpuma.png
new file mode 100644
index 000000000..f288f1a1c
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/gpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/mlpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/mlpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/mlpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/mpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/mpuma.png
new file mode 100644
index 000000000..3fec303cf
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/mpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/rlpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/rlpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/rlpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/rpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/rpuma.png
new file mode 100644
index 000000000..1f94ccf99
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/rpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/ulpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/ulpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/ulpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/upuma.png b/data/magic-m15-altered.mse-style/puma/shifted/upuma.png
new file mode 100644
index 000000000..61f3dd37e
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/upuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/wlpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/wlpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/wlpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/shifted/wpuma.png b/data/magic-m15-altered.mse-style/puma/shifted/wpuma.png
new file mode 100644
index 000000000..7696ff3f2
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/shifted/wpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/ulpuma.png b/data/magic-m15-altered.mse-style/puma/ulpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/ulpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/upuma.png b/data/magic-m15-altered.mse-style/puma/upuma.png
new file mode 100644
index 000000000..61f3dd37e
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/upuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/wlpuma.png b/data/magic-m15-altered.mse-style/puma/wlpuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/wlpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma/wpuma.png b/data/magic-m15-altered.mse-style/puma/wpuma.png
new file mode 100644
index 000000000..7696ff3f2
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma/wpuma.png differ
diff --git a/data/magic-m15-altered.mse-style/puma_mask.png b/data/magic-m15-altered.mse-style/puma_mask.png
index 363cba20c..d5110b068 100644
Binary files a/data/magic-m15-altered.mse-style/puma_mask.png and b/data/magic-m15-altered.mse-style/puma_mask.png differ
diff --git a/data/magic-m15-altered.mse-style/puma_mask3.png b/data/magic-m15-altered.mse-style/puma_mask3.png
new file mode 100644
index 000000000..363cba20c
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma_mask3.png differ
diff --git a/data/magic-m15-altered.mse-style/puma_mask_mutate.png b/data/magic-m15-altered.mse-style/puma_mask_mutate.png
new file mode 100644
index 000000000..5e30419a8
Binary files /dev/null and b/data/magic-m15-altered.mse-style/puma_mask_mutate.png differ
diff --git a/data/magic-m15-altered.mse-style/shifted/apuma.png b/data/magic-m15-altered.mse-style/shifted/apuma.png
new file mode 100644
index 000000000..306b2d368
Binary files /dev/null and b/data/magic-m15-altered.mse-style/shifted/apuma.png differ
diff --git a/data/magic-m15-altered.mse-style/style b/data/magic-m15-altered.mse-style/style
index ca15df160..b67db98bd 100644
--- a/data/magic-m15-altered.mse-style/style
+++ b/data/magic-m15-altered.mse-style/style
@@ -39,31 +39,31 @@ card dpi: 150
##### Ancestral generic mana by ancestral
##### Nyx crowns by Angelus
##### Companion crowns, nyx extensions, DOM FNM frame, THB fullart lands, snow frames by silverback_ape
-##### PUMA by kebelqwa and cajun
+##### Updated PUMA by Cardists
+##### Inverted by VerumCH
############################################################## Extra scripts
init script:
# Load scripts for image box
include file: /magic-default-image.mse-include/scripts
include file: /magic-pride.mse-include/scripts
-
+
# Should hybrids have a grey name?
mask_hybrid_with_land := { styling.hybrid_name == "grey" }
mask_hybrid_with_gold := { styling.hybrid_name == "gold" }
-
+
#Should multicolor lands with basic land types have a colored name?
mask_multi_land_with_color := { styling.colored_multicolor_land_name }
-
- base_template_prefix := [card: "" alias: "alias/" snow:"snow/" snowtexture:"snow/" devoid:"devoid/" nyx: "nyx/" miracle: "miracles/" node:"nodes/" promo: "promo/" crown: "legend/" cons:"conspiracy/" curtain: "curtains/" fnm: "fnm/", fnmpt: "paradox/", map: "maps/" energy: "energies/", mappt: "maps/" pt: "", slide: "masks/", slide2: "masks/", slide3: "masks/", arrow: "arrows/", arrow2: "arrows/", arrow3: "arrows/", season: "season/" stamp: "" identity: "/magic-identity-new.mse-include/"]
- shifted_template_prefix := [card: "shifted/" alias: "shifted/" snow:"snow/" snowtexture:"snow/" devoid:"devoid/" nyx: "nyx/" miracle: "shifted/" node:"shifted/" promo: "promo/" crown: "shifted/" cons:"conspiracy/" curtain: "curtains/" fnm:"fnm/", fnmpt: "paradox/", map: "maps/" energy: "energies/", mappt: "maps/" pt: "shifted/", slide: "shifted/", slide2: "shifted/", slide3: "shifted/", arrow: "arrows/", arrow2: "arrows/", arrow3: "arrows/", season: "season/" stamp: "shifted/" identity: "/magic-identity-new.mse-include/"]
+ base_template_prefix := [card: "" alias: "alias/" snow:"snow/" snowtexture:"snow/" devoid:"devoid/" nyx: "nyx/" miracle: "miracles/" node:"nodes/" promo: "promo/" crown: "legend/" cons:"conspiracy/" curtain: "curtains/" fnm: "fnm/", fnmpt: "paradox/", inverted: "inverted/", invertedpt: "inverted/", map: "maps/" energy: "energies/", mappt: "maps/" pt: "", slide: "masks/", slide2: "masks/", arrow: "arrows/", arrow2: "arrows/", arrow3: "arrows/", season: "season/" stamp: "" identity: "/magic-identity-new.mse-include/", puma: "puma/"]
+ shifted_template_prefix := [card: "shifted/" alias: "shifted/" snow:"snow/" snowtexture:"snow/" devoid:"devoid/" nyx: "nyx/" miracle: "shifted/" node:"shifted/" promo: "promo/" crown: "shifted/" cons:"conspiracy/" curtain: "curtains/" fnm:"fnm/", fnmpt: "paradox/", inverted: "inverted/", invertedpt: "inverted/", map: "maps/" energy: "energies/", mappt: "maps/" pt: "shifted/", slide: "shifted/", slide2: "shifted/", arrow: "arrows/", arrow2: "arrows/", arrow3: "arrows/", season: "season/" stamp: "shifted/" identity: "/magic-identity-new.mse-include/", puma: "puma/shifted/"]
template_prefix := { if type == "miracle" and pure_snow() then [miracle:"snow/"] else if is_shifted() then shifted_template_prefix else base_template_prefix }
- template_suffix := [card: "card.jpg" node:"node.png" alias:"alias.png" devoid:"card.png" snow:"card.jpg" snowtexture:"snow.png" nyx: "nyx.png" miracle: "miracle.png" promo: "card.jpg" crown: "crown.png" cons:"cons.png" curtain: "card.png" fnm:"card.png", fnmpt: "pt.png", map: "card.png", energy: "card.png", mappt: "pt.png" pt: "pt.png", slide: "slide.png", slide2: "slide2.png", slide3: "slide3.png", stamp: "stamp.jpg", arrow: "arrow.png", arrow2: "arrow2.png", arrow3: "arrow3.png", season: "flag.png" identity: "identity.png"]
+ template_suffix := [card: "card.jpg" node:"node.png" alias:"alias.png" devoid:"card.png" snow:"card.jpg" snowtexture:"snow.png" nyx: "nyx.png" miracle: "miracle.png" promo: "card.jpg" crown: "crown.png" cons:"cons.png" curtain: "card.png" fnm:"card.png", fnmpt: "pt.png", inverted: "card.png", invertedpt: "pt.png", map: "card.png", energy: "card.png", mappt: "pt.png" pt: "pt.png", slide: "slide.png", slide2: "slide2.png", stamp: "stamp.jpg", arrow: "arrow.png", arrow2: "arrow2.png", arrow3: "arrow3.png", season: "flag.png" identity: "identity.png", puma: "puma.png"]
template := { crown_lead(type) + template_prefix()[type] + input + crown_follow(type) + template_suffix[type] }
land_template := { crown_lead(type) + template_prefix()[type] + (if input == "a" then "c" else input) + (if landless(type) then "" else "l") + crown_follow(type) + template_suffix[type] }
# Use land templates for previews because they show more contrast
hybrid_previews := "land,hybrid"
-
+
landless := {if input == "nyx" or input == "node" or input == "miracle" or input == "alias" or input == "devoid" or input == "energy" or input == "season" or input == "cons" or input == "arrow" or input == "crown" or input == "nyxcrown" then true else false}
-
+
crown_lead := {
if input != "crown" then ""
else if (styling.legend_crown == "custom" and styling.custom_crown_location != "")
@@ -84,13 +84,16 @@ init script:
devoid_background := { color_background(type:"devoid", base_hybrid:card_hybrid) }
snow_background := { color_background(type:"snow", base_hybrid:card_hybrid) }
snow_texture := { color_background(type:"snowtexture", base_hybrid:card_hybrid) }
+ puma_bar := { color_background(type:"puma", base_hybrid:card_hybrid) }
fnm_background := { color_background(type:"fnm", base_hybrid:card_hybrid) }
+ inverted_background := { color_background(type:"inverted", base_hybrid:card_hybrid) }
alias_bar := { color_background(type:"alias", base_hybrid:card_hybrid) }
miracle_background := { color_background(type:"miracle", base_hybrid:card_hybrid) }
map_background := { color_background(type:"map", base_hybrid:card_hybrid) }
energy_background := { color_background(type:"energy", base_hybrid:card_hybrid) }
promo_background := { color_background(type:"promo", base_hybrid:card_hybrid) }
fnm_ptbox := { color_background(type:"fnmpt", base_hybrid:pt_hybrid) }
+ inverted_ptbox := { color_background(type:"invertedpt", base_hybrid:pt_hybrid) }
mappt_background := { color_background(type:"mappt", base_hybrid:pt_hybrid) }
arrow_background := { color_background(type:"arrow", base_hybrid:pt_hybrid) }
arrow_background_2 := { color_background(type:"arrow2", base_hybrid:pt_hybrid) }
@@ -125,16 +128,17 @@ init script:
is_unsorted := {styling.remove_from_autocount}
is_devoid := { chosen(styling.frames, choice: "devoid") and not is_map()}
is_clear := { (chosen(styling.frames, choice: "clear") or is_devoid()) and not is_map()}
- is_puma := { not is_expanded_art() and not is_full_art() and chosen(styling.frames, choice: "puma") and not is_map()}
+ is_puma := { chosen(styling.frames, choice: "puma") and not is_map() and not is_clear() and not contains(styling.frames, match:"less art") and not is_full_art() }
is_mutate := { not is_expanded_art() and not is_full_art() and chosen(styling.frames, choice: "mutate") and not is_map()}
- is_miracle := { chosen(styling.frames, choice: "miracle") and not is_map() and not is_expanded_art() and not is_cons() and not is_fnm()}
+ is_miracle := { chosen(styling.frames, choice: "miracle") and not is_map() and not is_expanded_art() and not is_cons() and not is_fnm() and not is_inverted()}
is_nyx := { chosen(styling.frames, choice: "nyx") and not is_map() }
is_vehicle := { (chosen(styling.frames, choice: "vehicle") or (chosen(styling.other_options, choice:"auto vehicles") and match_vehicle(card.sub_type))) and not is_map()}
is_snow := { (chosen(styling.frames, choice: "snow") or (chosen(styling.other_options, choice:"auto snow") and match_snow(card.super_type))) and not is_map()}
- is_cons := { chosen(styling.frames, choice: "conspiracy") or chosen(styling.frames, choice: "draft matters") and not is_map()}
+ is_cons := { chosen(styling.frames, choice: "draft matters") or chosen(styling.frames, choice: "conspiracy") and not is_map() }
is_scrolls := { chosen(styling.frames, choice: "conspiracy") and not is_map()}
is_shifted := { chosen(styling.frames, choice: "planeshifted") and not is_map() and not is_full_art() and not is_fnm()}
is_fnm := {chosen(styling.frames, choice:"fnm promo") and not is_clear() and not is_full_art() and not is_map()}
+ is_inverted := {chosen(styling.frames, choice:"inverted") and not is_clear() and not is_full_art() and not is_fnm() and not is_map()}
is_map := { chosen(styling.frames, choice: "map") }
use_node := { chosen(styling.frames, choice: "lesson") }
is_season := { chosen(styling.frames, choice: "season") and not is_map() }
@@ -186,11 +190,30 @@ init script:
center_map := {is_map() and (card.casting_cost == "" or chosen(styling.other_options, choice:"always center map names"))}
use_evobar := {chosen(styling.other_options, choice:"pokemon evobar")}
+ alt_rarity := {styling.alt_rarity_color != ""}
+ alt_rarity_color := {
+ string := "83,67,53:177,150,131:0,0,0:0,0,0:0.07:"
+ if match(styling.alt_rarity_color, match:":$") then string := styling.alt_rarity_color
+ colons := length(filter_text(string, match:":"))
+ output := split_text(string, match:",|:")
+ splits := split_text(string, match:":")
+ if colons == 4
+ then output := split_text(string+"0.07:", match:",|:")
+ if colons == 3
+ then output := split_text(string+splits[2]+"0.07:", match:",|:")
+ else if colons == 2
+ then output := split_text(string+"0,0,0:0,0,0:0.07:", match:",|:")
+ else if colons == 1
+ then output := split_text(string+splits[0]+":0,0,0:0,0,0:0.07:", match:",|:")
+
+ output
+ }
+ alt_symbol := {symbol_variation(symbol:set.symbol, border_radius: alt_rarity_color().12, fill_type: "linear gradient", fill_color_1: rgb(alt_rarity_color().0, alt_rarity_color().1, alt_rarity_color().2), fill_color_2: rgb(alt_rarity_color().3, alt_rarity_color().4, alt_rarity_color().5), border_color_1: rgb(alt_rarity_color().6, alt_rarity_color().7, alt_rarity_color().8), border_color_2: rgb(alt_rarity_color().9, alt_rarity_color().10, alt_rarity_color().11), center_x:0.5, center_y:0.5, end_x:1, end_y:1)}
is_skinned := {chosen(styling.other_options, choice:"godzilla style alias")}
- use_vorthos := {chosen(styling.other_options, choice:"vorthos box")}
- clear_tops := {chosen(styling.other_options, choice:"clear tops")}
+ use_vorthos := {((not is_leveler() or lone_pt()) and card.pt != "") or chosen(styling.other_options, choice:"vorthos box")}
+ clear_tops := {chosen(styling.other_options, choice:"clear tops") and not is_puma()}
is_tarot := {chosen(styling.other_options, choice:"text watermarks")}
- pure_snow := {is_snow() and not is_fnm() and not is_full_art() and not is_leveler() and not is_shifted()}
+ pure_snow := {is_snow() and not is_fnm() and not is_inverted() and not is_full_art() and not is_leveler() and not is_shifted()}
chop_top := {if styling.chop_top == "" then 0 else if comma_count(styling.chop_top) == "," or comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).0 else styling.chop_top}
chop_bot := {if comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).1 else if styling.chop_bottom == "" then 0 else styling.chop_bottom}
top_of_textbox := {(if is_map() then 340 else if is_full_art() then 359 else if is_mutate() then 395 else 327) - (-chop_top()) }
@@ -219,10 +242,10 @@ init script:
mask_height := {if input == "one" then lv_1_height() else if input == "two" then lv_2_height() else if input == "three" then lv_3_height() else if input == "four" then lv_4_height() else 0}
lone_pt := {chosen(styling.other_options, choice:"regular pt on levelers") and not starting_loyalty()}
starting_loyalty := {chosen(styling.other_options, choice:"use starting loyalty")}
- choose_ptbox := {if is_fnm() then fnm_ptbox() else card_ptbox()}
- lv_2_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else leveler_ptbox2() }
- lv_3_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else leveler_ptbox3() }
- lv_4_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else color_background(type:"pt", base_hybrid:leveler_pt_hybrid3) }
+ choose_ptbox := {if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else card_ptbox()}
+ lv_2_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else leveler_ptbox2() }
+ lv_3_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else leveler_ptbox3() }
+ lv_4_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else color_background(type:"pt", base_hybrid:leveler_pt_hybrid3) }
arrow_left := {if box_leveler() then -3 else if loy_leveler() then 10 else 18}
arrow_width := {if box_leveler() then 84 else if loy_leveler() then 42 else 56}
arrow_height := {if aug_leveler(input) then 42 else if box_leveler() then 50 else if loy_leveler() then 40 else 40}
@@ -231,7 +254,7 @@ init script:
+ (if box_leveler() then -5 else 0)
+ (if aug_leveler(input) then 4 else 0)
}
-
+ custom_watermark_a := {if styling.card_watermark == "" or not contains(styling.card_watermark, match:".png") then "/magic-watermarks.mse-include/planeswalker.png" else "/magic-watermarks.mse-include/" + styling.card_watermark}
special_text := {if is_leveler() then ((if card.level_0 != "" then "[" + level_label(0) + " " + card.level_0 + "] " else "") + card.level_1_text + (if card.pt != "" then " [" + card.pt + "]" else "") + "\n"
+ (if card.level_1 != "" then "[" + level_label(1) + " " + card.level_1 + "] " else "") + card.level_2_text + (if card.pt_2 != "" then " [" + card.pt_2 + "]" else "") + "\n"
+ (if card.level_2 != "" then "[" + level_label(2) + " " + card.level_2 + "] " else "") + card.level_3_text + (if card.pt_3 != "" then " [" + card.pt_3 + "]" else "") + (if card.level_4_text != "" then "\n" else "")
@@ -240,6 +263,7 @@ init script:
card.level_1_text + "\n" + card.rule_text
else ""
}
+ shown_cr := {if set.automatic_copyright then set.copyright != "" else card.copyright != ""}
card_shape := {if is_leveler() then "leveler" else "normal"}
############################################################## Set info fields
set info style:
@@ -289,6 +313,7 @@ styling field:
choice: puma
choice: mutate
choice: fnm promo
+ choice: inverted
choice: planeshifted
choice: legend
choice: season
@@ -339,7 +364,7 @@ styling field:
choice: clear tops
choice: vorthos box
choice: pride pinlines
- initial: auto nyx crowns, auto vehicles, auto snow, vorthos box
+ initial: auto nyx crowns, auto vehicles, auto snow
styling field:
type: text
name: font cap
@@ -386,6 +411,14 @@ styling field:
name: remove from autocount
description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks.
initial: no
+styling field:
+ type: text
+ name: alt rarity color
+ description: Use a custom color for the rarity symbol. Formatted as "R1,G1,B1:R2,G2,B2:..." 1 and 2 are fill color, 3 and 4 border color
+styling field:
+ type: text
+ name: card watermark
+ description: Filename in magic-watermarks to use for standalone card watermark
styling field:
type: choice
name: hybrid name
@@ -494,7 +527,7 @@ card style:
z index: 0
render style: image
popup style: in place
- image: { if is_clear() or clear_tops() then "" else if is_fnm() then fnm_background() else if is_full_art() then promo_background() else if pure_snow() then snow_background() else card_background() }
+ image: { if is_clear() or clear_tops() then "" else if is_fnm() then fnm_background() else if is_inverted() then inverted_background() else if is_full_art() then promo_background() else if pure_snow() then snow_background() else card_background() }
############################# Name line
name:
left: { if center_map() then 55 else if is_map() then (if use_node() then 65 else 60) else if use_node() then 58 else if card.card_symbol=="none" then 32 else 50 }
@@ -507,11 +540,11 @@ card style:
font:
name: { if is_map() then "Beleren Small Caps" else "Beleren Bold" }
size: { (if is_map() then 14.8 else 16) - shrink_name() }
- color: {if is_shifted() or is_fnm() then "white" else "black"}
+ color: {if is_shifted() or is_fnm() or is_inverted() then "white" else "black"}
shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
- alias:
+ alias:
left: {if is_skinned() then 45 else if is_map() then 15 else 33}
top: {if is_map() then 58 else 53}
width: {if is_skinned() then 285 else if use_evobar() then max(100, card_style.alias.content_width) else 0}
@@ -555,10 +588,10 @@ card style:
left: { if is_clear() or is_map() or is_expanded_art() or is_puma() then 0 else if is_full_art() then 23 else if clear_tops() then 15 else if is_mutate() then 22 else 29}
top: {if is_map() then 57 else if is_clear() or is_expanded_art() or clear_tops() then 0 else 59}
width: {if is_clear() or is_map() or is_expanded_art() or is_puma() then 375 else if is_full_art() then 328 else if clear_tops() then 345 else if is_mutate() then 330 else 316}
- height: {if is_clear() or is_expanded_art() then 523 else if is_map() then 241 else if is_puma() then 265 else if is_full_art() then 423 else if clear_tops() then 291 else if is_mutate() then 334 else 231}
+ height: {if is_clear() or is_expanded_art() then 523 else if is_map() then 241 else if is_puma() then (if is_mutate() then 334 else 265) else if is_full_art() then 423 else if clear_tops() then 291 else if is_mutate() then 334 else 231}
z index: 1
default: {default_image(card.card_color)}
- mask: { if is_devoid() then "image_mask_devoid.png" else if is_clear() then "image_mask.png" else if is_thbland() then "cornermask.png" else if is_puma() then "puma_mask.png" else if is_expanded_art() then expanded_mask() else if is_full_art() then "promo/image_mask" + (if is_rare() and styling.use_holofoil_stamps then "_rare") + ".png" else if is_mutate() and not clear_tops() then "mutate_mask.png" else ""}
+ mask: { if is_devoid() then "image_mask_devoid.png" else if is_clear() then "image_mask.png" else if is_thbland() then "cornermask.png" else if is_puma() then "puma_mask" + (if is_mutate() then "_mutate.png" else "3.png") else if is_expanded_art() then expanded_mask() else if is_full_art() then "promo/image_mask" + (if is_rare() and styling.use_holofoil_stamps then "_rare") + ".png" else if is_mutate() and not clear_tops() then "mutate_mask.png" else ""}
mainframe image:
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"}
@@ -586,7 +619,7 @@ card style:
font:
name: Beleren Bold
size: { (if is_map() then 12 else 13) - shrink_type() }
- color: { if is_full_art() or is_puma() or is_shifted() or is_fnm() then "white" else "black"}
+ color: { if is_full_art() or is_puma() or is_shifted() or is_fnm() or is_inverted() then "white" else "black"}
shadow color: {if is_full_art() or is_puma() or is_shifted() or is_fnm() then "black" else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
@@ -604,28 +637,34 @@ card style:
basic land:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
else symbol_variation(symbol: set.symbol, variation: "common")
common:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
else symbol_variation(symbol: set.symbol, variation: "common")
uncommon:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "uncommon")
rare:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "rare")
mythic rare:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "mythic rare")
special:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "special")
masterpiece:
script:
@@ -642,7 +681,7 @@ card style:
italic name: MPlantin-Italic
size: {if styling.font_cap != "" then to_number(styling.font_cap) else (if is_mutate() then 12 else 14)}
scale down to: 6
- color: { if is_full_art() or is_fnm() then "white" else "black"}
+ color: { if is_full_art() or is_fnm() or is_inverted() then "white" else "black"}
shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
@@ -678,7 +717,7 @@ card style:
italic name: MPlantin-Italic
size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14}
scale down to: 6
- color: { if is_full_art() or is_fnm() then "white" else "black"}
+ color: { if is_full_art() or is_fnm() or is_inverted() then "white" else "black"}
shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
@@ -713,7 +752,7 @@ card style:
italic name: MPlantin-Italic
size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14}
scale down to: 6
- color: { if is_full_art() or is_fnm() then "white" else "black"}
+ color: { if is_full_art() or is_fnm() or is_inverted() then "white" else "black"}
shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
@@ -748,7 +787,7 @@ card style:
italic name: MPlantin-Italic
size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14}
scale down to: 6
- color: { if is_full_art() or is_fnm() then "white" else "black"}
+ color: { if is_full_art() or is_fnm() or is_inverted() then "white" else "black"}
shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)}
shadow displacement x: -1
shadow displacement y: 1
@@ -898,7 +937,7 @@ card style:
font:
name: Beleren Bold
size: {if is_map() then 14 else 16}
- color: {if is_shifted() or is_fnm() then "white" else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "white" else "black"}
+ color: {if is_shifted() or is_fnm() or is_inverted() then "white" else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "white" else "black"}
separator color: red
shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
@@ -914,7 +953,7 @@ card style:
font:
name: Beleren Bold
size: {if is_map() then 14 else 16}
- color: {if is_shifted() or is_fnm() then "white" else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "white" else "black"}
+ color: {if is_shifted() or is_fnm() or is_inverted() then "white" else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "white" else "black"}
separator color: red
shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
@@ -929,7 +968,7 @@ card style:
font:
name: Beleren Bold
size: {if is_map() then 14 else 16}
- color: {if is_shifted() or is_fnm() then "white" else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "white" else "black"}
+ color: {if is_shifted() or is_fnm() or is_inverted() then "white" else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "white" else "black"}
separator color: red
shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)}
shadow displacement x: -1
@@ -985,11 +1024,18 @@ card style:
color: white
copyright:
right: 350
- top: { if is_leveler() and not lone_pt() then 488 else if (starting_loyalty() and card.loyalty != "") or (card.pt != "" and not starting_loyalty()) or (use_vorthos()) then 500 else 488 }
+ top:
+ {
+ if is_leveler() and not lone_pt()
+ then 488
+ else if (starting_loyalty() and card.loyalty != "") or (card.pt != "" and not starting_loyalty())
+ then 500
+ else 488
+ }
width: {if set.automatic_copyright then 0 else 140}
height: 10
z index: 4
- alignment: middle right
+ alignment: middle right
font:
name: MPlantin
size: 6.5
@@ -1131,7 +1177,7 @@ extra card field:
extra card field:
type: choice
name: scrolls
- choice: scroll
+ script: card.card_color
editable: false
save value: false
show statistics: false
@@ -1428,7 +1474,7 @@ extra card style:
visible: { is_rare() and styling.use_holofoil_stamps and (is_devoid() or not is_clear()) }
render style: image
image: { if is_map() then "maps/holo_stamp.png" else if is_devoid() then "devoid/stamp.png" else card_stamp() }
- mask: { if is_borderless() then "med_full_stamp_mask.png" else "stamp_mask.png"}
+ mask: {"stamp_mask.png"}
foil stamp:
left: 165
top: 472
@@ -1449,7 +1495,14 @@ extra card style:
mask: { "foil_mask" + (if card.pt != "" then "_pt") + (if is_rare() and styling.use_holofoil_stamps then "_rare") + ".png" }
auto copyright:
right: 350
- top: { if is_leveler() and not lone_pt() then 488 else if (starting_loyalty() and card.loyalty != "") or (card.pt != "" and not starting_loyalty()) or (use_vorthos()) then 500 else 488 }
+ top:
+ {
+ if is_leveler() and not lone_pt()
+ then 488
+ else if (starting_loyalty() and card.loyalty != "") or (card.pt != "" and not starting_loyalty())
+ then 500
+ else 488
+ }
width: {if set.automatic_copyright then 140 else 0}
height: 10
z index: 4
@@ -1479,7 +1532,7 @@ extra card style:
image: {if (is_clear() or clear_tops()) and not is_devoid() then "legend/xcrown.png" else if is_fnm() then set_mask(image:crown_background(), mask:"legend/fnm_mask.png") else crown_background()}
z index: 5
visible: {is_legend() and not is_map()}
- mask: {if is_legend() and (is_curtains() or is_expanded_art() or is_puma() or is_devoid()) then "curtainmask.png" else if is_season() then "crown_season_mask.png" else ""}
+ mask: {if is_legend() and styling.legend_crown != "custom" and (is_curtains() or is_expanded_art() or is_puma() or is_devoid()) then "curtainmask.png" else if is_season() then "crown_season_mask.png" else ""}
curtain:
left: 0
top: 0
@@ -1496,9 +1549,10 @@ extra card style:
width: 375
height: 523
render style: image
- image: {(if is_full_art() then "full_" else "") + "consscrolls.png"}
+ image: {if is_puma() then "puma.png" else (if is_full_art() then "full_" else "") + "consscrolls.png"}
+ mask: {if is_puma() then "puma_mask3.png" else ""}
z index: 1
- visible: {is_scrolls()}
+ visible: {is_scrolls() or is_puma()}
miracle overlay:
left: 0
top: 0
@@ -1544,7 +1598,7 @@ extra card style:
z index: 1
render style: image
popup style: in place
- image: { if not clear_tops() then "" else if is_fnm() then fnm_background() else if is_full_art() then promo_background() else card_background() }
+ image: { if not clear_tops() then "" else if is_fnm() then fnm_background() else if is_inverted() then inverted_background() else if is_full_art() then promo_background() else card_background() }
mask: {if clear_tops() then "clear_tops_mask.png" else ""}
map frame:
left: 0
@@ -1650,28 +1704,28 @@ extra card style:
top: { if is_d20() then top_of_para(rolls_start(card.text)) else 329 + lv_2_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)) else lv_2_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {overlay1()}
- visible: {(is_d20() and number_of_rolls(card.text) > 0) or is_leveler() and not is_full_art() and not is_map() and not is_fnm()}
+ visible: {(is_d20() and number_of_rolls(card.text) > 0) or (is_leveler() and not is_full_art() and not is_map() and not is_fnm() and not is_inverted())}
level 3 overlay:
left: 29
top: { if is_d20() then top_of_para(rolls_start(card.text)+2) else 329 + lv_3_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)+2) else lv_3_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {overlay2()}
- visible: {(is_d20() and number_of_rolls(card.text)-no_roll(card.text) > 2) or is_leveler() and not is_full_art() and not is_map() and not is_fnm()}
+ visible: {(is_d20() and number_of_rolls(card.text)-no_roll(card.text) > 2) or (is_leveler() and not is_full_art() and not is_map() and not is_fnm() and not is_inverted())}
level 4 overlay:
left: 29
top: { if is_d20() then top_of_para(rolls_start(card.text)+4) else 329 + lv_4_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)+4) else lv_4_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {overlay3()}
- visible: {(is_d20() and number_of_rolls(card.text)-no_roll(card.text) > 4) or is_leveler() and not is_full_art() and not is_map() and not is_fnm()}
+ visible: {(is_d20() and number_of_rolls(card.text)-no_roll(card.text) > 4) or (is_leveler() and not is_full_art() and not is_map() and not is_fnm() and not is_inverted())}
arrow 1:
z index: 5
left: {arrow_left()}
@@ -1813,7 +1867,7 @@ extra card style:
image: {pin_image()}
vorthos box:
right: { if is_leveler() and not lone_pt() then 350 else if (starting_loyalty() and card.loyalty != "") then 300 else if (card.pt != "" and not starting_loyalty()) then 275 else 350 }
- top: 488
+ top: {if card.pt == "" and shown_cr() then 500 else 488}
width: { if is_leveler() and not lone_pt() then 140 else if (starting_loyalty() and card.loyalty != "") then 90 else if (card.pt != "" and not starting_loyalty()) then 65 else 140 }
height: {if use_vorthos() then 10 else 0}
z index: 3
diff --git a/data/magic-m15-mainframe-dfc.mse-style/style b/data/magic-m15-mainframe-dfc.mse-style/style
index 901ea7552..412b796e2 100644
--- a/data/magic-m15-mainframe-dfc.mse-style/style
+++ b/data/magic-m15-mainframe-dfc.mse-style/style
@@ -43,7 +43,7 @@ init script:
# Should hybrids have a grey name?
mask_hybrid_with_land := { styling.grey_hybrid_name }
d20_filter := replace@(match:"^(|[Ee]lse ?|[Oo]ther ?|(()?[-0-9 ,+>\<]()?)+)[|]", replace:"\\1|")
- text_filter := text_filter + d20_filter + {apply_margins(input, name:margin_code)} + {add_spacers(input, name:margin_code)}
+ text_filter := text_filter + d20_filter + {apply_margins(input, name:margin_code)} + {add_spacers(input, name:margin_code)} + {if is_modal(input) then bump_text(softline_ripper(input)) else input}
####### Create images
@@ -475,13 +475,16 @@ init script:
8: {[card_style.level_8_text.top, card_style.level_8_text.bottom-card_style.level_8_text.top]}
]
auto_snap := {
+ snap_array := split_text(replace(styling.snap_chapter_to_box, match:",[^,]+$", replace:","), match:",")
+ abil := to_number(pull_comma_array(styling.snap_chapter_to_box, cell:input-1, end:true)) ###textbox to snap to
+ if abil == 0 then 600 else snap_calc(input, snap_array:snap_array, abil:abil)
+ }
+ snap_calc := {
out := 0
- snap_array := split_text(replace(line, match:",[^,]+$", replace:","), match:",")
- abil := to_number(pull_comma_array(line, cell:input-1, end:true)) ###textbox to snap too
abil_array := saga_lore_count(snap_array) ###chapters in each box
ch_count := abil_array[abil-1] ###chapters in this box
self_index := saga_ch_placement(snap_array)[input-1] ###input's index
- box_deets := coords_map[abil+bump]() ###[top, height]
+ box_deets := coords_map[abil]() ###[top, height]
remain := box_deets[1] - 30*ch_count ###remaining space after chapter hexes
excess := remain - 10*(ch_count-1) ###remaining after 10px gaps
if excess >= 0 then out := box_deets[0] + excess/2 + 40*(self_index-1) ###top + buffer*index + hex*index-1
@@ -499,12 +502,12 @@ init script:
out
}
chapter0 := { if styling.reminder_coordinate != "" then max(60,min(to_number(styling.reminder_coordinate),438)) else 155}
- chapter1 := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:0, end:true)) > 0 then auto_snap(1, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:0, end:true, default:(if two_boxes() then 183 else 185))) }
- chapter2 := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:1, end:true)) > 0 then auto_snap(2, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:1, end:true, default:(if two_boxes() then 223 else 279))) }
- chapter3 := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:2, end:true)) > 0 then auto_snap(3, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:2, end:true, default:(if two_boxes() then 329 else 373))) }
- chapter4 := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:3, end:true)) > 0 then auto_snap(4, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:3, end:true, default:600)) }
- chapter5 := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:4, end:true)) > 0 then auto_snap(5, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:4, end:true, default:600)) }
- chapter6 := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:5, end:true)) > 0 then auto_snap(6, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:5, end:true, default:600)) }
+ chapter1 := { if length(comma_count(styling.snap_chapter_to_box)) > 0 then auto_snap(1) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:0, end:true, default:(if two_boxes() then 183 else 185))) }
+ chapter2 := { if length(comma_count(styling.snap_chapter_to_box)) > 1 then auto_snap(2) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:1, end:true, default:(if two_boxes() then 223 else 279))) }
+ chapter3 := { if length(comma_count(styling.snap_chapter_to_box)) > 2 then auto_snap(3) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:2, end:true, default:(if two_boxes() then 329 else 373))) }
+ chapter4 := { if length(comma_count(styling.snap_chapter_to_box)) > 3 then auto_snap(4) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:3, end:true, default:600)) }
+ chapter5 := { if length(comma_count(styling.snap_chapter_to_box)) > 4 then auto_snap(5) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:4, end:true, default:600)) }
+ chapter6 := { if length(comma_count(styling.snap_chapter_to_box)) > 5 then auto_snap(6) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:5, end:true, default:600)) }
chapter1b := { if to_number(pull_comma_array(styling.snap_chapter_to_back_box, cell:0, end:true)) > 0 then auto_snap(1, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:0, end:true, default:(if back_two_boxes() then 183 else 185))) }
chapter2b := { if to_number(pull_comma_array(styling.snap_chapter_to_back_box, cell:1, end:true)) > 0 then auto_snap(2, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:1, end:true, default:(if back_two_boxes() then 223 else 279))) }
@@ -738,6 +741,10 @@ init script:
is_modal_dfc := {styling.dfc_type != "transforming"}
auto_flags := {styling.dfc_type == "modal with standard flags"}
+ custom_watermark_a := {if styling.card_watermark == "" or not contains(styling.card_watermark, match:".png") then "/magic-watermarks.mse-include/planeswalker.png" else "/magic-watermarks.mse-include/" + styling.card_watermark}
+ custom_watermark_b := {if styling.card_watermark_2 == "" or not contains(styling.card_watermark_2, match:".png") then "/magic-watermarks.mse-include/planeswalker.png" else "/magic-watermarks.mse-include/" + styling.card_watermark_2}
+ shown_cr := {if set.automatic_copyright then set.copyright != "" else card.copyright != ""}
+
############################################################## Set info fields
set info style:
symbol:
@@ -1029,6 +1036,14 @@ styling field:
choice: arrows
choice: pt boxes
choice: loyalty boxes
+styling field:
+ type: text
+ name: card watermark
+ description: Filename in magic-watermarks to use for standalone card watermark
+styling field:
+ type: text
+ name: card watermark 2
+ description: Filename in magic-watermarks to use for standalone card watermark
styling field:
type: boolean
name: grey hybrid name
@@ -2144,7 +2159,7 @@ card style:
color: white
copyright:
right: 350
- top: { if is_leveler() and not lone_pt() then 488 else if is_normal() and card.pt != "" or card.loyalty != "" then (if is_map() then 504 else 500) else if use_vorthos() and is_normal() then 500 else if is_normal() then 488 else 498 }
+ top: { if is_leveler() and not lone_pt() then 488 else if is_normal() and card.pt != "" or card.loyalty != "" then (if is_map() then 504 else 500) else if is_normal() then 488 else 498 }
width: {if set.automatic_copyright then 0 else 140}
height: 10
z index: 6
@@ -2166,7 +2181,7 @@ card style:
color: white
copyright 2:
right: 728
- top: { if back_leveler() then (if lone_pt() then (if card.pt_4 != "" then 500 else 488) else 488) else if is_leveler() then (if card.pt_4 != "" then 500 else 488) else if use_vorthos() and back_normal() or (back_normal() and card.pt_2 != "") or card.loyalty_2 != "" then (if back_map() then 504 else 500) else if back_normal() then 488 else 498 }
+ top: { if back_leveler() then (if lone_pt() then (if card.pt_4 != "" then 500 else 488) else 488) else if is_leveler() then (if card.pt_4 != "" then 500 else 488) else if (back_normal() and card.pt_2 != "") or card.loyalty_2 != "" then (if back_map() then 504 else 500) else if back_normal() then 488 else 498 }
width: {if set.automatic_copyright then 0 else 140}
height: 10
z index: 6
@@ -2219,13 +2234,12 @@ extra card field:
extra card field:
type: text
name: card code 2
- editable: false
save value: false
script:
if set.automatic_card_numbers and not is_unsorted() then
- forward_editor(prefix: card_number_m15() + "b/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text)
+ forward_editor(prefix: card_number_m15() + "b/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text_2)
else
- back_face(card.custom_card_number) + " " + rarity_code() + " " + card.card_code_text
+ back_face(card.custom_card_number) + " " + rarity_code() + " " + card.card_code_text_2
extra card field:
type: color
name: opac filter
@@ -3708,7 +3722,7 @@ extra card style:
auto copyright:
right: 350
- top: { if is_leveler() and not lone_pt() then 488 else if is_normal() and card.pt != "" or card.loyalty != "" then 500 else if use_vorthos() and is_normal() then 500 else if is_normal() then 488 else 498 }
+ top: { if is_leveler() and not lone_pt() then 488 else if is_normal() and card.pt != "" or card.loyalty != "" then 500 else if is_normal() then 488 else 498 }
width: {if set.automatic_copyright then 140 else 0}
height: 10
z index: 6
@@ -3720,7 +3734,7 @@ extra card style:
weight: bold
auto copyright 2:
right: 728
- top: { if back_leveler() then (if lone_pt() then (if card.pt_4 != "" then 500 else 488) else 488) else if is_leveler() then (if card.pt_4 != "" then 500 else 488) else if use_vorthos() and back_normal() or (back_normal() and card.pt_2 != "") or card.loyalty != "" then 500 else if back_normal() then 488 else 498 }
+ top: { if back_leveler() then (if lone_pt() then (if card.pt_4 != "" then 500 else 488) else 488) else if is_leveler() then (if card.pt_4 != "" then 500 else 488) else if (back_normal() and card.pt_2 != "") or card.loyalty != "" then 500 else if back_normal() then 488 else 498 }
width: {if set.automatic_copyright then 140 else 0}
height: 10
z index: 6
@@ -3807,7 +3821,7 @@ extra card style:
render style: image
image: {if front_clear() then "" else if mainframe_walker() or is_leveler() or is_saga() then snow_texture() else snow_background()}
z index: 1
- visible: {is_snow()}
+ visible: {is_snow() and not chosen(styling.other_options, choice:"mythic edition")}
mask: {if mainframe_walker() then ("nyx/" + (if has_four_abilities() then "4" else "") + "pw_mask.png") else "snow/snow_" + (if is_saga() then "saga" else if is_modal_dfc() then (if is_leveler() then "border" else "modal") else if is_leveler() then "notched" else "front") + "_mask.png"}
snow overlay 2:
left: 377
@@ -3817,7 +3831,7 @@ extra card style:
render style: image
image: {if back_clear() then "" else if mainframe_walkerb() or back_leveler() or back_saga() then snow_texture() else snow_background()}
z index: 1
- visible: {back_snow()}
+ visible: {back_snow() and not chosen(styling.other_options, choice:"mythic edition")}
mask: {if mainframe_walkerb() then ("nyx/" + (if back_four_abilities() then "4" else "") + "pw_mask.png") else "snow/snow_" + (if back_saga() then "saga" else if back_leveler() then "border" else "back") + "_mask.png"}
nyx overlay:
left: 0
@@ -3827,7 +3841,7 @@ extra card style:
render style: image
image: {if front_clear() then "" else nyx_background()}
z index: 1
- visible: {is_nyx()}
+ visible: {is_nyx() and not chosen(styling.other_options, choice:"mythic edition")}
mask: {"nyx/" + (if mainframe_walker() then ((if has_four_abilities() then "4" else "") + "pw_") else if is_modal_dfc() then "" else "notch_") + (if is_vehicle() then "v_") + (if is_saga() then "full") + "mask.png"}
curtain:
left: 0
@@ -3857,7 +3871,7 @@ extra card style:
render style: image
image: {if front_clear() then "miracles/xmiracle.png" else miracle_background()}
z index: 2
- visible: {is_miracle()}
+ visible: {is_miracle() and not chosen(styling.other_options, choice:"mythic edition")}
mask: { if not front_clear() then "nodemask.png"}
vehicle overlay:
left: 0
@@ -3877,7 +3891,7 @@ extra card style:
render style: image
image: {if back_clear() then "" else nyx_background()}
z index: 1
- visible: {back_nyx()}
+ visible: {back_nyx() and not chosen(styling.other_options, choice:"mythic edition")}
mask: {"nyx/" + (if mainframe_walkerb() then ((if back_four_abilities() then "4") + "pw_")) + (if back_vehicle() then "v_") + (if back_saga() then "full") + "mask.png"}
miracle overlay 2:
left: 377
@@ -3887,7 +3901,7 @@ extra card style:
render style: image
image: {if back_clear() then "miracles/xmiracle.png" else if chosen(styling.other_options, choice:"normal back face") then miracle_background() else miracle_background2()}
z index: 2
- visible: {back_miracle()}
+ visible: {back_miracle() and not chosen(styling.other_options, choice:"mythic edition")}
mask: { if not back_clear() then "nodemask.png"}
curtain 2:
left: 377
@@ -4131,7 +4145,7 @@ extra card style:
width: {if is_mutate() then 317 else 156}
height: {if is_mutate() or is_class() then 2 else 3}
render style: image
- z index: 5
+ z index: 3
image: {if is_class() then "bar.png" else if is_mutate() then "mutbar.png" else "line.png"}
visible: {is_saga() or is_mutate() or is_class()}
linebreak 2:
@@ -4168,7 +4182,7 @@ extra card style:
width: 30
height: 34
render style: image
- z index: 5
+ z index: 3
image: {alt_chapters("1")}
visible: {back_saga()}
chapter 2b:
@@ -4404,7 +4418,7 @@ extra card style:
top: { if is_d20() then top_of_para(rolls_start(card.text)) else 329 + lv_2_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)) else lv_2_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {if is_d20() then "d20slice.png" else slice_crop(color_background(type:"slide", base_hybrid: card_hybrid), height: lv_2_height(), width:314, distance:(152-lv_2_coordinate()))}
visible: {is_leveler() or (is_d20() and number_of_rolls(card.text) > 0)}
@@ -4413,7 +4427,7 @@ extra card style:
top: { if is_d20() then top_of_para(rolls_start(card.text)+2) else 329 + lv_3_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)+2) else lv_3_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {if is_d20() then "d20slice.png" else slice_crop(color_background(type:"slide2", base_hybrid: card_hybrid), height: lv_3_height(), width:314, distance:lv_3_height())}
visible: {is_leveler() or (is_d20() and number_of_rolls(card.text) > 2)}
@@ -4422,7 +4436,7 @@ extra card style:
top: { if is_d20() then top_of_para(rolls_start(card.text)+4) else 329 + lv_4_coordinate()}
height: { if is_d20() then height_of_para(rolls_start(card.text)+4) else lv_4_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {if is_d20() then "d20slice.png" else slice_crop(color_background(type:"slide5", base_hybrid: card_hybrid), height: lv_4_height(), width:314, distance:lv_4_height())}
visible: {is_leveler() or (is_d20() and number_of_rolls(card.text) > 4)}
@@ -4518,7 +4532,7 @@ extra card style:
top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)) else 329 + lv_6_coordinate()}
height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)) else lv_6_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {if back_d20() then "d20slice.png" else slice_crop(color_background(type:"slide3", base_hybrid: card_hybrid), height: lv_6_height(), width:314, distance:(152-lv_6_coordinate()))}
visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 0)}
@@ -4527,7 +4541,7 @@ extra card style:
top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)+2) else 329 + lv_7_coordinate()}
height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)+2) else lv_7_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {if back_d20() then "d20slice.png" else slice_crop(color_background(type:"slide4", base_hybrid: card_hybrid), height: lv_7_height(), width:314, distance:lv_7_height())}
visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 2)}
@@ -4536,7 +4550,7 @@ extra card style:
top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)+4) else 329 + lv_8_coordinate()}
height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)+4) else lv_8_height()}
width: 314
- z index: 0
+ z index: 1
render style: image
image: {if back_d20() then "d20slice.png" else slice_crop(color_background(type:"slide6", base_hybrid: card_hybrid), height: lv_8_height(), width:314, distance:lv_8_height())}
visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 4)}
@@ -4582,7 +4596,7 @@ extra card style:
height: {if is_class() then 380 else 372}
render style: image
image: {if is_class() then "paper.png" else bookmark_background()}
- z index: 3
+ z index: 4
visible: {is_saga() or is_class()}
bookmark 2:
left: {if back_class() then 563 else 392}
@@ -4591,7 +4605,7 @@ extra card style:
height: {if back_class() then 380 else 372}
render style: image
image: {if back_class() then "paper.png" else bookmark_background()}
- z index: 3
+ z index: 4
visible: {back_saga() or back_class()}
stripe:
left: 15
@@ -4600,7 +4614,7 @@ extra card style:
height: 372
render style: image
image: bookmarks/stripe.png
- z index: 4
+ z index: 5
visible: {length(write_wubrg(card.card_color))==2 and is_saga()}
stripe 2:
left: 392
@@ -4609,7 +4623,7 @@ extra card style:
height: 372
render style: image
image: bookmarks/stripe.png
- z index: 4
+ z index: 5
visible: {length(write_wubrg(card.card_color_2))==2 and back_saga()}
alias bar:
left: 34
@@ -4631,7 +4645,7 @@ extra card style:
visible: {is_skinned() and not use_evobar()}
vorthos box:
right: { if mainframe_walker() then 275 else if is_leveler() and not lone_pt() then 350 else if card.pt != "" then 275 else 350 }
- top: 488
+ top: {if mainframe_walker() then 488 else if card.pt == "" and shown_cr() then 500 else 488}
left: 210
height: {if use_vorthos() then 10 else 0}
z index: 3
@@ -4643,7 +4657,7 @@ extra card style:
weight: bold
vorthos box 2:
right: { if mainframe_walkerb() then 652 else if back_leveler() and not lone_pt() then 727 else if card.pt_2 != "" then 652 else 727 }
- top: 488
+ top: {if mainframe_walkerb() then 488 else if card.pt_2 == "" and shown_cr() then 500 else 488}
left: 587
height: {if use_vorthos() then 10 else 0}
z index: 3
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/artifact_blend_page.png b/data/magic-m15-mainframe-planeswalker.mse-style/artifact_blend_page.png
new file mode 100644
index 000000000..a764cd57b
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/artifact_blend_page.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/hybrid_blend_page.png b/data/magic-m15-mainframe-planeswalker.mse-style/hybrid_blend_page.png
new file mode 100644
index 000000000..4db3b0a9d
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/hybrid_blend_page.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/multicolor_blend_page.png b/data/magic-m15-mainframe-planeswalker.mse-style/multicolor_blend_page.png
new file mode 100644
index 000000000..06e011b9e
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/multicolor_blend_page.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/acard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/acard2.png
new file mode 100644
index 000000000..3c04cfa17
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/acard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/alcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/alcard2.png
new file mode 100644
index 000000000..f0a611cf2
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/alcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/bcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/bcard2.png
new file mode 100644
index 000000000..13be8091b
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/bcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/blcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/blcard2.png
new file mode 100644
index 000000000..2b899dca8
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/blcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/ccard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/ccard2.png
new file mode 100644
index 000000000..082d504bc
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/ccard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/clcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/clcard2.png
new file mode 100644
index 000000000..e689a77f8
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/clcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/gcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/gcard2.png
new file mode 100644
index 000000000..99485c356
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/gcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/glcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/glcard2.png
new file mode 100644
index 000000000..e4ef9ed36
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/glcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/mcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/mcard2.png
new file mode 100644
index 000000000..fd58bebdb
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/mcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/mlcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/mlcard2.png
new file mode 100644
index 000000000..ff65cec9f
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/mlcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/rcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/rcard2.png
new file mode 100644
index 000000000..1e116fc22
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/rcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/rlcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/rlcard2.png
new file mode 100644
index 000000000..f27565422
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/rlcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/ucard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/ucard2.png
new file mode 100644
index 000000000..9e99bcb7c
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/ucard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/ulcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/ulcard2.png
new file mode 100644
index 000000000..4bbccc02f
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/ulcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/wcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/wcard2.png
new file mode 100644
index 000000000..580505761
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/wcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/page/wlcard2.png b/data/magic-m15-mainframe-planeswalker.mse-style/page/wlcard2.png
new file mode 100644
index 000000000..143a7b206
Binary files /dev/null and b/data/magic-m15-mainframe-planeswalker.mse-style/page/wlcard2.png differ
diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/style b/data/magic-m15-mainframe-planeswalker.mse-style/style
index 94bf9f734..255b7a984 100644
--- a/data/magic-m15-mainframe-planeswalker.mse-style/style
+++ b/data/magic-m15-mainframe-planeswalker.mse-style/style
@@ -40,8 +40,8 @@ init script:
mask_hybrid_with_land := { styling.grey_hybrid_name }
mainframe_walker := {true}
text_filter := text_filter + {apply_margins(input, name:margin_code)} + {add_spacers(input, name:margin_code)}
- template_prefix := [card: "" card2: "" card3: "fullart/" card4: "fullart/" nyx:"nyx/" stamp: "" alias: "alias/" snowtexture:"snow/" identity: "/magic-identity-new.mse-include/"]
- template_suffix := [card: "card.png" card2: "card2.png" card3: "card.jpg" card4: "card2.jpg" nyx:"nyx.png" stamp: "stamp.png" snowtexture:"snow.png" alias:"alias.png", identity: "identity.png"]
+ template_prefix := [card: "" card2: "" card3: "fullart/" card4: "fullart/" page:"page/" nyx:"nyx/" stamp: "" alias: "alias/" snowtexture:"snow/" identity: "/magic-identity-new.mse-include/"]
+ template_suffix := [card: "card.png" card2: "card2.png" card3: "card.jpg" card4: "card2.jpg" page:"card2.png" nyx:"nyx.png" stamp: "stamp.png" snowtexture:"snow.png" alias:"alias.png", identity: "identity.png"]
template := { template_prefix[type] + input + template_suffix[type] }
land_template := { template_prefix[type] + "c" + template_suffix[type] }
# Use land templates for previews because they show more contrast
@@ -52,7 +52,8 @@ init script:
alias_bar := { color_background(type:"alias", base_hybrid:card_hybrid) }
nyx_background := { color_background(type:"nyx", base_hybrid:card_hybrid) }
snow_texture := { color_background(type:"snowtexture", base_hybrid:card_hybrid) }
-
+ card_background_page := { color_background(type:"page", base_hybrid:card_hybrid) }
+
# Use the normal tap symbol
mana_t := {
if styling.tap_symbol == "old" then "old"
@@ -102,6 +103,7 @@ init script:
global_chop_top := { to_int(pull_comma_array(styling.combined_chop, cell:0, end:0, default:0))}
global_chop_bot := { to_int(pull_comma_array(styling.combined_chop, cell:1, end:0, default:0))}
+ global_chop_right := { to_int(pull_comma_array(styling.combined_chop, cell:3, end:0, default:0)) + (if is_adventure() then 150 else 0)}
top_of_textbox := {if has_four_abilities() then 292+global_chop_top()+(if is_clear() then 5 else 0) else 329+global_chop_top()}
use_full_art := { contains(styling.other_options, match:"mythic edition fullart") }
mask_script := {
@@ -190,8 +192,12 @@ init script:
force_tall := { contains(styling.other_options, match:"use taller frame")}
has_identity := { styling.color_indicator_dot}
is_unsorted := {styling.remove_from_autocount}
- shrink_type := {if styling.shrink_typeline_text != "" then to_int(styling.shrink_typeline_text) else 0 }
- shrink_name := {if styling.shrink_name_text != "" then to_int(styling.shrink_name_text) else 0 }
+ ##shrink_type := {if styling.shrink_typeline_text != "" then to_int(styling.shrink_typeline_text) else 0 }
+ ##shrink_name := {if styling.shrink_name_text != "" then to_int(styling.shrink_name_text) else 0 }
+ shrink_type := {if styling.shrink_typeline_text != "" then to_int((if comma_count(styling.shrink_typeline_text) == "" then styling.shrink_typeline_text else split_text(match:",", styling.shrink_typeline_text).0)) else 0 }
+ shrink_name := {if styling.shrink_name_text != "" then to_int((if comma_count(styling.shrink_name_text) == "" then styling.shrink_name_text else split_text(match:",", styling.shrink_name_text).0)) else 0 }
+ shrink_type2 := {if styling.shrink_typeline_text != "" then to_int((if comma_count(styling.shrink_typeline_text) != "" then split_text(match:",", styling.shrink_typeline_text).1)) else 0 }
+ shrink_name2 := {if styling.shrink_name_text != "" then to_int((if comma_count(styling.shrink_name_text) != "" then split_text(match:",", styling.shrink_name_text).1)) else 0 }
use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
un_png := replace@(match:".png", replace: "")
ancestral_mana := { contains(styling.other_options, match:"ancestral generic")}
@@ -200,6 +206,7 @@ init script:
use_evobar := {contains(styling.other_options, match: "pokemon evobar") and not is_skinned()}
is_clear := {styling.clear or contains(styling.other_options, match:"clear frame")}
is_nyx := {chosen(styling.other_options, choice:"nyx")}
+ is_adventure := {chosen(styling.other_options, choice:"adventure")}
is_snow := {chosen(styling.other_options, choice:"snow")}
is_vehicle := {chosen(styling.other_options, choice:"vehicle")}
is_pinned := {chosen(styling.other_options, choice:"pride pinlines")}
@@ -216,6 +223,27 @@ init script:
out
}
pw_font_size := { if styling.font_size != "" then styling.font_size else 12 }
+
+ alt_rarity := {styling.alt_rarity_color != ""}
+ alt_rarity_color := {
+ string := "83,67,53:177,150,131:0,0,0:0,0,0:0.07:"
+ if match(styling.alt_rarity_color, match:":$") then string := styling.alt_rarity_color
+ colons := length(filter_text(string, match:":"))
+ output := split_text(string, match:",|:")
+ splits := split_text(string, match:":")
+ if colons == 4
+ then output := split_text(string+"0.07:", match:",|:")
+ if colons == 3
+ then output := split_text(string+splits[2]+"0.07:", match:",|:")
+ else if colons == 2
+ then output := split_text(string+"0,0,0:0,0,0:0.07:", match:",|:")
+ else if colons == 1
+ then output := split_text(string+splits[0]+":0,0,0:0,0,0:0.07:", match:",|:")
+
+ output
+ }
+ alt_symbol := {symbol_variation(symbol:set.symbol, border_radius: alt_rarity_color().12, fill_type: "linear gradient", fill_color_1: rgb(alt_rarity_color().0, alt_rarity_color().1, alt_rarity_color().2), fill_color_2: rgb(alt_rarity_color().3, alt_rarity_color().4, alt_rarity_color().5), border_color_1: rgb(alt_rarity_color().6, alt_rarity_color().7, alt_rarity_color().8), border_color_2: rgb(alt_rarity_color().9, alt_rarity_color().10, alt_rarity_color().11), center_x:0.5, center_y:0.5, end_x:1, end_y:1)}
+
############################################################## Set info fields
set info style:
symbol:
@@ -279,6 +307,7 @@ styling field:
choice: nyx
choice: snow
choice: vehicle
+ choice: adventure
choice: pride pinlines
initial: un-indent nonloyalty abilities
styling field:
@@ -298,6 +327,10 @@ styling field:
name: color indicator dot
description: Use the color indicator dot
initial: no
+styling field:
+ type: text
+ name: alt rarity color
+ description: Use a custom color for the rarity symbol. Formatted as "R1,G1,B1:R2,G2,B2:..." 1 and 2 are fill color, 3 and 4 border color
styling field:
type: boolean
name: remove from autocount
@@ -402,7 +435,7 @@ card style:
render style: image
popup style: in place
image: { if is_clear() then "" else if has_four_abilities() then card_background2() else card_background() }
- mask: {(if max_level() > 3 or force_tall() then "four_" else "") + (if use_full_art() then (if is_stamped() then "mythic_image_rare_mask" else "mythic_mask") else "frame_mask") + ".png"}
+ mask: {if contains(styling.custom_mask, match:".png") then invert_image("/magic-mainframe-extras.mse-include/" + styling.custom_mask) else (if max_level() > 3 or force_tall() then "four_" else "") + (if use_full_art() then (if is_stamped() then "mythic_image_rare_mask" else "mythic_mask") else "frame_mask") + ".png"}
############################# Name line
name:
left: { if card.card_symbol=="none" then 31 else 48 }
@@ -459,7 +492,7 @@ card style:
width: { if use_full_art() or is_clear() then 375 else if is_normal_size() then 324 else 345 }
height: { if use_full_art() or is_clear() then 523 else if is_normal_size() then 427.5 else 493 }
z index: -1
- mask: {"guidelines/" + (if is_clear() then "clear_" else if is_normal_size() or use_full_art() then "" else "wide_") + (if max_level() > 3 or force_tall() then "four_" else "") + (if is_clear() then "frame_mask" else if use_full_art() then (if is_stamped() then "mythic_image_rare_mask" else "mythic_mask") else "frame_mask") + ".png"}
+ mask: {if contains(styling.custom_mask, match:".png") then "" else "guidelines/" + (if is_clear() then "clear_" else if is_normal_size() or use_full_art() then "" else "wide_") + (if max_level() > 3 or force_tall() then "four_" else "") + (if is_clear() then "frame_mask" else if use_full_art() then (if is_stamped() then "mythic_image_rare_mask" else "mythic_mask") else "frame_mask") + ".png"}
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"}
@@ -502,28 +535,34 @@ card style:
basic land:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
else symbol_variation(symbol: set.symbol, variation: "common")
common:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
else symbol_variation(symbol: set.symbol, variation: "common")
uncommon:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "uncommon")
rare:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "rare")
mythic rare:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "mythic rare")
special:
script:
if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
+ else if alt_rarity() then alt_symbol()
else symbol_variation(symbol: set.symbol, variation: "special")
masterpiece:
script:
@@ -533,7 +572,7 @@ card style:
text:
left: 48
top: { top_of_textbox() }
- width: 300
+ width: {300 - global_chop_right()}
bottom: {477-global_chop_bot()-(if is_stamped() then 2 else 0)}
font:
name: MPlantin
@@ -685,6 +724,85 @@ card style:
size: 7
color: white
weight: bold
+################################### Adventure stuff
+ name 2:
+ left: 202
+ top: {323+shrink_name2()}
+ right: { 35 + card_style.casting_cost_2.content_width }
+ height: {if is_adventure() then 20-shrink_name2() else 0}
+ alignment: bottom shrink-overflow
+ z index: 4
+ font:
+ name: Beleren Bold
+ size: {12 - shrink_name2() }
+ color: white
+ casting cost 2:
+ right: 345
+ top: 323
+ width: { max(30, card_style.casting_cost_2.content_width) + 5 }
+ height: {if is_adventure() then 23 else 0}
+ alignment: middle right
+ symbol font:
+ name: magic-mana-large
+ size: 12
+ alignment: middle right
+ always symbol: true
+ z index: 4
+ padding top: 0
+ type 2:
+ left: 202
+ top: {347+ shrink_type2()}
+ width: 151
+ height: {if is_adventure() then 20 else 0}
+ alignment: top shrink-overflow
+ z index: 4
+ padding top: 2
+ font:
+ name: Beleren Bold
+ size: {11-- shrink_type2()}
+ color: white
+ separator color: red
+ text 2:
+ left: 198
+ top: 367
+ width: {if is_adventure() then 149 else 0}
+ bottom: 479
+ font:
+ name: MPlantin
+ italic name: MPlantin-Italic
+ size: { if styling.font_size != "" then styling.font_size else 14 }
+ scale down to: 6
+ color: black
+ symbol font:
+ name: { styling.text_box_mana_symbols }
+ size: { if styling.font_size != "" then styling.font_size else 14 }
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "middle center"
+ else "middle left"
+ z index: 4
+ 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
+ card color 2:
+ left: 193
+ top: 322
+ width: {if is_adventure() then 165 else 0}
+ height: 155
+ z index: 3
+ render style: image
+ popup style: in place
+ image: { card_background_page() }
+
############################################################## Extra card fields
extra card field:
type: text
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/acard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/acard.jpg
new file mode 100644
index 000000000..c74eb8f3a
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/acard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/alpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/alpt.png
new file mode 100644
index 000000000..85e84c2cb
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/alpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/apt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/apt.png
new file mode 100644
index 000000000..85e84c2cb
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/apt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_card.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_card.png
new file mode 100644
index 000000000..ecfeaa1b6
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_card.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_identity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_identity.png
new file mode 100644
index 000000000..41e338777
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_identity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_pt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_pt.png
new file mode 100644
index 000000000..250b60c70
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/artifact_blend_pt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/artist_arrow.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/artist_arrow.png
new file mode 100644
index 000000000..7140a9bad
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/artist_arrow.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/bcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/bcard.jpg
new file mode 100644
index 000000000..e7ba752ba
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/bcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/bcard.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/bcard.png
new file mode 100644
index 000000000..b172ca17f
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/bcard.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/blcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/blcard.jpg
new file mode 100644
index 000000000..adf0dbc52
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/blcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/blpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/blpt.png
new file mode 100644
index 000000000..8893b8d78
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/blpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/border_mask.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/border_mask.png
new file mode 100644
index 000000000..c21cdc910
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/border_mask.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/bpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/bpt.png
new file mode 100644
index 000000000..8893b8d78
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/bpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/build.bat b/data/magic-m15-scroll-demon-planeswalker.mse-style/build.bat
new file mode 100644
index 000000000..ea3687d15
--- /dev/null
+++ b/data/magic-m15-scroll-demon-planeswalker.mse-style/build.bat
@@ -0,0 +1,7 @@
+cd ..
+
+cd ..
+
+mse --create-installer magic-m15.mse-style magic.mse-game magic-blends.mse-include magic-mana-small.mse-symbol-font magic-mana-large.mse-symbol-font magic-watermarks.mse-include magic-default-image.mse-include magic-identity-new.mse-include
+
+ren "magic-m15.mse-installer" "Magic - M15 Style.mse-installer"
\ No newline at end of file
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/card-sample.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/card-sample.png
new file mode 100644
index 000000000..6c85c065a
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/card-sample.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/ccard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/ccard.jpg
new file mode 100644
index 000000000..c74eb8f3a
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/ccard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/clcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/clcard.jpg
new file mode 100644
index 000000000..c74eb8f3a
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/clcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/clpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/clpt.png
new file mode 100644
index 000000000..5fab79d31
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/clpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/cpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/cpt.png
new file mode 100644
index 000000000..a90a88ba1
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/cpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/dark_walker_scroll_mask.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/dark_walker_scroll_mask.png
new file mode 100644
index 000000000..1e5e01ccd
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/dark_walker_scroll_mask.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_mask.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_mask.png
new file mode 100644
index 000000000..3f647e2d3
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_mask.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_mask_rare.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_mask_rare.png
new file mode 100644
index 000000000..2633ea6d1
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_mask_rare.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_stamp.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_stamp.png
new file mode 100644
index 000000000..375256851
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/foil_stamp.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/foilstamp.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/foilstamp.png
new file mode 100644
index 000000000..761c01b54
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/foilstamp.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/gcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/gcard.jpg
new file mode 100644
index 000000000..8c00cf739
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/gcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/glcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/glcard.jpg
new file mode 100644
index 000000000..b373c3877
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/glcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/glpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/glpt.png
new file mode 100644
index 000000000..539b22284
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/glpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/gpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/gpt.png
new file mode 100644
index 000000000..539b22284
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/gpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_card.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_card.png
new file mode 100644
index 000000000..afbbe90cf
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_card.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_identity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_identity.png
new file mode 100644
index 000000000..41e338777
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_identity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_pt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_pt.png
new file mode 100644
index 000000000..a7e55dc2a
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/hybrid_blend_pt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/aidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/aidentity.png
new file mode 100644
index 000000000..242fd09d9
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/aidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/bidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/bidentity.png
new file mode 100644
index 000000000..1fef1cdfa
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/bidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/blidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/blidentity.png
new file mode 100644
index 000000000..1fef1cdfa
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/blidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/cidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/cidentity.png
new file mode 100644
index 000000000..e16ebed99
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/cidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/clidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/clidentity.png
new file mode 100644
index 000000000..bb1416636
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/clidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/gidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/gidentity.png
new file mode 100644
index 000000000..cd667b0c3
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/gidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/glidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/glidentity.png
new file mode 100644
index 000000000..cd667b0c3
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/glidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/kidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/kidentity.png
new file mode 100644
index 000000000..c60e3383c
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/kidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/klidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/klidentity.png
new file mode 100644
index 000000000..c60e3383c
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/klidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/midentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/midentity.png
new file mode 100644
index 000000000..da7f7420e
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/midentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/mlidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/mlidentity.png
new file mode 100644
index 000000000..da7f7420e
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/mlidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/pidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/pidentity.png
new file mode 100644
index 000000000..0a802beda
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/pidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/plidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/plidentity.png
new file mode 100644
index 000000000..0a802beda
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/plidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/ridentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/ridentity.png
new file mode 100644
index 000000000..bad1fb38d
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/ridentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/rlidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/rlidentity.png
new file mode 100644
index 000000000..bad1fb38d
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/rlidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/uidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/uidentity.png
new file mode 100644
index 000000000..e6e16f29f
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/uidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/ulidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/ulidentity.png
new file mode 100644
index 000000000..e6e16f29f
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/ulidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/widentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/widentity.png
new file mode 100644
index 000000000..040f6fc09
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/widentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/wlidentity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/wlidentity.png
new file mode 100644
index 000000000..040f6fc09
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/identity/wlidentity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/kcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/kcard.jpg
new file mode 100644
index 000000000..cfc5c9c79
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/kcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/klcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/klcard.jpg
new file mode 100644
index 000000000..a225e101d
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/klcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/kpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/kpt.png
new file mode 100644
index 000000000..cfec4ae7c
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/kpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/landmask.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/landmask.png
new file mode 100644
index 000000000..51716333d
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/landmask.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/loyalty.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyalty.png
new file mode 100644
index 000000000..1075e497b
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyalty.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltydown.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltydown.png
new file mode 100644
index 000000000..999ee7714
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltydown.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltynaught.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltynaught.png
new file mode 100644
index 000000000..7d32c3651
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltynaught.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltyup.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltyup.png
new file mode 100644
index 000000000..8b9ad9a98
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/loyaltyup.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/mcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/mcard.jpg
new file mode 100644
index 000000000..7d174d726
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/mcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/mlcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/mlcard.jpg
new file mode 100644
index 000000000..75510ad37
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/mlcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/mlcard.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/mlcard.png
new file mode 100644
index 000000000..efcf0600f
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/mlcard.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/mlpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/mlpt.png
new file mode 100644
index 000000000..1f88c0c96
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/mlpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/mpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/mpt.png
new file mode 100644
index 000000000..1f88c0c96
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/mpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_card.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_card.png
new file mode 100644
index 000000000..ff7b2d071
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_card.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_identity.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_identity.png
new file mode 100644
index 000000000..41e338777
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_identity.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_pt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_pt.png
new file mode 100644
index 000000000..a7e55dc2a
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/multicolor_blend_pt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/pcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/pcard.jpg
new file mode 100644
index 000000000..c9b1b34aa
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/pcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/plcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/plcard.jpg
new file mode 100644
index 000000000..ede53c5f7
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/plcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/ppt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/ppt.png
new file mode 100644
index 000000000..aa9e9b4dd
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/ppt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/ptback.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/ptback.png
new file mode 100644
index 000000000..61d7968b4
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/ptback.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/rcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/rcard.jpg
new file mode 100644
index 000000000..104deacdf
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/rcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/rcard.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/rcard.png
new file mode 100644
index 000000000..ab7ef0019
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/rcard.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/rlcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/rlcard.jpg
new file mode 100644
index 000000000..1e026d576
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/rlcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/rlpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/rlpt.png
new file mode 100644
index 000000000..b16a24747
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/rlpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/rpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/rpt.png
new file mode 100644
index 000000000..b16a24747
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/rpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/scroll_mask.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/scroll_mask.png
new file mode 100644
index 000000000..4a924a2f3
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/scroll_mask.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/stamp.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/stamp.png
new file mode 100644
index 000000000..6ee52ff86
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/stamp.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/style b/data/magic-m15-scroll-demon-planeswalker.mse-style/style
new file mode 100644
index 000000000..2b525ba04
--- /dev/null
+++ b/data/magic-m15-scroll-demon-planeswalker.mse-style/style
@@ -0,0 +1,879 @@
+mse version: 2.0.0
+game: magic
+short name: M15 Scroll
+full name: DemonWalker
+icon: card-sample.png
+installer group: magic/m15 style/normal cards
+position hint: 080
+
+version: 2018-02-08
+depends on:
+ package: magic.mse-game
+ version: 2014-06-25
+depends on:
+ package: magic-default-image.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-watermarks.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-identity-new.mse-include
+ version: 2012-01-22
+depends on:
+ package: magic-mana-large.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mana-small.mse-symbol-font
+ version: 2015-12-13
+depends on:
+ package: magic-mana-scroll-demon.mse-symbol-font
+ version: 2015-12-13
+depends on:
+ package: magic-mana-null.mse-symbol-font
+ version: 2017-05-30
+
+card width: 375
+card height: 523
+card dpi: 150
+############################################################## Extra scripts
+init script:
+ # Load scripts for image box
+ include file: /magic-default-image.mse-include/scripts
+
+ # Should hybrids have a grey name?
+ mask_hybrid_with_land := { false }
+
+ #Should multicolor lands with basic land types have a colored name?
+ mask_multi_land_with_color := { styling.colored_multicolor_land_name }
+
+ template_prefix := [card: "" pt: "" "" identity: "identity/"]
+ template_suffix := [card: "card.jpg" pt: "pt.png", identity: "identity.png"]
+ template := { template_prefix[type] + input + template_suffix[type] }
+ land_template := { template_prefix[type] + (if input == "a" then "c" else input) + 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 := { styling.use_guild_mana_symbols }
+
+ # Is the card a promo card?
+ is_promo := { styling.promo }
+ has_identity := { styling.color_indicator_dot }
+ is_unsorted := {styling.remove_from_autocount}
+ alt_rarity := {styling.alt_rarity_color != ""}
+ alt_rarity_color := {
+ string := "83,67,53:177,150,131:0,0,0:0,0,0:0.07:"
+ if match(styling.alt_rarity_color, match:":$") then string := styling.alt_rarity_color
+ colons := length(filter_text(string, match:":"))
+ output := split_text(string, match:",|:")
+ splits := split_text(string, match:":")
+ if colons == 4
+ then output := split_text(string+"0.07:", match:",|:")
+ if colons == 3
+ then output := split_text(string+splits[2]+"0.07:", match:",|:")
+ else if colons == 2
+ then output := split_text(string+"0,0,0:0,0,0:0.07:", match:",|:")
+ else if colons == 1
+ then output := split_text(string+splits[0]+":0,0,0:0,0,0:0.07:", match:",|:")
+
+ output
+ }
+ alt_symbol := {symbol_variation(symbol:set.symbol, border_radius: alt_rarity_color().12, fill_type: "linear gradient", fill_color_1: rgb(alt_rarity_color().0, alt_rarity_color().1, alt_rarity_color().2), fill_color_2: rgb(alt_rarity_color().3, alt_rarity_color().4, alt_rarity_color().5), border_color_1: rgb(alt_rarity_color().6, alt_rarity_color().7, alt_rarity_color().8), border_color_2: rgb(alt_rarity_color().9, alt_rarity_color().10, alt_rarity_color().11), center_x:0.5, center_y:0.5, end_x:1, end_y:1)}
+ use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
+ un_png := replace@(match:".png", replace: "")
+ mainframe_walker := {true}
+
+ # Does the card have four abilities?
+ has_four_abilities := { max_level() > 3}
+ has_two_abilities := { max_level() < 3 }
+ is_level_walker := { true }
+ abil_center := { if card_style.text.layout.blocks[input].bottom or else 0 > 0 then
+ card_style.text.top + card_style.text.layout.blocks[input].middle + overlap_check(input)
+ else -30
+ }
+ overlap_check := {
+ if input == 0
+ then 0
+ else if card_style.text.layout.blocks[input].middle == card_style.text.layout.blocks[input-1].middle
+ then 40*(input-1)
+ else 0
+ }
+ max_level_function := [
+ "auto": {
+ if card.level_6_text != "" and card.level_6_text != "" then 6
+ else if card.level_5_text != "" and card.level_5_text != "" then 5
+ else if card.level_4_text != "" and card.level_4_text != "" then 4
+ else if card.level_3_text != "" and card.level_3_text != "" then 3
+ else 2
+ },
+ "one": {1},
+ "two": {2},
+ "three": {3},
+ "four": {4},
+ "five": {5},
+ "six": {6},
+ ]
+ max_level := {max_level_function[force_level()]()}
+ mainframe_walker_text_script := {
+ if max_level() == 1 or (max_level() == 2 and card.level_2_text == "") or force_level() == "two" then
+ combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text)
+ else if max_level() == 2 or force_level() == "three" then
+ combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text)
+ else if max_level() == 3 or force_level() == "four" then
+ combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text, separator3: "\n", field4: card.level_4_text)
+ else if max_level() == 4 or force_level() == "five" then
+ combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text, separator3: "\n", field4: card.level_4_text, separator4: "\n", field5: card.level_5_text)
+ else if max_level() > 4 or force_level() == "six" then
+ combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text, separator3: "\n", field4: card.level_4_text, separator4: "\n", field5: card.level_5_text, separator5: "\n", field6: card.level_6_text)
+ else
+ combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text)
+ }
+ unindent := {true}
+ margin_left := {
+ if input == "lv1" then (if card.loyalty_cost_1 == "" and unindent() then 0 else 90)
+ else if input == "lv2" then (if card.loyalty_cost_2 == "" and unindent() then 0 else 90)
+ else if input == "lv3" then (if card.loyalty_cost_3 == "" and unindent() then 0 else 90)
+ else if input == "lv4" then (if card.loyalty_cost_4 == "" and unindent() then 0 else 90)
+ else if input == "lv5" then (if card.loyalty_cost_5 == "" and unindent() then 0 else 90)
+ else if input == "lv6" then (if card.loyalty_cost_6 == "" and unindent() then 0 else 90)
+ else 0
+ }
+ margin_top := {to_int(pull_comma_array(styling.combined_chop, cell:2, end:0, default:0))}
+ add_spacers := { if input == "" and inner_level(name) then "" else input}
+ inner_level := {
+ if input == "lv5" and max_level() > 5 then true
+ else if input == "lv4" and max_level() > 4 then true
+ else if input == "lv3" and max_level() > 3 then true
+ else if input == "lv2" and max_level() > 2 then true
+ else if input == "lv1" and max_level() > 1 then true
+ else false
+ }
+ force_level := {"auto"}
+ pw_font_size := { if mainframe_walker() then 12 else 14 }
+ loyal_move := { pull_comma_array(styling.shift_loyalty_costs, cell:0, end:0, default:0)}
+ loyal_move2 := { if card.level_2_text == "" or card.level_2_text == "" then -15 else pull_comma_array(styling.shift_loyalty_costs, cell:1, end:0, default:0)}
+ loyal_move3 := { if card.level_3_text == "" or card.level_3_text == "" then -5 else pull_comma_array(styling.shift_loyalty_costs, cell:2, end:0, default:0)}
+ loyal_move4 := { pull_comma_array(styling.shift_loyalty_costs, cell:3, end:0, default:0)}
+ loyal_move5 := { pull_comma_array(styling.shift_loyalty_costs, cell:4, end:0, default:0)}
+ loyal_move6 := { pull_comma_array(styling.shift_loyalty_costs, cell:5, end:0, default:0)}
+ text_filter := text_filter + {apply_margins(input, name:margin_code)} + {add_spacers(input, name:margin_code)}
+ global_chop_top := { to_int(pull_comma_array(styling.combined_chop, cell:0, end:0, default:0))}
+ global_chop_bot := { to_int(pull_comma_array(styling.combined_chop, cell:1, end:0, default:0))}
+ global_chop_right := { to_int(pull_comma_array(styling.combined_chop, cell:3, end:0, default:0)) + (if is_adventure() then 150 else 0)}
+ # Loyalty cost arrows
+ loyalty_image := {
+ if contains(input, match: "+") then "loyalty up"
+ else if contains(input, match: "-") then "loyalty down"
+ else "loyalty naught"
+ }
+
+############################################################## 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: combined chop
+ description: Formatted "X,Y,Z", shrinks the top X pixels, shrinks bottom Y pixels toward center, widens small stripes Z pixels.
+styling field:
+ type: choice
+ name: seal stamps
+ initial: none
+ choice: none
+ choice: seal only
+ choice: with holofoil stamp
+ description: Optional holofoil seal stamps
+styling field:
+ type: boolean
+ name: color indicator dot
+ description: Use the color indicator dot
+ initial: no
+styling field:
+ type: boolean
+ name: remove from autocount
+ description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks.
+ initial: no
+styling field:
+ type: text
+ name: shift loyalty costs
+ description: Moves loyalty costs up the specified amount. Use negative to move down. Formatted as "1,2,3,4,"
+styling field:
+ type: boolean
+ name: colored multicolor land name
+ description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards.
+styling field:
+ type: text
+ name: alt rarity color
+ description: Use a custom color for the rarity symbol. Formatted as "R1,G1,B1:R2,G2,B2:..." 1 and 2 are fill color, 3 and 4 border color
+styling field:
+ type: boolean
+ name: use guild mana symbols
+ description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana.
+ initial: no
+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-scroll-demon.mse-symbol-font
+styling field:
+ type: choice
+ name: center text
+ description: When to center text (short text only means only on one-line cards with no flavor text)
+ choice: always
+ choice: short text only
+ choice: never
+ initial: never
+styling field:
+ type: boolean
+ name: promo
+ description: Is this card a promo card, with the "P" rarity?
+ initial: no
+styling field:
+ type: boolean
+ name: inverted common symbol
+ description: Should the common rarity symbol be inverted, like in Coldsnap?
+ initial: no
+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 style:
+ use guild mana symbols:
+ choice images:
+ yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png
+ no: /magic-mana-small.mse-symbol-font/mana_rg.png
+ tap symbol:
+ render style: both
+ choice images:
+ modern: /magic-mana-large.mse-symbol-font/mana_t.png
+ old: /magic-mana-large.mse-symbol-font/mana_t_old.png
+ diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png
+ center text:
+ render style: both
+ choice images:
+ always: /magic.mse-game/icons/center-all-text.png
+ short text only: /magic.mse-game/icons/center-short-text.png
+ never: /magic.mse-game/icons/center-no-text.png
+ inverted common symbol:
+ choice images:
+ no: { symbol_variation(symbol: set.symbol, variation: "common") }
+ yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
+############################################################## Card fields
+card style:
+ ############################# Background stuff
+ card color:
+ left: 0
+ top: 0
+ width: 375
+ height: 523
+ z index: 0
+ render style: image
+ popup style: in place
+ image: { card_background() }
+ ############################# Name line
+ name:
+ left: { if card.card_symbol=="none" then 35 else 50 }
+ top: 43
+ right: { 341 - card_style.casting_cost.content_width }
+ height: 23
+ alignment: bottom shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: MagicMedieval
+ size: 15
+ color: white
+ casting cost:
+ right: 346
+ top: 41
+ 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
+ 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 30}
+ top: 29
+ height: 20
+ width: 14
+ z index: 1
+ render style: image
+ choice images:
+ tombstone: tombstone.png
+ ############################# Image
+ image:
+ left: 28
+ top: 55
+ width: 318
+ height: {if mainframe_walker() then 420 else 283}
+ z index: 1
+ default: {default_image(card.card_color)}
+ mask: {(if mainframe_walker() then "dark_walker_" else "")+"scroll_mask.png"}
+ ############################# Card type
+ indicator:
+ left: 32
+ top: 328
+ width: 17
+ height: 17
+ z index: 2
+ render style: image
+ visible: { has_identity() }
+ image: { card_identity() }
+ type:
+ left: { if has_identity() then "53" else "32" }
+ top: {if mainframe_walker() then 300 else 327}
+ width: { (if has_identity() then "288" else "308") - max(22,card_style.rarity.content_width) }
+ height: 20
+ alignment: top shrink-overflow
+ z index: 1
+ padding top: 2
+ font:
+ name: MagicMedieval
+ size: 13
+ color: { rgba(0,0,0,0) }
+ separator color: red
+ rarity:
+ right: 343
+ top: {if mainframe_walker() then 298 else 325}
+ 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 use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ common:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ uncommon:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "uncommon")
+ rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "rare")
+ mythic rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "mythic rare")
+ special:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "special")
+ masterpiece:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png"
+ else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare")
+ ############################# Text box
+ text:
+ left: {if mainframe_walker() then 37 else 28}
+ top: {if mainframe_walker() then 325 else 354}
+ width: {if mainframe_walker() then 321 else 318}
+ height: { (if card.pt != "" then 119 else 128) + (if mainframe_walker() then 28 else 0) }
+ font:
+ name: MagicMedieval
+ size: {pw_font_size()}
+ scale down to: 6
+ color: { rgba (0,0,0,0) }
+ symbol font:
+ name: magic-mana-null
+ size: {pw_font_size()}
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "middle center"
+ else "middle left"
+ z index: 2
+ padding left: 6
+ padding right: 5
+ line height hard: 1.2
+ line height line: 1.4
+ line height soft: {if has_four_abilities() then 0.85 else 0.9}
+ line height hard max: 1.1
+ line height line max: 1.6
+ watermark:
+ left: 117
+ top: 321
+ width: 138
+ height: 166
+ z index: 1
+ render style: image
+ popup style: in place
+ alignment: middle center
+ include file: /magic-watermarks.mse-include/watermarks
+ ############################# Card sorting / numbering
+ set code:
+ left: 24
+ top: 500
+ 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: 499
+ width: 200
+ height: 10
+ z index: 1
+ font:
+ name: Beleren Small Caps Bold
+ size: 7.5
+ color: white
+ copyright:
+ right: 349
+ top: 500
+ width: 140
+ height: 10
+ z index: 2
+ alignment: middle right shrink-overflow
+ visible: {not set.automatic_copyright}
+ font:
+ name: Matrix
+ size: 7
+ color: white
+ weight: bold
+ ############################# loyalty
+ loyalty:
+ z index: 7
+ left: 328
+ top: 466
+ width: 13.16
+ height: 34.63
+ alignment: center middle
+ font:
+ name: Beleren Bold
+ size: 14
+ color: white
+ loyalty cost 1:
+ z index: 7
+ left: 15
+ top: { abil_center(0) - 17.3 - 2 - loyal_move() }
+ width: 18
+ height: 35
+ alignment: center middle
+ font:
+ name: Beleren Bold
+ size: 11
+ color: white
+ loyalty cost 2:
+ z index: 7
+ left: 15
+ top: { abil_center(1) - 17.3 - 2 - loyal_move2() }
+ width: 18
+ height: 35
+ alignment: center middle
+ font:
+ name: Beleren Bold
+ size: 11
+ color: white
+ loyalty cost 3:
+ z index: 7
+ left: 15
+ top: { abil_center(2) - 17.3 - 2 - loyal_move3() }
+ width: {if card.loyalty_cost_3 != "" or max_level() > 1 then 18 else 0}
+ height: 35
+ alignment: center middle
+ font:
+ name: Beleren Bold
+ size: 11
+ color: white
+ loyalty cost 4:
+ z index: 7
+ left: 15
+ top: { abil_center(3) - 17.3 - 2 - loyal_move4() }
+ width: {if card.loyalty_cost_4 != "" or max_level() > 2 then 18 else 0}
+ height: 35
+ alignment: center middle
+ font:
+ name: Beleren Bold
+ size: 11
+ color: white
+
+############################################################## Extra card fields
+extra card field:
+ type: text
+ name: card code
+ save value: false
+ script:
+ if set.automatic_card_numbers and not styling.remove_from_autocount 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
+extra card field:
+ type: choice
+ name: pt box
+ script: card.card_color
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: foil layer
+ choice: foil
+ save value: false
+ editable: false
+extra card field:
+ type: text
+ name: replacement text
+ editable: false
+ multi line: true
+ save value: false
+ script: replace(card.text, match: "—", replace: "-")
+extra card field:
+ type: text
+ name: replacement type
+ editable: false
+ save value: false
+ script: replace(card.type, match: "—", replace: "-")
+extra card field:
+ type: choice
+ name: stamp
+ editable: false
+ save value: false
+ choice: seal
+extra card field:
+ type: choice
+ name: pt box
+ choice: pt box
+ script: card.card_color
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: pt back
+ choice: pt back
+ editable: false
+ save value: false
+extra card field:
+ type: text
+ name: auto copyright
+ script: set.copyright
+ save value: false
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: loyalty box
+ editable: false
+ choice: loyalty
+ save value: false
+extra card field:
+ type: choice
+ name: loyalty cost box 1
+ editable: false
+ script: loyalty_image(card.loyalty_cost_1)
+ save value: false
+extra card field:
+ type: choice
+ name: loyalty cost box 2
+ editable: false
+ script: loyalty_image(card.loyalty_cost_2)
+ save value: false
+extra card field:
+ type: choice
+ name: loyalty cost box 3
+ editable: false
+ script: loyalty_image(card.loyalty_cost_3)
+ save value: false
+extra card field:
+ type: choice
+ name: loyalty cost box 4
+ editable: false
+ script: loyalty_image(card.loyalty_cost_4)
+ save value: false
+extra card field:
+ type: text
+ name: colon 1
+ editable: false
+ script: ":"
+ save value: false
+extra card field:
+ type: text
+ name: colon 2
+ editable: false
+ script: ":"
+ save value: false
+extra card field:
+ type: text
+ name: colon 3
+ editable: false
+ script: ":"
+ save value: false
+extra card field:
+ type: text
+ name: colon 4
+ editable: false
+ script: ":"
+ save value: false
+
+extra card style:
+ card code:
+ left: { if set.automatic_card_numbers then 24 else 19 }
+ 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: 502
+ width: 12
+ height: 7
+ z index: 1
+ render style: image
+ image: artist_arrow.png
+ pt box:
+ left: 304
+ top: 450
+ width: 50
+ height: 42
+ z index: 1
+ visible: { card.pt == "moo" }
+ render style: image
+ image: { card_ptbox() }
+ 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 "foil_mask_rare.png" else "foil_mask.png" }
+ replacement text:
+ left: {if mainframe_walker() then 40 else 28}
+ top: {if mainframe_walker() then 325 else 354}
+ width: {if mainframe_walker() then 321 else 318}
+ height: { (if card.pt != "" then 119 else 128) + (if mainframe_walker() then 28 else 0) }
+ font:
+ name: MagicMedieval
+ size: {pw_font_size()}
+ scale down to: 6
+ color: white
+ symbol font:
+ name: { styling.text_box_mana_symbols }
+ size: {pw_font_size()}
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "middle center"
+ else "middle left"
+ z index: 2
+ padding left: 6
+ padding right: 5
+ line height hard: 1.2
+ line height line: 1.4
+ line height soft: {if has_four_abilities() then 0.85 else 0.9}
+ line height hard max: 1.1
+ line height line max: 1.6
+ replacement type:
+ left: { if has_identity() then "53" else "32" }
+ top: {if mainframe_walker() then 300 else 327}
+ width: { (if has_identity() then "288" else "308") - max(22,card_style.rarity.content_width) }
+ height: 20
+ alignment: top shrink-overflow
+ z index: 1
+ padding top: 2
+ font:
+ name: MagicMedieval
+ size: 14
+ color: white
+ stamp:
+ left: 166
+ top: 480
+ width: 50
+ height: 37
+ z index: 1
+ render style: image
+ image: { if contains(styling.seal_stamps, match:"holofoil") then "foilstamp.png" else "stamp.png" }
+ visible: { not contains(styling.seal_stamps, match:"none") }
+ auto copyright:
+ right: 349
+ top: 500
+ width: 140
+ height: 10
+ z index: 2
+ visible: {set.automatic_copyright}
+ alignment: middle right shrink-overflow
+ font:
+ name: Matrix
+ size: 7
+ color: white
+ weight: bold
+ loyalty box:
+ right: 364
+ top: 464
+ width: 60
+ height: 38
+ z index: 6
+ render style: image
+ visible: { card.loyalty != "" }
+ choice images:
+ loyalty: loyalty.png
+ loyalty cost box 1:
+ left: 2
+ top: { abil_center(0) - 17.3 - 2 - loyal_move() }
+ width: 45
+ height: 36
+ z index: 6
+ render style: image
+ visible: { card.loyalty_cost_1 != "" }
+ choice images:
+ loyalty up: loyaltyup.png
+ loyalty down: loyaltydown.png
+ loyalty naught: loyaltynaught.png
+ loyalty cost box 2:
+ left: 2
+ top: { abil_center(1) - 17.3 - 2 - loyal_move2() }
+ width: 45
+ height: 36
+ z index: 6
+ render style: image
+ visible: { card.loyalty_cost_2 != "" }
+ choice images:
+ loyalty up: loyaltyup.png
+ loyalty down: loyaltydown.png
+ loyalty naught: loyaltynaught.png
+ loyalty cost box 3:
+ left: 2
+ top: { abil_center(2) - 17.3 - 2 - loyal_move3() }
+ width: 45
+ height: 36
+ z index: 6
+ render style: image
+ visible: { card.loyalty_cost_3 != "" }
+ choice images:
+ loyalty up: loyaltyup.png
+ loyalty down: loyaltydown.png
+ loyalty naught: loyaltynaught.png
+ loyalty cost box 4:
+ left: 2
+ top: { abil_center(3) - 17.3 - 2 - loyal_move4() }
+ width: 45
+ height: 36
+ z index: 6
+ render style: image
+ visible: { card.loyalty_cost_4 != "" }
+ choice images:
+ loyalty up: loyaltyup.png
+ loyalty down: loyaltydown.png
+ loyalty naught: loyaltynaught.png
+ colon 1:
+ left: 46
+ top: { abil_center(0) - 17.3 + 10 - loyal_move() }
+ width: 5
+ height: 10
+ z index: 6
+ font:
+ name: MPlantin
+ size: 15
+ scale down to: 15
+ color: white
+ alignment: middle center
+ visible: { card.loyalty_cost_1 != "" }
+ colon 2:
+ left: 46
+ top: { abil_center(1) - 17.3 + 10 - loyal_move2() }
+ width: 5
+ height: 10
+ z index: 6
+ font:
+ name: MPlantin
+ size: 15
+ scale down to: 15
+ color: white
+ alignment: middle center
+ visible: { card.loyalty_cost_2 != "" }
+ colon 3:
+ left: 46
+ top: { abil_center(2) - 17.3 + 10 - loyal_move3() }
+ width: {if has_two_abilities() then 0 else 5}
+ height: 10
+ z index: 6
+ font:
+ name: MPlantin
+ size: 15
+ scale down to: 15
+ color: white
+ alignment: middle center
+ visible: { card.loyalty_cost_3 != "" }
+ colon 4:
+ left: 46
+ top: { abil_center(3) - 17.3 + 10 - loyal_move4() }
+ width: { if has_four_abilities() then 5 else 0 }
+ height: 10
+ z index: 6
+ font:
+ name: MPlantin
+ size: 15
+ scale down to: 15
+ color: white
+ alignment: middle center
+ visible: { card.loyalty_cost_4 != "" }
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/textmask.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/textmask.png
new file mode 100644
index 000000000..2bb52bb0c
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/textmask.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/ucard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/ucard.jpg
new file mode 100644
index 000000000..5168f8748
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/ucard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/ucard.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/ucard.png
new file mode 100644
index 000000000..e6c631a6d
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/ucard.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/ulcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/ulcard.jpg
new file mode 100644
index 000000000..b1698d7af
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/ulcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/ulpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/ulpt.png
new file mode 100644
index 000000000..40f9a66a6
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/ulpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/upt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/upt.png
new file mode 100644
index 000000000..40f9a66a6
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/upt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/walker_scroll_mask.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/walker_scroll_mask.png
new file mode 100644
index 000000000..65a345e95
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/walker_scroll_mask.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/wcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/wcard.jpg
new file mode 100644
index 000000000..6cb1f8944
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/wcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/wlcard.jpg b/data/magic-m15-scroll-demon-planeswalker.mse-style/wlcard.jpg
new file mode 100644
index 000000000..f0cf004af
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/wlcard.jpg differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/wlpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/wlpt.png
new file mode 100644
index 000000000..c1083d5cf
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/wlpt.png differ
diff --git a/data/magic-m15-scroll-demon-planeswalker.mse-style/wpt.png b/data/magic-m15-scroll-demon-planeswalker.mse-style/wpt.png
new file mode 100644
index 000000000..c1083d5cf
Binary files /dev/null and b/data/magic-m15-scroll-demon-planeswalker.mse-style/wpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/acard.jpg b/data/magic-m15-scroll-demon.mse-style/acard.jpg
new file mode 100644
index 000000000..c74eb8f3a
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/acard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/alpt.png b/data/magic-m15-scroll-demon.mse-style/alpt.png
new file mode 100644
index 000000000..85e84c2cb
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/alpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/apt.png b/data/magic-m15-scroll-demon.mse-style/apt.png
new file mode 100644
index 000000000..85e84c2cb
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/apt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/artifact_blend_card.png b/data/magic-m15-scroll-demon.mse-style/artifact_blend_card.png
new file mode 100644
index 000000000..ecfeaa1b6
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/artifact_blend_card.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/artifact_blend_identity.png b/data/magic-m15-scroll-demon.mse-style/artifact_blend_identity.png
new file mode 100644
index 000000000..41e338777
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/artifact_blend_identity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/artifact_blend_pt.png b/data/magic-m15-scroll-demon.mse-style/artifact_blend_pt.png
new file mode 100644
index 000000000..250b60c70
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/artifact_blend_pt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/artist_arrow.png b/data/magic-m15-scroll-demon.mse-style/artist_arrow.png
new file mode 100644
index 000000000..7140a9bad
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/artist_arrow.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/bcard.jpg b/data/magic-m15-scroll-demon.mse-style/bcard.jpg
new file mode 100644
index 000000000..e7ba752ba
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/bcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/bcard.png b/data/magic-m15-scroll-demon.mse-style/bcard.png
new file mode 100644
index 000000000..b172ca17f
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/bcard.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/blcard.jpg b/data/magic-m15-scroll-demon.mse-style/blcard.jpg
new file mode 100644
index 000000000..adf0dbc52
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/blcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/blpt.png b/data/magic-m15-scroll-demon.mse-style/blpt.png
new file mode 100644
index 000000000..8893b8d78
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/blpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/border_mask.png b/data/magic-m15-scroll-demon.mse-style/border_mask.png
new file mode 100644
index 000000000..c21cdc910
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/border_mask.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/bpt.png b/data/magic-m15-scroll-demon.mse-style/bpt.png
new file mode 100644
index 000000000..8893b8d78
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/bpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/build.bat b/data/magic-m15-scroll-demon.mse-style/build.bat
new file mode 100644
index 000000000..ea3687d15
--- /dev/null
+++ b/data/magic-m15-scroll-demon.mse-style/build.bat
@@ -0,0 +1,7 @@
+cd ..
+
+cd ..
+
+mse --create-installer magic-m15.mse-style magic.mse-game magic-blends.mse-include magic-mana-small.mse-symbol-font magic-mana-large.mse-symbol-font magic-watermarks.mse-include magic-default-image.mse-include magic-identity-new.mse-include
+
+ren "magic-m15.mse-installer" "Magic - M15 Style.mse-installer"
\ No newline at end of file
diff --git a/data/magic-m15-scroll-demon.mse-style/card-sample.png b/data/magic-m15-scroll-demon.mse-style/card-sample.png
new file mode 100644
index 000000000..2130a8143
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/card-sample.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/ccard.jpg b/data/magic-m15-scroll-demon.mse-style/ccard.jpg
new file mode 100644
index 000000000..c74eb8f3a
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/ccard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/clcard.jpg b/data/magic-m15-scroll-demon.mse-style/clcard.jpg
new file mode 100644
index 000000000..c74eb8f3a
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/clcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/clpt.png b/data/magic-m15-scroll-demon.mse-style/clpt.png
new file mode 100644
index 000000000..5fab79d31
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/clpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/cpt.png b/data/magic-m15-scroll-demon.mse-style/cpt.png
new file mode 100644
index 000000000..a90a88ba1
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/cpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/dark_walker_scroll_mask.png b/data/magic-m15-scroll-demon.mse-style/dark_walker_scroll_mask.png
new file mode 100644
index 000000000..1e5e01ccd
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/dark_walker_scroll_mask.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/foil_mask.png b/data/magic-m15-scroll-demon.mse-style/foil_mask.png
new file mode 100644
index 000000000..3f647e2d3
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/foil_mask.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/foil_mask_rare.png b/data/magic-m15-scroll-demon.mse-style/foil_mask_rare.png
new file mode 100644
index 000000000..2633ea6d1
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/foil_mask_rare.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/foil_stamp.png b/data/magic-m15-scroll-demon.mse-style/foil_stamp.png
new file mode 100644
index 000000000..375256851
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/foil_stamp.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/foilstamp.png b/data/magic-m15-scroll-demon.mse-style/foilstamp.png
new file mode 100644
index 000000000..761c01b54
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/foilstamp.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/gcard.jpg b/data/magic-m15-scroll-demon.mse-style/gcard.jpg
new file mode 100644
index 000000000..8c00cf739
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/gcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/glcard.jpg b/data/magic-m15-scroll-demon.mse-style/glcard.jpg
new file mode 100644
index 000000000..b373c3877
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/glcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/glpt.png b/data/magic-m15-scroll-demon.mse-style/glpt.png
new file mode 100644
index 000000000..539b22284
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/glpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/gpt.png b/data/magic-m15-scroll-demon.mse-style/gpt.png
new file mode 100644
index 000000000..539b22284
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/gpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/hybrid_blend_card.png b/data/magic-m15-scroll-demon.mse-style/hybrid_blend_card.png
new file mode 100644
index 000000000..afbbe90cf
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/hybrid_blend_card.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/hybrid_blend_identity.png b/data/magic-m15-scroll-demon.mse-style/hybrid_blend_identity.png
new file mode 100644
index 000000000..41e338777
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/hybrid_blend_identity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/hybrid_blend_pt.png b/data/magic-m15-scroll-demon.mse-style/hybrid_blend_pt.png
new file mode 100644
index 000000000..a7e55dc2a
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/hybrid_blend_pt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/aidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/aidentity.png
new file mode 100644
index 000000000..242fd09d9
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/aidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/bidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/bidentity.png
new file mode 100644
index 000000000..1fef1cdfa
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/bidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/blidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/blidentity.png
new file mode 100644
index 000000000..1fef1cdfa
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/blidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/cidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/cidentity.png
new file mode 100644
index 000000000..e16ebed99
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/cidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/clidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/clidentity.png
new file mode 100644
index 000000000..bb1416636
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/clidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/gidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/gidentity.png
new file mode 100644
index 000000000..cd667b0c3
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/gidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/glidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/glidentity.png
new file mode 100644
index 000000000..cd667b0c3
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/glidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/kidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/kidentity.png
new file mode 100644
index 000000000..c60e3383c
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/kidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/klidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/klidentity.png
new file mode 100644
index 000000000..c60e3383c
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/klidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/midentity.png b/data/magic-m15-scroll-demon.mse-style/identity/midentity.png
new file mode 100644
index 000000000..da7f7420e
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/midentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/mlidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/mlidentity.png
new file mode 100644
index 000000000..da7f7420e
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/mlidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/pidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/pidentity.png
new file mode 100644
index 000000000..0a802beda
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/pidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/plidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/plidentity.png
new file mode 100644
index 000000000..0a802beda
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/plidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/ridentity.png b/data/magic-m15-scroll-demon.mse-style/identity/ridentity.png
new file mode 100644
index 000000000..bad1fb38d
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/ridentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/rlidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/rlidentity.png
new file mode 100644
index 000000000..bad1fb38d
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/rlidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/uidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/uidentity.png
new file mode 100644
index 000000000..e6e16f29f
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/uidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/ulidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/ulidentity.png
new file mode 100644
index 000000000..e6e16f29f
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/ulidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/widentity.png b/data/magic-m15-scroll-demon.mse-style/identity/widentity.png
new file mode 100644
index 000000000..040f6fc09
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/widentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/identity/wlidentity.png b/data/magic-m15-scroll-demon.mse-style/identity/wlidentity.png
new file mode 100644
index 000000000..040f6fc09
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/identity/wlidentity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/kcard.jpg b/data/magic-m15-scroll-demon.mse-style/kcard.jpg
new file mode 100644
index 000000000..cfc5c9c79
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/kcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/klcard.jpg b/data/magic-m15-scroll-demon.mse-style/klcard.jpg
new file mode 100644
index 000000000..a225e101d
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/klcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/kpt.png b/data/magic-m15-scroll-demon.mse-style/kpt.png
new file mode 100644
index 000000000..cfec4ae7c
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/kpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/landmask.png b/data/magic-m15-scroll-demon.mse-style/landmask.png
new file mode 100644
index 000000000..51716333d
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/landmask.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/loyalty.png b/data/magic-m15-scroll-demon.mse-style/loyalty.png
new file mode 100644
index 000000000..1075e497b
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/loyalty.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/loyaltydown.png b/data/magic-m15-scroll-demon.mse-style/loyaltydown.png
new file mode 100644
index 000000000..999ee7714
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/loyaltydown.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/loyaltynaught.png b/data/magic-m15-scroll-demon.mse-style/loyaltynaught.png
new file mode 100644
index 000000000..7d32c3651
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/loyaltynaught.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/loyaltyup.png b/data/magic-m15-scroll-demon.mse-style/loyaltyup.png
new file mode 100644
index 000000000..8b9ad9a98
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/loyaltyup.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/mcard.jpg b/data/magic-m15-scroll-demon.mse-style/mcard.jpg
new file mode 100644
index 000000000..7d174d726
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/mcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/mlcard.jpg b/data/magic-m15-scroll-demon.mse-style/mlcard.jpg
new file mode 100644
index 000000000..75510ad37
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/mlcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/mlcard.png b/data/magic-m15-scroll-demon.mse-style/mlcard.png
new file mode 100644
index 000000000..efcf0600f
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/mlcard.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/mlpt.png b/data/magic-m15-scroll-demon.mse-style/mlpt.png
new file mode 100644
index 000000000..1f88c0c96
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/mlpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/mpt.png b/data/magic-m15-scroll-demon.mse-style/mpt.png
new file mode 100644
index 000000000..1f88c0c96
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/mpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/multicolor_blend_card.png b/data/magic-m15-scroll-demon.mse-style/multicolor_blend_card.png
new file mode 100644
index 000000000..ff7b2d071
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/multicolor_blend_card.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/multicolor_blend_identity.png b/data/magic-m15-scroll-demon.mse-style/multicolor_blend_identity.png
new file mode 100644
index 000000000..41e338777
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/multicolor_blend_identity.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/multicolor_blend_pt.png b/data/magic-m15-scroll-demon.mse-style/multicolor_blend_pt.png
new file mode 100644
index 000000000..a7e55dc2a
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/multicolor_blend_pt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/pcard.jpg b/data/magic-m15-scroll-demon.mse-style/pcard.jpg
new file mode 100644
index 000000000..c9b1b34aa
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/pcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/plcard.jpg b/data/magic-m15-scroll-demon.mse-style/plcard.jpg
new file mode 100644
index 000000000..ede53c5f7
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/plcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/ppt.png b/data/magic-m15-scroll-demon.mse-style/ppt.png
new file mode 100644
index 000000000..aa9e9b4dd
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/ppt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/ptback.png b/data/magic-m15-scroll-demon.mse-style/ptback.png
new file mode 100644
index 000000000..61d7968b4
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/ptback.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/rcard.jpg b/data/magic-m15-scroll-demon.mse-style/rcard.jpg
new file mode 100644
index 000000000..104deacdf
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/rcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/rcard.png b/data/magic-m15-scroll-demon.mse-style/rcard.png
new file mode 100644
index 000000000..ab7ef0019
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/rcard.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/rlcard.jpg b/data/magic-m15-scroll-demon.mse-style/rlcard.jpg
new file mode 100644
index 000000000..1e026d576
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/rlcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/rlpt.png b/data/magic-m15-scroll-demon.mse-style/rlpt.png
new file mode 100644
index 000000000..b16a24747
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/rlpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/rpt.png b/data/magic-m15-scroll-demon.mse-style/rpt.png
new file mode 100644
index 000000000..b16a24747
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/rpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/scroll_mask.png b/data/magic-m15-scroll-demon.mse-style/scroll_mask.png
new file mode 100644
index 000000000..4a924a2f3
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/scroll_mask.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/stamp.png b/data/magic-m15-scroll-demon.mse-style/stamp.png
new file mode 100644
index 000000000..6ee52ff86
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/stamp.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/style b/data/magic-m15-scroll-demon.mse-style/style
new file mode 100644
index 000000000..c3d97eb91
--- /dev/null
+++ b/data/magic-m15-scroll-demon.mse-style/style
@@ -0,0 +1,589 @@
+mse version: 2.0.0
+game: magic
+short name: M15 Scroll
+full name: Demon
+icon: card-sample.png
+installer group: magic/m15 style/normal cards
+position hint: 080
+
+version: 2018-02-08
+depends on:
+ package: magic.mse-game
+ version: 2014-06-25
+depends on:
+ package: magic-default-image.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-watermarks.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-identity-new.mse-include
+ version: 2012-01-22
+depends on:
+ package: magic-mana-large.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mana-small.mse-symbol-font
+ version: 2015-12-13
+depends on:
+ package: magic-mana-scroll-demon.mse-symbol-font
+ version: 2015-12-13
+depends on:
+ package: magic-mana-null.mse-symbol-font
+ version: 2017-05-30
+
+card width: 375
+card height: 523
+card dpi: 150
+############################################################## Extra scripts
+init script:
+ # Load scripts for image box
+ include file: /magic-default-image.mse-include/scripts
+
+ # Should hybrids have a grey name?
+ mask_hybrid_with_land := { false }
+
+ #Should multicolor lands with basic land types have a colored name?
+ mask_multi_land_with_color := { styling.colored_multicolor_land_name }
+
+ template_prefix := [card: "" pt: "" "" identity: "identity/"]
+ template_suffix := [card: "card.jpg" pt: "pt.png", identity: "identity.png"]
+ template := { template_prefix[type] + input + template_suffix[type] }
+ land_template := { template_prefix[type] + (if input == "a" then "c" else input) + 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 := { styling.use_guild_mana_symbols }
+
+ # Is the card a promo card?
+ is_promo := { styling.promo }
+ has_identity := { styling.color_indicator_dot }
+ is_unsorted := {styling.remove_from_autocount}
+ alt_rarity := {styling.alt_rarity_color != ""}
+ alt_rarity_color := {
+ string := "83,67,53:177,150,131:0,0,0:0,0,0:0.07:"
+ if match(styling.alt_rarity_color, match:":$") then string := styling.alt_rarity_color
+ colons := length(filter_text(string, match:":"))
+ output := split_text(string, match:",|:")
+ splits := split_text(string, match:":")
+ if colons == 4
+ then output := split_text(string+"0.07:", match:",|:")
+ if colons == 3
+ then output := split_text(string+splits[2]+"0.07:", match:",|:")
+ else if colons == 2
+ then output := split_text(string+"0,0,0:0,0,0:0.07:", match:",|:")
+ else if colons == 1
+ then output := split_text(string+splits[0]+":0,0,0:0,0,0:0.07:", match:",|:")
+
+ output
+ }
+ alt_symbol := {symbol_variation(symbol:set.symbol, border_radius: alt_rarity_color().12, fill_type: "linear gradient", fill_color_1: rgb(alt_rarity_color().0, alt_rarity_color().1, alt_rarity_color().2), fill_color_2: rgb(alt_rarity_color().3, alt_rarity_color().4, alt_rarity_color().5), border_color_1: rgb(alt_rarity_color().6, alt_rarity_color().7, alt_rarity_color().8), border_color_2: rgb(alt_rarity_color().9, alt_rarity_color().10, alt_rarity_color().11), center_x:0.5, center_y:0.5, end_x:1, end_y:1)}
+ use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
+ un_png := replace@(match:".png", replace: "")
+ chop_top := {if styling.chop_top == "" then 0 else if comma_count(styling.chop_top) == "," or comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).0 else styling.chop_top}
+ chop_bot := {if comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).1 else if styling.chop_bottom == "" then 0 else styling.chop_bottom}
+
+############################################################## 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 top
+ description: Shrinks the textbox X pixels from the top OR shrinks "top,bottom,"
+styling field:
+ type: text
+ name: chop bottom
+ description: Shrinks the textbox X pixels from the bottom.
+styling field:
+ type: choice
+ name: seal stamps
+ initial: none
+ choice: none
+ choice: seal only
+ choice: with holofoil stamp
+ description: Optional holofoil seal stamps
+styling field:
+ type: boolean
+ name: color indicator dot
+ description: Use the color indicator dot
+ initial: no
+styling field:
+ type: boolean
+ name: remove from autocount
+ description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks.
+ initial: no
+styling field:
+ type: boolean
+ name: colored multicolor land name
+ description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards.
+styling field:
+ type: text
+ name: alt rarity color
+ description: Use a custom color for the rarity symbol. Formatted as "R1,G1,B1:R2,G2,B2:..." 1 and 2 are fill color, 3 and 4 border color
+styling field:
+ type: boolean
+ name: use guild mana symbols
+ description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana.
+ initial: no
+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-scroll-demon.mse-symbol-font
+styling field:
+ type: choice
+ name: center text
+ description: When to center text (short text only means only on one-line cards with no flavor text)
+ choice: always
+ choice: short text only
+ choice: never
+ initial: never
+styling field:
+ type: boolean
+ name: promo
+ description: Is this card a promo card, with the "P" rarity?
+ initial: no
+styling field:
+ type: boolean
+ name: inverted common symbol
+ description: Should the common rarity symbol be inverted, like in Coldsnap?
+ initial: no
+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 style:
+ use guild mana symbols:
+ choice images:
+ yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png
+ no: /magic-mana-small.mse-symbol-font/mana_rg.png
+ tap symbol:
+ render style: both
+ choice images:
+ modern: /magic-mana-large.mse-symbol-font/mana_t.png
+ old: /magic-mana-large.mse-symbol-font/mana_t_old.png
+ diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png
+ center text:
+ render style: both
+ choice images:
+ always: /magic.mse-game/icons/center-all-text.png
+ short text only: /magic.mse-game/icons/center-short-text.png
+ never: /magic.mse-game/icons/center-no-text.png
+ inverted common symbol:
+ choice images:
+ no: { symbol_variation(symbol: set.symbol, variation: "common") }
+ yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
+############################################################## Card fields
+card style:
+ ############################# Background stuff
+ card color:
+ left: 0
+ top: 0
+ width: 375
+ height: 523
+ z index: 0
+ render style: image
+ popup style: in place
+ image: { card_background() }
+ ############################# Name line
+ name:
+ left: { if card.card_symbol=="none" then 35 else 50 }
+ top: 43
+ right: { 341 - card_style.casting_cost.content_width }
+ height: 23
+ alignment: bottom shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: MagicMedieval
+ size: 15
+ color: white
+ casting cost:
+ right: 346
+ top: 41
+ 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
+ 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 30}
+ top: 29
+ height: 20
+ width: 14
+ z index: 1
+ render style: image
+ choice images:
+ tombstone: tombstone.png
+ ############################# Image
+ image:
+ left: 28
+ top: 55
+ width: 318
+ height: 283
+ z index: 1
+ default: {default_image(card.card_color)}
+ mask: scroll_mask.png
+ ############################# Card type
+ indicator:
+ left: 32
+ top: 328
+ width: 17
+ height: 17
+ z index: 2
+ render style: image
+ visible: { has_identity() }
+ image: { card_identity() }
+ type:
+ left: { if has_identity() then "53" else "32" }
+ top: 327
+ width: { (if has_identity() then "288" else "308") - max(22,card_style.rarity.content_width) }
+ height: 20
+ alignment: top shrink-overflow
+ z index: 1
+ padding top: 2
+ font:
+ name: MagicMedieval
+ size: 13
+ color: { rgba(0,0,0,0) }
+ separator color: red
+ rarity:
+ right: 343
+ top: 325
+ 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 use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ common:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ uncommon:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "uncommon")
+ rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "rare")
+ mythic rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "mythic rare")
+ special:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "special")
+ masterpiece:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png"
+ else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare")
+ ############################# Text box
+ text:
+ left: 28
+ top: {354-(-chop_top())}
+ width: 318
+ bottom: { 354+(if card.pt != "" then 119 else 128)-chop_bot() }
+ font:
+ name: MagicMedieval
+ size: 14
+ scale down to: 6
+ color: { rgba (0,0,0,0) }
+ symbol font:
+ name: magic-mana-null
+ size: 14
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "middle center"
+ else "middle left"
+ z index: 2
+ padding left: 6
+ padding right: 5
+ line height hard: 1.2
+ line height line: 1.4
+ line height soft: .9
+ line height hard max: 1.1
+ line height line max: 1.6
+ watermark:
+ left: 117
+ top: 321
+ width: 138
+ height: 166
+ z index: 1
+ render style: image
+ popup style: in place
+ alignment: middle center
+ include file: /magic-watermarks.mse-include/watermarks
+ ############################# PT
+ pt:
+ z index: 4
+ left: 300
+ top: 451
+ width: 50
+ height: 28
+ alignment: center middle shrink-overflow
+ font:
+ name: Vivaldi
+ size: 16
+ color: white
+ weight: bold
+ separator color: red
+ ############################# Card sorting / numbering
+ set code:
+ left: 24
+ top: 500
+ 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: 499
+ width: 200
+ height: 10
+ z index: 1
+ font:
+ name: Beleren Small Caps Bold
+ size: 7.5
+ color: white
+ copyright:
+ right: 349
+ top: 488
+ width: 140
+ height: 10
+ z index: 2
+ alignment: middle right shrink-overflow
+ visible: {not set.automatic_copyright}
+ 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 styling.remove_from_autocount 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
+extra card field:
+ type: choice
+ name: pt box
+ script: card.card_color
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: foil layer
+ choice: foil
+ save value: false
+ editable: false
+extra card field:
+ type: text
+ name: replacement text
+ editable: false
+ multi line: true
+ save value: false
+ script: replace(card.text, match: "—", replace: "-")
+extra card field:
+ type: text
+ name: replacement type
+ editable: false
+ save value: false
+ script: replace(card.type, match: "—", replace: "-")
+extra card field:
+ type: choice
+ name: stamp
+ editable: false
+ save value: false
+ choice: seal
+extra card field:
+ type: choice
+ name: pt box
+ choice: pt box
+ script: card.card_color
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: pt back
+ choice: pt back
+ editable: false
+ save value: false
+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: { if set.automatic_card_numbers then 24 else 19 }
+ 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: 502
+ width: 12
+ height: 7
+ z index: 1
+ render style: image
+ image: artist_arrow.png
+ pt box:
+ left: 304
+ top: 450
+ width: 50
+ height: 42
+ z index: 1
+ visible: { card.pt == "moo" }
+ render style: image
+ image: { card_ptbox() }
+ 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 "foil_mask_rare.png" else "foil_mask.png" }
+ replacement text:
+ left: 28
+ top: {354-(-chop_top())}
+ width: 318
+ bottom: { 354+(if card.pt != "" then 119 else 128)-chop_bot() }
+ font:
+ name: MagicMedieval
+ size: 14
+ scale down to: 6
+ color: white
+ symbol font:
+ name: { styling.text_box_mana_symbols }
+ size: 14
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "middle center"
+ else "middle left"
+ z index: 2
+ padding left: 6
+ padding right: 5
+ line height hard: 1.2
+ line height line: 1.4
+ line height soft: .9
+ line height hard max: 1.1
+ line height line max: 1.6
+ replacement type:
+ left: { if has_identity() then "53" else "32" }
+ top: 327
+ width: { (if has_identity() then "288" else "308") - max(22,card_style.rarity.content_width) }
+ height: 20
+ alignment: top shrink-overflow
+ z index: 1
+ padding top: 2
+ font:
+ name: MagicMedieval
+ size: 14
+ color: white
+ stamp:
+ left: 166
+ top: 480
+ width: 50
+ height: 37
+ z index: 1
+ render style: image
+ image: { if contains(styling.seal_stamps, match:"holofoil") then "foilstamp.png" else "stamp.png" }
+ visible: { not contains(styling.seal_stamps, match:"none") }
+ auto copyright:
+ right: 349
+ top: 488
+ width: 140
+ height: 10
+ z index: 2
+ visible: {set.automatic_copyright}
+ alignment: middle right shrink-overflow
+ font:
+ name: Matrix
+ size: 7
+ color: white
+ weight: bold
\ No newline at end of file
diff --git a/data/magic-m15-scroll-demon.mse-style/textmask.png b/data/magic-m15-scroll-demon.mse-style/textmask.png
new file mode 100644
index 000000000..2bb52bb0c
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/textmask.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/ucard.jpg b/data/magic-m15-scroll-demon.mse-style/ucard.jpg
new file mode 100644
index 000000000..5168f8748
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/ucard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/ucard.png b/data/magic-m15-scroll-demon.mse-style/ucard.png
new file mode 100644
index 000000000..e6c631a6d
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/ucard.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/ulcard.jpg b/data/magic-m15-scroll-demon.mse-style/ulcard.jpg
new file mode 100644
index 000000000..b1698d7af
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/ulcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/ulpt.png b/data/magic-m15-scroll-demon.mse-style/ulpt.png
new file mode 100644
index 000000000..40f9a66a6
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/ulpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/upt.png b/data/magic-m15-scroll-demon.mse-style/upt.png
new file mode 100644
index 000000000..40f9a66a6
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/upt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/walker_scroll_mask.png b/data/magic-m15-scroll-demon.mse-style/walker_scroll_mask.png
new file mode 100644
index 000000000..65a345e95
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/walker_scroll_mask.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/wcard.jpg b/data/magic-m15-scroll-demon.mse-style/wcard.jpg
new file mode 100644
index 000000000..6cb1f8944
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/wcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/wlcard.jpg b/data/magic-m15-scroll-demon.mse-style/wlcard.jpg
new file mode 100644
index 000000000..f0cf004af
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/wlcard.jpg differ
diff --git a/data/magic-m15-scroll-demon.mse-style/wlpt.png b/data/magic-m15-scroll-demon.mse-style/wlpt.png
new file mode 100644
index 000000000..c1083d5cf
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/wlpt.png differ
diff --git a/data/magic-m15-scroll-demon.mse-style/wpt.png b/data/magic-m15-scroll-demon.mse-style/wpt.png
new file mode 100644
index 000000000..c1083d5cf
Binary files /dev/null and b/data/magic-m15-scroll-demon.mse-style/wpt.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/acard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/acard.jpg
new file mode 100644
index 000000000..ffc51bd4f
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/acard.jpg differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/artifact_blend_card.png b/data/magic-m15-showcase-dungeon-module.mse-style/artifact_blend_card.png
new file mode 100644
index 000000000..d097080b2
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/artifact_blend_card.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/artist_arrow.png b/data/magic-m15-showcase-dungeon-module.mse-style/artist_arrow.png
new file mode 100644
index 000000000..10b116c24
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/artist_arrow.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/bcard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/bcard.jpg
new file mode 100644
index 000000000..5fbf0211b
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/bcard.jpg differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/card-sample.png b/data/magic-m15-showcase-dungeon-module.mse-style/card-sample.png
new file mode 100644
index 000000000..b98e31aa4
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/card-sample.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/ccard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/ccard.jpg
new file mode 100644
index 000000000..4738834e7
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/ccard.jpg differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/d20slice.png b/data/magic-m15-showcase-dungeon-module.mse-style/d20slice.png
new file mode 100644
index 000000000..7dbd69ce6
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/d20slice.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Bold.otf b/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Bold.otf
new file mode 100644
index 000000000..48b6f834b
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Bold.otf differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Demi.otf b/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Demi.otf
new file mode 100644
index 000000000..9c22065a2
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Demi.otf differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Medium.otf b/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Medium.otf
new file mode 100644
index 000000000..6af1c03e0
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/fonts/Souvenir-Medium.otf differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/gcard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/gcard.jpg
new file mode 100644
index 000000000..dfcf4834e
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/gcard.jpg differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/holo_stamp.png b/data/magic-m15-showcase-dungeon-module.mse-style/holo_stamp.png
new file mode 100644
index 000000000..7eb60b437
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/holo_stamp.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/hybrid_blend_card.png b/data/magic-m15-showcase-dungeon-module.mse-style/hybrid_blend_card.png
new file mode 100644
index 000000000..4a0683a82
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/hybrid_blend_card.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/mcard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/mcard.jpg
new file mode 100644
index 000000000..641b24146
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/mcard.jpg differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/multicolor_blend_card.png b/data/magic-m15-showcase-dungeon-module.mse-style/multicolor_blend_card.png
new file mode 100644
index 000000000..c792cdc16
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/multicolor_blend_card.png differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/rcard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/rcard.jpg
new file mode 100644
index 000000000..2c4471e0c
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/rcard.jpg differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/style b/data/magic-m15-showcase-dungeon-module.mse-style/style
new file mode 100644
index 000000000..1b28e4318
--- /dev/null
+++ b/data/magic-m15-showcase-dungeon-module.mse-style/style
@@ -0,0 +1,670 @@
+mse version: 2.0.0
+game: magic
+short name: Showcase
+full name: Dungeon Module
+icon: card-sample.png
+position hint: 095
+installer group: magic/new style/normal cards
+
+version: 2021-02-16
+depends on:
+ package: magic.mse-game
+ version: 2014-06-25
+depends on:
+ package: magic-default-image.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-watermarks.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-identity-new.mse-include
+ version: 2012-01-22
+depends on:
+ package: magic-mana-large.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mana-small.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mainframe-extras.mse-include
+ version: 2007-09-23
+
+card background: white
+card width: 375
+card height: 523
+card dpi: 450
+
+############################################################## Extra scripts
+
+init script:
+ # Load scripts for image box
+ include file: /magic-default-image.mse-include/scripts
+
+ # Should hybrids have a grey name?
+ mask_hybrid_with_land := { false }
+
+ #Should multicolor lands with basic land types have a colored name?
+ mask_multi_land_with_color := { styling.colored_multicolor_land_name }
+
+ # Which artifact template should be used? Which multicolor template should be used?
+ alternate_template := {
+ if input == "a" then (
+ if styling.artifact_style == "light" then "oa"
+ else if styling.artifact_style == "brown" then "ba"
+ else "a"
+ )
+ else input
+ }
+ template_prefix := [card:"" identity: "/magic-identity-new.mse-include/"]
+ template_suffix := [card:"card.jpg" identity: "identity.png"]
+ template := { template_prefix[type] + input + template_suffix[type] }
+ land_template := { template_prefix[type] + input + 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"
+ }
+
+ paintbrush_color:= { if card.card_color=="black" or contains(card.card_color, match:"land") then "white"
+ else if contains(card.card_color, match:"white") and contains(card.card_color, match:"hybrid") then "black"
+ else if contains(card.card_color, match:"blue") and contains(card.card_color, match:"hybrid") then "black"
+ else if contains(card.card_color, match:"black") and contains(card.card_color, match:"hybrid") then "white"
+ else "black"
+ }
+
+ # Use guild mana symbols?
+ guild_mana := { styling.use_guild_mana_symbols }
+
+ ancestral_mana := { styling.ancestral_mana_symbols }
+ has_identity := { styling.color_indicator_dot }
+ is_unsorted := {styling.remove_from_autocount}
+
+ chop_top := {to_number(pull_comma_array(styling.text_chops, cell:0, end:false))}
+ chop_bot := {to_number(pull_comma_array(styling.text_chops, cell:1, end:false))}
+ chop_correction := { chop_bot() }
+ shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else 0}
+ shrink_name := {if styling.shrink_name_text != "" then to_number(styling.shrink_name_text) else 0}
+ use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
+ un_png := replace@(match:".png", replace: "")
+
+ break_name := {
+ words := split_text(card.name, match:" ")
+ lead := ""
+ end := ""
+ i := 0
+ for each w in words do (
+ i := i + length(w) + 1
+ if i == 0 then lead := w
+ else if i < 13 then lead := lead + " " + w
+ else if end == "" then end := w
+ else end := end + " " + w
+ )
+ [lead, end]
+ }
+ name_1 := { if length(card.name) < 19 then card.name else break_name().0}
+ name_2 := { if length(card.name) < 19 then "" else break_name().1}
+ is_d20 := {styling.d20_dividers != "off"}
+ is_all_break := {contains(styling.d20_dividers, match:"all breaks")}
+ d20string := "^()?((()?[-0-9 ,+>\<]()?)+|[Ee]lse|[Oo]ther) ?()?[|]"
+ d20_array :=
+ filter_text@(match:"(\n|"+d20string+")")
+ +split_text@(match:d20string)
+ number_of_rolls := {if is_all_break() then 1+length(filter_text(card.rule_text, match:"\n"))-rolls_start(card.text) else length(d20_array(input))-1}
+ rolls_start := {
+ if styling.d20_dividers == "all breaks +3" then 4
+ else if styling.d20_dividers == "all breaks +2" then 3
+ else if styling.d20_dividers == "all breaks +1" then 2
+ else if styling.d20_dividers == "all breaks" then 0
+ else if is_d20() then length(d20_array(input).0)
+ else 0
+ }
+ d20_filter := replace@(match:"^([Ee]lse ?|[Oo]ther ?|(()?[-0-9 ,+>\<]()?)+)[|]", replace:"\\1|")
+ top_of_para := {
+ input := input + no_roll(card.text)
+ if card_style.text.layout.paragraphs[input].top or else 0 > 0 then
+ card_style.text.top + card_style.text.layout.paragraphs[input].top - 0.5*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom)
+ else 0
+ }
+ height_of_para := {
+ input := input + no_roll(card.text)
+ if card_style.text.layout.paragraphs[input].bottom or else 0 > 0 then
+ card_style.text.layout.paragraphs[input].bottom + 1.3*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) - card_style.text.layout.paragraphs[input].top
+ else 0
+ }
+ no_roll := {if styling.d20_dividers == "all breaks" then 1 else if rolls_start(input) == 0 then 1 else 0}
+
+ text_filter := text_filter + d20_filter
+
+############################################################## Extra style options
+styling field:
+ type: text
+ name: text chops
+ description: Format as "X,Y". Shrinks textbox X pixels from the top and Y from bottom.
+styling field:
+ type: choice
+ name: d20 dividers
+ choice: d20 mode
+ choice: off
+ choice: all breaks
+ choice: all breaks +1
+ choice: all breaks +2
+ choice: all breaks +3
+ description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc.
+styling field:
+ type: boolean
+ name: use holofoil stamps
+ description: Change to no to disable rare holofoil stamps
+styling field:
+ type: boolean
+ name: color indicator dot
+ description: Use the color indicator dot
+ initial: no
+styling field:
+ type: boolean
+ name: remove from autocount
+ description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks.
+ initial: no
+styling field:
+ type: boolean
+ name: unsorted casting cost
+ description: Disables automatic mana symbol sorting.
+ initial: no
+styling field:
+ type: boolean
+ name: ancestral mana symbols
+ description: Enables ancestral's modified generic mana.
+ initial: no
+styling field:
+ type: boolean
+ name: colored multicolor land name
+ description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards.
+styling field:
+ type: boolean
+ name: use guild mana symbols
+ description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana.
+ initial: no
+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.mse-symbol-font
+styling field:
+ type: choice
+ name: center text
+ description: When to center text (short text only means only on one-line cards with no flavor text)
+ choice: always
+ choice: short text only
+ choice: never
+ initial: never
+styling field:
+ type: boolean
+ name: promo
+ description: Is this card a promo card, with the "P" rarity?
+ initial: no
+styling field:
+ type: boolean
+ name: masterpiece
+ description: Is this card a Masterpiece?
+ initial: no
+styling field:
+ type: boolean
+ name: inverted common symbol
+ description: Should the common rarity symbol be inverted, like in Coldsnap?
+ initial: no
+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 style:
+ use guild mana symbols:
+ choice images:
+ yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png
+ no: /magic-mana-small.mse-symbol-font/mana_rg.png
+ tap symbol:
+ render style: both
+ choice images:
+ modern: /magic-mana-large.mse-symbol-font/mana_t.png
+ old: /magic-mana-large.mse-symbol-font/mana_t_old.png
+ diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png
+ center text:
+ render style: both
+ choice images:
+ always: /magic.mse-game/icons/center-all-text.png
+ short text only: /magic.mse-game/icons/center-short-text.png
+ never: /magic.mse-game/icons/center-no-text.png
+ inverted common symbol:
+ choice images:
+ no: { symbol_variation(symbol: set.symbol, variation: "common") }
+ yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
+
+############################################################## Card fields
+card style:
+ ############################# Background stuff
+ card color:
+ left: 0
+ top: 0
+ width: 375
+ height: 523
+ z index: -2
+ render style: image
+ popup style: in place
+ image: { card_background() }
+
+ ############################# Name line
+ name:
+ left: 57
+ top: 32
+ width: 251
+ height: 30
+ alignment: center shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: ITC Souvenir
+ size: 20
+ weight: bold
+ color: {if length(card.name) > 18 then rgba(246,219,22,0) else rgb(246,219,22)}
+ casting cost:
+ right: 360
+ top: 35
+ left: 309
+ height: 23
+ alignment: middle right
+ font:
+ name: MPlantin
+ size: 15
+ symbol font:
+ name: magic-mana-large
+ size: 15
+ alignment: middle right
+ always symbol: true
+ z index: 4
+ padding top: 0
+ ############################# Image
+ image:
+ left: 18
+ top: 99
+ width: 342
+ height: 212
+ z index: 1
+ ############################# Card type
+ type:
+ left: 33
+ top : 313
+ width: { 291 - max(23,card_style.rarity.content_width) }
+ height: 19
+ alignment: top shrink-overflow
+ z index: 1
+ padding top: 2
+ font:
+ name: ITC Souvenir Demi
+ size: 13
+ color: white
+ separator color: rgb(128,128,128)
+ rarity:
+ right: 344
+ top: 317
+ 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 use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ common:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ uncommon:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
+ else symbol_variation(symbol: set.symbol, variation: "uncommon")
+ rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
+ else symbol_variation(symbol: set.symbol, variation: "rare")
+ mythic rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
+ else symbol_variation(symbol: set.symbol, variation: "mythic rare")
+ special:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
+ else symbol_variation(symbol: set.symbol, variation: "special")
+ masterpiece:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png"
+ else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare")
+ ############################# Text box
+ text:
+ left: 28
+ top : {348-(-chop_top())}
+ width: 311
+ bottom: {483-chop_bot()-(if is_rare() and styling.use_holofoil_stamps then 3 else 0)}
+ font:
+ name: ITC Souvenir
+ size: 14
+ scale down to: 12
+ color: white
+ scale down to: 6
+ symbol font:
+ name: { styling.text_box_mana_symbols }
+ size: 14
+ scale down to: 6
+ alignment:
+ script:
+ if card.rule_text == "" then "middle " else "top " + (if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "center"
+ else "left")
+ z index: 3
+ padding left: 6
+ padding right: 4
+ line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 }
+ line height line: 1.5
+ line height soft: 0.85
+ line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 }
+ line height line max: 1.6
+ ############################# PT
+ pt:
+ z index: 4
+ left: 320
+ top: 456
+ width: 55
+ height: 28
+ alignment: center middle shrink-overflow
+ font:
+ name: ITC Souvenir
+ size: 15
+ color: white
+ separator color: red
+ ############################# Card sorting / numbering
+ set code:
+ left: 24
+ top: 498
+ width: 40
+ height: 10
+ z index: 2
+ 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: 2
+ font:
+ name: Beleren Small Caps Bold
+ size: 7.25
+ 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 styling.remove_from_autocount 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
+extra card field:
+ type: text
+ name: module title
+ editable: true
+ save value: true
+ default: "Dungeon Module C1"
+extra card field:
+ type: text
+ name: module tag
+ editable: true
+ save value: true
+ default: "C1"
+extra card field:
+ type: text
+ name: adventure label
+ editable: true
+ save value: true
+ default: "AN ADVENTURE FOR CHARACTER LEVELS 1-4"
+extra card field:
+ type: text
+ name: dnd label
+ multi line: true
+ default: "DUNGEONS\n& DRAGONS"
+ editable: true
+ save value: true
+extra card field:
+ type: text
+ name: name mirror
+ script: name_1()
+ editable: false
+ save value: false
+extra card field:
+ type: text
+ name: name mirror 2
+ script: name_2()
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: level 2 overlay
+ choice: mask
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: level 3 overlay
+ choice: mask
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: level 4 overlay
+ choice: mask
+ editable: false
+ show statistics: false
+extra card field:
+ type: text
+ name: auto copyright
+ script: set.copyright
+ save value: false
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: foil stamp
+ choice: stamp
+ save value: false
+ editable: false
+
+extra card style:
+ card code:
+ left: 24
+ top: 488
+ width: 120
+ height: 10
+ z index: 2
+ 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
+ foil stamp:
+ left: 165
+ top: 472
+ width: 46
+ height: 26
+ z index: 2
+ visible: { is_rare() and styling.use_holofoil_stamps }
+ render style: image
+ image: holo_stamp.png
+ module title:
+ left: 100
+ top: 7
+ width: 176
+ height: 20
+ alignment: center shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: ITC Souvenir Bold
+ size: 12
+ color: rgb(245,240,227)
+ module tag:
+ left: 5
+ top: 7
+ width: 20
+ height: 10
+ alignment: right shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: ITC Souvenir Bold
+ size: 7
+ color: rgb(246,219,22)
+ adventure label:
+ left: 18
+ top: 76
+ width: 339
+ height: 15
+ alignment: center shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: ITC Souvenir Demi
+ size: 10
+ color: white
+ dnd label:
+ left: 0
+ top: 54
+ width: 80
+ height: 30
+ angle: 45
+ alignment: center shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: ITC Souvenir Bold
+ size: 7.5
+ color: black
+ name mirror:
+ left: 72
+ top: 20
+ width: {if length(card.name) > 18 then 221 else 0}
+ height: 38
+ alignment: middle center shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: ITC Souvenir
+ size: 18
+ scale down to: 6
+ weight: bold
+ color: rgb(246,219,22)
+ name mirror 2:
+ left: 72
+ top: 43
+ width: {if length(card.name) > 18 then 221 else 0}
+ height: 38
+ alignment: middle center shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: ITC Souvenir
+ size: 18
+ scale down to: 6
+ weight: bold
+ color: rgb(246,219,22)
+ level 2 overlay:
+ left: 29
+ top: { top_of_para(rolls_start(card.text))}
+ height: { height_of_para(rolls_start(card.text))}
+ width: 314
+ z index: 2
+ render style: image
+ image: d20slice.png
+ visible: {is_d20() and number_of_rolls(card.text) > 0}
+ level 3 overlay:
+ left: 29
+ top: { top_of_para(rolls_start(card.text)+2)}
+ height: { height_of_para(rolls_start(card.text)+2)}
+ width: 314
+ z index: 2
+ render style: image
+ image: d20slice.png
+ visible: {is_d20() and number_of_rolls(card.text) > 2}
+ level 4 overlay:
+ left: 29
+ top: { top_of_para(rolls_start(card.text)+4)}
+ height: { height_of_para(rolls_start(card.text)+4)}
+ width: 314
+ z index: 2
+ render style: image
+ image: d20slice.png
+ visible: {is_d20() and number_of_rolls(card.text) > 4}
+ 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
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/ucard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/ucard.jpg
new file mode 100644
index 000000000..f44206c59
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/ucard.jpg differ
diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/wcard.jpg b/data/magic-m15-showcase-dungeon-module.mse-style/wcard.jpg
new file mode 100644
index 000000000..5518fe59a
Binary files /dev/null and b/data/magic-m15-showcase-dungeon-module.mse-style/wcard.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/artifact_blend_card.png b/data/magic-m15-showcase-monster-manual.mse-style/artifact_blend_card.png
new file mode 100644
index 000000000..d054f616b
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/artifact_blend_card.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/artist_arrow.png b/data/magic-m15-showcase-monster-manual.mse-style/artist_arrow.png
new file mode 100644
index 000000000..10b116c24
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/artist_arrow.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/border_mask.png b/data/magic-m15-showcase-monster-manual.mse-style/border_mask.png
new file mode 100644
index 000000000..4a53f2699
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/border_mask.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/card-sample.png b/data/magic-m15-showcase-monster-manual.mse-style/card-sample.png
new file mode 100644
index 000000000..b6793351d
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/card-sample.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/crown.png b/data/magic-m15-showcase-monster-manual.mse-style/crown.png
new file mode 100644
index 000000000..a193c1760
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/crown.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/crown_border.png b/data/magic-m15-showcase-monster-manual.mse-style/crown_border.png
new file mode 100644
index 000000000..db71cffca
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/crown_border.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/d20slice.png b/data/magic-m15-showcase-monster-manual.mse-style/d20slice.png
new file mode 100644
index 000000000..7dbd69ce6
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/d20slice.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/drizzit_pop.png b/data/magic-m15-showcase-monster-manual.mse-style/drizzit_pop.png
new file mode 100644
index 000000000..7c9f93a8d
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/drizzit_pop.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/foil_mask.png b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask.png
new file mode 100644
index 000000000..3f647e2d3
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_pt.png b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_pt.png
new file mode 100644
index 000000000..ee06e4406
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_pt.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_pt_rare.png b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_pt_rare.png
new file mode 100644
index 000000000..cd3763d60
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_pt_rare.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_rare.png b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_rare.png
new file mode 100644
index 000000000..2633ea6d1
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/foil_mask_rare.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/frame.png b/data/magic-m15-showcase-monster-manual.mse-style/frame.png
new file mode 100644
index 000000000..1b6f9072d
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/frame.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/frame_mask.png b/data/magic-m15-showcase-monster-manual.mse-style/frame_mask.png
new file mode 100644
index 000000000..7e253b4bd
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/frame_mask.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/holo_stamp.png b/data/magic-m15-showcase-monster-manual.mse-style/holo_stamp.png
new file mode 100644
index 000000000..7eb60b437
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/holo_stamp.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/hybrid_blend_card.png b/data/magic-m15-showcase-monster-manual.mse-style/hybrid_blend_card.png
new file mode 100644
index 000000000..b94412792
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/hybrid_blend_card.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/multicolor_blend_card.png b/data/magic-m15-showcase-monster-manual.mse-style/multicolor_blend_card.png
new file mode 100644
index 000000000..844362043
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/multicolor_blend_card.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/pt.png b/data/magic-m15-showcase-monster-manual.mse-style/pt.png
new file mode 100644
index 000000000..67ccc1d43
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/pt.png differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/a.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/a.jpg
new file mode 100644
index 000000000..78f09b5a5
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/a.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/b.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/b.jpg
new file mode 100644
index 000000000..d9f1b219a
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/b.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/c.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/c.jpg
new file mode 100644
index 000000000..eaf9f22a4
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/c.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/g.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/g.jpg
new file mode 100644
index 000000000..72cdab6e6
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/g.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/m.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/m.jpg
new file mode 100644
index 000000000..c357c4076
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/m.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/r.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/r.jpg
new file mode 100644
index 000000000..088e993f7
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/r.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/u.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/u.jpg
new file mode 100644
index 000000000..c5bbf9838
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/u.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/splashes/w.jpg b/data/magic-m15-showcase-monster-manual.mse-style/splashes/w.jpg
new file mode 100644
index 000000000..d8be69f3a
Binary files /dev/null and b/data/magic-m15-showcase-monster-manual.mse-style/splashes/w.jpg differ
diff --git a/data/magic-m15-showcase-monster-manual.mse-style/style b/data/magic-m15-showcase-monster-manual.mse-style/style
new file mode 100644
index 000000000..d38135c6a
--- /dev/null
+++ b/data/magic-m15-showcase-monster-manual.mse-style/style
@@ -0,0 +1,668 @@
+mse version: 2.0.0
+game: magic
+short name: Showcase
+full name: Monster Manual
+icon: card-sample.png
+installer group: magic/m15 style/normal cards
+position hint: 095
+
+version: 2021-02-16
+depends on:
+ package: magic.mse-game
+ version: 2014-06-25
+depends on:
+ package: magic-default-image.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-watermarks.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-identity-new.mse-include
+ version: 2012-01-22
+depends on:
+ package: magic-mana-large.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mana-small.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mainframe-extras.mse-include
+ version: 2007-09-23
+
+card width: 375
+card height: 523
+card dpi: 150
+####### images from Card Conjurer
+############################################################## Extra scripts
+init script:
+ # Load scripts for image box
+ include file: /magic-default-image.mse-include/scripts
+
+ # Should hybrids have a grey name?
+ mask_hybrid_with_land := { styling.grey_hybrid_name }
+
+ #Should multicolor lands with basic land types have a colored name?
+ mask_multi_land_with_color := { styling.colored_multicolor_land_name }
+
+ template_prefix := [card:"splashes/" identity: "/magic-identity-new.mse-include/"]
+ template_suffix := [card:".jpg" stamp: "stamp.jpg" identity: "identity.png"]
+ template := { template_prefix[type] + input + template_suffix[type] }
+ land_template := { template_prefix[type] + (if input == "a" then "c" else input) + template_suffix[type] }
+ # Use land templates for previews because they show more contrast
+ hybrid_previews := "land,hybrid"
+ crown_background := { color_background(type:"crown", base_hybrid:card_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 := { styling.use_guild_mana_symbols }
+
+ # Is the card a promo card?
+ is_promo := { styling.promo }
+ is_legend := {set.auto_legends and contains(card.super_type, match:"Legendary") }
+ mana_sort := {
+ if styling.unsorted_casting_cost then
+ input
+ else
+ sort_text@(order: "XYZI[0123456789]HSCA(WUBRG)")()
+ }
+ ancestral_mana := { styling.ancestral_mana_symbols }
+ has_identity := { styling.color_indicator_dot }
+ is_unsorted := {styling.remove_from_autocount}
+
+ chop_top := {to_number(pull_comma_array(styling.text_chops, cell:0, end:false))}
+ chop_bot := {to_number(pull_comma_array(styling.text_chops, cell:1, end:false))}
+ chop_correction := { chop_bot() }
+ shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else 0}
+ shrink_name := {if styling.shrink_name_text != "" then to_number(styling.shrink_name_text) else 0}
+ use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
+ un_png := replace@(match:".png", replace: "")
+
+ is_d20 := {styling.d20_dividers != "off"}
+ is_all_break := {contains(styling.d20_dividers, match:"all breaks")}
+ d20string := "^()?((()?[-0-9 ,+>\<]()?)+|[Ee]lse|[Oo]ther) ?()?[|]"
+ d20_array :=
+ filter_text@(match:"(\n|"+d20string+")")
+ +split_text@(match:d20string)
+ number_of_rolls := {if is_all_break() then 1+length(filter_text(card.rule_text, match:"\n"))-rolls_start(card.text) else length(d20_array(input))-1}
+ rolls_start := {
+ if styling.d20_dividers == "all breaks +3" then 4
+ else if styling.d20_dividers == "all breaks +2" then 3
+ else if styling.d20_dividers == "all breaks +1" then 2
+ else if styling.d20_dividers == "all breaks" then 0
+ else if is_d20() then length(d20_array(input).0)
+ else 0
+ }
+ d20_filter := replace@(match:"^([Ee]lse ?|[Oo]ther ?|(()?[-0-9 ,+>\<]()?)+)[|]", replace:"\\1|")
+ top_of_para := {
+ input := input + no_roll(card.text)
+ if card_style.text.layout.paragraphs[input].top or else 0 > 0 then
+ card_style.text.top + card_style.text.layout.paragraphs[input].top - 0.5*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom)
+ else 0
+ }
+ height_of_para := {
+ input := input + no_roll(card.text)
+ if card_style.text.layout.paragraphs[input].bottom or else 0 > 0 then
+ card_style.text.layout.paragraphs[input].bottom + 1.3*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) - card_style.text.layout.paragraphs[input].top
+ else 0
+ }
+ no_roll := {if styling.d20_dividers == "all breaks" then 1 else if rolls_start(input) == 0 then 1 else 0}
+
+ text_filter := text_filter + d20_filter
+
+############################################################## 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: text chops
+ description: Format as "X,Y". Shrinks textbox X pixels from the top and Y from bottom.
+styling field:
+ type: text
+ name: shrink name text
+ description: Shrinks name X pixels
+styling field:
+ type: text
+ name: shrink typeline text
+ description: Shrinks type X pixels
+styling field:
+ type: boolean
+ name: hover art
+ description: use transparent art with painted background
+ initial: no
+styling field:
+ type: choice
+ name: d20 dividers
+ choice: d20 mode
+ choice: off
+ choice: all breaks
+ choice: all breaks +1
+ choice: all breaks +2
+ choice: all breaks +3
+ description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc.
+styling field:
+ type: boolean
+ name: use holofoil stamps
+ description: Change to no to disable rare holofoil stamps
+styling field:
+ type: boolean
+ name: color indicator dot
+ description: Use the color indicator dot
+ initial: no
+styling field:
+ type: boolean
+ name: remove from autocount
+ description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks.
+ initial: no
+styling field:
+ type: boolean
+ name: grey hybrid name
+ description: Use a grey background for the name and type line on hybrid cards. This is done on real cards.
+styling field:
+ type: boolean
+ name: unsorted casting cost
+ description: Disables automatic mana symbol sorting.
+ initial: no
+styling field:
+ type: boolean
+ name: ancestral mana symbols
+ description: Enables ancestral's modified generic mana.
+ initial: no
+styling field:
+ type: boolean
+ name: colored multicolor land name
+ description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards.
+styling field:
+ type: boolean
+ name: use guild mana symbols
+ description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana.
+ initial: no
+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.mse-symbol-font
+styling field:
+ type: choice
+ name: center text
+ description: When to center text (short text only means only on one-line cards with no flavor text)
+ choice: always
+ choice: short text only
+ choice: never
+ initial: never
+styling field:
+ type: boolean
+ name: promo
+ description: Is this card a promo card, with the "P" rarity?
+ initial: no
+styling field:
+ type: boolean
+ name: masterpiece
+ description: Is this card a Masterpiece?
+ initial: no
+styling field:
+ type: boolean
+ name: inverted common symbol
+ description: Should the common rarity symbol be inverted, like in Coldsnap?
+ initial: no
+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 style:
+ use guild mana symbols:
+ choice images:
+ yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png
+ no: /magic-mana-small.mse-symbol-font/mana_rg.png
+ tap symbol:
+ render style: both
+ choice images:
+ modern: /magic-mana-large.mse-symbol-font/mana_t.png
+ old: /magic-mana-large.mse-symbol-font/mana_t_old.png
+ diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png
+ center text:
+ render style: both
+ choice images:
+ always: /magic.mse-game/icons/center-all-text.png
+ short text only: /magic.mse-game/icons/center-short-text.png
+ never: /magic.mse-game/icons/center-no-text.png
+ inverted common symbol:
+ choice images:
+ no: { symbol_variation(symbol: set.symbol, variation: "common") }
+ yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
+############################################################## Card fields
+card style:
+ ############################# Background stuff
+ 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: 3
+ mask: {if is_legend() then "crown_border.png" else "border_mask.png"}
+ card color:
+ left: 0
+ top: 0
+ width: 375
+ height: 523
+ z index: 2
+ render style: image
+ popup style: in place
+ image: frame.png
+ mask: frame_mask.png
+ ############################# Name line
+ name:
+ left: 32
+ top: 27
+ right: { 341 - card_style.casting_cost.content_width }
+ height: {23 - 0.5*shrink_name()}
+ alignment: bottom shrink-overflow
+ padding bottom: 0
+ z index: 3
+ font:
+ name: Beleren Bold
+ size: {16 - shrink_name()}
+ color: black
+ casting cost:
+ right: 346
+ top: 26
+ 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
+ size: 15
+ alignment: middle right
+ always symbol: true
+ z index: 4
+ padding top: 0
+ ############################# Image
+ image:
+ left: 22
+ top: 56
+ width: {if styling.hover_art then 0 else 338}
+ height: 240
+ z index: 1
+ default: {card_background(card.card_color)}
+ mainframe image:
+ left: 14
+ top: 35
+ width: {if styling.hover_art then 347 else 0}
+ height: 276
+ z index: 4
+ ############################# Card type
+ indicator:
+ left: 31
+ top: 300
+ width: 17
+ height: 17
+ z index: 1
+ render style: image
+ visible: { has_identity() }
+ image: { card_identity() }
+ type:
+ left: { if has_identity() then "46" else "28" }
+ top: {shrink_type() + 299 }
+ width: { (if has_identity() then "290" else "310") - max(22,card_style.rarity.content_width) }
+ height: { 20 - shrink_type() }
+ alignment: top shrink-overflow
+ z index: 2
+ padding top: 2
+ font:
+ name: Beleren Bold
+ size: {13 - shrink_type()}
+ color: black
+ separator color: red
+ rarity:
+ right: 344
+ top: 300
+ 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 use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ common:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ uncommon:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
+ else symbol_variation(symbol: set.symbol, variation: "uncommon")
+ rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
+ else symbol_variation(symbol: set.symbol, variation: "rare")
+ mythic rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
+ else symbol_variation(symbol: set.symbol, variation: "mythic rare")
+ special:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
+ else symbol_variation(symbol: set.symbol, variation: "special")
+ masterpiece:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png"
+ else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare")
+ ############################# Text box
+ text:
+ left: 29
+ top: {330-(-chop_top())}
+ width: 314
+ bottom: {481-chop_bot()}
+ font:
+ name: MPlantin
+ italic name: MPlantin-Italic
+ size: 14
+ scale down to: 6
+ color: black
+ symbol font:
+ name: { styling.text_box_mana_symbols }
+ size: 14
+ scale down to: 6
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "middle center"
+ else "middle left"
+ z index: 3
+ padding left: 6
+ padding right: 4
+ line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 }
+ line height line: 1.5
+ line height soft: 0.9
+ line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 }
+ line height line max: 1.6
+ watermark:
+ left: 25
+ top: 338
+ width: 324
+ height: 139
+ z index: 2
+ render style: image
+ popup style: in place
+ alignment: middle center
+ include file: /magic-watermarks.mse-include/watermarks
+ ############################# PT
+ pt:
+ z index: 4
+ left: 294
+ top: 468
+ width: 55
+ height: 28
+ alignment: center middle shrink-overflow
+ font:
+ name: Beleren Bold
+ size: 15
+ color: black
+ separator color: red
+ ############################# Card sorting / numbering
+ set code:
+ left: 24
+ top: 498
+ width: 40
+ height: 10
+ z index: 2
+ 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: 2
+ font:
+ name: Beleren Small Caps Bold
+ size: 7.25
+ 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 styling.remove_from_autocount 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
+extra card field:
+ type: choice
+ name: pt box
+ script: card.card_color
+ editable: false
+ save value: false
+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: text
+ name: auto copyright
+ script: set.copyright
+ save value: false
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: flavor bar
+ choice: bar
+ editable: false
+ save value: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: crown
+ choice: overlay
+ editable: false
+extra card field:
+ type: choice
+ name: color back
+ script: card.card_color
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: level 2 overlay
+ choice: mask
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: level 3 overlay
+ choice: mask
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: level 4 overlay
+ choice: mask
+ editable: false
+ show statistics: false
+
+extra card style:
+ card code:
+ left: 24
+ top: 488
+ width: 120
+ height: 10
+ z index: 2
+ 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
+ pt box:
+ left: 289
+ top: 465
+ width: 65
+ height: 33
+ z index: 3
+ visible: { card.pt != "" }
+ render style: image
+ image: pt.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 "foil_mask_rare.png" else "foil_mask.png" }
+ foil stamp:
+ left: 165
+ top: 472
+ width: 46
+ height: 26
+ z index: 2
+ visible: { is_rare() and styling.use_holofoil_stamps }
+ render style: image
+ image: holo_stamp.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
+ flavor bar:
+ left: 0
+ top: { bar_equation() }
+ width: 375
+ height: 1
+ z index: 1
+ render style: image
+ image: bar.png
+ visible: { card.rule_text != "" and remove_tags(card.flavor_text) != "" and set.use_flavor_bar }
+ crown:
+ left: 0
+ top: 0
+ width: 375
+ height: 61
+ render style: image
+ image: crown.png
+ z index: 2
+ visible: {is_legend()}
+ color back:
+ left: 22
+ top: 56
+ width: 338
+ height: 240
+ z index: 0
+ render style: image
+ image: {card_background()}
+ level 2 overlay:
+ left: 29
+ top: { top_of_para(rolls_start(card.text))}
+ height: { height_of_para(rolls_start(card.text))}
+ width: 314
+ z index: 2
+ render style: image
+ image: d20slice.png
+ visible: {is_d20() and number_of_rolls(card.text) > 0}
+ level 3 overlay:
+ left: 29
+ top: { top_of_para(rolls_start(card.text)+2)}
+ height: { height_of_para(rolls_start(card.text)+2)}
+ width: 314
+ z index: 2
+ render style: image
+ image: d20slice.png
+ visible: {is_d20() and number_of_rolls(card.text) > 2}
+ level 4 overlay:
+ left: 29
+ top: { top_of_para(rolls_start(card.text)+4)}
+ height: { height_of_para(rolls_start(card.text)+4)}
+ width: 314
+ z index: 2
+ render style: image
+ image: d20slice.png
+ visible: {is_d20() and number_of_rolls(card.text) > 4}
diff --git a/data/magic-m15-sketch.mse-style/acard.png b/data/magic-m15-sketch.mse-style/acard.png
new file mode 100644
index 000000000..6bd207b06
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/acard.png differ
diff --git a/data/magic-m15-sketch.mse-style/apt.png b/data/magic-m15-sketch.mse-style/apt.png
new file mode 100644
index 000000000..b85b8a6fd
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/apt.png differ
diff --git a/data/magic-m15-sketch.mse-style/artifact_blend_card.png b/data/magic-m15-sketch.mse-style/artifact_blend_card.png
new file mode 100644
index 000000000..1914a2d80
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/artifact_blend_card.png differ
diff --git a/data/magic-m15-sketch.mse-style/artifact_blend_crown.png b/data/magic-m15-sketch.mse-style/artifact_blend_crown.png
new file mode 100644
index 000000000..7d17d1f06
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/artifact_blend_crown.png differ
diff --git a/data/magic-m15-sketch.mse-style/artifact_blend_identity.png b/data/magic-m15-sketch.mse-style/artifact_blend_identity.png
new file mode 100644
index 000000000..aa9aeeec0
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/artifact_blend_identity.png differ
diff --git a/data/magic-m15-sketch.mse-style/artifact_blend_pt.png b/data/magic-m15-sketch.mse-style/artifact_blend_pt.png
new file mode 100644
index 000000000..a276f4930
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/artifact_blend_pt.png differ
diff --git a/data/magic-m15-sketch.mse-style/artifact_blend_stamp.png b/data/magic-m15-sketch.mse-style/artifact_blend_stamp.png
new file mode 100644
index 000000000..382c5367f
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/artifact_blend_stamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/artifact_blend_test.png b/data/magic-m15-sketch.mse-style/artifact_blend_test.png
new file mode 100644
index 000000000..7a9297215
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/artifact_blend_test.png differ
diff --git a/data/magic-m15-sketch.mse-style/artist_arrow.png b/data/magic-m15-sketch.mse-style/artist_arrow.png
new file mode 100644
index 000000000..ea39aa438
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/artist_arrow.png differ
diff --git a/data/magic-m15-sketch.mse-style/astamp.png b/data/magic-m15-sketch.mse-style/astamp.png
new file mode 100644
index 000000000..b89645170
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/astamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/bar.png b/data/magic-m15-sketch.mse-style/bar.png
new file mode 100644
index 000000000..e1f56b954
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/bar.png differ
diff --git a/data/magic-m15-sketch.mse-style/bcard.png b/data/magic-m15-sketch.mse-style/bcard.png
new file mode 100644
index 000000000..ff3010969
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/bcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/blcard.png b/data/magic-m15-sketch.mse-style/blcard.png
new file mode 100644
index 000000000..c26c73ed3
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/blcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/border_mask.png b/data/magic-m15-sketch.mse-style/border_mask.png
new file mode 100644
index 000000000..4a53f2699
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/border_mask.png differ
diff --git a/data/magic-m15-sketch.mse-style/bpt.png b/data/magic-m15-sketch.mse-style/bpt.png
new file mode 100644
index 000000000..b532b9eea
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/bpt.png differ
diff --git a/data/magic-m15-sketch.mse-style/bstamp.png b/data/magic-m15-sketch.mse-style/bstamp.png
new file mode 100644
index 000000000..786af69d2
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/bstamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/build.bat b/data/magic-m15-sketch.mse-style/build.bat
new file mode 100644
index 000000000..ea3687d15
--- /dev/null
+++ b/data/magic-m15-sketch.mse-style/build.bat
@@ -0,0 +1,7 @@
+cd ..
+
+cd ..
+
+mse --create-installer magic-m15.mse-style magic.mse-game magic-blends.mse-include magic-mana-small.mse-symbol-font magic-mana-large.mse-symbol-font magic-watermarks.mse-include magic-default-image.mse-include magic-identity-new.mse-include
+
+ren "magic-m15.mse-installer" "Magic - M15 Style.mse-installer"
\ No newline at end of file
diff --git a/data/magic-m15-sketch.mse-style/card-sample.png b/data/magic-m15-sketch.mse-style/card-sample.png
new file mode 100644
index 000000000..8f169f1ac
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/card-sample.png differ
diff --git a/data/magic-m15-sketch.mse-style/ccard.png b/data/magic-m15-sketch.mse-style/ccard.png
new file mode 100644
index 000000000..8c141493a
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/ccard.png differ
diff --git a/data/magic-m15-sketch.mse-style/clcard.png b/data/magic-m15-sketch.mse-style/clcard.png
new file mode 100644
index 000000000..8c1593148
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/clcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/clpt.png b/data/magic-m15-sketch.mse-style/clpt.png
new file mode 100644
index 000000000..b85b8a6fd
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/clpt.png differ
diff --git a/data/magic-m15-sketch.mse-style/clstamp.png b/data/magic-m15-sketch.mse-style/clstamp.png
new file mode 100644
index 000000000..b89645170
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/clstamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/common.png b/data/magic-m15-sketch.mse-style/common.png
new file mode 100644
index 000000000..f7800bf6d
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/common.png differ
diff --git a/data/magic-m15-sketch.mse-style/cpt.png b/data/magic-m15-sketch.mse-style/cpt.png
new file mode 100644
index 000000000..b85b8a6fd
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/cpt.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/acrown.png b/data/magic-m15-sketch.mse-style/crowns/acrown.png
new file mode 100644
index 000000000..61c777e81
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/acrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/bcrown.png b/data/magic-m15-sketch.mse-style/crowns/bcrown.png
new file mode 100644
index 000000000..2b448bca6
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/bcrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/ccrown.png b/data/magic-m15-sketch.mse-style/crowns/ccrown.png
new file mode 100644
index 000000000..444f41212
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/ccrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/clcrown.png b/data/magic-m15-sketch.mse-style/crowns/clcrown.png
new file mode 100644
index 000000000..f9bc442bf
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/clcrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/gcrown.png b/data/magic-m15-sketch.mse-style/crowns/gcrown.png
new file mode 100644
index 000000000..e5005f817
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/gcrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/mcrown.png b/data/magic-m15-sketch.mse-style/crowns/mcrown.png
new file mode 100644
index 000000000..afc6e7758
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/mcrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/rcrown.png b/data/magic-m15-sketch.mse-style/crowns/rcrown.png
new file mode 100644
index 000000000..cea161fd1
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/rcrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/ucrown.png b/data/magic-m15-sketch.mse-style/crowns/ucrown.png
new file mode 100644
index 000000000..a24f67fdb
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/ucrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/crowns/wcrown.png b/data/magic-m15-sketch.mse-style/crowns/wcrown.png
new file mode 100644
index 000000000..076ab5111
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/crowns/wcrown.png differ
diff --git a/data/magic-m15-sketch.mse-style/cstamp.png b/data/magic-m15-sketch.mse-style/cstamp.png
new file mode 100644
index 000000000..b89645170
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/cstamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/foil_mask.png b/data/magic-m15-sketch.mse-style/foil_mask.png
new file mode 100644
index 000000000..3f647e2d3
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/foil_mask.png differ
diff --git a/data/magic-m15-sketch.mse-style/foil_mask_rare.png b/data/magic-m15-sketch.mse-style/foil_mask_rare.png
new file mode 100644
index 000000000..2633ea6d1
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/foil_mask_rare.png differ
diff --git a/data/magic-m15-sketch.mse-style/foil_stamp.png b/data/magic-m15-sketch.mse-style/foil_stamp.png
new file mode 100644
index 000000000..375256851
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/foil_stamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/gcard.png b/data/magic-m15-sketch.mse-style/gcard.png
new file mode 100644
index 000000000..f3431ecca
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/gcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/glcard.png b/data/magic-m15-sketch.mse-style/glcard.png
new file mode 100644
index 000000000..13a3d07a8
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/glcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/gpt.png b/data/magic-m15-sketch.mse-style/gpt.png
new file mode 100644
index 000000000..fb8fe2220
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/gpt.png differ
diff --git a/data/magic-m15-sketch.mse-style/gstamp.png b/data/magic-m15-sketch.mse-style/gstamp.png
new file mode 100644
index 000000000..a704a5ab8
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/gstamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/hybrid_blend_card.png b/data/magic-m15-sketch.mse-style/hybrid_blend_card.png
new file mode 100644
index 000000000..67dd7acdc
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/hybrid_blend_card.png differ
diff --git a/data/magic-m15-sketch.mse-style/hybrid_blend_crown.png b/data/magic-m15-sketch.mse-style/hybrid_blend_crown.png
new file mode 100644
index 000000000..4cfaf992a
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/hybrid_blend_crown.png differ
diff --git a/data/magic-m15-sketch.mse-style/hybrid_blend_identity.png b/data/magic-m15-sketch.mse-style/hybrid_blend_identity.png
new file mode 100644
index 000000000..aa9aeeec0
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/hybrid_blend_identity.png differ
diff --git a/data/magic-m15-sketch.mse-style/hybrid_blend_pt.png b/data/magic-m15-sketch.mse-style/hybrid_blend_pt.png
new file mode 100644
index 000000000..4def29366
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/hybrid_blend_pt.png differ
diff --git a/data/magic-m15-sketch.mse-style/hybrid_blend_stamp.png b/data/magic-m15-sketch.mse-style/hybrid_blend_stamp.png
new file mode 100644
index 000000000..30d001c18
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/hybrid_blend_stamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/hybrid_blend_test.png b/data/magic-m15-sketch.mse-style/hybrid_blend_test.png
new file mode 100644
index 000000000..7a9297215
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/hybrid_blend_test.png differ
diff --git a/data/magic-m15-sketch.mse-style/masterpiece_script b/data/magic-m15-sketch.mse-style/masterpiece_script
new file mode 100644
index 000000000..d4a32566f
--- /dev/null
+++ b/data/magic-m15-sketch.mse-style/masterpiece_script
@@ -0,0 +1,57 @@
+################################################## Adds Most of the non-pack Masterpiece scripting
+################################################## A style still needs to be added, see thread /13733
+
+ rarity_sort := {
+ if card.shape == "token" then "T1"
+ else if card.shape == "emblem" then "T2"
+ else if card.shape == "rulestip" then "T3"
+ else if card.shape == "counter" then "T4"
+ else if card.shape == "checklist" then "T5"
+ else if is_masterpiece() then "T6"
+ else if set.sort_special_rarity == "with the rest" or card.rarity != "special" then " "
+ else "S"
+ }
+ rarity_code := {
+ if is_promo() then "P"
+ else if contains(card.shape, match:"token") then "T"
+ else if contains(card.shape, match:"emblem") then "E"
+ else if is_masterpiece() then "S"
+ 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" }
+ set_filter := {
+ if card.shape == "token" or card.shape == "emblem" then
+ { card.shape == "token" or card.shape == "emblem" }
+ else if card.shape == "rulestip" then
+ { card.shape == "rulestip" }
+ else if card.shape == "counter" then
+ { card.shape == "counter" }
+ else if card.shape == "checklist" then
+ { card.shape == "checklist" }
+ else if is_masterpiece() then
+ { is_masterpiece() }
+ else if set.sort_special_rarity != "separate numbering" then
+ { card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist"}
+ else if card.rarity == "special" then
+ { card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity == "special" }
+ else
+ { card.shape != "token" and not is_masterpiece() and card.shape != "emblem" and card.shape != "rulestip" and card.shape != "counter" and card.shape != "checklist" and card.rarity != "special" }
+ }
+ card_number := {
+ position (
+ of: card
+ in: set
+ order_by: { rarity_sort() + sort_index() + sort_name(card.name) }
+ filter: set_filter()
+ ) + 1
+ }
+ card_count := {
+ number_of_items(in: set, filter: set_filter())
+ }
+
+ #Starting with M15, zero digits in card numbers should be shown up to three.
+ card_number_m15 := { (if card_number() < 100 then "0" else "") + (if card_number() < 10 then "0" else "") + card_number() }
+ card_count_m15 := { (if card_count() < 100 then "0" else "") + (if card_count() < 10 then "0" else "") + card_count() }
\ No newline at end of file
diff --git a/data/magic-m15-sketch.mse-style/mcard.png b/data/magic-m15-sketch.mse-style/mcard.png
new file mode 100644
index 000000000..fe206c0e0
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/mcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/mlcard.png b/data/magic-m15-sketch.mse-style/mlcard.png
new file mode 100644
index 000000000..814a08420
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/mlcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/mpt.png b/data/magic-m15-sketch.mse-style/mpt.png
new file mode 100644
index 000000000..281f08e34
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/mpt.png differ
diff --git a/data/magic-m15-sketch.mse-style/mstamp.png b/data/magic-m15-sketch.mse-style/mstamp.png
new file mode 100644
index 000000000..9c1113d3b
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/mstamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/multicolor_blend_card.png b/data/magic-m15-sketch.mse-style/multicolor_blend_card.png
new file mode 100644
index 000000000..1e8f71863
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/multicolor_blend_card.png differ
diff --git a/data/magic-m15-sketch.mse-style/multicolor_blend_crown.png b/data/magic-m15-sketch.mse-style/multicolor_blend_crown.png
new file mode 100644
index 000000000..484f7b52d
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/multicolor_blend_crown.png differ
diff --git a/data/magic-m15-sketch.mse-style/multicolor_blend_identity.png b/data/magic-m15-sketch.mse-style/multicolor_blend_identity.png
new file mode 100644
index 000000000..aa9aeeec0
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/multicolor_blend_identity.png differ
diff --git a/data/magic-m15-sketch.mse-style/multicolor_blend_pt.png b/data/magic-m15-sketch.mse-style/multicolor_blend_pt.png
new file mode 100644
index 000000000..c6c332718
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/multicolor_blend_pt.png differ
diff --git a/data/magic-m15-sketch.mse-style/multicolor_blend_stamp.png b/data/magic-m15-sketch.mse-style/multicolor_blend_stamp.png
new file mode 100644
index 000000000..45dfb81da
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/multicolor_blend_stamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/multicolor_blend_test.png b/data/magic-m15-sketch.mse-style/multicolor_blend_test.png
new file mode 100644
index 000000000..7a9297215
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/multicolor_blend_test.png differ
diff --git a/data/magic-m15-sketch.mse-style/mythic.png b/data/magic-m15-sketch.mse-style/mythic.png
new file mode 100644
index 000000000..cca451f9a
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/mythic.png differ
diff --git a/data/magic-m15-sketch.mse-style/rare.png b/data/magic-m15-sketch.mse-style/rare.png
new file mode 100644
index 000000000..2dd26c6a5
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/rare.png differ
diff --git a/data/magic-m15-sketch.mse-style/rcard.png b/data/magic-m15-sketch.mse-style/rcard.png
new file mode 100644
index 000000000..8408641c5
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/rcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/rightHalfThumb.png b/data/magic-m15-sketch.mse-style/rightHalfThumb.png
new file mode 100644
index 000000000..2a2c2859b
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/rightHalfThumb.png differ
diff --git a/data/magic-m15-sketch.mse-style/rlcard.png b/data/magic-m15-sketch.mse-style/rlcard.png
new file mode 100644
index 000000000..68af0599e
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/rlcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/rpt.png b/data/magic-m15-sketch.mse-style/rpt.png
new file mode 100644
index 000000000..e3cb1f311
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/rpt.png differ
diff --git a/data/magic-m15-sketch.mse-style/rstamp.png b/data/magic-m15-sketch.mse-style/rstamp.png
new file mode 100644
index 000000000..baa8bf11f
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/rstamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/special.png b/data/magic-m15-sketch.mse-style/special.png
new file mode 100644
index 000000000..21628f70d
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/special.png differ
diff --git a/data/magic-m15-sketch.mse-style/stamp_mask.png b/data/magic-m15-sketch.mse-style/stamp_mask.png
new file mode 100644
index 000000000..b57151190
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/stamp_mask.png differ
diff --git a/data/magic-m15-sketch.mse-style/style b/data/magic-m15-sketch.mse-style/style
new file mode 100644
index 000000000..7836611ca
--- /dev/null
+++ b/data/magic-m15-sketch.mse-style/style
@@ -0,0 +1,629 @@
+mse version: 2.0.0
+game: magic
+short name: M15 Sketch
+full name: MH2 Sketch
+icon: card-sample.png
+installer group: magic/m15 style/normal cards
+position hint: 090
+
+version: 2021-07-01
+depends on:
+ package: magic.mse-game
+ version: 2014-06-25
+depends on:
+ package: magic-default-image.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-watermarks.mse-include
+ version: 2007-09-23
+depends on:
+ package: magic-identity-new.mse-include
+ version: 2012-01-22
+depends on:
+ package: magic-mana-large.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mana-small.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mana-donovan.mse-symbol-font
+ version: 2007-09-23
+
+card width: 375
+card height: 523
+card dpi: 150
+##### Images by CardConjurer
+############################################################## Extra scripts
+init script:
+ # Load scripts for image box
+ include file: /magic-default-image.mse-include/scripts
+
+ # Should hybrids have a grey name?
+ mask_hybrid_with_land := { styling.grey_hybrid_name }
+
+ #Should multicolor lands with basic land types have a colored name?
+ mask_multi_land_with_color := { styling.colored_multicolor_land_name }
+
+ template_prefix := [card: "" pt: "" stamp: "" crown: "crowns/" identity: "/magic-identity-new.mse-include/"]
+ template_suffix := [card: "card.png" pt: "pt.png" crown: "crown.png", stamp: "stamp.png" identity: "identity.png"]
+ template := { template_prefix[type] + input + template_suffix[type] }
+ land_template := { template_prefix[type] + (if input == "a" then "c" else input) + template_suffix[type] }
+ # Use land templates for previews because they show more contrast
+ hybrid_previews := "land,hybrid"
+
+ crown_background := { color_background(type:"crown", base_hybrid: card_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 := { styling.use_guild_mana_symbols }
+
+ # Is the card a promo card?
+ is_promo := { styling.promo }
+ mana_sort := {
+ if styling.unsorted_casting_cost then
+ input
+ else
+ sort_text@(order: "XYZI[0123456789]HSCA(WUBRG)")()
+ }
+ ancestral_mana := { styling.ancestral_mana_symbols }
+ has_identity := { styling.color_indicator_dot }
+ is_unsorted := {styling.remove_from_autocount}
+ use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")}
+ un_png := replace@(match:".png", replace: "")
+ alt_rarity := {styling.sketch_rarity}
+ alt_symbol := {symbol_variation(symbol:set.symbol, border_radius: 0.15, fill_type: "linear gradient", fill_color_1: rgba(0,0,0,0), fill_color_2: rgba(0,0,0,0), border_color_1: if card.rarity == "common" or card.rarity == "basic land" then rgb(255,255,255) else rgb(0,0,0), border_color_2: if card.rarity == "common" or card.rarity == "basic land" then rgb(255,255,255) else rgb(0,0,0), center_x:0.5, center_y:0.5, end_x:1, end_y:1)}
+
+ chop_top := {to_number(pull_comma_array(styling.text_chops, cell:0, end:false))}
+ chop_bot := {to_number(pull_comma_array(styling.text_chops, cell:1, end:false))}
+ shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else 0}
+ shrink_name := {if styling.shrink_name_text != "" then to_number(styling.shrink_name_text) 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: boolean
+ name: sketch rarity
+styling field:
+ type: text
+ name: text chops
+ description: Format as "X,Y". Shrinks textbox X pixels from the top and Y from bottom.
+styling field:
+ type: text
+ name: shrink name text
+ description: Shrinks name X pixels
+styling field:
+ type: text
+ name: shrink typeline text
+ description: Shrinks type X pixels
+styling field:
+ type: boolean
+ name: use holofoil stamps
+ description: Change to no to disable rare holofoil stamps
+styling field:
+ type: boolean
+ name: color indicator dot
+ description: Use the color indicator dot
+ initial: no
+styling field:
+ type: boolean
+ name: remove from autocount
+ description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks.
+ initial: no
+styling field:
+ type: boolean
+ name: grey hybrid name
+ description: Use a grey background for the name and type line on hybrid cards. This is done on real cards.
+styling field:
+ type: boolean
+ name: unsorted casting cost
+ description: Disables automatic mana symbol sorting.
+ initial: no
+styling field:
+ type: boolean
+ name: ancestral mana symbols
+ description: Enables ancestral's modified generic mana.
+ initial: no
+styling field:
+ type: boolean
+ name: colored multicolor land name
+ description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards.
+styling field:
+ type: boolean
+ name: use guild mana symbols
+ description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana.
+ initial: no
+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.mse-symbol-font
+styling field:
+ type: choice
+ name: center text
+ description: When to center text (short text only means only on one-line cards with no flavor text)
+ choice: always
+ choice: short text only
+ choice: never
+ initial: never
+styling field:
+ type: boolean
+ name: promo
+ description: Is this card a promo card, with the "P" rarity?
+ initial: no
+styling field:
+ type: boolean
+ name: masterpiece
+ description: Is this card a Masterpiece?
+ initial: no
+styling field:
+ type: boolean
+ name: inverted common symbol
+ description: Should the common rarity symbol be inverted, like in Coldsnap?
+ initial: no
+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 style:
+ use guild mana symbols:
+ choice images:
+ yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png
+ no: /magic-mana-small.mse-symbol-font/mana_rg.png
+ tap symbol:
+ render style: both
+ choice images:
+ modern: /magic-mana-large.mse-symbol-font/mana_t.png
+ old: /magic-mana-large.mse-symbol-font/mana_t_old.png
+ diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png
+ center text:
+ render style: both
+ choice images:
+ always: /magic.mse-game/icons/center-all-text.png
+ short text only: /magic.mse-game/icons/center-short-text.png
+ never: /magic.mse-game/icons/center-no-text.png
+ inverted common symbol:
+ choice images:
+ no: { symbol_variation(symbol: set.symbol, variation: "common") }
+ yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") }
+############################################################## Card fields
+card style:
+ ############################# Background stuff
+ card color:
+ left: 0
+ top: 0
+ width: 375
+ height: 523
+ z index: 0
+ render style: image
+ popup style: in place
+ image: { card_background() }
+ ############################# Name line
+ name:
+ left: { if card.card_symbol=="none" then 32 else 50 }
+ top: 30
+ right: { 341 - card_style.casting_cost.content_width }
+ height: 23
+ alignment: bottom shrink-overflow
+ padding bottom: 0
+ z index: 1
+ font:
+ name: Beleren Bold
+ size: 16
+ 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
+ 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 30}
+ top: 29
+ height: 20
+ width: 14
+ z index: 1
+ render style: image
+ choice images:
+ tombstone: tombstone.png
+ ############################# Image
+ image:
+ left: 29
+ top: 59
+ width: 318
+ height: 232
+ z index: 1
+ default: {default_image(card.card_color)}
+ ############################# Card type
+ indicator:
+ left: 31
+ top: 301
+ width: 17
+ height: 17
+ z index: 1
+ render style: image
+ visible: { has_identity() }
+ image: { card_identity() }
+ type:
+ left: { if has_identity() then "52" else "32" }
+ top: 297
+ 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: Beleren Bold
+ size: 13
+ color: black
+ separator color: red
+ rarity:
+ right: 342
+ top: 298
+ 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 use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ common:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png"
+ else if alt_rarity() then alt_symbol()
+ else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon")
+ else symbol_variation(symbol: set.symbol, variation: "common")
+ uncommon:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "uncommon")
+ rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "rare")
+ mythic rare:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "mythic rare")
+ special:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png"
+ else if alt_rarity() then alt_symbol()
+ else symbol_variation(symbol: set.symbol, variation: "special")
+ masterpiece:
+ script:
+ if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png"
+ else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare")
+ ############################# Text box
+ text:
+ left: 29
+ top: 327
+ width: 314
+ height: 154
+ font:
+ name: MPlantin
+ italic name: MPlantin-Italic
+ size: 14
+ scale down to: 6
+ color: black
+ symbol font:
+ name: { styling.text_box_mana_symbols }
+ size: 14
+ scale down to: 6
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ 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
+ watermark:
+ left: 117
+ top: 321
+ width: 138
+ height: 166
+ z index: 1
+ render style: image
+ popup style: in place
+ alignment: middle center
+ include file: /magic-watermarks.mse-include/watermarks
+ ############################# PT
+ pt:
+ z index: 2
+ left: 294
+ top: 466
+ width: 60
+ height: 28
+ alignment: center middle shrink-overflow
+ font:
+ name: Beleren Bold
+ size: 16
+ color: black
+ separator color: red
+ ############################# 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.25
+ 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 styling.remove_from_autocount 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
+extra card field:
+ type: choice
+ name: pt box
+ script: card.card_color
+ editable: false
+ save value: false
+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: multiple choice
+ name: stamp
+ empty choice: colorless
+ choice: white
+ choice: blue
+ choice: black
+ choice: red
+ choice:
+ name: green
+ line below: true
+ choice: artifact
+ choice: land
+ choice: multicolor
+ 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: text
+ name: auto copyright
+ script: set.copyright
+ save value: false
+ editable: false
+ show statistics: false
+extra card field:
+ type: choice
+ name: color splash
+ script: card.rarity
+ save value: false
+ editable: false
+extra card field:
+ type: choice
+ name: crown
+ script: card.card_color
+ save value: false
+ editable: false
+extra card field:
+ type: choice
+ name: flavor bar
+ choice: bar
+ editable: false
+ save value: 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
+ pt box:
+ left: 280
+ top: 459
+ width: 77
+ height: 38
+ z index: 1
+ visible: { card.pt != "" }
+ render style: image
+ image: { card_ptbox() }
+ 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 "foil_mask_rare.png" else "foil_mask.png" }
+ stamp:
+ left: 109
+ top: 464
+ width: 161
+ height: 35
+ z index: 1
+ visible: { is_rare() and styling.use_holofoil_stamps }
+ render style: image
+ image: { card_stamp() }
+ foil stamp:
+ left: 168
+ top: 473
+ width: 40
+ height: 22
+ z index: 2
+ visible: { is_rare() and styling.use_holofoil_stamps }
+ render style: image
+ image: foil_stamp.png
+ color splash:
+ left: 309
+ top: 296
+ width: 46
+ height: 26
+ z index: 1
+ visible: { alt_rarity() }
+ render style: image
+ choice images:
+ basic land: common.png
+ common: common.png
+ uncommon: uncommon.png
+ rare: rare.png
+ mythic rare: mythic.png
+ special: special.png
+ masterpiece: mythic.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
+ flavor bar:
+ left: 0
+ top: { bar_equation() }
+ width: 375
+ height: 1
+ z index: 1
+ render style: image
+ image: bar.png
+ visible: { card.rule_text != "" and remove_tags(card.flavor_text) != "" and set.use_flavor_bar }
+ crown:
+ left: 0
+ top: 0
+ width: 375
+ height: 97
+ z index: 1
+ render style: image
+ image: {crown_background()}
+ visible: { is_legendary(card.type) }
+
diff --git a/data/magic-m15-sketch.mse-style/testmask.png b/data/magic-m15-sketch.mse-style/testmask.png
new file mode 100644
index 000000000..d11c0c39e
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/testmask.png differ
diff --git a/data/magic-m15-sketch.mse-style/tombstone.png b/data/magic-m15-sketch.mse-style/tombstone.png
new file mode 100644
index 000000000..d5508a6d3
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/tombstone.png differ
diff --git a/data/magic-m15-sketch.mse-style/ucard.png b/data/magic-m15-sketch.mse-style/ucard.png
new file mode 100644
index 000000000..5692f3aac
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/ucard.png differ
diff --git a/data/magic-m15-sketch.mse-style/ulcard.png b/data/magic-m15-sketch.mse-style/ulcard.png
new file mode 100644
index 000000000..8c3c6221b
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/ulcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/uncommon.png b/data/magic-m15-sketch.mse-style/uncommon.png
new file mode 100644
index 000000000..8cc6fc10a
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/uncommon.png differ
diff --git a/data/magic-m15-sketch.mse-style/upt.png b/data/magic-m15-sketch.mse-style/upt.png
new file mode 100644
index 000000000..2f3a7dffb
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/upt.png differ
diff --git a/data/magic-m15-sketch.mse-style/ustamp.png b/data/magic-m15-sketch.mse-style/ustamp.png
new file mode 100644
index 000000000..a75758051
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/ustamp.png differ
diff --git a/data/magic-m15-sketch.mse-style/vmask.jpg b/data/magic-m15-sketch.mse-style/vmask.jpg
new file mode 100644
index 000000000..c8cb735c2
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/vmask.jpg differ
diff --git a/data/magic-m15-sketch.mse-style/voverlay.png b/data/magic-m15-sketch.mse-style/voverlay.png
new file mode 100644
index 000000000..4fe172d84
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/voverlay.png differ
diff --git a/data/magic-m15-sketch.mse-style/wcard.png b/data/magic-m15-sketch.mse-style/wcard.png
new file mode 100644
index 000000000..6b1386654
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/wcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/wlcard.png b/data/magic-m15-sketch.mse-style/wlcard.png
new file mode 100644
index 000000000..6f6e7f745
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/wlcard.png differ
diff --git a/data/magic-m15-sketch.mse-style/wpt.png b/data/magic-m15-sketch.mse-style/wpt.png
new file mode 100644
index 000000000..5a3faf4b9
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/wpt.png differ
diff --git a/data/magic-m15-sketch.mse-style/wstamp.png b/data/magic-m15-sketch.mse-style/wstamp.png
new file mode 100644
index 000000000..89b99d0d6
Binary files /dev/null and b/data/magic-m15-sketch.mse-style/wstamp.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltydown.png b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltydown.png
new file mode 100644
index 000000000..a4e30677c
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltydown.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltydown_w.png b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltydown_w.png
new file mode 100644
index 000000000..229272927
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltydown_w.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltynaught.png b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltynaught.png
new file mode 100644
index 000000000..071a90f11
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltynaught.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltynaught_w.png b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltynaught_w.png
new file mode 100644
index 000000000..23888adb8
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltynaught_w.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltyup.png b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltyup.png
new file mode 100644
index 000000000..5e9a557dc
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltyup.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltyup_w.png b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltyup_w.png
new file mode 100644
index 000000000..ab60f608c
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/empty_loyaltyup_w.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_1_half.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_1_half.png
new file mode 100644
index 000000000..cd8d8c82a
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_1_half.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_b.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_b.png
new file mode 100644
index 000000000..e894a5b51
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_b.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_b_half.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_b_half.png
new file mode 100644
index 000000000..134445d60
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_b_half.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_bg.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_bg.png
new file mode 100644
index 000000000..a329a3806
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_bg.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_bgw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_bgw.png
new file mode 100644
index 000000000..b470babd7
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_bgw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_br.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_br.png
new file mode 100644
index 000000000..4e1c4d9f1
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_br.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_brg.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_brg.png
new file mode 100644
index 000000000..9c97bebd2
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_brg.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_c.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_c.png
new file mode 100644
index 000000000..821a98d0c
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_c.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_chaos.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_chaos.png
new file mode 100644
index 000000000..fc113e956
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_chaos.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_circle.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_circle.png
new file mode 100644
index 000000000..3a76b1cb5
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_circle.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_crude.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_crude.png
new file mode 100644
index 000000000..c61ac2da2
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_crude.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_e.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_e.png
new file mode 100644
index 000000000..a01eecca1
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_e.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_g.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_g.png
new file mode 100644
index 000000000..10a159cb0
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_g.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_g_half.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_g_half.png
new file mode 100644
index 000000000..107888760
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_g_half.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_gu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gu.png
new file mode 100644
index 000000000..d4c302b4e
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_gub.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gub.png
new file mode 100644
index 000000000..625d92089
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gub.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_bg.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_bg.png
new file mode 100644
index 000000000..21465c832
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_bg.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_br.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_br.png
new file mode 100644
index 000000000..802deacb3
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_br.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_gu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_gu.png
new file mode 100644
index 000000000..0b5b3cc56
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_gu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_gw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_gw.png
new file mode 100644
index 000000000..4166b3c8b
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_gw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_rg.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_rg.png
new file mode 100644
index 000000000..ab1c6b8fc
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_rg.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_rw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_rw.png
new file mode 100644
index 000000000..79d7b487d
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_rw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_ub.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_ub.png
new file mode 100644
index 000000000..fd3ca3434
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_ub.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_ur.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_ur.png
new file mode 100644
index 000000000..d91706962
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_ur.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_wb.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_wb.png
new file mode 100644
index 000000000..c187bc94b
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_wb.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_wu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_wu.png
new file mode 100644
index 000000000..9543c032b
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_guild_wu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_gw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gw.png
new file mode 100644
index 000000000..7b8b3a9d7
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_gwu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gwu.png
new file mode 100644
index 000000000..ed66dbc22
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_gwu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_infinite.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_infinite.png
new file mode 100644
index 000000000..0d71735dd
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_infinite.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_nb.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nb.png
new file mode 100644
index 000000000..898925c69
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nb.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_ng.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ng.png
new file mode 100644
index 000000000..fac0910f7
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ng.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_nr.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nr.png
new file mode 100644
index 000000000..a84804357
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nr.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_nu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nu.png
new file mode 100644
index 000000000..2e8810933
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_nw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nw.png
new file mode 100644
index 000000000..04feb2857
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_nw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyb.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyb.png
new file mode 100644
index 000000000..e1be893ce
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyb.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyc.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyc.png
new file mode 100644
index 000000000..819897928
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyc.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyg.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyg.png
new file mode 100644
index 000000000..2fac9a89a
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyg.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyr.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyr.png
new file mode 100644
index 000000000..185924ea2
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyr.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyu.png
new file mode 100644
index 000000000..c03aa6e79
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyw.png
new file mode 100644
index 000000000..2fffac9e7
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_phyw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_plus.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_plus.png
new file mode 100644
index 000000000..865ef0d0c
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_plus.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_plus_w.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_plus_w.png
new file mode 100644
index 000000000..bc36eb557
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_plus_w.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_q.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_q.png
new file mode 100644
index 000000000..c12358f62
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_q.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_q_old.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_q_old.png
new file mode 100644
index 000000000..1fad39c44
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_q_old.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_q_older.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_q_older.png
new file mode 100644
index 000000000..0bf2d6ffc
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_q_older.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_r.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_r.png
new file mode 100644
index 000000000..a339eb507
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_r.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_r_half.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_r_half.png
new file mode 100644
index 000000000..e19e5f681
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_r_half.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_rg.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rg.png
new file mode 100644
index 000000000..28523be16
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rg.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_rgw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rgw.png
new file mode 100644
index 000000000..1f1178fe4
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rgw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_rw.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rw.png
new file mode 100644
index 000000000..a9f187d8a
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rw.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_rwu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rwu.png
new file mode 100644
index 000000000..8e116c910
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_rwu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_s.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_s.png
new file mode 100644
index 000000000..557e451d1
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_s.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_s_half.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_s_half.png
new file mode 100644
index 000000000..84219fa06
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_s_half.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_t.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_t.png
new file mode 100644
index 000000000..7079dfc6e
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_t.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_t_old.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_t_old.png
new file mode 100644
index 000000000..e42b80e3b
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_t_old.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_t_older.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_t_older.png
new file mode 100644
index 000000000..118faa833
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_t_older.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_u.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_u.png
new file mode 100644
index 000000000..04a6837cd
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_u.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_u_half.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_u_half.png
new file mode 100644
index 000000000..9235a732f
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_u_half.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_ub.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ub.png
new file mode 100644
index 000000000..ee9bea502
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ub.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_ubr.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ubr.png
new file mode 100644
index 000000000..f837b34ab
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ubr.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_ur.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ur.png
new file mode 100644
index 000000000..7fa0f2887
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_ur.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_urg.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_urg.png
new file mode 100644
index 000000000..4e27e9dec
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_urg.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_w.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_w.png
new file mode 100644
index 000000000..eebe2e65b
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_w.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_w_half.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_w_half.png
new file mode 100644
index 000000000..476e64e5f
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_w_half.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_wb.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wb.png
new file mode 100644
index 000000000..fe8a275b1
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wb.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_wbr.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wbr.png
new file mode 100644
index 000000000..9566e7892
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wbr.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_wu.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wu.png
new file mode 100644
index 000000000..fa26b3ea1
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wu.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_wub.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wub.png
new file mode 100644
index 000000000..421ae8142
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_wub.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_x.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_x.png
new file mode 100644
index 000000000..062e770e4
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_x.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_y.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_y.png
new file mode 100644
index 000000000..33f41e175
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_y.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/mana_z.png b/data/magic-mana-scroll-demon.mse-symbol-font/mana_z.png
new file mode 100644
index 000000000..253c79cbf
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/mana_z.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/phi.png b/data/magic-mana-scroll-demon.mse-symbol-font/phi.png
new file mode 100644
index 000000000..669fd0125
Binary files /dev/null and b/data/magic-mana-scroll-demon.mse-symbol-font/phi.png differ
diff --git a/data/magic-mana-scroll-demon.mse-symbol-font/symbol-font b/data/magic-mana-scroll-demon.mse-symbol-font/symbol-font
new file mode 100644
index 000000000..b111d0ee3
--- /dev/null
+++ b/data/magic-mana-scroll-demon.mse-symbol-font/symbol-font
@@ -0,0 +1,491 @@
+mse version: 2.0.0
+version: 2015-12-13
+short name: scroll
+installer group: magic/Mana symbols/normal style
+position hint: 010
+icon: mana_r.png
+# Symbol font in the normal, flat, style, used for text boxes and on old style cards
+# Note:
+# Define mana_t := {"new|old|older"} in the init script of the style
+#
+# So for example:
+#
+#init script:
+# mana_t := {"new"}
+
+image font size: 135
+horizontal space: 2
+symbol:
+ code: phi
+ image: phi.png
+ image font size: 27
+symbol:
+ image: empty_loyaltyup_w.png
+ code: ([+][XYZ1-9])
+ regex: yes
+ draw text: 1
+ text margin left: -.10
+ text margin right: 0
+ text margin top: .21
+ text margin bottom: .05
+ text font:
+ name: Beleren Bold
+ size: .70
+ color: white
+ max stretch: 0.5
+ image font size: 100
+symbol:
+ image: empty_loyaltydown_w.png
+ code: ([-][XYZ1-9])
+ regex: yes
+ draw text: 1
+ text margin left: -.10
+ text margin right: 0
+ text margin top: 0.1
+ text margin bottom: .15
+ text font:
+ name: Beleren Bold
+ size: .70
+ color: white
+ max stretch: 0.5
+ image font size: 100
+symbol:
+ image: empty_loyaltynaught_w.png
+ code: [+=]([0-9XYZ])
+ regex: yes
+ draw text: 1
+ text margin left: -.10
+ text margin right: 0
+ text margin top: .15
+ text margin bottom: .1
+ text font:
+ name: Beleren Bold
+ size: .70
+ color: white
+ max stretch: 0.5
+ image font size: 100
+symbol:
+ code: +
+ image: mana_plus_w.png
+symbol:
+ code: AP
+ image: mana_ap.png
+symbol:
+ code: T
+ image: mana_t_older.png
+ enabled: { mana_t() == "older" }
+symbol:
+ code: T
+ image: mana_t_old.png
+ enabled: { mana_t() == "old" }
+symbol:
+ code: T
+ image: mana_t.png
+symbol:
+ code: Q
+ image: mana_q_older.png
+ enabled: { mana_t() == "older" }
+symbol:
+ code: Q
+ image: mana_q_old.png
+ enabled: { mana_t() == "old" }
+symbol:
+ code: Q
+ image: mana_q.png
+symbol:
+ code: chaos
+ image: mana_chaos.png
+ image font size: 168.75
+symbol:
+ code: B/G/W
+ image: mana_bgw.png
+ image font size: 145
+symbol:
+ code: B/R/G
+ image: mana_brg.png
+ image font size: 145
+symbol:
+ code: G/U/B
+ image: mana_gub.png
+ image font size: 145
+symbol:
+ code: G/W/U
+ image: mana_gwu.png
+ image font size: 145
+symbol:
+ code: R/G/W
+ image: mana_rgw.png
+ image font size: 145
+symbol:
+ code: R/W/U
+ image: mana_rwu.png
+ image font size: 145
+symbol:
+ code: U/B/R
+ image: mana_ubr.png
+ image font size: 145
+symbol:
+ code: U/R/G
+ image: mana_urg.png
+ image font size: 145
+symbol:
+ code: W/B/R
+ image: mana_wbr.png
+ image font size: 145
+symbol:
+ code: W/U/B
+ image: mana_wub.png
+ image font size: 145
+symbol:
+ code: W/U
+ image: mana_guild_wu.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: U/B
+ image: mana_guild_ub.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: B/R
+ image: mana_guild_br.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: R/G
+ image: mana_guild_rg.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: G/W
+ image: mana_guild_gw.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: W/B
+ image: mana_guild_wb.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: U/R
+ image: mana_guild_ur.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: B/G
+ image: mana_guild_bg.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: R/W
+ image: mana_guild_rw.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: G/U
+ image: mana_guild_gu.png
+ image font size: 145
+ enabled: { guild_mana() }
+symbol:
+ code: W/U
+ image: mana_wu.png
+ image font size: 145
+symbol:
+ code: U/B
+ image: mana_ub.png
+ image font size: 145
+symbol:
+ code: B/R
+ image: mana_br.png
+ image font size: 145
+symbol:
+ code: R/G
+ image: mana_rg.png
+ image font size: 145
+symbol:
+ code: G/W
+ image: mana_gw.png
+ image font size: 145
+symbol:
+ code: W/B
+ image: mana_wb.png
+ image font size: 145
+symbol:
+ code: U/R
+ image: mana_ur.png
+ image font size: 145
+symbol:
+ code: B/G
+ image: mana_bg.png
+ image font size: 145
+symbol:
+ code: R/W
+ image: mana_rw.png
+ image font size: 145
+symbol:
+ code: G/U
+ image: mana_gu.png
+ image font size: 145
+symbol:
+ code: 1/2
+ image: mana_1_half.png
+symbol:
+ code: |1
+ image: mana_1_half.png
+symbol:
+ code: |W
+ image: mana_w_half.png
+symbol:
+ code: |U
+ image: mana_u_half.png
+symbol:
+ code: |B
+ image: mana_b_half.png
+symbol:
+ code: |R
+ image: mana_r_half.png
+symbol:
+ code: |G
+ image: mana_g_half.png
+symbol:
+ code: |S
+ image: mana_s_half.png
+symbol:
+ code: E
+ image: mana_e.png
+symbol:
+ code: 9AP
+ image: mana_9ap.png
+symbol:
+ code: H/W
+ image: mana_phyw.png
+ image font size: 117
+symbol:
+ code: H/U
+ image: mana_phyu.png
+ image font size: 117
+symbol:
+ code: H/B
+ image: mana_phyb.png
+ image font size: 117
+symbol:
+ code: H/R
+ image: mana_phyr.png
+ image font size: 117
+symbol:
+ code: H/G
+ image: mana_phyg.png
+ image font size: 117
+symbol:
+ code: H
+ image: mana_phyc.png
+ image font size: 117
+symbol:
+ code: W
+ image: mana_w.png
+symbol:
+ code: U
+ image: mana_u.png
+symbol:
+ code: B
+ image: mana_b.png
+symbol:
+ code: R
+ image: mana_r.png
+symbol:
+ code: G
+ image: mana_g.png
+symbol:
+ code: C
+ image: mana_c.png
+symbol:
+ code: S
+ image: mana_s.png
+symbol:
+ code: I
+ image: mana_infinite.png
+symbol:
+ image: mana_nw.png
+ code: ([XYZ0-9])/W
+ regex: yes
+ draw text: 1
+ text margin left: -.30
+ text margin right: .2
+ text margin top: -.14
+ text margin bottom: .34
+ text font:
+ name: MPlantin
+ size: .6
+ color: rgb(0,0,0)
+ max stretch: 0.5
+ image font size: 145
+symbol:
+ image: mana_nu.png
+ code: ([XYZ0-9])/U
+ regex: yes
+ draw text: 1
+ text margin left: -.30
+ text margin right: .2
+ text margin top: -.14
+ text margin bottom: .34
+ text font:
+ name: MPlantin
+ size: .6
+ color: rgb(0,0,0)
+ max stretch: 0.5
+ image font size: 145
+symbol:
+ image: mana_nb.png
+ code: ([XYZ0-9])/B
+ regex: yes
+ draw text: 1
+ text margin left: -.30
+ text margin right: .2
+ text margin top: -.14
+ text margin bottom: .34
+ text font:
+ name: MPlantin
+ size: .6
+ color: rgb(0,0,0)
+ max stretch: 0.5
+ image font size: 145
+symbol:
+ image: mana_nr.png
+ code: ([XYZ0-9])/R
+ regex: yes
+ draw text: 1
+ text margin left: -.30
+ text margin right: .2
+ text margin top: -.14
+ text margin bottom: .34
+ text font:
+ name: MPlantin
+ size: .6
+ color: rgb(0,0,0)
+ max stretch: 0.5
+ image font size: 145
+symbol:
+ image: mana_ng.png
+ code: ([XYZ0-9])/G
+ regex: yes
+ draw text: 1
+ text margin left: -.30
+ text margin right: .2
+ text margin top: -.14
+ text margin bottom: .34
+ text font:
+ name: MPlantin
+ size: .6
+ color: rgb(0,0,0)
+ max stretch: 0.5
+ image font size: 145
+symbol:
+ image: mana_circle.png
+ code: [XYZ]
+ regex: yes
+ draw text: 0
+ text margin left: .23
+ text margin right: .23
+ text margin top: -.11
+ text margin bottom: -.11
+ text font:
+ name: MPlantin
+ size: 1
+ color: rgb(0,0,0)
+symbol:
+ image: mana_circle.png
+ code: [0-9]+(?!/[WUBRGSTQ2])|.
+ regex: yes
+ draw text: 0
+ text margin left: .2
+ text margin right: .2
+ text margin top: -.14
+ text margin bottom: -.14
+ text font:
+ name: MPlantin
+ size: 1
+ color: rgb(0,0,0)
+ max stretch: 0.57
+
+##############################################################
+# Insert-symbol menu
+insert symbol menu:
+ item: T
+ item: Q
+ item: chaos
+ item: E
+ item:
+ type: line
+ item: X
+ item: Y
+ item: Z
+ item: I
+ item: C
+ item: +
+ item:
+ type: custom
+ name: colorless
+ item:
+ type: line
+ item: W
+ item: U
+ item: B
+ item: R
+ item: G
+ item: S
+ item:
+ type: line
+ item:
+ name: half
+ item: 1/2
+ item: |W
+ item: |U
+ item: |B
+ item: |R
+ item: |G
+ item: |S
+ item:
+ name: hybrid
+ item: W/U
+ item: U/B
+ item: B/R
+ item: R/G
+ item: G/W
+ item:
+ type: line
+ item: W/B
+ item: U/R
+ item: B/G
+ item: R/W
+ item: G/U
+ item:
+ name: phyrexian
+ item: H
+ item: H/W
+ item: H/U
+ item: H/B
+ item: H/R
+ item: H/G
+ item:
+ name: hybrid 3
+ item: W/U/B
+ item: U/B/R
+ item: B/R/G
+ item: R/G/W
+ item: G/W/U
+ item:
+ type: line
+ item: W/B/R
+ item: U/R/G
+ item: B/G/W
+ item: R/W/U
+ item: G/U/B
+ item:
+ type: line
+ item:
+ name: number hybrids
+ item: 2/W
+ item: 2/U
+ item: 2/B
+ item: 2/R
+ item: 2/G
diff --git a/data/magic-mana-small.mse-symbol-font/empty_loyaltydown.png b/data/magic-mana-small.mse-symbol-font/empty_loyaltydown.png
new file mode 100644
index 000000000..a4e30677c
Binary files /dev/null and b/data/magic-mana-small.mse-symbol-font/empty_loyaltydown.png differ
diff --git a/data/magic-mana-small.mse-symbol-font/empty_loyaltynaught.png b/data/magic-mana-small.mse-symbol-font/empty_loyaltynaught.png
new file mode 100644
index 000000000..071a90f11
Binary files /dev/null and b/data/magic-mana-small.mse-symbol-font/empty_loyaltynaught.png differ
diff --git a/data/magic-mana-small.mse-symbol-font/empty_loyaltyup.png b/data/magic-mana-small.mse-symbol-font/empty_loyaltyup.png
new file mode 100644
index 000000000..5e9a557dc
Binary files /dev/null and b/data/magic-mana-small.mse-symbol-font/empty_loyaltyup.png differ
diff --git a/data/magic-mana-small.mse-symbol-font/symbol-font b/data/magic-mana-small.mse-symbol-font/symbol-font
index cfbcb9c6c..fb812e4e3 100644
--- a/data/magic-mana-small.mse-symbol-font/symbol-font
+++ b/data/magic-mana-small.mse-symbol-font/symbol-font
@@ -81,50 +81,50 @@ symbol:
###################################################################################### Loyalty Symbols
symbol:
- image: loyaltyup.png
- code: ([+][XYZ0-9]) loyalty
+ image: empty_loyaltyup.png
+ code: ([+][XYZ1-9])
regex: yes
draw text: 1
text margin left: -.10
text margin right: 0
- text margin top: .10
- text margin bottom: .10
+ text margin top: .21
+ text margin bottom: .05
text font:
name: Beleren Bold
- size: .55
- color: white
+ size: .70
+ color: black
max stretch: 0.5
- image font size: 132.1875
+ image font size: 100
symbol:
- image: loyaltydown.png
- code: ([-][XYZ0-9]) loyalty
+ image: empty_loyaltydown.png
+ code: ([-][XYZ1-9])
regex: yes
draw text: 1
text margin left: -.10
text margin right: 0
- text margin top: .10
- text margin bottom: .10
+ text margin top: 0.1
+ text margin bottom: .15
text font:
name: Beleren Bold
- size: .55
- color: white
+ size: .70
+ color: black
max stretch: 0.5
- image font size: 132.1875
+ image font size: 100
symbol:
- image: loyaltynaught.png
- code: ([=XYZ0-9]) loyalty
+ image: empty_loyaltynaught.png
+ code: ([+]0|=[0-9XYZ])
regex: yes
draw text: 1
text margin left: -.10
text margin right: 0
- text margin top: .10
- text margin bottom: .10
+ text margin top: .15
+ text margin bottom: .1
text font:
name: Beleren Bold
- size: .55
- color: white
+ size: .70
+ color: black
max stretch: 0.5
- image font size: 132.1875
+ image font size: 100
###################################################################################### Symbols That Actually Appear on Cards
symbol:
code: phi
diff --git a/data/magic-watermarks.mse-include/foretell.png b/data/magic-watermarks.mse-include/foretell.png
new file mode 100644
index 000000000..65d93d61b
Binary files /dev/null and b/data/magic-watermarks.mse-include/foretell.png differ
diff --git a/data/magic-watermarks.mse-include/watermark-names b/data/magic-watermarks.mse-include/watermark-names
index 433944458..a08b04eb4 100644
--- a/data/magic-watermarks.mse-include/watermark-names
+++ b/data/magic-watermarks.mse-include/watermark-names
@@ -127,6 +127,7 @@ choice:
choice: phyrexia
choice: seekers of carmot
choice: the thran
+ choice: foretell
choice:
name: innistrad provinces
choice: stensia
@@ -171,6 +172,7 @@ choice:
choice: eight
choice: nine
choice: ten
+ choice: card
choice:
name: set symbol
diff --git a/data/magic-watermarks.mse-include/watermarks b/data/magic-watermarks.mse-include/watermarks
index 673336d86..34ab6415e 100644
--- a/data/magic-watermarks.mse-include/watermarks
+++ b/data/magic-watermarks.mse-include/watermarks
@@ -110,6 +110,7 @@ choice images:
other magic symbols phyrexia: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/phyrexia.png"))
other magic symbols seekers of carmot: script: spotlight_watermark_blend("/magic-watermarks.mse-include/seekersofcarmot.png,266,266")
other magic symbols the thran: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/thran.png"))
+ other magic symbols foretell: script: spotlight_watermark_blend("/magic-watermarks.mse-include/foretell.png", h:380)
other magic symbols innistrad provinces stensia: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/stensia.png"))
other magic symbols innistrad provinces kessig: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/kessig.png"))
@@ -147,6 +148,7 @@ choice images:
custom watermark eight: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_8()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_8()))
custom watermark nine: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_9()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_9()))
custom watermark ten: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_10()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_10()))
+ custom watermark card: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_a()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_a()))
set symbol:
{ set_combine(combine:"shadow",
diff --git a/data/magic-watermarks.mse-include/watermarks_back b/data/magic-watermarks.mse-include/watermarks_back
index 673336d86..9ada1957b 100644
--- a/data/magic-watermarks.mse-include/watermarks_back
+++ b/data/magic-watermarks.mse-include/watermarks_back
@@ -15,16 +15,16 @@ choice images:
transparent mana symbol red: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_r.png")
transparent mana symbol green: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_g.png")
- guild symbol The Azorius Senate (W/U): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_azorius2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_azorius2.png"))
- guild symbol House Dimir (U/B): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_dimir2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_dimir2.png"))
- guild symbol The Cult of Rakdos (B/R): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_rakados2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_rakados2.png"))
- guild symbol The Gruul Clans (R/G): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_gruul2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_gruul2.png"))
- guild symbol The Selesnya Conclave (G/W): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_selesnya2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_selesnya2.png"))
- guild symbol The Orzhov Syndicate (W/B): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_orzhov2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_orzhov2.png"))
- guild symbol The Izzet (U/R): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_izzet2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_izzet2.png"))
- guild symbol The Golgari (B/G): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_golgari2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_golgari2.png"))
- guild symbol The Boros Legion (R/W): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_boros2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_boros2.png"))
- guild symbol The Simic Combine (G/U): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_simic2.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_simic2.png"))
+ guild symbol The Azorius Senate (W/U): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_azorius2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_azorius2.png"))
+ guild symbol House Dimir (U/B): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_dimir2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_dimir2.png"))
+ guild symbol The Cult of Rakdos (B/R): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_rakados2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_rakados2.png"))
+ guild symbol The Gruul Clans (R/G): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_gruul2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_gruul2.png"))
+ guild symbol The Selesnya Conclave (G/W): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_selesnya2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_selesnya2.png"))
+ guild symbol The Orzhov Syndicate (W/B): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_orzhov2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_orzhov2.png"))
+ guild symbol The Izzet (U/R): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_izzet2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_izzet2.png"))
+ guild symbol The Golgari (B/G): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_golgari2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_golgari2.png"))
+ guild symbol The Boros Legion (R/W): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_boros2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_boros2.png"))
+ guild symbol The Simic Combine (G/U): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_simic2.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_simic2.png"))
guild symbol originals The Azorius Senate (W/U): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_azorius.png")
guild symbol originals House Dimir (U/B): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_dimir.png")
@@ -37,37 +37,37 @@ choice images:
guild symbol originals The Boros Legion (R/W): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_boros.png")
guild symbol originals The Simic Combine (G/U): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_simic.png")
- guild symbol ancients The Azorius Senate (W/U): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-azorius.png")
- guild symbol ancients House Dimir (U/B): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-dimir.png")
- guild symbol ancients The Cult of Rakdos (B/R): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-rakdos.png")
- guild symbol ancients The Gruul Clans (R/G): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-gruul.png")
- guild symbol ancients The Selesnya Conclave (G/W): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-selesnya.png")
- guild symbol ancients The Orzhov Syndicate (W/B): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-orzhov.png")
- guild symbol ancients The Izzet (U/R): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-izzet.png")
- guild symbol ancients The Golgari (B/G): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-golgari.png")
- guild symbol ancients The Boros Legion (R/W): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-boros.png")
- guild symbol ancients The Simic Combine (G/U): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-simic.png")
+ guild symbol ancients The Azorius Senate (W/U): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-azorius.png", face:card.card_color_2)
+ guild symbol ancients House Dimir (U/B): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-dimir.png", face:card.card_color_2)
+ guild symbol ancients The Cult of Rakdos (B/R): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-rakdos.png", face:card.card_color_2)
+ guild symbol ancients The Gruul Clans (R/G): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-gruul.png", face:card.card_color_2)
+ guild symbol ancients The Selesnya Conclave (G/W): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-selesnya.png", face:card.card_color_2)
+ guild symbol ancients The Orzhov Syndicate (W/B): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-orzhov.png", face:card.card_color_2)
+ guild symbol ancients The Izzet (U/R): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-izzet.png", face:card.card_color_2)
+ guild symbol ancients The Golgari (B/G): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-golgari.png", face:card.card_color_2)
+ guild symbol ancients The Boros Legion (R/W): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-boros.png", face:card.card_color_2)
+ guild symbol ancients The Simic Combine (G/U): script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark-frazier-simic.png", face:card.card_color_2)
- faction symbol mirrodin: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_mirrodin.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_mirrodin.png"))
- faction symbol phyrexia: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_phyrexia.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_phyrexia.png"))
+ faction symbol mirrodin: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_mirrodin.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_mirrodin.png"))
+ faction symbol phyrexia: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_phyrexia.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_phyrexia.png"))
- clan symbol The Abzan Houses (WBG): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_abzan.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_abzan.png"))
- clan symbol The Jeskai Way (URW): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_jeskai.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_jeskai.png"))
- clan symbol The Sultai Brood (BGU): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_sultai.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_sultai.png"))
- clan symbol The Mardu Horde (RWB): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_mardu.png", h:300) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_mardu.png"))
- clan symbol The Temur Frontier (GUR): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_temur.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_temur.png"))
+ clan symbol The Abzan Houses (WBG): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_abzan.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_abzan.png"))
+ clan symbol The Jeskai Way (URW): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_jeskai.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_jeskai.png"))
+ clan symbol The Sultai Brood (BGU): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_sultai.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_sultai.png"))
+ clan symbol The Mardu Horde (RWB): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_mardu.png", h:300, face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_mardu.png"))
+ clan symbol The Temur Frontier (GUR): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_temur.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_temur.png"))
- brood symbol Dromoka's Brood (GW): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_dromoka.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_dromoka.png"))
- brood symbol Ojutai's Brood (WU): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_ojutai.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_ojutai.png"))
- brood symbol Silumgar's Brood (UB): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_silumgar.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_silumgar.png"))
- brood symbol Kolaghan's Brood (BR): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_kolaghan.png", h:300) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_kolaghan.png"))
- brood symbol Atarka's Brood (RG): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_atarka.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_atarka.png"))
+ brood symbol Dromoka's Brood (GW): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_dromoka.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_dromoka.png"))
+ brood symbol Ojutai's Brood (WU): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_ojutai.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_ojutai.png"))
+ brood symbol Silumgar's Brood (UB): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_silumgar.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_silumgar.png"))
+ brood symbol Kolaghan's Brood (BR): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_kolaghan.png", h:300, face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_kolaghan.png"))
+ brood symbol Atarka's Brood (RG): script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_atarka.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/watermark_atarka.png"))
- unstable factions Order of the Widget: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_widget.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_widget.png"))
- unstable factions Agents of S.N.E.A.K.: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_SNEAK.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_SNEAK.png"))
- unstable factions League of Dastardly Doom: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_doom.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_doom.png"))
- unstable factions Goblin Explosioneers: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_explosioneers.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_explosioneers.png"))
- unstable factions Crossbreed Labs: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_crossbreed.png") else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_crossbreed.png"))
+ unstable factions Order of the Widget: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_widget.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_widget.png"))
+ unstable factions Agents of S.N.E.A.K.: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_SNEAK.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_SNEAK.png"))
+ unstable factions League of Dastardly Doom: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_doom.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_doom.png"))
+ unstable factions Goblin Explosioneers: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_explosioneers.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_explosioneers.png"))
+ unstable factions Crossbreed Labs: script: if set.blend_with_colors then spotlight_watermark_blend("/magic-watermarks.mse-include/unstable_crossbreed.png", face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_crossbreed.png"))
colored xander hybrid mana B/R: /magic-watermarks.mse-include/watermark_brmana_colored.png
colored xander hybrid mana U/B: /magic-watermarks.mse-include/watermark_ubmana_colored.png
@@ -105,11 +105,12 @@ choice images:
other magic symbols color pie: /magic-watermarks.mse-include/colorpie.png
other magic symbols conspiracy stamp: script: set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/conspiracy_stamp.png")
other magic symbols story spotlight: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/planeswalker.png"))
- other magic symbols color spotlight: script: spotlight_watermark_blend("/magic-watermarks.mse-include/planeswalker.png")
- other magic symbols jace consortium: script: spotlight_watermark_blend("/magic-watermarks.mse-include/jace-consortium.png")
+ other magic symbols color spotlight: script: spotlight_watermark_blend("/magic-watermarks.mse-include/planeswalker.png", face:card.card_color_2)
+ other magic symbols jace consortium: script: spotlight_watermark_blend("/magic-watermarks.mse-include/jace-consortium.png", face:card.card_color_2)
other magic symbols phyrexia: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/phyrexia.png"))
- other magic symbols seekers of carmot: script: spotlight_watermark_blend("/magic-watermarks.mse-include/seekersofcarmot.png,266,266")
+ other magic symbols seekers of carmot: script: spotlight_watermark_blend("/magic-watermarks.mse-include/seekersofcarmot.png,266,266", face:card.card_color_2)
other magic symbols the thran: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/thran.png"))
+ other magic symbols foretell: script: spotlight_watermark_blend("/magic-watermarks.mse-include/foretell.png", h:380, face:card.card_color_2)
other magic symbols innistrad provinces stensia: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/stensia.png"))
other magic symbols innistrad provinces kessig: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/kessig.png"))
@@ -131,22 +132,23 @@ choice images:
alara symbols colored Jund: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_jund_colored.png")
alara symbols colored Naya: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_naya_colored.png")
- college symbols Silverquill: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_silverquill.png")
- college symbols Prismari: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_prismari.png")
- college symbols Witherbloom: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_witherbloom.png")
- college symbols Lorehold: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_lorehold.png")
- college symbols Quandrix: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_quandrix.png")
+ college symbols Silverquill: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_silverquill.png", face:card.card_color_2)
+ college symbols Prismari: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_prismari.png", face:card.card_color_2)
+ college symbols Witherbloom: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_witherbloom.png", face:card.card_color_2)
+ college symbols Lorehold: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_lorehold.png", face:card.card_color_2)
+ college symbols Quandrix: script: spotlight_watermark_blend("/magic-watermarks.mse-include/watermark_strix_quandrix.png", face:card.card_color_2)
- custom watermark one: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_1()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_1()))
- custom watermark two: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_2()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_2()))
- custom watermark three: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_3()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_3()))
- custom watermark four: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_4()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_4()))
- custom watermark five: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_5()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_5()))
- custom watermark six: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_6()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_6()))
- custom watermark seven: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_7()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_7()))
- custom watermark eight: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_8()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_8()))
- custom watermark nine: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_9()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_9()))
- custom watermark ten: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_10()) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_10()))
+ custom watermark one: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_1(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_1()))
+ custom watermark two: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_2(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_2()))
+ custom watermark three: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_3(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_3()))
+ custom watermark four: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_4(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_4()))
+ custom watermark five: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_5(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_5()))
+ custom watermark six: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_6(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_6()))
+ custom watermark seven: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_7(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_7()))
+ custom watermark eight: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_8(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_8()))
+ custom watermark nine: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_9(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_9()))
+ custom watermark ten: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_10(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_10()))
+ custom watermark card: script: if set.blend_with_colors then spotlight_watermark_blend(custom_watermark_b(), face:card.card_color_2) else set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_b()))
set symbol:
{ set_combine(combine:"shadow",
diff --git a/data/magic.mse-game/card_fields b/data/magic.mse-game/card_fields
index f68feb9b0..a243fca65 100644
--- a/data/magic.mse-game/card_fields
+++ b/data/magic.mse-game/card_fields
@@ -111,6 +111,7 @@ card field:
card list visible: false
identifying: true
show statistics: false
+ script: name_checker(value)
description: The name of the card
card field:
type: text
@@ -506,6 +507,13 @@ card field:
editable: true
save value: true
show statistics: false
+card field:
+ type: text
+ name: card code text 2
+ default: card.card_code_text
+ editable: true
+ save value: true
+ show statistics: false
############################# Copyright stuff
card field:
type: text
diff --git a/data/magic.mse-game/keywords b/data/magic.mse-game/keywords
index 80f657a8a..f94ec6252 100644
--- a/data/magic.mse-game/keywords
+++ b/data/magic.mse-game/keywords
@@ -176,17 +176,17 @@ keyword:
keyword: Flying
match: Flying
mode: core
- reminder: This creature can’t be blocked except by creatures with flying or reach.
+ reminder: {this_or_that("creature", upper:true)} can’t be blocked except by creatures with flying or reach.
keyword:
keyword: First strike
match: First strike
mode: core
- reminder: This creature deals combat damage before creatures without first strike.
+ reminder: {this_or_that("creature", upper:true)} deals combat damage before creatures without first strike.
keyword:
keyword: Trample
match: Trample
mode: core
- reminder: This creature can deal excess combat damage to the player or planeswalker it's attacking.
+ reminder: {this_or_that("creature", upper:true)} can deal excess combat damage to the player or planeswalker it's attacking.
keyword:
keyword: Banding
match: Banding
@@ -196,7 +196,7 @@ keyword:
keyword: Landwalk
match: prefixwalk
mode: old
- reminder: This creature can't be blocked as long as defending player controls a {if match(param1.value, match: " land$") or contains(param1.value, match: "Snow") or contains(param1.value, match:"Basic") or contains(param1.value, match:"Legendary") then "{to_lower(param1)}" else "{param1}"}.
+ reminder: {this_or_that("creature", upper:true)} can't be blocked as long as defending player controls a {if match(param1.value, match: " land$") or contains(param1.value, match: "Snow") or contains(param1.value, match:"Basic") or contains(param1.value, match:"Legendary") then "{to_lower(param1)}" else "{param1}"}.
keyword:
keyword: Protection from
match: Protection from name
@@ -206,7 +206,7 @@ keyword:
keyword: Regeneration
match: Regenerate
mode: action
- reminder: The next time {if has_pt() then "this creature" else "this"} would be destroyed this turn, it isn’t.{if has_pt() then " Instead tap it, remove all damage from it, and remove it from combat." else " Instead tap it."}
+ reminder: The next time {this_or_that("permanent")} would be destroyed this turn, it isn’t.{if has_pt() then " Instead tap it, remove all damage from it, and remove it from combat." else " Instead tap it."}
# Legends
keyword:
keyword: Bands with other
@@ -217,13 +217,13 @@ keyword:
keyword: Rampage
match: Rampage number
mode: old
- reminder: Whenever this creature becomes blocked, it gets +{param1}/+{param1} until end of turn for each creature blocking it beyond the first.
+ reminder: Whenever {this_or_that("creature")} becomes blocked, it gets +{param1}/+{param1} until end of turn for each creature blocking it beyond the first.
# Ice Age
keyword:
keyword: Cumulative upkeep
match: Cumulative upkeep cost
mode: old
- reminder: At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.
+ reminder: At the beginning of your upkeep, put an age counter on {this_or_that("permanent")}, then sacrifice it unless you pay its upkeep cost for each age counter on it.
# Mirage
keyword:
keyword: Phasing
@@ -234,13 +234,13 @@ keyword:
keyword: Flanking
match: Flanking
mode: expert
- reminder: Whenever a creature without flanking blocks this creature, the blocking creature gets -1/-1 until end of turn.
+ reminder: Whenever a creature without flanking blocks {this_or_that("creature")}, the blocking creature gets -1/-1 until end of turn.
# Tempest
keyword:
keyword: Shadow
match: Shadow
mode: expert
- reminder: This creature can block or be blocked by only creatures with shadow.
+ reminder: {this_or_that("creature", upper:true)} can block or be blocked by only creatures with shadow.
keyword:
keyword: Buyback
match: Buyback cost
@@ -251,7 +251,7 @@ keyword:
keyword: Denimwalk
match: Denimwalk
mode: old
- reminder: If defending player is wearing any clothing made of denim, this creature is unblockable.
+ reminder: If defending player is wearing any clothing made of denim, {this_or_that("creature")} is unblockable.
# Urza's Saga
keyword:
keyword: Echo
@@ -268,13 +268,13 @@ keyword:
keyword: Haste
match: Haste
mode: core
- reminder: This creature can attack and T as soon as it comes under your control.
+ reminder: {this_or_that("creature", upper:true)} can attack and T as soon as it comes under your control.
# Portal: Three Kingdoms
keyword:
keyword: Horsemanship
match: Horsemanship
mode: old
- reminder: This creature can’t be blocked except by creatures with horsemanship.
+ reminder: {this_or_that("creature", upper:true)} can’t be blocked except by creatures with horsemanship.
# Nemesis
keyword:
keyword: Fading
@@ -314,18 +314,18 @@ keyword:
keyword: Fear
match: Fear
mode: old
- reminder: This creature can’t be blocked except by artifact creatures and/or black creatures.
+ reminder: {this_or_that("creature", upper:true)} can’t be blocked except by artifact creatures and/or black creatures.
# Legions
keyword:
keyword: Amplify
match: Amplify number
mode: expert
- reminder: As this creature enters the battlefield, put {english_number_a(param1)} +1/+1 counter(s) on it for each {separate_words(spacer: " and/or ", card.sub_type)} card you reveal in your hand.
+ reminder: As {this_or_that("creature")} enters the battlefield, put {english_number_a(param1)} +1/+1 counter(s) on it for each {separate_words(spacer: " and/or ", card.sub_type)} card you reveal in your hand.
keyword:
keyword: Double strike
match: Double strike
mode: core
- reminder: This creature deals both first-strike and regular combat damage.
+ reminder: {this_or_that("creature", upper:true)} deals both first-strike and regular combat damage.
keyword:
keyword: Provoke
match: Provoke
@@ -399,12 +399,12 @@ keyword:
keyword: Bushido
match: Bushido number
mode: expert
- reminder: Whenever this creature blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn.
+ reminder: Whenever {this_or_that("creature")} blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn.
keyword:
keyword: Soulshift
match: Soulshift number
mode: expert
- reminder: When this creature dies, you may return target Spirit card with mana value {param1} or less from your graveyard to your hand.
+ reminder: When {this_or_that("creature")} dies, you may return target Spirit card with mana value {param1} or less from your graveyard to your hand.
keyword:
keyword: Enchant
match: Enchant name
@@ -414,12 +414,12 @@ keyword:
keyword: Vigilance
match: Vigilance
mode: core
- reminder: Attacking doesn’t cause this creature to tap.
+ reminder: Attacking doesn’t cause {this_or_that("creature")} to tap.
keyword:
keyword: Defender
match: Defender
mode: core
- reminder: This creature can’t attack.
+ reminder: {this_or_that("creature", upper:true)} can’t attack.
# Unhinged
keyword:
keyword: Art rampage
@@ -505,7 +505,7 @@ keyword:
keyword: Graft
match: Graft number
mode: expert
- reminder: {if has_pt() then "This creature" else "This permanent"} enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever {if has_pt() then "another" else "a"} creature enters the battlefield, you may move a +1/+1 counter from {if has_pt() then "this creature" else "this permanent"} onto it.
+ reminder: {this_or_that("permanent", upper:true)} enters the battlefield with {english_number_a(param1)} +1/+1 counter(s) on it. Whenever {if has_pt() then "another" else "a"} creature enters the battlefield, you may move a +1/+1 counter from {this_or_that("permanent")} onto it.
keyword:
keyword: Forecast
match: Forecast — action, Reveal name from your hand: action
@@ -548,7 +548,7 @@ keyword:
keyword: Vanishing
match: Vanishing number
mode: expert
- reminder: This permanent enters the battlefield with {english_number_a(param1)} time counter(s) on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.
+ reminder: {this_or_that("permanent", upper:true)} enters the battlefield with {english_number_a(param1)} time counter(s) on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.
# Future Sight
keyword:
keyword: Deathtouch
@@ -559,7 +559,7 @@ keyword:
keyword: Reach
match: Reach
mode: core
- reminder: This creature can block creatures with flying.
+ reminder: {this_or_that("creature", upper:true)} can block creatures with flying.
keyword:
keyword: Gravestorm
match: Gravestorm
@@ -574,7 +574,7 @@ keyword:
keyword: Absorb
match: Absorb number
mode: expert
- reminder: If a source would deal damage to this creature, prevent {param1} of that damage.
+ reminder: If a source would deal damage to {this_or_that("creature")}, prevent {param1} of that damage.
keyword:
keyword: Fateseal
match: Fateseal number
@@ -588,7 +588,7 @@ keyword:
keyword: Transfigure
match: Transfigure cost
mode: expert
- reminder: {param1}, Sacrifice this creature: Search your library for a creature card with the same mana value as this creature and put that card onto the battlefield, then shuffle. Transfigure only as a sorcery.
+ reminder: {param1}, Sacrifice {this_or_that("permanent")}: Search your library for a creature card with the same mana value as {this_or_that("permanent")} and put that card onto the battlefield, then shuffle. Transfigure only as a sorcery.
keyword:
keyword: Aura swap
match: Aura swap cost
@@ -598,7 +598,7 @@ keyword:
keyword: Frenzy
match: Frenzy number
mode: expert
- reminder: Whenever this creature attacks and isn’t blocked, it gets +{param1}/+0 until end of turn.
+ reminder: Whenever {this_or_that("creature")} attacks and isn’t blocked, it gets +{param1}/+0 until end of turn.
keyword:
keyword: Delve
match: Delve
@@ -608,12 +608,12 @@ keyword:
keyword: Poisonous
match: Poisonous number
mode: expert
- reminder: Whenever this creature deals combat damage to a player, that player gets {english_number_a(param1)} poison counter(s). A player with ten or more poison counters loses the game.
+ reminder: Whenever {this_or_that("creature")} deals combat damage to a player, that player gets {english_number_a(param1)} poison counter(s). A player with ten or more poison counters loses the game.
keyword:
keyword: Shroud
match: Shroud
mode: core
- reminder: This permanent can’t be the target of spells or abilities.
+ reminder: {this_or_that("permanent", upper:true)} can’t be the target of spells or abilities.
keyword:
keyword: Fortify
match: Fortify cost
@@ -671,7 +671,7 @@ keyword:
keyword: Persist
match: Persist
mode: expert
- reminder: When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it.
+ reminder: When {this_or_that("creature")} dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner’s control with a -1/-1 counter on it.
keyword:
keyword: Wither
match: Wither
@@ -703,7 +703,7 @@ keyword:
keyword: Devour
match: Devour number
mode: expert
- reminder: As this enters the battlefield, you may sacrifice any number of creatures. This creature enters the battlefield with { if param1.value == "1" then "" else if param1.value == "2" then "twice " else english_number(param1) + " times " }that many +1/+1 counters on it.
+ reminder: As this enters the battlefield, you may sacrifice any number of creatures. {this_or_that("creature", upper:true)} enters the battlefield with { if param1.value == "1" then "" else if param1.value == "2" then "twice " else english_number(param1) + " times " }that many +1/+1 counters on it.
keyword:
keyword: Exalted
match: Exalted
@@ -731,7 +731,7 @@ keyword:
keyword: Intimidate
match: Intimidate
mode: old
- reminder: This creature can’t be blocked except by artifact creatures and/or creatures that share a color with it.
+ reminder: {this_or_that("creature", upper:true)} can’t be blocked except by artifact creatures and/or creatures that share a color with it.
# Zendikar
keyword:
keyword: Landfall
@@ -749,7 +749,7 @@ keyword:
keyword: Annihilator
match: Annihilator number
mode: expert
- reminder: Whenever this creature attacks, defending player sacrifices {english_number_a(param1)} permanent(s).
+ reminder: Whenever {this_or_that("creature")} attacks, defending player sacrifices {english_number_a(param1)} permanent(s).
keyword:
keyword: Rebound
match: Rebound
@@ -770,7 +770,7 @@ keyword:
keyword: Infect
match: Infect
mode: expert
- reminder: This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.
+ reminder: {this_or_that("creature", upper:true)} deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.
keyword:
keyword: Proliferate
match: Proliferate
@@ -786,7 +786,7 @@ keyword:
keyword: Battle cry
match: Battle cry
mode: expert
- reminder: Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn.
+ reminder: Whenever {this_or_that("creature")} attacks, each other attacking creature gets +1/+0 until end of turn.
keyword:
keyword: Living weapon
match: Living weapon
@@ -825,7 +825,7 @@ keyword:
keyword: Undying
match: Undying
mode: expert
- reminder: When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.
+ reminder: When {this_or_that("creature")} dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.
keyword:
keyword: Fateful hour
match: Fateful hour
@@ -841,7 +841,7 @@ keyword:
keyword: Soulbond
match: Soulbond
mode: expert
- reminder: You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.
+ reminder: You may pair {this_or_that("creature")} with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.
# Return to Ravnica
keyword:
keyword: Detain
@@ -857,7 +857,7 @@ keyword:
keyword: Unleash
match: Unleash
mode: expert
- reminder: You may have this creature enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it.
+ reminder: You may have {this_or_that("creature")} enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it.
keyword:
keyword: Scavenge
match: Scavenge cost
@@ -893,7 +893,7 @@ keyword:
keyword: Evolve
match: Evolve
mode: expert
- reminder: Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature.
+ reminder: Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than {this_or_that("creature")}, put a +1/+1 counter on {this_or_that("creature")}.
# Dragon's Maze
keyword:
keyword: Fuse
@@ -916,7 +916,7 @@ keyword:
keyword: Monstrosity
match: Monstrosity number
mode: action
- reminder: If this creature isn’t monstrous, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes monstrous.
+ reminder: If {this_or_that("creature")} isn’t monstrous, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes monstrous.
keyword:
keyword: Heroic
match: Heroic
@@ -943,7 +943,7 @@ keyword:
keyword: Tribute
match: Tribute number
mode: expert
- reminder: As this creature enters the battlefield, an opponent of your choice may put {english_number_a(param1)} +1/+1 counter(s) on it.
+ reminder: As {this_or_that("creature")} enters the battlefield, an opponent of your choice may put {english_number_a(param1)} +1/+1 counter(s) on it.
keyword:
keyword: Inspired
match: Inspired
@@ -970,7 +970,7 @@ keyword:
keyword: Dethrone
match: Dethrone
mode: expert
- reminder: Whenever this creature attacks the player with the most life or tied for most life, put a +1/+1 counter on it.
+ reminder: Whenever {this_or_that("creature")} attacks the player with the most life or tied for most life, put a +1/+1 counter on it.
keyword:
keyword: Will of the council
match: Will of the council
@@ -986,12 +986,12 @@ keyword:
keyword: Outlast
match: Outlast cost
mode: expert
- reminder: {param1}, T: Put a +1/+1 counter on this creature. Outlast only as a sorcery.
+ reminder: {param1}, T: Put a +1/+1 counter on {this_or_that("creature")}. Outlast only as a sorcery.
keyword:
keyword: Prowess
match: Prowess
mode: core
- reminder: Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.
+ reminder: Whenever you cast a noncreature spell, {this_or_that("creature")} gets +1/+1 until end of turn.
keyword:
keyword: Raid
match: Raid
@@ -1029,7 +1029,7 @@ keyword:
keyword: Exploit
match: Exploit
mode: expert
- reminder: When this creature enters the battlefield, you may sacrifice a creature.
+ reminder: When {this_or_that("creature")} enters the battlefield, you may sacrifice a creature.
keyword:
keyword: Formidable
match: Formidable
@@ -1045,12 +1045,12 @@ keyword:
keyword: Menace
match: Menace
mode: core
- reminder: This creature can't be blocked except by two or more creatures.
+ reminder: {this_or_that("creature", upper:true)} can't be blocked except by two or more creatures.
keyword:
keyword: Renown
match: Renown number
mode: expert
- reminder: When this creature deals combat damage to a player, if it isn't renowned, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes renowned.
+ reminder: When {this_or_that("creature")} deals combat damage to a player, if it isn't renowned, put {english_number_a(param1)} +1/+1 counter(s) on it and it becomes renowned.
keyword:
keyword: Spell mastery
match: Spell mastery
@@ -1071,7 +1071,7 @@ keyword:
keyword: Ingest
match: Ingest
mode: expert
- reminder: Whenever this creature deals combat damage to a player, that player exiles the top card of their library.
+ reminder: Whenever {this_or_that("creature")} deals combat damage to a player, that player exiles the top card of their library.
keyword:
keyword: Rally
match: Rally
@@ -1087,7 +1087,7 @@ keyword:
keyword: Myriad
match: Myriad
mode: expert
- reminder: Whenever this creature attacks, for each opponent other than defending player, you may create a token that's a copy of this creature that's tapped and attacking that player or a planeswalker they control. If one or more tokens are created this way, exile the tokens at end of combat.
+ reminder: Whenever {this_or_that("creature")} attacks, for each opponent other than defending player, you may create a token that's a copy of {this_or_that("creature")} that's tapped and attacking that player or a planeswalker they control. If one or more tokens are created this way, exile the tokens at end of combat.
# Oath of the Gatewatch
keyword:
keyword: Surge
@@ -1109,7 +1109,7 @@ keyword:
keyword: Skulk
match: Skulk
mode: expert
- reminder: This creature can't be blocked by creatures with greater power.
+ reminder: {this_or_that("creature", upper:true)} can't be blocked by creatures with greater power.
keyword:
keyword: Delirium
match: Delirium
@@ -1141,7 +1141,7 @@ keyword:
keyword: Melee
match: Melee
mode: expert
- reminder: Whenever this creature attacks, it gets +1/+1 until end of turn for each opponent you attacked with a creature this combat.
+ reminder: Whenever {this_or_that("creature")} attacks, it gets +1/+1 until end of turn for each opponent you attacked with a creature this combat.
keyword:
keyword: Monarch
match: become the monarch
@@ -1162,7 +1162,7 @@ keyword:
keyword: Fabricate
match: Fabricate number
mode: expert
- reminder: When this permanent enters the battlefield, you may put {english_number_a(param1)} +1/+1 counter(s) on it. If you don't, create {english_number_a(param1)} 1/1 colorless Servo artifact creature token(s).
+ reminder: When {this_or_that("permanent")} enters the battlefield, you may put {english_number_a(param1)} +1/+1 counter(s) on it. If you don't, create {english_number_a(param1)} 1/1 colorless Servo artifact creature token(s).
# Commander 2016
keyword:
keyword: Partner with
@@ -1211,7 +1211,7 @@ keyword:
keyword: Afflict
match: Afflict number
mode: expert
- reminder: Whenever this creature becomes blocked, defending player loses {param1} life.
+ reminder: Whenever {this_or_that("creature")} becomes blocked, defending player loses {param1} life.
keyword:
keyword: Eternalize
match: Eternalize cost
@@ -1233,7 +1233,7 @@ keyword:
keyword: Explore
match: explores
mode: action
- reminder: Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.
+ reminder: Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on {this_or_that("creature")}, then put the card back or put it into your graveyard.
#Unstable
keyword:
keyword: Assemble a Contraption
@@ -1256,7 +1256,7 @@ keyword:
keyword: Art menace
match: Art menace
mode: expert
- reminder: This creature can't be blocked except by creatures with two or more visible figures in their art.
+ reminder: {this_or_that("creature", upper:true)} can't be blocked except by creatures with two or more visible figures in their art.
keyword:
keyword: Augment
match: Augment cost
@@ -1266,7 +1266,7 @@ keyword:
keyword: Blurry
match: Blurry
mode: expert
- reminder: This creature can be blocked only if defending player was wearing glasses as it was cast.
+ reminder: {this_or_that("creature", upper:true)} can be blocked only if defending player was wearing glasses as it was cast.
keyword:
keyword: Just a second
match: Just a second
@@ -1277,17 +1277,17 @@ keyword:
keyword: Last strike
match: Last strike
mode: expert
- reminder: This creature deals combat damage after creatures without last strike.
+ reminder: {this_or_that("creature", upper:true)} deals combat damage after creatures without last strike.
keyword:
keyword: Squirrellink
match: Squirrellink
mode: expert
- reminder: Damage dealt by this creature also causes you to create that many 1/1 green Squirrel creature tokens.
+ reminder: Damage dealt by {this_or_that("creature")} also causes you to create that many 1/1 green Squirrel creature tokens.
keyword:
keyword: Triple strike
match: Triple strike
mode: expert
- reminder: This creature deals first-strike, regular, and last-strike combat damage.
+ reminder: {this_or_that("creature", upper:true)} deals first-strike, regular, and last-strike combat damage.
keyword:
keyword: Undeathtouch
match: Undeathtouch
@@ -1332,7 +1332,7 @@ keyword:
keyword: Mentor
match: Mentor
mode: expert
- reminder: Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power.
+ reminder: Whenever {this_or_that("creature")} attacks, put a +1/+1 counter on target attacking creature with lesser power.
keyword:
keyword: Surveil
match: Surveil number
@@ -1352,7 +1352,7 @@ keyword:
keyword: Adapt
match: Adapt number
mode: action
- reminder: If this creature has no +1/+1 counters on it, put {english_number_a(param1)} +1/+1 counter(s) on it.
+ reminder: If {this_or_that("creature")} has no +1/+1 counters on it, put {english_number_a(param1)} +1/+1 counter(s) on it.
keyword:
keyword: Addendum
match: Addendum
@@ -1362,12 +1362,12 @@ keyword:
keyword: Afterlife
match: Afterlife number
mode: expert
- reminder: Whenever this creature dies, create {english_number_a(param1)} 1/1 white and black Spirit creature token(s) with flying.
+ reminder: Whenever {this_or_that("creature")} dies, create {english_number_a(param1)} 1/1 white and black Spirit creature token(s) with flying.
keyword:
keyword: Riot
match: Riot
mode: expert
- reminder: This creature enters the battlefield with your choice of a +1/+1 counter or haste.
+ reminder: {this_or_that("creature", upper:true)} enters the battlefield with your choice of a +1/+1 counter or haste.
keyword:
keyword: Spectacle
match: Spectacle cost
@@ -1445,7 +1445,7 @@ keyword:
keyword: Boast
match: Boast
mode: expert
- reminder: Activate this ability only if this creature attacked this turn and only once each turn.
+ reminder: Activate this ability only if {this_or_that("creature")} attacked this turn and only once each turn.
keyword:
keyword: Foretell
match: Foretell cost
@@ -1461,7 +1461,7 @@ keyword:
keyword: Ward
match: Ward cost
mode: expert
- reminder: Whenever this permanent becomes the target of a spell or ability an opponent controls, counter it unless that player {for_mana_costs(add:"pays ", non:"", param1, action:true)}.
+ reminder: Whenever {this_or_that("permanent")} becomes the target of a spell or ability an opponent controls, counter it unless that player {for_mana_costs(add:"pays ", non:"", param1, action:true)}.
keyword:
keyword: Magecraft
match: Magecraft
@@ -1472,12 +1472,12 @@ keyword:
keyword: Devour type
match: Devour one_word number
mode: expert
- reminder: As this enters the battlefield, you may sacrifice any number of {english_plural(param1.value)}. This creature enters the battlefield with { if param2.value == "1" then "" else if param2.value == "2" then "twice " else english_number(param2) + " times " }that many +1/+1 counters on it.
+ reminder: As this enters the battlefield, you may sacrifice any number of {english_plural(param1.value)}. {this_or_that("creature", upper:true)} enters the battlefield with { if param2.value == "1" then "" else if param2.value == "2" then "twice " else english_number(param2) + " times " }that many +1/+1 counters on it.
keyword:
keyword: Trample over
match: Trample over name
mode: expert
- reminder: This creature can deal excess combat damage to the controller of {if param1.value == "planeswalkers" then "the planeswalker it's attacking" else param1.value + " blocking it"}.
+ reminder: {this_or_that("creature", upper:true)} can deal excess combat damage to the controller of {if param1.value == "planeswalkers" then "the planeswalker it's attacking" else param1.value + " blocking it"}.
# Adventures in the Forgotten Realms
keyword:
keyword: Venture into
@@ -1489,3 +1489,29 @@ keyword:
match: Pack tactics
mode: pseudo
rules: Pack tactics — Whenever CARDNAME attacks, if you attacked with creatures with total power 6 or greater this combat, [effect].
+# Midnight Hunt
+keyword:
+ keyword: Daybound
+ match: Daybound
+ mode: expert
+ reminder: If a player casts no spells during their own turn, it becomes night next turn.
+keyword:
+ keyword: Nightbound
+ match: Nightbound
+ mode: expert
+ reminder: If a player casts at least two spells during their own turn, it becomes day next turn.
+keyword:
+ keyword: Disturb
+ match: Disturb cost
+ mode: expert
+ reminder: You may cast this card from your graveyard transformed for its disturb cost.
+keyword:
+ keyword: Decayed
+ match: Decayed
+ mode: expert
+ reminder: {if contains(card.type, match:"Token") then "This creature" else "It"} can't block. When it attacks, sacrifice it at end of combat.
+keyword:
+ keyword: Coven
+ match: Coven
+ mode: pseudo
+ rules: Coven — if you control three or more creatures with different powers, [effect].
\ No newline at end of file
diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script
index 94351c2d3..a5fc588ed 100644
--- a/data/magic.mse-game/script
+++ b/data/magic.mse-game/script
@@ -604,8 +604,8 @@ mana_context :=
| [ ]can[ ]be[ ]paid
| (pays?|additional|costs?|the|adds?|pay(ed)?[ ](with|using)) # pay X. creatures cost 1 less. pay an additional G.
([ ]either)? # pay either X or Y
- ([ ](]*>)?[VLHSCETQ\\?XYZIEWUBRG0-9/|]+(]*>)?,)* # pay X, Y or Z
- ([ ](]*>)?[VLHSCETQ\\?XYZIEWUBRG0-9/|]+(]*>)?[ ](and|or|and/or))* # pay X or Y
+ ([ ](]*>)?[-+=]?[VLHSCETQ\\?XYZIEWUBRG0-9/|]+(]*>)?,)* # pay X, Y or Z
+ ([ ](]*>)?[-+=]?[VLHSCETQ\\?XYZIEWUBRG0-9/|]+(]*>)?[ ](and|or|and/or))* # pay X or Y
[ ]
([,.)\"”]|$ # (end of word)
|[ ][^ .,]*$ # still typing...
@@ -634,6 +634,21 @@ additional_text_words := match@(match:
equip_filter :=
replace@(match:"This creature", replace:"It")
+replace@(match:"this creature", replace:"it")
+this_or_that := {
+ this := "this"
+ that := "that"
+ type := input
+ if is_creaturish(card.type) then type := "creature"
+ if upper then (
+ this := "This"
+ that := "That"
+ )
+ if(type == "land" and not is_land(card.type)) then type := "permanent"
+ this_that := this
+ if ((input == "creature" and not is_creaturish(card.type)) or is_spell(card.type))
+ then this_that := that
+ this_that + " " + type
+}@(upper:false)
softline_ripper :=
replace@(match:"?soft-line>", replace:"")
auto_correct :=
@@ -707,10 +722,15 @@ text_filter :=
},
combine: {
keyword := "{keyword}"
- reminder := process_english_hints(if is_creaturish(card.type) then reminder else equip_filter(reminder))
+ reminder := process_english_hints(reminder)
if mode == "pseudo" then "{keyword}"
else keyword + if expand then " ({reminder})" else ""
}) +
+ # step 2ba : apply face_code
+ replace@(
+ match: "face_(.*?)_end",
+ replace: {face_code(_1)}
+ )+
# step 2b : move action keywords' reminder text to the end of the line
replace@(
match: "(]+> (?:(?!]+>]*>)([^\n]*)", #######removed "| ?",
- contents: { "" + (if card_name=="" then "CARDNAME" else card_name) + "" }
+ contents: { "" + (if card_name=="" then "CARDNAME" else strip_card_codes(card_name)) + "" }
) +
tag_contents@(
tag: "",
- contents: { "" + (if card_name=="" then "LEGENDNAME" else legend_filter(card_name)) + "" }
+ contents: { "" + (if card_name=="" then "LEGENDNAME" else legend_filter(strip_card_codes(card_name))) + "" }
) +
replace@(
match: "INS([1-9])",
@@ -786,9 +806,13 @@ text_filter :=
} +
# step 4 : explict non mana symbols
replace@(
- match: "\\][VLHSCETQ\\?XYZIWUBRG0-9/|]+\\[",
+ match: "\\][-+=]?[VLHSCETQ\\?XYZIWUBRG0-9/|]+\\[",
replace: {"" + mana_filter_t() + ""} ) +
# step 5 : add mana & tap symbols
+ replace@(
+ match: "([+=-][XYZ0-9/|]+)",
+ in_context: mana_context,
+ replace: {"" + _1 + ""} ) +
replace@(
match: "\\b[VLHSCETQ\\?XYZIWUBRG0-9/|]+\\b",
in_context: mana_context,
@@ -800,7 +824,7 @@ text_filter :=
replace: "\\1" ) +
# step 5c : add explicit mana symbols
replace@(
- match: "\\[[VLHSCETQE\\?XYZIWUBRG0-9/|]+\\]",
+ match: "\\[[-+=]?[VLHSCETQE\\?XYZIWUBRG0-9/|]+\\]",
replace: {"" + mana_filter_t() + ""} ) +
# step 6 : curly quotes
{if set.curly_quotes then curly_quotes(input) else input} +
@@ -1008,6 +1032,7 @@ cmc := {to_number(
else 1 # all other symbols are 1
))
}
+mana_value := cmc
write_wubrg := {
(if match(input, match:"white") then "W" else "")+
(if match(input, match:"blue") then "U" else "")+
@@ -1207,7 +1232,8 @@ custom_watermark_7 := { if set.custom_watermark_7 != "" then "/magic-watermarks.
custom_watermark_8 := { if set.custom_watermark_8 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_8 else "/magic-watermarks.mse-include/planeswalker.png" }
custom_watermark_9 := { if set.custom_watermark_9 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_9 else "/magic-watermarks.mse-include/planeswalker.png" }
custom_watermark_10 := { if set.custom_watermark_10 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_10 else "/magic-watermarks.mse-include/planeswalker.png" }
-
+custom_watermark_a := {"/magic-watermarks.mse-include/planeswalker.png"}
+custom_watermark_b := {"/magic-watermarks.mse-include/planeswalker.png"}
############################################################## Flavor Bar Equation
@@ -1732,3 +1758,48 @@ card_face := {
back := if card[input+"_2"] or else "" != "" then card[input+"_2"] else card[input]
if match(margin_code, match:"(text[2456]|lv[5678])") then back else front
}
+strip_card_codes := replace@(match:"^[CURMSL][WUBRGMZACL][0-9]+ ?[-—]? ?", replace:"")
+name_checker := {if not set.remove_card_codes then input else strip_card_codes(input)}
+
+face_code := {
+ face := ""
+ if margin_code == "text2" or margin_code == "lv5" or margin_code == "lv6" or margin_code == "lv7" or margin_code == "lv8" then face := "_2"
+ output := face_scripts[input](face) or else if_parse(input, face:face) or else input
+ output
+}
+face_scripts := [
+ iscreature: {is_creature(card["type"+face])},
+ iscreaturish: {is_creaturish(card["type"+face])},
+ isenchantment: {is_enchantment(card["type"+face])},
+ isartifact: {is_artifact(card["type"+face])},
+ island: {is_land(card["type"+face])},
+ isspell: {is_spell(card["type"+face])},
+ istarget: {is_targeted(card["text"+face])},
+ subtypes: {separate_words(card["sub_type"+face], spacer: " ")}
+ contains: {
+ contains(card[field+face], match:query)
+ },
+ notcontains: {not contains(card[field+face], match:query)},
+]
+expand_facecodes := [
+ subtype: "sub_type",
+ castingcost: "casting_cost",
+ manacost: "casting_cost"
+]
+if_parse := replace@(
+ match: "if_(.*)_then_(.*)_else_(.*)",
+ replace: {if_scripts(_1, t:_2, f:_3)}
+)
+if_scripts := {
+ contCheck := split_text(input, match:"_")
+ func := contCheck[0]
+ field := ""
+ query := "^$"
+ if length(contCheck) == 3 then (
+ field := contCheck[0]
+ func := contCheck[1]
+ query := contCheck[2]
+ )
+ field := expand_facecodes[field] or else field
+ if face_scripts[func](face, field:field, query:query) or else false then t else f
+}
\ No newline at end of file
diff --git a/data/magic.mse-game/set_fields b/data/magic.mse-game/set_fields
index 541419258..3d4474166 100644
--- a/data/magic.mse-game/set_fields
+++ b/data/magic.mse-game/set_fields
@@ -188,8 +188,9 @@ set field:
description: Language for the cards
choice: English
choice: Français
- choice: Russian
choice: Italiano
+ choice: Português do Brasil
+ choice: Russian
initial: English
set field:
type: boolean
@@ -204,6 +205,11 @@ set field:
name: auto errata
description: Applies auto errata for a changed rules text.
initial: no
+set field:
+ type: boolean
+ name: remove card codes
+ description: Remove card codes from all card names.
+ initial: no
set field:
type: boolean
name: alias as cardname
@@ -396,6 +402,7 @@ default set style:
choice images:
English: /magic.mse-game/icons/language-en.png
Français: /magic.mse-game/icons/language-fr.png
+ Português_do_Brasil: /magic.mse-game/icons/language-br.png
mana symbol options:
render style: checklist
direction: vertical
diff --git a/data/magic.mse-game/word_lists b/data/magic.mse-game/word_lists
index 41b34ccc3..70fdd34f6 100644
--- a/data/magic.mse-game/word_lists
+++ b/data/magic.mse-game/word_lists
@@ -481,7 +481,6 @@ word list:
word: Angrath
word: Arlinn
word: Ashiok
- word: Bahamut
word: Bolas
word: Calix
word: Chandra
@@ -543,7 +542,6 @@ word list:
word: Zariel
word:
name: Last Seen on Faerun
- word: Bahamut
word: Ellywick
word: Lolth
word: Mordenkainen
diff --git a/data/magic.mse-game/word_lists_it.txt b/data/magic.mse-game/word_lists_it.txt
new file mode 100644
index 000000000..43f1971fd
--- /dev/null
+++ b/data/magic.mse-game/word_lists_it.txt
@@ -0,0 +1,687 @@
+
+############################################################## Magic word lists
+
+word list:
+ name: type
+ word:
+ name: Basic
+ is prefix: true
+ word:
+ name: Legendary
+ is prefix: true
+ word:
+ name: Snow
+ is prefix: true
+ word:
+ name: Token
+ is prefix: true
+ word:
+ name: Tribal
+ is prefix: true
+ word:
+ name: World
+ is prefix: true
+ line below: true
+ word: Conspiracy
+ word: Creature
+ word: Artifact
+ word: Artifact Creature
+ word: Enchantment
+ word: Enchantment Creature
+ word: Instant
+ word: Sorcery
+ word: Land
+ word: Planeswalker
+ word: Emblem
+ word: Phenomenon
+ word: Plane
+
+word list:
+ name: race
+ word:
+ script: all_races()
+ line below: true
+ word: Angel
+ word: Beast
+ word: Construct
+ word: Demon
+ word: Dragon
+ word: Elf
+ word: Faerie
+ word: Giant
+ word: Goblin
+ word: Golem
+ word: Human
+ word: Merfolk
+ word: Zombie
+ word:
+ name: All Races
+ word:
+ name: A
+ word: Aetherborn
+ word: Angel
+ word: Antelope
+ word: Ape
+ word: Archon
+ word: Assembly-Worker
+ word: Atog
+ word: Aurochs
+ word: Avatar
+ word: Azra
+ word:
+ name: B
+ word: Badger
+ word: Basilisk
+ word: Bat
+ word: Bear
+ word: Beast
+ word: Beeble
+ word: Bird
+ word: Blinkmoth
+ word: Boar
+ word: Bringer
+ word: Brushwagg
+ word:
+ name: C
+ word: Camarid
+ word: Camel
+ word: Caribou
+ word: Carrier
+ word: Cat
+ word: Centaur
+ word: Cephalid
+ word: Chimera
+ word: Cockatrice
+ word: Construct
+ word: Crab
+ word: Crocodile
+ word: Cyclops
+ word:
+ name: D
+ word: Dauthi
+ word: Demigod
+ word: Demon
+ word: Devil
+ word: Dinosaur
+ word: Djinn
+ word: Dragon
+ word: Drake
+ word: Dreadnought
+ word: Drone
+ word: Dryad
+ word: Dwarf
+ word:
+ name: E
+ word: Egg
+ word: Efreet
+ word: Eldrazi
+ word: Elemental
+ word: Elephant
+ word: Elf
+ word: Elk
+ word: Eye
+ word:
+ name: F
+ word: Faerie
+ word: Ferret
+ word: Fish
+ word: Fox
+ word: Frog
+ word: Fungus
+ word:
+ name: G
+ word: Gargoyle
+ word: Germ
+ word: Giant
+ word: Gnome
+ word: Goat
+ word: Goblin
+ word: God
+ word: Golem
+ word: Gorgon
+ word: Graveborn
+ word: Gremlin
+ word: Griffin
+ word:
+ name: H
+ word: Hag
+ word: Harpy
+ word: Hellion
+ word: Hippo
+ word: Hippogriff
+ word: Homarid
+ word: Homunculus
+ word: Horror
+ word: Horse
+ word: Hound
+ word: Human
+ word: Hydra
+ word: Hyena
+ word:
+ name: I
+ word: Illusion
+ word: Imp
+ word: Incarnation
+ word: Insect
+ word:
+ name: J
+ word: Jackal
+ word: Jellyfish
+ word: Juggernaut
+ word:
+ name: K
+ word: Kavu
+ word: Kirin
+ word: Kithkin
+ word: Kobold
+ word: Kor
+ word: Kraken
+ word:
+ name: L
+ word: Lamia
+ word: Lammasu
+ word: Leech
+ word: Leviathan
+ word: Lhurgoyf
+ word: Licid
+ word: Lizard
+ word:
+ name: M
+ word: Manticore
+ word: Masticore
+ word: Merfolk
+ word: Metathran
+ word: Minotaur
+ word: Mole
+ word: Mongoose
+ word: Monkey
+ word: Moonfolk
+ word: Mouse
+ word: Mutant
+ word: Myr
+ word:
+ name: N
+ word: Naga
+ word: Nautilus
+ word: Nephilim
+ word: Nightmare
+ word: Nightstalker
+ word: Noggle
+ word: Nymph
+ word:
+ name: O
+ word: Octopus
+ word: Ogre
+ word: Ooze
+ word: Orb
+ word: Orc
+ word: Orgg
+ word: Otter
+ word: Ouphe
+ word: Ox
+ word: Oyster
+ word:
+ name: P
+ word: Pangolin
+ word: Pegasus
+ word: Pentavite
+ word: Pest
+ word: Phelddagrif
+ word: Phoenix
+ word: Pincher
+ word: Plant
+ word: Praetor
+ word: Prism
+ word:
+ name: R
+ word: Rabbit
+ word: Rat
+ word: Reflection
+ word: Rhino
+ word:
+ name: S
+ word:
+ name: Sa-Sl
+ word: Sable
+ word: Salamander
+ word: Sand
+ word: Saproling
+ word: Satyr
+ word: Scarecrow
+ word: Scorpion
+ word: Sculpture
+ word: Serpent
+ word: Servo
+ word: Shade
+ word: Shapeshifter
+ word: Shark
+ word: Sheep
+ word: Siren
+ word: Skeleton
+ word: Slith
+ word: Sliver
+ word: Slug
+ word:
+ name: Sn-Sz
+ word: Snake
+ word: Soltari
+ word: Spawn
+ word: Specter
+ word: Sphinx
+ word: Spider
+ word: Spike
+ word: Spirit
+ word: Splinter
+ word: Sponge
+ word: Squid
+ word: Squirrel
+ word: Starfish
+ word: Surrakar
+ word:
+ name: T
+ word: Tentacle
+ word: Tetravite
+ word: Thalakos
+ word: Thopter
+ word: Thrull
+ word: Treefolk
+ word: Trilobite
+ word: Triskelavite
+ word: Troll
+ word: Turtle
+ word:
+ name: U
+ word: Unicorn
+ word:
+ name: V
+ word: Vampire
+ word: Vedalken
+ word: Viashino
+ word: Volver
+ word:
+ name: W
+ word: Wall
+ word: Weird
+ word: Werewolf
+ word: Whale
+ word: Wolf
+ word: Wolverine
+ word: Wombat
+ word: Worm
+ word: Wraith
+ word: Wurm
+ word:
+ name: Y
+ word: Yeti
+ word:
+ name: Z
+ word: Zombie
+ word: Zubera
+
+word list:
+ name: class
+ word:
+ script: all_classes()
+ line below: true
+ word: Beast
+ word: Cleric
+ word: Druid
+ word: Knight
+ word: Rogue
+ word: Shaman
+ word: Soldier
+ word: Warrior
+ word: Wizard
+ word: Zombie
+ word:
+ name: All Classes
+ word:
+ name: A-C
+ word: Advisor
+ word: Ally
+ word: Archer
+ word: Archon
+ word: Army
+ word: Artificer
+ word: Assassin
+ word: Barbarian
+ word: Beast
+ word: Berserker
+ word: Bringer
+ word: Carrier
+ word: Citizen
+ word: Cleric
+ word: Coward
+ word:
+ name: D-I
+ word: Deserter
+ word: Dreadnought
+ word: Drone
+ word: Druid
+ word: Egg
+ word: Elder
+ word: Flagbearer
+ word: Horror
+ word: Incarnation
+ word:
+ name: J-P
+ word: Juggernaut
+ word: Knight
+ word: Leviathan
+ word: Mercenary
+ word: Minion
+ word: Monger
+ word: Monk
+ word: Mutant
+ word: Mystic
+ word: Ninja
+ word: Noble
+ word: Nomad
+ word: Peasant
+ word: Pilot
+ word: Pirate
+ word: Processor
+ word:
+ name: R-S
+ word: Rebel
+ word: Reflection
+ word: Rigger
+ word: Rogue
+ word: Samurai
+ word: Scion
+ word: Scout
+ word: Serf
+ word: Shaman
+ word: Skeleton
+ word: Soldier
+ word: Spawn
+ word: Spellshaper
+ word: Spirit
+ word: Survivor
+ word:
+ name: T-Z
+ word: Thopter
+ word: Vampire
+ word: Warlock
+ word: Warrior
+ word: Werewolf
+ word: Wizard
+ word: Zombie
+
+word list:
+ name: artifact
+ word:
+ script: all_sub_types(match: "Artifact")
+ line below: true
+ word: Contraption
+ word: Clue
+ word: Equipment
+ word: Food
+ word: Fortification
+ word: Gold
+ word: Treasure
+ word: Vehicle
+
+word list:
+ name: land
+ word:
+ script: all_sub_types(match: "Land")
+ line below: true
+ word: Plains
+ word: Island
+ word: Swamp
+ word: Mountain
+ word: Forest
+ word: Desert
+ word: Gate
+ word: Lair
+ word: Locus
+ word: Mine
+ word: Power-Plant
+ word: Tower
+ word: Urza's
+
+word list:
+ name: enchantment
+ word:
+ script: all_sub_types(match: "Enchantment")
+ line below: true
+ word: Aura
+ word: Curse
+ word: Shrine
+ word: Cartouche
+ word: Saga
+
+word list:
+ name: spell
+ word:
+ script: all_sub_types(match: "Instant") + "," + all_sub_types(match: "Sorcery")
+ line below: true
+ word: Arcane
+ word: Trap
+ word: Adventure
+
+word list:
+ name: planeswalker
+ word:
+ script: all_sub_types(match: "Planeswalker")
+ line below: true
+ word: Ajani
+ word: Aminatou
+ word: Angrath
+ word: Arlinn
+ word: Ashiok
+ word: Bolas
+ word: Calix
+ word: Chandra
+ word: Dack
+ word: Daretti
+ word: Davriel
+ word: Domri
+ word: Dovin
+ word: Elspeth
+ word: Estrid
+ word: Freyalise
+ word: Garruk
+ word: Gideon
+ word: Huatli
+ word: Jace
+ word: Jaya
+ word: Karn
+ word: Kasmina
+ word: Kaya
+ word: Kiora
+ word: Koth
+ word: Liliana
+ word: Lukka
+ word: Nahiri
+ word: Narset
+ word: Nissa
+ word: Nixilis
+ word: Oko
+ word: Ral
+ word: Rowan
+ word: Saheeli
+ word: Samut
+ word: Sarkhan
+ word: Serra
+ word: Sorin
+ word: Tamiyo
+ word: Teferi
+ word: Teyo
+ word: Tezzeret
+ word: Tibalt
+ word: Ugin
+ word: Venser
+ word: Vivien
+ word: Vraska
+ word: Will
+ word: Windgrace
+ word: Wrenn
+ word: Xenagos
+ word: Yanggu
+ word: Yanling
+ word:
+ name: Last Seen on Ikoria
+ word: Lukka
+ word: Narset
+ word: Vivien
+ word:
+ name: Last Seen on Theros
+ word: Ashiok
+ word: Calix
+ word: Elspeth
+ word: Xenagos
+ word:
+ name: Last Seen on Eldraine
+ word: Garruk
+ word: Oko
+ word: Rowan
+ word: Will
+ word:
+ name: Last Seen on Ravnica
+ word: Bolas
+ word: Gideon
+ word: Davriel
+ word: Domri
+ word: Dovin
+ word: Kasmina
+ word: Kaya
+ word: Ral
+ word: Teyo
+ word: Vraska
+ word: Yanggu
+ word: Yanling
+ word:
+ name: Last Seen on Dominaria
+ word: Chandra
+ word: Jaya
+ word: Karn
+ word: Teferi
+ word:
+ name: Last Seen on Ixalan
+ word: Angrath
+ word: Huatli
+ word: Jace
+ word:
+ name: Last Seen on Amonkhet
+ word: Liliana
+ word: Nissa
+ word: Samut
+ word:
+ name: Last Seen on Kaladesh
+ word: Ajani
+ word: Saheeli
+ word: Tezzeret
+ word:
+ name: Last Seen on Fiore
+ name: Dack
+ name: Daretti
+ word:
+ name: Last Seen on Innistrad
+ word: Arlinn
+ word: Nahiri
+ word: Sorin
+ word: Tamiyo
+ word: Tibalt
+ word:
+ name: Last Seen on Zendikar
+ word: Kiora
+ word: Nixilis
+ word:
+ name: Last Seen on Tarkir
+ word: Sarkhan
+ word: Ugin
+ word:
+ name: Last Seen on New Phyrexia
+ word: Koth
+ word: Venser
+ word:
+ name: Last Seen on ???
+ word: Aminatou
+ word: Estrid
+ word: Wrenn
+ word: Last Seen Pre-Mending
+ word: Freyalise
+ word: Serra
+ word: Windgrace
+
+word list:
+ name: plane
+ word:
+ script: all_sub_types(match: "Plane")
+ line below: true
+ word: Eldraine
+ word: Dominaria
+ word: Ixalan
+ word: Amonkhet
+ word: Kaladesh
+ word:
+ name: Post-Mending Planes
+ word: Alara
+ word: Amonkhet
+ word: Eldraine
+ word: Fiora
+ word: Innistrad
+ word: Ixalan
+ word: Kaladesh
+ word: Kylem
+ word: Lorwyn
+ word: New Phyrexia
+ word: Shadowmoor
+ word: Tarkir
+ word: Theros
+ word: Zendikar
+ word:
+ name: Pre-Mending Planes
+ word: Kamigawa
+ word: Mercadia
+ word: Mirrodin
+ word: Rath
+ word: Ravnica
+ word: Serra's Realm
+ word:
+ name: Old Planes
+ word: Aranzhur
+ word: Azoria
+ word: Bolas's Meditation Realm
+ word: Cabralin
+ word: Cridhe
+ word: Dominaria
+ word: Equilor
+ word: Ergamon
+ word: Gastal
+ word: Ilcae
+ word: Moag
+ word: Nether Void
+ word: Phyrexia
+ word: Pyrulea
+ word: Rabiah
+ word: Segovia
+ word: Shandalar
+ word: Ulgrotha
+ word: Vatraquaz
+ word: Wildfire
+ word:
+ name: Planechase Planes
+ word: Arkhos
+ word: Azgol
+ word: Belenon
+ word: Diraden
+ word: Fabacin
+ word: Iquatana
+ word: Ir
+ word: Kaldheim
+ word: Karsus
+ word: Kephalai
+ word: Kinshala
+ word: Kolbahan
+ word: Kyneth
+ word: Luvion
+ word: Mongseng
+ word: Muraganda
+ word: Regatha
+ word: Tavelia
+ word: Valla
+ word: Vryn
+ word: Xerex
\ No newline at end of file