diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..e296967a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# ignore everything with magic-mainframe-extras +/data/magic-mainframe-extras.mse-include/* + +# include the include file and readme +!/data/magic-mainframe-extras.mse-include/include +!/data/magic-mainframe-extras.mse-include/readme.txt + +# include the specific example files +!/data/magic-mainframe-extras.mse-include/examples +!/data/magic-mainframe-extras.mse-include/examples/* + +# include mainframe shared files until we relocate them +!/data/magic-mainframe-extras.mse-include/mfsfiles +!/data/magic-mainframe-extras.mse-include/mfsfiles/* diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 000000000..46f1e717f --- /dev/null +++ b/changelog.txt @@ -0,0 +1,61 @@ +MSE Template Packs 1.3.0 Showcase Catchup (PRERELEASE) + +SHOWCASE FRAMES + +MAGIC MODULES +• Genevensis has figured out a powerful tool for template building, which has been added to the pack as magic-modules.mse-include +• magic-modules will allow any template to very easily gain access to complicated field behavior, such as... + +MAGIC MODULE ROLLOUT +• [todo applicable frames] +• Frames can now use Standard, Acorn, Universes Beyond, Heart, and Alchemy stamps! +• Frames can add styling options to change their casting cost mana symbols, apply custom fonts, or use the rarity recolor and offset options. +• Frames can use Genevensis's Corners tech for square, diagonal, aliased, or pixel curve corners. +• Frames can use the expanded credit suite, which allows up to 4 spots around the art credit to add additional symbols for Mechanics, Flavor Text, Frame, etc. +• Frames can use the updated OCR fields, which have UB Copyright and the new card numbering code (see Parititons below). +• Frames can use the loyalty module to painlessly make Planeswalker versions of frames. +• Frames can use the symbols module to include transform symbols, which now lets you to select Modal DFC icons. +• The watermarks module now simplifies watermarks to one script instead of three include files. + +ADVENTURE OVERHAUL +• Adventures can now customize both halves of the textbox, allowing for two pages. +• Added support for flat pages and pages with only a nameline and no typeline. +• Added "page decorations," images that layer over pages that can be added to magic-mainframe-extras. + +PARTITIONS +• Cards can now be put into partitions 0-9 and A-Z, which will change how the automatic sorter sorts them. This allows MSE to handle things like overcounted cards, and face commanders being listed before everything else. +• Cards are in Partition A by default. Paritions 0-9 sort before this, Partitions B-Z sort after it. Cards within the same partition sort under the normal logic. +• Partitions N-Z by default are "over-partition", and their cards won't be counted in the set's total. There is a set option for displaying these cards in the "301/300" or "301" format. There is also a set option for changing the "last main partition" that does not have this effect, default "M". +• Currently this is supported on M15 Mainframe and Adventures. Other frames can now add the card field "parition select" to access a card's partition. +• Normally this is put over the automated card number. You can click there to select a new parition for a card. +• Additionally, there is a set option for defining the card number style, "0001", "0001/0099", "001", "001/099", "1", and "1/99" + +OTHER UPDATES +• MSE has been updated to MSE 2.1.3! This fixes a bug where single line text-fields like names and typelines couldn't be automatically shrunk, and adds shift-click to select multiple options in the export window. This isn't the full jump to hagan's 2.4.0 fork yet, but we're getting there. +• Added Custom Border to M15 Mainframe and Adventure, which allows defining a trim frame like Vehicle or Nyx with images from magic-mainframe-extras +• Keywords for MKM, PIP, and OTJ have been added. +• Added Capenna, DND, Desparked, Judge Academy, MLP, Shooting Star, Transformers, and hi-res mana symbol watermarks. +• Added support for Custom Watermarks up to a maximum size of 1024x1024. Watermarks that aren't 500x500 will still need to include their height and width. +• Split the "blend with colors" watermark option into one that applies to custom watermarks and one that applies to default watermarks. +• Reorganized the Set tab into something hopefully easier to navigate. +• Added the up and down triangles as mainframe transform options. +• Added support for dungeons with 8 levels. +• Added option to remove backface rarity symbol to Mainframe DFC. +• Added omni and polyamory flags to Pride Pinlines. + +BUG FIXES +• Fixed a bug where the 8th Edition Tokens name spacing would go beserk. +• Fixed a bug that was eating spaces in the typeline. +• Fixed some cases where +1/+1 was getting converted to loyalty symbols. +• Fixed many template warnings across the template packs. +• Fixed a bug with custom italic font. +• Fixed a bug with token custom font using the wrong fonts. + +TEMPLATE CLEANUP +• magic-mainframe-extras examples have been cleaned up and moved into one folder. The repo now has a .gitignore for this so it's easier to run MSE off the repo. +• Take the Crown Draft Matters frame now includes the Conspiracy frame. +• M15 Leveler now has TriLeveler support. +• The following frames have been removed from the Full Pack. There is an Outdated Templates pack available as a backup, but these templates are now redundant and are no longer being supported. +• Redudant with M15 Mainframe: M15 Clear, M15 Custom, M15 Metropolis, Mined & Mined Planeshifted, M15 Miracle, M15 Nyx, M15 Planeshifted & Planeshifted Leveler, M15 Vehicles, Vehicles +• Redundant with Mainframe Tokens: M15 Tokens +• Redundant with CN2 Styles and M15 Mainframe: TTK Conspiracy diff --git a/data/magic-blends.mse-include/new-blends b/data/magic-blends.mse-include/new-blends index 9bd4f8e9e..910062d95 100644 --- a/data/magic-blends.mse-include/new-blends +++ b/data/magic-blends.mse-include/new-blends @@ -9,18 +9,18 @@ ######################################################################## include file: masks - mask_hybrid_with_land := { false } - mask_hybrid_with_gold := { false } - mask_multi_land_with_color := { false } - template := { input + "{type}.jpg" } - land_template := { ( if input == "a" then "c" else input)+ "l{type}.jpg" } - offset := 0 + mask_hybrid_with_land := { false } + mask_hybrid_with_gold := { false } + mask_multi_land_with_color := { false } + template := { input + "{type}.jpg" } + land_template := { ( if input == "a" then "c" else input) + "l{type}.jpg" } + offset := 0 # For what value should thumbnails of hybrids be made? - hybrid_previews := "hybrid" + hybrid_previews := "hybrid" # Are there templates for colored lands, land_template(...)? - colored_lands := true - trim_colors := + colored_lands := true + trim_colors := replace@(match:"(, )?(multicolor|hybrid|artifact|land|horizontal|vertical|radial)", replace:"") watermark_colors := { @@ -41,27 +41,27 @@ hybrid_color := { check_colors := card.card_color if face != "" then check_colors := face trimmed := trim_colors(check_colors) - if trimmed == "white, blue" then "wu" - else if trimmed == "white, black" then "wb" - else if trimmed == "white, red" then "rw" - else if trimmed == "white, green" then "gw" - else if trimmed == "blue, black" then "ub" - else if trimmed == "blue, red" then "ur" - else if trimmed == "blue, green" then "gu" - else if trimmed == "black, red" then "br" - else if trimmed == "black, green" then "bg" - else if trimmed == "red, green" then "rg" - else if trimmed == "white, blue, reversed" then "uw" - else if trimmed == "white, black, reversed" then "bw" - else if trimmed == "white, red, reversed" then "wr" - else if trimmed == "white, green, reversed" then "wg" - else if trimmed == "blue, black, reversed" then "bu" - else if trimmed == "blue, red, reversed" then "ru" - else if trimmed == "blue, green, reversed" then "ug" - else if trimmed == "black, red, reversed" then "rb" - else if trimmed == "black, green, reversed" then "bg" - else if trimmed == "red, green, reversed" then "gr" - else "mm" + if trimmed == "white, blue" then "wu" + else if trimmed == "white, black" then "wb" + else if trimmed == "white, red" then "rw" + else if trimmed == "white, green" then "gw" + else if trimmed == "blue, black" then "ub" + else if trimmed == "blue, red" then "ur" + else if trimmed == "blue, green" then "gu" + else if trimmed == "black, red" then "br" + else if trimmed == "black, green" then "bg" + else if trimmed == "red, green" then "rg" + else if trimmed == "white, blue, reversed" then "uw" + else if trimmed == "white, black, reversed" then "bw" + else if trimmed == "white, red, reversed" then "wr" + else if trimmed == "white, green, reversed" then "wg" + else if trimmed == "blue, black, reversed" then "bu" + else if trimmed == "blue, red, reversed" then "ru" + else if trimmed == "blue, green, reversed" then "ug" + else if trimmed == "black, red, reversed" then "rb" + else if trimmed == "black, green, reversed" then "bg" + else if trimmed == "red, green, reversed" then "gr" + else "mm" }@(face:"") ######################################################################## # Combining multiple colors (hybrids) @@ -78,8 +78,8 @@ card_hybrid_2 := {linear_blend( overlay_hybrid := [ 1: { template( colors[0] ) } 2: {combine_blend( - image1: template( colors[0] ), - image2: template( colors[1] ), + image1: template( colors[0] ), + image2: template( colors[1] ), combine: "symmetric overlay" )} ] @@ -87,7 +87,7 @@ overlay_hybrid := [ # vertical version of a horizontal hybrid vertical_card_hybrid := { - do_linear_blend := linear_blend + do_linear_blend := linear_blend linear_blend := { do_linear_blend(x1: 0, x2: 0, y1: x1, y2: x2) } card_hybrid.horizontal[color_count]() } @@ -102,7 +102,7 @@ horizontal_card_hybrid := [ x2: 0.4, y2: 0 image2: linear_blend( image1: template( colors[(to_int(offset) + 1 ) mod 3] ), - image2: template( colors[(to_int(offset) + 2 ) mod 3] ), + image2: template( colors[(to_int(offset) + 2 ) mod 3] ), x1: 0.6, y1: 0 x2: 0.78, y2: 0 ) @@ -124,15 +124,15 @@ horizontal_card_hybrid := [ )))} 5: {linear_blend( - image1: template( colors[(to_int(offset) + 0 ) mod 5] ), + image1: template( colors[(to_int(offset) + 0 ) mod 5] ), x1: 2.0 / 15, y1: 0 x2: 4.0 / 15, y2: 0 image2: linear_blend( - image1: template( colors[(to_int(offset) + 1 ) mod 5] ), + image1: template( colors[(to_int(offset) + 1 ) mod 5] ), x1: 5.0 / 15, y1: 0 x2: 7.0 / 15, y2: 0 image2: linear_blend( - image1: template( colors[(to_int(offset) + 2 ) mod 5] ), + image1: template( colors[(to_int(offset) + 2 ) mod 5] ), x1: 8.0 / 15, y1: 0 x2: 10.0 / 15, y2: 0 image2: linear_blend( @@ -198,19 +198,19 @@ card_hybrid := [ radial: [ 0: { template( "c") } 1: { template( colors[0]) } - 2: card_hybrid_2 + 2: card_hybrid_2 3:{linear_blend( - image1: card_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 3] + + image1: card_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 3] + colors[(to_int(offset) + 1 ) mod 3] ), - image2: template( colors[(to_int(offset) + 2 ) mod 3] ), + image2: template( colors[(to_int(offset) + 2 ) mod 3] ), x1: 0, y1: 0.55 x2: 0, y2: 0.77 )} 4:{linear_blend( image1: card_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 4] + colors[(to_int(offset) + 1 ) mod 4] ), - image2: card_hybrid_2( colors: colors[(to_int(offset) + 3 ) mod 4] + + image2: card_hybrid_2( colors: colors[(to_int(offset) + 3 ) mod 4] + colors[(to_int(offset) + 2 ) mod 4] ), x1: 0, y1: 0.4 x2: 0, y2: 0.62 @@ -219,7 +219,7 @@ card_hybrid := [ 5: {linear_blend( image1: linear_blend( image1: card_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 5] + - colors[(to_int(offset) + 1 ) mod 5] ), + colors[(to_int(offset) + 1 ) mod 5] ), image2: card_hybrid_2( colors: colors[(to_int(offset) + 4 ) mod 5] + colors[(to_int(offset) + 2 ) mod 5] ), x1: 0, y1: 0.19 @@ -235,7 +235,7 @@ card_hybrid := [ image1: card_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 6] + colors[(to_int(offset) + 1 ) mod 6] ), image2: card_hybrid_2( colors: colors[(to_int(offset) + 5 ) mod 6] + - colors[(to_int(offset) + 2 ) mod 6] ), + colors[(to_int(offset) + 2 ) mod 6] ), x1: 0, y1: 0.19 x2: 0, y2: 0.35 ), @@ -267,7 +267,7 @@ card_hybrid := [ ] horizontal: horizontal_card_hybrid vertical: [ - 1: { template( colors[0]) } + 1: { template( colors[0]) } 2: { linear_blend( image1: template( colors[0] ), image2: template( colors[1] ), @@ -350,7 +350,7 @@ pt_hybrid := [ x1: 0, y1: -1.5 x2: 0, y2: 0.7 )} - 7: { template( colors[(to_int(offset) + 4 ) mod 7]) } + 7: { template( colors[(to_int(offset) + 4 ) mod 7]) } ] horizontal: horizontal_pt_hybrid vertical: [ @@ -799,7 +799,7 @@ stamp_hybrid := [ image2: template( colors[(to_int(offset) + 3) mod 6] ), x1: -0.3, y1: 0 x2: 1.3, y2: 0 - )} + )} 7: { template( colors[(to_int(offset) + 4 ) mod 7]) } ] horizontal: horizontal_stamp_hybrid @@ -858,10 +858,10 @@ color_background := { if colors == "" then colors == "c" # 'shape' / type of hybrid - shape := if chosen(choice:"horizontal" ) then "horizontal" - else if chosen(choice:"vertical" ) then "vertical" - else if chosen(choice:"overlay" ) then "overlay" - else "radial" + shape := if chosen(choice:"horizontal" ) then "horizontal" + else if chosen(choice:"vertical" ) then "vertical" + else if chosen(choice:"overlay" ) then "overlay" + else "radial" # Determine background (allows styles to hook something else here) color_combination(folder:folder) @@ -983,36 +983,36 @@ font_color_positions := [ # Determine whether light or dark fonts should be used font_white := { - hybrid := chosen(choice:"hybrid" ) - artifact := chosen(choice:"artifact" ) - colors := sort_text( order: "(wubrg)" - , (if chosen(choice:"white" ) then "w") - + (if chosen(choice:"blue" ) then "u") - + (if chosen(choice:"black" ) then "b") - + (if chosen(choice:"red" ) then "r") - + (if chosen(choice:"green" ) then "g")) - + (if artifact then "a") + hybrid := chosen(choice:"hybrid" ) + artifact := chosen(choice:"artifact" ) + colors := sort_text( order: "(wubrg)" + , (if chosen(choice:"white" ) then "w") + + (if chosen(choice:"blue" ) then "u") + + (if chosen(choice:"black" ) then "b") + + (if chosen(choice:"red" ) then "r") + + (if chosen(choice:"green" ) then "g")) + + (if artifact then "a") font_colors_white( if chosen(choice:"land") then "l" - else if input == "artifact, multicolor" then "a" - else if chosen(choice:"multicolor") then "m" - else if artifact and not hybrid then "a" - else if colors == "" then "c" - else colors[ + else if input == "artifact, multicolor" then "a" + else if chosen(choice:"multicolor") then "m" + else if artifact and not hybrid then "a" + else if colors == "" then "c" + else colors[ font_color_positions[ - if chosen(choice:"horizontal") then "horizontal" - else if chosen(choice:"vertical") then "vertical" - else if chosen(choice:"overlay") then "overlay" - else "radial" - ][number_of_items(in: colors)] - ] + if chosen(choice:"horizontal") then "horizontal" + else if chosen(choice:"vertical") then "vertical" + else if chosen(choice:"overlay") then "overlay" + else "radial" + ][number_of_items(in: colors)] + ] ) } font_color := { if font_white() then rgb(255,255,255) else rgb(0,0,0) } #####Watermark Blending -watermark_hybrid:= { +watermark_hybrid := { linear_blend( image1: colors[0] + input + ".png" image2: colors[1] + input + ".png" @@ -1043,38 +1043,106 @@ set_watermark_blend := { ) } spotlight_watermark_blend := { - if face == false then face := card.card_color - wmc := watermark_colors(face:face) - c1 := "/magic-watermarks.mse-include/spotlight/" + wmc.0 + (if contains(face, match:"land") then "l") + "spotlight.png" - c2 := "/magic-watermarks.mse-include/spotlight/" + wmc.1 + (if contains(face, match:"land") then "l") + "spotlight.png" - if contains(input, match:".png,") then ( + face := [1:card.card_color, 2:card.card_color_2, 3:card.card_color_3][face] + if type_name(input) == "string" and contains(input, match:".png,") then ( array := split_text(input+",,", match:",") input := array.0 l := min(to_number(array.1),500) h := min(to_number(array.2),500) ) + wmc := watermark_colors(face:face) + c1 := wmc.0 + (if contains(face, match:"land") then "l") + "spotlight.png" + c2 := wmc.1 + (if contains(face, match:"land") then "l") + "spotlight.png" + wmdir := "/magic-watermarks.mse-include/spotlight/" if (h != 500 or l != 500) then ( - c1 := crop(c1, height:h, width:l, offset_x:0, offset_y:0) - c2 := crop(c2, height:h, width:l, offset_x:0, offset_y:0) + wmdir := wmdir + "1024/" + c1 := crop(wmdir+c1, height:h, width:l, offset_x:0, offset_y:0) + c2 := crop(wmdir+c2, height:h, width:l, offset_x:0, offset_y:0) + )else( + c1 := wmdir + c1 + c2 := wmdir + c2 ) + mask := input set_alpha( - alpha: 0.75 + alpha: alpha input: linear_blend( image1: masked_blend( light: input dark: c1 - mask: input + mask: mask ) image2: masked_blend( light: input dark: c2 - mask: input + mask: mask ) x1: 0.4, y1: 0 x2: 0.6, y2: 0 ) ) -}@(h:500,l:500,face:false) \ No newline at end of file +}@(h:500,l:500,face:1,alpha:0.2) + +shadow_watermark_blend := { + set_combine( + combine:"shadow", + set_alpha( + alpha: 0.5, + drop_shadow( + offset_x: -0.01, + offset_y: 0.03, + blur_radius: 0.02, + alpha: 1, + color: rgb(0,0,0), + enlarge( + border_size: 0.03, + invert_image(input) + ) + ) + ) + ) +} + +glow_watermark_blend := { + set_combine( + combine:"glow", + set_alpha( + alpha: 0.3, + drop_shadow( + offset_x: -0.01, + offset_y: 0.03, + blur_radius: 0.02, + alpha: 1, + color: rgb(0,0,0), + enlarge( + border_size: 0.03, + invert_image(input) + ) + ) + ) + ) +} + +watermark_blend := +{ + dark_textbox := (face == 1 and invert_watermark()) + or (face == 2 and invert_watermark2()) + or (face == 3 and invert_watermark3()) + invert_base_image := false + if dark_textbox then + ( + alpha := dark_alpha + spotlight_alpha := dark_spotlight_alpha + invert_base_image := true + ) + backup := if custom then set.blend_with_colors else set.use_blended_watermarks + option := styling.watermark_render or else backup + if colored then set_alpha(alpha: alpha, input) + else if option == "yes" or option == "blend with colors" then spotlight_watermark_blend(h:h, l:l, face:face, alpha: spotlight_alpha, input) + else if option == "shadow" then shadow_watermark_blend(input) + else if option == "glow" then glow_watermark_blend(input) + else if invert_base_image then set_alpha(alpha: alpha, invert_image(input)) + else set_alpha(alpha: alpha, input) +}@(h:500,l:500,colored:false,face:1,alpha:0.25,spotlight_alpha:0.75,dark_alpha:0.25,dark_spotlight_alpha:0.35,custom:false) \ No newline at end of file diff --git a/data/magic-genevensis-90-counter.mse-style/style b/data/magic-genevensis-90-counter.mse-style/style index e94a319fa..d375263d8 100644 --- a/data/magic-genevensis-90-counter.mse-style/style +++ b/data/magic-genevensis-90-counter.mse-style/style @@ -39,7 +39,16 @@ card dpi: 300 ############################################################## Extra scripts init script: card_shape := { "counter" } - + faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: ((if styling.increase_height then 520 else 420) + increased_width()), + height: (if styling.increase_height then 260 else 160) + ] + ] + } guild_mana := { styling.use_guild_mana_symbols } ancestral_mana := { false } diff --git a/data/magic-identity-new.mse-include/include b/data/magic-identity-new.mse-include/include index 86f2e80dd..f655bf4e3 100644 --- a/data/magic-identity-new.mse-include/include +++ b/data/magic-identity-new.mse-include/include @@ -1,7 +1,13 @@ -mse version: 0.3.9 +mse version: 2.0.0 full name: Magic The Gathering, modern identities -version: 2012-02-23 +version: 2024-01-29 +depends on: + package: magic.mse-game + version: 2014-06-25 -# This file doesn't do anything, other files in this directory can be included -# in game/style files: -# watermarks Includes references to the watermark images, to be used in a style file + + +#### This file doesn't do anything. +#### Other files in this directory can be included in game/style files. +#### This include covers the color indicator dot. +#### This include is being phased out in favor of magic-modules.mse-include/indicators \ No newline at end of file diff --git a/data/magic-m15-adventure.mse-style/style b/data/magic-m15-adventure.mse-style/style index 29b7fd89f..46eaad7a6 100644 --- a/data/magic-m15-adventure.mse-style/style +++ b/data/magic-m15-adventure.mse-style/style @@ -918,7 +918,7 @@ card style: styling.center_text == "always" then "middle center" else "middle left" - z index: 2 + z index: 3 padding left: 6 padding right: 4 line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } @@ -949,7 +949,7 @@ card style: styling.center_text == "always" then "middle center" else "middle left" - z index: 2 + z index: 3 padding left: 6 padding right: 4 line height hard: {if is_modal(card.rule_text_2) then 0.9 else 1.2 } @@ -980,7 +980,7 @@ card style: styling.center_text == "always" then "middle center" else "middle left" - z index: 2 + z index: 3 padding left: 6 padding right: 4 line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } @@ -989,11 +989,11 @@ card style: line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 } line height line max: 1.6 watermark: - left: { min(page_coords[page_1_side()][(if is_spot() then "spot_watermark" else "watermark")], page_coords[page_3_side()][(if is_spot() then "spot_watermark" else "watermark")]) } - top: { if is_spot() then 330 else max(page_1_top(), page_3_top()) } + left: { page_coords[page_1_side()][(if is_spot() then "spot_watermark" else "watermark")] } + top: { if is_spot() then 330 else page_1_top() } width: { if is_spot() then 150 else 168} bottom: {if is_spot() then 470 else 481} - z index: 1 + z index: 2 render style: image popup style: in place alignment: middle center @@ -1003,11 +1003,21 @@ card style: top: { page_2_top() } width: { if is_spot() then 154 else 167} bottom: {if is_spot() then 470 else 481} - z index: 1 + z index: 2 render style: image popup style: in place alignment: middle center - include file: /magic-watermarks.mse-include/watermarks + include file: /magic-watermarks.mse-include/watermarks_back + watermark 3: + left: { page_coords[page_3_side()][(if is_spot() then "spot_watermark" else "watermark")] } + top: { if is_spot() then 330 else page_3_top() } + width: { if is_spot() then 154 else 167} + bottom: {if is_spot() then 470 else 481} + z index: 2 + render style: image + popup style: in place + alignment: middle center + include file: /magic-watermarks.mse-include/watermarks_third ############################# PT pt: z index: 2 diff --git a/data/magic-m15-altered.mse-style/style b/data/magic-m15-altered.mse-style/style index 79215ed88..d53c8fac2 100644 --- a/data/magic-m15-altered.mse-style/style +++ b/data/magic-m15-altered.mse-style/style @@ -13,9 +13,6 @@ depends on: 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 @@ -28,9 +25,15 @@ depends on: depends on: package: magic-mainframe-extras.mse-include version: 2018-01-01 +depends on: + package: magic-modules.mse-include + version: 2024-05-20 depends on: package: magic-pride.mse-include - version: 2021-05-26 + version: 2024-05-22 +depends on: + package: magic-watermarks.mse-include + version: 2007-09-23 card width: 375 card height: 523 @@ -245,7 +248,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} + custom_watermark_a := {if styling.card_watermark == "" or not contains(styling.card_watermark, match:".png") then "/magic-modules.mse-include/watermarks/other/planeswalker.png" else "/magic-mainframe-extras.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 "") @@ -258,7 +261,7 @@ init script: card_shape := {if is_leveler() then "leveler" else "normal"} white_text := {is_full_art() or is_fnm() or is_inverted()} - + alch_compatible := {styling.text_box_mana_symbols == "/magic-mana-small.mse-symbol-font"} rare_width := { cw := card_style.rarity.content_width cw := if cw > 44 then (if set.print_fix != "" then set.print_fix else 22) else if cw < 22 then 22 else cw @@ -628,7 +631,6 @@ card style: alignment: {if center_map() then "center bottom shrink-overflow" else "left bottom shrink-overflow" } padding bottom: 0 z index: 2 - font: font: name: { name_font() } italic name: { name_font_italic() } @@ -952,7 +954,8 @@ card style: render style: image popup style: in place alignment: middle center - include file: /magic-watermarks.mse-include/watermarks + include file: /magic.mse-game/watermarks/menu_choice_images + image: { watermark_scripts[card.watermark](face:watermark_face_1()) } ############################# Levels level 0: z index: 7 @@ -1519,7 +1522,6 @@ extra card field: save value: true editable: true - extra card style: promo label: left: 40 diff --git a/data/magic-m15-dungeons.mse-style/style b/data/magic-m15-dungeons.mse-style/style index e4ebd0063..dcf4c5dd0 100644 --- a/data/magic-m15-dungeons.mse-style/style +++ b/data/magic-m15-dungeons.mse-style/style @@ -55,6 +55,7 @@ init script: # styling stuff card_shape := {"token"} + card_name_for_level := {if set.alias_as_cardname and card.alias != "" then card.alias else card.name} shrink_name := {if styling.shrink_name_text != "" then to_int(styling.shrink_name_text) else 0 } note_cleaner := replace@(match:"\\+", replace:"") num_cleaner := replace@(match:"[0-9]", replace:"") @@ -215,7 +216,7 @@ init script: arrow_to_room := { span := span_array(y) span2 := span_array(y+1) - interface := sort_list(join_arrays(a1:span, a2:span2), remove_duplicates:true) + interface := sort_list((span+span2), remove_duplicates:true) if x >= length(interface) then 0 else ( @@ -266,7 +267,7 @@ init script: [58, 138, 198, 278, -10] ] arrow_x := { - arr := sort_list(join_arrays(a1:span_array(y), a2:span_array(y+1)), remove_duplicates:true) + arr := sort_list((span_array(y)+span_array(y+1)), remove_duplicates:true) if y >= max_level() or x >= length(arr) then 0 else if use_fast() then ( @@ -343,7 +344,7 @@ init script: } add_level_lanes := { ml := max_level() - walls := sort_list(join_arrays(a1:span_array(line), a2:span_array(line+1)), remove_duplicates:true) + walls := sort_list((span_array(line)+span_array(line+1)), remove_duplicates:true) len := length(walls) y := 380-line_offset(line) baseline := wall_crop("new_masks/"+s+"lane.png", offset:y) diff --git a/data/magic-m15-future-planeswalker.mse-style/style b/data/magic-m15-future-planeswalker.mse-style/style index 6980c8716..c15f5fc50 100644 --- a/data/magic-m15-future-planeswalker.mse-style/style +++ b/data/magic-m15-future-planeswalker.mse-style/style @@ -173,7 +173,8 @@ init script: else if contains(input, match: "-") then "loyalty down" else "loyalty naught" } - has_identity := { styling.color_indicator_dot } + has_identity := { false } + has_identity_2 := { false } is_unsorted := {styling.remove_from_autocount} is_hybrid := {contains(card.card_color, match:"hybrid")} is_legend := { styling.legendary_symbol } diff --git a/data/magic-m15-mainframe-dfc.mse-style/style b/data/magic-m15-mainframe-dfc.mse-style/style index 269d3af2b..82586f5f8 100644 --- a/data/magic-m15-mainframe-dfc.mse-style/style +++ b/data/magic-m15-mainframe-dfc.mse-style/style @@ -155,6 +155,22 @@ init script: } ####### Shape things + faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: 375, + height: 523 + ], + [ + left: 377, + top: 0, + width: 375, + height: 523 + ] + ] + } card_shape := {if contains(styling.dfc_type, match: "modal") then "modal double faced" else "transform double faced"} a_saga := {is_saga() or is_class()} b_saga := {back_saga() or back_class()} @@ -969,6 +985,7 @@ styling field: choice: use hovering pt choice: use hovering loyalty choice: use holofoil stamps + choice: use backface rarity choice: center front choice: center back choice: center first name @@ -1269,7 +1286,7 @@ card style: type 2: left: { if back_map() then 462 else if has_identity2() then "429" else "409" } top: { (if back_map() then 297.5 else if back_saga() or back_class() then 444 else if back_four_abilities() then 261 else 296) + shrink_type2() } - width: { if back_map() then 205 else (if has_identity2() then "290" else "310") - rare_width() } + width: { if back_map() then 205 else (if has_identity2() then "290" else "310") - (if chosen(styling.other_options, choice:"use backface rarity") and set.shorten_types_for_rarity then rare_width() else 0) } height: { if back_map() then 18 - shrink_type2() else 20 - shrink_type2()} alignment: {if back_map() then "center top shrink-overflow" else "top shrink-overflow"} z index: 2 @@ -1330,7 +1347,7 @@ card style: rarity 2: right: { if back_map() then 576 else 721} top: { if back_saga() or back_class() then 445 else if back_map() then 53 else if back_normal() then 297 else if back_four_abilities() then 262 else 297 } - width: {if set.shorten_types_for_rarity then 44 else 0} + width: { if chosen(styling.other_options, choice:"use backface rarity") and set.shorten_types_for_rarity then 44 else 0 } height: 22 z index: 3 render style: image diff --git a/data/magic-m15-mainframe-planes-mini.mse-style/style b/data/magic-m15-mainframe-planes-mini.mse-style/style index d860dce06..2950cc6f4 100644 --- a/data/magic-m15-mainframe-planes-mini.mse-style/style +++ b/data/magic-m15-mainframe-planes-mini.mse-style/style @@ -277,17 +277,6 @@ card style: size: 6.25 color: white weight: bold - card number m15: - left: { if styling.center_set_info then 222 else 161 } - top: 362 - width: 81 - height: 12 - z index: -1 - font: - name: Relay-Medium - size: 6.25 - color: white - weight: bold ############################################################## Extra card fields extra card field: type: text diff --git a/data/magic-m15-mainframe-planes.mse-style/style b/data/magic-m15-mainframe-planes.mse-style/style index 33dcc9d3a..906e4f0e5 100644 --- a/data/magic-m15-mainframe-planes.mse-style/style +++ b/data/magic-m15-mainframe-planes.mse-style/style @@ -277,17 +277,6 @@ card style: size: 7 color: white weight: bold - card number m15: - left: { if styling.center_set_info then 360 else 270 } - top: 542 - width: 120 - height: 19 - z index: -1 - font: - name: Relay-Medium - size: 7 - color: white - weight: bold ############################################################## Extra card fields extra card field: type: text diff --git a/data/magic-m15-mainframe-planeswalker.mse-style/style b/data/magic-m15-mainframe-planeswalker.mse-style/style index ab831c41f..8741bc0a7 100644 --- a/data/magic-m15-mainframe-planeswalker.mse-style/style +++ b/data/magic-m15-mainframe-planeswalker.mse-style/style @@ -79,7 +79,8 @@ init script: } card_shape := {"planeswalker"} - + card_name_for_level := {if set.alias_as_cardname and card.alias != "" then card.alias else card.name} + # Is the card a promo card? is_promo := { styling.promo } diff --git a/data/magic-m15-meld-3in1.mse-style/style b/data/magic-m15-meld-3in1.mse-style/style index eb1722878..8f7e582d6 100644 --- a/data/magic-m15-meld-3in1.mse-style/style +++ b/data/magic-m15-meld-3in1.mse-style/style @@ -14,8 +14,8 @@ depends on: package: magic-default-image.mse-include version: 2007-09-23 depends on: - package: magic-watermarks.mse-include - version: 2007-09-23 + package: magic-modules.mse-include + version: 2024-05-20 depends on: package: magic-identity-new.mse-include version: 2012-01-22 @@ -70,6 +70,27 @@ init script: has_pt_2 := { card.power_2 != "" or card.toughness_2 != "" } card_shape := { "double faced" } + faces_coordinates := {[ + [ + left: 0, + top: 0, + width: 188, + height: 261 + ], + [ + left: 0, + top: 263, + width: 188, + height: 260 + ], + [ + left: 193, + top: 0, + width: 375, + height: 523 + ] + ]} + has_identity := { styling.color_indicator_dot } has_identity_2 := {styling.color_indicator_dot_2 } is_unsorted := {styling.remove_from_autocount} @@ -610,7 +631,8 @@ card style: render style: image popup style: in place alignment: middle center - include file: /magic-watermarks.mse-include/watermarks + include file: /magic.mse-game/watermarks/menu_choice_images + image: { watermark_scripts[card.watermark](face:1) } watermark 2: left: 59 top: 422 @@ -620,7 +642,8 @@ card style: render style: image popup style: in place alignment: middle center - include file: /magic-watermarks.mse-include/watermarks + include file: /magic.mse-game/watermarks/menu_choice_images + image: { watermark_scripts[card.watermark](face:2) } visible: { styling.three_cards } watermark 3: left: 310 @@ -631,7 +654,8 @@ card style: render style: image popup style: in place alignment: middle center - include file: /magic-watermarks.mse-include/watermarks + include file: /magic.mse-game/watermarks/menu_choice_images + image: { watermark_scripts[card.watermark](face:3) } ############################# PT pt: z index: 12 diff --git a/data/magic-m15-showcase-dungeon-module.mse-style/style b/data/magic-m15-showcase-dungeon-module.mse-style/style index 1b28e4318..6829b085f 100644 --- a/data/magic-m15-showcase-dungeon-module.mse-style/style +++ b/data/magic-m15-showcase-dungeon-module.mse-style/style @@ -373,11 +373,11 @@ card style: 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" + 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 diff --git a/data/magic-m15-showcase-kaldheim-dfc.mse-style/style b/data/magic-m15-showcase-kaldheim-dfc.mse-style/style index 1c47ef89c..6029e6cbd 100644 --- a/data/magic-m15-showcase-kaldheim-dfc.mse-style/style +++ b/data/magic-m15-showcase-kaldheim-dfc.mse-style/style @@ -35,6 +35,24 @@ card dpi: 150 ####### images from digiman ############################################################## Extra scripts init script: + faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: 375, + height: 523 + ], + [ + left: 377, + top: 0, + width: 375, + height: 523 + ] + ] + } + card_shape := { "transform double faced" } + # Load scripts for image box include file: /magic-default-image.mse-include/scripts diff --git a/data/magic-m15-showcase-strixhaven-jp.mse-style/style b/data/magic-m15-showcase-strixhaven-jp.mse-style/style index 0fbb03c19..4b70c2c14 100644 --- a/data/magic-m15-showcase-strixhaven-jp.mse-style/style +++ b/data/magic-m15-showcase-strixhaven-jp.mse-style/style @@ -86,20 +86,20 @@ init script: } 2: textbox_hybrid_2 3: { linear_blend( - image1: textbox_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 3] + colors[(to_int(offset) + 1 ) mod 3] ), + image1: textbox_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 3] + colors[(to_int(offset) + 1 ) mod 3] ), x1: 0, y1: 0.55 x2: 0, y2: 0.77 - image2: shorten_textbox_image(template( colors[(to_int(offset) + 2 ) mod 3] )) + image2: shorten_textbox_image(template( colors[(to_int(offset) + 2 ) mod 3] )) )} 4: { linear_blend( image1: textbox_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 4] + colors[(to_int(offset) + 1 ) mod 4] ), - image2: textbox_hybrid_2( colors: colors[(to_int(offset) + 3 ) mod 4] + colors[(to_int(offset) + 2 ) mod 4] ), + image2: textbox_hybrid_2( colors: colors[(to_int(offset) + 3 ) mod 4] + colors[(to_int(offset) + 2 ) mod 4] ), x1: 0, y1: 0.4 x2: 0, y2: 0.62 )} 5: { linear_blend( image1: linear_blend( - image1: textbox_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 5] + colors[(to_int(offset) + 1 ) mod 5] ), + image1: textbox_hybrid_2( colors: colors[(to_int(offset) + 0 ) mod 5] + colors[(to_int(offset) + 1 ) mod 5] ), image2: textbox_hybrid_2( colors: colors[(to_int(offset) + 4 ) mod 5] + colors[(to_int(offset) + 2 ) mod 5] ), x1: 0, y1: 0.19 x2: 0, y2: 0.35), @@ -118,7 +118,7 @@ init script: x2: 0.4, y2: 0 image2: linear_blend( image1: shorten_textbox_image(template( colors[(to_int(offset) + 1 ) mod 3] )), - image2: shorten_textbox_image(template( colors[(to_int(offset) + 2 ) mod 3] )), + image2: shorten_textbox_image(template( colors[(to_int(offset) + 2 ) mod 3] )), x1: 0.6, y1: 0 x2: 0.78, y2: 0 ))} @@ -137,15 +137,15 @@ init script: x2: 0.85, y2: 0 )))} 5: { linear_blend( - image1: shorten_textbox_image(template( colors[(to_int(offset) + 0 ) mod 5] )), + image1: shorten_textbox_image(template( colors[(to_int(offset) + 0 ) mod 5] )), x1: 2.0 / 15, y1: 0 x2: 4.0 / 15, y2: 0 image2: linear_blend( - image1: shorten_textbox_image(template( colors[(to_int(offset) + 1 ) mod 5] )), + image1: shorten_textbox_image(template( colors[(to_int(offset) + 1 ) mod 5] )), x1: 5.0 / 15, y1: 0 x2: 7.0 / 15, y2: 0 image2: linear_blend( - image1: shorten_textbox_image(template( colors[(to_int(offset) + 2 ) mod 5] )), + image1: shorten_textbox_image(template( colors[(to_int(offset) + 2 ) mod 5] )), x1: 8.0 / 15, y1: 0 x2: 10.0 / 15, y2: 0 image2: linear_blend( @@ -609,11 +609,11 @@ card style: 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" + 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 diff --git a/data/magic-m15-showcase-strixhaven.mse-style/style b/data/magic-m15-showcase-strixhaven.mse-style/style index 552b70966..91e008be1 100644 --- a/data/magic-m15-showcase-strixhaven.mse-style/style +++ b/data/magic-m15-showcase-strixhaven.mse-style/style @@ -342,11 +342,11 @@ card style: 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" + 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 diff --git a/data/magic-mainframe-extras.mse-include/colorless.png b/data/magic-mainframe-extras.mse-include/examples/border/colorless.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/colorless.png rename to data/magic-mainframe-extras.mse-include/examples/border/colorless.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/alight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/alight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/alight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/alight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/blight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/blight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/blight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/blight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/clight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/clight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/clight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/clight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/cllight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/cllight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/cllight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/cllight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/glight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/glight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/glight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/glight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/mlight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/mlight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/mlight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/mlight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/rlight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/rlight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/rlight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/rlight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/ulight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/ulight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/ulight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/ulight.png diff --git a/data/magic-mainframe-extras.mse-include/decoration/wlight.png b/data/magic-mainframe-extras.mse-include/examples/decoration/wlight.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/decoration/wlight.png rename to data/magic-mainframe-extras.mse-include/examples/decoration/wlight.png diff --git a/data/magic-mainframe-extras.mse-include/doom/chapter1.png b/data/magic-mainframe-extras.mse-include/examples/doom/chapter1.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/doom/chapter1.png rename to data/magic-mainframe-extras.mse-include/examples/doom/chapter1.png diff --git a/data/magic-mainframe-extras.mse-include/doom/chapter2.png b/data/magic-mainframe-extras.mse-include/examples/doom/chapter2.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/doom/chapter2.png rename to data/magic-mainframe-extras.mse-include/examples/doom/chapter2.png diff --git a/data/magic-mainframe-extras.mse-include/doom/chapter3.png b/data/magic-mainframe-extras.mse-include/examples/doom/chapter3.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/doom/chapter3.png rename to data/magic-mainframe-extras.mse-include/examples/doom/chapter3.png diff --git a/data/magic-mainframe-extras.mse-include/doom/chapter4.png b/data/magic-mainframe-extras.mse-include/examples/doom/chapter4.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/doom/chapter4.png rename to data/magic-mainframe-extras.mse-include/examples/doom/chapter4.png diff --git a/data/magic-mainframe-extras.mse-include/doom/chapter5.png b/data/magic-mainframe-extras.mse-include/examples/doom/chapter5.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/doom/chapter5.png rename to data/magic-mainframe-extras.mse-include/examples/doom/chapter5.png diff --git a/data/magic-mainframe-extras.mse-include/doom/chapter6.png b/data/magic-mainframe-extras.mse-include/examples/doom/chapter6.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/doom/chapter6.png rename to data/magic-mainframe-extras.mse-include/examples/doom/chapter6.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/future/hazard.png b/data/magic-mainframe-extras.mse-include/examples/future/hazard.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/future/hazard.png rename to data/magic-mainframe-extras.mse-include/examples/future/hazard.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/future/hazard_b.png b/data/magic-mainframe-extras.mse-include/examples/future/hazard_b.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/future/hazard_b.png rename to data/magic-mainframe-extras.mse-include/examples/future/hazard_b.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/future/hazard_g.png b/data/magic-mainframe-extras.mse-include/examples/future/hazard_g.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/future/hazard_g.png rename to data/magic-mainframe-extras.mse-include/examples/future/hazard_g.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/future/hazard_r.png b/data/magic-mainframe-extras.mse-include/examples/future/hazard_r.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/future/hazard_r.png rename to data/magic-mainframe-extras.mse-include/examples/future/hazard_r.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/future/hazard_u.png b/data/magic-mainframe-extras.mse-include/examples/future/hazard_u.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/future/hazard_u.png rename to data/magic-mainframe-extras.mse-include/examples/future/hazard_u.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/future/hazard_w.png b/data/magic-mainframe-extras.mse-include/examples/future/hazard_w.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/future/hazard_w.png rename to data/magic-mainframe-extras.mse-include/examples/future/hazard_w.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/future/mana_k_half.png b/data/magic-mainframe-extras.mse-include/examples/future/mana_k_half.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/future/mana_k_half.png rename to data/magic-mainframe-extras.mse-include/examples/future/mana_k_half.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/hazard.png b/data/magic-mainframe-extras.mse-include/examples/large/hazard.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/hazard.png rename to data/magic-mainframe-extras.mse-include/examples/large/hazard.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/hazard_b.png b/data/magic-mainframe-extras.mse-include/examples/large/hazard_b.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/hazard_b.png rename to data/magic-mainframe-extras.mse-include/examples/large/hazard_b.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/hazard_g.png b/data/magic-mainframe-extras.mse-include/examples/large/hazard_g.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/hazard_g.png rename to data/magic-mainframe-extras.mse-include/examples/large/hazard_g.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/hazard_h.png b/data/magic-mainframe-extras.mse-include/examples/large/hazard_h.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/hazard_h.png rename to data/magic-mainframe-extras.mse-include/examples/large/hazard_h.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/hazard_r.png b/data/magic-mainframe-extras.mse-include/examples/large/hazard_r.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/hazard_r.png rename to data/magic-mainframe-extras.mse-include/examples/large/hazard_r.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/hazard_u.png b/data/magic-mainframe-extras.mse-include/examples/large/hazard_u.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/hazard_u.png rename to data/magic-mainframe-extras.mse-include/examples/large/hazard_u.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/hazard_w.png b/data/magic-mainframe-extras.mse-include/examples/large/hazard_w.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/hazard_w.png rename to data/magic-mainframe-extras.mse-include/examples/large/hazard_w.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/mined.png b/data/magic-mainframe-extras.mse-include/examples/large/mined.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/mined.png rename to data/magic-mainframe-extras.mse-include/examples/large/mined.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/mined_b.png b/data/magic-mainframe-extras.mse-include/examples/large/mined_b.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/mined_b.png rename to data/magic-mainframe-extras.mse-include/examples/large/mined_b.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/mined_g.png b/data/magic-mainframe-extras.mse-include/examples/large/mined_g.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/mined_g.png rename to data/magic-mainframe-extras.mse-include/examples/large/mined_g.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/mined_r.png b/data/magic-mainframe-extras.mse-include/examples/large/mined_r.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/mined_r.png rename to data/magic-mainframe-extras.mse-include/examples/large/mined_r.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/mined_u.png b/data/magic-mainframe-extras.mse-include/examples/large/mined_u.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/mined_u.png rename to data/magic-mainframe-extras.mse-include/examples/large/mined_u.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/large/mined_w.png b/data/magic-mainframe-extras.mse-include/examples/large/mined_w.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/large/mined_w.png rename to data/magic-mainframe-extras.mse-include/examples/large/mined_w.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/acrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/acrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/acrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/acrown.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/bcrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/bcrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/bcrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/bcrown.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/ccrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/ccrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/ccrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/ccrown.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/gcrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/gcrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/gcrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/gcrown.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/mcrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/mcrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/mcrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/mcrown.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/rcrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/rcrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/rcrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/rcrown.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/ucrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/ucrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/ucrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/ucrown.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/legend/wcrown.png b/data/magic-mainframe-extras.mse-include/examples/legend/wcrown.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/legend/wcrown.png rename to data/magic-mainframe-extras.mse-include/examples/legend/wcrown.png diff --git a/data/magic-mainframe-extras.mse-include/DISc.png b/data/magic-mainframe-extras.mse-include/examples/rarity/DISc.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/DISc.png rename to data/magic-mainframe-extras.mse-include/examples/rarity/DISc.png diff --git a/data/magic-mainframe-extras.mse-include/DISm.png b/data/magic-mainframe-extras.mse-include/examples/rarity/DISm.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/DISm.png rename to data/magic-mainframe-extras.mse-include/examples/rarity/DISm.png diff --git a/data/magic-mainframe-extras.mse-include/DISmp.png b/data/magic-mainframe-extras.mse-include/examples/rarity/DISmp.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/DISmp.png rename to data/magic-mainframe-extras.mse-include/examples/rarity/DISmp.png diff --git a/data/magic-mainframe-extras.mse-include/DISr.png b/data/magic-mainframe-extras.mse-include/examples/rarity/DISr.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/DISr.png rename to data/magic-mainframe-extras.mse-include/examples/rarity/DISr.png diff --git a/data/magic-mainframe-extras.mse-include/DISs.png b/data/magic-mainframe-extras.mse-include/examples/rarity/DISs.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/DISs.png rename to data/magic-mainframe-extras.mse-include/examples/rarity/DISs.png diff --git a/data/magic-mainframe-extras.mse-include/DISu.png b/data/magic-mainframe-extras.mse-include/examples/rarity/DISu.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/DISu.png rename to data/magic-mainframe-extras.mse-include/examples/rarity/DISu.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/hazard.png b/data/magic-mainframe-extras.mse-include/examples/small/hazard.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/hazard.png rename to data/magic-mainframe-extras.mse-include/examples/small/hazard.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/hazard_b.png b/data/magic-mainframe-extras.mse-include/examples/small/hazard_b.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/hazard_b.png rename to data/magic-mainframe-extras.mse-include/examples/small/hazard_b.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/hazard_g.png b/data/magic-mainframe-extras.mse-include/examples/small/hazard_g.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/hazard_g.png rename to data/magic-mainframe-extras.mse-include/examples/small/hazard_g.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/hazard_h.png b/data/magic-mainframe-extras.mse-include/examples/small/hazard_h.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/hazard_h.png rename to data/magic-mainframe-extras.mse-include/examples/small/hazard_h.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/hazard_r.png b/data/magic-mainframe-extras.mse-include/examples/small/hazard_r.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/hazard_r.png rename to data/magic-mainframe-extras.mse-include/examples/small/hazard_r.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/hazard_u.png b/data/magic-mainframe-extras.mse-include/examples/small/hazard_u.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/hazard_u.png rename to data/magic-mainframe-extras.mse-include/examples/small/hazard_u.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/hazard_w.png b/data/magic-mainframe-extras.mse-include/examples/small/hazard_w.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/hazard_w.png rename to data/magic-mainframe-extras.mse-include/examples/small/hazard_w.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/mined.png b/data/magic-mainframe-extras.mse-include/examples/small/mined.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/mined.png rename to data/magic-mainframe-extras.mse-include/examples/small/mined.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/mined_b.png b/data/magic-mainframe-extras.mse-include/examples/small/mined_b.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/mined_b.png rename to data/magic-mainframe-extras.mse-include/examples/small/mined_b.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/mined_g.png b/data/magic-mainframe-extras.mse-include/examples/small/mined_g.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/mined_g.png rename to data/magic-mainframe-extras.mse-include/examples/small/mined_g.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/mined_r.png b/data/magic-mainframe-extras.mse-include/examples/small/mined_r.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/mined_r.png rename to data/magic-mainframe-extras.mse-include/examples/small/mined_r.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/mined_u.png b/data/magic-mainframe-extras.mse-include/examples/small/mined_u.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/mined_u.png rename to data/magic-mainframe-extras.mse-include/examples/small/mined_u.png diff --git a/data/magic-mainframe-extras.mse-include/cajun/small/mined_w.png b/data/magic-mainframe-extras.mse-include/examples/small/mined_w.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/cajun/small/mined_w.png rename to data/magic-mainframe-extras.mse-include/examples/small/mined_w.png diff --git a/data/magic-mainframe-extras.mse-include/examples/stamp/heart flat.png b/data/magic-mainframe-extras.mse-include/examples/stamp/heart flat.png new file mode 100644 index 000000000..fa317a8e0 Binary files /dev/null and b/data/magic-mainframe-extras.mse-include/examples/stamp/heart flat.png differ diff --git a/data/magic-mainframe-extras.mse-include/examples/stamp/heart.png b/data/magic-mainframe-extras.mse-include/examples/stamp/heart.png new file mode 100644 index 000000000..5bf44ef32 Binary files /dev/null and b/data/magic-mainframe-extras.mse-include/examples/stamp/heart.png differ diff --git a/data/magic-mainframe-extras.mse-include/aetherprint.png b/data/magic-mainframe-extras.mse-include/examples/symbol/aetherprint.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/aetherprint.png rename to data/magic-mainframe-extras.mse-include/examples/symbol/aetherprint.png diff --git a/data/magic-mainframe-extras.mse-include/comedy.png b/data/magic-mainframe-extras.mse-include/examples/symbol/comedy.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/comedy.png rename to data/magic-mainframe-extras.mse-include/examples/symbol/comedy.png diff --git a/data/magic-mainframe-extras.mse-include/discovery.png b/data/magic-mainframe-extras.mse-include/examples/symbol/discovery.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/discovery.png rename to data/magic-mainframe-extras.mse-include/examples/symbol/discovery.png diff --git a/data/magic-mainframe-extras.mse-include/tragedy.png b/data/magic-mainframe-extras.mse-include/examples/symbol/tragedy.png similarity index 100% rename from data/magic-mainframe-extras.mse-include/tragedy.png rename to data/magic-mainframe-extras.mse-include/examples/symbol/tragedy.png diff --git a/data/magic-mainframe-extras.mse-include/examples/watermarks/Discord.png b/data/magic-mainframe-extras.mse-include/examples/watermarks/Discord.png new file mode 100644 index 000000000..6f673279d Binary files /dev/null and b/data/magic-mainframe-extras.mse-include/examples/watermarks/Discord.png differ diff --git a/data/magic-watermarks.mse-include/sets/Set-atq.png b/data/magic-mainframe-extras.mse-include/examples/watermarks/Fes_stamp.png similarity index 54% rename from data/magic-watermarks.mse-include/sets/Set-atq.png rename to data/magic-mainframe-extras.mse-include/examples/watermarks/Fes_stamp.png index 352cfb9fd..57ac3f45f 100644 Binary files a/data/magic-watermarks.mse-include/sets/Set-atq.png and b/data/magic-mainframe-extras.mse-include/examples/watermarks/Fes_stamp.png differ diff --git a/data/magic-mainframe-extras.mse-include/examples/watermarks/fesemblem.png b/data/magic-mainframe-extras.mse-include/examples/watermarks/fesemblem.png new file mode 100644 index 000000000..b0dc90c73 Binary files /dev/null and b/data/magic-mainframe-extras.mse-include/examples/watermarks/fesemblem.png differ diff --git a/data/magic-mainframe-extras.mse-include/readme.txt b/data/magic-mainframe-extras.mse-include/readme.txt index 3601e5f09..1b371e43b 100644 --- a/data/magic-mainframe-extras.mse-include/readme.txt +++ b/data/magic-mainframe-extras.mse-include/readme.txt @@ -11,21 +11,22 @@ mfsfiles/ contains images that can be shared across most Mainframe templates Some example images are provided: Transform/Lesson Circles - aetherprint.png, comedy.png, tragedy.png -Mainframe Rarity - DISc.png, DISu.png, DISr.png, DISm.png, DISmp.png, DISs.png + examples/symbol/aetherprint.png, examples/symbol/comedy.png, examples/symbol/tragedy.png Custom Saga chapter - discovery.png + examples/symbol/discovery.png Replacement Saga chapters - doom/ folder + examples/doom/ folder +Mainframe Rarity + examples/rarity/ folder (DISc.png, DISu.png, DISr.png, DISm.png, DISmp.png, DISs.png) + use examples/rarity/DIS.png as the mainframe rarity name Custom Legend Crowns - cajun/legend/ folder + examples/legend/ folder Mainframe Custom Mana - cajun/small, cajun/large, cajun/future folders + examples/small, examples/large, examples/future folders Custom Border - colorless.png + examples/border/colorless.png Adventure Decorations - decoration/ folder + examples/decoration/ folder these images can be used as the forms - decoration/clight.png - decoration/light.png;color \ No newline at end of file + examples/decoration/clight.png + examples/decoration/light.png;color \ No newline at end of file diff --git a/data/magic-mana-small.mse-symbol-font/alchemy old.png b/data/magic-mana-small.mse-symbol-font/alchemy old.png new file mode 100644 index 000000000..152f040f0 Binary files /dev/null and b/data/magic-mana-small.mse-symbol-font/alchemy old.png differ diff --git a/data/magic-mana-small.mse-symbol-font/alchemy.png b/data/magic-mana-small.mse-symbol-font/alchemy.png new file mode 100644 index 000000000..0496c7dd0 Binary files /dev/null and b/data/magic-mana-small.mse-symbol-font/alchemy.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 76a2ec26d..ebcbfbcdd 100644 --- a/data/magic-mana-small.mse-symbol-font/symbol-font +++ b/data/magic-mana-small.mse-symbol-font/symbol-font @@ -178,6 +178,14 @@ symbol: code: r6 image: chapter6.png image font size: 40 +###################################################################################### Alchemy Symbols +symbol: + code: A- + image: alchemy old.png + enabled: {card.card_symbol == "alchemy old"} +symbol: + code: A- + image: alchemy.png ###################################################################################### Phy Hybrid symbol: code: H/W/U diff --git a/data/magic-modules.mse-include/card-symbols/alchemy old.png b/data/magic-modules.mse-include/card-symbols/alchemy old.png new file mode 100644 index 000000000..152f040f0 Binary files /dev/null and b/data/magic-modules.mse-include/card-symbols/alchemy old.png differ diff --git a/data/magic-modules.mse-include/card-symbols/alchemy.png b/data/magic-modules.mse-include/card-symbols/alchemy.png new file mode 100644 index 000000000..0496c7dd0 Binary files /dev/null and b/data/magic-modules.mse-include/card-symbols/alchemy.png differ diff --git a/data/magic-modules.mse-include/card-symbols/card_fields b/data/magic-modules.mse-include/card-symbols/card_fields new file mode 100644 index 000000000..65af82611 --- /dev/null +++ b/data/magic-modules.mse-include/card-symbols/card_fields @@ -0,0 +1,12 @@ +card style: + card symbol: + left: { card_symbol_left_1() + nameline_offset_left_1() } + top: { card_symbol_top_1() + nameline_offset_top_1() } + width: { card_symbol_width_1() + nameline_offset_height_1() } + height: { if card_symbol_disabled_1() then 0 else card_symbol_height_1() + nameline_offset_height_1() } + visible: { not card_symbol_disabled_1() } + popup style: in place + include file: /magic.mse-game/card-symbols/menu_choice_images + render style: image + image: { card_symbol_image(face: 1) } + z index: 810 diff --git a/data/magic-modules.mse-include/card-symbols/card_fields_dfc b/data/magic-modules.mse-include/card-symbols/card_fields_dfc new file mode 100644 index 000000000..cd6ce7f58 --- /dev/null +++ b/data/magic-modules.mse-include/card-symbols/card_fields_dfc @@ -0,0 +1,13 @@ +include file: /magic-modules.mse-include/card-symbols/card_fields +card style: + card symbol 2: + left: { card_symbol_left_2() + nameline_offset_left_2() } + top: { card_symbol_top_2() + nameline_offset_top_2() } + width: { card_symbol_width_2() + nameline_offset_height_2() } + height: { if card_symbol_disabled_2() then 0 else card_symbol_height_2() + nameline_offset_height_2() } + visible: { not card_symbol_disabled_2() } + popup style: in place + include file: /magic.mse-game/card-symbols/menu_choice_images + render style: image + image: { card_symbol_image(face: 2) } + z index: 810 diff --git a/data/magic-modules.mse-include/card-symbols/card_fields_tfc b/data/magic-modules.mse-include/card-symbols/card_fields_tfc new file mode 100644 index 000000000..da942128b --- /dev/null +++ b/data/magic-modules.mse-include/card-symbols/card_fields_tfc @@ -0,0 +1,13 @@ +include file: /magic-modules.mse-include/card-symbols/card_fields_dfc +card style: + card symbol 3: + left: { card_symbol_left_3() + nameline_offset_left_3() } + top: { card_symbol_top_3() + nameline_offset_top_3() } + width: { card_symbol_width_3() + nameline_offset_height_3() } + height: { if card_symbol_disabled_3() then 0 else card_symbol_height_3() + nameline_offset_height_3() } + visible: { not card_symbol_disabled_3() } + popup style: in place + include file: /magic.mse-game/card-symbols/menu_choice_images + render style: image + image: { card_symbol_image(face: 3) } + z index: 810 diff --git a/data/magic-modules.mse-include/card-symbols/choices b/data/magic-modules.mse-include/card-symbols/choices new file mode 100644 index 000000000..02d88b370 --- /dev/null +++ b/data/magic-modules.mse-include/card-symbols/choices @@ -0,0 +1,4 @@ +choice: none +choice: tombstone +choice: alchemy +choice: alchemy old \ No newline at end of file diff --git a/data/magic-modules.mse-include/card-symbols/readme.txt b/data/magic-modules.mse-include/card-symbols/readme.txt new file mode 100644 index 000000000..ac6af47c6 --- /dev/null +++ b/data/magic-modules.mse-include/card-symbols/readme.txt @@ -0,0 +1,48 @@ +#### Consider using the Namelines module instead of this one + +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/card-symbols/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/card-symbols/card_fields_dfc +include file: /magic-modules.mse-include/card-symbols/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +card symbol: + left: (8, +18 if used, +28 with transform symbol)w + top: 21h + width: 23w + height: 21h +#### Customization +#### Optionally, you can adjust global alignment by defining the following functions in the init script, +#### which must return an int corresponding to the number of pixels you want to shift things by: + +#### To shift everything up/down: +card_symbol_offset_top_1 := { 0 } + +#### To shift everything left/right: +card_symbol_offset_left_1 := { 0 } + +#### To increase/decrease the size: +card_symbol_offset_width_1 := { 0 } +card_symbol_offset_height_1 := { 0 } + +#### For the other faces on DFCs use: +card_symbol_offset_top_2 := { 0 } +card_symbol_offset_left_2 := { 0 } +card_symbol_offset_width_2 := { 0 } +card_symbol_offset_height_2 := { 0 } +card_symbol_offset_top_3 := { 0 } +card_symbol_offset_left_3 := { 0 } +card_symbol_offset_width_3 := { 0 } +card_symbol_offset_height_3 := { 0 } + +#### You can disable the symbols on some of the faces, +#### by adding the following functions in the init script: +card_symbol_disabled_1 := { true } +card_symbol_disabled_2 := { true } +card_symbol_disabled_3 := { true } diff --git a/data/magic-modules.mse-include/card-symbols/tombstone.png b/data/magic-modules.mse-include/card-symbols/tombstone.png new file mode 100644 index 000000000..3b7d1aaf8 Binary files /dev/null and b/data/magic-modules.mse-include/card-symbols/tombstone.png differ diff --git a/data/magic-modules.mse-include/casting-costs/card_fields b/data/magic-modules.mse-include/casting-costs/card_fields new file mode 100644 index 000000000..38402edb1 --- /dev/null +++ b/data/magic-modules.mse-include/casting-costs/card_fields @@ -0,0 +1,18 @@ +card style: + casting cost: + right: { casting_cost_right_1() + nameline_offset_left_1() + nameline_offset_width_1() } + top: { casting_cost_top_1() + nameline_offset_top_1() } + width: { casting_cost_width_1() } + height: { casting_cost_height_1() + nameline_offset_height_1() } + alignment: middle right shrink-overflow + visible: { (not nameline_disabled_1()) and not casting_cost_disabled_1() } + always symbol: true + font: + name: MPlantin + italic name: MPlantin-Italic + size: { name_font_size() } + color: black + symbol font: + name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } + size: { name_font_size() } + z index: 920 \ No newline at end of file diff --git a/data/magic-modules.mse-include/casting-costs/card_fields_dfc b/data/magic-modules.mse-include/casting-costs/card_fields_dfc new file mode 100644 index 000000000..c77b6f662 --- /dev/null +++ b/data/magic-modules.mse-include/casting-costs/card_fields_dfc @@ -0,0 +1,19 @@ +include file: /magic-modules.mse-include/casting-costs/card_fields +card style: + casting cost 2: + right: { casting_cost_right_2() + nameline_offset_left_2() + nameline_offset_width_2() } + top: { casting_cost_top_2() + nameline_offset_top_2() } + width: { casting_cost_width_2() } + height: { casting_cost_height_2() + nameline_offset_height_2() } + alignment: middle right shrink-overflow + visible: { (not nameline_disabled_2()) and not casting_cost_disabled_2() } + always symbol: true + font: + name: MPlantin + italic name: MPlantin-Italic + size: { name2_font_size() } + color: black + symbol font: + name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } + size: { name2_font_size() } + z index: 920 \ No newline at end of file diff --git a/data/magic-modules.mse-include/casting-costs/card_fields_tfc b/data/magic-modules.mse-include/casting-costs/card_fields_tfc new file mode 100644 index 000000000..302681df3 --- /dev/null +++ b/data/magic-modules.mse-include/casting-costs/card_fields_tfc @@ -0,0 +1,19 @@ +include file: /magic-modules.mse-include/casting-costs/card_fields_dfc +card style: + casting cost 3: + right: { casting_cost_right_3() + nameline_offset_left_3() + nameline_offset_width_3() } + top: { casting_cost_top_3() + nameline_offset_top_3() } + width: { casting_cost_width_3() } + height: { casting_cost_height_3() + nameline_offset_height_3() } + alignment: middle right shrink-overflow + visible: { (not nameline_disabled_3()) and not casting_cost_disabled_3() } + always symbol: true + font: + name: MPlantin + italic name: MPlantin-Italic + size: { name3_font_size() } + color: black + symbol font: + name: { styling.casting_cost_mana_symbols or else "magic-mana-large" } + size: { name3_font_size() } + z index: 920 \ No newline at end of file diff --git a/data/magic-modules.mse-include/casting-costs/readme.txt b/data/magic-modules.mse-include/casting-costs/readme.txt new file mode 100644 index 000000000..b6e3c6bc2 --- /dev/null +++ b/data/magic-modules.mse-include/casting-costs/readme.txt @@ -0,0 +1,51 @@ +#### Consider using the Namelines module instead of this one. + +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/casting-costs/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/casting-costs/card_fields_dfc +include file: /magic-modules.mse-include/casting-costs/card_fields_tfc + +#### Also add this among the styling field section, +#### (styling fields will appear in the order you place them). +#### This adds a package option to select an alternate mana font for the casting cost. +include file: /magic-modules.mse-include/casting-costs/styling_fields + +#### Default Field Placement (@375x523, w=1 h=1) +casting cost: + right: 346w + top: 27h + width: min(30w, content) + 5w + height: 21h +#### Customization +#### Optionally, you can define which face of the card the casting cost should snap to, +#### by defining the following function in the init script: +nameline_face_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the casting cost by: + +#### To shift the casting cost up/down: +casting_cost_offset_top_1 := { 0 } + +#### To shift the casting cost left/right: +casting_cost_offset_left_1 := { 0 } + +#### To increase/decrease the width and height of the casting cost: +casting_cost_offset_width_1 := { 0 } +casting_cost_offset_height_1 := { 0 } + +#### For DFC or TFC templates, use: +casting_cost_offset_top_2 := { 0 } +casting_cost_offset_left_2 := { 0 } +casting_cost_offset_width_2 := { 0 } +casting_cost_offset_height_2 := { 0 } +casting_cost_offset_top_3 := { 0 } +casting_cost_offset_left_3 := { 0 } +casting_cost_offset_width_3 := { 0 } +casting_cost_offset_height_3 := { 0 } \ No newline at end of file diff --git a/data/magic-modules.mse-include/casting-costs/styling_fields b/data/magic-modules.mse-include/casting-costs/styling_fields new file mode 100644 index 000000000..d60a5529c --- /dev/null +++ b/data/magic-modules.mse-include/casting-costs/styling_fields @@ -0,0 +1,4 @@ +styling field: + type: package choice + name: casting cost mana symbols + description: Mana symbols used for casting cost, name, banner, fuse and transformation reminder. diff --git a/data/magic-modules.mse-include/chapters/1.png b/data/magic-modules.mse-include/chapters/1.png new file mode 100644 index 000000000..519bbab41 Binary files /dev/null and b/data/magic-modules.mse-include/chapters/1.png differ diff --git a/data/magic-modules.mse-include/chapters/10.png b/data/magic-modules.mse-include/chapters/10.png new file mode 100644 index 000000000..d1ed536aa Binary files /dev/null and b/data/magic-modules.mse-include/chapters/10.png differ diff --git a/data/magic-modules.mse-include/chapters/2.png b/data/magic-modules.mse-include/chapters/2.png new file mode 100644 index 000000000..bbeb22edf Binary files /dev/null and b/data/magic-modules.mse-include/chapters/2.png differ diff --git a/data/magic-modules.mse-include/chapters/3.png b/data/magic-modules.mse-include/chapters/3.png new file mode 100644 index 000000000..3e7d42c4d Binary files /dev/null and b/data/magic-modules.mse-include/chapters/3.png differ diff --git a/data/magic-modules.mse-include/chapters/4.png b/data/magic-modules.mse-include/chapters/4.png new file mode 100644 index 000000000..3aba9038f Binary files /dev/null and b/data/magic-modules.mse-include/chapters/4.png differ diff --git a/data/magic-modules.mse-include/chapters/5.png b/data/magic-modules.mse-include/chapters/5.png new file mode 100644 index 000000000..8f8a56ad5 Binary files /dev/null and b/data/magic-modules.mse-include/chapters/5.png differ diff --git a/data/magic-modules.mse-include/chapters/6.png b/data/magic-modules.mse-include/chapters/6.png new file mode 100644 index 000000000..c7e1078ea Binary files /dev/null and b/data/magic-modules.mse-include/chapters/6.png differ diff --git a/data/magic-modules.mse-include/chapters/7.png b/data/magic-modules.mse-include/chapters/7.png new file mode 100644 index 000000000..4fa359354 Binary files /dev/null and b/data/magic-modules.mse-include/chapters/7.png differ diff --git a/data/magic-modules.mse-include/chapters/8.png b/data/magic-modules.mse-include/chapters/8.png new file mode 100644 index 000000000..46ad3e741 Binary files /dev/null and b/data/magic-modules.mse-include/chapters/8.png differ diff --git a/data/magic-modules.mse-include/chapters/9.png b/data/magic-modules.mse-include/chapters/9.png new file mode 100644 index 000000000..42aa9d495 Binary files /dev/null and b/data/magic-modules.mse-include/chapters/9.png differ diff --git a/data/magic-modules.mse-include/chapters/blank.png b/data/magic-modules.mse-include/chapters/blank.png new file mode 100644 index 000000000..378df0d24 Binary files /dev/null and b/data/magic-modules.mse-include/chapters/blank.png differ diff --git a/data/magic-modules.mse-include/corners/1039x744 diagonal.png b/data/magic-modules.mse-include/corners/1039x744 diagonal.png new file mode 100644 index 000000000..2a2495bd3 Binary files /dev/null and b/data/magic-modules.mse-include/corners/1039x744 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/1039x744 rounded and antialiased.png b/data/magic-modules.mse-include/corners/1039x744 rounded and antialiased.png new file mode 100644 index 000000000..50ca358a4 Binary files /dev/null and b/data/magic-modules.mse-include/corners/1039x744 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/1039x744 rounded.png b/data/magic-modules.mse-include/corners/1039x744 rounded.png new file mode 100644 index 000000000..8d0d2cb59 Binary files /dev/null and b/data/magic-modules.mse-include/corners/1039x744 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/1046x750 diagonal.png b/data/magic-modules.mse-include/corners/1046x750 diagonal.png new file mode 100644 index 000000000..7dacb22ac Binary files /dev/null and b/data/magic-modules.mse-include/corners/1046x750 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/1046x750 rounded and antialiased.png b/data/magic-modules.mse-include/corners/1046x750 rounded and antialiased.png new file mode 100644 index 000000000..21df55e17 Binary files /dev/null and b/data/magic-modules.mse-include/corners/1046x750 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/1046x750 rounded.png b/data/magic-modules.mse-include/corners/1046x750 rounded.png new file mode 100644 index 000000000..525f3ed66 Binary files /dev/null and b/data/magic-modules.mse-include/corners/1046x750 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/375x523 diagonal.png b/data/magic-modules.mse-include/corners/375x523 diagonal.png new file mode 100644 index 000000000..6fd584e05 Binary files /dev/null and b/data/magic-modules.mse-include/corners/375x523 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/375x523 rounded and antialiased.png b/data/magic-modules.mse-include/corners/375x523 rounded and antialiased.png new file mode 100644 index 000000000..5a7293601 Binary files /dev/null and b/data/magic-modules.mse-include/corners/375x523 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/375x523 rounded.png b/data/magic-modules.mse-include/corners/375x523 rounded.png new file mode 100644 index 000000000..c29624e00 Binary files /dev/null and b/data/magic-modules.mse-include/corners/375x523 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/523x375 diagonal.png b/data/magic-modules.mse-include/corners/523x375 diagonal.png new file mode 100644 index 000000000..ddea5e443 Binary files /dev/null and b/data/magic-modules.mse-include/corners/523x375 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/523x375 rounded and antialiased.png b/data/magic-modules.mse-include/corners/523x375 rounded and antialiased.png new file mode 100644 index 000000000..7123d98a6 Binary files /dev/null and b/data/magic-modules.mse-include/corners/523x375 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/523x375 rounded.png b/data/magic-modules.mse-include/corners/523x375 rounded.png new file mode 100644 index 000000000..93fe435b4 Binary files /dev/null and b/data/magic-modules.mse-include/corners/523x375 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/646x902 diagonal.png b/data/magic-modules.mse-include/corners/646x902 diagonal.png new file mode 100644 index 000000000..d8909613c Binary files /dev/null and b/data/magic-modules.mse-include/corners/646x902 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/646x902 rounded and antialiased.png b/data/magic-modules.mse-include/corners/646x902 rounded and antialiased.png new file mode 100644 index 000000000..1f4d279ce Binary files /dev/null and b/data/magic-modules.mse-include/corners/646x902 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/646x902 rounded.png b/data/magic-modules.mse-include/corners/646x902 rounded.png new file mode 100644 index 000000000..b592bc948 Binary files /dev/null and b/data/magic-modules.mse-include/corners/646x902 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/744x1039 diagonal.png b/data/magic-modules.mse-include/corners/744x1039 diagonal.png new file mode 100644 index 000000000..14c34a342 Binary files /dev/null and b/data/magic-modules.mse-include/corners/744x1039 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/744x1039 rounded and antialiased.png b/data/magic-modules.mse-include/corners/744x1039 rounded and antialiased.png new file mode 100644 index 000000000..f533f5537 Binary files /dev/null and b/data/magic-modules.mse-include/corners/744x1039 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/744x1039 rounded.png b/data/magic-modules.mse-include/corners/744x1039 rounded.png new file mode 100644 index 000000000..b8e658aea Binary files /dev/null and b/data/magic-modules.mse-include/corners/744x1039 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/750x1046 diagonal.png b/data/magic-modules.mse-include/corners/750x1046 diagonal.png new file mode 100644 index 000000000..a552c9335 Binary files /dev/null and b/data/magic-modules.mse-include/corners/750x1046 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/750x1046 rounded and antialiased.png b/data/magic-modules.mse-include/corners/750x1046 rounded and antialiased.png new file mode 100644 index 000000000..f66dc1042 Binary files /dev/null and b/data/magic-modules.mse-include/corners/750x1046 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/750x1046 rounded.png b/data/magic-modules.mse-include/corners/750x1046 rounded.png new file mode 100644 index 000000000..5f425ba21 Binary files /dev/null and b/data/magic-modules.mse-include/corners/750x1046 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/902x646 diagonal.png b/data/magic-modules.mse-include/corners/902x646 diagonal.png new file mode 100644 index 000000000..abc9afb2a Binary files /dev/null and b/data/magic-modules.mse-include/corners/902x646 diagonal.png differ diff --git a/data/magic-modules.mse-include/corners/902x646 rounded and antialiased.png b/data/magic-modules.mse-include/corners/902x646 rounded and antialiased.png new file mode 100644 index 000000000..8be27ff04 Binary files /dev/null and b/data/magic-modules.mse-include/corners/902x646 rounded and antialiased.png differ diff --git a/data/magic-modules.mse-include/corners/902x646 rounded.png b/data/magic-modules.mse-include/corners/902x646 rounded.png new file mode 100644 index 000000000..bfb4954b1 Binary files /dev/null and b/data/magic-modules.mse-include/corners/902x646 rounded.png differ diff --git a/data/magic-modules.mse-include/corners/card_fields b/data/magic-modules.mse-include/corners/card_fields new file mode 100644 index 000000000..42ef8c8a2 --- /dev/null +++ b/data/magic-modules.mse-include/corners/card_fields @@ -0,0 +1,13 @@ +card style: + corners: + left: { face_coordinates_map(1).left } + top: { face_coordinates_map(1).top } + width: { face_coordinates_map(1).width } + height: { face_coordinates_map(1).height } + visible: { not corners_disabled_1() } + popup style: in place + include file: /magic.mse-game/corners/menu_choice_images + render style: image + image: { corners_image(field: 1) } + mask: { corners_mask(field: 1, face: 1) } + z index: 1100 \ No newline at end of file diff --git a/data/magic-modules.mse-include/corners/card_fields_dfc b/data/magic-modules.mse-include/corners/card_fields_dfc new file mode 100644 index 000000000..1fd2dbf74 --- /dev/null +++ b/data/magic-modules.mse-include/corners/card_fields_dfc @@ -0,0 +1,14 @@ +include file: /magic-modules.mse-include/corners/card_fields +card style: + corners 2: + left: { face_coordinates_map(2).left } + top: { face_coordinates_map(2).top } + width: { face_coordinates_map(2).width } + height: { face_coordinates_map(2).height } + visible: { not corners_disabled_2() } + popup style: in place + include file: /magic.mse-game/corners/menu_choice_images + render style: image + image: { corners_image(field: 2) } + mask: { corners_mask(field: 2, face: 2) } + z index: 1100 \ No newline at end of file diff --git a/data/magic-modules.mse-include/corners/card_fields_tfc b/data/magic-modules.mse-include/corners/card_fields_tfc new file mode 100644 index 000000000..a65b9a0d7 --- /dev/null +++ b/data/magic-modules.mse-include/corners/card_fields_tfc @@ -0,0 +1,14 @@ +include file: /magic-modules.mse-include/corners/card_fields_dfc +card style: + corners 3: + left: { face_coordinates_map(3).left } + top: { face_coordinates_map(3).top } + width: { face_coordinates_map(3).width } + height: { face_coordinates_map(3).height } + visible: { not corners_disabled_3() } + popup style: in place + include file: /magic.mse-game/corners/menu_choice_images + render style: image + image: { corners_image(field: 3) } + mask: { corners_mask(field: 3, face: 3) } + z index: 1100 \ No newline at end of file diff --git a/data/magic-modules.mse-include/corners/choices b/data/magic-modules.mse-include/corners/choices new file mode 100644 index 000000000..737f22cbd --- /dev/null +++ b/data/magic-modules.mse-include/corners/choices @@ -0,0 +1,5 @@ +choice: rounded and antialiased +choice: rounded +choice: diagonal +choice: none +choice: invisible \ No newline at end of file diff --git a/data/magic-modules.mse-include/corners/color.png b/data/magic-modules.mse-include/corners/color.png new file mode 100644 index 000000000..696fe3de2 Binary files /dev/null and b/data/magic-modules.mse-include/corners/color.png differ diff --git a/data/magic-modules.mse-include/corners/invisible.png b/data/magic-modules.mse-include/corners/invisible.png new file mode 100644 index 000000000..afc70d88e Binary files /dev/null and b/data/magic-modules.mse-include/corners/invisible.png differ diff --git a/data/magic-modules.mse-include/corners/readme.txt b/data/magic-modules.mse-include/corners/readme.txt new file mode 100644 index 000000000..41e12780c --- /dev/null +++ b/data/magic-modules.mse-include/corners/readme.txt @@ -0,0 +1,10 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/corners/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/corners/card_fields_dfc +include file: /magic-modules.mse-include/corners/card_fields_tfc diff --git a/data/magic-modules.mse-include/counters/+1+1 offset.png b/data/magic-modules.mse-include/counters/+1+1 offset.png new file mode 100644 index 000000000..a7e2b2d70 Binary files /dev/null and b/data/magic-modules.mse-include/counters/+1+1 offset.png differ diff --git a/data/magic-modules.mse-include/counters/+1+1.png b/data/magic-modules.mse-include/counters/+1+1.png new file mode 100644 index 000000000..5fddbbc5d Binary files /dev/null and b/data/magic-modules.mse-include/counters/+1+1.png differ diff --git a/data/magic-modules.mse-include/counters/-1-1 offset.png b/data/magic-modules.mse-include/counters/-1-1 offset.png new file mode 100644 index 000000000..8bd21838c Binary files /dev/null and b/data/magic-modules.mse-include/counters/-1-1 offset.png differ diff --git a/data/magic-modules.mse-include/counters/-1-1.png b/data/magic-modules.mse-include/counters/-1-1.png new file mode 100644 index 000000000..deebed26d Binary files /dev/null and b/data/magic-modules.mse-include/counters/-1-1.png differ diff --git a/data/magic-modules.mse-include/counters/acorn.png b/data/magic-modules.mse-include/counters/acorn.png new file mode 100644 index 000000000..b31c4b692 Binary files /dev/null and b/data/magic-modules.mse-include/counters/acorn.png differ diff --git a/data/magic-modules.mse-include/counters/aether.png b/data/magic-modules.mse-include/counters/aether.png new file mode 100644 index 000000000..ac675b416 Binary files /dev/null and b/data/magic-modules.mse-include/counters/aether.png differ diff --git a/data/magic-modules.mse-include/counters/arrow.png b/data/magic-modules.mse-include/counters/arrow.png new file mode 100644 index 000000000..297fc318e Binary files /dev/null and b/data/magic-modules.mse-include/counters/arrow.png differ diff --git a/data/magic-modules.mse-include/counters/awakening.png b/data/magic-modules.mse-include/counters/awakening.png new file mode 100644 index 000000000..ef21e4029 Binary files /dev/null and b/data/magic-modules.mse-include/counters/awakening.png differ diff --git a/data/magic-modules.mse-include/counters/bounty.png b/data/magic-modules.mse-include/counters/bounty.png new file mode 100644 index 000000000..12108605a Binary files /dev/null and b/data/magic-modules.mse-include/counters/bounty.png differ diff --git a/data/magic-modules.mse-include/counters/charge.png b/data/magic-modules.mse-include/counters/charge.png new file mode 100644 index 000000000..ee715d734 Binary files /dev/null and b/data/magic-modules.mse-include/counters/charge.png differ diff --git a/data/magic-modules.mse-include/counters/choices b/data/magic-modules.mse-include/counters/choices new file mode 100644 index 000000000..cc4c6350a --- /dev/null +++ b/data/magic-modules.mse-include/counters/choices @@ -0,0 +1,53 @@ +choice: + name: none + line below: true +choice: + name: custom + line below: true +choice: +1/+1 +choice: -1/-1 +choice: acorn +choice: aether +choice: arrow +choice: awakening +choice: bounty +choice: charge +choice: corpse +choice: deathtouch alt +choice: deathtouch +choice: defender +choice: doom +choice: double strike +choice: egg +choice: energy +choice: experience +choice: finality +choice: first strike +choice: flame +choice: flood +choice: flying +choice: goaded +choice: haste +choice: hexproof alt +choice: hexproof +choice: indestructible +choice: lifelink alt +choice: lifelink +choice: lore +choice: menace +choice: oil +choice: omen +choice: poison +choice: rad +choice: reach +choice: shield +choice: solved +choice: spore +choice: stun +choice: suspected +choice: ticket +choice: time +choice: trample +choice: unlock +choice: vigilance +choice: void \ No newline at end of file diff --git a/data/magic-modules.mse-include/counters/corpse.png b/data/magic-modules.mse-include/counters/corpse.png new file mode 100644 index 000000000..d91dd1ab9 Binary files /dev/null and b/data/magic-modules.mse-include/counters/corpse.png differ diff --git a/data/magic-modules.mse-include/counters/deathtouch alt.png b/data/magic-modules.mse-include/counters/deathtouch alt.png new file mode 100644 index 000000000..fb9e03166 Binary files /dev/null and b/data/magic-modules.mse-include/counters/deathtouch alt.png differ diff --git a/data/magic-modules.mse-include/counters/deathtouch.png b/data/magic-modules.mse-include/counters/deathtouch.png new file mode 100644 index 000000000..30f6cf047 Binary files /dev/null and b/data/magic-modules.mse-include/counters/deathtouch.png differ diff --git a/data/magic-modules.mse-include/counters/defender.png b/data/magic-modules.mse-include/counters/defender.png new file mode 100644 index 000000000..7219f21a9 Binary files /dev/null and b/data/magic-modules.mse-include/counters/defender.png differ diff --git a/data/magic-modules.mse-include/counters/doom.png b/data/magic-modules.mse-include/counters/doom.png new file mode 100644 index 000000000..e8f2f5756 Binary files /dev/null and b/data/magic-modules.mse-include/counters/doom.png differ diff --git a/data/magic-modules.mse-include/counters/double strike.png b/data/magic-modules.mse-include/counters/double strike.png new file mode 100644 index 000000000..c38047cc5 Binary files /dev/null and b/data/magic-modules.mse-include/counters/double strike.png differ diff --git a/data/magic-modules.mse-include/counters/egg.png b/data/magic-modules.mse-include/counters/egg.png new file mode 100644 index 000000000..8beac031d Binary files /dev/null and b/data/magic-modules.mse-include/counters/egg.png differ diff --git a/data/magic-modules.mse-include/counters/energy.png b/data/magic-modules.mse-include/counters/energy.png new file mode 100644 index 000000000..d433fd54c Binary files /dev/null and b/data/magic-modules.mse-include/counters/energy.png differ diff --git a/data/magic-modules.mse-include/counters/experience.png b/data/magic-modules.mse-include/counters/experience.png new file mode 100644 index 000000000..1157a1493 Binary files /dev/null and b/data/magic-modules.mse-include/counters/experience.png differ diff --git a/data/magic-modules.mse-include/counters/finality.png b/data/magic-modules.mse-include/counters/finality.png new file mode 100644 index 000000000..0d41cce31 Binary files /dev/null and b/data/magic-modules.mse-include/counters/finality.png differ diff --git a/data/magic-modules.mse-include/counters/first strike.png b/data/magic-modules.mse-include/counters/first strike.png new file mode 100644 index 000000000..4ae3d8512 Binary files /dev/null and b/data/magic-modules.mse-include/counters/first strike.png differ diff --git a/data/magic-modules.mse-include/counters/flame.png b/data/magic-modules.mse-include/counters/flame.png new file mode 100644 index 000000000..0b77985a1 Binary files /dev/null and b/data/magic-modules.mse-include/counters/flame.png differ diff --git a/data/magic-modules.mse-include/counters/flood.png b/data/magic-modules.mse-include/counters/flood.png new file mode 100644 index 000000000..4a40d23d0 Binary files /dev/null and b/data/magic-modules.mse-include/counters/flood.png differ diff --git a/data/magic-modules.mse-include/counters/flying.png b/data/magic-modules.mse-include/counters/flying.png new file mode 100644 index 000000000..32efa156f Binary files /dev/null and b/data/magic-modules.mse-include/counters/flying.png differ diff --git a/data/magic-modules.mse-include/counters/goaded.png b/data/magic-modules.mse-include/counters/goaded.png new file mode 100644 index 000000000..2e57d8643 Binary files /dev/null and b/data/magic-modules.mse-include/counters/goaded.png differ diff --git a/data/magic-modules.mse-include/counters/haste.png b/data/magic-modules.mse-include/counters/haste.png new file mode 100644 index 000000000..c6a0552bd Binary files /dev/null and b/data/magic-modules.mse-include/counters/haste.png differ diff --git a/data/magic-modules.mse-include/counters/hexproof alt.png b/data/magic-modules.mse-include/counters/hexproof alt.png new file mode 100644 index 000000000..3d4926144 Binary files /dev/null and b/data/magic-modules.mse-include/counters/hexproof alt.png differ diff --git a/data/magic-modules.mse-include/counters/hexproof.png b/data/magic-modules.mse-include/counters/hexproof.png new file mode 100644 index 000000000..59a030568 Binary files /dev/null and b/data/magic-modules.mse-include/counters/hexproof.png differ diff --git a/data/magic-modules.mse-include/counters/indestructible.png b/data/magic-modules.mse-include/counters/indestructible.png new file mode 100644 index 000000000..772d6811e Binary files /dev/null and b/data/magic-modules.mse-include/counters/indestructible.png differ diff --git a/data/magic-modules.mse-include/counters/lifelink alt.png b/data/magic-modules.mse-include/counters/lifelink alt.png new file mode 100644 index 000000000..cc7502b00 Binary files /dev/null and b/data/magic-modules.mse-include/counters/lifelink alt.png differ diff --git a/data/magic-modules.mse-include/counters/lifelink.png b/data/magic-modules.mse-include/counters/lifelink.png new file mode 100644 index 000000000..79b604ea7 Binary files /dev/null and b/data/magic-modules.mse-include/counters/lifelink.png differ diff --git a/data/magic-modules.mse-include/counters/lore.png b/data/magic-modules.mse-include/counters/lore.png new file mode 100644 index 000000000..bba4c7d1c Binary files /dev/null and b/data/magic-modules.mse-include/counters/lore.png differ diff --git a/data/magic-modules.mse-include/counters/menace.png b/data/magic-modules.mse-include/counters/menace.png new file mode 100644 index 000000000..406defceb Binary files /dev/null and b/data/magic-modules.mse-include/counters/menace.png differ diff --git a/data/magic-modules.mse-include/counters/none.png b/data/magic-modules.mse-include/counters/none.png new file mode 100644 index 000000000..14d76ba19 Binary files /dev/null and b/data/magic-modules.mse-include/counters/none.png differ diff --git a/data/magic-modules.mse-include/counters/oil.png b/data/magic-modules.mse-include/counters/oil.png new file mode 100644 index 000000000..6f4d4a618 Binary files /dev/null and b/data/magic-modules.mse-include/counters/oil.png differ diff --git a/data/magic-modules.mse-include/counters/omen.png b/data/magic-modules.mse-include/counters/omen.png new file mode 100644 index 000000000..836b5f250 Binary files /dev/null and b/data/magic-modules.mse-include/counters/omen.png differ diff --git a/data/magic-modules.mse-include/counters/poison.png b/data/magic-modules.mse-include/counters/poison.png new file mode 100644 index 000000000..e9e438c2f Binary files /dev/null and b/data/magic-modules.mse-include/counters/poison.png differ diff --git a/data/magic-modules.mse-include/counters/rad.png b/data/magic-modules.mse-include/counters/rad.png new file mode 100644 index 000000000..4b4eac081 Binary files /dev/null and b/data/magic-modules.mse-include/counters/rad.png differ diff --git a/data/magic-modules.mse-include/counters/reach.png b/data/magic-modules.mse-include/counters/reach.png new file mode 100644 index 000000000..cd5cfb5d1 Binary files /dev/null and b/data/magic-modules.mse-include/counters/reach.png differ diff --git a/data/magic-modules.mse-include/counters/shield.png b/data/magic-modules.mse-include/counters/shield.png new file mode 100644 index 000000000..c085a1036 Binary files /dev/null and b/data/magic-modules.mse-include/counters/shield.png differ diff --git a/data/magic-modules.mse-include/counters/solved.png b/data/magic-modules.mse-include/counters/solved.png new file mode 100644 index 000000000..e4f0bdada Binary files /dev/null and b/data/magic-modules.mse-include/counters/solved.png differ diff --git a/data/magic-modules.mse-include/counters/spore.png b/data/magic-modules.mse-include/counters/spore.png new file mode 100644 index 000000000..d6887a81a Binary files /dev/null and b/data/magic-modules.mse-include/counters/spore.png differ diff --git a/data/magic-modules.mse-include/counters/stun.png b/data/magic-modules.mse-include/counters/stun.png new file mode 100644 index 000000000..b68ce0fd4 Binary files /dev/null and b/data/magic-modules.mse-include/counters/stun.png differ diff --git a/data/magic-modules.mse-include/counters/suspected.png b/data/magic-modules.mse-include/counters/suspected.png new file mode 100644 index 000000000..63edbd1b6 Binary files /dev/null and b/data/magic-modules.mse-include/counters/suspected.png differ diff --git a/data/magic-modules.mse-include/counters/ticket.png b/data/magic-modules.mse-include/counters/ticket.png new file mode 100644 index 000000000..67c8e0f2e Binary files /dev/null and b/data/magic-modules.mse-include/counters/ticket.png differ diff --git a/data/magic-modules.mse-include/counters/time.png b/data/magic-modules.mse-include/counters/time.png new file mode 100644 index 000000000..2f1f94a22 Binary files /dev/null and b/data/magic-modules.mse-include/counters/time.png differ diff --git a/data/magic-modules.mse-include/counters/trample.png b/data/magic-modules.mse-include/counters/trample.png new file mode 100644 index 000000000..5cff248d2 Binary files /dev/null and b/data/magic-modules.mse-include/counters/trample.png differ diff --git a/data/magic-modules.mse-include/counters/unlock.png b/data/magic-modules.mse-include/counters/unlock.png new file mode 100644 index 000000000..6fd11a018 Binary files /dev/null and b/data/magic-modules.mse-include/counters/unlock.png differ diff --git a/data/magic-modules.mse-include/counters/vigilance.png b/data/magic-modules.mse-include/counters/vigilance.png new file mode 100644 index 000000000..dfdf074b2 Binary files /dev/null and b/data/magic-modules.mse-include/counters/vigilance.png differ diff --git a/data/magic-modules.mse-include/counters/void.png b/data/magic-modules.mse-include/counters/void.png new file mode 100644 index 000000000..d23f1c5ef Binary files /dev/null and b/data/magic-modules.mse-include/counters/void.png differ diff --git a/data/magic-modules.mse-include/fonts/readme.txt b/data/magic-modules.mse-include/fonts/readme.txt new file mode 100644 index 000000000..36a4b0d7b --- /dev/null +++ b/data/magic-modules.mse-include/fonts/readme.txt @@ -0,0 +1,50 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this among the styling field section +#### (styling fields will appear in the order you place them). +#### This will add a boolean to enable custom fonts, and four text +#### options for customizing nameline, typeline, textbox, and pt fonts. +include file: /magic-modules.mse-include/fonts/styling_fields + +#### You may also need to redefine the defaults in the style file: +swap_fonts_name_default := [ + name: {"Beleren Bold"}, + size: {16}, + color: {"black"}, + vertical: {0}, + italic: {""} +] +swap_fonts_type_default := [ + name: {"Beleren Bold"}, + size: {13}, + color: {"black"}, + vertical: {0}, + italic: {""} +] +swap_fonts_body_default := [ + name: {"MPlantin"}, + size: {13}, + color: {"black"}, + vertical: {0}, + italic: {"MPlantin-Italic"} +] +swap_fonts_pt_default := [ + name: {"Beleren Bold"}, + size: {16}, + color: {"black"}, + vertical: {0}, + italic: {""} +] + +#### For DFC or TFC templates, or just templates with multiple text fields, use: +swap_fonts_name2_default := [] +swap_fonts_name3_default := [] +swap_fonts_type2_default := [] +swap_fonts_type3_default := [] +swap_fonts_body2_default := [] +swap_fonts_body3_default := [] +swap_fonts_pt2_default := [] +swap_fonts_pt3_default := [] \ No newline at end of file diff --git a/data/magic-modules.mse-include/fonts/styling_fields b/data/magic-modules.mse-include/fonts/styling_fields new file mode 100644 index 000000000..845a9e990 --- /dev/null +++ b/data/magic-modules.mse-include/fonts/styling_fields @@ -0,0 +1,21 @@ +styling field: + type: boolean + name: apply custom fonts + description: Enable to attempt to use custom fonts given below + initial: no +styling field: + type: text + name: custom name font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. +styling field: + type: text + name: custom type font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. +styling field: + type: text + name: custom body font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. +styling field: + type: text + name: custom pt font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. diff --git a/data/magic-modules.mse-include/include b/data/magic-modules.mse-include/include new file mode 100644 index 000000000..ce5d5baff --- /dev/null +++ b/data/magic-modules.mse-include/include @@ -0,0 +1,11 @@ +mse version: 2.0.0 +full name: Magic The Gathering, frame building modules +version: 2024-05-20 +depends on: + package: magic.mse-game + version: 2014-06-25 + + +#### This file doesn't do anything. +#### Other files in this directory can be included in game/style files. +#### Refer to readme files in subfolders for how to use specific modules. \ No newline at end of file diff --git a/data/magic-modules.mse-include/indicators/aidentity.png b/data/magic-modules.mse-include/indicators/aidentity.png new file mode 100644 index 000000000..061a8ace9 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/aidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/baidentity.png b/data/magic-modules.mse-include/indicators/baidentity.png new file mode 100644 index 000000000..447cef2ad Binary files /dev/null and b/data/magic-modules.mse-include/indicators/baidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/bidentity.png b/data/magic-modules.mse-include/indicators/bidentity.png new file mode 100644 index 000000000..188a12494 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/bidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/blidentity.png b/data/magic-modules.mse-include/indicators/blidentity.png new file mode 100644 index 000000000..188a12494 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/blidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/card_fields b/data/magic-modules.mse-include/indicators/card_fields new file mode 100644 index 000000000..ca17e08c4 --- /dev/null +++ b/data/magic-modules.mse-include/indicators/card_fields @@ -0,0 +1,10 @@ +card style: + indicator: + left: { indicator_left_1() + typeline_offset_left_1() } + top: { indicator_top_1() + typeline_offset_top_1() } + width: { indicator_size_1() + typeline_offset_height_1() } + height: { indicator_size_1() + typeline_offset_height_1() } + z index: 800 + render style: image + visible: { (not typeline_disabled_1()) and (not indicator_disabled_1()) and has_identity() } + image: { card_identity(card.indicator) } \ No newline at end of file diff --git a/data/magic-modules.mse-include/indicators/card_fields_dfc b/data/magic-modules.mse-include/indicators/card_fields_dfc new file mode 100644 index 000000000..4322d1112 --- /dev/null +++ b/data/magic-modules.mse-include/indicators/card_fields_dfc @@ -0,0 +1,11 @@ +include file: card_fields +card style: + indicator 2: + left: { indicator_left_2() + typeline_offset_left_2() } + top: { indicator_top_2() + typeline_offset_top_2() } + width: { indicator_size_2() + typeline_offset_height_2() } + height: { indicator_size_2() + typeline_offset_height_2() } + z index: 800 + render style: image + visible: { (not typeline_disabled_2()) and (not indicator_disabled_2()) and has_identity_2() } + image: { card_identity(card.indicator_2) } \ No newline at end of file diff --git a/data/magic-modules.mse-include/indicators/card_fields_tfc b/data/magic-modules.mse-include/indicators/card_fields_tfc new file mode 100644 index 000000000..380a70cab --- /dev/null +++ b/data/magic-modules.mse-include/indicators/card_fields_tfc @@ -0,0 +1,11 @@ +include file: card_fields_dfc +card style: + indicator 3: + left: { indicator_left_3() + typeline_offset_left_3() } + top: { indicator_top_3() + typeline_offset_top_3() } + width: { indicator_size_3() + typeline_offset_height_3() } + height: { indicator_size_3() + typeline_offset_height_3() } + z index: 800 + render style: image + visible: { (not typeline_disabled_3()) and not indicator_disabled_3() and has_identity_3() } + image: { card_identity(card.indicator_3) } \ No newline at end of file diff --git a/data/magic-modules.mse-include/indicators/cidentity.png b/data/magic-modules.mse-include/indicators/cidentity.png new file mode 100644 index 000000000..05aee2e5c Binary files /dev/null and b/data/magic-modules.mse-include/indicators/cidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/clidentity.png b/data/magic-modules.mse-include/indicators/clidentity.png new file mode 100644 index 000000000..05aee2e5c Binary files /dev/null and b/data/magic-modules.mse-include/indicators/clidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/gidentity.png b/data/magic-modules.mse-include/indicators/gidentity.png new file mode 100644 index 000000000..1f89d43e1 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/gidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/glidentity.png b/data/magic-modules.mse-include/indicators/glidentity.png new file mode 100644 index 000000000..1f89d43e1 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/glidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_32.png b/data/magic-modules.mse-include/indicators/imask_32.png new file mode 100644 index 000000000..fdca7c202 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_32.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_33.png b/data/magic-modules.mse-include/indicators/imask_33.png new file mode 100644 index 000000000..5d16919aa Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_33.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_42.png b/data/magic-modules.mse-include/indicators/imask_42.png new file mode 100644 index 000000000..bf79bb442 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_42.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_43.png b/data/magic-modules.mse-include/indicators/imask_43.png new file mode 100644 index 000000000..734a7a59b Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_43.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_44.png b/data/magic-modules.mse-include/indicators/imask_44.png new file mode 100644 index 000000000..e07988fe8 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_44.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_52.png b/data/magic-modules.mse-include/indicators/imask_52.png new file mode 100644 index 000000000..dbc5c16f8 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_52.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_53.png b/data/magic-modules.mse-include/indicators/imask_53.png new file mode 100644 index 000000000..e58bbd642 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_53.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_54.png b/data/magic-modules.mse-include/indicators/imask_54.png new file mode 100644 index 000000000..c46eb3e4d Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_54.png differ diff --git a/data/magic-modules.mse-include/indicators/imask_55.png b/data/magic-modules.mse-include/indicators/imask_55.png new file mode 100644 index 000000000..43f495c29 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/imask_55.png differ diff --git a/data/magic-modules.mse-include/indicators/midentity.png b/data/magic-modules.mse-include/indicators/midentity.png new file mode 100644 index 000000000..000bddd47 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/midentity.png differ diff --git a/data/magic-modules.mse-include/indicators/mlidentity.png b/data/magic-modules.mse-include/indicators/mlidentity.png new file mode 100644 index 000000000..000bddd47 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/mlidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/omidentity.png b/data/magic-modules.mse-include/indicators/omidentity.png new file mode 100644 index 000000000..2403fb783 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/omidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/omlidentity.png b/data/magic-modules.mse-include/indicators/omlidentity.png new file mode 100644 index 000000000..2403fb783 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/omlidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/readme.txt b/data/magic-modules.mse-include/indicators/readme.txt new file mode 100644 index 000000000..56763eb51 --- /dev/null +++ b/data/magic-modules.mse-include/indicators/readme.txt @@ -0,0 +1,43 @@ +#### Consider using the Typelines module instead of this one. + +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/indicators/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/indicators/card_fields_dfc +include file: /magic-modules.mse-include/indicators/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +indicator: + left: 31w + top: 301h + width: 17w + height: 17h +#### Customization +#### Optionally, you can define which face of the card the color indicator should snap to, +#### by defining the following function in the init script: +typeline_face_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the color indicator by: + +#### To shift the color indicator up/down: +indicator_offset_top_1 := { 0 } + +#### To shift the color indicator left/right: +indicator_offset_left_1 := { 0 } + +#### To increase/decrease the width and height of the color indicator: +indicator_offset_size_1 := { 0 } + +#### For DFC or TFC templates, use: +indicator_offset_top_2 := { 0 } +indicator_offset_left_2 := { 0 } +indicator_offset_size_2 := { 0 } +indicator_offset_top_3 := { 0 } +indicator_offset_left_3 := { 0 } +indicator_offset_size_3 := { 0 } diff --git a/data/magic-modules.mse-include/indicators/ridentity.png b/data/magic-modules.mse-include/indicators/ridentity.png new file mode 100644 index 000000000..70f9500f8 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/ridentity.png differ diff --git a/data/magic-modules.mse-include/indicators/rlidentity.png b/data/magic-modules.mse-include/indicators/rlidentity.png new file mode 100644 index 000000000..70f9500f8 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/rlidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/uidentity.png b/data/magic-modules.mse-include/indicators/uidentity.png new file mode 100644 index 000000000..5bbd07a6f Binary files /dev/null and b/data/magic-modules.mse-include/indicators/uidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/ulidentity.png b/data/magic-modules.mse-include/indicators/ulidentity.png new file mode 100644 index 000000000..5bbd07a6f Binary files /dev/null and b/data/magic-modules.mse-include/indicators/ulidentity.png differ diff --git a/data/magic-modules.mse-include/indicators/widentity.png b/data/magic-modules.mse-include/indicators/widentity.png new file mode 100644 index 000000000..2b36bf8e3 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/widentity.png differ diff --git a/data/magic-modules.mse-include/indicators/wlidentity.png b/data/magic-modules.mse-include/indicators/wlidentity.png new file mode 100644 index 000000000..2b36bf8e3 Binary files /dev/null and b/data/magic-modules.mse-include/indicators/wlidentity.png differ diff --git a/data/magic-modules.mse-include/information/art old.png b/data/magic-modules.mse-include/information/art old.png new file mode 100644 index 000000000..bdb26efc8 Binary files /dev/null and b/data/magic-modules.mse-include/information/art old.png differ diff --git a/data/magic-modules.mse-include/information/art.png b/data/magic-modules.mse-include/information/art.png new file mode 100644 index 000000000..d872cbd0a Binary files /dev/null and b/data/magic-modules.mse-include/information/art.png differ diff --git a/data/magic-modules.mse-include/information/card_fields b/data/magic-modules.mse-include/information/card_fields new file mode 100644 index 000000000..17153f35d --- /dev/null +++ b/data/magic-modules.mse-include/information/card_fields @@ -0,0 +1,856 @@ +card style: + set code: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 24 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + 24 * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + 24 * face_coordinates_map(1).height/375 + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 499 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + 40 * face_coordinates_map(1).width/523 + ) else ( + 40 * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + set language: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 14 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + 24 * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + 24 * face_coordinates_map(1).height/375 + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 509 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + code := if is_masterpiece() then set.masterpiece_set_code else set.set_code + if card.additional_credit_brush == "none" or (not set.adaptive_language_height) or code == "" then 0 + else 40 * face_coordinates_map(1).width/523 + ) else ( + code := if is_masterpiece() then set.masterpiece_set_code else set.set_code + if card.additional_credit_brush == "none" or (not set.adaptive_language_height) or code == "" then 0 + else 40 * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + card code: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 34 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + 24 * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + 24 * face_coordinates_map(1).height/375 + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 489 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + 120 * face_coordinates_map(1).width/523 + ) else ( + 120 * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + partition select: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 34 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + 24 * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + 24 * face_coordinates_map(1).height/375 + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 489 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if not use_auto_numbers() then 0 + else if face_is_rotated(1) then + ( + 35 * face_coordinates_map(1).width/523 + ) else ( + 35 * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() and use_auto_numbers() } + popup style: menu + render style: hidden + z index: 1100 + illustrator: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 24 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else (set_code_space + card_style.set_code.content_width) + set_language_width := if card.set_language == "" then 0 else (set_code_space + card_style.set_language.content_width) + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + initial_space + set_width + illustrator_brush_width + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else (set_code_space + card_style.set_code.content_width) + set_language_width := if card.set_language == "" then 0 else (set_code_space + card_style.set_language.content_width) + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + initial_space + set_width + illustrator_brush_width + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 499 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + max(50 * face_coordinates_map(1).width/523, card_style.illustrator.content_width + 10 * face_coordinates_map(1).width/523) + ) else ( + max(50 * face_coordinates_map(1).width/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).width/375) + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + illustrator brush: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 22 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else (set_code_space + card_style.set_code.content_width) + set_language_width := if card.set_language == "" then 0 else (set_code_space + card_style.set_language.content_width) + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else (set_code_space + card_style.set_code.content_width) + set_language_width := if card.set_language == "" then 0 else (set_code_space + card_style.set_language.content_width) + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 501 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * face_coordinates_map(1).width/523 + ) else ( + (if card.illustrator_brush == "art old" then 30 else if contains(card.illustrator_brush, match: "wide") then 15 else 12) * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + 7 * face_coordinates_map(1).height/375 + ) else ( + 7 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { illustrator_brush_image(field: 1) } + z index: 900 + additional credit: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 14 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else (set_code_space + card_style.set_code.content_width) + set_language_width := if card.set_language == "" then 0 else (set_code_space + card_style.set_language.content_width) + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + initial_space + set_width + additional_credit_brush_width + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else (set_code_space + card_style.set_code.content_width) + set_language_width := if card.set_language == "" then 0 else (set_code_space + card_style.set_language.content_width) + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + initial_space + set_width + additional_credit_brush_width + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 509 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then 0 else max(50 * face_coordinates_map(1).width/523, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).width/523) + ) else ( + if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then 0 else max(50 * face_coordinates_map(1).width/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).width/375) + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + additional credit brush: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 12 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 511 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + (if card.additional_credit_brush == "art old" then 30 else if contains(card.additional_credit_brush, match: "wide") then 15 else 12) * face_coordinates_map(1).width/523 + ) else ( + (if card.additional_credit_brush == "art old" then 30 else if contains(card.additional_credit_brush, match: "wide") then 15 else 12) * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + 7 * face_coordinates_map(1).height/375 + ) else ( + 7 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { additional_credit_brush_image(field: 1) } + z index: 900 + additional credit 2: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 24 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).width/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).width/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).width/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).width/375) + bottom_margin := additional_credit_left + additional_credit_width + + additional_credit_brush_2_width := (if card.additional_credit_brush_2 == "art old" then 31 else if contains(card.additional_credit_brush_2, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + + max(top_margin, bottom_margin) + additional_credit_brush_2_width + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).height/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).height/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).height/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).height/375) + bottom_margin := additional_credit_left + additional_credit_width + + additional_credit_brush_2_width := (if card.additional_credit_brush_2 == "art old" then 31 else if contains(card.additional_credit_brush_2, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + + max(top_margin, bottom_margin) + additional_credit_brush_2_width + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 499 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + (if card.additional_credit_brush_2 != "none" then 80 else 0) * face_coordinates_map(1).width/523 + ) else ( + (if card.additional_credit_brush_2 != "none" then 80 else 0) * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + additional credit brush 2: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 22 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).width/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).width/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).width/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).width/375) + bottom_margin := additional_credit_left + additional_credit_width + + max(top_margin, bottom_margin) + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).height/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).height/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).height/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).height/375) + bottom_margin := additional_credit_left + additional_credit_width + + max(top_margin, bottom_margin) + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 501 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + (if card.additional_credit_brush_2 == "art old" then 30 else if contains(card.additional_credit_brush_2, match: "wide") then 15 else 12) * face_coordinates_map(1).width/523 + ) else ( + (if card.additional_credit_brush_2 == "art old" then 30 else if contains(card.additional_credit_brush_2, match: "wide") then 15 else 12) * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + 7 * face_coordinates_map(1).height/375 + ) else ( + 7 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { additional_credit_brush_image(field: 2) } + z index: 900 + additional credit 3: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 14 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).width/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).width/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).width/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).width/375) + bottom_margin := additional_credit_left + additional_credit_width + + additional_credit_brush_3_width := (if card.additional_credit_brush_3 == "art old" then 31 else if contains(card.additional_credit_brush_3, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + + max(top_margin, bottom_margin) + additional_credit_brush_3_width + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).height/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).height/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).height/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).height/375) + bottom_margin := additional_credit_left + additional_credit_width + + additional_credit_brush_3_width := (if card.additional_credit_brush_3 == "art old" then 31 else if contains(card.additional_credit_brush_3, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + + max(top_margin, bottom_margin) + additional_credit_brush_3_width + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 509 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + (if card.additional_credit_brush_3 != "none" and card.additional_credit_brush != "none" then 80 else 0) * face_coordinates_map(1).width/523 + ) else ( + (if card.additional_credit_brush_3 != "none" and card.additional_credit_brush != "none" then 80 else 0) * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + additional credit brush 3: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 12 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + initial_space := 25 * face_coordinates_map(1).width/375 + + set_code_space := 4 * face_coordinates_map(1).width/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).width/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).width/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).width/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).width/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).width/375) + bottom_margin := additional_credit_left + additional_credit_width + + max(top_margin, bottom_margin) + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + top: + script: + if face_is_rotated(1) then + ( + initial_space := 25 * face_coordinates_map(1).height/375 + + set_code_space := 4 * face_coordinates_map(1).height/375 + set_code_width := if card.set_code == "" then 0 else set_code_space + card_style.set_code.content_width + set_language_width := if card.set_language == "" then 0 else set_code_space + card_style.set_language.content_width + set_width := if card.additional_credit_brush == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + + illustrator_brush_width := (if card.illustrator_brush == "art old" then 31 else if contains(card.illustrator_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + illustrator_left := initial_space + set_width + illustrator_brush_width + illustrator_width := max(50 * face_coordinates_map(1).height/375, card_style.illustrator.content_width + 10 * face_coordinates_map(1).height/375) + top_margin := illustrator_left + illustrator_width + + additional_credit_brush_width := (if card.additional_credit_brush == "art old" then 31 else if contains(card.additional_credit_brush, match: "wide") then 17 else 14) * face_coordinates_map(1).height/375 + additional_credit_left := initial_space + set_width + additional_credit_brush_width + additional_credit_width := max(50 * face_coordinates_map(1).height/375, card_style.additional_credit.content_width + 10 * face_coordinates_map(1).height/375) + bottom_margin := additional_credit_left + additional_credit_width + + max(top_margin, bottom_margin) + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + 511 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + (if card.additional_credit_brush_3 == "art old" then 30 else if contains(card.additional_credit_brush_3, match: "wide") then 15 else 12) * face_coordinates_map(1).width/523 + ) else ( + (if card.additional_credit_brush_3 == "art old" then 30 else if contains(card.additional_credit_brush_3, match: "wide") then 15 else 12) * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + 7 * face_coordinates_map(1).height/375 + ) else ( + 7 * face_coordinates_map(1).height/523 + ) + visible: { card.additional_credit_brush != "none" and not information_disabled_1() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { additional_credit_brush_image(field: 3) } + z index: 900 + copyright: + angle: { if face_is_rotated(1) then -90 else 0 } + right: + script: + if face_is_rotated(1) then + ( + (if card.pt != "" or card.loyalty != "" then 21 + information_secondary_offset_pt_left_1() else if card.secondary_copyright != "" then 23 else 33) * face_coordinates_map(1).width/523 + + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + 351 * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + information_copyright_offset_right_1() + ) + top: + script: + if face_is_rotated(1) then + ( + 351 * face_coordinates_map(1).height/375 + face_coordinates_map(1).top + information_copyright_offset_right_1() + ) else ( + (if card.pt != "" or card.loyalty != "" then 502 + information_copyright_offset_pt_top_1() else if card.secondary_copyright != "" then 500 else 490) * face_coordinates_map(1).height/523 + + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + if set.automatic_copyright then 0 else 140 * face_coordinates_map(1).width/523 + ) else ( + if set.automatic_copyright then 0 else 140 * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle right shrink-overflow + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + auto copyright: + angle: { if face_is_rotated(1) then -90 else 0 } + right: + script: + if face_is_rotated(1) then + ( + (if card.pt != "" or card.loyalty != "" then 21 + information_secondary_offset_pt_left_1() else if card.secondary_copyright != "" then 23 else 33) * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + 351 * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + information_copyright_offset_right_1() + ) + top: + script: + if face_is_rotated(1) then + ( + 351 * face_coordinates_map(1).height/375 + face_coordinates_map(1).top + information_copyright_offset_right_1() + ) else ( + (if card.pt != "" or card.loyalty != "" then 502 + information_copyright_offset_pt_top_1() else if card.secondary_copyright != "" then 500 else 490) * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + if set.automatic_copyright then 140 * face_coordinates_map(1).width/523 else 0 + ) else ( + if set.automatic_copyright then 140 * face_coordinates_map(1).width/375 else 0 + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: middle right shrink-overflow + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + secondary copyright: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + 33 * face_coordinates_map(1).width/523 + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + needed := (255 + information_secondary_offset_pt_left_1() - if length(card.secondary_copyright) > 9 then 45 else if length(card.secondary_copyright) > 6 then 25 else if length(card.secondary_copyright) > 4 then 10 else 0) * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + aligned := 351 * face_coordinates_map(1).width/375 + information_copyright_offset_right_1() - (if set.automatic_copyright then card_style.auto_copyright.content_width else card_style.copyright.content_width) + face_coordinates_map(1).left + max(min(needed, aligned), 211 * face_coordinates_map(1).width/375) + ) + top: + script: + if face_is_rotated(1) then + ( + 211 * face_coordinates_map(1).height/375 + face_coordinates_map(1).top + information_copyright_offset_right_1() + ) else ( + 490 * face_coordinates_map(1).height/523 + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + 140 * face_coordinates_map(1).width/523 + ) else ( + needed := (255 + information_secondary_offset_pt_left_1() - if length(card.secondary_copyright) > 9 then 45 else if length(card.secondary_copyright) > 6 then 25 else if length(card.secondary_copyright) > 4 then 10 else 0) * face_coordinates_map(1).width/375 + face_coordinates_map(1).left + aligned := 351 * face_coordinates_map(1).width/375 + information_copyright_offset_right_1() - (if set.automatic_copyright then card_style.auto_copyright.content_width else card_style.copyright.content_width) + face_coordinates_map(1).left + left := max(min(needed, aligned), 211 * face_coordinates_map(1).width/375) + right := (if card.pt != "" then 279 + information_secondary_offset_pt_left_1() else if card.loyalty != "" then 295 + information_secondary_offset_pt_left_1() else 351) * face_coordinates_map(1).width/375 + face_coordinates_map(1).top + information_copyright_offset_right_1() + right - left + ) + height: + script: + if face_is_rotated(1) then + ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/375 + ) else ( + if information_disabled_1() then 0 else 10 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + alignment: { if card.pt != "" or card.loyalty != "" then "middle left shrink-overflow" else "middle right shrink-overflow" } + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(1).height/(if face_is_rotated(1) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + the list icon: + angle: { if face_is_rotated(1) then -90 else 0 } + left: + script: + if face_is_rotated(1) then + ( + face_coordinates_map(1).left - information_offset_top_1() + ) else ( + face_coordinates_map(1).left + information_codes_offset_left_1() + ) + bottom: + script: + if face_is_rotated(1) then + ( + face_coordinates_map(1).top + information_codes_offset_left_1() + ) else ( + face_coordinates_map(1).height + face_coordinates_map(1).top + information_offset_top_1() + ) + width: + script: + if face_is_rotated(1) then + ( + 22 * face_coordinates_map(1).width/523 + ) else ( + 22 * face_coordinates_map(1).width/375 + ) + height: + script: + if face_is_rotated(1) then + ( + 33 * face_coordinates_map(1).height/375 + ) else ( + 33 * face_coordinates_map(1).height/523 + ) + visible: { not information_disabled_1() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images_the_list + render style: image + image: { the_list_icon_image(face: 1, field: 1) } + z index: 900 \ No newline at end of file diff --git a/data/magic-modules.mse-include/information/card_fields_dfc b/data/magic-modules.mse-include/information/card_fields_dfc new file mode 100644 index 000000000..5dc9bd6d4 --- /dev/null +++ b/data/magic-modules.mse-include/information/card_fields_dfc @@ -0,0 +1,510 @@ +include file: /magic-modules.mse-include/information/card_fields +card style: + set code 2: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 24 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + 24 * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + top: + script: + if face_is_rotated(2) then + ( + 24 * face_coordinates_map(2).height/375 + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + 499 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + 40 * face_coordinates_map(2).width/523 + ) else ( + 40 * face_coordinates_map(2).width/375 + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + set language 2: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 14 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + 24 * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + top: + script: + if face_is_rotated(2) then + ( + 24 * face_coordinates_map(2).height/375 + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + 509 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + code := if is_masterpiece() then set.masterpiece_set_code else set.set_code + if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) or code == "" then 0 + else 40 * face_coordinates_map(2).width/523 + ) else ( + code := if is_masterpiece() then set.masterpiece_set_code else set.set_code + if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) or code == "" then 0 + else 40 * face_coordinates_map(2).width/375 + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + alignment: middle left + visible: { not information_disabled_2() } + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + card code 2: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 34 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + 24 * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + top: + script: + if face_is_rotated(2) then + ( + 24 * face_coordinates_map(2).height/375 + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + 489 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + 120 * face_coordinates_map(2).width/523 + ) else ( + 120 * face_coordinates_map(2).width/375 + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + illustrator 2: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 24 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + initial_space := 25 * face_coordinates_map(2).width/375 + set_code_space := 4 * face_coordinates_map(2).width/375 + set_code_width := if card.set_code_2 == "" then 0 else (set_code_space + card_style.set_code_2.content_width) + set_language_width := if card.set_language_2 == "" then 0 else (set_code_space + card_style.set_language_2.content_width) + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + illustrator_brush_width := (if card.illustrator_brush_2 == "art old" then 31 else if contains(card.illustrator_brush_2, match: "wide") then 17 else 14) * face_coordinates_map(2).width/375 + initial_space + set_width + illustrator_brush_width + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + top: + script: + if face_is_rotated(2) then + ( + initial_space := 25 * face_coordinates_map(2).height/375 + set_code_space := 4 * face_coordinates_map(2).height/375 + set_code_width := if card.set_code_2 == "" then 0 else (set_code_space + card_style.set_code_2.content_width) + set_language_width := if card.set_language_2 == "" then 0 else (set_code_space + card_style.set_language_2.content_width) + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + illustrator_brush_width := (if card.illustrator_brush_2 == "art old" then 31 else if contains(card.illustrator_brush_2, match: "wide") then 17 else 14) * face_coordinates_map(2).height/375 + initial_space + set_width + illustrator_brush_width + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + 499 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + max(50 * face_coordinates_map(2).width/523, card_style.illustrator_2.content_width + 10 * face_coordinates_map(2).width/523) + ) else ( + max(50 * face_coordinates_map(2).width/375, card_style.illustrator_2.content_width + 10 * face_coordinates_map(2).width/375) + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + illustrator brush 2: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 22 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + initial_space := 25 * face_coordinates_map(2).width/375 + set_code_space := 4 * face_coordinates_map(2).width/375 + set_code_width := if card.set_code_2 == "" then 0 else (set_code_space + card_style.set_code_2.content_width) + set_language_width := if card.set_language_2 == "" then 0 else (set_code_space + card_style.set_language_2.content_width) + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + top: + script: + if face_is_rotated(2) then + ( + initial_space := 25 * face_coordinates_map(2).height/375 + set_code_space := 4 * face_coordinates_map(2).height/375 + set_code_width := if card.set_code_2 == "" then 0 else (set_code_space + card_style.set_code_2.content_width) + set_language_width := if card.set_language_2 == "" then 0 else (set_code_space + card_style.set_language_2.content_width) + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + 501 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + (if card.illustrator_brush_2 == "art old" then 30 else if contains(card.illustrator_brush_2, match: "wide") then 15 else 12) * face_coordinates_map(2).width/523 + ) else ( + (if card.illustrator_brush_2 == "art old" then 30 else if contains(card.illustrator_brush_2, match: "wide") then 15 else 12) * face_coordinates_map(2).width/375 + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 7 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 7 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { illustrator_brush_image(field: 2) } + z index: 900 + additional credit 4: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 14 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + initial_space := 25 * face_coordinates_map(2).width/375 + set_code_space := 4 * face_coordinates_map(2).width/375 + set_code_width := if card.set_code_2 == "" then 0 else (set_code_space + card_style.set_code_2.content_width) + set_language_width := if card.set_language_2 == "" then 0 else (set_code_space + card_style.set_language_2.content_width) + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + additional_credit_brush_width := (if card.additional_credit_brush_4 == "art old" then 31 else if contains(card.additional_credit_brush_4, match: "wide") then 17 else 14) * face_coordinates_map(2).width/375 + initial_space + set_width + additional_credit_brush_width + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + top: + script: + if face_is_rotated(2) then + ( + initial_space := 25 * face_coordinates_map(2).height/375 + set_code_space := 4 * face_coordinates_map(2).height/375 + set_code_width := if card.set_code_2 == "" then 0 else (set_code_space + card_style.set_code_2.content_width) + set_language_width := if card.set_language_2 == "" then 0 else (set_code_space + card_style.set_language_2.content_width) + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + additional_credit_brush_width := (if card.additional_credit_brush_4 == "art old" then 31 else if contains(card.additional_credit_brush_4, match: "wide") then 17 else 14) * face_coordinates_map(2).height/375 + initial_space + set_width + additional_credit_brush_width + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + 509 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then 0 else max(50 * face_coordinates_map(2).width/523, card_style.additional_credit_4.content_width + 10 * face_coordinates_map(2).width/523) + ) else ( + if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then 0 else max(50 * face_coordinates_map(2).width/375, card_style.additional_credit_4.content_width + 10 * face_coordinates_map(2).width/375) + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + additional credit brush 4: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 12 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + initial_space := 25 * face_coordinates_map(2).width/375 + set_code_space := 4 * face_coordinates_map(2).width/375 + set_code_width := if card.set_code_2 == "" then 0 else set_code_space + card_style.set_code_2.content_width + set_language_width := if card.set_language_2 == "" then 0 else set_code_space + card_style.set_language_2.content_width + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + top: + script: + if face_is_rotated(2) then + ( + initial_space := 25 * face_coordinates_map(2).height/375 + set_code_space := 4 * face_coordinates_map(2).height/375 + set_code_width := if card.set_code_2 == "" then 0 else set_code_space + card_style.set_code_2.content_width + set_language_width := if card.set_language_2 == "" then 0 else set_code_space + card_style.set_language_2.content_width + set_width := if card.additional_credit_brush_4 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + 511 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + (if card.additional_credit_brush_4 == "art old" then 30 else if contains(card.additional_credit_brush_4, match: "wide") then 15 else 12) * face_coordinates_map(2).width/523 + ) else ( + (if card.additional_credit_brush_4 == "art old" then 30 else if contains(card.additional_credit_brush_4, match: "wide") then 15 else 12) * face_coordinates_map(2).width/375 + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 7 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 7 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { additional_credit_brush_image(field: 4) } + z index: 900 + copyright 2: + angle: { if face_is_rotated(2) then -90 else 0 } + right: + script: + if face_is_rotated(2) then + ( + (if card.pt_2 != "" or card.loyalty_2 != "" then 21 + information_secondary_offset_pt_left_2() else if card.secondary_copyright_2 != "" then 23 else 33) * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + 351 * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + information_copyright_offset_right_2() + ) + top: + script: + if face_is_rotated(2) then + ( + 351 * face_coordinates_map(2).height/375 + face_coordinates_map(2).top + information_copyright_offset_right_2() + ) else ( + (if card.pt_2 != "" or card.loyalty_2 != "" then 502 + information_copyright_offset_pt_top_2() else if card.secondary_copyright_2 != "" then 500 else 490) * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + if set.automatic_copyright then 0 else 140 * face_coordinates_map(2).width/523 + ) else ( + if set.automatic_copyright then 0 else 140 * face_coordinates_map(2).width/375 + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + alignment: middle right shrink-overflow + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + auto copyright 2: + angle: { if face_is_rotated(2) then -90 else 0 } + right: + script: + if face_is_rotated(2) then + ( + (if card.pt_2 != "" or card.loyalty_2 != "" then 21 + information_secondary_offset_pt_left_2() else if card.secondary_copyright_2 != "" then 23 else 33) * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + 351 * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + information_copyright_offset_right_2() + ) + top: + script: + if face_is_rotated(2) then + ( + 351 * face_coordinates_map(2).height/375 + face_coordinates_map(2).top + information_copyright_offset_right_2() + ) else ( + (if card.pt_2 != "" or card.loyalty_2 != "" then 502 + information_copyright_offset_pt_top_2() else if card.secondary_copyright_2 != "" then 500 else 490) * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + if set.automatic_copyright then 140 * face_coordinates_map(2).width/523 else 0 + ) else ( + if set.automatic_copyright then 140 * face_coordinates_map(2).width/375 else 0 + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + alignment: middle right shrink-overflow + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + secondary copyright 2: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + 33 * face_coordinates_map(2).width/523 + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + needed := (255 + information_secondary_offset_pt_left_2() - if length(card.secondary_copyright_2) > 9 then 45 else if length(card.secondary_copyright_2) > 6 then 25 else if length(card.secondary_copyright_2) > 4 then 10 else 0) * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + aligned := 351 * face_coordinates_map(2).width/375 + information_copyright_offset_right_2() - (if set.automatic_copyright then card_style.auto_copyright_2.content_width else card_style.copyright_2.content_width) + face_coordinates_map(2).left + max(min(needed, aligned), 211 * face_coordinates_map(2).width/375) + ) + top: + script: + if face_is_rotated(2) then + ( + 211 * face_coordinates_map(2).height/375 + face_coordinates_map(2).top + information_copyright_offset_right_2() + ) else ( + 490 * face_coordinates_map(2).height/523 + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + 140 * face_coordinates_map(2).width/523 + ) else ( + needed := (255 + information_secondary_offset_pt_left_2() - if length(card.secondary_copyright_2) > 9 then 45 else if length(card.secondary_copyright_2) > 6 then 25 else if length(card.secondary_copyright_2) > 4 then 10 else 0) * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + aligned := 351 * face_coordinates_map(2).width/375 + information_copyright_offset_right_2() - (if set.automatic_copyright then card_style.auto_copyright_2.content_width else card_style.copyright_2.content_width) + face_coordinates_map(2).left + left := max(min(needed, aligned), 211 * face_coordinates_map(2).width/375) + right := (if card.pt_2 != "" then 279 + information_secondary_offset_pt_left_2() else if card.loyalty_2 != "" then 295 + information_secondary_offset_pt_left_2() else 351) * face_coordinates_map(2).width/375 + face_coordinates_map(2).left + information_copyright_offset_right_2() + right - left + ) + height: + script: + if face_is_rotated(2) then + ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/375 + ) else ( + if information_disabled_2() then 0 else 10 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + alignment: { if card.pt_2 != "" or card.loyalty_2 != "" then "middle left shrink-overflow" else "middle right shrink-overflow" } + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(2).height/(if face_is_rotated(2) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + the list icon 2: + angle: { if face_is_rotated(2) then -90 else 0 } + left: + script: + if face_is_rotated(2) then + ( + face_coordinates_map(2).left - information_offset_top_2() + ) else ( + face_coordinates_map(2).left + information_codes_offset_left_2() + ) + bottom: + script: + if face_is_rotated(2) then + ( + face_coordinates_map(2).top + information_codes_offset_left_2() + ) else ( + face_coordinates_map(2).height + face_coordinates_map(2).top + information_offset_top_2() + ) + width: + script: + if face_is_rotated(2) then + ( + 22 * face_coordinates_map(2).width/523 + ) else ( + 22 * face_coordinates_map(2).width/375 + ) + height: + script: + if face_is_rotated(2) then + ( + 33 * face_coordinates_map(2).height/375 + ) else ( + 33 * face_coordinates_map(2).height/523 + ) + visible: { not information_disabled_2() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images_the_list + render style: image + image: { the_list_icon_image(face: 2, field: 2) } + z index: 900 \ No newline at end of file diff --git a/data/magic-modules.mse-include/information/card_fields_tfc b/data/magic-modules.mse-include/information/card_fields_tfc new file mode 100644 index 000000000..e68996742 --- /dev/null +++ b/data/magic-modules.mse-include/information/card_fields_tfc @@ -0,0 +1,510 @@ +include file: /magic-modules.mse-include/information/card_fields_dfc +card style: + set code 3: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 24 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + 24 * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + top: + script: + if face_is_rotated(3) then + ( + 24 * face_coordinates_map(3).height/375 + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + 499 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + 40 * face_coordinates_map(3).width/523 + ) else ( + 40 * face_coordinates_map(3).width/375 + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + set language 3: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 14 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + 24 * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + top: + script: + if face_is_rotated(3) then + ( + 24 * face_coordinates_map(3).height/375 + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + 509 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + code := if is_masterpiece() then set.masterpiece_set_code else set.set_code + if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) or code == "" then 0 + else 40 * face_coordinates_map(3).width/523 + ) else ( + code := if is_masterpiece() then set.masterpiece_set_code else set.set_code + if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) or code == "" then 0 + else 40 * face_coordinates_map(3).width/375 + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + card code 3: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 34 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + 24 * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + top: + script: + if face_is_rotated(3) then + ( + 24 * face_coordinates_map(3).height/375 + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + 489 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + 120 * face_coordinates_map(3).width/523 + ) else ( + 120 * face_coordinates_map(3).width/375 + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: middle left + font: + name: Relay-Medium + size: { 7 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + illustrator 3: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 24 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + initial_space := 25 * face_coordinates_map(3).width/375 + set_code_space := 4 * face_coordinates_map(3).width/375 + set_code_width := if card.set_code_3 == "" then 0 else (set_code_space + card_style.set_code_3.content_width) + set_language_width := if card.set_language_3 == "" then 0 else (set_code_space + card_style.set_language_3.content_width) + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + illustrator_brush_width := (if card.illustrator_brush_3 == "art old" then 31 else if contains(card.illustrator_brush_3, match: "wide") then 17 else 14) * face_coordinates_map(3).width/375 + initial_space + set_width + illustrator_brush_width + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + top: + script: + if face_is_rotated(3) then + ( + initial_space := 25 * face_coordinates_map(3).height/375 + set_code_space := 4 * face_coordinates_map(3).height/375 + set_code_width := if card.set_code_3 == "" then 0 else (set_code_space + card_style.set_code_3.content_width) + set_language_width := if card.set_language_3 == "" then 0 else (set_code_space + card_style.set_language_3.content_width) + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + illustrator_brush_width := (if card.illustrator_brush_3 == "art old" then 31 else if contains(card.illustrator_brush_3, match: "wide") then 17 else 14) * face_coordinates_map(3).height/375 + initial_space + set_width + illustrator_brush_width + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + 499 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + max(50 * face_coordinates_map(3).width/523, card_style.illustrator_3.content_width + 10 * face_coordinates_map(3).width/523) + ) else ( + max(50 * face_coordinates_map(3).width/375, card_style.illustrator_3.content_width + 10 * face_coordinates_map(3).width/375) + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + illustrator brush 3: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 22 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + initial_space := 25 * face_coordinates_map(3).width/375 + set_code_space := 4 * face_coordinates_map(3).width/375 + set_code_width := if card.set_code_3 == "" then 0 else (set_code_space + card_style.set_code_3.content_width) + set_language_width := if card.set_language_3 == "" then 0 else (set_code_space + card_style.set_language_3.content_width) + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + top: + script: + if face_is_rotated(3) then + ( + initial_space := 25 * face_coordinates_map(3).height/375 + set_code_space := 4 * face_coordinates_map(3).height/375 + set_code_width := if card.set_code_3 == "" then 0 else (set_code_space + card_style.set_code_3.content_width) + set_language_width := if card.set_language_3 == "" then 0 else (set_code_space + card_style.set_language_3.content_width) + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + 501 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + (if card.illustrator_brush_3 == "art old" then 30 else if contains(card.illustrator_brush_3, match: "wide") then 15 else 12) * face_coordinates_map(3).width/523 + ) else ( + (if card.illustrator_brush_3 == "art old" then 30 else if contains(card.illustrator_brush_3, match: "wide") then 15 else 12) * face_coordinates_map(3).width/375 + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 7 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 7 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { illustrator_brush_image(field: 3) } + z index: 900 + additional credit 5: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 14 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + initial_space := 25 * face_coordinates_map(3).width/375 + set_code_space := 4 * face_coordinates_map(3).width/375 + set_code_width := if card.set_code_3 == "" then 0 else (set_code_space + card_style.set_code_3.content_width) + set_language_width := if card.set_language_3 == "" then 0 else (set_code_space + card_style.set_language_3.content_width) + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + additional_credit_brush_width := (if card.additional_credit_brush_5 == "art old" then 31 else if contains(card.additional_credit_brush_5, match: "wide") then 17 else 14) * face_coordinates_map(3).width/375 + initial_space + set_width + additional_credit_brush_width + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + top: + script: + if face_is_rotated(3) then + ( + initial_space := 25 * face_coordinates_map(3).height/375 + set_code_space := 4 * face_coordinates_map(3).height/375 + set_code_width := if card.set_code_3 == "" then 0 else (set_code_space + card_style.set_code_3.content_width) + set_language_width := if card.set_language_3 == "" then 0 else (set_code_space + card_style.set_language_3.content_width) + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + additional_credit_brush_width := (if card.additional_credit_brush_5 == "art old" then 31 else if contains(card.additional_credit_brush_5, match: "wide") then 17 else 14) * face_coordinates_map(3).height/375 + initial_space + set_width + additional_credit_brush_width + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + 509 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then 0 else max(50 * face_coordinates_map(3).width/523, card_style.additional_credit_4.content_width + 10 * face_coordinates_map(3).width/523) + ) else ( + if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then 0 else max(50 * face_coordinates_map(3).width/375, card_style.additional_credit_4.content_width + 10 * face_coordinates_map(3).width/375) + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: middle left + font: + name: Beleren Small Caps Bold + size: { 7.25 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + z index: 900 + additional credit brush 5: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 12 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + initial_space := 25 * face_coordinates_map(3).width/375 + set_code_space := 4 * face_coordinates_map(3).width/375 + set_code_width := if card.set_code_3 == "" then 0 else set_code_space + card_style.set_code_3.content_width + set_language_width := if card.set_language_3 == "" then 0 else set_code_space + card_style.set_language_3.content_width + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + top: + script: + if face_is_rotated(3) then + ( + initial_space := 25 * face_coordinates_map(3).height/375 + set_code_space := 4 * face_coordinates_map(3).height/375 + set_code_width := if card.set_code_3 == "" then 0 else set_code_space + card_style.set_code_3.content_width + set_language_width := if card.set_language_3 == "" then 0 else set_code_space + card_style.set_language_3.content_width + set_width := if card.additional_credit_brush_5 == "none" or (not set.adaptive_language_height) then set_code_width else max(set_code_width, set_language_width) + initial_space + set_width + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + 511 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + (if card.additional_credit_brush_5 == "art old" then 30 else if contains(card.additional_credit_brush_5, match: "wide") then 15 else 12) * face_coordinates_map(3).width/523 + ) else ( + (if card.additional_credit_brush_5 == "art old" then 30 else if contains(card.additional_credit_brush_5, match: "wide") then 15 else 12) * face_coordinates_map(3).width/375 + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 7 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 7 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images + render style: image + image: { additional_credit_brush_image(field: 5) } + z index: 900 + copyright 3: + angle: { if face_is_rotated(3) then -90 else 0 } + right: + script: + if face_is_rotated(3) then + ( + (if card.pt_3 != "" or card.loyalty_3 != "" then 21 + information_secondary_offset_pt_left_3() else if card.secondary_copyright_3 != "" then 23 else 33) * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + 351 * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + information_copyright_offset_right_3() + ) + top: + script: + if face_is_rotated(3) then + ( + 351 * face_coordinates_map(3).height/375 + face_coordinates_map(3).top + information_copyright_offset_right_3() + ) else ( + (if card.pt_3 != "" or card.loyalty_3 != "" then 502 + information_copyright_offset_pt_top_3() else if card.secondary_copyright_3 != "" then 500 else 490) * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + if set.automatic_copyright then 0 else 140 * face_coordinates_map(3).width/523 + ) else ( + if set.automatic_copyright then 0 else 140 * face_coordinates_map(3).width/375 + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: middle right shrink-overflow + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + auto copyright 3: + angle: { if face_is_rotated(3) then -90 else 0 } + right: + script: + if face_is_rotated(3) then + ( + (if card.pt_3 != "" or card.loyalty_3 != "" then 21 + information_secondary_offset_pt_left_3() else if card.secondary_copyright_3 != "" then 23 else 33) * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + 351 * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + information_copyright_offset_right_3() + ) + top: + script: + if face_is_rotated(3) then + ( + 351 * face_coordinates_map(3).height/375 + face_coordinates_map(3).top + information_copyright_offset_right_3() + ) else ( + (if card.pt_3 != "" or card.loyalty_3 != "" then 502 + information_copyright_offset_pt_top_3() else if card.secondary_copyright_3 != "" then 500 else 490) * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + if set.automatic_copyright then 140 * face_coordinates_map(3).width/523 else 0 + ) else ( + if set.automatic_copyright then 140 * face_coordinates_map(3).width/375 else 0 + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: middle right shrink-overflow + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + secondary copyright 3: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + 33 * face_coordinates_map(3).width/523 + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + needed := (255 + information_secondary_offset_pt_left_3() - if length(card.secondary_copyright_3) > 9 then 45 else if length(card.secondary_copyright_3) > 6 then 25 else if length(card.secondary_copyright_3) > 4 then 10 else 0) * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + aligned := 351 * face_coordinates_map(3).width/375 + information_copyright_offset_right_3() - (if set.automatic_copyright then card_style.auto_copyright_3.content_width else card_style.copyright_3.content_width) + face_coordinates_map(3).left + max(min(needed, aligned), 211 * face_coordinates_map(3).width/375) + ) + top: + script: + if face_is_rotated(3) then + ( + 211 * face_coordinates_map(3).height/375 + face_coordinates_map(3).top + information_copyright_offset_right_3() + ) else ( + 490 * face_coordinates_map(3).height/523 + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + 140 * face_coordinates_map(3).width/523 + ) else ( + needed := (255 + information_secondary_offset_pt_left_3() - if length(card.secondary_copyright_3) > 9 then 45 else if length(card.secondary_copyright_3) > 6 then 25 else if length(card.secondary_copyright_3) > 4 then 10 else 0) * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + aligned := 351 * face_coordinates_map(3).width/375 + information_copyright_offset_right_3() - (if set.automatic_copyright then card_style.auto_copyright_3.content_width else card_style.copyright_3.content_width) + face_coordinates_map(3).left + left := max(min(needed, aligned), 211 * face_coordinates_map(3).width/375) + right := (if card.pt_3 != "" then 279 + information_secondary_offset_pt_left_3() else if card.loyalty_3 != "" then 295 + information_secondary_offset_pt_left_3() else 351) * face_coordinates_map(3).width/375 + face_coordinates_map(3).left + information_copyright_offset_right_3() + right - left + ) + height: + script: + if face_is_rotated(3) then + ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/375 + ) else ( + if information_disabled_3() then 0 else 10 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + alignment: { if card.pt_3 != "" or card.loyalty_3 != "" then "middle left shrink-overflow" else "middle right shrink-overflow" } + font: + name: MPlantin + size: { 6.5 * face_coordinates_map(3).height/(if face_is_rotated(3) then 375 else 523) } + color: { styling.copyright_text_color or else set.copyright_text_color } + weight: bold + z index: 900 + the list icon 3: + angle: { if face_is_rotated(3) then -90 else 0 } + left: + script: + if face_is_rotated(3) then + ( + face_coordinates_map(3).left - information_offset_top_3() + ) else ( + face_coordinates_map(3).left + information_codes_offset_left_3() + ) + bottom: + script: + if face_is_rotated(3) then + ( + face_coordinates_map(3).top + information_codes_offset_left_3() + ) else ( + face_coordinates_map(3).height + face_coordinates_map(3).top + information_offset_top_3() + ) + width: + script: + if face_is_rotated(3) then + ( + 22 * face_coordinates_map(3).width/523 + ) else ( + 22 * face_coordinates_map(3).width/375 + ) + height: + script: + if face_is_rotated(3) then + ( + 33 * face_coordinates_map(3).height/375 + ) else ( + 33 * face_coordinates_map(3).height/523 + ) + visible: { not information_disabled_3() } + popup style: in place + include file: /magic.mse-game/information/menu_choice_images_the_list + render style: image + image: { the_list_icon_image(face: 3, field: 3) } + z index: 900 \ No newline at end of file diff --git a/data/magic-modules.mse-include/information/choices b/data/magic-modules.mse-include/information/choices new file mode 100644 index 000000000..755426865 --- /dev/null +++ b/data/magic-modules.mse-include/information/choices @@ -0,0 +1,11 @@ +choice: art +choice: art old +choice: flavor +choice: mechanics +choice: template +choice: + name: wide + choice: art + choice: flavor + choice: mechanics + choice: template \ No newline at end of file diff --git a/data/magic-modules.mse-include/information/choices_the_list b/data/magic-modules.mse-include/information/choices_the_list new file mode 100644 index 000000000..836f8aba3 --- /dev/null +++ b/data/magic-modules.mse-include/information/choices_the_list @@ -0,0 +1,2 @@ +choice: the list +choice: none \ No newline at end of file diff --git a/data/magic-modules.mse-include/information/flavor.png b/data/magic-modules.mse-include/information/flavor.png new file mode 100644 index 000000000..629bf7168 Binary files /dev/null and b/data/magic-modules.mse-include/information/flavor.png differ diff --git a/data/magic-modules.mse-include/information/mechanics.png b/data/magic-modules.mse-include/information/mechanics.png new file mode 100644 index 000000000..993f2865a Binary files /dev/null and b/data/magic-modules.mse-include/information/mechanics.png differ diff --git a/data/magic-modules.mse-include/information/none.png b/data/magic-modules.mse-include/information/none.png new file mode 100644 index 000000000..52cfbc444 Binary files /dev/null and b/data/magic-modules.mse-include/information/none.png differ diff --git a/data/magic-modules.mse-include/information/readme.txt b/data/magic-modules.mse-include/information/readme.txt new file mode 100644 index 000000000..a9c5f72b6 --- /dev/null +++ b/data/magic-modules.mse-include/information/readme.txt @@ -0,0 +1,91 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/information/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/information/card_fields_dfc +include file: /magic-modules.mse-include/information/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +set code: + left: 24w + top: 499h + width: 40w + height: 10h +set language: + left: 24w + top: 509h + width: 40w + height: 10h +card code: + left: 24w + top: 489h + width: 120w + height: 10h +parition select: + left: 24w + top: 489h + width: 35w + height: 10h +illustrator: + left: 25w + set_code_language_width + top: 499h + width: 10w - 50w + height: 10h +copyright: + right: 351w + top: 490h, 500w w/secondary + width: 140w + height: 10h +secondary copyright: + left: 211w + top: 490h + width: variable + height: 10h +the list icon: + left: 0w + bottom: 523h + width: 22w + height: 33h +#### Customization +#### Optionally, you can adjust global alignment by redefining the following functions after the scripts include statement +#### which must return an int corresponding to the number of pixels you want to shift things by +#### positive numbers move right and down, negative move left and up + +#### To shift everything up/down: +information_offset_top_1 := { 0 } + +#### To shift the card number, set code and artist credit left/right: +information_codes_offset_left_1 := { 0 } + +#### To shift the actual copyright lines left/right: +information_copyright_offset_right_1 := { 0 } + +#### To shift the copyright up/down on creatures/walkers, if the pt/loyalty box is very short/tall: +information_copyright_offset_pt_top_1 := { 0 } + +#### To shift the secondary copyright left/right on creatures/walkers, if the pt/loyalty box is very narrow/wide: +information_secondary_offset_pt_left_1 := { 0 } + +#### For the other faces on DFC or TFC templates, use: +information_offset_top_2 := { 0 } +information_codes_offset_left_2 := { 0 } +information_copyright_offset_right_2 := { 0 } +information_copyright_offset_pt_top_2 := { 0 } +information_secondary_offset_pt_left_2 := { 0 } +information_offset_top_3 := { 0 } +information_codes_offset_left_3 := { 0 } +information_copyright_offset_right_3 := { 0 } +information_copyright_offset_pt_top_3 := { 0 } +information_secondary_offset_pt_left_3 := { 0 } + +#### These work the same on 90° rotated cards, but you need to imagine the card is upright + +#### You can disable the copyright on some of the faces, +#### by adding the following functions in the init script: +information_disabled_1 := { true } +information_disabled_2 := { true } +information_disabled_3 := { true } diff --git a/data/magic-modules.mse-include/information/template.png b/data/magic-modules.mse-include/information/template.png new file mode 100644 index 000000000..41bfac4c2 Binary files /dev/null and b/data/magic-modules.mse-include/information/template.png differ diff --git a/data/magic-modules.mse-include/information/the list 750.png b/data/magic-modules.mse-include/information/the list 750.png new file mode 100644 index 000000000..8bd0f2f22 Binary files /dev/null and b/data/magic-modules.mse-include/information/the list 750.png differ diff --git a/data/magic-modules.mse-include/information/the list.png b/data/magic-modules.mse-include/information/the list.png new file mode 100644 index 000000000..e14cf7d18 Binary files /dev/null and b/data/magic-modules.mse-include/information/the list.png differ diff --git a/data/magic-modules.mse-include/information/wide art.png b/data/magic-modules.mse-include/information/wide art.png new file mode 100644 index 000000000..83540e904 Binary files /dev/null and b/data/magic-modules.mse-include/information/wide art.png differ diff --git a/data/magic-modules.mse-include/information/wide flavor.png b/data/magic-modules.mse-include/information/wide flavor.png new file mode 100644 index 000000000..176f4a9eb Binary files /dev/null and b/data/magic-modules.mse-include/information/wide flavor.png differ diff --git a/data/magic-modules.mse-include/information/wide mechanics.png b/data/magic-modules.mse-include/information/wide mechanics.png new file mode 100644 index 000000000..8f4cd6605 Binary files /dev/null and b/data/magic-modules.mse-include/information/wide mechanics.png differ diff --git a/data/magic-modules.mse-include/information/wide template.png b/data/magic-modules.mse-include/information/wide template.png new file mode 100644 index 000000000..a6c6c8d02 Binary files /dev/null and b/data/magic-modules.mse-include/information/wide template.png differ diff --git a/data/magic-modules.mse-include/loyalty/card_fields b/data/magic-modules.mse-include/loyalty/card_fields new file mode 100644 index 000000000..72491bef8 --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/card_fields @@ -0,0 +1,546 @@ +extra card field: + type: text + name: colon 1 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 2 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 3 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 4 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 5 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 6 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 7 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 8 + editable: false + save value: false + script: ":" +extra card field: + type: choice + name: textbox stripe 1 + editable: false + save value: false + show statistics: false + choice: textbox stripe 1 +extra card field: + type: choice + name: textbox stripe 2 + editable: false + save value: false + show statistics: false + choice: textbox stripe 2 +extra card field: + type: choice + name: textbox stripe 3 + editable: false + save value: false + show statistics: false + choice: textbox stripe 3 +extra card field: + type: choice + name: textbox stripe 4 + editable: false + save value: false + show statistics: false + choice: textbox stripe 4 +extra card field: + type: choice + name: textbox stripe separator 1 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 1 +extra card field: + type: choice + name: textbox stripe separator 2 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 2 +extra card field: + type: choice + name: textbox stripe separator 3 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 3 +extra card field: + type: choice + name: textbox stripe separator 4 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 4 +extra card field: + type: choice + name: textbox stripe separator 5 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 5 +extra card field: + type: choice + name: textbox stripe separator 6 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 6 +extra card field: + type: choice + name: textbox stripe separator 7 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 7 +extra card field: + type: choice + name: textbox background + editable: false + save value: false + show statistics: false + choice: textbox background +extra card style: + colon 1: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(1) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_1 != "" and loyalty_abilities_count() >= 1 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + colon 2: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(2) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_2 != "" and loyalty_abilities_count() >= 2 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + colon 3: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(3) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_3 != "" and loyalty_abilities_count() >= 3 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + colon 4: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(4) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_4 != "" and loyalty_abilities_count() >= 4 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + colon 5: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(5) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_5 != "" and loyalty_abilities_count() >= 5 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + colon 6: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(6) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_6 != "" and loyalty_abilities_count() >= 6 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + colon 7: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(7) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_7 != "" and loyalty_abilities_count() >= 7 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + colon 8: + left: { instance := 1; loyalty_colon_left() } + top: { instance := 1; loyalty_colon_top(8) } + width: { instance := 1; loyalty_colon_width() } + height: { instance := 1; loyalty_colon_height() } + z index: 900 + visible: { instance := 1; card.loyalty_cost_8 != "" and loyalty_abilities_count() >= 8 } + font: + name: Beleren Bold + size: { instance := 1; loyalty_colon_font_size() } + color: { body_font_color() } + alignment: center middle + textbox stripe 1: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; a_top() } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(1)) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 2 } + render style: image + image: { instance := 1; loyalty_stripe_image() } + mask: { instance := 1; loyalty_stripe_mask(1) } + textbox stripe 2: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; loyalty_stripe_separator_top(2) + loyalty_stripe_separator_height() } + bottom: { instance := 1; round_near(if loyalty_abilities_count() >= 4 then loyalty_stripe_separator_top(3) else a_bottom()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 3 } + render style: image + image: { instance := 1; loyalty_stripe_image() } + mask: { instance := 1; loyalty_stripe_mask(2) } + textbox stripe 3: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; loyalty_stripe_separator_top(4) + loyalty_stripe_separator_height() } + bottom: { instance := 1; round_near(if loyalty_abilities_count() >= 6 then loyalty_stripe_separator_top(5) else a_bottom()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 5 } + render style: image + image: { instance := 1; loyalty_stripe_image() } + mask: { instance := 1; loyalty_stripe_mask(3) } + textbox stripe 4: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; loyalty_stripe_separator_top(6) + loyalty_stripe_separator_height() } + bottom: { instance := 1; round_near(if loyalty_abilities_count() >= 8 then loyalty_stripe_separator_top(7) else a_bottom()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 7 } + render style: image + image: { instance := 1; loyalty_stripe_image() } + mask: { instance := 1; loyalty_stripe_mask(4) } + textbox stripe separator 1: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; round_near(loyalty_stripe_separator_top(1)) } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(1) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 2 } + render style: image + image: { instance := 1; loyalty_stripe_separator_image(1) } + mask: { instance := 1; loyalty_stripe_separator_mask(1) } + textbox stripe separator 2: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; round_near(loyalty_stripe_separator_top(2)) } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(2) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 3 } + render style: image + image: { instance := 1; loyalty_stripe_separator_image(2) } + mask: { instance := 1; loyalty_stripe_separator_mask(2) } + textbox stripe separator 3: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; round_near(loyalty_stripe_separator_top(3)) } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(3) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 4 } + render style: image + image: { instance := 1; loyalty_stripe_separator_image(3) } + mask: { instance := 1; loyalty_stripe_separator_mask(3) } + textbox stripe separator 4: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; round_near(loyalty_stripe_separator_top(4)) } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(4) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 5 } + render style: image + image: { instance := 1; loyalty_stripe_separator_image(4) } + mask: { instance := 1; loyalty_stripe_separator_mask(4) } + textbox stripe separator 5: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; round_near(loyalty_stripe_separator_top(5)) } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(5) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 6 } + render style: image + image: { instance := 1; loyalty_stripe_separator_image(5) } + mask: { instance := 1; loyalty_stripe_separator_mask(5) } + textbox stripe separator 6: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; round_near(loyalty_stripe_separator_top(6)) } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(6) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 7 } + render style: image + image: { instance := 1; loyalty_stripe_separator_image(6) } + mask: { instance := 1; loyalty_stripe_separator_mask(6) } + textbox stripe separator 7: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; round_near(loyalty_stripe_separator_top(7)) } + bottom: { instance := 1; round_near(loyalty_stripe_separator_top(7) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 1; loyalty_abilities_count() >= 8 } + render style: image + image: { instance := 1; loyalty_stripe_separator_image(7) } + mask: { instance := 1; loyalty_stripe_separator_mask(7) } + textbox background: + left: { instance := 1; a_left() } + width: { instance := 1; a_width() } + top: { instance := 1; a_top() } + bottom: { instance := 1; a_bottom() } + z index: 700 + render style: image + image: { instance := 1; loyalty_textbox_background_image() } + mask: { instance := 1; loyalty_textbox_mask() } +card style: + loyalty: + left: { instance := 1; card.loyalty_box; loyalty_left() } + top: { instance := 1; loyalty_top() } + width: { instance := 1; card.loyalty_box; loyalty_width() } + height: { instance := 1; loyalty_height() } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; card.loyalty_box; loyalty_font_size() } + color: white + loyalty box: + left: { instance := 1; loyalty_box_left() } + top: { instance := 1; loyalty_box_top() } + width: { instance := 1; if card.loyalty == "" then 0 else loyalty_box_width() } + height: { instance := 1; loyalty_box_height() } + z index: 830 + visible: { instance := 1; card.loyalty != "" } + include file: /magic.mse-game/loyalty/menu_choice_images + render style: image + image: { instance := 1; loyalty_box_image() } + loyalty cost 1: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_1; loyalty_cost_top(1) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(1) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 2: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_2; loyalty_cost_top(2) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(2) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 3: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_3; loyalty_cost_top(3) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(3) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 4: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_4; loyalty_cost_top(4) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(4) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 5: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_5; loyalty_cost_top(5) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(5) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 6: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_6; loyalty_cost_top(6) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(6) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 7: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_7; loyalty_cost_top(7) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(7) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 8: + left: { instance := 1; loyalty_cost_left() } + top: { instance := 1; card.loyalty_cost_box_8; loyalty_cost_top(8) } + width: { instance := 1; loyalty_cost_width() } + height: { instance := 1; loyalty_cost_height(8) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name_font() } + size: { instance := 1; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost box 1: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(1) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(1) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_1 != "" and loyalty_abilities_count() >= 1 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(1) } + loyalty cost box 2: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(2) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(2) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_2 != "" and loyalty_abilities_count() >= 2 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(2) } + loyalty cost box 3: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(3) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(3) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_3 != "" and loyalty_abilities_count() >= 3} + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(3) } + loyalty cost box 4: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(4) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(4) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_4 != "" and loyalty_abilities_count() >= 4 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(4) } + loyalty cost box 5: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(5) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(5) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_5 != "" and loyalty_abilities_count() >= 5 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(5) } + loyalty cost box 6: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(6) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(6) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_6 != "" and loyalty_abilities_count() >= 6 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(6) } + loyalty cost box 7: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(7) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(7) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_7 != "" and loyalty_abilities_count() >= 7 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(7) } + loyalty cost box 8: + left: { instance := 1; loyalty_cost_box_left() } + top: { instance := 1; loyalty_cost_box_top(8) } + width: { instance := 1; loyalty_cost_box_width() } + height: { instance := 1; loyalty_cost_box_height(8) } + z index: 830 + visible: { instance := 1; card.loyalty_cost_8 != "" and loyalty_abilities_count() >= 8 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 1; loyalty_cost_box_image(8) } \ No newline at end of file diff --git a/data/magic-modules.mse-include/loyalty/card_fields_dfc b/data/magic-modules.mse-include/loyalty/card_fields_dfc new file mode 100644 index 000000000..3ff38ffd2 --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/card_fields_dfc @@ -0,0 +1,547 @@ +include file: /magic-modules.mse-include/loyalty/card_fields +extra card field: + type: text + name: colon 9 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 10 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 11 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 12 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 13 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 14 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 15 + editable: false + save value: false + script: ":" +extra card field: + type: text + name: colon 16 + editable: false + save value: false + script: ":" +extra card field: + type: choice + name: textbox stripe 9 + editable: false + save value: false + show statistics: false + choice: textbox stripe 9 +extra card field: + type: choice + name: textbox stripe 10 + editable: false + save value: false + show statistics: false + choice: textbox stripe 10 +extra card field: + type: choice + name: textbox stripe 11 + editable: false + save value: false + show statistics: false + choice: textbox stripe 11 +extra card field: + type: choice + name: textbox stripe 12 + editable: false + save value: false + show statistics: false + choice: textbox stripe 12 +extra card field: + type: choice + name: textbox stripe separator 9 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 9 +extra card field: + type: choice + name: textbox stripe separator 10 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 10 +extra card field: + type: choice + name: textbox stripe separator 11 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 11 +extra card field: + type: choice + name: textbox stripe separator 12 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 12 +extra card field: + type: choice + name: textbox stripe separator 13 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 13 +extra card field: + type: choice + name: textbox stripe separator 14 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 14 +extra card field: + type: choice + name: textbox stripe separator 15 + editable: false + save value: false + show statistics: false + choice: textbox stripe separator 15 +extra card field: + type: choice + name: textbox background 2 + editable: false + save value: false + show statistics: false + choice: textbox background 2 +extra card style: + colon 9: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(1) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_9 != "" and loyalty_abilities_count() >= 1 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + colon 10: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(2) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_10 != "" and loyalty_abilities_count() >= 2 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + colon 11: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(3) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_11 != "" and loyalty_abilities_count() >= 3 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + colon 12: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(4) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_12 != "" and loyalty_abilities_count() >= 4 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + colon 13: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(5) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_13 != "" and loyalty_abilities_count() >= 5 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + colon 14: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(6) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_14 != "" and loyalty_abilities_count() >= 6 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + colon 15: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(7) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_15 != "" and loyalty_abilities_count() >= 7 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + colon 16: + left: { instance := 2; loyalty_colon_left() } + top: { instance := 2; loyalty_colon_top(8) } + width: { instance := 2; loyalty_colon_width() } + height: { instance := 2; loyalty_colon_height() } + z index: 900 + visible: { instance := 2; card.loyalty_cost_16 != "" and loyalty_abilities_count() >= 8 } + font: + name: Beleren Bold + size: { instance := 2; loyalty_colon_font_size() } + color: { body2_font_color() } + alignment: center middle + textbox stripe 9: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; a_top() } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(1)) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 2 } + render style: image + image: { instance := 2; loyalty_stripe_image() } + mask: { instance := 2; loyalty_stripe_mask(1) } + textbox stripe 10: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; loyalty_stripe_separator_top(2) + loyalty_stripe_separator_height() } + bottom: { instance := 2; round_near(if loyalty_abilities_count() >= 4 then loyalty_stripe_separator_top(3) else a_bottom()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 3 } + render style: image + image: { instance := 2; loyalty_stripe_image() } + mask: { instance := 2; loyalty_stripe_mask(2) } + textbox stripe 11: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; loyalty_stripe_separator_top(4) + loyalty_stripe_separator_height() } + bottom: { instance := 2; round_near(if loyalty_abilities_count() >= 6 then loyalty_stripe_separator_top(5) else a_bottom()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 5 } + render style: image + image: { instance := 2; loyalty_stripe_image() } + mask: { instance := 2; loyalty_stripe_mask(3) } + textbox stripe 12: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; loyalty_stripe_separator_top(6) + loyalty_stripe_separator_height() } + bottom: { instance := 2; round_near(if loyalty_abilities_count() >= 8 then loyalty_stripe_separator_top(7) else a_bottom()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 7 } + render style: image + image: { instance := 2; loyalty_stripe_image() } + mask: { instance := 2; loyalty_stripe_mask(4) } + textbox stripe separator 9: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; round_near(loyalty_stripe_separator_top(1)) } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(1) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 2 } + render style: image + image: { instance := 2; loyalty_stripe_separator_image(1) } + mask: { instance := 2; loyalty_stripe_separator_mask(1) } + textbox stripe separator 10: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; round_near(loyalty_stripe_separator_top(2)) } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(2) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 3 } + render style: image + image: { instance := 2; loyalty_stripe_separator_image(2) } + mask: { instance := 2; loyalty_stripe_separator_mask(2) } + textbox stripe separator 11: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; round_near(loyalty_stripe_separator_top(3)) } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(3) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 4 } + render style: image + image: { instance := 2; loyalty_stripe_separator_image(3) } + mask: { instance := 2; loyalty_stripe_separator_mask(3) } + textbox stripe separator 12: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; round_near(loyalty_stripe_separator_top(4)) } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(4) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 5 } + render style: image + image: { instance := 2; loyalty_stripe_separator_image(4) } + mask: { instance := 2; loyalty_stripe_separator_mask(4) } + textbox stripe separator 13: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; round_near(loyalty_stripe_separator_top(5)) } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(5) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 6 } + render style: image + image: { instance := 2; loyalty_stripe_separator_image(5) } + mask: { instance := 2; loyalty_stripe_separator_mask(5) } + textbox stripe separator 14: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; round_near(loyalty_stripe_separator_top(6)) } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(6) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 7 } + render style: image + image: { instance := 2; loyalty_stripe_separator_image(6) } + mask: { instance := 2; loyalty_stripe_separator_mask(6) } + textbox stripe separator 15: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; round_near(loyalty_stripe_separator_top(7)) } + bottom: { instance := 2; round_near(loyalty_stripe_separator_top(7) + loyalty_stripe_separator_height()) + 0.5 } + z index: 710 + visible: { instance := 2; loyalty_abilities_count() >= 8 } + render style: image + image: { instance := 2; loyalty_stripe_separator_image(7) } + mask: { instance := 2; loyalty_stripe_separator_mask(7) } + textbox background 2: + left: { instance := 2; a_left() } + width: { instance := 2; a_width() } + top: { instance := 2; a_top() } + bottom: { instance := 2; a_bottom() } + z index: 700 + render style: image + image: { instance := 2; loyalty_textbox_background_image() } + mask: { instance := 2; loyalty_textbox_mask() } +card style: + loyalty 2: + left: { instance := 2; card.loyalty_box_2; loyalty_left() } + top: { instance := 2; loyalty_top() } + width: { instance := 2; card.loyalty_box_2; loyalty_width() } + height: { instance := 2; loyalty_height() } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; card.loyalty_box_2; loyalty_font_size() } + color: white + loyalty box 2: + left: { instance := 2; loyalty_box_left() } + top: { instance := 2; loyalty_box_top() } + width: { instance := 2; if card.loyalty_2 == "" then 0 else loyalty_box_width() } + height: { instance := 2; loyalty_box_height() } + z index: 830 + visible: { instance := 2; card.loyalty_2 != "" } + include file: /magic.mse-game/loyalty/menu_choice_images + render style: image + image: { instance := 2; loyalty_box_image() } + loyalty cost 9: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_9; loyalty_cost_top(1) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(1) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 10: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_10; loyalty_cost_top(2) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(2) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 11: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_11; loyalty_cost_top(3) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(3) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 12: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_12; loyalty_cost_top(4) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(4) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 13: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_13; loyalty_cost_top(5) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(5) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 14: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_14; loyalty_cost_top(6) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(6) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 15: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_15; loyalty_cost_top(7) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(7) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost 16: + left: { instance := 2; loyalty_cost_left() } + top: { instance := 2; card.loyalty_cost_box_16; loyalty_cost_top(8) } + width: { instance := 2; loyalty_cost_width() } + height: { instance := 2; loyalty_cost_height(8) } + z index: 900 + alignment: center middle shrink-overflow + font: + name: { name2_font() } + size: { instance := 2; loyalty_cost_font_size() } + scale down to: 7 + color: white + loyalty cost box 9: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(1) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(1) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_9 != "" and loyalty_abilities_count() >= 1 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(1) } + loyalty cost box 10: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(2) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(2) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_10 != "" and loyalty_abilities_count() >= 2 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(2) } + loyalty cost box 11: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(3) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(3) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_11 != "" and loyalty_abilities_count() >= 3} + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(3) } + loyalty cost box 12: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(4) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(4) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_12 != "" and loyalty_abilities_count() >= 4 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(4) } + loyalty cost box 13: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(5) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(5) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_13 != "" and loyalty_abilities_count() >= 5 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(5) } + loyalty cost box 14: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(6) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(6) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_14 != "" and loyalty_abilities_count() >= 6 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(6) } + loyalty cost box 15: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(7) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(7) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_15 != "" and loyalty_abilities_count() >= 7 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(7) } + loyalty cost box 16: + left: { instance := 2; loyalty_cost_box_left() } + top: { instance := 2; loyalty_cost_box_top(8) } + width: { instance := 2; loyalty_cost_box_width() } + height: { instance := 2; loyalty_cost_box_height(8) } + z index: 830 + visible: { instance := 2; card.loyalty_cost_16 != "" and loyalty_abilities_count() >= 8 } + include file: /magic.mse-game/loyalty/menu_choice_images_cost + render style: image + image: { instance := 2; loyalty_cost_box_image(8) } \ No newline at end of file diff --git a/data/magic-modules.mse-include/loyalty/choices b/data/magic-modules.mse-include/loyalty/choices new file mode 100644 index 000000000..e50a8f436 --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/choices @@ -0,0 +1,12 @@ +choice: + name: none + type: radio +choice: + name: loyalty + type: radio +choice: + name: defense + type: radio + line below: true +choice: shadow +script: require_exclusive_choice(value, choices: "none, loyalty, defense") \ No newline at end of file diff --git a/data/magic-modules.mse-include/loyalty/choices_cost b/data/magic-modules.mse-include/loyalty/choices_cost new file mode 100644 index 000000000..946280004 --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/choices_cost @@ -0,0 +1,21 @@ +choice: + name: none + type: radio +choice: + name: anti ult + type: radio +choice: + name: + + type: radio +choice: + name: 0 + type: radio +choice: + name: - + type: radio +choice: + name: ult + type: radio + line below: true +choice: shadow +script: require_exclusive_choice(value, choices: "none, anti ult, +, 0, -, ult") \ No newline at end of file diff --git a/data/magic-modules.mse-include/loyalty/color.png b/data/magic-modules.mse-include/loyalty/color.png new file mode 100644 index 000000000..696fe3de2 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/color.png differ diff --git a/data/magic-modules.mse-include/loyalty/default_textbox_mask.png b/data/magic-modules.mse-include/loyalty/default_textbox_mask.png new file mode 100644 index 000000000..f1bf8989e Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/default_textbox_mask.png differ diff --git a/data/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png b/data/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png new file mode 100644 index 000000000..c65ab966b Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png differ diff --git a/data/magic-modules.mse-include/loyalty/default_textbox_tall_mask.png b/data/magic-modules.mse-include/loyalty/default_textbox_tall_mask.png new file mode 100644 index 000000000..b45a2f79e Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/default_textbox_tall_mask.png differ diff --git a/data/magic-modules.mse-include/loyalty/default_textbox_tall_stamp_mask.png b/data/magic-modules.mse-include/loyalty/default_textbox_tall_stamp_mask.png new file mode 100644 index 000000000..ba304af4c Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/default_textbox_tall_stamp_mask.png differ diff --git a/data/magic-modules.mse-include/loyalty/defense shadow.png b/data/magic-modules.mse-include/loyalty/defense shadow.png new file mode 100644 index 000000000..da6253f07 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/defense shadow.png differ diff --git a/data/magic-modules.mse-include/loyalty/defense.png b/data/magic-modules.mse-include/loyalty/defense.png new file mode 100644 index 000000000..d80bbd857 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/defense.png differ diff --git a/data/magic-modules.mse-include/loyalty/init_script b/data/magic-modules.mse-include/loyalty/init_script new file mode 100644 index 000000000..f3330d1f8 --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/init_script @@ -0,0 +1,65 @@ +mainframe_walker := { loyalty_text_field_1() <= 1 } +mainframe_walkerb := { loyalty_text_field_1() == 2 } +mainframe_walkerc := { loyalty_text_field_1() == 3 } +mainframe_walkerd := { loyalty_text_field_1() == 4 } +mainframe_walker_text_script := +{ + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) +} +mainframe_walker_text_scriptb := +{ + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) +} +mainframe_walker_text_scriptc := +{ + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) +} +mainframe_walker_text_scriptd := +{ + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) +} +margin_left := +{ + number := to_int(replace(input, match: "lv", replace: "")) or else 999 + if number > 8 or card["loyalty_cost_" + number] == "" then 0 + else to_int(190 * r_width(instance: 1) + (loyalty_cost_offset_left_1() + loyalty_cost_offset_width_1() + loyalty_cost_offset_text_margin_1()) * 10) +} +text_filter := text_filter + { apply_margins(input, name: margin_code) } + { add_spacers(input, name: margin_code) } +add_spacers := +{ + #The 'then ""' has a zero-width space inside + if input == "" and loyalty_level_is_active(name) then "​" + else input +} diff --git a/data/magic-modules.mse-include/loyalty/init_script_dfc b/data/magic-modules.mse-include/loyalty/init_script_dfc new file mode 100644 index 000000000..8a258e2a2 --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/init_script_dfc @@ -0,0 +1,126 @@ +mainframe_walker := { loyalty_text_field_1() <= 1 or loyalty_text_field_2() <= 1 } +mainframe_walkerb := { loyalty_text_field_1() == 2 or loyalty_text_field_2() == 2 } +mainframe_walkerc := { loyalty_text_field_1() == 3 or loyalty_text_field_2() == 3 } +mainframe_walkerd := { loyalty_text_field_1() == 4 or loyalty_text_field_2() == 4 } +mainframe_walker_text_script := +{ + if loyalty_text_field_1() <= 1 then + ( + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) + ) + else + ( + count := loyalty_abilities_count(instance: 2) + if count == 8 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text, separator7: "\n", field8: card.level_16_text) + else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text) + else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text) + else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text) + else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text) + else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text) + else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text) + else forward_editor(field: card.level_9_text) + ) +} +mainframe_walker_text_scriptb := +{ + if loyalty_text_field_1() == 2 then + ( + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) + ) + else + ( + count := loyalty_abilities_count(instance: 2) + if count == 8 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text, separator7: "\n", field8: card.level_16_text) + else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text) + else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text) + else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text) + else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text) + else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text) + else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text) + else forward_editor(field: card.level_9_text) + ) +} +mainframe_walker_text_scriptc := +{ + if loyalty_text_field_1() == 3 then + ( + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) + ) + else + ( + count := loyalty_abilities_count(instance: 2) + if count == 8 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text, separator7: "\n", field8: card.level_16_text) + else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text) + else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text) + else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text) + else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text) + else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text) + else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text) + else forward_editor(field: card.level_9_text) + ) +} +mainframe_walker_text_scriptd := +{ + if loyalty_text_field_1() == 4 then + ( + count := loyalty_abilities_count(instance: 1) + if count == 8 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, separator6: "\n", field7: card.level_7_text, separator7: "\n", field8: card.level_8_text) + else if count == 7 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, separator6: "\n", field7: card.level_7_text) + else if count == 6 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 if count == 5 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 count == 4 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 count == 3 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) + else if count == 2 then combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) + else forward_editor(field: card.level_1_text) + ) + else + ( + count := loyalty_abilities_count(instance: 2) + if count == 8 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text, separator7: "\n", field8: card.level_16_text) + else if count == 7 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text, separator6: "\n", field7: card.level_15_text) + else if count == 6 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text, separator5: "\n", field6: card.level_14_text) + else if count == 5 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text, separator4: "\n", field5: card.level_13_text) + else if count == 4 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text, separator3: "\n", field4: card.level_12_text) + else if count == 3 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text) + else if count == 2 then combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text) + else forward_editor(field: card.level_9_text) + ) +} +margin_left := +{ + number := to_int(replace(input, match: "lv", replace: "")) or else 999 + if number > 16 or card["loyalty_cost_" + number] == "" then 0 else ( + instance := if number < 9 then 1 else if number < 17 then 2 else 3 + to_int(190 * r_width() + (loyalty_cost_offset_left() + loyalty_cost_offset_width() + loyalty_cost_offset_text_margin()) * 10)) +} +text_filter := text_filter + { apply_margins(input, name: margin_code) } + { add_spacers(input, name: margin_code) } +add_spacers := +{ + #The 'then ""' has a zero-width space inside + if input == "" and loyalty_level_is_active(name) then "​" + else input +} diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost + shadow.png b/data/magic-modules.mse-include/loyalty/loyalty cost + shadow.png new file mode 100644 index 000000000..26f476d6b Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost + shadow.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost +.png b/data/magic-modules.mse-include/loyalty/loyalty cost +.png new file mode 100644 index 000000000..108322060 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost +.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost - shadow.png b/data/magic-modules.mse-include/loyalty/loyalty cost - shadow.png new file mode 100644 index 000000000..68bad6974 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost - shadow.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost -.png b/data/magic-modules.mse-include/loyalty/loyalty cost -.png new file mode 100644 index 000000000..45fce5d67 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost -.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost 0 shadow.png b/data/magic-modules.mse-include/loyalty/loyalty cost 0 shadow.png new file mode 100644 index 000000000..17a0af338 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost 0 shadow.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost 0.png b/data/magic-modules.mse-include/loyalty/loyalty cost 0.png new file mode 100644 index 000000000..d032727e1 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost 0.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost anti ult shadow.png b/data/magic-modules.mse-include/loyalty/loyalty cost anti ult shadow.png new file mode 100644 index 000000000..f7f6d7414 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost anti ult shadow.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost anti ult.png b/data/magic-modules.mse-include/loyalty/loyalty cost anti ult.png new file mode 100644 index 000000000..2e97e35ac Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost anti ult.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost ult shadow.png b/data/magic-modules.mse-include/loyalty/loyalty cost ult shadow.png new file mode 100644 index 000000000..a0f1c941c Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost ult shadow.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty cost ult.png b/data/magic-modules.mse-include/loyalty/loyalty cost ult.png new file mode 100644 index 000000000..593ca8f8a Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty cost ult.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty shadow.png b/data/magic-modules.mse-include/loyalty/loyalty shadow.png new file mode 100644 index 000000000..b0434520b Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty shadow.png differ diff --git a/data/magic-modules.mse-include/loyalty/loyalty.png b/data/magic-modules.mse-include/loyalty/loyalty.png new file mode 100644 index 000000000..c5d79e4cf Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/loyalty.png differ diff --git a/data/magic-modules.mse-include/loyalty/readme.txt b/data/magic-modules.mse-include/loyalty/readme.txt new file mode 100644 index 000000000..bc2b777e4 --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/readme.txt @@ -0,0 +1,56 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Add the following line, indented by one tab, in the init script section: + include file: /magic-modules.mse-include/loyalty/init_script + +#### Add the following line,unindented, in the styling field section: +include file: /magic-modules.mse-include/loyalty/styling_fields + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/information/card_fields + +#### Customization +#### Optionally, you can adjust appearance by defining the following functions in the init script: + +#### To change which face of the card the boxes go on: +loyalty_face_1 := { 1 } + +#### To change which card field the boxes snap to, +#### 1 is for card.text, 2 for card.text_2, and 3 for card.text_3 +#### This text field and it's watermark should have z index greater than 1100 +loyalty_text_field_1 := { 1 } + +#### This text field's font color should be: +color: { styling.rule_text_color } + +#### To move the starting loyalty up/down: +loyalty_offset_top_1 := { 0 } + +#### To move the starting loyalty left/right: +loyalty_offset_left_1 := { 0 } + +#### To increase/decrease the starting loyalty size: +loyalty_offset_width_1 := { 0 } +loyalty_offset_height_1 := { 0 } + +#### Similarly for loyalty costs of abilities: +loyalty_cost_offset_top_1 := { 0 } +loyalty_cost_offset_left_1 := { 0 } +loyalty_cost_offset_width_1 := { 0 } +loyalty_cost_offset_height_1 := { 0 } + +#### To increase/decrease by how much the text becomes indented when a loyalty cost is active: +loyalty_cost_offset_text_margin_1 := { 0 } + +#### To change where the stripes separating the abilities appear on the face: +#### This must return the path of a mask with the same dimensions as the face the boxes go on. +#### It must have white pixels where the stripes are visible, and black where they are not visible +loyalty_textbox_mask_1 := +{ + if is_stamped() + then "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png" + else "/magic-modules.mse-include/loyalty/default_textbox_mask.png" +} diff --git a/data/magic-modules.mse-include/loyalty/stripe_bottom.png b/data/magic-modules.mse-include/loyalty/stripe_bottom.png new file mode 100644 index 000000000..b9807c11b Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/stripe_bottom.png differ diff --git a/data/magic-modules.mse-include/loyalty/stripe_top.png b/data/magic-modules.mse-include/loyalty/stripe_top.png new file mode 100644 index 000000000..d1fe92665 Binary files /dev/null and b/data/magic-modules.mse-include/loyalty/stripe_top.png differ diff --git a/data/magic-modules.mse-include/loyalty/styling_fields b/data/magic-modules.mse-include/loyalty/styling_fields new file mode 100644 index 000000000..4cc50971e --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/styling_fields @@ -0,0 +1,62 @@ +styling field: + type: choice + name: number of textboxes + description: Number of textboxes for abilities and passives. MODIFY CONTENTS OF TEXTBOXES IF THIS HAS TROUBLE UPDATING AFTER BEING CHANGED. + choice: 1 + choice: 2 + choice: 3 + choice: 4 + choice: 5 + choice: 6 + choice: 7 + choice: 8 + initial: 3 +styling field: + type: text + name: textbox opacity percentage + description: Set the opacity percentage for textboxes. Opaque is 100, transparent is 0, default is 70. +styling field: + type: color + name: textbox color + description: Use the specified color for the textbox background. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(255,255,255) +styling field: + type: text + name: stripes opacity percentage + description: Set the opacity percentage for stripes separating abilities. Opaque is 100, transparent is 0, default is 40. +styling field: + type: color + name: stripes color + description: Use the specified color for the textbox background. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(255,255,255) +styling field: + type: text + name: move separators + description: Moves the limits between abilities down by this many pixels. Use negatives to move up. Formatted as "1,2,3,4,5" +styling field: + type: text + name: move loyalty costs + description: Moves loyalty costs down by this many pixels. Use negatives to move up. Formatted as "1,2,3,4,5,6" +styling field: + type: color + name: rule text color + description: Use the specified color for the rule text. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(0,0,0) diff --git a/data/magic-modules.mse-include/loyalty/styling_fields_dfc b/data/magic-modules.mse-include/loyalty/styling_fields_dfc new file mode 100644 index 000000000..6a55fdf8c --- /dev/null +++ b/data/magic-modules.mse-include/loyalty/styling_fields_dfc @@ -0,0 +1,63 @@ +include file: /magic-modules.mse-include/loyalty/styling_fields +styling field: + type: choice + name: number of textboxes 2 + description: Number of textboxes for abilities and passives for the second face. MODIFY CONTENTS OF TEXTBOXES IF THIS HAS TROUBLE UPDATING AFTER BEING CHANGED. + choice: 1 + choice: 2 + choice: 3 + choice: 4 + choice: 5 + choice: 6 + choice: 7 + choice: 8 + initial: 3 +styling field: + type: text + name: textbox opacity percentage 2 + description: Set the opacity percentage for textboxes for the second face. Opaque is 100, transparent is 0, default is 70. +styling field: + type: color + name: textbox color 2 + description: Use the specified color for the textbox background for the second face. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(255,255,255) +styling field: + type: text + name: stripes opacity percentage 2 + description: Set the opacity percentage for stripes separating abilities for the second face. Opaque is 100, transparent is 0, default is 40. +styling field: + type: color + name: stripes color 2 + description: Use the specified color for the textbox background for the second face. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(255,255,255) +styling field: + type: text + name: move separators 2 + description: Moves the limits between abilities for the second face down by this many pixels. Use negatives to move up. Formatted as "1,2,3,4,5" +styling field: + type: text + name: move loyalty costs 2 + description: Moves loyalty costs for the second face down by this many pixels. Use negatives to move up. Formatted as "1,2,3,4,5,6" +styling field: + type: color + name: rule text color 2 + description: Use the specified color for the rule text for the second face. + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + initial: rgb(0,0,0) diff --git a/data/magic-modules.mse-include/namelines/card_fields b/data/magic-modules.mse-include/namelines/card_fields new file mode 100644 index 000000000..cc58e4483 --- /dev/null +++ b/data/magic-modules.mse-include/namelines/card_fields @@ -0,0 +1,4 @@ +include file: /magic-modules.mse-include/symbols/card_fields +include file: /magic-modules.mse-include/card-symbols/card_fields +include file: /magic-modules.mse-include/casting-costs/card_fields +include file: /magic-modules.mse-include/names/card_fields \ No newline at end of file diff --git a/data/magic-modules.mse-include/namelines/card_fields_dfc b/data/magic-modules.mse-include/namelines/card_fields_dfc new file mode 100644 index 000000000..3cc31e452 --- /dev/null +++ b/data/magic-modules.mse-include/namelines/card_fields_dfc @@ -0,0 +1,4 @@ +include file: /magic-modules.mse-include/symbols/card_fields_dfc +include file: /magic-modules.mse-include/card-symbols/card_fields_dfc +include file: /magic-modules.mse-include/casting-costs/card_fields_dfc +include file: /magic-modules.mse-include/names/card_fields_dfc \ No newline at end of file diff --git a/data/magic-modules.mse-include/namelines/card_fields_tfc b/data/magic-modules.mse-include/namelines/card_fields_tfc new file mode 100644 index 000000000..3dac35188 --- /dev/null +++ b/data/magic-modules.mse-include/namelines/card_fields_tfc @@ -0,0 +1,4 @@ +include file: /magic-modules.mse-include/symbols/card_fields_tfc +include file: /magic-modules.mse-include/card-symbols/card_fields_tfc +include file: /magic-modules.mse-include/casting-costs/card_fields_tfc +include file: /magic-modules.mse-include/names/card_fields_tfc \ No newline at end of file diff --git a/data/magic-modules.mse-include/namelines/readme.txt b/data/magic-modules.mse-include/namelines/readme.txt new file mode 100644 index 000000000..36d45985c --- /dev/null +++ b/data/magic-modules.mse-include/namelines/readme.txt @@ -0,0 +1,72 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/namelines/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/namelines/card_fields_dfc +include file: /magic-modules.mse-include/namelines/card_fields_tfc + +#### Customization +#### The transform symbols default to "none", defaults can be changed with +transform_symbol_default := +{ + if margin_code == "transform1" then "front triangle" + else if margin_code == "transform2" then "back triangle" + else "eldrazi" +} + +#### Optionally, you can define which face of the card the nameline should snap to, +#### by defining the following function in the init script: +nameline_face_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the nameline by: + +#### To shift the entire nameline up/down (name + casting cost + transformation symbol): +nameline_offset_top_1 := { 0 } + +#### To shift the entire nameline left/right: +nameline_offset_left_1 := { 0 } + +#### To increase/decrease the width of the entire nameline (this WILL NOT change the size of the transformation symbol): +nameline_offset_width_1 := { 0 } + +#### To increase/decrease the height of the entire nameline (this WILL change the size of the transformation symbol): +nameline_offset_height_1 := { 0 } + +#### You can also adjust each of the components individually: +name_offset_top_1 := { 0 } +name_offset_left_1 := { 0 } +name_offset_right_1 := { 0 } +name_offset_height_1 := { 0 } + +casting_cost_offset_top_1 := { 0 } +casting_cost_offset_left_1 := { 0 } +casting_cost_offset_width_1 := { 0 } +casting_cost_offset_height_1 := { 0 } + +transform_symbol_disabled_1 := { true } +transform_symbol_mirrored_1 := { true } +transform_symbol_offset_top_1 := { 0 } +transform_symbol_offset_left_1 := { 0 } +transform_symbol_offset_width_1 := { 0 } +transform_symbol_offset_height_1 := { 0 } + +#### You can increase/decrease the amount by which the name shifts left +#### when a transformation symbol is present on the card: +name_transform_symbol_offset_left_1 := { 0 } + +#### For DFC or TFC templates, use: +nameline_offset_top_2 := { 0 } +nameline_offset_left_2 := { 0 } +nameline_offset_width_2 := { 0 } +nameline_offset_height_2 := { 0 } +nameline_offset_top_3 := { 0 } +nameline_offset_left_3 := { 0 } +nameline_offset_width_3 := { 0 } +nameline_offset_height_3 := { 0 } +etc... + diff --git a/data/magic-modules.mse-include/names/card_fields b/data/magic-modules.mse-include/names/card_fields new file mode 100644 index 000000000..8179d07db --- /dev/null +++ b/data/magic-modules.mse-include/names/card_fields @@ -0,0 +1,14 @@ +card style: + name: + left: { name_left_1() + name_transform_symbol_shift_1() + name_card_symbol_shift_1() + nameline_offset_left_1() } + top: { name_top_1() + nameline_offset_top_1() + name_font_vertical() } + right: { name_right_1() + nameline_offset_width_1() } + height: { name_height_1() + nameline_offset_height_1() } + alignment: middle left shrink-overflow + visible: { (not nameline_disabled_1()) and not name_disabled_1() } + font: + name: { name_font() } + italic name: { name_font_italic() } + size: { name_font_size() } + color: { name_font_color() } + z index: 900 \ No newline at end of file diff --git a/data/magic-modules.mse-include/names/card_fields_dfc b/data/magic-modules.mse-include/names/card_fields_dfc new file mode 100644 index 000000000..48443b8c5 --- /dev/null +++ b/data/magic-modules.mse-include/names/card_fields_dfc @@ -0,0 +1,15 @@ +include file: /magic-modules.mse-include/names/card_fields +card style: + name 2: + left: { name_left_2() + name_transform_symbol_shift_2() + name_card_symbol_shift_2() + nameline_offset_left_2() } + top: { name_top_2() + nameline_offset_top_2() + name2_font_vertical() } + right: { name_right_2() + nameline_offset_width_2() } + height: { name_height_2() + nameline_offset_height_2() } + alignment: middle left shrink-overflow + visible: { (not nameline_disabled_2()) and not name_disabled_2() } + font: + name: { name2_font() } + italic name: { name2_font_italic() } + size: { name2_font_size() } + color: { name2_font_color() } + z index: 900 \ No newline at end of file diff --git a/data/magic-modules.mse-include/names/card_fields_tfc b/data/magic-modules.mse-include/names/card_fields_tfc new file mode 100644 index 000000000..bd824a9ba --- /dev/null +++ b/data/magic-modules.mse-include/names/card_fields_tfc @@ -0,0 +1,15 @@ +include file: /magic-modules.mse-include/names/card_fields_dfc +card style: + name 3: + left: { name_left_3() + name_transform_symbol_shift_3() + name_card_symbol_shift_3() + nameline_offset_left_3() } + top: { name_top_3() + nameline_offset_top_3() + name3_font_vertical() } + right: { name_right_3() + nameline_offset_width_3() } + height: { name_height_3() + nameline_offset_height_3() } + alignment: middle left shrink-overflow + visible: { (not nameline_disabled_3()) and not name_disabled_3() } + font: + name: { name3_font() } + italic name: { name3_font_italic() } + size: { name3_font_size() } + color: { name3_font_color() } + z index: 900 \ No newline at end of file diff --git a/data/magic-modules.mse-include/names/readme.txt b/data/magic-modules.mse-include/names/readme.txt new file mode 100644 index 000000000..c1ca1f7c6 --- /dev/null +++ b/data/magic-modules.mse-include/names/readme.txt @@ -0,0 +1,46 @@ +#### Consider using the Namelines module instead of this one + +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/names/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/names/card_fields_dfc +include file: /magic-modules.mse-include/names/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +name: + left: 32w + symbols_width + top: 27h + right: 341w - casting_cost + height: 26h +#### Customization +#### Optionally, you can define which face of the card the name should snap to, +#### by defining the following function in the init script: +nameline_face_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the name by: + +#### To shift the name up/down: +name_offset_top_1 := { 0 } + +#### To shift the name left/right: +name_offset_left_1 := { 0 } + +#### To shift where the name ends: +name_offset_right_1 := { 0 } + +#### To increase/decrease the height of the name: +name_offset_height_1 := { 0 } + +#### For DFC or TFC templates, use: +name_offset_top_2 := { 0 } +name_offset_left_2 := { 0 } +name_offset_size_2 := { 0 } +name_offset_top_3 := { 0 } +name_offset_left_3 := { 0 } +name_offset_size_3 := { 0 } \ No newline at end of file diff --git a/data/magic-modules.mse-include/rarities/card_fields b/data/magic-modules.mse-include/rarities/card_fields new file mode 100644 index 000000000..cbb76d76f --- /dev/null +++ b/data/magic-modules.mse-include/rarities/card_fields @@ -0,0 +1,11 @@ +card style: + rarity: + right: { rarity_right_1() + typeline_offset_left_1() + typeline_offset_width_1() } + top: { rarity_top_1() + typeline_offset_top_1() } + width: { rarity_width_1() + typeline_offset_height_1() } + height: { rarity_height_1() + typeline_offset_height_1() } + z index: 950 + alignment: middle right + visible: { (not typeline_disabled_1()) and not rarity_disabled_1() } + render style: image + include file: /magic-modules.mse-include/rarities/choice_images diff --git a/data/magic-modules.mse-include/rarities/card_fields_dfc b/data/magic-modules.mse-include/rarities/card_fields_dfc new file mode 100644 index 000000000..6397d30fd --- /dev/null +++ b/data/magic-modules.mse-include/rarities/card_fields_dfc @@ -0,0 +1,12 @@ +include file: /magic-modules.mse-include/rarities/card_fields +card style: + rarity 2: + right: { rarity_right_2() + typeline_offset_left_2() + typeline_offset_width_2() } + top: { rarity_top_2() + typeline_offset_top_2() } + width: { rarity_width_2() + typeline_offset_height_2() } + height: { rarity_height_2() + typeline_offset_height_2() } + z index: 950 + alignment: middle center + visible: { (not typeline_disabled_2()) and not rarity_disabled_2() } + render style: image + include file: /magic-modules.mse-include/rarities/choice_images \ No newline at end of file diff --git a/data/magic-modules.mse-include/rarities/card_fields_tfc b/data/magic-modules.mse-include/rarities/card_fields_tfc new file mode 100644 index 000000000..a86f94de2 --- /dev/null +++ b/data/magic-modules.mse-include/rarities/card_fields_tfc @@ -0,0 +1,12 @@ +include file: /magic-modules.mse-include/rarities/card_fields_dfc +card style: + rarity 3: + right: { rarity_right_3() + typeline_offset_left_3() + typeline_offset_width_3() } + top: { rarity_top_3() + typeline_offset_top_3() } + width: { rarity_width_3() + typeline_offset_height_3() } + height: { rarity_height_3() + typeline_offset_height_3() } + z index: 950 + alignment: middle center + visible: { (not typeline_disabled_3()) and not rarity_disabled_3() } + render style: image + include file: /magic-modules.mse-include/rarities/choice_images \ No newline at end of file diff --git a/data/magic-modules.mse-include/rarities/choice_images b/data/magic-modules.mse-include/rarities/choice_images new file mode 100644 index 000000000..43151f883 --- /dev/null +++ b/data/magic-modules.mse-include/rarities/choice_images @@ -0,0 +1,39 @@ +choice images: + # Images based on the set symbol + basic land: + script: + if use_main_rarity() then mainframe_rarity("c") + else if alt_rarity() then alt_symbol() + else if styling.inverted_common_symbol or else set.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 mainframe_rarity("c") + else if alt_rarity() then alt_symbol() + else if styling.inverted_common_symbol or else set.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 mainframe_rarity("u") + else if alt_rarity() then alt_symbol() + else symbol_variation(symbol: set.symbol, variation: "uncommon") + rare: + script: + if use_main_rarity() then mainframe_rarity("r") + else if alt_rarity() then alt_symbol() + else symbol_variation(symbol: set.symbol, variation: "rare") + mythic rare: + script: + if use_main_rarity() then mainframe_rarity("m") + else if alt_rarity() then alt_symbol() + else symbol_variation(symbol: set.symbol, variation: "mythic rare") + special: + script: + if use_main_rarity() then mainframe_rarity("s") + else if alt_rarity() then alt_symbol() + else symbol_variation(symbol: set.symbol, variation: "special") + masterpiece: + script: + if use_main_rarity() then mainframe_rarity("mp") + else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") + \ No newline at end of file diff --git a/data/magic-modules.mse-include/rarities/readme.txt b/data/magic-modules.mse-include/rarities/readme.txt new file mode 100644 index 000000000..c4e3a8acc --- /dev/null +++ b/data/magic-modules.mse-include/rarities/readme.txt @@ -0,0 +1,49 @@ +#### Consider using the Typelines module instead of this one + +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/rarities/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/rarities/card_fields_dfc +include file: /magic-modules.mse-include/rarities/card_fields_tfc + +#### Also add this among the styling field section, +#### (styling fields will appear in the order you place them): +#### This will add a text option for customizing the colors used by the rarity symbol, +#### and another to further tweak the positioning of the rarity symbol. +include file: /magic-modules.mse-include/rarities/styling_fields + +#### Default Field Placement (@375x523, w=1 h=1) +rarity: + left: 317w + top: 297h + width: 24w + height: 24h +#### Customization +#### Optionally, you can define which face of the card the rarity should snap to, +#### by defining the following function in the init script: +typeline_face_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the rarity by: + +#### To shift the rarity up/down: +rarity_offset_top_1 := { 0 } + +#### To shift the rarity left/right: +rarity_offset_left_1 := { 0 } + +#### To increase/decrease the width and height of the rarity: +rarity_offset_size_1 := { 0 } + +#### For DFC or TFC templates, use: +rarity_offset_top_2 := { 0 } +rarity_offset_left_2 := { 0 } +rarity_offset_size_2 := { 0 } +rarity_offset_top_3 := { 0 } +rarity_offset_left_3 := { 0 } +rarity_offset_size_3 := { 0 } \ No newline at end of file diff --git a/data/magic-modules.mse-include/rarities/styling_fields b/data/magic-modules.mse-include/rarities/styling_fields new file mode 100644 index 000000000..f7b4e2a14 --- /dev/null +++ b/data/magic-modules.mse-include/rarities/styling_fields @@ -0,0 +1,8 @@ +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:...:X:" 1 and 2 are fill color, 3 and 4 border color, X is border thickness. For example, rare is 214,196,94:95,84,40:0,0,0:0,0,0:0.07 +styling field: + type: text + name: rarity offsets + description: Formatted as "A,B,C,D". Moves the set symbol A pixels to the right, B pixels down, C pixels wider, D pixels taller. Use negatives for other directions. diff --git a/data/magic-modules.mse-include/readme.txt b/data/magic-modules.mse-include/readme.txt new file mode 100644 index 000000000..1cc4074d0 --- /dev/null +++ b/data/magic-modules.mse-include/readme.txt @@ -0,0 +1,90 @@ +#### This include contains standardized assets and code that can help with template creation. +#### To add a module, see the detailed instructions in it's folder's readme. + +#### Globally, you must respect the following z index conventions: +-100: hidden #### Backend things that should never be visible to the user +0000: backboard #### Things (other than the main card frame) that layer behind the art +0100: illustration #### Main card art +0200: background #### Main card frame. Will need a mask to allow clicking the art beneath. +0300: trim #### Effects like vehicle, nyx, and snow that don't spill over the border +0400: pinline #### Colored pinlines, pride pinlines +0500: border #### Border +0600: plate editing #### Major frame pieces: Transform sym/Lesson/Spree handling, Adventure pages, movable typelines +0700: watermarking #### Watermarks, loyalty ability stripes, flavor bar, pop-under art (ex: WAR JP Tamiyo's popout goes under the rarity symbol) +0800: attachments #### Optional frame additions: Crown, ptbox, level arrows, loyalty boxes, stamps, color indicators, alias box, flash dot +0900: text #### Any text, rarity symbol +1000: overlays #### Popout art, foiling and other overlay packages +1100: corners #### These must always be last + + +Notes on z index conventions: + +z index can't be scripted, so choices made need to be consistent across a wide range of templates +As such, the card frame goes over the card art: +This means normal card frames need to use a frame mask +Because the alternative is frames like devoid must layer the art over the frame, which is untenable + +Trim effects can spill over the pinline and frame plates (such as snow's textbox effect). +However, these will be overruled by conflicting effects at the higher z index (such as Adventure pages). + +The main functional difference between "plate editing" and "attachments" is how they interact with watermarking. +When that isn't relevant, consider if the effect is editing the standard version of the frame layout, or adding an extra thing on top +Crowns are treated as the later in the code to allow for more custom crown freedom, even though they do more resemble the former + +Text can go at lower z indexes if it's meant to be obscured or behind the watermarking +But generally any user input text should be in the 900 level, on top of all the frame elements + +Overlays primarily refer to .mse-include packages that add foiling and other effects, as well as the popout art. +Templates sometimes refer to things like the Vehicle trim as overlays, but these don't belong in this z index unless they must layer over text. + +Corners are functionally a special kind of overlay to standardize corners, and get their own section to ensure they always apply last. +This has the minor drawback that popout art can't be applied to the most extreme corners for square-corner cards. +The invisible corner option has been added as a workaround for this. + +Specific z indexes +100 Image + +200 Card Color + +300 Standard color trim +310 Vehicle +320 Snow +330 Nyx + +400 Color pinlines +410 Pride pinlines + +500 Card border + +600 Moveable name/typelines +610 Name/type caps (spree attachment) +620 Transform symbol +620 Adventure page +640 Leveler backgrounds + +700 Textbox background +710 Loyalty ability stripes +720 Watermarks +740 Flavor bar +790 Pop-under art + +800 Indicators +800 Legend crown +810 Tombstone/alchemy symbol +830 Loyalty boxes +840 PT Box, Leveler arrows, Flash dot +850 Color stamp +860 Holofoil stamp +880 Alias box + +900 Loyalty cost colons +900 User text fields +900 Information below the textbox & credit symbols +920 Casting cost +950 Rarity + +1010 Popout art +1050 Overlay package + +1100 Partition select +1100 Corners \ No newline at end of file diff --git a/data/magic-modules.mse-include/separators/card_fields b/data/magic-modules.mse-include/separators/card_fields new file mode 100644 index 000000000..a0176f7c8 --- /dev/null +++ b/data/magic-modules.mse-include/separators/card_fields @@ -0,0 +1,9 @@ +card style: + separator: + left: { flavor_bar_left(1) + flavor_bar_offset_left_1() - flavor_bar_offset_width_1() } + top: { flavor_bar_top(1) + flavor_bar_offset_top_1() - flavor_bar_offset_height_1() } + width: { flavor_bar_width(1) + 2*flavor_bar_offset_width_1() } + height: { flavor_bar_height(1) + 2*flavor_bar_offset_height_1() } + render style: image + image: { "/magic-modules.mse-include/separators/" + card.separator + ".png" } + z index: 740 \ No newline at end of file diff --git a/data/magic-modules.mse-include/separators/card_fields_dfc b/data/magic-modules.mse-include/separators/card_fields_dfc new file mode 100644 index 000000000..8c461bf6d --- /dev/null +++ b/data/magic-modules.mse-include/separators/card_fields_dfc @@ -0,0 +1,10 @@ +include file: /magic-modules.mse-include/separators/card_fields +card style: + separator 2: + left: { flavor_bar_left(2) + flavor_bar_offset_left_2() - flavor_bar_offset_width_2() } + top: { flavor_bar_top(2) + flavor_bar_offset_top_2() - flavor_bar_offset_height_2() } + width: { flavor_bar_width(2) + 2*flavor_bar_offset_width_2() } + height: { flavor_bar_height(2) + 2*flavor_bar_offset_height_2() } + render style: image + image: { "/magic-modules.mse-include/separators/" + card.separator_2 + ".png" } + z index: 740 \ No newline at end of file diff --git a/data/magic-modules.mse-include/separators/card_fields_tfc b/data/magic-modules.mse-include/separators/card_fields_tfc new file mode 100644 index 000000000..cff8e34aa --- /dev/null +++ b/data/magic-modules.mse-include/separators/card_fields_tfc @@ -0,0 +1,10 @@ +include file: /magic-modules.mse-include/separators/card_fields_dfc +card style: + separator 3: + left: { flavor_bar_left(3) + flavor_bar_offset_left_3() - flavor_bar_offset_width_3() } + top: { flavor_bar_top(3) + flavor_bar_offset_top_3() - flavor_bar_offset_height_3() } + width: { flavor_bar_width(3) + 2*flavor_bar_offset_width_3() } + height: { flavor_bar_height(3) + 2*flavor_bar_offset_height_3() } + render style: image + image: { "/magic-modules.mse-include/separators/" + card.separator_3 + ".png" } + z index: 740 \ No newline at end of file diff --git a/data/magic-modules.mse-include/separators/choices b/data/magic-modules.mse-include/separators/choices new file mode 100644 index 000000000..ec47c1e54 --- /dev/null +++ b/data/magic-modules.mse-include/separators/choices @@ -0,0 +1,9 @@ +choice: flavor bar +choice: grey bar +choice: + name: level + enabled: { separator_enable_level() } +choice: + name: level notchless + enabled: { separator_enable_level() } +choice: none \ No newline at end of file diff --git a/data/magic-modules.mse-include/separators/flavor bar.png b/data/magic-modules.mse-include/separators/flavor bar.png new file mode 100644 index 000000000..d344ed95a Binary files /dev/null and b/data/magic-modules.mse-include/separators/flavor bar.png differ diff --git a/data/magic-modules.mse-include/separators/grey bar.png b/data/magic-modules.mse-include/separators/grey bar.png new file mode 100644 index 000000000..457f22332 Binary files /dev/null and b/data/magic-modules.mse-include/separators/grey bar.png differ diff --git a/data/magic-modules.mse-include/separators/level notchless.png b/data/magic-modules.mse-include/separators/level notchless.png new file mode 100644 index 000000000..497aaac57 Binary files /dev/null and b/data/magic-modules.mse-include/separators/level notchless.png differ diff --git a/data/magic-modules.mse-include/separators/level.png b/data/magic-modules.mse-include/separators/level.png new file mode 100644 index 000000000..d4f89d0fe Binary files /dev/null and b/data/magic-modules.mse-include/separators/level.png differ diff --git a/data/magic-modules.mse-include/separators/none.png b/data/magic-modules.mse-include/separators/none.png new file mode 100644 index 000000000..155763ea9 Binary files /dev/null and b/data/magic-modules.mse-include/separators/none.png differ diff --git a/data/magic-modules.mse-include/separators/readme.txt b/data/magic-modules.mse-include/separators/readme.txt new file mode 100644 index 000000000..9f2506da8 --- /dev/null +++ b/data/magic-modules.mse-include/separators/readme.txt @@ -0,0 +1,34 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/separators/card_fields +#### For DFC, TFC, or multiple textbox templates, instead use: +include file: /magic-modules.mse-include/separators/card_fields_dfc +include file: /magic-modules.mse-include/separators/card_fields_tfc + +#### Customization +#### Optionally, you can adjust global alignment by defining the following functions in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the flavor bar by: + +#### To shift the bar up/down: +flavor_bar_offset_top_1 := { 0 } + +#### To shift the bar left/right: +flavor_bar_offset_left_1 := { 0 } + +#### To increase/decrease the size: +flavor_bar_offset_width_1 := { 0 } +flavor_bar_offset_height_1 := { 0 } + +#### For the other faces on DFC or TFC templates, use: +flavor_bar_offset_top_2 := { 0 } +flavor_bar_offset_left_2 := { 0 } +flavor_bar_offset_width_2 := { 0 } +flavor_bar_offset_height_2 := { 0 } +flavor_bar_offset_top_3 := { 0 } +flavor_bar_offset_left_3 := { 0 } +flavor_bar_offset_width_3 := { 0 } +flavor_bar_offset_height_3 := { 0 } \ No newline at end of file diff --git a/data/magic-modules.mse-include/stamps/1039x744 acorn.png b/data/magic-modules.mse-include/stamps/1039x744 acorn.png new file mode 100644 index 000000000..3704ea3a6 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 alchemy old.png b/data/magic-modules.mse-include/stamps/1039x744 alchemy old.png new file mode 100644 index 000000000..c44e5bc6f Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 alchemy.png b/data/magic-modules.mse-include/stamps/1039x744 alchemy.png new file mode 100644 index 000000000..af4f135ce Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 flatstamped acorn.png b/data/magic-modules.mse-include/stamps/1039x744 flatstamped acorn.png new file mode 100644 index 000000000..206ba5612 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 flatstamped acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 flatstamped alchemy old.png b/data/magic-modules.mse-include/stamps/1039x744 flatstamped alchemy old.png new file mode 100644 index 000000000..18107a611 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 flatstamped alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 flatstamped alchemy.png b/data/magic-modules.mse-include/stamps/1039x744 flatstamped alchemy.png new file mode 100644 index 000000000..d93baf7a2 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 flatstamped alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 flatstamped heart.png b/data/magic-modules.mse-include/stamps/1039x744 flatstamped heart.png new file mode 100644 index 000000000..7a72d1b52 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 flatstamped heart.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 flatstamped standard.png b/data/magic-modules.mse-include/stamps/1039x744 flatstamped standard.png new file mode 100644 index 000000000..575d1f662 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 flatstamped standard.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 flatstamped universes beyond.png b/data/magic-modules.mse-include/stamps/1039x744 flatstamped universes beyond.png new file mode 100644 index 000000000..48b5e3ab1 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 flatstamped universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 heart.png b/data/magic-modules.mse-include/stamps/1039x744 heart.png new file mode 100644 index 000000000..e15659b6c Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 heart.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 standard.png b/data/magic-modules.mse-include/stamps/1039x744 standard.png new file mode 100644 index 000000000..ccb31be25 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 standard.png differ diff --git a/data/magic-modules.mse-include/stamps/1039x744 universes beyond.png b/data/magic-modules.mse-include/stamps/1039x744 universes beyond.png new file mode 100644 index 000000000..967a5cf73 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/1039x744 universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 acorn.png b/data/magic-modules.mse-include/stamps/375x523 acorn.png new file mode 100644 index 000000000..bdb55efb0 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 alchemy old.png b/data/magic-modules.mse-include/stamps/375x523 alchemy old.png new file mode 100644 index 000000000..ffd714d93 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 alchemy.png b/data/magic-modules.mse-include/stamps/375x523 alchemy.png new file mode 100644 index 000000000..d21c9c948 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 flatstamped acorn.png b/data/magic-modules.mse-include/stamps/375x523 flatstamped acorn.png new file mode 100644 index 000000000..56a858c43 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 flatstamped acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 flatstamped alchemy old.png b/data/magic-modules.mse-include/stamps/375x523 flatstamped alchemy old.png new file mode 100644 index 000000000..9f921f6df Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 flatstamped alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 flatstamped alchemy.png b/data/magic-modules.mse-include/stamps/375x523 flatstamped alchemy.png new file mode 100644 index 000000000..9b3c18e59 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 flatstamped alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 flatstamped heart.png b/data/magic-modules.mse-include/stamps/375x523 flatstamped heart.png new file mode 100644 index 000000000..fa317a8e0 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 flatstamped heart.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 flatstamped standard.png b/data/magic-modules.mse-include/stamps/375x523 flatstamped standard.png new file mode 100644 index 000000000..f568452b2 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 flatstamped standard.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 flatstamped universes beyond.png b/data/magic-modules.mse-include/stamps/375x523 flatstamped universes beyond.png new file mode 100644 index 000000000..570c4088a Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 flatstamped universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 heart.png b/data/magic-modules.mse-include/stamps/375x523 heart.png new file mode 100644 index 000000000..5bf44ef32 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 heart.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 standard.png b/data/magic-modules.mse-include/stamps/375x523 standard.png new file mode 100644 index 000000000..b0750d37e Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 standard.png differ diff --git a/data/magic-modules.mse-include/stamps/375x523 universes beyond.png b/data/magic-modules.mse-include/stamps/375x523 universes beyond.png new file mode 100644 index 000000000..ddb539dea Binary files /dev/null and b/data/magic-modules.mse-include/stamps/375x523 universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 acorn.png b/data/magic-modules.mse-include/stamps/523x375 acorn.png new file mode 100644 index 000000000..4cc006761 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 alchemy old.png b/data/magic-modules.mse-include/stamps/523x375 alchemy old.png new file mode 100644 index 000000000..9ddc089b0 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 alchemy.png b/data/magic-modules.mse-include/stamps/523x375 alchemy.png new file mode 100644 index 000000000..4f63192cb Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 flatstamped acorn.png b/data/magic-modules.mse-include/stamps/523x375 flatstamped acorn.png new file mode 100644 index 000000000..0c7a72d32 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 flatstamped acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 flatstamped alchemy old.png b/data/magic-modules.mse-include/stamps/523x375 flatstamped alchemy old.png new file mode 100644 index 000000000..a742a6cbf Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 flatstamped alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 flatstamped alchemy.png b/data/magic-modules.mse-include/stamps/523x375 flatstamped alchemy.png new file mode 100644 index 000000000..bf8818a7a Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 flatstamped alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 flatstamped heart.png b/data/magic-modules.mse-include/stamps/523x375 flatstamped heart.png new file mode 100644 index 000000000..2475ca9b9 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 flatstamped heart.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 flatstamped standard.png b/data/magic-modules.mse-include/stamps/523x375 flatstamped standard.png new file mode 100644 index 000000000..7a14e9504 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 flatstamped standard.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 flatstamped universes beyond.png b/data/magic-modules.mse-include/stamps/523x375 flatstamped universes beyond.png new file mode 100644 index 000000000..d57579031 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 flatstamped universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 heart.png b/data/magic-modules.mse-include/stamps/523x375 heart.png new file mode 100644 index 000000000..4de09201c Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 heart.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 standard.png b/data/magic-modules.mse-include/stamps/523x375 standard.png new file mode 100644 index 000000000..e4594d79b Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 standard.png differ diff --git a/data/magic-modules.mse-include/stamps/523x375 universes beyond.png b/data/magic-modules.mse-include/stamps/523x375 universes beyond.png new file mode 100644 index 000000000..92fe2bb2a Binary files /dev/null and b/data/magic-modules.mse-include/stamps/523x375 universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 acorn.png b/data/magic-modules.mse-include/stamps/744x1039 acorn.png new file mode 100644 index 000000000..ababcda3d Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 alchemy old.png b/data/magic-modules.mse-include/stamps/744x1039 alchemy old.png new file mode 100644 index 000000000..3405a084d Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 alchemy.png b/data/magic-modules.mse-include/stamps/744x1039 alchemy.png new file mode 100644 index 000000000..e20410388 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 flatstamped acorn.png b/data/magic-modules.mse-include/stamps/744x1039 flatstamped acorn.png new file mode 100644 index 000000000..2357accab Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 flatstamped acorn.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 flatstamped alchemy old.png b/data/magic-modules.mse-include/stamps/744x1039 flatstamped alchemy old.png new file mode 100644 index 000000000..1188629d5 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 flatstamped alchemy old.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 flatstamped alchemy.png b/data/magic-modules.mse-include/stamps/744x1039 flatstamped alchemy.png new file mode 100644 index 000000000..898693779 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 flatstamped alchemy.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 flatstamped heart.png b/data/magic-modules.mse-include/stamps/744x1039 flatstamped heart.png new file mode 100644 index 000000000..2cfc25448 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 flatstamped heart.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 flatstamped standard.png b/data/magic-modules.mse-include/stamps/744x1039 flatstamped standard.png new file mode 100644 index 000000000..283d7f3f3 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 flatstamped standard.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 flatstamped universes beyond.png b/data/magic-modules.mse-include/stamps/744x1039 flatstamped universes beyond.png new file mode 100644 index 000000000..1c488f304 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 flatstamped universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 heart.png b/data/magic-modules.mse-include/stamps/744x1039 heart.png new file mode 100644 index 000000000..1d568e692 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 heart.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 standard.png b/data/magic-modules.mse-include/stamps/744x1039 standard.png new file mode 100644 index 000000000..181b7cdc6 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 standard.png differ diff --git a/data/magic-modules.mse-include/stamps/744x1039 universes beyond.png b/data/magic-modules.mse-include/stamps/744x1039 universes beyond.png new file mode 100644 index 000000000..1fd1cf1a2 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/744x1039 universes beyond.png differ diff --git a/data/magic-modules.mse-include/stamps/behavior_choices b/data/magic-modules.mse-include/stamps/behavior_choices new file mode 100644 index 000000000..5b7ab1549 --- /dev/null +++ b/data/magic-modules.mse-include/stamps/behavior_choices @@ -0,0 +1,5 @@ +choice: Standard, rares holostamped +choice: UB, rares holostamped, others flatstamped +choice: All holostamped +choice: All flatstamped +choice: All unstamped \ No newline at end of file diff --git a/data/magic-modules.mse-include/stamps/card_choices b/data/magic-modules.mse-include/stamps/card_choices new file mode 100644 index 000000000..0f7852706 --- /dev/null +++ b/data/magic-modules.mse-include/stamps/card_choices @@ -0,0 +1,17 @@ +choice: standard +choice: none +choice: acorn +choice: heart +choice: universes beyond +choice: alchemy +choice: alchemy old +choice: custom +choice: + name: flatstamped + choice: standard + choice: acorn + choice: heart + choice: universes beyond + choice: alchemy + choice: alchemy old + choice: custom \ No newline at end of file diff --git a/data/magic-modules.mse-include/stamps/card_fields b/data/magic-modules.mse-include/stamps/card_fields new file mode 100644 index 000000000..77f960ac6 --- /dev/null +++ b/data/magic-modules.mse-include/stamps/card_fields @@ -0,0 +1,36 @@ +card style: + card stamp: + left: + script: + width := face_coordinates_map(1).width + height := face_coordinates_map(1).height + if width > height then face_coordinates_map(1).left + 7 * width/523 + card_stamp_offset_left_1() + else face_coordinates_map(1).left + 166 * width/375 + card_stamp_offset_left_1() + top: + script: + width := face_coordinates_map(1).width + height := face_coordinates_map(1).height + if width > height then face_coordinates_map(1).top + 166 * height/375 + card_stamp_offset_top_1() + else face_coordinates_map(1).top + 473 * height/523 + card_stamp_offset_top_1() + width: + script: + width := face_coordinates_map(1).width + height := face_coordinates_map(1).height + if width > height then 43 * width/523 + card_stamp_offset_width_1() + else 43 * width/375 + card_stamp_offset_width_1() + height: + script: + width := face_coordinates_map(1).width + height := face_coordinates_map(1).height + if width > height then 43 * height/375 + card_stamp_offset_height_1() + else 43 * height/523 + card_stamp_offset_height_1() + visible: { not card_stamp_disabled_1() } + popup style: in place + include file: /magic.mse-game/stamps/menu_choice_images + render style: image + image: + script: + set.stamp_behavior + card.rarity + card_stamp_image(field: 1, face: 1) + z index: 860 diff --git a/data/magic-modules.mse-include/stamps/card_fields_dfc b/data/magic-modules.mse-include/stamps/card_fields_dfc new file mode 100644 index 000000000..24cae3aaa --- /dev/null +++ b/data/magic-modules.mse-include/stamps/card_fields_dfc @@ -0,0 +1,37 @@ +include file: /magic-modules.mse-include/stamps/card_fields +card style: + card stamp 2: + left: + script: + width := face_coordinates_map(2).width + height := face_coordinates_map(2).height + if width > height then face_coordinates_map(2).left + 7 * width/523 + card_stamp_offset_left_2() + else face_coordinates_map(2).left + 166 * width/375 + card_stamp_offset_left_2() + top: + script: + width := face_coordinates_map(2).width + height := face_coordinates_map(2).height + if width > height then face_coordinates_map(2).top + 166 * height/375 + card_stamp_offset_top_2() + else face_coordinates_map(2).top + 473 * height/523 + card_stamp_offset_top_2() + width: + script: + width := face_coordinates_map(2).width + height := face_coordinates_map(2).height + if width > height then 43 * width/523 + card_stamp_offset_width_2() + else 43 * width/375 + card_stamp_offset_width_2() + height: + script: + width := face_coordinates_map(2).width + height := face_coordinates_map(2).height + if width > height then 43 * height/375 + card_stamp_offset_height_2() + else 43 * height/523 + card_stamp_offset_height_2() + visible: { not card_stamp_disabled_2() } + popup style: in place + include file: /magic.mse-game/stamps/menu_choice_images + render style: image + image: + script: + set.stamp_behavior + card.rarity_2 + card_stamp_image(field: 2, face: 2) + z index: 860 diff --git a/data/magic-modules.mse-include/stamps/card_fields_tfc b/data/magic-modules.mse-include/stamps/card_fields_tfc new file mode 100644 index 000000000..820ed09b4 --- /dev/null +++ b/data/magic-modules.mse-include/stamps/card_fields_tfc @@ -0,0 +1,37 @@ +include file: /magic-modules.mse-include/stamps/card_fields_dfc +card style: + card stamp 3: + left: + script: + width := face_coordinates_map(3).width + height := face_coordinates_map(3).height + if width > height then face_coordinates_map(3).left + 7 * width/523 + card_stamp_offset_left_3() + else face_coordinates_map(3).left + 166 * width/375 + card_stamp_offset_left_3() + top: + script: + width := face_coordinates_map(3).width + height := face_coordinates_map(3).height + if width > height then face_coordinates_map(3).top + 166 * height/375 + card_stamp_offset_top_3() + else face_coordinates_map(3).top + 473 * height/523 + card_stamp_offset_top_3() + width: + script: + width := face_coordinates_map(3).width + height := face_coordinates_map(3).height + if width > height then 43 * width/523 + card_stamp_offset_width_3() + else 43 * width/375 + card_stamp_offset_width_3() + height: + script: + width := face_coordinates_map(3).width + height := face_coordinates_map(3).height + if width > height then 43 * height/375 + card_stamp_offset_height_3() + else 43 * height/523 + card_stamp_offset_height_3() + visible: { not card_stamp_disabled_3() } + popup style: in place + include file: /magic.mse-game/stamps/menu_choice_images + render style: image + image: + script: + set.stamp_behavior + card.rarity_3 + card_stamp_image(field: 3, face: 3) + z index: 860 \ No newline at end of file diff --git a/data/magic-modules.mse-include/stamps/none.png b/data/magic-modules.mse-include/stamps/none.png new file mode 100644 index 000000000..d13f4e723 Binary files /dev/null and b/data/magic-modules.mse-include/stamps/none.png differ diff --git a/data/magic-modules.mse-include/stamps/readme.txt b/data/magic-modules.mse-include/stamps/readme.txt new file mode 100644 index 000000000..5e8a60212 --- /dev/null +++ b/data/magic-modules.mse-include/stamps/readme.txt @@ -0,0 +1,46 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/stamps/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/stamps/card_fields_dfc +include file: /magic-modules.mse-include/stamps/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +card stamp: + left: 166w + top: 473h + width: 43w + height: 43h +#### Customization +#### Optionally, you can adjust global alignment by defining the following functions in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the stamp by: + +#### To shift the stamp up/down: +card_stamp_offset_top_1 := { 0 } + +#### To shift the stamp left/right: +card_stamp_offset_left_1 := { 0 } + +#### To increase/decrease the size: +card_stamp_offset_width_1 := { 0 } +card_stamp_offset_height_1 := { 0 } + +#### For the other faces on DFCs use: +card_stamp_offset_top_2 := { 0 } +card_stamp_offset_left_2 := { 0 } +card_stamp_offset_width_2 := { 0 } +card_stamp_offset_height_2 := { 0 } +card_stamp_offset_top_3 := { 0 } +card_stamp_offset_left_3 := { 0 } +card_stamp_offset_width_3 := { 0 } +card_stamp_offset_height_3 := { 0 } + +#### You can disable the stamp on some of the faces, +#### by adding the following functions in the init script: +card_stamp_disabled_1 := { true } +card_stamp_disabled_2 := { true } +card_stamp_disabled_3 := { true } diff --git a/data/magic-modules.mse-include/stamps/set_choices b/data/magic-modules.mse-include/stamps/set_choices new file mode 100644 index 000000000..7e663e306 --- /dev/null +++ b/data/magic-modules.mse-include/stamps/set_choices @@ -0,0 +1,8 @@ +choice: standard +choice: none +choice: acorn +choice: heart +choice: universes beyond +choice: alchemy +choice: alchemy old +choice: custom \ No newline at end of file diff --git a/data/magic-modules.mse-include/stamps/style_choices b/data/magic-modules.mse-include/stamps/style_choices new file mode 100644 index 000000000..c62d0099b --- /dev/null +++ b/data/magic-modules.mse-include/stamps/style_choices @@ -0,0 +1,9 @@ +choice: default +choice: standard +choice: none +choice: acorn +choice: heart +choice: universes beyond +choice: alchemy +choice: alchemy old +choice: custom \ No newline at end of file diff --git a/data/magic-modules.mse-include/symbols/aetherprint.png b/data/magic-modules.mse-include/symbols/aetherprint.png new file mode 100644 index 000000000..2784b412f Binary files /dev/null and b/data/magic-modules.mse-include/symbols/aetherprint.png differ diff --git a/data/magic-modules.mse-include/symbols/artifact.png b/data/magic-modules.mse-include/symbols/artifact.png new file mode 100644 index 000000000..f0a8a6a24 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/artifact.png differ diff --git a/data/magic-modules.mse-include/symbols/back triangle.png b/data/magic-modules.mse-include/symbols/back triangle.png new file mode 100644 index 000000000..2a984c045 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/back triangle.png differ diff --git a/data/magic-modules.mse-include/symbols/battle.png b/data/magic-modules.mse-include/symbols/battle.png new file mode 100644 index 000000000..6d5f29c8c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/battle.png differ diff --git a/data/magic-modules.mse-include/symbols/blank.png b/data/magic-modules.mse-include/symbols/blank.png new file mode 100644 index 000000000..3edbaef22 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/blank.png differ diff --git a/data/magic-modules.mse-include/symbols/card_fields b/data/magic-modules.mse-include/symbols/card_fields new file mode 100644 index 000000000..c503dbff9 --- /dev/null +++ b/data/magic-modules.mse-include/symbols/card_fields @@ -0,0 +1,12 @@ +card style: + transformation: + left: { transform_symbol_left_1() + nameline_offset_left_1() } + top: { transform_symbol_top_1() + nameline_offset_top_1() } + width: { transform_symbol_width_1() + nameline_offset_height_1() } + height: { if transform_symbol_disabled_1() then 0 else transform_symbol_height_1() + nameline_offset_height_1() } + visible: { not transform_symbol_disabled_1() } + popup style: in place + include file: /magic.mse-game/symbols/menu_choice_images + render style: image + image: { transform_symbol_image(face: 1) } + z index: 620 \ No newline at end of file diff --git a/data/magic-modules.mse-include/symbols/card_fields_dfc b/data/magic-modules.mse-include/symbols/card_fields_dfc new file mode 100644 index 000000000..e9d270278 --- /dev/null +++ b/data/magic-modules.mse-include/symbols/card_fields_dfc @@ -0,0 +1,13 @@ +include file: /magic-modules.mse-include/symbols/card_fields +card style: + transformation 2: + left: { transform_symbol_left_2() + nameline_offset_left_2() } + top: { transform_symbol_top_2() + nameline_offset_top_2() } + width: { transform_symbol_width_2() + nameline_offset_height_2() } + height: { if transform_symbol_disabled_2() then 0 else transform_symbol_height_2() + nameline_offset_height_2() } + visible: { not transform_symbol_disabled_2() } + popup style: in place + include file: /magic.mse-game/symbols/menu_choice_images + render style: image + image: { transform_symbol_image(face: 2) } + z index: 620 \ No newline at end of file diff --git a/data/magic-modules.mse-include/symbols/card_fields_tfc b/data/magic-modules.mse-include/symbols/card_fields_tfc new file mode 100644 index 000000000..1b1d953d6 --- /dev/null +++ b/data/magic-modules.mse-include/symbols/card_fields_tfc @@ -0,0 +1,13 @@ +include file: /magic-modules.mse-include/symbols/card_fields_dfc +card style: + transformation 3: + left: { transform_symbol_left_3() + nameline_offset_left_3() } + top: { transform_symbol_top_3() + nameline_offset_top_3() } + width: { transform_symbol_width_3() + nameline_offset_height_3() } + height: { if transform_symbol_disabled_3() then 0 else transform_symbol_height_3() + nameline_offset_height_3() } + visible: { not transform_symbol_disabled_3() } + popup style: in place + include file: /magic.mse-game/symbols/menu_choice_images + render style: image + image: { transform_symbol_image(face: 3) } + z index: 620 \ No newline at end of file diff --git a/data/magic-modules.mse-include/symbols/choices b/data/magic-modules.mse-include/symbols/choices new file mode 100644 index 000000000..ec64d916a --- /dev/null +++ b/data/magic-modules.mse-include/symbols/choices @@ -0,0 +1,87 @@ +choice: front triangle +choice: day +choice: moon +choice: closed fan +choice: meld +choice: sparker +choice: + name: sparker (colored) + choice: default + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: multicolor + choice: colorless + choice: artifact + line below: true + +choice: back triangle +choice: night +choice: eldrazi +choice: compass +choice: open fan +choice: specialized +choice: + name: aetherprint + line below: true +choice: none +choice: lesson +choice: + name: custom symbol + choice: one + choice: two + choice: three + choice: four +choice: + name: extra + choice: comedy + choice: tragedy + line below: true +choice: + name: modal front + choice: default + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: multicolor + choice: colorless + choice: artifact +choice: + name: modal back + line below: true + choice: default + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: multicolor + choice: colorless + choice: artifact + +choice: multitype +choice: artifact +choice: battle +choice: creature +choice: enchantment +choice: fortress +choice: instant +choice: land +choice: planeswalker +choice: sorcery +choice: + name: non standard + line below: true + choice: conspiracy + choice: dungeon + choice: emblem + choice: hero + choice: phenomenon + choice: plane + choice: scheme + choice: vanguard + line below: true \ No newline at end of file diff --git a/data/magic-modules.mse-include/symbols/closed fan.png b/data/magic-modules.mse-include/symbols/closed fan.png new file mode 100644 index 000000000..fd95311d5 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/closed fan.png differ diff --git a/data/magic-modules.mse-include/symbols/comedy.png b/data/magic-modules.mse-include/symbols/comedy.png new file mode 100644 index 000000000..0b8aecb39 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/comedy.png differ diff --git a/data/magic-modules.mse-include/symbols/compass.png b/data/magic-modules.mse-include/symbols/compass.png new file mode 100644 index 000000000..02221a8d9 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/compass.png differ diff --git a/data/magic-modules.mse-include/symbols/conspiracy.png b/data/magic-modules.mse-include/symbols/conspiracy.png new file mode 100644 index 000000000..58436e3be Binary files /dev/null and b/data/magic-modules.mse-include/symbols/conspiracy.png differ diff --git a/data/magic-modules.mse-include/symbols/creature.png b/data/magic-modules.mse-include/symbols/creature.png new file mode 100644 index 000000000..e1fc8adc1 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/creature.png differ diff --git a/data/magic-modules.mse-include/symbols/day.png b/data/magic-modules.mse-include/symbols/day.png new file mode 100644 index 000000000..6f938f82d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/day.png differ diff --git a/data/magic-modules.mse-include/symbols/dungeon.png b/data/magic-modules.mse-include/symbols/dungeon.png new file mode 100644 index 000000000..21c95b86c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/dungeon.png differ diff --git a/data/magic-modules.mse-include/symbols/eldrazi.png b/data/magic-modules.mse-include/symbols/eldrazi.png new file mode 100644 index 000000000..94e83d140 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/eldrazi.png differ diff --git a/data/magic-modules.mse-include/symbols/enchantment.png b/data/magic-modules.mse-include/symbols/enchantment.png new file mode 100644 index 000000000..7e0c061f1 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/enchantment.png differ diff --git a/data/magic-modules.mse-include/symbols/front triangle.png b/data/magic-modules.mse-include/symbols/front triangle.png new file mode 100644 index 000000000..4d3cd96ee Binary files /dev/null and b/data/magic-modules.mse-include/symbols/front triangle.png differ diff --git a/data/magic-modules.mse-include/symbols/hero.png b/data/magic-modules.mse-include/symbols/hero.png new file mode 100644 index 000000000..c899d0e18 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/hero.png differ diff --git a/data/magic-modules.mse-include/symbols/instant.png b/data/magic-modules.mse-include/symbols/instant.png new file mode 100644 index 000000000..417e3cce0 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/instant.png differ diff --git a/data/magic-modules.mse-include/symbols/land.png b/data/magic-modules.mse-include/symbols/land.png new file mode 100644 index 000000000..181b8b936 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/land.png differ diff --git a/data/magic-modules.mse-include/symbols/lesson.png b/data/magic-modules.mse-include/symbols/lesson.png new file mode 100644 index 000000000..d0fb8a22a Binary files /dev/null and b/data/magic-modules.mse-include/symbols/lesson.png differ diff --git a/data/magic-modules.mse-include/symbols/meld.png b/data/magic-modules.mse-include/symbols/meld.png new file mode 100644 index 000000000..1d00a4847 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/meld.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/artifact.png b/data/magic-modules.mse-include/symbols/modalback/artifact.png new file mode 100644 index 000000000..a81cdfa77 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/artifact.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/black.png b/data/magic-modules.mse-include/symbols/modalback/black.png new file mode 100644 index 000000000..34b53d705 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/black.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/blue.png b/data/magic-modules.mse-include/symbols/modalback/blue.png new file mode 100644 index 000000000..b88e6dbf9 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/blue.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/colorless.png b/data/magic-modules.mse-include/symbols/modalback/colorless.png new file mode 100644 index 000000000..d51784e6d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/colorless.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/green.png b/data/magic-modules.mse-include/symbols/modalback/green.png new file mode 100644 index 000000000..d7cab4d5e Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/green.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/multicolor.png b/data/magic-modules.mse-include/symbols/modalback/multicolor.png new file mode 100644 index 000000000..7af13f064 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/multicolor.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/red.png b/data/magic-modules.mse-include/symbols/modalback/red.png new file mode 100644 index 000000000..552bf8e1c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/red.png differ diff --git a/data/magic-modules.mse-include/symbols/modalback/white.png b/data/magic-modules.mse-include/symbols/modalback/white.png new file mode 100644 index 000000000..51ad3ad27 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalback/white.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/artifact.png b/data/magic-modules.mse-include/symbols/modalbackflipped/artifact.png new file mode 100644 index 000000000..2d394e018 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/artifact.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/black.png b/data/magic-modules.mse-include/symbols/modalbackflipped/black.png new file mode 100644 index 000000000..fc88cd0e8 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/black.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/blue.png b/data/magic-modules.mse-include/symbols/modalbackflipped/blue.png new file mode 100644 index 000000000..9a083580f Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/blue.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/colorless.png b/data/magic-modules.mse-include/symbols/modalbackflipped/colorless.png new file mode 100644 index 000000000..928f8289d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/colorless.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/green.png b/data/magic-modules.mse-include/symbols/modalbackflipped/green.png new file mode 100644 index 000000000..2a6edeb0c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/green.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/multicolor.png b/data/magic-modules.mse-include/symbols/modalbackflipped/multicolor.png new file mode 100644 index 000000000..5582c5b8c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/multicolor.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/red.png b/data/magic-modules.mse-include/symbols/modalbackflipped/red.png new file mode 100644 index 000000000..3604ee77b Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/red.png differ diff --git a/data/magic-modules.mse-include/symbols/modalbackflipped/white.png b/data/magic-modules.mse-include/symbols/modalbackflipped/white.png new file mode 100644 index 000000000..fb1360a50 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalbackflipped/white.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/artifact.png b/data/magic-modules.mse-include/symbols/modalfront/artifact.png new file mode 100644 index 000000000..64757b840 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/artifact.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/black.png b/data/magic-modules.mse-include/symbols/modalfront/black.png new file mode 100644 index 000000000..f1668c7fd Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/black.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/blue.png b/data/magic-modules.mse-include/symbols/modalfront/blue.png new file mode 100644 index 000000000..3a5bd3e71 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/blue.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/colorless.png b/data/magic-modules.mse-include/symbols/modalfront/colorless.png new file mode 100644 index 000000000..836ddcd16 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/colorless.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/green.png b/data/magic-modules.mse-include/symbols/modalfront/green.png new file mode 100644 index 000000000..f45aeab32 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/green.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/multicolor.png b/data/magic-modules.mse-include/symbols/modalfront/multicolor.png new file mode 100644 index 000000000..e47de4f38 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/multicolor.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/red.png b/data/magic-modules.mse-include/symbols/modalfront/red.png new file mode 100644 index 000000000..06879c00d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/red.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfront/white.png b/data/magic-modules.mse-include/symbols/modalfront/white.png new file mode 100644 index 000000000..9076db921 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfront/white.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/artifact.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/artifact.png new file mode 100644 index 000000000..31144c816 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/artifact.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/black.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/black.png new file mode 100644 index 000000000..71be0b86d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/black.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/blue.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/blue.png new file mode 100644 index 000000000..1928147b8 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/blue.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/colorless.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/colorless.png new file mode 100644 index 000000000..081250f49 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/colorless.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/green.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/green.png new file mode 100644 index 000000000..5bdd3a6e0 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/green.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/multicolor.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/multicolor.png new file mode 100644 index 000000000..0d99a23a2 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/multicolor.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/red.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/red.png new file mode 100644 index 000000000..eee6b901d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/red.png differ diff --git a/data/magic-modules.mse-include/symbols/modalfrontflipped/white.png b/data/magic-modules.mse-include/symbols/modalfrontflipped/white.png new file mode 100644 index 000000000..af7ffeb49 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/modalfrontflipped/white.png differ diff --git a/data/magic-modules.mse-include/symbols/moon.png b/data/magic-modules.mse-include/symbols/moon.png new file mode 100644 index 000000000..9c5b7c9d2 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/moon.png differ diff --git a/data/magic-modules.mse-include/symbols/multitype.png b/data/magic-modules.mse-include/symbols/multitype.png new file mode 100644 index 000000000..0484d583d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/multitype.png differ diff --git a/data/magic-modules.mse-include/symbols/night.png b/data/magic-modules.mse-include/symbols/night.png new file mode 100644 index 000000000..3b8b1a456 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/night.png differ diff --git a/data/magic-modules.mse-include/symbols/open fan.png b/data/magic-modules.mse-include/symbols/open fan.png new file mode 100644 index 000000000..1c3035ed6 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/open fan.png differ diff --git a/data/magic-modules.mse-include/symbols/phenomenon.png b/data/magic-modules.mse-include/symbols/phenomenon.png new file mode 100644 index 000000000..03927b16d Binary files /dev/null and b/data/magic-modules.mse-include/symbols/phenomenon.png differ diff --git a/data/magic-modules.mse-include/symbols/plane.png b/data/magic-modules.mse-include/symbols/plane.png new file mode 100644 index 000000000..180c42d18 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/plane.png differ diff --git a/data/magic-modules.mse-include/symbols/planeswalker.png b/data/magic-modules.mse-include/symbols/planeswalker.png new file mode 100644 index 000000000..13599765c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/planeswalker.png differ diff --git a/data/magic-modules.mse-include/symbols/readme.txt b/data/magic-modules.mse-include/symbols/readme.txt new file mode 100644 index 000000000..10f52de89 --- /dev/null +++ b/data/magic-modules.mse-include/symbols/readme.txt @@ -0,0 +1,60 @@ +#### Consider using the Namelines module instead of this one + +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/symbols/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/symbols/card_fields_dfc +include file: /magic-modules.mse-include/symbols/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +transformation: + left: 13w, 319 mirrored + top: 19h + width: 43w + height: 43h +#### Customization +#### The symbols default to "none", defaults can be changed with +transform_symbol_default := +{ + if margin_code == "transform1" then "front triangle" + else if margin_code == "transform2" then "back triangle" + else "eldrazi" +} +#### Optionally, you can adjust global alignment by defining the following functions in the init script, +#### which must return an int corresponding to the number of pixels you want to shift things by: + +#### To shift everything up/down: +transform_symbol_offset_top_1 := { 0 } + +#### To shift everything left/right: +transform_symbol_offset_left_1 := { 0 } + +#### To increase/decrease the size: +transform_symbol_offset_width_1 := { 0 } +transform_symbol_offset_height_1 := { 0 } + +#### To move the symbol to the right of the card: +transform_symbol_mirrored_1 := { true } + +#### For the other faces on DFCs use: +transform_symbol_offset_top_2 := { 0 } +transform_symbol_offset_left_2 := { 0 } +transform_symbol_offset_width_2 := { 0 } +transform_symbol_offset_height_2 := { 0 } +transform_symbol_offset_mirrored_2 := { 0 } +transform_symbol_offset_top_3 := { 0 } +transform_symbol_offset_left_3 := { 0 } +transform_symbol_offset_width_3 := { 0 } +transform_symbol_offset_height_3 := { 0 } +transform_symbol_offset_mirrored_3 := { 0 } + +#### You can disable the symbols on some of the faces, +#### by adding the following functions in the init script: +transform_symbol_disabled_1 := { true } +transform_symbol_disabled_2 := { true } +transform_symbol_disabled_3 := { true } diff --git a/data/magic-modules.mse-include/symbols/scheme.png b/data/magic-modules.mse-include/symbols/scheme.png new file mode 100644 index 000000000..fbad5825a Binary files /dev/null and b/data/magic-modules.mse-include/symbols/scheme.png differ diff --git a/data/magic-modules.mse-include/symbols/sorcery.png b/data/magic-modules.mse-include/symbols/sorcery.png new file mode 100644 index 000000000..62f3d8218 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sorcery.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker.png b/data/magic-modules.mse-include/symbols/sparker.png new file mode 100644 index 000000000..4f2d6596a Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/artifact.png b/data/magic-modules.mse-include/symbols/sparker/artifact.png new file mode 100644 index 000000000..496578f5c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/artifact.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/black.png b/data/magic-modules.mse-include/symbols/sparker/black.png new file mode 100644 index 000000000..72dce0014 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/black.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/blue.png b/data/magic-modules.mse-include/symbols/sparker/blue.png new file mode 100644 index 000000000..8758904b5 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/blue.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/colorless.png b/data/magic-modules.mse-include/symbols/sparker/colorless.png new file mode 100644 index 000000000..a918bb432 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/colorless.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/green.png b/data/magic-modules.mse-include/symbols/sparker/green.png new file mode 100644 index 000000000..4c8a21621 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/green.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/multicolor.png b/data/magic-modules.mse-include/symbols/sparker/multicolor.png new file mode 100644 index 000000000..9c1869c2c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/multicolor.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/red.png b/data/magic-modules.mse-include/symbols/sparker/red.png new file mode 100644 index 000000000..a48a455c0 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/red.png differ diff --git a/data/magic-modules.mse-include/symbols/sparker/white.png b/data/magic-modules.mse-include/symbols/sparker/white.png new file mode 100644 index 000000000..05b371bb1 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/sparker/white.png differ diff --git a/data/magic-modules.mse-include/symbols/specialized.png b/data/magic-modules.mse-include/symbols/specialized.png new file mode 100644 index 000000000..5012e546c Binary files /dev/null and b/data/magic-modules.mse-include/symbols/specialized.png differ diff --git a/data/magic-modules.mse-include/symbols/structure.png b/data/magic-modules.mse-include/symbols/structure.png new file mode 100644 index 000000000..47f68e79e Binary files /dev/null and b/data/magic-modules.mse-include/symbols/structure.png differ diff --git a/data/magic-modules.mse-include/symbols/tragedy.png b/data/magic-modules.mse-include/symbols/tragedy.png new file mode 100644 index 000000000..3793e2de5 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/tragedy.png differ diff --git a/data/magic-modules.mse-include/symbols/vanguard.png b/data/magic-modules.mse-include/symbols/vanguard.png new file mode 100644 index 000000000..b5c5d1d36 Binary files /dev/null and b/data/magic-modules.mse-include/symbols/vanguard.png differ diff --git a/data/magic-modules.mse-include/texts/readme.txt b/data/magic-modules.mse-include/texts/readme.txt new file mode 100644 index 000000000..30cf3f166 --- /dev/null +++ b/data/magic-modules.mse-include/texts/readme.txt @@ -0,0 +1,10 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this among the styling field section, +#### (styling fields will appear in the order you place them). +#### This adds a package option to select an alternate mana font for the rule text, +#### And another to modify the dimensions of the textbox. +include file: /magic-modules.mse-include/texts/styling_fields diff --git a/data/magic-modules.mse-include/texts/styling_fields b/data/magic-modules.mse-include/texts/styling_fields new file mode 100644 index 000000000..5922197fc --- /dev/null +++ b/data/magic-modules.mse-include/texts/styling_fields @@ -0,0 +1,8 @@ +styling field: + type: package choice + name: text box mana symbols + description: Mana symbols used inside rule text. +styling field: + type: text + name: chop text box + description: Formatted as "X,Y,Z". Shrinks the rule textbox X pixels from the top, Y from the bottom and Z from the right. diff --git a/data/magic-modules.mse-include/typelines/card_fields b/data/magic-modules.mse-include/typelines/card_fields new file mode 100644 index 000000000..2924abb5a --- /dev/null +++ b/data/magic-modules.mse-include/typelines/card_fields @@ -0,0 +1,3 @@ +include file: /magic-modules.mse-include/rarities/card_fields +include file: /magic-modules.mse-include/indicators/card_fields +include file: /magic-modules.mse-include/types/card_fields \ No newline at end of file diff --git a/data/magic-modules.mse-include/typelines/card_fields_dfc b/data/magic-modules.mse-include/typelines/card_fields_dfc new file mode 100644 index 000000000..3d2d1cd5e --- /dev/null +++ b/data/magic-modules.mse-include/typelines/card_fields_dfc @@ -0,0 +1,3 @@ +include file: /magic-modules.mse-include/rarities/card_fields_dfc +include file: /magic-modules.mse-include/indicators/card_fields_dfc +include file: /magic-modules.mse-include/types/card_fields_dfc \ No newline at end of file diff --git a/data/magic-modules.mse-include/typelines/card_fields_tfc b/data/magic-modules.mse-include/typelines/card_fields_tfc new file mode 100644 index 000000000..fb7457ef9 --- /dev/null +++ b/data/magic-modules.mse-include/typelines/card_fields_tfc @@ -0,0 +1,3 @@ +include file: /magic-modules.mse-include/rarities/card_fields_tfc +include file: /magic-modules.mse-include/indicators/card_fields_tfc +include file: /magic-modules.mse-include/types/card_fields_tfc \ No newline at end of file diff --git a/data/magic-modules.mse-include/typelines/readme.txt b/data/magic-modules.mse-include/typelines/readme.txt new file mode 100644 index 000000000..df8d21dad --- /dev/null +++ b/data/magic-modules.mse-include/typelines/readme.txt @@ -0,0 +1,56 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/typelines/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/typelines/card_fields_dfc +include file: /magic-modules.mse-include/typelines/card_fields_tfc + +#### Customization +#### Optionally, you can define which face of the card the typeline should snap to, +#### by defining the following function in the init script: +typeline_face_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the typeline by: + +#### To shift the entire typeline up/down (type + rarity + color indicator dot): +typeline_offset_top_1 := { 0 } + +#### To shift the entire typeline left/right: +typeline_offset_left_1 := { 0 } + +#### To increase/decrease the width of the entire typeline (this WILL NOT change the size of the rarity and color indicator): +typeline_offset_width_1 := { 0 } + +#### To increase/decrease the height of the entire typeline (this WILL change the size of the rarity and color indicator): +typeline_offset_height_1 := { 0 } + +#### You can also adjust each of the components individually: +indicator_offset_top_1 := { 0 } +indicator_offset_left_1 := { 0 } +indicator_offset_size_1 := { 0 } + +rarity_offset_top_1 := { 0 } +rarity_offset_left_1 := { 0 } +rarity_offset_size_1 := { 0 } + +type_offset_top_1 := { 0 } +type_offset_left_1 := { 0 } +type_offset_right_1 := { 0 } +type_offset_height_1 := { 0 } + +#### For DFC or TFC templates, use: +typeline_offset_top_2 := { 0 } +typeline_offset_left_2 := { 0 } +typeline_offset_width_2 := { 0 } +typeline_offset_height_2 := { 0 } +typeline_offset_top_3 := { 0 } +typeline_offset_left_3 := { 0 } +typeline_offset_width_3 := { 0 } +typeline_offset_height_3 := { 0 } +etc... + diff --git a/data/magic-modules.mse-include/types/card_fields b/data/magic-modules.mse-include/types/card_fields new file mode 100644 index 000000000..9f6581831 --- /dev/null +++ b/data/magic-modules.mse-include/types/card_fields @@ -0,0 +1,15 @@ +card style: + type: + left: { indicator_left_1() + type_indicator_shift_1() + type_offset_left_1() + typeline_offset_left_1() } + top: { indicator_top_1() - indicator_size_1() * 0.2 + type_offset_top_1() + typeline_offset_top_1() + type_font_vertical() } + right: { rarity_left_1() + type_offset_right_1() + typeline_offset_left_1() + typeline_offset_width_1() - typeline_offset_height_1() } + height: { indicator_size_1() * 1.3 + type_offset_height_1() + typeline_offset_height_1() } + z index: 900 + alignment: middle left shrink-overflow + visible: { (not typeline_disabled_1()) and not type_disabled_1() } + font: + name: { type_font() } + italic name: { type_font_italic() } + size: { type_font_size() } + color: { type_font_color() } + separator color: red \ No newline at end of file diff --git a/data/magic-modules.mse-include/types/card_fields_dfc b/data/magic-modules.mse-include/types/card_fields_dfc new file mode 100644 index 000000000..94e53d867 --- /dev/null +++ b/data/magic-modules.mse-include/types/card_fields_dfc @@ -0,0 +1,16 @@ +include file: /magic-modules.mse-include/types/card_fields +card style: + type 2: + left: { indicator_left_2() + type_indicator_shift_2() + type_offset_left_2() + typeline_offset_left_2() } + top: { indicator_top_2() - indicator_size_2() * 0.2 + type_offset_top_2() + typeline_offset_top_2()+ type2_font_vertical() } + right: { rarity_left_2() + type_offset_right_2() + typeline_offset_left_2() + typeline_offset_width_2() - typeline_offset_height_2() } + height: { indicator_size_2() *1.3 + type_offset_height_2() + typeline_offset_height_2() } + z index: 900 + alignment: middle left shrink-overflow + visible: { (not typeline_disabled_2()) and not type_disabled_2() } + font: + name: { type2_font() } + italic name: { type2_font_italic() } + size: { type2_font_size() } + color: { type2_font_color() } + separator color: red \ No newline at end of file diff --git a/data/magic-modules.mse-include/types/card_fields_tfc b/data/magic-modules.mse-include/types/card_fields_tfc new file mode 100644 index 000000000..29aaa0fa7 --- /dev/null +++ b/data/magic-modules.mse-include/types/card_fields_tfc @@ -0,0 +1,16 @@ +include file: /magic-modules.mse-include/types/card_fields_dfc +card style: + type 3: + left: { indicator_left_3() + type_indicator_shift_3() + type_offset_left_3() + typeline_offset_left_3() } + top: { indicator_top_3() - indicator_size_3() * 0.2 + type_offset_top_3() + typeline_offset_top_3()+ type3_font_vertical() } + right: { rarity_left_3() + type_offset_right_3() + typeline_offset_left_3() + typeline_offset_width_3() - typeline_offset_height_3() } + height: { indicator_size_3() * 1.3 + type_offset_height_3() + typeline_offset_height_3() } + z index: 900 + alignment: middle left shrink-overflow + visible: { (not typeline_disabled_3()) and not type_disabled_3() } + font: + name: { type3_font() } + italic name: { type3_font_italic() } + size: { type3_font_size() } + color: { type3_font_color() } + separator color: red \ No newline at end of file diff --git a/data/magic-modules.mse-include/types/readme.txt b/data/magic-modules.mse-include/types/readme.txt new file mode 100644 index 000000000..487ed3aa3 --- /dev/null +++ b/data/magic-modules.mse-include/types/readme.txt @@ -0,0 +1,43 @@ +#### Consider using the Typelines module instead of this one + +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/types/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/types/card_fields_dfc +include file: /magic-modules.mse-include/types/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +type: + left: 31w + 1.15*indicator_width + top: 300h + width: variable + height: 22h +#### Customization +#### Optionally, you can define which face of the card the type should snap to, +#### by defining the following function in the init script: +typeline_face_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the type by: + +#### To shift the type up/down: +type_offset_top_1 := { 0 } + +#### To shift the type left/right: +type_offset_left_1 := { 0 } + +#### To increase/decrease the width and height of the type: +type_offset_size := { 0 } + +#### For DFC or TFC templates, use: +type_offset_top_2 := { 0 } +type_offset_left_2 := { 0 } +type_offset_size_2 := { 0 } +type_offset_top_3 := { 0 } +type_offset_left_3 := { 0 } +type_offset_size_3 := { 0 } diff --git a/data/magic-modules.mse-include/watermarks/alara/bant.png b/data/magic-modules.mse-include/watermarks/alara/bant.png new file mode 100644 index 000000000..d5f27338e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/bant.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/bant_colored.png b/data/magic-modules.mse-include/watermarks/alara/bant_colored.png new file mode 100644 index 000000000..363cb270d Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/bant_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/esper.png b/data/magic-modules.mse-include/watermarks/alara/esper.png new file mode 100644 index 000000000..78135b10c Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/esper.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/esper_colored.png b/data/magic-modules.mse-include/watermarks/alara/esper_colored.png new file mode 100644 index 000000000..d4f039415 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/esper_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/grixis.png b/data/magic-modules.mse-include/watermarks/alara/grixis.png new file mode 100644 index 000000000..e17cf60ea Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/grixis.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/grixis_colored.png b/data/magic-modules.mse-include/watermarks/alara/grixis_colored.png new file mode 100644 index 000000000..8e89921d2 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/grixis_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/jund.png b/data/magic-modules.mse-include/watermarks/alara/jund.png new file mode 100644 index 000000000..090d32de4 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/jund.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/jund_colored.png b/data/magic-modules.mse-include/watermarks/alara/jund_colored.png new file mode 100644 index 000000000..a4c88b5ad Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/jund_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/naya.png b/data/magic-modules.mse-include/watermarks/alara/naya.png new file mode 100644 index 000000000..ad50a2f4a Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/naya.png differ diff --git a/data/magic-modules.mse-include/watermarks/alara/naya_colored.png b/data/magic-modules.mse-include/watermarks/alara/naya_colored.png new file mode 100644 index 000000000..672f9d2d2 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/alara/naya_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/capenna/brokers.png b/data/magic-modules.mse-include/watermarks/capenna/brokers.png new file mode 100644 index 000000000..c357f1a2a Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/capenna/brokers.png differ diff --git a/data/magic-modules.mse-include/watermarks/capenna/cabaretti.png b/data/magic-modules.mse-include/watermarks/capenna/cabaretti.png new file mode 100644 index 000000000..f38c1869e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/capenna/cabaretti.png differ diff --git a/data/magic-modules.mse-include/watermarks/capenna/maestros.png b/data/magic-modules.mse-include/watermarks/capenna/maestros.png new file mode 100644 index 000000000..a7b0a07fb Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/capenna/maestros.png differ diff --git a/data/magic-modules.mse-include/watermarks/capenna/obscura.png b/data/magic-modules.mse-include/watermarks/capenna/obscura.png new file mode 100644 index 000000000..507de752a Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/capenna/obscura.png differ diff --git a/data/magic-modules.mse-include/watermarks/capenna/riveteers.png b/data/magic-modules.mse-include/watermarks/capenna/riveteers.png new file mode 100644 index 000000000..ee6ea1e89 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/capenna/riveteers.png differ diff --git a/data/magic-modules.mse-include/watermarks/card_fields b/data/magic-modules.mse-include/watermarks/card_fields new file mode 100644 index 000000000..a295a153d --- /dev/null +++ b/data/magic-modules.mse-include/watermarks/card_fields @@ -0,0 +1,13 @@ +card style: + watermark: + left: { text_style_field(watermark_text_field_1()).left - face_coordinates_map(watermark_face_1()).width/375*10 - watermark_offset_width_1() + watermark_offset_left_1() } + width: { text_style_field(watermark_text_field_1()).width + face_coordinates_map(watermark_face_1()).width/375*20 + watermark_offset_width_1()*2 } + top: { text_style_field(watermark_text_field_1()).top + face_coordinates_map(watermark_face_1()).height/523*3 - watermark_offset_height_1() + watermark_offset_top_1() } + height: { text_style_field(watermark_text_field_1()).height - face_coordinates_map(watermark_face_1()).height/523*6 + watermark_offset_height_1()*2 + (if is_stamped(field: watermark_stamp_field_1()) then watermark_offset_stamp_1() else 0) } + visible: { not watermark_disabled_1() } + alignment: middle center + popup style: in place + render style: image + include file: /magic.mse-game/watermarks/menu_choice_images + image: { watermark_scripts[card.watermark](face:watermark_face_1()) } + z index: 720 \ No newline at end of file diff --git a/data/magic-modules.mse-include/watermarks/card_fields_dfc b/data/magic-modules.mse-include/watermarks/card_fields_dfc new file mode 100644 index 000000000..25d2d05a7 --- /dev/null +++ b/data/magic-modules.mse-include/watermarks/card_fields_dfc @@ -0,0 +1,14 @@ +include file: /magic-modules.mse-include/watermarks/card_fields +card style: + watermark 2: + left: { text_style_field(watermark_text_field_2()).left - face_coordinates_map(watermark_face_2()).width/375*10 - watermark_offset_width_2() + watermark_offset_left_2() } + width: { text_style_field(watermark_text_field_2()).width + face_coordinates_map(watermark_face_2()).width/375*20 + watermark_offset_width_2()*2 } + top: { text_style_field(watermark_text_field_2()).top + face_coordinates_map(watermark_face_2()).height/523*3 - watermark_offset_height_2() + watermark_offset_top_2() } + height: { text_style_field(watermark_text_field_2()).height - face_coordinates_map(watermark_face_2()).height/523*6 + watermark_offset_height_2()*2 + (if is_stamped(field: watermark_stamp_field_2()) then watermark_offset_stamp_2() else 0) } + visible: { not watermark_disabled_2() } + alignment: middle center + popup style: in place + render style: image + include file: /magic.mse-game/watermarks/menu_choice_images + image: { watermark_scripts[card.watermark_2](face:watermark_face_2()) } + z index: 720 \ No newline at end of file diff --git a/data/magic-modules.mse-include/watermarks/card_fields_tfc b/data/magic-modules.mse-include/watermarks/card_fields_tfc new file mode 100644 index 000000000..6fbb4c396 --- /dev/null +++ b/data/magic-modules.mse-include/watermarks/card_fields_tfc @@ -0,0 +1,14 @@ +include file: /magic-modules.mse-include/watermarks/card_fields_dfc +card style: + watermark 3: + left: { text_style_field(watermark_text_field_3()).left - face_coordinates_map(watermark_face_3()).width/375*10 - watermark_offset_width_3() + watermark_offset_left_3() } + width: { text_style_field(watermark_text_field_3()).width + face_coordinates_map(watermark_face_3()).width/375*20 + watermark_offset_width_3()*2 } + top: { text_style_field(watermark_text_field_3()).top + face_coordinates_map(watermark_face_3()).height/523*3 - watermark_offset_height_3() + watermark_offset_top_3() } + height: { text_style_field(watermark_text_field_3()).height - face_coordinates_map(watermark_face_3()).height/523*6 + watermark_offset_height_3()*2 + (if is_stamped(field: watermark_stamp_field_3()) then watermark_offset_stamp_3() else 0) } + visible: { not watermark_disabled_3() } + alignment: middle center + popup style: in place + render style: image + include file: /magic.mse-game/watermarks/menu_choice_images + image: { watermark_scripts[card.watermark_3](face:watermark_face_3()) } + z index: 720 \ No newline at end of file diff --git a/data/magic-watermarks.mse-include/watermark-names -alara b/data/magic-modules.mse-include/watermarks/choices similarity index 63% rename from data/magic-watermarks.mse-include/watermark-names -alara rename to data/magic-modules.mse-include/watermarks/choices index f9fc9510f..32d5acb66 100644 --- a/data/magic-watermarks.mse-include/watermark-names -alara +++ b/data/magic-modules.mse-include/watermarks/choices @@ -4,14 +4,6 @@ choice: name: none line below: true -choice: - name: ALR - choice: ALRBant - choice: ALREsper - choice: ALRGrixis - choice: ALRJund - choice: ALRNaya - choice: name: mana symbol choice: white @@ -20,7 +12,25 @@ choice: choice: red choice: green choice: colorless - choice: snow + choice: + name: snow + line below: true + choice: + name: old + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless + choice: + name: hi res + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless choice: name: transparent mana symbol choice: white @@ -28,6 +38,25 @@ choice: choice: black choice: red choice: green + choice: + name: colorless + line below: true + choice: + name: old + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless + choice: + name: hi res + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless choice: name: guild symbol choice: The Azorius Senate (W/U) @@ -39,7 +68,9 @@ choice: choice: The Izzet (U/R) choice: The Golgari (B/G) choice: The Boros Legion (R/W) - choice: The Simic Combine (G/U) + choice: + name: The Simic Combine (G/U) + line below: true choice: name: originals choice: The Azorius Senate (W/U) @@ -52,6 +83,18 @@ choice: choice: The Golgari (B/G) choice: The Boros Legion (R/W) choice: The Simic Combine (G/U) + choice: + name: ancients + choice: The Azorius Senate (W/U) + choice: House Dimir (U/B) + choice: The Cult of Rakdos (B/R) + choice: The Gruul Clans (R/G) + choice: The Selesnya Conclave (G/W) + choice: The Orzhov Syndicate (W/B) + choice: The Izzet (U/R) + choice: The Golgari (B/G) + choice: The Boros Legion (R/W) + choice: The Simic Combine (G/U) choice: name: faction symbol choice: mirrodin @@ -70,6 +113,13 @@ choice: choice: Silumgar's Brood (UB) choice: Kolaghan's Brood (BR) choice: Atarka's Brood (RG) +choice: + name: family symbol + choice: Brokers (GWU) + choice: Cabaretti (RGW) + choice: Maestros (UBR) + choice: Obscura (WUB) + choice: Riveteers (BRG) choice: name: unstable factions choice: Order of the Widget @@ -79,50 +129,56 @@ choice: choice: Crossbreed Labs choice: name: colored xander hybrid mana - choice: B/R - choice: U/B - choice: B/G - choice: R/G - choice: G/U - choice: U/R - choice: W/B - choice: G/W - choice: R/W choice: W/U + choice: U/B + choice: B/R + choice: R/G + choice: G/W + choice: W/B + choice: U/R + choice: B/G + choice: R/W + choice: G/U choice: name: xander hybrid mana - choice: B/R - choice: U/B - choice: B/G - choice: R/G - choice: G/U - choice: U/R - choice: W/B - choice: G/W - choice: R/W choice: W/U + choice: U/B + choice: B/R + choice: R/G + choice: G/W + choice: W/B + choice: U/R + choice: B/G + choice: R/W + choice: G/U choice: name: future sight type symbols - choice: artifact choice: creature + choice: artifact choice: enchantment choice: instant choice: land choice: multiple choice: planeswalker choice: sorcery + choice: structure choice: name: other magic symbols choice: aetherprint + choice: desparked + choice: story spotlight choice: chaos symbol choice: color pie choice: conspiracy stamp - choice: story spotlight - choice: color spotlight choice: jace consortium + choice: shooting star choice: phyrexia choice: seekers of carmot choice: the thran + choice: foretell + choice: + name: judge academy + line below: true choice: name: innistrad provinces choice: stensia @@ -140,7 +196,9 @@ choice: choice: Esper choice: Grixis choice: Jund - choice: Naya + choice: + name: Naya + line below: true choice: name: colored choice: Bant @@ -148,7 +206,29 @@ choice: choice: Grixis choice: Jund choice: Naya - +choice: + name: college symbols + choice: Silverquill + choice: Prismari + choice: Witherbloom + choice: Lorehold + choice: Quandrix +choice: + name: universes beyond + choice: D&D + choice: + name: transformers + line below: true + choice: + name: ponies + choice: applejack + choice: pinkie pie + choice: fluttershy + choice: rainbow dash + choice: rarity + choice: twilight sparkle + choice: nightmare moon + choice: luna choice: name: custom watermark choice: one @@ -161,6 +241,7 @@ choice: choice: eight choice: nine choice: ten + choice: card choice: name: set symbol diff --git a/data/magic-modules.mse-include/watermarks/frazier/azorius.png b/data/magic-modules.mse-include/watermarks/frazier/azorius.png new file mode 100644 index 000000000..a797a7a56 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/azorius.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/boros.png b/data/magic-modules.mse-include/watermarks/frazier/boros.png new file mode 100644 index 000000000..2ec13fa3f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/boros.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/dimir.png b/data/magic-modules.mse-include/watermarks/frazier/dimir.png new file mode 100644 index 000000000..e44756606 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/dimir.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/golgari.png b/data/magic-modules.mse-include/watermarks/frazier/golgari.png new file mode 100644 index 000000000..81c23b728 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/golgari.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/gruul.png b/data/magic-modules.mse-include/watermarks/frazier/gruul.png new file mode 100644 index 000000000..b35d65984 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/gruul.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/izzet.png b/data/magic-modules.mse-include/watermarks/frazier/izzet.png new file mode 100644 index 000000000..f0fcae5c8 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/izzet.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/orzhov.png b/data/magic-modules.mse-include/watermarks/frazier/orzhov.png new file mode 100644 index 000000000..194d520b4 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/orzhov.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/rakdos.png b/data/magic-modules.mse-include/watermarks/frazier/rakdos.png new file mode 100644 index 000000000..1584c025e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/rakdos.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/selesnya.png b/data/magic-modules.mse-include/watermarks/frazier/selesnya.png new file mode 100644 index 000000000..c86f87140 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/selesnya.png differ diff --git a/data/magic-modules.mse-include/watermarks/frazier/simic.png b/data/magic-modules.mse-include/watermarks/frazier/simic.png new file mode 100644 index 000000000..b7aacf27a Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/frazier/simic.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/artifact.png b/data/magic-modules.mse-include/watermarks/future/artifact.png new file mode 100644 index 000000000..b54bb5680 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/artifact.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/creature.png b/data/magic-modules.mse-include/watermarks/future/creature.png new file mode 100644 index 000000000..f230d4b66 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/creature.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/enchantment.png b/data/magic-modules.mse-include/watermarks/future/enchantment.png new file mode 100644 index 000000000..f50aa903b Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/enchantment.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/instant.png b/data/magic-modules.mse-include/watermarks/future/instant.png new file mode 100644 index 000000000..0ae6b8078 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/instant.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/land.png b/data/magic-modules.mse-include/watermarks/future/land.png new file mode 100644 index 000000000..f8ce9e29b Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/land.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/multitype.png b/data/magic-modules.mse-include/watermarks/future/multitype.png new file mode 100644 index 000000000..b66316c6e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/multitype.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/planeswalker.png b/data/magic-modules.mse-include/watermarks/future/planeswalker.png new file mode 100644 index 000000000..824b523f6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/planeswalker.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/sorcery.png b/data/magic-modules.mse-include/watermarks/future/sorcery.png new file mode 100644 index 000000000..34a61fa21 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/sorcery.png differ diff --git a/data/magic-modules.mse-include/watermarks/future/structure.png b/data/magic-modules.mse-include/watermarks/future/structure.png new file mode 100644 index 000000000..392090915 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/future/structure.png differ diff --git a/data/magic-modules.mse-include/watermarks/innistrad/gavony.png b/data/magic-modules.mse-include/watermarks/innistrad/gavony.png new file mode 100644 index 000000000..435c46551 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/innistrad/gavony.png differ diff --git a/data/magic-modules.mse-include/watermarks/innistrad/kessig.png b/data/magic-modules.mse-include/watermarks/innistrad/kessig.png new file mode 100644 index 000000000..5807e9378 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/innistrad/kessig.png differ diff --git a/data/magic-modules.mse-include/watermarks/innistrad/nephalia.png b/data/magic-modules.mse-include/watermarks/innistrad/nephalia.png new file mode 100644 index 000000000..25aeb04f7 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/innistrad/nephalia.png differ diff --git a/data/magic-modules.mse-include/watermarks/innistrad/stensia.png b/data/magic-modules.mse-include/watermarks/innistrad/stensia.png new file mode 100644 index 000000000..794e41179 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/innistrad/stensia.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b.png new file mode 100644 index 000000000..c381b8e96 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b_big.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b_big.png new file mode 100644 index 000000000..bb2d35ada Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b_big.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b_old.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b_old.png new file mode 100644 index 000000000..b0f4e5484 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_b_old.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c.png new file mode 100644 index 000000000..c762a4c90 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c_big.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c_big.png new file mode 100644 index 000000000..f97e30dd6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c_big.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c_old.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c_old.png new file mode 100644 index 000000000..a25cf93c1 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_c_old.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g.png new file mode 100644 index 000000000..e696b7115 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g_big.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g_big.png new file mode 100644 index 000000000..f746254ad Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g_big.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g_old.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g_old.png new file mode 100644 index 000000000..f8398a770 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_g_old.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_k.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_k.png new file mode 100644 index 000000000..3b347dfa5 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_k.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_p.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_p.png new file mode 100644 index 000000000..6b502aa57 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_p.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r.png new file mode 100644 index 000000000..db5c9d90d Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r_big.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r_big.png new file mode 100644 index 000000000..ab94e8e23 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r_big.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r_old.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r_old.png new file mode 100644 index 000000000..316ec4e6e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_r_old.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_s.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_s.png new file mode 100644 index 000000000..95a8d3e54 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_s.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u.png new file mode 100644 index 000000000..c38c61043 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u_big.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u_big.png new file mode 100644 index 000000000..176c80d2a Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u_big.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u_old.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u_old.png new file mode 100644 index 000000000..d0ac9ffd6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_u_old.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w.png new file mode 100644 index 000000000..36cc60624 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w_big.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w_big.png new file mode 100644 index 000000000..799942759 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w_big.png differ diff --git a/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w_old.png b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w_old.png new file mode 100644 index 000000000..875dc2acb Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mana symbols/watermark_w_old.png differ diff --git a/data/magic-modules.mse-include/watermarks/mirrodin/mirrodin.png b/data/magic-modules.mse-include/watermarks/mirrodin/mirrodin.png new file mode 100644 index 000000000..524df27f9 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mirrodin/mirrodin.png differ diff --git a/data/magic-modules.mse-include/watermarks/mirrodin/phyrexia.png b/data/magic-modules.mse-include/watermarks/mirrodin/phyrexia.png new file mode 100644 index 000000000..72e8f22db Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/mirrodin/phyrexia.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/aetherprint.png b/data/magic-modules.mse-include/watermarks/other/aetherprint.png new file mode 100644 index 000000000..2092fd4c7 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/aetherprint.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/chaos.png b/data/magic-modules.mse-include/watermarks/other/chaos.png new file mode 100644 index 000000000..5d23cb2d5 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/chaos.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/colorpie.png b/data/magic-modules.mse-include/watermarks/other/colorpie.png new file mode 100644 index 000000000..93141245f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/colorpie.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/conspiracy_stamp.png b/data/magic-modules.mse-include/watermarks/other/conspiracy_stamp.png new file mode 100644 index 000000000..95c0b660e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/conspiracy_stamp.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/desparked.png b/data/magic-modules.mse-include/watermarks/other/desparked.png new file mode 100644 index 000000000..a2c64aa1e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/desparked.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/foretell.png b/data/magic-modules.mse-include/watermarks/other/foretell.png new file mode 100644 index 000000000..2a5db4ed7 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/foretell.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/jace-consortium.png b/data/magic-modules.mse-include/watermarks/other/jace-consortium.png new file mode 100644 index 000000000..2a0b28780 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/jace-consortium.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/phyrexia.png b/data/magic-modules.mse-include/watermarks/other/phyrexia.png new file mode 100644 index 000000000..b1849bbb6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/phyrexia.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/planeswalker.png b/data/magic-modules.mse-include/watermarks/other/planeswalker.png new file mode 100644 index 000000000..ffa1bc099 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/planeswalker.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/seekersofcarmot.png b/data/magic-modules.mse-include/watermarks/other/seekersofcarmot.png new file mode 100644 index 000000000..ccb7b8564 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/seekersofcarmot.png differ diff --git a/data/magic-modules.mse-include/watermarks/other/thran.png b/data/magic-modules.mse-include/watermarks/other/thran.png new file mode 100644 index 000000000..1fb25807f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/other/thran.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/applejack.png b/data/magic-modules.mse-include/watermarks/ponies/applejack.png new file mode 100644 index 000000000..3575b1b4f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/applejack.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/fluttershy.png b/data/magic-modules.mse-include/watermarks/ponies/fluttershy.png new file mode 100644 index 000000000..fe80cd3a7 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/fluttershy.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/luna.png b/data/magic-modules.mse-include/watermarks/ponies/luna.png new file mode 100644 index 000000000..2338bbd97 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/luna.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/nightmare moon.png b/data/magic-modules.mse-include/watermarks/ponies/nightmare moon.png new file mode 100644 index 000000000..1c2b07651 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/nightmare moon.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/pinkie pie.png b/data/magic-modules.mse-include/watermarks/ponies/pinkie pie.png new file mode 100644 index 000000000..75a2ae296 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/pinkie pie.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/rainbow dash.png b/data/magic-modules.mse-include/watermarks/ponies/rainbow dash.png new file mode 100644 index 000000000..a2c110b83 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/rainbow dash.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/rarity.png b/data/magic-modules.mse-include/watermarks/ponies/rarity.png new file mode 100644 index 000000000..55503baea Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/rarity.png differ diff --git a/data/magic-modules.mse-include/watermarks/ponies/twilight sparkle.png b/data/magic-modules.mse-include/watermarks/ponies/twilight sparkle.png new file mode 100644 index 000000000..64edf5396 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ponies/twilight sparkle.png differ diff --git a/data/magic-modules.mse-include/watermarks/promo/judge_academy.png b/data/magic-modules.mse-include/watermarks/promo/judge_academy.png new file mode 100644 index 000000000..6217dd20e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/promo/judge_academy.png differ diff --git a/data/magic-modules.mse-include/watermarks/promo/shooting_star.png b/data/magic-modules.mse-include/watermarks/promo/shooting_star.png new file mode 100644 index 000000000..5fb7522f7 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/promo/shooting_star.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_azorius.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_azorius.png new file mode 100644 index 000000000..1f0d20e5d Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_azorius.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_azorius2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_azorius2.png new file mode 100644 index 000000000..3115f04e9 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_azorius2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_boros.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_boros.png new file mode 100644 index 000000000..1a61c7fc1 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_boros.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_boros2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_boros2.png new file mode 100644 index 000000000..3a9c00a66 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_boros2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_dimir.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_dimir.png new file mode 100644 index 000000000..22a343367 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_dimir.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_dimir2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_dimir2.png new file mode 100644 index 000000000..3563a6cf4 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_dimir2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_golgari.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_golgari.png new file mode 100644 index 000000000..1d2f60796 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_golgari.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_golgari2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_golgari2.png new file mode 100644 index 000000000..ac00931ee Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_golgari2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_gruul.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_gruul.png new file mode 100644 index 000000000..432397ca1 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_gruul.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_gruul2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_gruul2.png new file mode 100644 index 000000000..e3e932bd5 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_gruul2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_izzet.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_izzet.png new file mode 100644 index 000000000..a01901016 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_izzet.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_izzet2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_izzet2.png new file mode 100644 index 000000000..70eae2d7d Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_izzet2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_orzhov.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_orzhov.png new file mode 100644 index 000000000..0f8779bb6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_orzhov.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_orzhov2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_orzhov2.png new file mode 100644 index 000000000..d711a1902 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_orzhov2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_rakados.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_rakados.png new file mode 100644 index 000000000..dad723f55 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_rakados.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_rakados2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_rakados2.png new file mode 100644 index 000000000..5d5d794c3 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_rakados2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_selesnya.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_selesnya.png new file mode 100644 index 000000000..9472bedd6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_selesnya.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_selesnya2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_selesnya2.png new file mode 100644 index 000000000..719e7f5d4 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_selesnya2.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_simic.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_simic.png new file mode 100644 index 000000000..74ec00b39 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_simic.png differ diff --git a/data/magic-modules.mse-include/watermarks/ravnica/watermark_simic2.png b/data/magic-modules.mse-include/watermarks/ravnica/watermark_simic2.png new file mode 100644 index 000000000..6f6a231b1 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ravnica/watermark_simic2.png differ diff --git a/data/magic-modules.mse-include/watermarks/readme.txt b/data/magic-modules.mse-include/watermarks/readme.txt new file mode 100644 index 000000000..90fa4de43 --- /dev/null +++ b/data/magic-modules.mse-include/watermarks/readme.txt @@ -0,0 +1,59 @@ +#### To use this include in a template, add the following in the template headers: +depends on: + package: magic-modules.mse-include + version: 2024-05-20 + +#### Also add this, unindented, before the card style section: +include file: /magic-modules.mse-include/watermarks/card_fields +#### For DFC or TFC templates, instead override the faces_coordinates function, and use: +include file: /magic-modules.mse-include/watermarks/card_fields_dfc +include file: /magic-modules.mse-include/watermarks/card_fields_tfc + +#### Default Field Placement (@375x523, w=1 h=1) +set code: + left: text_left - 10w + top: text_top + 3h + width: text_width + 20w + height: text_height - 6h +#### Customization +#### Optionally, you can define which face of the card the watermark should snap to, +#### by defining the following function in the init script: +watermark_face_1 := { 1 } + +#### Similarly, you can define which textbox the watermark should snap to: +#### 1 is for card.text, 2 for card.text_2, and 3 for card.text_3 +watermark_text_field_1 := { 1 } + +#### And which stamp field it should move out of the way for: +watermark_stamp_field_1 := { 1 } + +#### You can also adjust global alignment by defining the following functions, again in the init script, +#### which must return an int corresponding to the number of pixels you want to shift the watermark by: + +#### To shift the watermark up/down: +watermark_offset_top_1 := { 0 } + +#### To shift the watermark left/right: +watermark_offset_left_1 := { 0 } + +#### To increase/decrease the width and height of the watermark: +watermark_offset_width_1 := { 0 } +watermark_offset_height_1 := { 0 } + +#### To change by how much it moves when a stamp is present: +watermark_offset_stamp_1 := { 0 } + +#### For DFC or TFC templates, use: +watermark_text_field_2 := { 2 } +watermark_stamp_field_2 := { 2 } +watermark_offset_top_2 := { 0 } +watermark_offset_left_2 := { 0 } +watermark_offset_width_2 := { 0 } +watermark_offset_height_2 := { 0 } +watermark_text_field_3 := { 3 } +watermark_stamp_field_3 := { 3 } +watermark_offset_top_3 := { 0 } +watermark_offset_left_3 := { 0 } +watermark_offset_width_3 := { 0 } +watermark_offset_height_3 := { 0 } +etc... \ No newline at end of file diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/alspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/alspotlight.png new file mode 100644 index 000000000..3285841a3 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/alspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/aspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/aspotlight.png new file mode 100644 index 000000000..ec3684cb4 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/aspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/blspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/blspotlight.png new file mode 100644 index 000000000..e3eae8fd1 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/blspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/bspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/bspotlight.png new file mode 100644 index 000000000..5cf7383b1 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/bspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/clspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/clspotlight.png new file mode 100644 index 000000000..93e6029ca Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/clspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/cspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/cspotlight.png new file mode 100644 index 000000000..2b58a15f5 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/cspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/glspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/glspotlight.png new file mode 100644 index 000000000..ccfa8d3a6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/glspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/gspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/gspotlight.png new file mode 100644 index 000000000..3bfc51a9b Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/gspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/kspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/kspotlight.png new file mode 100644 index 000000000..99ed331e6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/kspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/mlspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/mlspotlight.png new file mode 100644 index 000000000..8a0af3e4d Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/mlspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/mspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/mspotlight.png new file mode 100644 index 000000000..c2e6cd8b2 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/mspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/pspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/pspotlight.png new file mode 100644 index 000000000..09cfc5ff0 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/pspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/rlspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/rlspotlight.png new file mode 100644 index 000000000..050471542 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/rlspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/rspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/rspotlight.png new file mode 100644 index 000000000..13ee79490 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/rspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/ulspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/ulspotlight.png new file mode 100644 index 000000000..1d28f563e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/ulspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/uspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/uspotlight.png new file mode 100644 index 000000000..6ab646896 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/uspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/wlspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/wlspotlight.png new file mode 100644 index 000000000..44d684d54 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/wlspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/1024/wspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/1024/wspotlight.png new file mode 100644 index 000000000..e42c1f2ba Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/1024/wspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/alspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/alspotlight.png new file mode 100644 index 000000000..f2d6dbec8 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/alspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/aspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/aspotlight.png new file mode 100644 index 000000000..6bbfd1e6b Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/aspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/blspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/blspotlight.png new file mode 100644 index 000000000..271b4abf2 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/blspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/bspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/bspotlight.png new file mode 100644 index 000000000..fbb34319c Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/bspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/clspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/clspotlight.png new file mode 100644 index 000000000..b50958029 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/clspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/cspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/cspotlight.png new file mode 100644 index 000000000..9626ce6c9 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/cspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/glspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/glspotlight.png new file mode 100644 index 000000000..a7594557c Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/glspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/gspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/gspotlight.png new file mode 100644 index 000000000..e6c7fec7a Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/gspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/kspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/kspotlight.png new file mode 100644 index 000000000..3767ac1ae Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/kspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/mlspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/mlspotlight.png new file mode 100644 index 000000000..873485f90 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/mlspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/mspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/mspotlight.png new file mode 100644 index 000000000..c5b536dff Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/mspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/pspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/pspotlight.png new file mode 100644 index 000000000..3df4354ba Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/pspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/rlspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/rlspotlight.png new file mode 100644 index 000000000..2652edfba Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/rlspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/rspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/rspotlight.png new file mode 100644 index 000000000..d609a0525 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/rspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/ulspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/ulspotlight.png new file mode 100644 index 000000000..722c31731 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/ulspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/uspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/uspotlight.png new file mode 100644 index 000000000..c5177e91e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/uspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/wlspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/wlspotlight.png new file mode 100644 index 000000000..30dad7985 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/wlspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/spotlight/wspotlight.png b/data/magic-modules.mse-include/watermarks/spotlight/wspotlight.png new file mode 100644 index 000000000..00a8d2066 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/spotlight/wspotlight.png differ diff --git a/data/magic-modules.mse-include/watermarks/strixhaven/lorehold.png b/data/magic-modules.mse-include/watermarks/strixhaven/lorehold.png new file mode 100644 index 000000000..87648f4f6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/strixhaven/lorehold.png differ diff --git a/data/magic-modules.mse-include/watermarks/strixhaven/prismari.png b/data/magic-modules.mse-include/watermarks/strixhaven/prismari.png new file mode 100644 index 000000000..d0976baab Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/strixhaven/prismari.png differ diff --git a/data/magic-modules.mse-include/watermarks/strixhaven/quandrix.png b/data/magic-modules.mse-include/watermarks/strixhaven/quandrix.png new file mode 100644 index 000000000..98f5a8173 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/strixhaven/quandrix.png differ diff --git a/data/magic-modules.mse-include/watermarks/strixhaven/silverquill.png b/data/magic-modules.mse-include/watermarks/strixhaven/silverquill.png new file mode 100644 index 000000000..ddc2d4e70 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/strixhaven/silverquill.png differ diff --git a/data/magic-modules.mse-include/watermarks/strixhaven/witherbloom.png b/data/magic-modules.mse-include/watermarks/strixhaven/witherbloom.png new file mode 100644 index 000000000..3062bdec2 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/strixhaven/witherbloom.png differ diff --git a/data/magic-modules.mse-include/watermarks/styling_fields b/data/magic-modules.mse-include/watermarks/styling_fields new file mode 100644 index 000000000..60f47fdc7 --- /dev/null +++ b/data/magic-modules.mse-include/watermarks/styling_fields @@ -0,0 +1,8 @@ +styling field: + type: choice + name: watermark render + choice: normal + choice: blend with colors + choice: shadow + choice: glow + description: Image needs to be 500x500 px or smaller to blend with card colors. For best results, use a solid black watermark on transparent background. \ No newline at end of file diff --git a/data/magic-modules.mse-include/watermarks/tarkir/abzan.png b/data/magic-modules.mse-include/watermarks/tarkir/abzan.png new file mode 100644 index 000000000..cb414180a Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/abzan.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/atarka.png b/data/magic-modules.mse-include/watermarks/tarkir/atarka.png new file mode 100644 index 000000000..b896ac826 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/atarka.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/dromoka.png b/data/magic-modules.mse-include/watermarks/tarkir/dromoka.png new file mode 100644 index 000000000..078f68934 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/dromoka.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/jeskai.png b/data/magic-modules.mse-include/watermarks/tarkir/jeskai.png new file mode 100644 index 000000000..2db6d3584 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/jeskai.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/kolaghan.png b/data/magic-modules.mse-include/watermarks/tarkir/kolaghan.png new file mode 100644 index 000000000..897042699 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/kolaghan.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/mardu.png b/data/magic-modules.mse-include/watermarks/tarkir/mardu.png new file mode 100644 index 000000000..dac7cd222 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/mardu.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/ojutai.png b/data/magic-modules.mse-include/watermarks/tarkir/ojutai.png new file mode 100644 index 000000000..c26396449 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/ojutai.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/silumgar.png b/data/magic-modules.mse-include/watermarks/tarkir/silumgar.png new file mode 100644 index 000000000..11e128bd6 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/silumgar.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/sultai.png b/data/magic-modules.mse-include/watermarks/tarkir/sultai.png new file mode 100644 index 000000000..c829e0cb5 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/sultai.png differ diff --git a/data/magic-modules.mse-include/watermarks/tarkir/temur.png b/data/magic-modules.mse-include/watermarks/tarkir/temur.png new file mode 100644 index 000000000..3170d86d3 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/tarkir/temur.png differ diff --git a/data/magic-modules.mse-include/watermarks/theros/akros.png b/data/magic-modules.mse-include/watermarks/theros/akros.png new file mode 100644 index 000000000..92f8e8ae9 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/theros/akros.png differ diff --git a/data/magic-modules.mse-include/watermarks/theros/meletis.png b/data/magic-modules.mse-include/watermarks/theros/meletis.png new file mode 100644 index 000000000..fd91c337f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/theros/meletis.png differ diff --git a/data/magic-modules.mse-include/watermarks/theros/setessa.png b/data/magic-modules.mse-include/watermarks/theros/setessa.png new file mode 100644 index 000000000..06258f8db Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/theros/setessa.png differ diff --git a/data/magic-modules.mse-include/watermarks/ub/d&d.png b/data/magic-modules.mse-include/watermarks/ub/d&d.png new file mode 100644 index 000000000..2c4b0fb92 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ub/d&d.png differ diff --git a/data/magic-modules.mse-include/watermarks/ub/transformers.png b/data/magic-modules.mse-include/watermarks/ub/transformers.png new file mode 100644 index 000000000..4a0efe134 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/ub/transformers.png differ diff --git a/data/magic-modules.mse-include/watermarks/unstable/SNEAK.png b/data/magic-modules.mse-include/watermarks/unstable/SNEAK.png new file mode 100644 index 000000000..88174f12c Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/unstable/SNEAK.png differ diff --git a/data/magic-modules.mse-include/watermarks/unstable/crossbreed.png b/data/magic-modules.mse-include/watermarks/unstable/crossbreed.png new file mode 100644 index 000000000..4b7769d7f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/unstable/crossbreed.png differ diff --git a/data/magic-modules.mse-include/watermarks/unstable/doom.png b/data/magic-modules.mse-include/watermarks/unstable/doom.png new file mode 100644 index 000000000..74ce8357c Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/unstable/doom.png differ diff --git a/data/magic-modules.mse-include/watermarks/unstable/explosioneers.png b/data/magic-modules.mse-include/watermarks/unstable/explosioneers.png new file mode 100644 index 000000000..2ca57381e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/unstable/explosioneers.png differ diff --git a/data/magic-modules.mse-include/watermarks/unstable/widget.png b/data/magic-modules.mse-include/watermarks/unstable/widget.png new file mode 100644 index 000000000..f0a8c594c Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/unstable/widget.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/bgmana.png b/data/magic-modules.mse-include/watermarks/xander/bgmana.png new file mode 100644 index 000000000..66553780f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/bgmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/bgmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/bgmana_colored.png new file mode 100644 index 000000000..3278571ef Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/bgmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/brmana.png b/data/magic-modules.mse-include/watermarks/xander/brmana.png new file mode 100644 index 000000000..9c5f7e17f Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/brmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/brmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/brmana_colored.png new file mode 100644 index 000000000..a8cbe42c0 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/brmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/gumana.png b/data/magic-modules.mse-include/watermarks/xander/gumana.png new file mode 100644 index 000000000..3a03388e9 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/gumana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/gumana_colored.png b/data/magic-modules.mse-include/watermarks/xander/gumana_colored.png new file mode 100644 index 000000000..cd9c6a250 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/gumana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/gwmana.png b/data/magic-modules.mse-include/watermarks/xander/gwmana.png new file mode 100644 index 000000000..5b790b3a8 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/gwmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/gwmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/gwmana_colored.png new file mode 100644 index 000000000..7176e2783 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/gwmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/rgmana.png b/data/magic-modules.mse-include/watermarks/xander/rgmana.png new file mode 100644 index 000000000..dcf17baaf Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/rgmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/rgmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/rgmana_colored.png new file mode 100644 index 000000000..d8b7f5d28 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/rgmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/rwmana.png b/data/magic-modules.mse-include/watermarks/xander/rwmana.png new file mode 100644 index 000000000..a129382fb Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/rwmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/rwmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/rwmana_colored.png new file mode 100644 index 000000000..79be53900 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/rwmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/ubmana.png b/data/magic-modules.mse-include/watermarks/xander/ubmana.png new file mode 100644 index 000000000..4ce9139fb Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/ubmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/ubmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/ubmana_colored.png new file mode 100644 index 000000000..43e28a378 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/ubmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/urmana.png b/data/magic-modules.mse-include/watermarks/xander/urmana.png new file mode 100644 index 000000000..0418b1aa1 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/urmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/urmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/urmana_colored.png new file mode 100644 index 000000000..cd27c0a83 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/urmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/wbmana.png b/data/magic-modules.mse-include/watermarks/xander/wbmana.png new file mode 100644 index 000000000..30a885f8e Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/wbmana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/wbmana_colored.png b/data/magic-modules.mse-include/watermarks/xander/wbmana_colored.png new file mode 100644 index 000000000..42b13f7ef Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/wbmana_colored.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/wumana.png b/data/magic-modules.mse-include/watermarks/xander/wumana.png new file mode 100644 index 000000000..2a0603c81 Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/wumana.png differ diff --git a/data/magic-modules.mse-include/watermarks/xander/wumana_colored.png b/data/magic-modules.mse-include/watermarks/xander/wumana_colored.png new file mode 100644 index 000000000..b82ed2f9d Binary files /dev/null and b/data/magic-modules.mse-include/watermarks/xander/wumana_colored.png differ diff --git a/data/magic-new-doublefaced-sacrificer.mse-style/style b/data/magic-new-doublefaced-sacrificer.mse-style/style index 1aafcc261..a7bce5fd5 100644 --- a/data/magic-new-doublefaced-sacrificer.mse-style/style +++ b/data/magic-new-doublefaced-sacrificer.mse-style/style @@ -77,7 +77,23 @@ init script: } card_shape := {"double faced planeswalker"} - + faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: 375, + height: 523 + ], + [ + left: 377, + top: 0, + width: 375, + height: 523 + ] + ] + } + typesymbol_for := to_text + replace@(match: "(Legendary|Basic|Snow|World| )", replace: "") + diff --git a/data/magic-new-doublefaced-sparker.mse-style/style b/data/magic-new-doublefaced-sparker.mse-style/style index 5bb6ab77e..0f221924b 100644 --- a/data/magic-new-doublefaced-sparker.mse-style/style +++ b/data/magic-new-doublefaced-sparker.mse-style/style @@ -77,7 +77,23 @@ init script: } card_shape := {"double faced planeswalker"} - + faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: 375, + height: 523 + ], + [ + left: 377, + top: 0, + width: 375, + height: 523 + ] + ] + } + typesymbol_for := to_text + replace@(match: "(Legendary|Basic|Snow|World| )", replace: "") + diff --git a/data/magic-new-doublefaced.mse-style/style b/data/magic-new-doublefaced.mse-style/style index 177d2ef78..f027409af 100644 --- a/data/magic-new-doublefaced.mse-style/style +++ b/data/magic-new-doublefaced.mse-style/style @@ -71,6 +71,22 @@ init script: card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) } card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) } card_shape := { "double faced" } + faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: 375, + height: 523 + ], + [ + left: 377, + top: 0, + width: 375, + height: 523 + ] + ] + } ############################################################## Set info fields set info style: diff --git a/data/magic-new-omega-doublefaced.mse-style/style b/data/magic-new-omega-doublefaced.mse-style/style index 1212ae7b9..e47a9cfef 100644 --- a/data/magic-new-omega-doublefaced.mse-style/style +++ b/data/magic-new-omega-doublefaced.mse-style/style @@ -68,6 +68,22 @@ init script: card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) } card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) } card_shape := { "double faced" } + faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: 375, + height: 523 + ], + [ + left: 377, + top: 0, + width: 375, + height: 523 + ] + ] + } ############################################################## Set info fields set info style: diff --git a/data/magic-pride.mse-include/flags/omni.png b/data/magic-pride.mse-include/flags/omni.png new file mode 100644 index 000000000..9abe74141 Binary files /dev/null and b/data/magic-pride.mse-include/flags/omni.png differ diff --git a/data/magic-pride.mse-include/flags/polyamory.png b/data/magic-pride.mse-include/flags/polyamory.png new file mode 100644 index 000000000..9df5c0425 Binary files /dev/null and b/data/magic-pride.mse-include/flags/polyamory.png differ diff --git a/data/magic-pride.mse-include/include b/data/magic-pride.mse-include/include index 358b00cae..36bef6083 100644 --- a/data/magic-pride.mse-include/include +++ b/data/magic-pride.mse-include/include @@ -1,6 +1,6 @@ mse version: 2.0.0 full name: Magic The Gathering, pride flags -version: 2021-5-26 +version: 2024-05-22 # This file doesn't do anything, other files in this directory can be included # in game/style files: diff --git a/data/magic-pride.mse-include/pins b/data/magic-pride.mse-include/pins index 7d96b52cc..c0506a8ef 100644 --- a/data/magic-pride.mse-include/pins +++ b/data/magic-pride.mse-include/pins @@ -10,6 +10,8 @@ choice: aro choice: nonbinary choice: agender choice: genderfluid +choice: polyamory +choice: omni choice: name: rainbow line below: true diff --git a/data/magic-watermarks.mse-include/BUG.png b/data/magic-watermarks.mse-include/BUG.png deleted file mode 100644 index 0c59ee8a3..000000000 Binary files a/data/magic-watermarks.mse-include/BUG.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/Discord.png b/data/magic-watermarks.mse-include/Discord.png index 7a0b27a59..6f673279d 100644 Binary files a/data/magic-watermarks.mse-include/Discord.png and b/data/magic-watermarks.mse-include/Discord.png differ diff --git a/data/magic-watermarks.mse-include/GWU.png b/data/magic-watermarks.mse-include/GWU.png deleted file mode 100644 index cbdcafc62..000000000 Binary files a/data/magic-watermarks.mse-include/GWU.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/WBR.png b/data/magic-watermarks.mse-include/WBR.png deleted file mode 100644 index f4cc1c529..000000000 Binary files a/data/magic-watermarks.mse-include/WBR.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/WUG.png b/data/magic-watermarks.mse-include/WUG.png deleted file mode 100644 index cbdcafc62..000000000 Binary files a/data/magic-watermarks.mse-include/WUG.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/aetherprint.png b/data/magic-watermarks.mse-include/aetherprint.png index 0340182b4..2092fd4c7 100644 Binary files a/data/magic-watermarks.mse-include/aetherprint.png and b/data/magic-watermarks.mse-include/aetherprint.png differ diff --git a/data/magic-watermarks.mse-include/akros.png b/data/magic-watermarks.mse-include/akros.png index 459be5b23..92f8e8ae9 100644 Binary files a/data/magic-watermarks.mse-include/akros.png and b/data/magic-watermarks.mse-include/akros.png differ diff --git a/data/magic-watermarks.mse-include/capenna_brokers.png b/data/magic-watermarks.mse-include/capenna_brokers.png new file mode 100644 index 000000000..c357f1a2a Binary files /dev/null and b/data/magic-watermarks.mse-include/capenna_brokers.png differ diff --git a/data/magic-watermarks.mse-include/capenna_cabaretti.png b/data/magic-watermarks.mse-include/capenna_cabaretti.png new file mode 100644 index 000000000..f38c1869e Binary files /dev/null and b/data/magic-watermarks.mse-include/capenna_cabaretti.png differ diff --git a/data/magic-watermarks.mse-include/capenna_maestros.png b/data/magic-watermarks.mse-include/capenna_maestros.png new file mode 100644 index 000000000..a7b0a07fb Binary files /dev/null and b/data/magic-watermarks.mse-include/capenna_maestros.png differ diff --git a/data/magic-watermarks.mse-include/capenna_obscura.png b/data/magic-watermarks.mse-include/capenna_obscura.png new file mode 100644 index 000000000..507de752a Binary files /dev/null and b/data/magic-watermarks.mse-include/capenna_obscura.png differ diff --git a/data/magic-watermarks.mse-include/capenna_riveteers.png b/data/magic-watermarks.mse-include/capenna_riveteers.png new file mode 100644 index 000000000..ee6ea1e89 Binary files /dev/null and b/data/magic-watermarks.mse-include/capenna_riveteers.png differ diff --git a/data/magic-watermarks.mse-include/chaos.png b/data/magic-watermarks.mse-include/chaos.png index fc113e956..5d23cb2d5 100644 Binary files a/data/magic-watermarks.mse-include/chaos.png and b/data/magic-watermarks.mse-include/chaos.png differ diff --git a/data/magic-watermarks.mse-include/colorpie.png b/data/magic-watermarks.mse-include/colorpie.png index 8f8693807..93141245f 100644 Binary files a/data/magic-watermarks.mse-include/colorpie.png and b/data/magic-watermarks.mse-include/colorpie.png differ diff --git a/data/magic-watermarks.mse-include/d&d.png b/data/magic-watermarks.mse-include/d&d.png new file mode 100644 index 000000000..2c4b0fb92 Binary files /dev/null and b/data/magic-watermarks.mse-include/d&d.png differ diff --git a/data/magic-watermarks.mse-include/desparked.png b/data/magic-watermarks.mse-include/desparked.png new file mode 100644 index 000000000..a2c64aa1e Binary files /dev/null and b/data/magic-watermarks.mse-include/desparked.png differ diff --git a/data/magic-watermarks.mse-include/foretell.png b/data/magic-watermarks.mse-include/foretell.png index 65d93d61b..2a5db4ed7 100644 Binary files a/data/magic-watermarks.mse-include/foretell.png and b/data/magic-watermarks.mse-include/foretell.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_artifact.png b/data/magic-watermarks.mse-include/futsymbol_artifact.png index 50dea5b98..b54bb5680 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_artifact.png and b/data/magic-watermarks.mse-include/futsymbol_artifact.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_creature.png b/data/magic-watermarks.mse-include/futsymbol_creature.png index 2e91a82c4..f230d4b66 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_creature.png and b/data/magic-watermarks.mse-include/futsymbol_creature.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_enchantment.png b/data/magic-watermarks.mse-include/futsymbol_enchantment.png index 2ff4083c3..f50aa903b 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_enchantment.png and b/data/magic-watermarks.mse-include/futsymbol_enchantment.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_instant.png b/data/magic-watermarks.mse-include/futsymbol_instant.png index d83d4442f..0ae6b8078 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_instant.png and b/data/magic-watermarks.mse-include/futsymbol_instant.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_land.png b/data/magic-watermarks.mse-include/futsymbol_land.png index 49a8b1415..f8ce9e29b 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_land.png and b/data/magic-watermarks.mse-include/futsymbol_land.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_multiple.png b/data/magic-watermarks.mse-include/futsymbol_multiple.png index 65bd9c843..b66316c6e 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_multiple.png and b/data/magic-watermarks.mse-include/futsymbol_multiple.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_planeswalker.png b/data/magic-watermarks.mse-include/futsymbol_planeswalker.png index c3da2b5da..824b523f6 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_planeswalker.png and b/data/magic-watermarks.mse-include/futsymbol_planeswalker.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_sorcery.png b/data/magic-watermarks.mse-include/futsymbol_sorcery.png index 6d0880cb4..34a61fa21 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_sorcery.png and b/data/magic-watermarks.mse-include/futsymbol_sorcery.png differ diff --git a/data/magic-watermarks.mse-include/futsymbol_structure.png b/data/magic-watermarks.mse-include/futsymbol_structure.png index e75c6d5ac..392090915 100644 Binary files a/data/magic-watermarks.mse-include/futsymbol_structure.png and b/data/magic-watermarks.mse-include/futsymbol_structure.png differ diff --git a/data/magic-watermarks.mse-include/gavony.png b/data/magic-watermarks.mse-include/gavony.png index 8c4bd2b76..435c46551 100644 Binary files a/data/magic-watermarks.mse-include/gavony.png and b/data/magic-watermarks.mse-include/gavony.png differ diff --git a/data/magic-watermarks.mse-include/gihana.png b/data/magic-watermarks.mse-include/gihana.png deleted file mode 100644 index ea4fb8e52..000000000 Binary files a/data/magic-watermarks.mse-include/gihana.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/heavy-arrow.png b/data/magic-watermarks.mse-include/heavy-arrow.png deleted file mode 100644 index f4cc1c529..000000000 Binary files a/data/magic-watermarks.mse-include/heavy-arrow.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/igloo.png b/data/magic-watermarks.mse-include/igloo.png deleted file mode 100644 index cbdcafc62..000000000 Binary files a/data/magic-watermarks.mse-include/igloo.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/include b/data/magic-watermarks.mse-include/include index 04d72d620..eebb8f024 100644 --- a/data/magic-watermarks.mse-include/include +++ b/data/magic-watermarks.mse-include/include @@ -1,7 +1,12 @@ -mse version: 2.0.0 -full name: Magic The Gathering, textbox watermarks -version: 2016-03-13 +mse version: 2.0.0 +full name: Magic The Gathering, textbox watermarks +version: 2024-01-29 +depends on: + package: magic.mse-game + version: 2014-06-25 -# This file doesn't do anything, other files in this directory can be included -# in game/style files: -# watermarks Includes references to the watermark images, to be used in a style file + + +#### This file doesn't do anything. +#### Other files in this directory can be included in game/style files. +#### This include covers the watermarks in textboxes. diff --git a/data/magic-watermarks.mse-include/judge_academy.png b/data/magic-watermarks.mse-include/judge_academy.png new file mode 100644 index 000000000..6217dd20e Binary files /dev/null and b/data/magic-watermarks.mse-include/judge_academy.png differ diff --git a/data/magic-watermarks.mse-include/kessig.png b/data/magic-watermarks.mse-include/kessig.png index c3409f5ac..5807e9378 100644 Binary files a/data/magic-watermarks.mse-include/kessig.png and b/data/magic-watermarks.mse-include/kessig.png differ diff --git a/data/magic-watermarks.mse-include/meletis.png b/data/magic-watermarks.mse-include/meletis.png index e539f786f..fd91c337f 100644 Binary files a/data/magic-watermarks.mse-include/meletis.png and b/data/magic-watermarks.mse-include/meletis.png differ diff --git a/data/magic-watermarks.mse-include/nephalia.png b/data/magic-watermarks.mse-include/nephalia.png index ca0081655..25aeb04f7 100644 Binary files a/data/magic-watermarks.mse-include/nephalia.png and b/data/magic-watermarks.mse-include/nephalia.png differ diff --git a/data/magic-watermarks.mse-include/ponies_apples.png b/data/magic-watermarks.mse-include/ponies_apples.png new file mode 100644 index 000000000..3575b1b4f Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_apples.png differ diff --git a/data/magic-watermarks.mse-include/ponies_balloons.png b/data/magic-watermarks.mse-include/ponies_balloons.png new file mode 100644 index 000000000..75a2ae296 Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_balloons.png differ diff --git a/data/magic-watermarks.mse-include/ponies_butterflies.png b/data/magic-watermarks.mse-include/ponies_butterflies.png new file mode 100644 index 000000000..fe80cd3a7 Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_butterflies.png differ diff --git a/data/magic-watermarks.mse-include/ponies_gems.png b/data/magic-watermarks.mse-include/ponies_gems.png new file mode 100644 index 000000000..55503baea Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_gems.png differ diff --git a/data/magic-watermarks.mse-include/ponies_rainbow.png b/data/magic-watermarks.mse-include/ponies_rainbow.png new file mode 100644 index 000000000..a2c110b83 Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_rainbow.png differ diff --git a/data/magic-watermarks.mse-include/ponies_sparkles.png b/data/magic-watermarks.mse-include/ponies_sparkles.png new file mode 100644 index 000000000..64edf5396 Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_sparkles.png differ diff --git a/data/magic-watermarks.mse-include/ponies_waning_moon.png b/data/magic-watermarks.mse-include/ponies_waning_moon.png new file mode 100644 index 000000000..1c2b07651 Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_waning_moon.png differ diff --git a/data/magic-watermarks.mse-include/ponies_waxing_moon.png b/data/magic-watermarks.mse-include/ponies_waxing_moon.png new file mode 100644 index 000000000..2338bbd97 Binary files /dev/null and b/data/magic-watermarks.mse-include/ponies_waxing_moon.png differ diff --git a/data/magic-watermarks.mse-include/seekersofcarmot.png b/data/magic-watermarks.mse-include/seekersofcarmot.png index 3ccc14a38..ccb7b8564 100644 Binary files a/data/magic-watermarks.mse-include/seekersofcarmot.png and b/data/magic-watermarks.mse-include/seekersofcarmot.png differ diff --git a/data/magic-watermarks.mse-include/setessa.png b/data/magic-watermarks.mse-include/setessa.png index ebc12c18b..06258f8db 100644 Binary files a/data/magic-watermarks.mse-include/setessa.png and b/data/magic-watermarks.mse-include/setessa.png differ diff --git a/data/magic-watermarks.mse-include/sets/Set-5dn.png b/data/magic-watermarks.mse-include/sets/Set-5dn.png deleted file mode 100644 index a44631933..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-5dn.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-abur.png b/data/magic-watermarks.mse-include/sets/Set-abur.png deleted file mode 100644 index 027293e43..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-abur.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-aer.png b/data/magic-watermarks.mse-include/sets/Set-aer.png deleted file mode 100644 index 575b93d23..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-aer.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-akh.png b/data/magic-watermarks.mse-include/sets/Set-akh.png deleted file mode 100644 index 3df3f7729..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-akh.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ala.png b/data/magic-watermarks.mse-include/sets/Set-ala.png deleted file mode 100644 index aaea33848..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ala.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-all.png b/data/magic-watermarks.mse-include/sets/Set-all.png deleted file mode 100644 index d467f47a7..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-all.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-apc.png b/data/magic-watermarks.mse-include/sets/Set-apc.png deleted file mode 100644 index 26a21a508..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-apc.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-arb.png b/data/magic-watermarks.mse-include/sets/Set-arb.png deleted file mode 100644 index f51a995e1..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-arb.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-arn.png b/data/magic-watermarks.mse-include/sets/Set-arn.png deleted file mode 100644 index f296a8113..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-arn.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-avr.png b/data/magic-watermarks.mse-include/sets/Set-avr.png deleted file mode 100644 index 41855fa4d..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-avr.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-bfz.png b/data/magic-watermarks.mse-include/sets/Set-bfz.png deleted file mode 100644 index eca439614..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-bfz.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-bng.png b/data/magic-watermarks.mse-include/sets/Set-bng.png deleted file mode 100644 index fef715054..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-bng.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-bok.png b/data/magic-watermarks.mse-include/sets/Set-bok.png deleted file mode 100644 index ae97029d3..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-bok.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-c13.png b/data/magic-watermarks.mse-include/sets/Set-c13.png deleted file mode 100644 index 3d6412cc2..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-c13.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-c14.png b/data/magic-watermarks.mse-include/sets/Set-c14.png deleted file mode 100644 index 7efac633e..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-c14.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-c15.png b/data/magic-watermarks.mse-include/sets/Set-c15.png deleted file mode 100644 index c7103d846..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-c15.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-c16.png b/data/magic-watermarks.mse-include/sets/Set-c16.png deleted file mode 100644 index 2798a8124..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-c16.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-c17.png b/data/magic-watermarks.mse-include/sets/Set-c17.png deleted file mode 100644 index d1054639c..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-c17.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-chk.png b/data/magic-watermarks.mse-include/sets/Set-chk.png deleted file mode 100644 index 5a810748e..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-chk.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-cmd.png b/data/magic-watermarks.mse-include/sets/Set-cmd.png deleted file mode 100644 index 55f74cbf6..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-cmd.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-cn2.png b/data/magic-watermarks.mse-include/sets/Set-cn2.png deleted file mode 100644 index 3af3e7461..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-cn2.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-cns.png b/data/magic-watermarks.mse-include/sets/Set-cns.png deleted file mode 100644 index 1d7dceff7..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-cns.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-con.png b/data/magic-watermarks.mse-include/sets/Set-con.png deleted file mode 100644 index 708ddc562..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-con.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-csp.png b/data/magic-watermarks.mse-include/sets/Set-csp.png deleted file mode 100644 index ac27ccc97..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-csp.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-dgm.png b/data/magic-watermarks.mse-include/sets/Set-dgm.png deleted file mode 100644 index 9ea1d542b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-dgm.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-dis.png b/data/magic-watermarks.mse-include/sets/Set-dis.png deleted file mode 100644 index f6e01e4fb..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-dis.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-dka.png b/data/magic-watermarks.mse-include/sets/Set-dka.png deleted file mode 100644 index 00058eb41..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-dka.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-drk.png b/data/magic-watermarks.mse-include/sets/Set-drk.png deleted file mode 100644 index c602815f7..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-drk.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-dst.png b/data/magic-watermarks.mse-include/sets/Set-dst.png deleted file mode 100644 index 29c256640..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-dst.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-dtk.png b/data/magic-watermarks.mse-include/sets/Set-dtk.png deleted file mode 100644 index 71b529c05..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-dtk.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-emn.png b/data/magic-watermarks.mse-include/sets/Set-emn.png deleted file mode 100644 index 37000c236..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-emn.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-eve.png b/data/magic-watermarks.mse-include/sets/Set-eve.png deleted file mode 100644 index 191d7c75b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-eve.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-exo.png b/data/magic-watermarks.mse-include/sets/Set-exo.png deleted file mode 100644 index b03519549..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-exo.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-fem.png b/data/magic-watermarks.mse-include/sets/Set-fem.png deleted file mode 100644 index 100af8d2d..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-fem.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-frf.png b/data/magic-watermarks.mse-include/sets/Set-frf.png deleted file mode 100644 index 9c3b6f485..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-frf.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-fut.png b/data/magic-watermarks.mse-include/sets/Set-fut.png deleted file mode 100644 index dd9818a43..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-fut.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-gpt.png b/data/magic-watermarks.mse-include/sets/Set-gpt.png deleted file mode 100644 index bb1267fb8..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-gpt.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-gtc.png b/data/magic-watermarks.mse-include/sets/Set-gtc.png deleted file mode 100644 index abdeb137e..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-gtc.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-hml.png b/data/magic-watermarks.mse-include/sets/Set-hml.png deleted file mode 100644 index 80be29565..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-hml.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-hou.png b/data/magic-watermarks.mse-include/sets/Set-hou.png deleted file mode 100644 index e320ccd0a..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-hou.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ice.png b/data/magic-watermarks.mse-include/sets/Set-ice.png deleted file mode 100644 index 5cedb98b1..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ice.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-inv.png b/data/magic-watermarks.mse-include/sets/Set-inv.png deleted file mode 100644 index 41afe479b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-inv.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-isd.png b/data/magic-watermarks.mse-include/sets/Set-isd.png deleted file mode 100644 index 670119ff8..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-isd.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-jou.png b/data/magic-watermarks.mse-include/sets/Set-jou.png deleted file mode 100644 index 4fce0b1ba..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-jou.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-jud.png b/data/magic-watermarks.mse-include/sets/Set-jud.png deleted file mode 100644 index 82a1b7f4c..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-jud.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-kld.png b/data/magic-watermarks.mse-include/sets/Set-kld.png deleted file mode 100644 index b023a9ea0..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-kld.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ktk.png b/data/magic-watermarks.mse-include/sets/Set-ktk.png deleted file mode 100644 index 60f4bf19f..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ktk.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-leg.png b/data/magic-watermarks.mse-include/sets/Set-leg.png deleted file mode 100644 index 0a48aa2d0..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-leg.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-lgn.png b/data/magic-watermarks.mse-include/sets/Set-lgn.png deleted file mode 100644 index 05f641c7c..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-lgn.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-lrw.png b/data/magic-watermarks.mse-include/sets/Set-lrw.png deleted file mode 100644 index 7e1e161b5..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-lrw.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-m10.png b/data/magic-watermarks.mse-include/sets/Set-m10.png deleted file mode 100644 index 541310c3b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-m10.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-m11.png b/data/magic-watermarks.mse-include/sets/Set-m11.png deleted file mode 100644 index 367976c8d..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-m11.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-m12.png b/data/magic-watermarks.mse-include/sets/Set-m12.png deleted file mode 100644 index 2e956ed8a..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-m12.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-m13.png b/data/magic-watermarks.mse-include/sets/Set-m13.png deleted file mode 100644 index 5a2670ea8..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-m13.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-m14.png b/data/magic-watermarks.mse-include/sets/Set-m14.png deleted file mode 100644 index b54afe012..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-m14.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-m15.png b/data/magic-watermarks.mse-include/sets/Set-m15.png deleted file mode 100644 index 7610299bd..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-m15.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-mbs.png b/data/magic-watermarks.mse-include/sets/Set-mbs.png deleted file mode 100644 index 48704c299..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-mbs.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-mir.png b/data/magic-watermarks.mse-include/sets/Set-mir.png deleted file mode 100644 index 4b75d0a98..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-mir.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-mmq.png b/data/magic-watermarks.mse-include/sets/Set-mmq.png deleted file mode 100644 index 403039ba0..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-mmq.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-mor.png b/data/magic-watermarks.mse-include/sets/Set-mor.png deleted file mode 100644 index 9236017ab..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-mor.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-mrd.png b/data/magic-watermarks.mse-include/sets/Set-mrd.png deleted file mode 100644 index 610de447b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-mrd.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-nem.png b/data/magic-watermarks.mse-include/sets/Set-nem.png deleted file mode 100644 index c78463435..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-nem.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-nph.png b/data/magic-watermarks.mse-include/sets/Set-nph.png deleted file mode 100644 index 814df3e7b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-nph.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ody.png b/data/magic-watermarks.mse-include/sets/Set-ody.png deleted file mode 100644 index 83c1bd972..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ody.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ogw.png b/data/magic-watermarks.mse-include/sets/Set-ogw.png deleted file mode 100644 index 50510af9b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ogw.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ons.png b/data/magic-watermarks.mse-include/sets/Set-ons.png deleted file mode 100644 index 7c7f62928..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ons.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ori.png b/data/magic-watermarks.mse-include/sets/Set-ori.png deleted file mode 100644 index eac8e0756..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ori.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-p02.png b/data/magic-watermarks.mse-include/sets/Set-p02.png deleted file mode 100644 index 9ce6eb281..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-p02.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-pc2.png b/data/magic-watermarks.mse-include/sets/Set-pc2.png deleted file mode 100644 index 7d0a573e1..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-pc2.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-pcy.png b/data/magic-watermarks.mse-include/sets/Set-pcy.png deleted file mode 100644 index c20385bcd..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-pcy.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-plc.png b/data/magic-watermarks.mse-include/sets/Set-plc.png deleted file mode 100644 index 9b6fefbd0..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-plc.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-pls.png b/data/magic-watermarks.mse-include/sets/Set-pls.png deleted file mode 100644 index 97134ee21..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-pls.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-por.png b/data/magic-watermarks.mse-include/sets/Set-por.png deleted file mode 100644 index 57069f774..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-por.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ptk.png b/data/magic-watermarks.mse-include/sets/Set-ptk.png deleted file mode 100644 index 315b8d026..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ptk.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-rav.png b/data/magic-watermarks.mse-include/sets/Set-rav.png deleted file mode 100644 index 373192f40..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-rav.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-rix.png b/data/magic-watermarks.mse-include/sets/Set-rix.png deleted file mode 100644 index aa10f13c1..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-rix.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-roe.png b/data/magic-watermarks.mse-include/sets/Set-roe.png deleted file mode 100644 index 4e430aa5a..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-roe.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-rtr.png b/data/magic-watermarks.mse-include/sets/Set-rtr.png deleted file mode 100644 index 2d4ef656d..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-rtr.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-s99.png b/data/magic-watermarks.mse-include/sets/Set-s99.png deleted file mode 100644 index 0dc156e31..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-s99.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-scg.png b/data/magic-watermarks.mse-include/sets/Set-scg.png deleted file mode 100644 index ffaef6049..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-scg.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-shm.png b/data/magic-watermarks.mse-include/sets/Set-shm.png deleted file mode 100644 index 2410e31f2..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-shm.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-soi.png b/data/magic-watermarks.mse-include/sets/Set-soi.png deleted file mode 100644 index 729c22f89..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-soi.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-sok.png b/data/magic-watermarks.mse-include/sets/Set-sok.png deleted file mode 100644 index b9fce6be2..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-sok.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-som.png b/data/magic-watermarks.mse-include/sets/Set-som.png deleted file mode 100644 index 4b7c56020..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-som.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-sth.png b/data/magic-watermarks.mse-include/sets/Set-sth.png deleted file mode 100644 index 5f3ef7217..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-sth.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ths.png b/data/magic-watermarks.mse-include/sets/Set-ths.png deleted file mode 100644 index 3457ddc48..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ths.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-tmp.png b/data/magic-watermarks.mse-include/sets/Set-tmp.png deleted file mode 100644 index 0a1846565..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-tmp.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-tor.png b/data/magic-watermarks.mse-include/sets/Set-tor.png deleted file mode 100644 index 95db71169..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-tor.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-tsp.png b/data/magic-watermarks.mse-include/sets/Set-tsp.png deleted file mode 100644 index 7ef14fe92..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-tsp.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-uds.png b/data/magic-watermarks.mse-include/sets/Set-uds.png deleted file mode 100644 index f0265e60d..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-uds.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-ulg.png b/data/magic-watermarks.mse-include/sets/Set-ulg.png deleted file mode 100644 index 65b45c95d..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-ulg.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-usg.png b/data/magic-watermarks.mse-include/sets/Set-usg.png deleted file mode 100644 index d6e57f4f3..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-usg.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-vis.png b/data/magic-watermarks.mse-include/sets/Set-vis.png deleted file mode 100644 index 308c0554a..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-vis.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-wth.png b/data/magic-watermarks.mse-include/sets/Set-wth.png deleted file mode 100644 index 832cfcf66..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-wth.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-wwk.png b/data/magic-watermarks.mse-include/sets/Set-wwk.png deleted file mode 100644 index 2fd7bc9e2..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-wwk.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-xln.png b/data/magic-watermarks.mse-include/sets/Set-xln.png deleted file mode 100644 index 5348df88c..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-xln.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/Set-zen.png b/data/magic-watermarks.mse-include/sets/Set-zen.png deleted file mode 100644 index 9de672aa3..000000000 Binary files a/data/magic-watermarks.mse-include/sets/Set-zen.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/amark.png b/data/magic-watermarks.mse-include/sets/amark.png deleted file mode 100644 index 4f9227dd8..000000000 Binary files a/data/magic-watermarks.mse-include/sets/amark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/bmark.png b/data/magic-watermarks.mse-include/sets/bmark.png deleted file mode 100644 index 1a6aef0c0..000000000 Binary files a/data/magic-watermarks.mse-include/sets/bmark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/cmark.png b/data/magic-watermarks.mse-include/sets/cmark.png deleted file mode 100644 index be426c850..000000000 Binary files a/data/magic-watermarks.mse-include/sets/cmark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/gmark.png b/data/magic-watermarks.mse-include/sets/gmark.png deleted file mode 100644 index 70d49094e..000000000 Binary files a/data/magic-watermarks.mse-include/sets/gmark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/mmark.png b/data/magic-watermarks.mse-include/sets/mmark.png deleted file mode 100644 index 77c6b9188..000000000 Binary files a/data/magic-watermarks.mse-include/sets/mmark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/rmark.png b/data/magic-watermarks.mse-include/sets/rmark.png deleted file mode 100644 index 5d81a387b..000000000 Binary files a/data/magic-watermarks.mse-include/sets/rmark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/umark.png b/data/magic-watermarks.mse-include/sets/umark.png deleted file mode 100644 index c6cf8cade..000000000 Binary files a/data/magic-watermarks.mse-include/sets/umark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/sets/wmark.png b/data/magic-watermarks.mse-include/sets/wmark.png deleted file mode 100644 index 4229cd8b3..000000000 Binary files a/data/magic-watermarks.mse-include/sets/wmark.png and /dev/null differ diff --git a/data/magic-watermarks.mse-include/shooting_star.png b/data/magic-watermarks.mse-include/shooting_star.png new file mode 100644 index 000000000..5fb7522f7 Binary files /dev/null and b/data/magic-watermarks.mse-include/shooting_star.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/alspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/alspotlight.png new file mode 100644 index 000000000..3285841a3 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/alspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/aspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/aspotlight.png new file mode 100644 index 000000000..ec3684cb4 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/aspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/blspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/blspotlight.png new file mode 100644 index 000000000..e3eae8fd1 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/blspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/bspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/bspotlight.png new file mode 100644 index 000000000..5cf7383b1 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/bspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/clspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/clspotlight.png new file mode 100644 index 000000000..93e6029ca Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/clspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/cspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/cspotlight.png new file mode 100644 index 000000000..2b58a15f5 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/cspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/glspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/glspotlight.png new file mode 100644 index 000000000..ccfa8d3a6 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/glspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/gspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/gspotlight.png new file mode 100644 index 000000000..3bfc51a9b Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/gspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/kspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/kspotlight.png new file mode 100644 index 000000000..99ed331e6 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/kspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/mlspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/mlspotlight.png new file mode 100644 index 000000000..8a0af3e4d Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/mlspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/mspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/mspotlight.png new file mode 100644 index 000000000..c2e6cd8b2 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/mspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/pspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/pspotlight.png new file mode 100644 index 000000000..09cfc5ff0 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/pspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/rlspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/rlspotlight.png new file mode 100644 index 000000000..050471542 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/rlspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/rspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/rspotlight.png new file mode 100644 index 000000000..13ee79490 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/rspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/ulspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/ulspotlight.png new file mode 100644 index 000000000..1d28f563e Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/ulspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/uspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/uspotlight.png new file mode 100644 index 000000000..6ab646896 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/uspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/wlspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/wlspotlight.png new file mode 100644 index 000000000..44d684d54 Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/wlspotlight.png differ diff --git a/data/magic-watermarks.mse-include/spotlight/1024/wspotlight.png b/data/magic-watermarks.mse-include/spotlight/1024/wspotlight.png new file mode 100644 index 000000000..e42c1f2ba Binary files /dev/null and b/data/magic-watermarks.mse-include/spotlight/1024/wspotlight.png differ diff --git a/data/magic-watermarks.mse-include/stensia.png b/data/magic-watermarks.mse-include/stensia.png index 4114cdc12..794e41179 100644 Binary files a/data/magic-watermarks.mse-include/stensia.png and b/data/magic-watermarks.mse-include/stensia.png differ diff --git a/data/magic-watermarks.mse-include/transformers.png b/data/magic-watermarks.mse-include/transformers.png new file mode 100644 index 000000000..4a0efe134 Binary files /dev/null and b/data/magic-watermarks.mse-include/transformers.png differ diff --git a/data/magic-watermarks.mse-include/unstable_SNEAK.png b/data/magic-watermarks.mse-include/unstable_SNEAK.png index 9c0f90220..88174f12c 100644 Binary files a/data/magic-watermarks.mse-include/unstable_SNEAK.png and b/data/magic-watermarks.mse-include/unstable_SNEAK.png differ diff --git a/data/magic-watermarks.mse-include/unstable_crossbreed.png b/data/magic-watermarks.mse-include/unstable_crossbreed.png index c817e5634..4b7769d7f 100644 Binary files a/data/magic-watermarks.mse-include/unstable_crossbreed.png and b/data/magic-watermarks.mse-include/unstable_crossbreed.png differ diff --git a/data/magic-watermarks.mse-include/unstable_doom.png b/data/magic-watermarks.mse-include/unstable_doom.png index e8e01d875..74ce8357c 100644 Binary files a/data/magic-watermarks.mse-include/unstable_doom.png and b/data/magic-watermarks.mse-include/unstable_doom.png differ diff --git a/data/magic-watermarks.mse-include/unstable_explosioneers.png b/data/magic-watermarks.mse-include/unstable_explosioneers.png index ccee6cb3f..2ca57381e 100644 Binary files a/data/magic-watermarks.mse-include/unstable_explosioneers.png and b/data/magic-watermarks.mse-include/unstable_explosioneers.png differ diff --git a/data/magic-watermarks.mse-include/unstable_widget.png b/data/magic-watermarks.mse-include/unstable_widget.png index dd156bf0c..f0a8c594c 100644 Binary files a/data/magic-watermarks.mse-include/unstable_widget.png and b/data/magic-watermarks.mse-include/unstable_widget.png differ diff --git a/data/magic-watermarks.mse-include/watermark-names b/data/magic-watermarks.mse-include/watermark-names index a08b04eb4..35da22ba3 100644 --- a/data/magic-watermarks.mse-include/watermark-names +++ b/data/magic-watermarks.mse-include/watermark-names @@ -12,7 +12,25 @@ choice: choice: red choice: green choice: colorless - choice: snow + choice: + name: snow + line below: true + choice: + name: old + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless + choice: + name: hi res + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless choice: name: transparent mana symbol choice: white @@ -20,6 +38,25 @@ choice: choice: black choice: red choice: green + choice: + name: colorless + line below: true + choice: + name: old + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless + choice: + name: hi res + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: colorless choice: name: guild symbol choice: The Azorius Senate (W/U) @@ -31,7 +68,9 @@ choice: choice: The Izzet (U/R) choice: The Golgari (B/G) choice: The Boros Legion (R/W) - choice: The Simic Combine (G/U) + choice: + name: The Simic Combine (G/U) + line below: true choice: name: originals choice: The Azorius Senate (W/U) @@ -74,6 +113,13 @@ choice: choice: Silumgar's Brood (UB) choice: Kolaghan's Brood (BR) choice: Atarka's Brood (RG) +choice: + name: family symbol + choice: Brokers (GWU) + choice: Cabaretti (RGW) + choice: Maestros (UBR) + choice: Obscura (WUB) + choice: Riveteers (BRG) choice: name: unstable factions choice: Order of the Widget @@ -107,27 +153,32 @@ choice: choice: W/U choice: name: future sight type symbols - choice: artifact choice: creature + choice: artifact choice: enchantment choice: instant choice: land choice: multiple choice: planeswalker choice: sorcery + choice: structure choice: name: other magic symbols choice: aetherprint + choice: desparked choice: chaos symbol choice: color pie choice: conspiracy stamp choice: story spotlight - choice: color spotlight choice: jace consortium + choice: shooting star choice: phyrexia choice: seekers of carmot choice: the thran choice: foretell + choice: + name: judge academy + line below: true choice: name: innistrad provinces choice: stensia @@ -145,7 +196,9 @@ choice: choice: Esper choice: Grixis choice: Jund - choice: Naya + choice: + name: Naya + line below: true choice: name: colored choice: Bant @@ -160,6 +213,22 @@ choice: choice: Witherbloom choice: Lorehold choice: Quandrix +choice: + name: universes beyond + choice: D&D + choice: + name: transformers + line below: true + choice: + name: ponies + choice: applejack + choice: pinkie pie + choice: fluttershy + choice: rainbow dash + choice: rarity + choice: twilight sparkle + choice: nightmare moon + choice: luna choice: name: custom watermark choice: one diff --git a/data/magic-watermarks.mse-include/watermark_abzan.png b/data/magic-watermarks.mse-include/watermark_abzan.png index b8b0265d8..cb414180a 100644 Binary files a/data/magic-watermarks.mse-include/watermark_abzan.png and b/data/magic-watermarks.mse-include/watermark_abzan.png differ diff --git a/data/magic-watermarks.mse-include/watermark_azorius.png b/data/magic-watermarks.mse-include/watermark_azorius.png index b2ebbf1ef..1f0d20e5d 100644 Binary files a/data/magic-watermarks.mse-include/watermark_azorius.png and b/data/magic-watermarks.mse-include/watermark_azorius.png differ diff --git a/data/magic-watermarks.mse-include/watermark_b_big.png b/data/magic-watermarks.mse-include/watermark_b_big.png new file mode 100644 index 000000000..bb2d35ada Binary files /dev/null and b/data/magic-watermarks.mse-include/watermark_b_big.png differ diff --git a/data/magic-watermarks.mse-include/watermark_bant.png b/data/magic-watermarks.mse-include/watermark_bant.png index 57580b08e..d5f27338e 100644 Binary files a/data/magic-watermarks.mse-include/watermark_bant.png and b/data/magic-watermarks.mse-include/watermark_bant.png differ diff --git a/data/magic-watermarks.mse-include/watermark_bgmana.png b/data/magic-watermarks.mse-include/watermark_bgmana.png index 243649aad..66553780f 100644 Binary files a/data/magic-watermarks.mse-include/watermark_bgmana.png and b/data/magic-watermarks.mse-include/watermark_bgmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_boros.png b/data/magic-watermarks.mse-include/watermark_boros.png index 3f3a02d5d..1a61c7fc1 100644 Binary files a/data/magic-watermarks.mse-include/watermark_boros.png and b/data/magic-watermarks.mse-include/watermark_boros.png differ diff --git a/data/magic-watermarks.mse-include/watermark_brmana.png b/data/magic-watermarks.mse-include/watermark_brmana.png index 7d8b7db25..9c5f7e17f 100644 Binary files a/data/magic-watermarks.mse-include/watermark_brmana.png and b/data/magic-watermarks.mse-include/watermark_brmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_c.png b/data/magic-watermarks.mse-include/watermark_c.png index f371c5e01..c762a4c90 100644 Binary files a/data/magic-watermarks.mse-include/watermark_c.png and b/data/magic-watermarks.mse-include/watermark_c.png differ diff --git a/data/magic-watermarks.mse-include/watermark_c_big.png b/data/magic-watermarks.mse-include/watermark_c_big.png new file mode 100644 index 000000000..f97e30dd6 Binary files /dev/null and b/data/magic-watermarks.mse-include/watermark_c_big.png differ diff --git a/data/magic-watermarks.mse-include/watermark_c_old.png b/data/magic-watermarks.mse-include/watermark_c_old.png new file mode 100644 index 000000000..a25cf93c1 Binary files /dev/null and b/data/magic-watermarks.mse-include/watermark_c_old.png differ diff --git a/data/magic-watermarks.mse-include/watermark_dimir.png b/data/magic-watermarks.mse-include/watermark_dimir.png index 5241aaac8..22a343367 100644 Binary files a/data/magic-watermarks.mse-include/watermark_dimir.png and b/data/magic-watermarks.mse-include/watermark_dimir.png differ diff --git a/data/magic-watermarks.mse-include/watermark_dromoka.png b/data/magic-watermarks.mse-include/watermark_dromoka.png index e403caa96..078f68934 100644 Binary files a/data/magic-watermarks.mse-include/watermark_dromoka.png and b/data/magic-watermarks.mse-include/watermark_dromoka.png differ diff --git a/data/magic-watermarks.mse-include/watermark_esper.png b/data/magic-watermarks.mse-include/watermark_esper.png index fd7ae851b..78135b10c 100644 Binary files a/data/magic-watermarks.mse-include/watermark_esper.png and b/data/magic-watermarks.mse-include/watermark_esper.png differ diff --git a/data/magic-watermarks.mse-include/watermark_g_big.png b/data/magic-watermarks.mse-include/watermark_g_big.png new file mode 100644 index 000000000..f746254ad Binary files /dev/null and b/data/magic-watermarks.mse-include/watermark_g_big.png differ diff --git a/data/magic-watermarks.mse-include/watermark_golgari.png b/data/magic-watermarks.mse-include/watermark_golgari.png index 36cf97120..1d2f60796 100644 Binary files a/data/magic-watermarks.mse-include/watermark_golgari.png and b/data/magic-watermarks.mse-include/watermark_golgari.png differ diff --git a/data/magic-watermarks.mse-include/watermark_grixis.png b/data/magic-watermarks.mse-include/watermark_grixis.png index 2cc7611f5..e17cf60ea 100644 Binary files a/data/magic-watermarks.mse-include/watermark_grixis.png and b/data/magic-watermarks.mse-include/watermark_grixis.png differ diff --git a/data/magic-watermarks.mse-include/watermark_gruul.png b/data/magic-watermarks.mse-include/watermark_gruul.png index 3acab5a29..432397ca1 100644 Binary files a/data/magic-watermarks.mse-include/watermark_gruul.png and b/data/magic-watermarks.mse-include/watermark_gruul.png differ diff --git a/data/magic-watermarks.mse-include/watermark_gumana.png b/data/magic-watermarks.mse-include/watermark_gumana.png index c710e5277..3a03388e9 100644 Binary files a/data/magic-watermarks.mse-include/watermark_gumana.png and b/data/magic-watermarks.mse-include/watermark_gumana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_gwmana.png b/data/magic-watermarks.mse-include/watermark_gwmana.png index 8307bf643..5b790b3a8 100644 Binary files a/data/magic-watermarks.mse-include/watermark_gwmana.png and b/data/magic-watermarks.mse-include/watermark_gwmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_izzet.png b/data/magic-watermarks.mse-include/watermark_izzet.png index 611b9b83b..a01901016 100644 Binary files a/data/magic-watermarks.mse-include/watermark_izzet.png and b/data/magic-watermarks.mse-include/watermark_izzet.png differ diff --git a/data/magic-watermarks.mse-include/watermark_izzet2.png b/data/magic-watermarks.mse-include/watermark_izzet2.png index eb9d14664..5330d0cb1 100644 Binary files a/data/magic-watermarks.mse-include/watermark_izzet2.png and b/data/magic-watermarks.mse-include/watermark_izzet2.png differ diff --git a/data/magic-watermarks.mse-include/watermark_jeskai.png b/data/magic-watermarks.mse-include/watermark_jeskai.png index 256226e31..2db6d3584 100644 Binary files a/data/magic-watermarks.mse-include/watermark_jeskai.png and b/data/magic-watermarks.mse-include/watermark_jeskai.png differ diff --git a/data/magic-watermarks.mse-include/watermark_jund.png b/data/magic-watermarks.mse-include/watermark_jund.png index 38a5c2a6e..090d32de4 100644 Binary files a/data/magic-watermarks.mse-include/watermark_jund.png and b/data/magic-watermarks.mse-include/watermark_jund.png differ diff --git a/data/magic-watermarks.mse-include/watermark_kolaghan.png b/data/magic-watermarks.mse-include/watermark_kolaghan.png index b4576c2f9..897042699 100644 Binary files a/data/magic-watermarks.mse-include/watermark_kolaghan.png and b/data/magic-watermarks.mse-include/watermark_kolaghan.png differ diff --git a/data/magic-watermarks.mse-include/watermark_mardu.png b/data/magic-watermarks.mse-include/watermark_mardu.png index 4512198a9..dac7cd222 100644 Binary files a/data/magic-watermarks.mse-include/watermark_mardu.png and b/data/magic-watermarks.mse-include/watermark_mardu.png differ diff --git a/data/magic-watermarks.mse-include/watermark_naya.png b/data/magic-watermarks.mse-include/watermark_naya.png index c6d9ec4d5..ad50a2f4a 100644 Binary files a/data/magic-watermarks.mse-include/watermark_naya.png and b/data/magic-watermarks.mse-include/watermark_naya.png differ diff --git a/data/magic-watermarks.mse-include/watermark_ojutai.png b/data/magic-watermarks.mse-include/watermark_ojutai.png index 70b39f019..c26396449 100644 Binary files a/data/magic-watermarks.mse-include/watermark_ojutai.png and b/data/magic-watermarks.mse-include/watermark_ojutai.png differ diff --git a/data/magic-watermarks.mse-include/watermark_orzhov.png b/data/magic-watermarks.mse-include/watermark_orzhov.png index f39b62f2b..0f8779bb6 100644 Binary files a/data/magic-watermarks.mse-include/watermark_orzhov.png and b/data/magic-watermarks.mse-include/watermark_orzhov.png differ diff --git a/data/magic-watermarks.mse-include/watermark_r_big.png b/data/magic-watermarks.mse-include/watermark_r_big.png new file mode 100644 index 000000000..ab94e8e23 Binary files /dev/null and b/data/magic-watermarks.mse-include/watermark_r_big.png differ diff --git a/data/magic-watermarks.mse-include/watermark_rakados.png b/data/magic-watermarks.mse-include/watermark_rakados.png index 6348d94fa..dad723f55 100644 Binary files a/data/magic-watermarks.mse-include/watermark_rakados.png and b/data/magic-watermarks.mse-include/watermark_rakados.png differ diff --git a/data/magic-watermarks.mse-include/watermark_rgmana.png b/data/magic-watermarks.mse-include/watermark_rgmana.png index df64de28a..dcf17baaf 100644 Binary files a/data/magic-watermarks.mse-include/watermark_rgmana.png and b/data/magic-watermarks.mse-include/watermark_rgmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_rwmana.png b/data/magic-watermarks.mse-include/watermark_rwmana.png index a23b599ab..a129382fb 100644 Binary files a/data/magic-watermarks.mse-include/watermark_rwmana.png and b/data/magic-watermarks.mse-include/watermark_rwmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_s.png b/data/magic-watermarks.mse-include/watermark_s.png index 7aae11829..95a8d3e54 100644 Binary files a/data/magic-watermarks.mse-include/watermark_s.png and b/data/magic-watermarks.mse-include/watermark_s.png differ diff --git a/data/magic-watermarks.mse-include/watermark_selesnya.png b/data/magic-watermarks.mse-include/watermark_selesnya.png index 325a6a3a6..9472bedd6 100644 Binary files a/data/magic-watermarks.mse-include/watermark_selesnya.png and b/data/magic-watermarks.mse-include/watermark_selesnya.png differ diff --git a/data/magic-watermarks.mse-include/watermark_silumgar.png b/data/magic-watermarks.mse-include/watermark_silumgar.png index 9012aa9fe..11e128bd6 100644 Binary files a/data/magic-watermarks.mse-include/watermark_silumgar.png and b/data/magic-watermarks.mse-include/watermark_silumgar.png differ diff --git a/data/magic-watermarks.mse-include/watermark_simic.png b/data/magic-watermarks.mse-include/watermark_simic.png index cc8675843..74ec00b39 100644 Binary files a/data/magic-watermarks.mse-include/watermark_simic.png and b/data/magic-watermarks.mse-include/watermark_simic.png differ diff --git a/data/magic-watermarks.mse-include/watermark_strix_lorehold.png b/data/magic-watermarks.mse-include/watermark_strix_lorehold.png index 1fde061f5..87648f4f6 100644 Binary files a/data/magic-watermarks.mse-include/watermark_strix_lorehold.png and b/data/magic-watermarks.mse-include/watermark_strix_lorehold.png differ diff --git a/data/magic-watermarks.mse-include/watermark_strix_prismari.png b/data/magic-watermarks.mse-include/watermark_strix_prismari.png index 3f2f79b91..d0976baab 100644 Binary files a/data/magic-watermarks.mse-include/watermark_strix_prismari.png and b/data/magic-watermarks.mse-include/watermark_strix_prismari.png differ diff --git a/data/magic-watermarks.mse-include/watermark_strix_quandrix.png b/data/magic-watermarks.mse-include/watermark_strix_quandrix.png index e8a793192..98f5a8173 100644 Binary files a/data/magic-watermarks.mse-include/watermark_strix_quandrix.png and b/data/magic-watermarks.mse-include/watermark_strix_quandrix.png differ diff --git a/data/magic-watermarks.mse-include/watermark_strix_silverquill.png b/data/magic-watermarks.mse-include/watermark_strix_silverquill.png index 53d1d09ea..ddc2d4e70 100644 Binary files a/data/magic-watermarks.mse-include/watermark_strix_silverquill.png and b/data/magic-watermarks.mse-include/watermark_strix_silverquill.png differ diff --git a/data/magic-watermarks.mse-include/watermark_strix_witherbloom.png b/data/magic-watermarks.mse-include/watermark_strix_witherbloom.png index 43e038ac0..3062bdec2 100644 Binary files a/data/magic-watermarks.mse-include/watermark_strix_witherbloom.png and b/data/magic-watermarks.mse-include/watermark_strix_witherbloom.png differ diff --git a/data/magic-watermarks.mse-include/watermark_sultai.png b/data/magic-watermarks.mse-include/watermark_sultai.png index 6bf63c366..c829e0cb5 100644 Binary files a/data/magic-watermarks.mse-include/watermark_sultai.png and b/data/magic-watermarks.mse-include/watermark_sultai.png differ diff --git a/data/magic-watermarks.mse-include/watermark_temur.png b/data/magic-watermarks.mse-include/watermark_temur.png index e5c1d6f50..3170d86d3 100644 Binary files a/data/magic-watermarks.mse-include/watermark_temur.png and b/data/magic-watermarks.mse-include/watermark_temur.png differ diff --git a/data/magic-watermarks.mse-include/watermark_u_big.png b/data/magic-watermarks.mse-include/watermark_u_big.png new file mode 100644 index 000000000..176c80d2a Binary files /dev/null and b/data/magic-watermarks.mse-include/watermark_u_big.png differ diff --git a/data/magic-watermarks.mse-include/watermark_ubmana.png b/data/magic-watermarks.mse-include/watermark_ubmana.png index a5170e894..4ce9139fb 100644 Binary files a/data/magic-watermarks.mse-include/watermark_ubmana.png and b/data/magic-watermarks.mse-include/watermark_ubmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_urmana.png b/data/magic-watermarks.mse-include/watermark_urmana.png index 064983efb..0418b1aa1 100644 Binary files a/data/magic-watermarks.mse-include/watermark_urmana.png and b/data/magic-watermarks.mse-include/watermark_urmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_w_big.png b/data/magic-watermarks.mse-include/watermark_w_big.png new file mode 100644 index 000000000..799942759 Binary files /dev/null and b/data/magic-watermarks.mse-include/watermark_w_big.png differ diff --git a/data/magic-watermarks.mse-include/watermark_wbmana.png b/data/magic-watermarks.mse-include/watermark_wbmana.png index a1718be43..30a885f8e 100644 Binary files a/data/magic-watermarks.mse-include/watermark_wbmana.png and b/data/magic-watermarks.mse-include/watermark_wbmana.png differ diff --git a/data/magic-watermarks.mse-include/watermark_wumana.png b/data/magic-watermarks.mse-include/watermark_wumana.png index 7fc908785..2a0603c81 100644 Binary files a/data/magic-watermarks.mse-include/watermark_wumana.png and b/data/magic-watermarks.mse-include/watermark_wumana.png differ diff --git a/data/magic-watermarks.mse-include/watermarks b/data/magic-watermarks.mse-include/watermarks index 34ab6415e..d40635834 100644 --- a/data/magic-watermarks.mse-include/watermarks +++ b/data/magic-watermarks.mse-include/watermarks @@ -1,165 +1,203 @@ -# Watermark images +# Watermark images for the main face choice images: - mana symbol white: /magic-watermarks.mse-include/watermark_w.png - mana symbol blue: /magic-watermarks.mse-include/watermark_u.png - mana symbol black: /magic-watermarks.mse-include/watermark_b.png - mana symbol red: /magic-watermarks.mse-include/watermark_r.png - mana symbol green: /magic-watermarks.mse-include/watermark_g.png - mana symbol colorless: /magic-watermarks.mse-include/watermark_c.png - mana symbol snow: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_s.png") - - transparent mana symbol white: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_w.png") - transparent mana symbol blue: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_u.png") - transparent mana symbol black: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_b.png") - 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") + mana symbol white: script: "/magic-watermarks.mse-include/watermark_w.png" + mana symbol blue: script: "/magic-watermarks.mse-include/watermark_u.png" + mana symbol black: script: "/magic-watermarks.mse-include/watermark_b.png" + mana symbol red: script: "/magic-watermarks.mse-include/watermark_r.png" + mana symbol green: script: "/magic-watermarks.mse-include/watermark_g.png" + mana symbol colorless: script: "/magic-watermarks.mse-include/watermark_c.png" + mana symbol snow: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_s.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")) + mana symbol old white: script: "/magic-watermarks.mse-include/watermark_w_old.png" + mana symbol old blue: script: "/magic-watermarks.mse-include/watermark_u_old.png" + mana symbol old black: script: "/magic-watermarks.mse-include/watermark_b_old.png" + mana symbol old red: script: "/magic-watermarks.mse-include/watermark_r_old.png" + mana symbol old green: script: "/magic-watermarks.mse-include/watermark_g_old.png" + mana symbol old colorless: script: "/magic-watermarks.mse-include/watermark_c_old.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") - guild symbol originals The Cult of Rakdos (B/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rakados.png") - guild symbol originals The Gruul Clans (R/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gruul.png") - guild symbol originals The Selesnya Conclave (G/W): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_selesnya.png") - guild symbol originals The Orzhov Syndicate (W/B): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_orzhov.png") - guild symbol originals The Izzet (U/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_izzet.png") - guild symbol originals The Golgari (B/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_golgari.png") - 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") + mana symbol hi res white: script: "/magic-watermarks.mse-include/watermark_w_big.png" + mana symbol hi res blue: script: "/magic-watermarks.mse-include/watermark_u_big.png" + mana symbol hi res black: script: "/magic-watermarks.mse-include/watermark_b_big.png" + mana symbol hi res red: script: "/magic-watermarks.mse-include/watermark_r_big.png" + mana symbol hi res green: script: "/magic-watermarks.mse-include/watermark_g_big.png" + mana symbol hi res colorless: script: "/magic-watermarks.mse-include/watermark_c_big.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") + transparent mana symbol white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w.png") + transparent mana symbol blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u.png") + transparent mana symbol black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b.png") + transparent mana symbol red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r.png") + transparent mana symbol green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g.png") - 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")) + transparent mana symbol old white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w_old.png") + transparent mana symbol old blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u_old.png") + transparent mana symbol old black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b_old.png") + transparent mana symbol old red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r_old.png") + transparent mana symbol old green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g_old.png") + transparent mana symbol old colorless: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_c_old.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")) + transparent mana symbol hi res white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w_big.png") + transparent mana symbol hi res blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u_big.png") + transparent mana symbol hi res black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b_big.png") + transparent mana symbol hi res red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r_big.png") + transparent mana symbol hi res green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g_big.png") + transparent mana symbol hi res colorless: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_c_big.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")) + guild symbol The Azorius Senate (W/U): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_azorius2.png") + guild symbol House Dimir (U/B): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_dimir2.png") + guild symbol The Cult of Rakdos (B/R): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_rakados2.png") + guild symbol The Gruul Clans (R/G): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_gruul2.png") + guild symbol The Selesnya Conclave (G/W): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_selesnya2.png") + guild symbol The Orzhov Syndicate (W/B): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_orzhov2.png") + guild symbol The Izzet (U/R): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_izzet2.png") + guild symbol The Golgari (B/G): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_golgari2.png") + guild symbol The Boros Legion (R/W): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_boros2.png") + guild symbol The Simic Combine (G/U): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_simic2.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")) - - 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 - colored xander hybrid mana B/G: /magic-watermarks.mse-include/watermark_bgmana_colored.png - colored xander hybrid mana R/G: /magic-watermarks.mse-include/watermark_rgmana_colored.png - colored xander hybrid mana G/U: /magic-watermarks.mse-include/watermark_gumana_colored.png - colored xander hybrid mana U/R: /magic-watermarks.mse-include/watermark_urmana_colored.png - colored xander hybrid mana W/B: /magic-watermarks.mse-include/watermark_wbmana_colored.png - colored xander hybrid mana G/W: /magic-watermarks.mse-include/watermark_gwmana_colored.png - colored xander hybrid mana R/W: /magic-watermarks.mse-include/watermark_rwmana_colored.png - colored xander hybrid mana W/U: /magic-watermarks.mse-include/watermark_wumana_colored.png - - xander hybrid mana B/R: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_brmana.png") - xander hybrid mana U/B: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_ubmana.png") - xander hybrid mana B/G: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bgmana.png") - xander hybrid mana R/G: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rgmana.png") - xander hybrid mana G/U: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gumana.png") - xander hybrid mana U/R: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_urmana.png") - xander hybrid mana W/B: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_wbmana.png") - xander hybrid mana G/W: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gwmana.png") - xander hybrid mana R/W: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rwmana.png") - xander hybrid mana W/U: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_wumana.png") + guild symbol originals The Azorius Senate (W/U): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_azorius.png") + guild symbol originals House Dimir (U/B): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_dimir.png") + guild symbol originals The Cult of Rakdos (B/R): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_rakados.png") + guild symbol originals The Gruul Clans (R/G): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_gruul.png") + guild symbol originals The Selesnya Conclave (G/W): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_selesnya.png") + guild symbol originals The Orzhov Syndicate (W/B): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_orzhov.png") + guild symbol originals The Izzet (U/R): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_izzet.png") + guild symbol originals The Golgari (B/G): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_golgari.png") + guild symbol originals The Boros Legion (R/W): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_boros.png") + guild symbol originals The Simic Combine (G/U): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_simic.png") - future sight type symbols artifact: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_artifact.png") - future sight type symbols creature: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_creature.png") - future sight type symbols enchantment: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_enchantment.png") - future sight type symbols instant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_instant.png") - future sight type symbols land: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_land.png") - future sight type symbols multiple: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_multiple.png") - future sight type symbols planeswalker: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_planeswalker.png") - future sight type symbols sorcery: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_sorcery.png") + guild symbol ancients The Azorius Senate (W/U): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-azorius.png") + guild symbol ancients House Dimir (U/B): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-dimir.png") + guild symbol ancients The Cult of Rakdos (B/R): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-rakdos.png") + guild symbol ancients The Gruul Clans (R/G): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-gruul.png") + guild symbol ancients The Selesnya Conclave (G/W): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-selesnya.png") + guild symbol ancients The Orzhov Syndicate (W/B): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-orzhov.png") + guild symbol ancients The Izzet (U/R): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-izzet.png") + guild symbol ancients The Golgari (B/G): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-golgari.png") + guild symbol ancients The Boros Legion (R/W): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-boros.png") + guild symbol ancients The Simic Combine (G/U): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark-frazier-simic.png") - other magic symbols aetherprint: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/aetherprint.png")) - other magic symbols chaos symbol: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/chaos.png")) - 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 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")) - other magic symbols innistrad provinces gavony: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/gavony.png")) - other magic symbols innistrad provinces nephalia: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/nephalia.png")) - - other magic symbols theros poleis akros: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/akros.png") - other magic symbols theros poleis meletis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/meletis.png") - other magic symbols theros poleis setessa: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/setessa.png") - - alara symbols Bant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bant.png") - alara symbols Esper: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_esper.png") - alara symbols Grixis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_grixis.png") - alara symbols Jund: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_jund.png") - alara symbols Naya: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_naya.png") - alara symbols colored Bant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bant_colored.png") - alara symbols colored Esper: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_esper_colored.png") - alara symbols colored Grixis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_grixis_colored.png") - 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") - - 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 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", - set_alpha( - alpha: 0.5, - #symbol_variation(symbol: set.symbol, variation: "common") - drop_shadow(offset_x: -0.01, offset_y: 0.03, blur_radius: 0.02, alpha: 1, color: rgb(0,0,0), - enlarge(border_size: 0.03, - symbol_variation(symbol: set.symbol, variation: "watermark") - ) - ) - ) - ) - } + faction symbol mirrodin: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_mirrodin.png") + faction symbol phyrexia: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_phyrexia.png") + + clan symbol The Abzan Houses (WBG): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_abzan.png") + clan symbol The Jeskai Way (URW): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_jeskai.png") + clan symbol The Sultai Brood (BGU): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_sultai.png") + clan symbol The Mardu Horde (RWB): script: watermark_blend(face:1, h: 400, "/magic-watermarks.mse-include/watermark_mardu.png") + clan symbol The Temur Frontier (GUR): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_temur.png") + + brood symbol Dromoka's Brood (GW): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_dromoka.png") + brood symbol Ojutai's Brood (WU): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_ojutai.png") + brood symbol Silumgar's Brood (UB): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_silumgar.png") + brood symbol Kolaghan's Brood (BR): script: watermark_blend(face:1, h: 400, "/magic-watermarks.mse-include/watermark_kolaghan.png") + brood symbol Atarka's Brood (RG): script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_atarka.png") + + family symbol Brokers (GWU): script: watermark_blend(face:1, "/magic-watermarks.mse-include/capenna_brokers.png") + family symbol Cabaretti (RGW): script: watermark_blend(face:1, "/magic-watermarks.mse-include/capenna_cabaretti.png") + family symbol Maestros (UBR): script: watermark_blend(face:1, "/magic-watermarks.mse-include/capenna_maestros.png") + family symbol Obscura (WUB): script: watermark_blend(face:1, "/magic-watermarks.mse-include/capenna_obscura.png") + family symbol Riveteers (BRG): script: watermark_blend(face:1, "/magic-watermarks.mse-include/capenna_riveteers.png") + + unstable factions Order of the Widget: script: watermark_blend(face:1, "/magic-watermarks.mse-include/unstable_widget.png") + unstable factions Agents of S.N.E.A.K.: script: watermark_blend(face:1, "/magic-watermarks.mse-include/unstable_SNEAK.png") + unstable factions League of Dastardly Doom: script: watermark_blend(face:1, "/magic-watermarks.mse-include/unstable_doom.png") + unstable factions Goblin Explosioneers: script: watermark_blend(face:1, "/magic-watermarks.mse-include/unstable_explosioneers.png") + unstable factions Crossbreed Labs: script: watermark_blend(face:1, "/magic-watermarks.mse-include/unstable_crossbreed.png") + + colored xander hybrid mana W/U: script: "/magic-watermarks.mse-include/watermark_wumana_colored.png" + colored xander hybrid mana U/B: script: "/magic-watermarks.mse-include/watermark_ubmana_colored.png" + colored xander hybrid mana B/R: script: "/magic-watermarks.mse-include/watermark_brmana_colored.png" + colored xander hybrid mana R/G: script: "/magic-watermarks.mse-include/watermark_rgmana_colored.png" + colored xander hybrid mana G/W: script: "/magic-watermarks.mse-include/watermark_gwmana_colored.png" + colored xander hybrid mana W/B: script: "/magic-watermarks.mse-include/watermark_wbmana_colored.png" + colored xander hybrid mana U/R: script: "/magic-watermarks.mse-include/watermark_urmana_colored.png" + colored xander hybrid mana B/G: script: "/magic-watermarks.mse-include/watermark_bgmana_colored.png" + colored xander hybrid mana R/W: script: "/magic-watermarks.mse-include/watermark_rwmana_colored.png" + colored xander hybrid mana G/U: script: "/magic-watermarks.mse-include/watermark_gumana_colored.png" + + xander hybrid mana W/U: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_wumana.png") + xander hybrid mana U/B: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_ubmana.png") + xander hybrid mana B/R: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_brmana.png") + xander hybrid mana R/G: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_rgmana.png") + xander hybrid mana G/W: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_gwmana.png") + xander hybrid mana W/B: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_wbmana.png") + xander hybrid mana U/R: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_urmana.png") + xander hybrid mana B/G: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_bgmana.png") + xander hybrid mana R/W: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_rwmana.png") + xander hybrid mana G/U: script: watermark_blend(face:1, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_gumana.png") + + future sight type symbols artifact: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_artifact.png") + future sight type symbols creature: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_creature.png") + future sight type symbols enchantment: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_enchantment.png") + future sight type symbols instant: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_instant.png") + future sight type symbols land: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_land.png") + future sight type symbols multiple: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_multiple.png") + future sight type symbols planeswalker: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_planeswalker.png") + future sight type symbols sorcery: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_sorcery.png") + future sight type symbols structure: script: watermark_blend(face:1, "/magic-watermarks.mse-include/futsymbol_structure.png") + + other magic symbols aetherprint: script: watermark_blend(face:1, h:500, l:317, "/magic-watermarks.mse-include/aetherprint.png") + other magic symbols desparked: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/desparked.png") + other magic symbols chaos symbol: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/chaos.png") + other magic symbols story spotlight: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/planeswalker.png") + other magic symbols color spotlight: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/planeswalker.png") + other magic symbols shooting star: script: watermark_blend(face:1, h:400, l:500, "/magic-watermarks.mse-include/shooting_star.png") + other magic symbols the thran: script: watermark_blend(face:1, h:240, l:163, "/magic-watermarks.mse-include/thran.png") + other magic symbols phyrexia: script: watermark_blend(face:1, h:217, l:115, "/magic-watermarks.mse-include/phyrexia.png") + other magic symbols color pie: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/colorpie.png") + other magic symbols judge academy: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/judge_academy.png") + other magic symbols foretell: script: watermark_blend(face:1, h:460, l:500, "/magic-watermarks.mse-include/foretell.png") + other magic symbols jace consortium: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/jace-consortium.png") + other magic symbols seekers of carmot: script: watermark_blend(face:1, h:500, l:500, "/magic-watermarks.mse-include/seekersofcarmot.png") + other magic symbols conspiracy stamp: script: set_alpha(alpha: 0.3, "/magic-watermarks.mse-include/conspiracy_stamp.png") + + other magic symbols innistrad provinces stensia: script: watermark_blend(face:1, "/magic-watermarks.mse-include/stensia.png") + other magic symbols innistrad provinces kessig: script: watermark_blend(face:1, "/magic-watermarks.mse-include/kessig.png") + other magic symbols innistrad provinces gavony: script: watermark_blend(face:1, "/magic-watermarks.mse-include/gavony.png") + other magic symbols innistrad provinces nephalia: script: watermark_blend(face:1, "/magic-watermarks.mse-include/nephalia.png") + + other magic symbols theros poleis akros: script: watermark_blend(face:1, "/magic-watermarks.mse-include/akros.png") + other magic symbols theros poleis meletis: script: watermark_blend(face:1, "/magic-watermarks.mse-include/meletis.png") + other magic symbols theros poleis setessa: script: watermark_blend(face:1, "/magic-watermarks.mse-include/setessa.png") + + alara symbols Bant: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_bant.png") + alara symbols Esper: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_esper.png") + alara symbols Grixis: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_grixis.png") + alara symbols Jund: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_jund.png") + alara symbols Naya: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_naya.png") + + alara symbols colored Bant: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_bant_colored.png") + alara symbols colored Esper: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_esper_colored.png") + alara symbols colored Grixis: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_grixis_colored.png") + alara symbols colored Jund: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_jund_colored.png") + alara symbols colored Naya: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_naya_colored.png") + + college symbols Silverquill: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_strix_silverquill.png") + college symbols Prismari: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_strix_prismari.png") + college symbols Witherbloom: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_strix_witherbloom.png") + college symbols Lorehold: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_strix_lorehold.png") + college symbols Quandrix: script: watermark_blend(face:1, "/magic-watermarks.mse-include/watermark_strix_quandrix.png") + + universes beyond D&D: script: watermark_blend(face:1, "/magic-watermarks.mse-include/d&d.png") + universes beyond transformers: script: watermark_blend(face:1, "/magic-watermarks.mse-include/transformers.png") + universes beyond ponies applejack: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_apples.png") + universes beyond ponies pinkie pie: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_balloons.png") + universes beyond ponies fluttershy: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_butterflies.png") + universes beyond ponies rainbow dash: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_rainbow.png") + universes beyond ponies rarity: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_gems.png") + universes beyond ponies twilight sparkle: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_sparkles.png") + universes beyond ponies nightmare moon: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_waning_moon.png") + universes beyond ponies luna: script: watermark_blend(face:1, "/magic-watermarks.mse-include/ponies_waxing_moon.png") + + custom watermark one: script: watermark_blend(face:1, custom_watermark_1()) + custom watermark two: script: watermark_blend(face:1, custom_watermark_2()) + custom watermark three: script: watermark_blend(face:1, custom_watermark_3()) + custom watermark four: script: watermark_blend(face:1, custom_watermark_4()) + custom watermark five: script: watermark_blend(face:1, custom_watermark_5()) + custom watermark six: script: watermark_blend(face:1, custom_watermark_6()) + custom watermark seven: script: watermark_blend(face:1, custom_watermark_7()) + custom watermark eight: script: watermark_blend(face:1, custom_watermark_8()) + custom watermark nine: script: watermark_blend(face:1, custom_watermark_9()) + custom watermark ten: script: watermark_blend(face:1, custom_watermark_10()) + custom watermark card: script: watermark_blend(face:1, custom_watermark_a()) + + set symbol: script: shadow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark")) diff --git a/data/magic-watermarks.mse-include/watermarks - alara b/data/magic-watermarks.mse-include/watermarks - alara deleted file mode 100644 index 42444aceb..000000000 --- a/data/magic-watermarks.mse-include/watermarks - alara +++ /dev/null @@ -1,153 +0,0 @@ -# Watermark images - -choice images: - ALR ALRBant: script: alr_bant_blend() - ALR ALREsper: script: alr_esper_blend() - ALR ALRGrixis: script: alr_grixis_blend() - ALR ALRJund: script: alr_jund_blend() - ALR ALRNaya: script: alr_naya_blend() - - mana symbol white: /magic-watermarks.mse-include/watermark_w.png - mana symbol blue: /magic-watermarks.mse-include/watermark_u.png - mana symbol black: /magic-watermarks.mse-include/watermark_b.png - mana symbol red: /magic-watermarks.mse-include/watermark_r.png - mana symbol green: /magic-watermarks.mse-include/watermark_g.png - mana symbol colorless: /magic-watermarks.mse-include/watermark_c.png - mana symbol snow: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_s.png") - - transparent mana symbol white: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_w.png") - transparent mana symbol blue: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_u.png") - transparent mana symbol black: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_b.png") - 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: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_azorius2.png") - guild symbol House Dimir (U/B): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_dimir2.png") - guild symbol The Cult of Rakdos (B/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rakados2.png") - guild symbol The Gruul Clans (R/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gruul2.png") - guild symbol The Selesnya Conclave (G/W): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_selesnya2.png") - guild symbol The Orzhov Syndicate (W/B): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_orzhov2.png") - guild symbol The Izzet (U/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_izzet2.png") - guild symbol The Golgari (B/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_golgari2.png") - guild symbol The Boros Legion (R/W): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_boros2.png") - guild symbol The Simic Combine (G/U): script: set_combine(combine:"shadow", 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") - guild symbol originals The Cult of Rakdos (B/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rakados.png") - guild symbol originals The Gruul Clans (R/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gruul.png") - guild symbol originals The Selesnya Conclave (G/W): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_selesnya.png") - guild symbol originals The Orzhov Syndicate (W/B): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_orzhov.png") - guild symbol originals The Izzet (U/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_izzet.png") - guild symbol originals The Golgari (B/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_golgari.png") - 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") - - faction symbol mirrodin: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_mirrodin.png") - faction symbol phyrexia: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_phyrexia.png") - - clan symbol The Abzan Houses (WBG): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_abzan.png")) - clan symbol The Jeskai Way (URW): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_jeskai.png")) - clan symbol The Sultai Brood (BGU): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_sultai.png")) - clan symbol The Mardu Horde (RWB): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_mardu.png")) - clan symbol The Temur Frontier (GUR): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_temur.png")) - - brood symbol Dromoka's Brood (GW): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_dromoka.png")) - brood symbol Ojutai's Brood (WU): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_ojutai.png")) - brood symbol Silumgar's Brood (UB): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_silumgar.png")) - brood symbol Kolaghan's Brood (BR): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_kolaghan.png")) - brood symbol Atarka's Brood (RG): script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.65, input:"/magic-watermarks.mse-include/watermark_atarka.png")) - - unstable factions Order of the Widget: script: 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: 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: set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_doom.png")) - unstable factions Goblin Explosioneers: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.35, input:"/magic-watermarks.mse-include/unstable_explosioneers.png")) - unstable factions Crossbreed Labs: script: 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 - colored xander hybrid mana B/G: /magic-watermarks.mse-include/watermark_bgmana_colored.png - colored xander hybrid mana R/G: /magic-watermarks.mse-include/watermark_rgmana_colored.png - colored xander hybrid mana G/U: /magic-watermarks.mse-include/watermark_gumana_colored.png - colored xander hybrid mana U/R: /magic-watermarks.mse-include/watermark_urmana_colored.png - colored xander hybrid mana W/B: /magic-watermarks.mse-include/watermark_wbmana_colored.png - colored xander hybrid mana G/W: /magic-watermarks.mse-include/watermark_gwmana_colored.png - colored xander hybrid mana R/W: /magic-watermarks.mse-include/watermark_rwmana_colored.png - colored xander hybrid mana W/U: /magic-watermarks.mse-include/watermark_wumana_colored.png - - xander hybrid mana B/R: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_brmana.png") - xander hybrid mana U/B: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_ubmana.png") - xander hybrid mana B/G: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bgmana.png") - xander hybrid mana R/G: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rgmana.png") - xander hybrid mana G/U: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gumana.png") - xander hybrid mana U/R: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_urmana.png") - xander hybrid mana W/B: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_wbmana.png") - xander hybrid mana G/W: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gwmana.png") - xander hybrid mana R/W: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rwmana.png") - xander hybrid mana W/U: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_wumana.png") - - future sight type symbols artifact: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_artifact.png") - future sight type symbols creature: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_creature.png") - future sight type symbols enchantment: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_enchantment.png") - future sight type symbols instant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_instant.png") - future sight type symbols land: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_land.png") - future sight type symbols multiple: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_multiple.png") - future sight type symbols planeswalker: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_planeswalker.png") - future sight type symbols sorcery: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_sorcery.png") - - other magic symbols aetherprint: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/aetherprint.png")) - other magic symbols chaos symbol: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/chaos.png")) - 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() - other magic symbols jace consortium: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/jace-consortium.png")) - 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: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/seekersofcarmot.png")) - 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 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")) - other magic symbols innistrad provinces gavony: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/gavony.png")) - other magic symbols innistrad provinces nephalia: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/nephalia.png")) - - other magic symbols theros poleis akros: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/akros.png") - other magic symbols theros poleis meletis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/meletis.png") - other magic symbols theros poleis setessa: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/setessa.png") - - alara symbols Bant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bant.png") - alara symbols Esper: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_esper.png") - alara symbols Grixis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_grixis.png") - alara symbols Jund: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_jund.png") - alara symbols Naya: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_naya.png") - alara symbols colored Bant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bant_colored.png") - alara symbols colored Esper: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_esper_colored.png") - alara symbols colored Grixis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_grixis_colored.png") - 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") - - custom watermark one: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_1())) - custom watermark two: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_2())) - custom watermark three: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_3())) - custom watermark four: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_4())) - custom watermark five: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_5())) - custom watermark six: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_6())) - custom watermark seven: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_7())) - custom watermark eight: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_8())) - custom watermark nine: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_9())) - custom watermark ten: script: set_combine(combine:"shadow", input:set_alpha(alpha: 1.0, input:custom_watermark_10())) - - set symbol: - { set_combine(combine:"shadow", - set_alpha( - alpha: 0.5, - #symbol_variation(symbol: set.symbol, variation: "common") - drop_shadow(offset_x: -0.01, offset_y: 0.03, blur_radius: 0.02, alpha: 1, color: rgb(0,0,0), - enlarge(border_size: 0.03, - symbol_variation(symbol: set.symbol, variation: "watermark") - ) - ) - ) - ) - } diff --git a/data/magic-watermarks.mse-include/watermarks_back b/data/magic-watermarks.mse-include/watermarks_back index 9ada1957b..170e6ce4d 100644 --- a/data/magic-watermarks.mse-include/watermarks_back +++ b/data/magic-watermarks.mse-include/watermarks_back @@ -1,165 +1,203 @@ -# Watermark images +# Watermark images for the second face choice images: - mana symbol white: /magic-watermarks.mse-include/watermark_w.png - mana symbol blue: /magic-watermarks.mse-include/watermark_u.png - mana symbol black: /magic-watermarks.mse-include/watermark_b.png - mana symbol red: /magic-watermarks.mse-include/watermark_r.png - mana symbol green: /magic-watermarks.mse-include/watermark_g.png - mana symbol colorless: /magic-watermarks.mse-include/watermark_c.png - mana symbol snow: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_s.png") - - transparent mana symbol white: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_w.png") - transparent mana symbol blue: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_u.png") - transparent mana symbol black: script: set_alpha(alpha: 0.4, input:"/magic-watermarks.mse-include/watermark_b.png") - 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") + mana symbol white: script: "/magic-watermarks.mse-include/watermark_w.png" + mana symbol blue: script: "/magic-watermarks.mse-include/watermark_u.png" + mana symbol black: script: "/magic-watermarks.mse-include/watermark_b.png" + mana symbol red: script: "/magic-watermarks.mse-include/watermark_r.png" + mana symbol green: script: "/magic-watermarks.mse-include/watermark_g.png" + mana symbol colorless: script: "/magic-watermarks.mse-include/watermark_c.png" + mana symbol snow: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_s.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")) + mana symbol old white: script: "/magic-watermarks.mse-include/watermark_w_old.png" + mana symbol old blue: script: "/magic-watermarks.mse-include/watermark_u_old.png" + mana symbol old black: script: "/magic-watermarks.mse-include/watermark_b_old.png" + mana symbol old red: script: "/magic-watermarks.mse-include/watermark_r_old.png" + mana symbol old green: script: "/magic-watermarks.mse-include/watermark_g_old.png" + mana symbol old colorless: script: "/magic-watermarks.mse-include/watermark_c_old.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") - guild symbol originals The Cult of Rakdos (B/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rakados.png") - guild symbol originals The Gruul Clans (R/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gruul.png") - guild symbol originals The Selesnya Conclave (G/W): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_selesnya.png") - guild symbol originals The Orzhov Syndicate (W/B): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_orzhov.png") - guild symbol originals The Izzet (U/R): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_izzet.png") - guild symbol originals The Golgari (B/G): script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_golgari.png") - 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") + mana symbol hi res white: script: "/magic-watermarks.mse-include/watermark_w_big.png" + mana symbol hi res blue: script: "/magic-watermarks.mse-include/watermark_u_big.png" + mana symbol hi res black: script: "/magic-watermarks.mse-include/watermark_b_big.png" + mana symbol hi res red: script: "/magic-watermarks.mse-include/watermark_r_big.png" + mana symbol hi res green: script: "/magic-watermarks.mse-include/watermark_g_big.png" + mana symbol hi res colorless: script: "/magic-watermarks.mse-include/watermark_c_big.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) + transparent mana symbol white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w.png") + transparent mana symbol blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u.png") + transparent mana symbol black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b.png") + transparent mana symbol red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r.png") + transparent mana symbol green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g.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")) + transparent mana symbol old white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w_old.png") + transparent mana symbol old blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u_old.png") + transparent mana symbol old black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b_old.png") + transparent mana symbol old red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r_old.png") + transparent mana symbol old green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g_old.png") + transparent mana symbol old colorless: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_c_old.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")) + transparent mana symbol hi res white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w_big.png") + transparent mana symbol hi res blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u_big.png") + transparent mana symbol hi res black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b_big.png") + transparent mana symbol hi res red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r_big.png") + transparent mana symbol hi res green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g_big.png") + transparent mana symbol hi res colorless: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_c_big.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")) + guild symbol The Azorius Senate (W/U): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_azorius2.png") + guild symbol House Dimir (U/B): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_dimir2.png") + guild symbol The Cult of Rakdos (B/R): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_rakados2.png") + guild symbol The Gruul Clans (R/G): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_gruul2.png") + guild symbol The Selesnya Conclave (G/W): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_selesnya2.png") + guild symbol The Orzhov Syndicate (W/B): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_orzhov2.png") + guild symbol The Izzet (U/R): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_izzet2.png") + guild symbol The Golgari (B/G): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_golgari2.png") + guild symbol The Boros Legion (R/W): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_boros2.png") + guild symbol The Simic Combine (G/U): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_simic2.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 - colored xander hybrid mana B/G: /magic-watermarks.mse-include/watermark_bgmana_colored.png - colored xander hybrid mana R/G: /magic-watermarks.mse-include/watermark_rgmana_colored.png - colored xander hybrid mana G/U: /magic-watermarks.mse-include/watermark_gumana_colored.png - colored xander hybrid mana U/R: /magic-watermarks.mse-include/watermark_urmana_colored.png - colored xander hybrid mana W/B: /magic-watermarks.mse-include/watermark_wbmana_colored.png - colored xander hybrid mana G/W: /magic-watermarks.mse-include/watermark_gwmana_colored.png - colored xander hybrid mana R/W: /magic-watermarks.mse-include/watermark_rwmana_colored.png - colored xander hybrid mana W/U: /magic-watermarks.mse-include/watermark_wumana_colored.png - - xander hybrid mana B/R: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_brmana.png") - xander hybrid mana U/B: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_ubmana.png") - xander hybrid mana B/G: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bgmana.png") - xander hybrid mana R/G: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rgmana.png") - xander hybrid mana G/U: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gumana.png") - xander hybrid mana U/R: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_urmana.png") - xander hybrid mana W/B: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_wbmana.png") - xander hybrid mana G/W: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_gwmana.png") - xander hybrid mana R/W: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_rwmana.png") - xander hybrid mana W/U: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_wumana.png") + guild symbol originals The Azorius Senate (W/U): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_azorius.png") + guild symbol originals House Dimir (U/B): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_dimir.png") + guild symbol originals The Cult of Rakdos (B/R): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_rakados.png") + guild symbol originals The Gruul Clans (R/G): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_gruul.png") + guild symbol originals The Selesnya Conclave (G/W): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_selesnya.png") + guild symbol originals The Orzhov Syndicate (W/B): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_orzhov.png") + guild symbol originals The Izzet (U/R): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_izzet.png") + guild symbol originals The Golgari (B/G): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_golgari.png") + guild symbol originals The Boros Legion (R/W): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_boros.png") + guild symbol originals The Simic Combine (G/U): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_simic.png") - future sight type symbols artifact: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_artifact.png") - future sight type symbols creature: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_creature.png") - future sight type symbols enchantment: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_enchantment.png") - future sight type symbols instant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_instant.png") - future sight type symbols land: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_land.png") - future sight type symbols multiple: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_multiple.png") - future sight type symbols planeswalker: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_planeswalker.png") - future sight type symbols sorcery: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/futsymbol_sorcery.png") + guild symbol ancients The Azorius Senate (W/U): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-azorius.png") + guild symbol ancients House Dimir (U/B): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-dimir.png") + guild symbol ancients The Cult of Rakdos (B/R): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-rakdos.png") + guild symbol ancients The Gruul Clans (R/G): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-gruul.png") + guild symbol ancients The Selesnya Conclave (G/W): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-selesnya.png") + guild symbol ancients The Orzhov Syndicate (W/B): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-orzhov.png") + guild symbol ancients The Izzet (U/R): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-izzet.png") + guild symbol ancients The Golgari (B/G): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-golgari.png") + guild symbol ancients The Boros Legion (R/W): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-boros.png") + guild symbol ancients The Simic Combine (G/U): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark-frazier-simic.png") - other magic symbols aetherprint: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/aetherprint.png")) - other magic symbols chaos symbol: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/chaos.png")) - 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", 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", 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")) - other magic symbols innistrad provinces gavony: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/gavony.png")) - other magic symbols innistrad provinces nephalia: script: set_combine(combine:"shadow", input:set_alpha(alpha: 0.3, input:"/magic-watermarks.mse-include/nephalia.png")) - - other magic symbols theros poleis akros: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/akros.png") - other magic symbols theros poleis meletis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/meletis.png") - other magic symbols theros poleis setessa: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/setessa.png") - - alara symbols Bant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bant.png") - alara symbols Esper: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_esper.png") - alara symbols Grixis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_grixis.png") - alara symbols Jund: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_jund.png") - alara symbols Naya: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_naya.png") - alara symbols colored Bant: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_bant_colored.png") - alara symbols colored Esper: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_esper_colored.png") - alara symbols colored Grixis: script: set_combine(combine:"shadow", input:"/magic-watermarks.mse-include/watermark_grixis_colored.png") - 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", 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(), 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", - set_alpha( - alpha: 0.5, - #symbol_variation(symbol: set.symbol, variation: "common") - drop_shadow(offset_x: -0.01, offset_y: 0.03, blur_radius: 0.02, alpha: 1, color: rgb(0,0,0), - enlarge(border_size: 0.03, - symbol_variation(symbol: set.symbol, variation: "watermark") - ) - ) - ) - ) - } + faction symbol mirrodin: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_mirrodin.png") + faction symbol phyrexia: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_phyrexia.png") + + clan symbol The Abzan Houses (WBG): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_abzan.png") + clan symbol The Jeskai Way (URW): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_jeskai.png") + clan symbol The Sultai Brood (BGU): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_sultai.png") + clan symbol The Mardu Horde (RWB): script: watermark_blend(face:2, h: 400, "/magic-watermarks.mse-include/watermark_mardu.png") + clan symbol The Temur Frontier (GUR): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_temur.png") + + brood symbol Dromoka's Brood (GW): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_dromoka.png") + brood symbol Ojutai's Brood (WU): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_ojutai.png") + brood symbol Silumgar's Brood (UB): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_silumgar.png") + brood symbol Kolaghan's Brood (BR): script: watermark_blend(face:2, h: 400, "/magic-watermarks.mse-include/watermark_kolaghan.png") + brood symbol Atarka's Brood (RG): script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_atarka.png") + + family symbol Brokers (GWU): script: watermark_blend(face:2, "/magic-watermarks.mse-include/capenna_brokers.png") + family symbol Cabaretti (RGW): script: watermark_blend(face:2, "/magic-watermarks.mse-include/capenna_cabaretti.png") + family symbol Maestros (UBR): script: watermark_blend(face:2, "/magic-watermarks.mse-include/capenna_maestros.png") + family symbol Obscura (WUB): script: watermark_blend(face:2, "/magic-watermarks.mse-include/capenna_obscura.png") + family symbol Riveteers (BRG): script: watermark_blend(face:2, "/magic-watermarks.mse-include/capenna_riveteers.png") + + unstable factions Order of the Widget: script: watermark_blend(face:2, "/magic-watermarks.mse-include/unstable_widget.png") + unstable factions Agents of S.N.E.A.K.: script: watermark_blend(face:2, "/magic-watermarks.mse-include/unstable_SNEAK.png") + unstable factions League of Dastardly Doom: script: watermark_blend(face:2, "/magic-watermarks.mse-include/unstable_doom.png") + unstable factions Goblin Explosioneers: script: watermark_blend(face:2, "/magic-watermarks.mse-include/unstable_explosioneers.png") + unstable factions Crossbreed Labs: script: watermark_blend(face:2, "/magic-watermarks.mse-include/unstable_crossbreed.png") + + colored xander hybrid mana W/U: script: "/magic-watermarks.mse-include/watermark_wumana_colored.png" + colored xander hybrid mana U/B: script: "/magic-watermarks.mse-include/watermark_ubmana_colored.png" + colored xander hybrid mana B/R: script: "/magic-watermarks.mse-include/watermark_brmana_colored.png" + colored xander hybrid mana R/G: script: "/magic-watermarks.mse-include/watermark_rgmana_colored.png" + colored xander hybrid mana G/W: script: "/magic-watermarks.mse-include/watermark_gwmana_colored.png" + colored xander hybrid mana W/B: script: "/magic-watermarks.mse-include/watermark_wbmana_colored.png" + colored xander hybrid mana U/R: script: "/magic-watermarks.mse-include/watermark_urmana_colored.png" + colored xander hybrid mana B/G: script: "/magic-watermarks.mse-include/watermark_bgmana_colored.png" + colored xander hybrid mana R/W: script: "/magic-watermarks.mse-include/watermark_rwmana_colored.png" + colored xander hybrid mana G/U: script: "/magic-watermarks.mse-include/watermark_gumana_colored.png" + + xander hybrid mana W/U: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_wumana.png") + xander hybrid mana U/B: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_ubmana.png") + xander hybrid mana B/R: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_brmana.png") + xander hybrid mana R/G: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_rgmana.png") + xander hybrid mana G/W: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_gwmana.png") + xander hybrid mana W/B: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_wbmana.png") + xander hybrid mana U/R: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_urmana.png") + xander hybrid mana B/G: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_bgmana.png") + xander hybrid mana R/W: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_rwmana.png") + xander hybrid mana G/U: script: watermark_blend(face:2, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_gumana.png") + + future sight type symbols artifact: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_artifact.png") + future sight type symbols creature: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_creature.png") + future sight type symbols enchantment: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_enchantment.png") + future sight type symbols instant: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_instant.png") + future sight type symbols land: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_land.png") + future sight type symbols multiple: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_multiple.png") + future sight type symbols planeswalker: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_planeswalker.png") + future sight type symbols sorcery: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_sorcery.png") + future sight type symbols structure: script: watermark_blend(face:2, "/magic-watermarks.mse-include/futsymbol_structure.png") + + other magic symbols aetherprint: script: watermark_blend(face:2, h:500, l:317, "/magic-watermarks.mse-include/aetherprint.png") + other magic symbols desparked: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/desparked.png") + other magic symbols chaos symbol: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/chaos.png") + other magic symbols story spotlight: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/planeswalker.png") + other magic symbols color spotlight: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/planeswalker.png") + other magic symbols shooting star: script: watermark_blend(face:2, h:400, l:500, "/magic-watermarks.mse-include/shooting_star.png") + other magic symbols the thran: script: watermark_blend(face:2, h:240, l:163, "/magic-watermarks.mse-include/thran.png") + other magic symbols phyrexia: script: watermark_blend(face:2, h:217, l:115, "/magic-watermarks.mse-include/phyrexia.png") + other magic symbols color pie: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/colorpie.png") + other magic symbols judge academy: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/judge_academy.png") + other magic symbols foretell: script: watermark_blend(face:2, h:460, l:500, "/magic-watermarks.mse-include/foretell.png") + other magic symbols jace consortium: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/jace-consortium.png") + other magic symbols seekers of carmot: script: watermark_blend(face:2, h:500, l:500, "/magic-watermarks.mse-include/seekersofcarmot.png") + other magic symbols conspiracy stamp: script: set_alpha(alpha: 0.3, "/magic-watermarks.mse-include/conspiracy_stamp.png") + + other magic symbols innistrad provinces stensia: script: watermark_blend(face:2, "/magic-watermarks.mse-include/stensia.png") + other magic symbols innistrad provinces kessig: script: watermark_blend(face:2, "/magic-watermarks.mse-include/kessig.png") + other magic symbols innistrad provinces gavony: script: watermark_blend(face:2, "/magic-watermarks.mse-include/gavony.png") + other magic symbols innistrad provinces nephalia: script: watermark_blend(face:2, "/magic-watermarks.mse-include/nephalia.png") + + other magic symbols theros poleis akros: script: watermark_blend(face:2, "/magic-watermarks.mse-include/akros.png") + other magic symbols theros poleis meletis: script: watermark_blend(face:2, "/magic-watermarks.mse-include/meletis.png") + other magic symbols theros poleis setessa: script: watermark_blend(face:2, "/magic-watermarks.mse-include/setessa.png") + + alara symbols Bant: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_bant.png") + alara symbols Esper: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_esper.png") + alara symbols Grixis: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_grixis.png") + alara symbols Jund: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_jund.png") + alara symbols Naya: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_naya.png") + + alara symbols colored Bant: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_bant_colored.png") + alara symbols colored Esper: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_esper_colored.png") + alara symbols colored Grixis: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_grixis_colored.png") + alara symbols colored Jund: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_jund_colored.png") + alara symbols colored Naya: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_naya_colored.png") + + college symbols Silverquill: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_strix_silverquill.png") + college symbols Prismari: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_strix_prismari.png") + college symbols Witherbloom: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_strix_witherbloom.png") + college symbols Lorehold: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_strix_lorehold.png") + college symbols Quandrix: script: watermark_blend(face:2, "/magic-watermarks.mse-include/watermark_strix_quandrix.png") + + universes beyond D&D: script: watermark_blend(face:2, "/magic-watermarks.mse-include/d&d.png") + universes beyond transformers: script: watermark_blend(face:2, "/magic-watermarks.mse-include/transformers.png") + universes beyond ponies applejack: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_apples.png") + universes beyond ponies pinkie pie: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_balloons.png") + universes beyond ponies fluttershy: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_butterflies.png") + universes beyond ponies rainbow dash: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_rainbow.png") + universes beyond ponies rarity: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_gems.png") + universes beyond ponies twilight sparkle: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_sparkles.png") + universes beyond ponies nightmare moon: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_waning_moon.png") + universes beyond ponies luna: script: watermark_blend(face:2, "/magic-watermarks.mse-include/ponies_waxing_moon.png") + + custom watermark one: script: watermark_blend(face:2, custom_watermark_1()) + custom watermark two: script: watermark_blend(face:2, custom_watermark_2()) + custom watermark three: script: watermark_blend(face:2, custom_watermark_3()) + custom watermark four: script: watermark_blend(face:2, custom_watermark_4()) + custom watermark five: script: watermark_blend(face:2, custom_watermark_5()) + custom watermark six: script: watermark_blend(face:2, custom_watermark_6()) + custom watermark seven: script: watermark_blend(face:2, custom_watermark_7()) + custom watermark eight: script: watermark_blend(face:2, custom_watermark_8()) + custom watermark nine: script: watermark_blend(face:2, custom_watermark_9()) + custom watermark ten: script: watermark_blend(face:2, custom_watermark_10()) + custom watermark card: script: watermark_blend(face:2, custom_watermark_a()) + + set symbol: script: shadow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark")) diff --git a/data/magic-watermarks.mse-include/watermarks_third b/data/magic-watermarks.mse-include/watermarks_third new file mode 100644 index 000000000..4c7ef026e --- /dev/null +++ b/data/magic-watermarks.mse-include/watermarks_third @@ -0,0 +1,203 @@ +# Watermark images for the third face + +choice images: + mana symbol white: script: "/magic-watermarks.mse-include/watermark_w.png" + mana symbol blue: script: "/magic-watermarks.mse-include/watermark_u.png" + mana symbol black: script: "/magic-watermarks.mse-include/watermark_b.png" + mana symbol red: script: "/magic-watermarks.mse-include/watermark_r.png" + mana symbol green: script: "/magic-watermarks.mse-include/watermark_g.png" + mana symbol colorless: script: "/magic-watermarks.mse-include/watermark_c.png" + mana symbol snow: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_s.png") + + mana symbol old white: script: "/magic-watermarks.mse-include/watermark_w_old.png" + mana symbol old blue: script: "/magic-watermarks.mse-include/watermark_u_old.png" + mana symbol old black: script: "/magic-watermarks.mse-include/watermark_b_old.png" + mana symbol old red: script: "/magic-watermarks.mse-include/watermark_r_old.png" + mana symbol old green: script: "/magic-watermarks.mse-include/watermark_g_old.png" + mana symbol old colorless: script: "/magic-watermarks.mse-include/watermark_c_old.png" + + mana symbol hi res white: script: "/magic-watermarks.mse-include/watermark_w_big.png" + mana symbol hi res blue: script: "/magic-watermarks.mse-include/watermark_u_big.png" + mana symbol hi res black: script: "/magic-watermarks.mse-include/watermark_b_big.png" + mana symbol hi res red: script: "/magic-watermarks.mse-include/watermark_r_big.png" + mana symbol hi res green: script: "/magic-watermarks.mse-include/watermark_g_big.png" + mana symbol hi res colorless: script: "/magic-watermarks.mse-include/watermark_c_big.png" + + transparent mana symbol white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w.png") + transparent mana symbol blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u.png") + transparent mana symbol black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b.png") + transparent mana symbol red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r.png") + transparent mana symbol green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g.png") + + transparent mana symbol old white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w_old.png") + transparent mana symbol old blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u_old.png") + transparent mana symbol old black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b_old.png") + transparent mana symbol old red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r_old.png") + transparent mana symbol old green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g_old.png") + transparent mana symbol old colorless: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_c_old.png") + + transparent mana symbol hi res white: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_w_big.png") + transparent mana symbol hi res blue: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_u_big.png") + transparent mana symbol hi res black: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_b_big.png") + transparent mana symbol hi res red: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_r_big.png") + transparent mana symbol hi res green: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_g_big.png") + transparent mana symbol hi res colorless: script: set_alpha(alpha: 0.4, "/magic-watermarks.mse-include/watermark_c_big.png") + + guild symbol The Azorius Senate (W/U): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_azorius2.png") + guild symbol House Dimir (U/B): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_dimir2.png") + guild symbol The Cult of Rakdos (B/R): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_rakados2.png") + guild symbol The Gruul Clans (R/G): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_gruul2.png") + guild symbol The Selesnya Conclave (G/W): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_selesnya2.png") + guild symbol The Orzhov Syndicate (W/B): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_orzhov2.png") + guild symbol The Izzet (U/R): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_izzet2.png") + guild symbol The Golgari (B/G): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_golgari2.png") + guild symbol The Boros Legion (R/W): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_boros2.png") + guild symbol The Simic Combine (G/U): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_simic2.png") + + guild symbol originals The Azorius Senate (W/U): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_azorius.png") + guild symbol originals House Dimir (U/B): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_dimir.png") + guild symbol originals The Cult of Rakdos (B/R): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_rakados.png") + guild symbol originals The Gruul Clans (R/G): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_gruul.png") + guild symbol originals The Selesnya Conclave (G/W): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_selesnya.png") + guild symbol originals The Orzhov Syndicate (W/B): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_orzhov.png") + guild symbol originals The Izzet (U/R): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_izzet.png") + guild symbol originals The Golgari (B/G): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_golgari.png") + guild symbol originals The Boros Legion (R/W): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_boros.png") + guild symbol originals The Simic Combine (G/U): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_simic.png") + + guild symbol ancients The Azorius Senate (W/U): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-azorius.png") + guild symbol ancients House Dimir (U/B): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-dimir.png") + guild symbol ancients The Cult of Rakdos (B/R): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-rakdos.png") + guild symbol ancients The Gruul Clans (R/G): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-gruul.png") + guild symbol ancients The Selesnya Conclave (G/W): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-selesnya.png") + guild symbol ancients The Orzhov Syndicate (W/B): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-orzhov.png") + guild symbol ancients The Izzet (U/R): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-izzet.png") + guild symbol ancients The Golgari (B/G): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-golgari.png") + guild symbol ancients The Boros Legion (R/W): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-boros.png") + guild symbol ancients The Simic Combine (G/U): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark-frazier-simic.png") + + faction symbol mirrodin: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_mirrodin.png") + faction symbol phyrexia: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_phyrexia.png") + + clan symbol The Abzan Houses (WBG): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_abzan.png") + clan symbol The Jeskai Way (URW): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_jeskai.png") + clan symbol The Sultai Brood (BGU): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_sultai.png") + clan symbol The Mardu Horde (RWB): script: watermark_blend(face:3, h: 400, "/magic-watermarks.mse-include/watermark_mardu.png") + clan symbol The Temur Frontier (GUR): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_temur.png") + + brood symbol Dromoka's Brood (GW): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_dromoka.png") + brood symbol Ojutai's Brood (WU): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_ojutai.png") + brood symbol Silumgar's Brood (UB): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_silumgar.png") + brood symbol Kolaghan's Brood (BR): script: watermark_blend(face:3, h: 400, "/magic-watermarks.mse-include/watermark_kolaghan.png") + brood symbol Atarka's Brood (RG): script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_atarka.png") + + family symbol Brokers (GWU): script: watermark_blend(face:3, "/magic-watermarks.mse-include/capenna_brokers.png") + family symbol Cabaretti (RGW): script: watermark_blend(face:3, "/magic-watermarks.mse-include/capenna_cabaretti.png") + family symbol Maestros (UBR): script: watermark_blend(face:3, "/magic-watermarks.mse-include/capenna_maestros.png") + family symbol Obscura (WUB): script: watermark_blend(face:3, "/magic-watermarks.mse-include/capenna_obscura.png") + family symbol Riveteers (BRG): script: watermark_blend(face:3, "/magic-watermarks.mse-include/capenna_riveteers.png") + + unstable factions Order of the Widget: script: watermark_blend(face:3, "/magic-watermarks.mse-include/unstable_widget.png") + unstable factions Agents of S.N.E.A.K.: script: watermark_blend(face:3, "/magic-watermarks.mse-include/unstable_SNEAK.png") + unstable factions League of Dastardly Doom: script: watermark_blend(face:3, "/magic-watermarks.mse-include/unstable_doom.png") + unstable factions Goblin Explosioneers: script: watermark_blend(face:3, "/magic-watermarks.mse-include/unstable_explosioneers.png") + unstable factions Crossbreed Labs: script: watermark_blend(face:3, "/magic-watermarks.mse-include/unstable_crossbreed.png") + + colored xander hybrid mana W/U: script: "/magic-watermarks.mse-include/watermark_wumana_colored.png" + colored xander hybrid mana U/B: script: "/magic-watermarks.mse-include/watermark_ubmana_colored.png" + colored xander hybrid mana B/R: script: "/magic-watermarks.mse-include/watermark_brmana_colored.png" + colored xander hybrid mana R/G: script: "/magic-watermarks.mse-include/watermark_rgmana_colored.png" + colored xander hybrid mana G/W: script: "/magic-watermarks.mse-include/watermark_gwmana_colored.png" + colored xander hybrid mana W/B: script: "/magic-watermarks.mse-include/watermark_wbmana_colored.png" + colored xander hybrid mana U/R: script: "/magic-watermarks.mse-include/watermark_urmana_colored.png" + colored xander hybrid mana B/G: script: "/magic-watermarks.mse-include/watermark_bgmana_colored.png" + colored xander hybrid mana R/W: script: "/magic-watermarks.mse-include/watermark_rwmana_colored.png" + colored xander hybrid mana G/U: script: "/magic-watermarks.mse-include/watermark_gumana_colored.png" + + xander hybrid mana W/U: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_wumana.png") + xander hybrid mana U/B: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_ubmana.png") + xander hybrid mana B/R: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_brmana.png") + xander hybrid mana R/G: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_rgmana.png") + xander hybrid mana G/W: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_gwmana.png") + xander hybrid mana W/B: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_wbmana.png") + xander hybrid mana U/R: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_urmana.png") + xander hybrid mana B/G: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_bgmana.png") + xander hybrid mana R/W: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_rwmana.png") + xander hybrid mana G/U: script: watermark_blend(face:3, alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, "/magic-watermarks.mse-include/watermark_gumana.png") + + future sight type symbols artifact: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_artifact.png") + future sight type symbols creature: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_creature.png") + future sight type symbols enchantment: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_enchantment.png") + future sight type symbols instant: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_instant.png") + future sight type symbols land: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_land.png") + future sight type symbols multiple: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_multiple.png") + future sight type symbols planeswalker: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_planeswalker.png") + future sight type symbols sorcery: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_sorcery.png") + future sight type symbols structure: script: watermark_blend(face:3, "/magic-watermarks.mse-include/futsymbol_structure.png") + + other magic symbols aetherprint: script: watermark_blend(face:3, h:500, l:317, "/magic-watermarks.mse-include/aetherprint.png") + other magic symbols desparked: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/desparked.png") + other magic symbols chaos symbol: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/chaos.png") + other magic symbols story spotlight: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/planeswalker.png") + other magic symbols color spotlight: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/planeswalker.png") + other magic symbols shooting star: script: watermark_blend(face:3, h:400, l:500, "/magic-watermarks.mse-include/shooting_star.png") + other magic symbols the thran: script: watermark_blend(face:3, h:240, l:163, "/magic-watermarks.mse-include/thran.png") + other magic symbols phyrexia: script: watermark_blend(face:3, h:217, l:115, "/magic-watermarks.mse-include/phyrexia.png") + other magic symbols color pie: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/colorpie.png") + other magic symbols judge academy: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/judge_academy.png") + other magic symbols foretell: script: watermark_blend(face:3, h:460, l:500, "/magic-watermarks.mse-include/foretell.png") + other magic symbols jace consortium: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/jace-consortium.png") + other magic symbols seekers of carmot: script: watermark_blend(face:3, h:500, l:500, "/magic-watermarks.mse-include/seekersofcarmot.png") + other magic symbols conspiracy stamp: script: set_alpha(alpha: 0.3, "/magic-watermarks.mse-include/conspiracy_stamp.png") + + other magic symbols innistrad provinces stensia: script: watermark_blend(face:3, "/magic-watermarks.mse-include/stensia.png") + other magic symbols innistrad provinces kessig: script: watermark_blend(face:3, "/magic-watermarks.mse-include/kessig.png") + other magic symbols innistrad provinces gavony: script: watermark_blend(face:3, "/magic-watermarks.mse-include/gavony.png") + other magic symbols innistrad provinces nephalia: script: watermark_blend(face:3, "/magic-watermarks.mse-include/nephalia.png") + + other magic symbols theros poleis akros: script: watermark_blend(face:3, "/magic-watermarks.mse-include/akros.png") + other magic symbols theros poleis meletis: script: watermark_blend(face:3, "/magic-watermarks.mse-include/meletis.png") + other magic symbols theros poleis setessa: script: watermark_blend(face:3, "/magic-watermarks.mse-include/setessa.png") + + alara symbols Bant: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_bant.png") + alara symbols Esper: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_esper.png") + alara symbols Grixis: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_grixis.png") + alara symbols Jund: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_jund.png") + alara symbols Naya: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_naya.png") + + alara symbols colored Bant: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_bant_colored.png") + alara symbols colored Esper: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_esper_colored.png") + alara symbols colored Grixis: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_grixis_colored.png") + alara symbols colored Jund: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_jund_colored.png") + alara symbols colored Naya: script: set_combine(combine:"shadow", "/magic-watermarks.mse-include/watermark_naya_colored.png") + + college symbols Silverquill: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_strix_silverquill.png") + college symbols Prismari: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_strix_prismari.png") + college symbols Witherbloom: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_strix_witherbloom.png") + college symbols Lorehold: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_strix_lorehold.png") + college symbols Quandrix: script: watermark_blend(face:3, "/magic-watermarks.mse-include/watermark_strix_quandrix.png") + + universes beyond D&D: script: watermark_blend(face:3, "/magic-watermarks.mse-include/d&d.png") + universes beyond transformers: script: watermark_blend(face:3, "/magic-watermarks.mse-include/transformers.png") + universes beyond ponies applejack: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_apples.png") + universes beyond ponies pinkie pie: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_balloons.png") + universes beyond ponies fluttershy: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_butterflies.png") + universes beyond ponies rainbow dash: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_rainbow.png") + universes beyond ponies rarity: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_gems.png") + universes beyond ponies twilight sparkle: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_sparkles.png") + universes beyond ponies nightmare moon: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_waning_moon.png") + universes beyond ponies luna: script: watermark_blend(face:3, "/magic-watermarks.mse-include/ponies_waxing_moon.png") + + custom watermark one: script: watermark_blend(face:3, custom_watermark_1()) + custom watermark two: script: watermark_blend(face:3, custom_watermark_2()) + custom watermark three: script: watermark_blend(face:3, custom_watermark_3()) + custom watermark four: script: watermark_blend(face:3, custom_watermark_4()) + custom watermark five: script: watermark_blend(face:3, custom_watermark_5()) + custom watermark six: script: watermark_blend(face:3, custom_watermark_6()) + custom watermark seven: script: watermark_blend(face:3, custom_watermark_7()) + custom watermark eight: script: watermark_blend(face:3, custom_watermark_8()) + custom watermark nine: script: watermark_blend(face:3, custom_watermark_9()) + custom watermark ten: script: watermark_blend(face:3, custom_watermark_10()) + custom watermark card: script: watermark_blend(face:3, custom_watermark_a()) + + set symbol: script: shadow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark")) diff --git a/data/magic-watermarks.mse-include/wolverine-claws.png b/data/magic-watermarks.mse-include/wolverine-claws.png deleted file mode 100644 index 5564242aa..000000000 Binary files a/data/magic-watermarks.mse-include/wolverine-claws.png and /dev/null differ diff --git a/data/magic.mse-game/card-symbols/alchemy old.png b/data/magic.mse-game/card-symbols/alchemy old.png new file mode 100644 index 000000000..68a7090ad Binary files /dev/null and b/data/magic.mse-game/card-symbols/alchemy old.png differ diff --git a/data/magic.mse-game/card-symbols/alchemy.png b/data/magic.mse-game/card-symbols/alchemy.png new file mode 100644 index 000000000..c18dff8e4 Binary files /dev/null and b/data/magic.mse-game/card-symbols/alchemy.png differ diff --git a/data/magic.mse-game/card-symbols/menu_choice_images b/data/magic.mse-game/card-symbols/menu_choice_images new file mode 100644 index 000000000..00a8640cc --- /dev/null +++ b/data/magic.mse-game/card-symbols/menu_choice_images @@ -0,0 +1,5 @@ +choice images: + none: { "" } + tombstone: /magic.mse-game/card-symbols/tombstone.png + alchemy: /magic.mse-game/card-symbols/alchemy.png + alchemy old: /magic.mse-game/card-symbols/alchemy old.png diff --git a/data/magic.mse-game/card-symbols/tombstone.png b/data/magic.mse-game/card-symbols/tombstone.png new file mode 100644 index 000000000..056202d97 Binary files /dev/null and b/data/magic.mse-game/card-symbols/tombstone.png differ diff --git a/data/magic.mse-game/card_fields b/data/magic.mse-game/card_fields index c4d34f003..dfac518bc 100644 --- a/data/magic.mse-game/card_fields +++ b/data/magic.mse-game/card_fields @@ -1,53 +1,83 @@ ############################################################## Card fields +############################################################## Frame building modules +depends on: + package: magic-modules.mse-include + version: 2024-05-20 -############################# Automatic fields -# The 'shape' of the card (flip, split, etc.) -card field: - type: choice - name: shape - save value: false - show statistics: false - editable: false - choice: normal - choice: token - choice: flip - choice: split - choice: fuse split - choice: adventure - choice: aftermath - choice: double faced - choice: planeswalker - choice: shifted - choice: rulestip - choice: leveler - choice: augment - choice: counter - choice: checklist - choice: emblem - choice: masterpiece - choice: nightbreak - choice: plane card - choice: saga - script: - stylesheet # updates when the style changes - card_shape() # determined by the style +############################################################## Automated fields +############################################################## Card shape card field: type: text - name: full name - save value: false + name: shape + description: The overall shape of the card. show statistics: false + save value: false editable: false - card list visible: true - card list name: Name - card list column: 1 + card list name: Shape + card list column: 1610 + card list width: 110 + script: + stylesheet ### updates when the style changes + card_shape() ### determined by the style, by override +### this value is used to determine the card's place in the set numbering +### as well as how to count it in the stats page +### it should always evaluate to one or more of these: +### normal +### planeswalker +### adventure +### leveler +### battle +### saga +### class +### flip +### split +### fuse +### aftermath +### double faced +### modal +### transform +### shifted +### plane card +### heroes +### token +### emblem +### counter +### designation +### rulestip +### checklist + +############################################################## Special text +### This is given to exporters to handle complicated rules text +### In particular, things like Sagas that using styling data to determine their rules text +### That exporters can't access +card field: + type: text + name: special text + description: The full text for exporting. + show statistics: false + card list name: Special Text + card list column: 0780 card list width: 150 - description: The name of the card - script: if has_two_names() then card.name + " // " + card.name_2 else card.name -############################# Background stuff + script: special_text() +card field: + type: text + name: special text 2 + description: The second full text for exporting. + show statistics: false + card list name: Special Text 2 + card list column: 0781 + card list width: 150 + script: special_text2() + +############################################################## Card border card field: type: color name: border color - default: set.border_color + description: The border of the card. Can be any solid color. + show statistics: false + card list name: Border + card list column: 1630 + card list width: 100 choice: name: black color: rgb(0,0,0) @@ -60,117 +90,50 @@ card field: choice: name: gold color: rgb(200,180,0) + default: border_color_default() + +card field: + type: choice + name: corners + description: The shape of the corners of the card. show statistics: false - description: The border of the card; can be any solid color. + card list name: Corners + card list column: 1640 + card list width: 100 + include file: /magic-modules.mse-include/corners/choices + default: corners_default(value, margin_code: "corners1") +card field: + type: choice + name: corners 2 + description: The shape of the corners of the second face of the card. + show statistics: false + card list name: Corners 2 + card list column: 1641 + card list width: 100 + include file: /magic-modules.mse-include/corners/choices + default: corners_default(value, margin_code: "corners2") +card field: + type: choice + name: corners 3 + description: The shape of the corners of the third face of the card. + show statistics: false + card list name: Corners 3 + card list column: 1642 + card list width: 100 + include file: /magic-modules.mse-include/corners/choices + default: corners_default(value, margin_code: "corners3") + +############################################################## Card color card field: type: multiple choice name: card color - 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 - enabled: { card_color_color_count(card.card_color) >= 2 } - line below: true - choice: - name: horizontal - enabled: { card_color_color_count(card.card_color) >= 2 } - type: radio - choice: - name: vertical - enabled: { card_color_color_count(card.card_color) >= 2 } - type: radio - choice: - name: radial - enabled: { card_color_color_count(card.card_color) >= 2 } - type: radio - choice: - name: overlay - enabled: { card_color_color_count(card.card_color) == 2 and chosen(choice:"hybrid",card.card_color) } - type: radio - choice: - name: reversed - enabled: { card_color_color_count(card.card_color) >= 2 and not chosen(choice:"overlay",card.card_color) } - 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, default: "colorless") - show statistics: false description: The frame of the card, used to indicate card color. -############################# Name line -card field: - type: text - name: name - card list visible: false - identifying: true show statistics: false - script: name_checker(value) - description: The name of the card -card field: - type: text - name: alias - card list visible: false - show statistics: false - description: The alias of the card -card field: - type: text - name: casting cost - icon: stats/casting_cost.png - position hint: 1 - script: mana_filter(value) card list visible: true - card list column: 2 - card list alignment: right - card list width: 50 - card list name: CC - show statistics: false - description: The casting cost of the card -card field: - type: choice - name: card symbol - position hint: 10 - icon: stats/symbol.png - choice: none - choice: tombstone - choice: alchemy - choice: alchemy old - show statistics: false - description: Symbol for this card -card field: - type: choice - name: type symbol - default: typesymbol_type(type: card.super_type) - card list visible: false - show statistics: false - choice: artifact - choice: creature - choice: enchantment - choice: fortress - choice: instant - choice: land - choice: multitype - choice: planeswalker - choice: sorcery - choice: none - description: The card type symbol for this card -card field: - type: choice - name: transformation - choice: day - choice: night - choice: moon - choice: eldrazi - description: On transforming cards, is this the day or the night side? - show statistics: false -card field: - type: multiple choice - name: indicator + card list name: Color + card list column: 0400 + card list width: 150 + sort script: color_sort_script(card.card_color) empty choice: colorless choice: white choice: blue @@ -205,370 +168,17 @@ card field: choice: name: reversed enabled: { card_color_color_count(card.card_color) >= 2 and not chosen(choice:"overlay",card.card_color) } + default: card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name, default: "colorless", margin_code: "color1") script: card_color_filter(value) - default: card.card_color - show statistics: false - description: The color indicator of the card, used to indicate card color. - -############################# Image -card field: - type: image - name: image - show statistics: false - description: The image of the card - -############################# Card type -card field: - type: text - name: super type - icon: stats/type.png - position hint: 30 - script: super_type_filter(value) - show statistics: false -card field: - type: text - name: sub type - icon: stats/type.png - position hint: 31 - show statistics: false - script: sub_type_filter(value, type:card.super_type) -card field: - type: text - name: type - show statistics: false - save value: false - script: - # Either just supertype, or subtype - supertype - combined_editor( - field1: card.super_type, - separator: language().type_separator, - field2: card.sub_type, - soft_before_empty: true, - hide_when_empty: true - ) - card list visible: true - card list column:4 - description: The type of this card, type - to go the sub type -card field: - type: choice - name: rarity - choice: basic land - choice: common - choice: uncommon - choice: rare - choice: mythic rare - choice: special - choice: masterpiece - initial: common - card list visible: true - card list column: 7 - description: The rarity of the card, to edit the symbol switch to the 'set info' tab - show statistics: false - icon: stats/rarity.png - position hint: 100 - choice colors: - basic land: rgb(109,62,39) - common: rgb(33,33,33) - uncommon: rgb(224,224,224) - mythic rare: rgb(202, 49, 35) - rare: rgb(255,207,52) - special: rgb(190,0,255) - -############################# Text box -card field: - type: text - name: rule text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"text") - show statistics: false - multi line: true - description: The rules text for the card -card field: - type: text - name: flavor text - script: flavor_text_filter(value) - show statistics: false - multi line: true - description: The flavor text for the card -card field: - type: text - name: text - multi line: true - save value: false - show statistics: false - position hint: 105 - script: - if mainframe_walker() then - mainframe_walker_text_script() - else if alt_text() then - alt_text_script() - else - combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) - description: The rules and flavor text for the card; use up and down arrows to switch -######################### Watermark -card field: - type: choice - name: watermark - icon: stats/watermark.png - position hint: 200 - include file: /magic-watermarks.mse-include/watermark-names - show statistics: false - description: A watermark for below the textbox, this can be a big mana symbol used on basic lands, or a guild symbol -###############################Leveler textboxes -card field: - type: text - name: level 0 - description: The zeroth level of a creature - show statistics: false -card field: - type: text - name: loyalty cost 1 - show statistics: false - description: The loyalty cost for the first ability of a planeswalker -card field: - type: text - name: level 1 - description: The first level of a card - show statistics: false -card field: - type: text - name: level 1 text - default: if transfer_levels() then card.rule_text else "" - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv1") - show statistics: false - multi line: true - position hint: 110 - description: The first level text for the card -card field: - type: text - name: loyalty cost 2 - show statistics: false - description: The loyalty cost for the second ability of a planeswalker -card field: - type: text - name: level 2 - description: The second level of a card - show statistics: false -card field: - type: text - name: level 2 text - default: if transfer_levels() then card.rule_text_2 else "" - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv2") - show statistics: false - multi line: true - position hint: 120 - description: The second level text for the card -card field: - type: text - name: loyalty cost 3 - show statistics: false - description: The loyalty cost for the third ability of a planeswalker -card field: - type: text - name: level 3 - description: The third level of a card - show statistics: false -card field: - type: text - name: level 3 text - default: card.rule_text_3 - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv3") - show statistics: false - multi line: true - position hint: 130 - description: The third level text for the card -card field: - type: text - name: loyalty cost 4 - show statistics: false - description: The loyalty cost for the fourth ability of a planeswalker -card field: - type: text - name: level 4 - description: The fourth level of a card - show statistics: false -card field: - type: text - name: level 4 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv4") - show statistics: false - multi line: true - position hint: 4 - description: The fourth level text for the card -############################# Notes -card field: - type: text - name: sorted notes - multi line: true - save value: false - show statistics: false - script: card.notes - description: A mirror of card notes to make it sortable. -card field: - type: text - name: custom index - save value: false - show statistics: false - position hint: 900 - script: custom_index() -############################# Loyalty -card field: - type: text - name: loyalty - icon: stats/loyalty.png - position hint: 59 - show statistics: false - description: The initial loyalty of a planeswalker -card field: - type: text - name: loyalty cost 5 - show statistics: false - description: The loyalty cost for the fifth ability of a planeswalker -card field: - type: text - name: loyalty cost 6 - show statistics: false - description: The loyalty cost for the sixth ability of a planeswalker -card field: - type: text - name: loyalty cost 7 - show statistics: false - description: The loyalty cost for the seventh ability of a planeswalker -card field: - type: text - name: loyalty cost 8 - show statistics: false - description: The loyalty cost for the eighth ability of a planeswalker -############################# PT -card field: - type: text - name: power - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness - show statistics: false - icon: stats/toughness.png - description: The toughness of a creature -card field: - type: text - name: pt - save value: false - script: - combined_editor( - field1: card.power, - separator: language().pt_separator, - field2: card.toughness, - soft_before_empty: true, - hide_when_empty: true - ) - card list visible: true - card list column: 5 - card list width: 50 - card list name: P/T - description: Power/toughness of a creature - show statistics: false - -############################# Card sorting / numbering -card field: - type: text - name: card number - save value: false - script: card_number() + "/" + card_count() - sort script: rarity_partition_sort() + card_number_mom() - card list visible: true - card list column: 10 - card list width: 50 - card list name: # - card list alignment: right - editable: false - show statistics: false -card field: - type: text - name: card number m15 - save value: false - script: card_number_m15() + "/" + card_count_m15() - sort script: rarity_sort() + card.card_number - card list visible: false - editable: false - show statistics: false -card field: - type: text - name: custom card number - save value: true - editable: true - show statistics: false -card field: - type: text - name: set code - editable: false - save value: false - script: (if is_masterpiece() then set.masterpiece_set_code else set.set_code) + (if set.set_language != "" then " • " + set.set_language else "") - show statistics: false -card field: - type: text - name: card code text - 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 - name: illustrator - icon: stats/illustrator.png - position hint: 210 - default: set.artist - description: Illustrator of this card, the default value can be changed on the 'set info' tab - show statistics: false -card field: - type: text - name: copyright - default: set.copyright - show statistics: false -card field: - type: text - name: copyright line - save value: false - show statistics: false - script: - if set.automatic_card_numbers and set.automatic_copyright then - set.copyright + " " + card.card_number - else if set.automatic_card_numbers then - combined_editor(field1: card.copyright, separator: " ", field2: card.card_number) - else - forward_editor(field: card.copyright) - description: Copyright of this card and cardnumber, the default value can be changed on the 'set info' tab -card field: - type: choice - name: card stamp - choice: standard - choice: none - choice: acorn - choice: universes beyond - choice: alchemy - choice: alchemy old - choice: custom - default: set.default_stamp - show statistics: false - description: The stamp style for this card. -############################################################## Duplicate fields (split/flip cards) -# Based on flip templates by Wolfwood -# These are a direct copy of the fields above, only with a 2 - - card field: type: multiple choice name: card color 2 - icon: stats/color.png + description: The second frame of the card, used to indicate card color. + show statistics: false + card list name: Color 2 + card list column: 0401 + card list width: 150 + sort script: color_sort_script(card.card_color_2) empty choice: colorless choice: white choice: blue @@ -603,14 +213,17 @@ card field: choice: name: reversed enabled: { card_color_color_count(card.card_color_2) >= 2 and not chosen(choice:"overlay",card.card_color_2) } + default: card_color(casting_cost: card.casting_cost_2, type: card.super_type_2, rules_text: card.rule_text_2, watermark: card.watermark_2, card_name: card.name_2, default: "colorless", margin_code: "color2") script: card_color_filter(value) - default: card_color(casting_cost: card.casting_cost_2, type: card.super_type_2, rules_text: card.rule_text_2, watermark: card.watermark_2, card_name: card.name_2, default: "colorless") - show statistics: false - description: The frame of a card card field: type: multiple choice name: card color 3 - icon: stats/color.png + description: The third frame of the card, used to indicate card color. + show statistics: false + card list name: Color 3 + card list column: 0402 + card list width: 150 + sort script: color_sort_script(card.card_color_3) empty choice: colorless choice: white choice: blue @@ -645,186 +258,437 @@ card field: choice: name: reversed enabled: { card_color_color_count(card.card_color_3) >= 2 and not chosen(choice:"overlay",card.card_color_3) } + default: card_color(casting_cost: card.casting_cost_3, type: card.super_type_3, rules_text: card.rule_text_3, watermark: card.watermark_3, card_name: card.name_3, default: "colorless", margin_code: "color3") script: card_color_filter(value) - default: card_color(casting_cost: card.casting_cost_3, type: card.super_type_3, rules_text: card.rule_text_3, watermark: card.watermark_3, card_name: card.name_3, default: "colorless") +card field: + type: multiple choice + name: card color 4 + description: The fourth frame of the card, used to indicate card color. show statistics: false - description: The frame of a card + card list name: Color 4 + card list column: 0403 + card list width: 150 + sort script: color_sort_script(card.card_color_4) + 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 + enabled: { card_color_color_count(card.card_color_4) >= 2 } + line below: true + choice: + name: horizontal + enabled: { card_color_color_count(card.card_color_4) >= 2 } + type: radio + choice: + name: vertical + enabled: { card_color_color_count(card.card_color_4) >= 2 } + type: radio + choice: + name: radial + enabled: { card_color_color_count(card.card_color_4) >= 2 } + type: radio + choice: + name: overlay + enabled: { card_color_color_count(card.card_color_4) == 2 and chosen(choice:"hybrid",card.card_color_4) } + type: radio + choice: + name: reversed + enabled: { card_color_color_count(card.card_color_4) >= 2 and not chosen(choice:"overlay",card.card_color_4) } + default: card_color(casting_cost: card.casting_cost_4, type: card.super_type_4, rules_text: card.rule_text_4, watermark: card.watermark_4, card_name: card.name_4, default: "colorless", margin_code: "color4") + script: card_color_filter(value) + +card field: + type: text + name: color category + description: The simplified color of the card, to make it sortable. + show statistics: false + save value: false + editable: false + card list name: Color Category + card list column: 0410 + card list width: 90 + script: remove_zwsp(color_category_statistic()) + +card field: + type: text + name: exact color + description: The exact color of the card, to make it sortable. + show statistics: false + save value: false + editable: false + card list name: Exact Color + card list column: 0420 + card list width: 100 + script: remove_zwsp(prefixed_color_statistic()) + +card field: + type: text + name: color identity + description: The color identity of the card, to make it sortable. + show statistics: false + save value: false + editable: false + card list name: Color Identity + card list column: 0430 + card list width: 100 + script: remove_zwsp(prefixed_color_identity_statistic()) + +card field: + type: text + name: color count + description: The color count of the card, to make it sortable. + show statistics: false + save value: false + editable: false + card list name: Color Count + card list column: 0440 + card list width: 40 + script: remove_zwsp(color_count_statistic()) + +############################################################## Name line +############################################################## Card name +card field: + type: text + name: full name + description: The full name of the card. + show statistics: false + save value: false + editable: false + card list visible: true + card list name: Name + card list column: 0010 + card list width: 280 + script: card_full_name() + +card field: + type: text + name: name + description: The name of the card. + show statistics: false + identifying: true + card list name: Name 1 + card list column: 0020 + card list width: 150 + default: name_default(value, margin_code: "name1") + script: name_checker(value) card field: type: text name: name 2 + description: The second name of the card. + show statistics: false identifying: true - show statistics: false - description: The second name of a card -card field: - type: text - name: alias 2 - show statistics: false - description: The second alias of a card + card list name: Name 2 + card list column: 0021 + card list width: 150 + default: name_default(value, margin_code: "name2") card field: type: text name: name 3 - identifying: true + description: The third name of the card. show statistics: false - description: The third name of a card + identifying: true + card list name: Name 3 + card list column: 0022 + card list width: 150 + default: name_default(value, margin_code: "name3") +card field: + type: text + name: name 4 + description: The fourth name of the card. + show statistics: false + identifying: true + card list name: Name 4 + card list column: 0023 + card list width: 150 + default: name_default(value, margin_code: "name4") + +card field: + type: text + name: alias + description: The alias of the card. + show statistics: false + card list name: Alias + card list column: 0030 + card list width: 150 +card field: + type: text + name: alias 2 + description: The second alias of the card. + show statistics: false + card list name: Alias 2 + card list column: 0031 + card list width: 150 card field: type: text name: alias 3 - identifying: true + description: The third alias of the card. show statistics: false - description: The third alias of a card + card list name: Alias 3 + card list column: 0032 + card list width: 150 +card field: + type: text + name: alias 4 + description: The fourth alias of the card. + show statistics: false + card list name: Alias 4 + card list column: 0033 + card list width: 150 + +############################################################## Casting cost +card field: + type: text + name: casting cost + description: The casting cost of the card. + show statistics: false + card list visible: true + card list name: CC + card list column: 0100 + card list alignment: right + card list width: 60 + script: mana_filter(value) card field: type: text name: casting cost 2 - icon: stats/casting_cost.png - script: mana_filter(value) - card list alignment: right - card list width: 50 - card list name: CC + description: The second casting cost of the card. show statistics: false - description: The casting cost of a card + card list name: CC 2 + card list column: 0101 + card list alignment: right + card list width: 60 + script: mana_filter(value) card field: type: text name: casting cost 3 - icon: stats/casting_cost.png - script: mana_filter(value) + description: The third casting cost of the card. show statistics: false - description: The casting cost of a card + card list name: CC 3 + card list column: 0102 + card list alignment: right + card list width: 60 + script: mana_filter(value) +card field: + type: text + name: casting cost 4 + description: The fourth casting cost of the card. + show statistics: false + card list name: CC 4 + card list column: 0103 + card list alignment: right + card list width: 60 + script: mana_filter(value) + +card field: + type: text + name: cmc + description: The converted mana cost of the card. + show statistics: false + editable: false + card list visible: true + card list name: CMC + card list column: 0120 + card list alignment: right + card list width: 40 + script: cmc(card.casting_cost) + +############################################################## Nameline symbols +############################################################## Tombstone/Alchemy +card field: + type: choice + name: card symbol + description: The symbol of the card. + show statistics: false + card list name: Symbol + card list column: 0920 + card list width: 100 + include file: /magic-modules.mse-include/card-symbols/choices card field: type: choice name: card symbol 2 - icon: stats/symbol.png - choice: none - choice: tombstone - choice: alchemy - choice: alchemy old + description: The second symbol of the card. show statistics: false - description: The card symbol of the card + card list name: Symbol 2 + card list column: 0921 + card list width: 100 + include file: /magic-modules.mse-include/card-symbols/choices card field: type: choice - name: type symbol 2 - default: typesymbol_type(type: card.super_type_2) - card list visible: false + name: card symbol 3 + description: The third symbol of the card. show statistics: false - choice: artifact - choice: creature - choice: enchantment - choice: fortress - choice: instant - choice: land - choice: multitype - choice: planeswalker - choice: sorcery - choice: none - description: The card type symbol for this card + card list name: Symbol 2 + card list column: 0922 + card list width: 100 + include file: /magic-modules.mse-include/card-symbols/choices + +############################################################## Transform/Lesson card field: type: choice - name: type symbol 3 - default: typesymbol_type(type: card.super_type_3) - card list visible: false + name: transformation + description: The transformation symbol of the card. show statistics: false - choice: artifact - choice: creature - choice: enchantment - choice: fotress - choice: instant - choice: land - choice: multitype - choice: planeswalker - choice: sorcery - choice: none - description: The card type symbol for this card + card list name: Transform Symbol + card list column: 0940 + card list width: 100 + include file: /magic-modules.mse-include/symbols/choices + default: transform_symbol_default(value, margin_code:"transform1") card field: type: choice name: transformation 2 - choice: night - choice: day - choice: moon - choice: eldrazi - description: On transforming cards, is this the day or the night side? + description: The second transformation symbol of the card. show statistics: false + card list name: Transform Symbol 2 + card list column: 0941 + card list width: 100 + include file: /magic-modules.mse-include/symbols/choices + default: transform_symbol_default(value, margin_code:"transform2") card field: type: choice name: transformation 3 - choice: night - choice: day - description: On transforming cards, is this the day or the night side? + description: The third transformation symbol of the card. show statistics: false + card list name: Transform Symbol 3 + card list column: 0942 + card list width: 100 + include file: /magic-modules.mse-include/symbols/choices + default: transform_symbol_default(value, margin_code:"transform3") + +############################################################## Future Sight type symbols +card field: + type: choice + name: type symbol + description: The card type symbol of the card. + show statistics: false + card list name: Type Symbol + card list column: 0230 + card list width: 90 + include file: /magic-modules.mse-include/symbols/choices + default: typesymbol_for(card.super_type) +card field: + type: choice + name: type symbol 2 + description: The second card type symbol of the card. + show statistics: false + card list name: Type Symbol 2 + card list column: 0231 + card list width: 90 + include file: /magic-modules.mse-include/symbols/choices + default: typesymbol_for(card.super_type_2) +card field: + type: choice + name: type symbol 3 + description: The third card type symbol of the card. + show statistics: false + card list name: Type Symbol 3 + card list column: 0232 + card list width: 90 + include file: /magic-modules.mse-include/symbols/choices + default: typesymbol_for(card.super_type_3) +card field: + type: choice + name: type symbol 4 + description: The fourth card type symbol of the card. + show statistics: false + card list name: Type Symbol 4 + card list column: 0233 + card list width: 90 + include file: /magic-modules.mse-include/symbols/choices + default: typesymbol_for(card.super_type_4) + +############################################################## Card art +card field: + type: image + name: image + description: The illustration of the card. + show statistics: false + card list allow: false card field: type: image name: image 2 + description: The second illustration of the card. show statistics: false - description: The image of the card + card list allow: false + +### Some templates used image 2 for popout art before +### Ideally we should use these instead card field: - type: text - name: super type 2 - icon: stats/type.png + type: image + name: mainframe image + description: An extra illustration of the card. Mainly used for popout art. show statistics: false - script: super_type_filter(value) + card list allow: false card field: - type: text - name: sub type 2 - icon: stats/type.png + type: image + name: mainframe image 2 + description: A second extra illustration of the card. Mainly used for popout art. show statistics: false - script: sub_type_filter(value, type:card.super_type_2) + card list allow: false + +############################################################## Typeline +############################################################## Color indicator card field: - type: text - name: type 2 - save value: false - script: - combined_editor( - field1: card.super_type_2, - separator: language().type_separator, - field2: card.sub_type_2, - soft_before_empty: true, - hide_when_empty: true - ) - show statistics: false - description: The type of the card; type "-" to go from type to subtype -card field: - type: text - name: super type 3 - icon: stats/type.png - show statistics: false - script: super_type_filter(value) -card field: - type: text - name: sub type 3 - icon: stats/type.png - show statistics: false - script: sub_type_filter(value, type:card.super_type_3) -card field: - type: text - name: type 3 - save value: false - script: - combined_editor( - field1: card.super_type_3, - separator: language().type_separator, - field2: card.sub_type_3, - soft_before_empty: true, - hide_when_empty: true - ) - show statistics: false - description: The type of the card; type "-" to go from type to subtype -card field: - type: choice - name: rarity 2 - icon: stats/rarity.png - choice: basic land - choice: common - choice: uncommon - choice: rare - choice: mythic rare - choice: special - choice: masterpiece - initial: common - # Both rarities will be the same - script: card.rarity - editable: false + type: multiple choice + name: indicator + description: The color indicator dot of the card. Used to indicate card color on cards without casting cost. show statistics: false + card list name: Indicator + card list column: 0460 + card list width: 90 + sort script: color_sort_script(card.indicator) + 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 + enabled: { card_color_color_count(card.card_color) >= 2 } + line below: true + choice: + name: horizontal + enabled: { card_color_color_count(card.card_color) >= 2 } + type: radio + choice: + name: vertical + enabled: { card_color_color_count(card.card_color) >= 2 } + type: radio + choice: + name: radial + enabled: { card_color_color_count(card.card_color) >= 2 } + type: radio + choice: + name: overlay + enabled: { card_color_color_count(card.card_color) == 2 and chosen(choice:"hybrid",card.card_color) } + type: radio + choice: + name: reversed + enabled: { card_color_color_count(card.card_color) >= 2 and not chosen(choice:"overlay",card.card_color) } + default: card.card_color + script: card_color_filter(value) card field: type: multiple choice name: indicator 2 + description: The second color indicator dot of the card. Used to indicate card color on cards without casting cost. + show statistics: false + card list name: Indicator 2 + card list column: 0461 + card list width: 90 + sort script: color_sort_script(card.indicator_2) empty choice: colorless choice: white choice: blue @@ -859,64 +723,444 @@ card field: choice: name: reversed enabled: { card_color_color_count(card.card_color_2) >= 2 and not chosen(choice:"overlay",card.card_color_2) } - script: card_color_filter(value) default: card.card_color_2 + script: card_color_filter(value) +card field: + type: multiple choice + name: indicator 3 + description: The third color indicator dot of the card. Used to indicate card color on cards without casting cost. show statistics: false - description: The color indicator of the card, used to indicate card color. + card list name: Indicator 3 + card list column: 0462 + card list width: 90 + sort script: color_sort_script(card.indicator_3) + 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 + enabled: { card_color_color_count(card.card_color_3) >= 2 } + line below: true + choice: + name: horizontal + enabled: { card_color_color_count(card.card_color_3) >= 2 } + type: radio + choice: + name: vertical + enabled: { card_color_color_count(card.card_color_3) >= 2 } + type: radio + choice: + name: radial + enabled: { card_color_color_count(card.card_color_3) >= 2 } + type: radio + choice: + name: overlay + enabled: { card_color_color_count(card.card_color_3) == 2 and chosen(choice:"hybrid",card.card_color_3) } + type: radio + choice: + name: reversed + enabled: { card_color_color_count(card.card_color_3) >= 2 and not chosen(choice:"overlay",card.card_color_3) } + default: card.card_color_3 + script: card_color_filter(value) + +############################################################## Super type (includes card type) +### These fields usually aren't used, see Combined type +card field: + type: text + name: super type + description: The combined types and supertypes of the card. + show statistics: false + card list name: Super Type + card list column: 0260 + card list width: 150 + default: super_type_filter_default(value, margin_code: "supertype1") + script: super_type_filter(value, margin_code: "supertype1") +card field: + type: text + name: super type 2 + description: The second combined types and supertypes of the card. + show statistics: false + card list name: Super Type 2 + card list column: 0261 + card list width: 150 + default: super_type_filter_default(value, margin_code: "supertype2") + script: super_type_filter(value, margin_code: "supertype2") +card field: + type: text + name: super type 3 + description: The third combined types and supertypes of the card. + show statistics: false + card list name: Super Type 3 + card list column: 0262 + card list width: 150 + default: super_type_filter_default(value, margin_code: "supertype3") + script: super_type_filter(value, margin_code: "supertype3") +card field: + type: text + name: super type 4 + description: The fourth combined types and supertypes of the card. + show statistics: false + card list name: Super Type 4 + card list column: 0263 + card list width: 150 + default: super_type_filter_default(value, margin_code: "supertype4") + script: super_type_filter(value, margin_code: "supertype4") + +############################################################## Sub type +### These fields usually aren't used, see Combined type +card field: + type: text + name: sub type + description: The combined subtypes of the card. + show statistics: false + card list name: Sub Type + card list column: 0280 + card list width: 150 + default: sub_type_filter_default(value, margin_code: "subtype1") + script: sub_type_filter(value, type:card.super_type, margin_code: "subtype1") +card field: + type: text + name: sub type 2 + description: The second combined subtypes of the card. + show statistics: false + card list name: Sub Type 2 + card list column: 0281 + card list width: 150 + default: sub_type_filter_default(value, margin_code: "subtype2") + script: sub_type_filter(value, type:card.super_type_2, margin_code: "subtype2") +card field: + type: text + name: sub type 3 + description: The third combined subtypes of the card. + show statistics: false + card list name: Sub Type 3 + card list column: 0282 + card list width: 150 + default: sub_type_filter_default(value, margin_code: "subtype3") + script: sub_type_filter(value, type:card.super_type_3, margin_code: "subtype3") +card field: + type: text + name: sub type 4 + description: The fourth combined subtypes of the card. + show statistics: false + card list name: Sub Type 4 + card list column: 0283 + card list width: 150 + default: sub_type_filter_default(value, margin_code: "subtype4") + script: sub_type_filter(value, type:card.super_type_4, margin_code: "subtype4") + +############################################################## Combined type +### Use combined_editor to edit two fields at once +card field: + type: text + name: type + description: The combined subtypes, types and supertypes of the card. + show statistics: false + save value: false + card list visible: true + card list name: Type + card list column: 0200 + card list width: 220 + sort script: type_sort_script(super_type: card.super_type, sub_type: card.sub_type) + script: + combined_editor( + field1: card.super_type, + separator: language().type_separator, + field2: card.sub_type, + soft_before_empty: true, + hide_when_empty: true + ) +card field: + type: text + name: type 2 + description: The second combined subtypes, types and supertypes of the card. + show statistics: false + save value: false + card list name: Type 2 + card list column: 0201 + card list width: 220 + sort script: type_sort_script(super_type: card.super_type_2, sub_type: card.sub_type_2) + script: + combined_editor( + field1: card.super_type_2, + separator: language().type_separator, + field2: card.sub_type_2, + soft_before_empty: true, + hide_when_empty: true + ) +card field: + type: text + name: type 3 + description: The third combined subtypes, types and supertypes of the card. + show statistics: false + save value: false + card list name: Type 3 + card list column: 0202 + card list width: 220 + sort script: type_sort_script(super_type: card.super_type_3, sub_type: card.sub_type_3) + script: + combined_editor( + field1: card.super_type_3, + separator: language().type_separator, + field2: card.sub_type_3, + ) +card field: + type: text + name: type 4 + description: The fourth combined subtypes, types and supertypes of the card. + show statistics: false + save value: false + card list name: Type 4 + card list column: 0203 + card list width: 220 + sort script: type_sort_script(super_type: card.super_type_4, sub_type: card.sub_type_4) + script: + combined_editor( + field1: card.super_type_4, + separator: language().type_separator, + field2: card.sub_type_4, + soft_before_empty: true, + hide_when_empty: true + ) + +############################################################## Rarity +card field: + type: choice + name: rarity + description: The rarity of the card. To edit the symbol, switch to the 'set info' tab. + show statistics: false + card list visible: true + card list name: Rarity + card list column: 0500 + card list width: 90 + sort script: rarity_sort_script(card.rarity) + choice: basic land + choice: common + choice: uncommon + choice: rare + choice: mythic rare + choice: special + choice: masterpiece + initial: common +card field: + type: choice + name: rarity 2 + description: The second rarity of the card. To edit the symbol, switch to the 'set info' tab. + show statistics: false + card list name: Rarity 2 + card list column: 0501 + card list width: 90 + sort script: rarity_sort_script(card.rarity_2) + choice: basic land + choice: common + choice: uncommon + choice: rare + choice: mythic rare + choice: special + choice: masterpiece + initial: common + default: card.rarity +card field: + type: choice + name: rarity 3 + description: The third rarity of the card. To edit the symbol, switch to the 'set info' tab. + show statistics: false + card list name: Rarity 3 + card list column: 0502 + card list width: 90 + sort script: rarity_sort_script(card.rarity_3) + choice: basic land + choice: common + choice: uncommon + choice: rare + choice: mythic rare + choice: special + choice: masterpiece + initial: common + default: card.rarity + +############################################################## The text box +############################################################## Chapter text +### Special textboxes for easier automation of Saga/Class reminder text +card field: + type: text + name: chapter text + description: The saga or class reminder text. + show statistics: false + multi line: true + card list name: Chapter Text + card list column: 0760 + card list width: 150 + default: chapter_text_filter_default(value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"chapter_text") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"chapter_text") +card field: + type: text + name: chapter text 2 + description: The second saga or class reminder text. + show statistics: false + multi line: true + card list name: Chapter Text 2 + card list column: 0761 + card list width: 150 + default: chapter_text_filter_default(value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"chapter_text2") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"chapter_text2") + +############################################################## Rules text +### The fields usually aren't used, see Combined text +card field: + type: text + name: rule text + description: The rules text of the card. + show statistics: false + multi line: true + card list name: Rule Text + card list column: 0700 + card list width: 150 + default: text_filter_default(value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"text") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"text") card field: type: text name: rule text 2 - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"text2") + description: The second rules text of the card. show statistics: false multi line: true - description: The rules text of the card + card list name: Rule Text 2 + card list column: 0701 + card list width: 150 + default: text_filter_default(value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"text2") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"text2") card field: type: text name: rule text 3 - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"text3") + description: The third rules text of the card. show statistics: false multi line: true - description: The rules text of the card + card list name: Rule Text 3 + card list column: 0702 + card list width: 150 + default: text_filter_default(value, card_name: if set.alias_as_cardname and card.alias_3 != "" then card.alias_3 else card.name_3, margin_code:"text3") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias_3 != "" then card.alias_3 else card.name_3, margin_code:"text3") card field: type: text name: rule text 4 - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"text4") + description: The fourth rules text of the card. show statistics: false multi line: true - description: The rules text of the card + card list name: Rule Text 4 + card list column: 0703 + card list width: 150 + default: text_filter_default(value, card_name: if set.alias_as_cardname and card.alias_4 != "" then card.alias_4 else card.name_4, margin_code:"text4") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias_4 != "" then card.alias_4 else card.name_4, margin_code:"text4") + +### 5 and 6 generally aren't used anymore, use level_text instead card field: type: text name: rule text 5 - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"text5") + description: The fifth rules text of the card. show statistics: false multi line: true - description: The rules text of the card + card list name: Rule Text 5 + card list column: 0704 + card list width: 150 + default: text_filter_default(value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"text5") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"text5") card field: type: text name: rule text 6 - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"text6") + description: The sixth rules text of the card. show statistics: false multi line: true - description: The rules text of the card + card list name: Rule Text 6 + card list column: 0705 + card list width: 150 + default: text_filter_default(value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"text6") + script: text_filter(value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"text6") + + +############################################################## Flavor text +### The fields usually aren't used, see Combined text +card field: + type: text + name: flavor text + description: The flavor text of the card. + show statistics: false + multi line: true + card list name: Flavor Text + card list column: 0720 + card list width: 150 + default: flavor_text_filter_default(value, margin_code:"flavor_text") + script: flavor_text_filter(value, margin_code:"flavor_text") card field: type: text name: flavor text 2 - script: flavor_text_filter(value) - multi line: true + description: The second flavor text of the card. show statistics: false + multi line: true + card list name: Flavor Text 2 + card list column: 0721 + card list width: 150 + default: flavor_text_filter_default(value, margin_code:"flavor_text2") + script: flavor_text_filter(value, margin_code:"flavor_text2") card field: type: text name: flavor text 3 - script: flavor_text_filter(value) - multi line: true + description: The third flavor text of the card. show statistics: false + multi line: true + card list name: Flavor Text 3 + card list column: 0722 + card list width: 150 + default: flavor_text_filter_default(value, margin_code:"flavor_text3") + script: flavor_text_filter(value, margin_code:"flavor_text3") +card field: + type: text + name: flavor text 4 + description: The fourth flavor text of the card. + show statistics: false + multi line: true + card list name: Flavor Text 4 + card list column: 0723 + card list width: 150 + default: flavor_text_filter_default(value, margin_code:"flavor_text4") + script: flavor_text_filter(value, margin_code:"flavor_text4") +############################################################## Combined text +### Use combined_editor to edit two fields at once +card field: + type: text + name: text + description: The rules and flavor text of the card. Use up and down arrows to switch between them. + show statistics: false + multi line: true + save value: false + card list name: Text + card list column: 0740 + card list width: 150 + script: + if mainframe_walker() then + mainframe_walker_text_script() + else if alt_text() then + alt_text_script() + else + combined_editor(field1: card.rule_text, separator: "\n", field2: card.flavor_text) card field: type: text name: text 2 + description: The second rules and flavor text of the card. Use up and down arrows to switch between them. + show statistics: false multi line: true save value: false - show statistics: false + card list name: Text 2 + card list column: 0741 + card list width: 150 script: if mainframe_walkerb() then mainframe_walker_text_scriptb() @@ -924,53 +1168,940 @@ card field: alt_text_scriptb() else combined_editor(field1: card.rule_text_2, separator: "\n", field2: card.flavor_text_2) - description: The rules and flavor text of the card card field: type: text name: text 3 + description: The third rules and flavor text of the card. Use up and down arrows to switch between them. + show statistics: false multi line: true save value: false - show statistics: false + card list name: Text 3 + card list column: 0742 + card list width: 150 script: - combined_editor(field1: card.rule_text_3, separator: "\n", field2: card.flavor_text_3) - description: The rules and flavor text of the card + if mainframe_walkerc() then + mainframe_walker_text_scriptc() + else if alt_textc() then + alt_text_scriptc() + else + combined_editor(field1: card.rule_text_3, separator: "\n", field2: card.flavor_text_3) +card field: + type: text + name: text 4 + description: The fourth rules and flavor text of the card. Use up and down arrows to switch between them. + show statistics: false + multi line: true + save value: false + card list name: Text 4 + card list column: 0743 + card list width: 150 + script: + if mainframe_walkerd() then + mainframe_walker_text_scriptd() + else if alt_textd() then + alt_text_scriptd() + else + combined_editor(field1: card.rule_text_4, separator: "\n", field2: card.flavor_text_4) + +############################################################## Watermarks +card field: + type: choice + name: watermark + description: The watermark inside the textbox. Can be a big mana symbol used on basic lands, a guild symbol, etc.. + show statistics: false + card list name: Watermark + card list column: 0900 + card list width: 110 + include file: /magic-modules.mse-include/watermarks/choices card field: type: choice name: watermark 2 - include file: /magic-watermarks.mse-include/watermark-names - icon: stats/watermark.png + description: The watermark inside the second textbox. Can be a big mana symbol used on basic lands, a guild symbol, etc.. show statistics: false - description: A watermark for below the textbox, this can be a big mana symbol used on basic lands, a special symbol, or a guild symbol + card list name: Watermark 2 + card list column: 0901 + card list width: 110 + include file: /magic-modules.mse-include/watermarks/choices card field: type: choice name: watermark 3 - include file: /magic-watermarks.mse-include/watermark-names - icon: stats/watermark.png + description: The watermark inside the third textbox. Can be a big mana symbol used on basic lands, a guild symbol, etc.. show statistics: false - description: A watermark for below the textbox, this can be a big mana symbol used on basic lands, a special symbol, or a guild symbol + card list name: Watermark 3 + card list column: 0902 + card list width: 110 + include file: /magic-modules.mse-include/watermarks/choices +card field: + type: choice + name: watermark 4 + description: The watermark inside the fourth textbox. Can be a big mana symbol used on basic lands, a guild symbol, etc.. + show statistics: false + card list name: Watermark 4 + card list column: 0903 + card list width: 110 + include file: /magic-modules.mse-include/watermarks/choices + +############################################################## Loyalty cost textboxes +card field: + type: text + name: loyalty cost 1 + description: The loyalty cost for the first ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 1 + card list column: 0360 + card list width: 40 +card field: + type: text + name: loyalty cost 2 + description: The loyalty cost for the second ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 2 + card list column: 0361 + card list width: 40 +card field: + type: text + name: loyalty cost 3 + description: The loyalty cost for the third ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 3 + card list column: 0362 + card list width: 40 +card field: + type: text + name: loyalty cost 4 + description: The loyalty cost for the fourth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 4 + card list column: 0363 + card list width: 40 +card field: + type: text + name: loyalty cost 5 + description: The loyalty cost for the fifth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 5 + card list column: 0364 + card list width: 40 +card field: + type: text + name: loyalty cost 6 + description: The loyalty cost for the sixth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 6 + card list column: 0365 + card list width: 40 +card field: + type: text + name: loyalty cost 7 + description: The loyalty cost for the seventh ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 7 + card list column: 0366 + card list width: 40 +card field: + type: text + name: loyalty cost 8 + description: The loyalty cost for the eighth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 8 + card list column: 0367 + card list width: 40 +card field: + type: text + name: loyalty cost 9 + description: The loyalty cost for the ninth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 9 + card list column: 0368 + card list width: 40 +card field: + type: text + name: loyalty cost 10 + description: The loyalty cost for the tenth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 10 + card list column: 0369 + card list width: 40 +card field: + type: text + name: loyalty cost 11 + description: The loyalty cost for the eleventh ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 11 + card list column: 0370 + card list width: 40 +card field: + type: text + name: loyalty cost 12 + description: The loyalty cost for the twelfth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 12 + card list column: 0371 + card list width: 40 +card field: + type: text + name: loyalty cost 13 + description: The loyalty cost for the thirteenth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 13 + card list column: 0372 + card list width: 40 +card field: + type: text + name: loyalty cost 14 + description: The loyalty cost for the fourteenth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 14 + card list column: 0373 + card list width: 40 +card field: + type: text + name: loyalty cost 15 + description: The loyalty cost for the fifteenth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 15 + card list column: 0374 + card list width: 40 +card field: + type: text + name: loyalty cost 16 + description: The loyalty cost for the sixteenth ability of the planeswalker. + show statistics: false + card list name: Loyalty Cost 16 + card list column: 0375 + card list width: 40 + +card field: + type: text + name: loyalty + description: The initial loyalty of the planeswalker, or defense of the battle. + show statistics: false + card list name: Loyalty + card list column: 0350 + card list width: 40 card field: type: text name: loyalty 2 - icon: stats/loyalty.png + description: The second initial loyalty of the planeswalker, or defense of the battle. show statistics: false - description: The initial loyalty of a planeswalker + card list name: Loyalty 2 + card list column: 0351 + card list width: 40 +card field: + type: text + name: loyalty 3 + description: The third initial loyalty of the planeswalker, or defense of the battle. + show statistics: false + card list name: Loyalty 3 + card list column: 0352 + card list width: 40 + +############################################################## Loyalty cost boxes +card field: + type: multiple choice + name: loyalty cost box 1 + description: The loyalty cost box for the first loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 1 + card list column: 0380 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_1; loyalty_cost_box_default(value, margin_code: "loycost1") +card field: + type: multiple choice + name: loyalty cost box 2 + description: The loyalty cost box for the second loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 2 + card list column: 0381 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_2; loyalty_cost_box_default(value, margin_code: "loycost2") +card field: + type: multiple choice + name: loyalty cost box 3 + description: The loyalty cost box for the third loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 3 + card list column: 0382 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_3; loyalty_cost_box_default(value, margin_code: "loycost3") +card field: + type: multiple choice + name: loyalty cost box 4 + description: The loyalty cost box for the fourth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 4 + card list column: 0383 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_4; loyalty_cost_box_default(value, margin_code: "loycost4") +card field: + type: multiple choice + name: loyalty cost box 5 + description: The loyalty cost box for the fifth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 5 + card list column: 0384 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_5; loyalty_cost_box_default(value, margin_code: "loycost5") +card field: + type: multiple choice + name: loyalty cost box 6 + description: The loyalty cost box for the sixth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 6 + card list column: 0385 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_6; loyalty_cost_box_default(value, margin_code: "loycost6") +card field: + type: multiple choice + name: loyalty cost box 7 + description: The loyalty cost box for the seventh loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 7 + card list column: 0386 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_7; loyalty_cost_box_default(value, margin_code: "loycost7") +card field: + type: multiple choice + name: loyalty cost box 8 + description: The loyalty cost box for the eighth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 8 + card list column: 0387 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_8; loyalty_cost_box_default(value, margin_code: "loycost8") +card field: + type: multiple choice + name: loyalty cost box 9 + description: The loyalty cost box for the ninth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 9 + card list column: 0388 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_9; loyalty_cost_box_default(value, margin_code: "loycost9") +card field: + type: multiple choice + name: loyalty cost box 10 + description: The loyalty cost box for the tenth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 10 + card list column: 0389 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_10; loyalty_cost_box_default(value, margin_code: "loycost10") +card field: + type: multiple choice + name: loyalty cost box 11 + description: The loyalty cost box for the eleventh loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 11 + card list column: 0390 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_11; loyalty_cost_box_default(value, margin_code: "loycost11") +card field: + type: multiple choice + name: loyalty cost box 12 + description: The loyalty cost box for the twelfth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 12 + card list column: 0391 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_12; loyalty_cost_box_default(value, margin_code: "loycost12") +card field: + type: multiple choice + name: loyalty cost box 13 + description: The loyalty cost box for the thirteenth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 13 + card list column: 0392 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_13; loyalty_cost_box_default(value, margin_code: "loycost13") +card field: + type: multiple choice + name: loyalty cost box 14 + description: The loyalty cost box for the fourteenth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 14 + card list column: 0393 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_14; loyalty_cost_box_default(value, margin_code: "loycost14") +card field: + type: multiple choice + name: loyalty cost box 15 + description: The loyalty cost box for the fifteenth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 15 + card list column: 0394 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_15; loyalty_cost_box_default(value, margin_code: "loycost15") +card field: + type: multiple choice + name: loyalty cost box 16 + description: The loyalty cost box for the sixteenth loyalty cost of the planeswalker. + show statistics: false + card list name: Loyalty Cost Box 16 + card list column: 0395 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices_cost + default: card.loyalty_cost_16; loyalty_cost_box_default(value, margin_code: "loycost16") + +card field: + type: multiple choice + name: loyalty box + description: The loyalty box for the first loyalty of the planeswalker, or defense of the battle. + show statistics: false + card list name: Loyalty Box + card list column: 0355 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices + default: card.loyalty; card.super_type; loyalty_box_default(value, margin_code: "loy1") +card field: + type: multiple choice + name: loyalty box 2 + description: The loyalty box for the second loyalty of the planeswalker, or defense of the battle. + show statistics: false + card list name: Loyalty Box 2 + card list column: 0356 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices + default: card.loyalty_2; card.super_type_2; loyalty_box_default(value, margin_code: "loy2") +card field: + type: multiple choice + name: loyalty box 3 + description: The loyalty box for the third loyalty of the planeswalker, or defense of the battle. + show statistics: false + card list name: Loyalty Box 3 + card list column: 0357 + card list width: 80 + include file: /magic-modules.mse-include/loyalty/choices + default: card.loyalty_3; card.super_type_3; loyalty_box_default(value, margin_code: "loy3") + +############################################################## Level text +############################################################## "Level X" arrow textboxes +### "level 0" is where a leveler box would go on the line that normally just has level up. +### unfortunately that means level 0 is paired with level_1_text and so on +### this is something that's not really feasible to correct +card field: + type: text + name: level 0 + description: The zeroth level of the card. + show statistics: false + card list name: Level 0 + card list column: 0830 + card list width: 100 + default: level_filter_default(value, margin_code:"lv0") + script: level_filter(value, margin_code:"lv0") +card field: + type: text + name: level 1 + description: The first level of the card. + show statistics: false + card list name: Level 1 + card list column: 0831 + card list width: 100 + default: level_filter_default(value, margin_code:"lv1") + script: level_filter(value, margin_code:"lv1") +card field: + type: text + name: level 2 + description: The second level of the card. + show statistics: false + card list name: Level 2 + card list column: 0832 + card list width: 100 + default: level_filter_default(value, margin_code:"lv2") + script: level_filter(value, margin_code:"lv2") +card field: + type: text + name: level 3 + description: The third level of the card. + show statistics: false + card list name: Level 3 + card list column: 0833 + card list width: 100 + default: level_filter_default(value, margin_code:"lv3") + script: level_filter(value, margin_code:"lv3") +card field: + type: text + name: level 4 + description: The fourth level of the card. + show statistics: false + card list name: Level 4 + card list column: 0834 + card list width: 100 + default: level_filter_default(value, margin_code:"lv4") + script: level_filter(value, margin_code:"lv4") +card field: + type: text + name: level 5 + description: The fifth level of the card. + show statistics: false + card list name: Level 5 + card list column: 0835 + card list width: 100 + default: level_filter_default(value, margin_code:"lv5") + script: level_filter(value, margin_code:"lv5") +card field: + type: text + name: level 6 + description: The sixth level of the card. + show statistics: false + card list name: Level 6 + card list column: 0836 + card list width: 100 + default: level_filter_default(value, margin_code:"lv6") + script: level_filter(value, margin_code:"lv6") +card field: + type: text + name: level 7 + description: The seventh level of the card. + show statistics: false + card list name: Level 7 + card list column: 0837 + card list width: 100 + default: level_filter_default(value, margin_code:"lv7") + script: level_filter(value, margin_code:"lv7") +card field: + type: text + name: level 8 + description: The eighth level of the card. + show statistics: false + card list name: Level 8 + card list column: 0838 + card list width: 100 + default: level_filter_default(value, margin_code:"lv8") + script: level_filter(value, margin_code:"lv8") + +############################################################## Level/Planeswalker/Dungeon ability textboxes +card field: + type: text + name: level 1 text + description: The first level text of the card. + show statistics: false + multi line: true + card list name: Level 1 text + card list column: 0800 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(1), margin_code:"lv1") + script: text_filter(value, card_name: card_name_for_level(1), margin_code:"lv1") +card field: + type: text + name: level 2 text + description: The second level text of the card. + show statistics: false + multi line: true + card list name: Level 2 text + card list column: 0801 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(2), margin_code:"lv2") + script: text_filter(value, card_name: card_name_for_level(2), margin_code:"lv2") +card field: + type: text + name: level 3 text + description: The third level text of the card. + show statistics: false + multi line: true + card list name: Level 3 text + card list column: 0802 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(3), margin_code:"lv3") + script: text_filter(value, card_name: card_name_for_level(3), margin_code:"lv3") +card field: + type: text + name: level 4 text + description: The fourth level text of the card. + show statistics: false + multi line: true + card list name: Level 4 text + card list column: 0803 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(4), margin_code:"lv4") + script: text_filter(value, card_name: card_name_for_level(4), margin_code:"lv4") +card field: + type: text + name: level 5 text + description: The fifth level text of the card. + show statistics: false + multi line: true + card list name: Level 5 text + card list column: 0804 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(5), margin_code:"lv5") + script: text_filter(value, card_name: card_name_for_level(5), margin_code:"lv5") +card field: + type: text + name: level 6 text + description: The sixth level text of the card. + show statistics: false + multi line: true + card list name: Level 6 text + card list column: 0805 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(6), margin_code:"lv6") + script: text_filter(value, card_name: card_name_for_level(6), margin_code:"lv6") +card field: + type: text + name: level 7 text + description: The seventh level text of the card. + show statistics: false + multi line: true + card list name: Level 7 text + card list column: 0806 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(7), margin_code:"lv7") + script: text_filter(value, card_name: card_name_for_level(7), margin_code:"lv7") +card field: + type: text + name: level 8 text + description: The eighth level text of the card. + show statistics: false + multi line: true + card list name: Level 8 text + card list column: 0807 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(8), margin_code:"lv8") + script: text_filter(value, card_name: card_name_for_level(8), margin_code:"lv8") +card field: + type: text + name: level 9 text + description: The ninth level text of the card. + show statistics: false + multi line: true + card list name: Level 9 text + card list column: 0808 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(9), margin_code:"lv9") + script: text_filter(value, card_name: card_name_for_level(9), margin_code:"lv9") +card field: + type: text + name: level 10 text + description: The tenth level text of the card. + show statistics: false + multi line: true + card list name: Level 10 text + card list column: 0809 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(10), margin_code:"lv10") + script: text_filter(value, card_name: card_name_for_level(10), margin_code:"lv10") +card field: + type: text + name: level 11 text + description: The eleventh level text of the card. + show statistics: false + multi line: true + card list name: Level 11 text + card list column: 0810 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(11), margin_code:"lv11") + script: text_filter(value, card_name: card_name_for_level(11), margin_code:"lv11") +card field: + type: text + name: level 12 text + description: The twelfth level text of the card. + show statistics: false + multi line: true + card list name: Level 12 text + card list column: 0811 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(12), margin_code:"lv12") + script: text_filter(value, card_name: card_name_for_level(12), margin_code:"lv12") +card field: + type: text + name: level 13 text + description: The thirteenth level text of the card. + show statistics: false + multi line: true + card list name: Level 13 text + card list column: 0812 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(13), margin_code:"lv13") + script: text_filter(value, card_name: card_name_for_level(13), margin_code:"lv13") +card field: + type: text + name: level 14 text + description: The fourteenth level text of the card. + show statistics: false + multi line: true + card list name: Level 14 text + card list column: 0813 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(14), margin_code:"lv14") + script: text_filter(value, card_name: card_name_for_level(14), margin_code:"lv14") +card field: + type: text + name: level 15 text + description: The fifteenth level text of the card. + show statistics: false + multi line: true + card list name: Level 15 text + card list column: 0814 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(15), margin_code:"lv15") + script: text_filter(value, card_name: card_name_for_level(15), margin_code:"lv15") +card field: + type: text + name: level 16 text + description: The sixteenth level text of the card. + show statistics: false + multi line: true + card list name: Level 16 text + card list column: 0815 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(16), margin_code:"lv16") + script: text_filter(value, card_name: card_name_for_level(16), margin_code:"lv16") +### These are only used by very large Dungeons +card field: + type: text + name: level 17 text + description: The seventeenth level text of the card. + show statistics: false + multi line: true + card list name: Level 17 text + card list column: 0816 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(17), margin_code:"lv17") + script: text_filter(value, card_name: card_name_for_level(17), margin_code:"lv17") +card field: + type: text + name: level 18 text + description: The eighteenth level text of the card. + show statistics: false + multi line: true + card list name: Level 18 text + card list column: 0817 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(18), margin_code:"lv18") + script: text_filter(value, card_name: card_name_for_level(18), margin_code:"lv18") +card field: + type: text + name: level 19 text + description: The nineteenth level text of the card. + show statistics: false + multi line: true + card list name: Level 19 text + card list column: 0818 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(19), margin_code:"lv19") + script: text_filter(value, card_name: card_name_for_level(19), margin_code:"lv19") +card field: + type: text + name: level 20 text + description: The twentieth level text of the card. + show statistics: false + multi line: true + card list name: Level 20 text + card list column: 0819 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(20), margin_code:"lv20") + script: text_filter(value, card_name: card_name_for_level(20), margin_code:"lv20") +card field: + type: text + name: level 21 text + description: The twenty-first level text of the card. + show statistics: false + multi line: true + card list name: Level 21 text + card list column: 0820 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(21), margin_code:"lv21") + script: text_filter(value, card_name: card_name_for_level(21), margin_code:"lv21") +card field: + type: text + name: level 22 text + description: The twenty-second level text of the card. + show statistics: false + multi line: true + card list name: Level 22 text + card list column: 0821 + card list width: 150 + default: text_filter_default(value, card_name: card_name_for_level(22), margin_code:"lv22") + script: text_filter(value, card_name: card_name_for_level(22), margin_code:"lv22") + +############################################################## PT +############################################################## Power +### These fields usually aren't used, see Combined PT +card field: + type: text + name: power + description: The power of the creature. + show statistics: false + card list name: Power + card list column: 0320 + card list width: 40 + script: type_over_pt(value) card field: type: text name: power 2 - icon: stats/power.png + description: The second power of the creature. show statistics: false + card list name: Power 2 + card list column: 0321 + card list width: 40 script: type_over_pt(value) - description: The power of a creature +card field: + type: text + name: power 3 + description: The third power of the creature. + show statistics: false + card list name: Power 3 + card list column: 0322 + card list width: 40 + script: type_over_pt(value) +card field: + type: text + name: power 4 + description: The fourth power of the creature. + show statistics: false + card list name: Power 4 + card list column: 0323 + card list width: 40 + script: type_over_pt(value) +card field: + type: text + name: power 5 + description: The fifth power of the creature. + show statistics: false + card list name: Power 5 + card list column: 0324 + card list width: 40 + script: type_over_pt(value) +card field: + type: text + name: power 6 + description: The sixth power of the creature. + show statistics: false + card list name: Power 6 + card list column: 0325 + card list width: 40 + script: type_over_pt(value) +card field: + type: text + name: power 7 + description: The seventh power of the creature. + show statistics: false + card list name: Power 7 + card list column: 0326 + card list width: 40 + script: type_over_pt(value) +card field: + type: text + name: power 8 + description: The eighth power of the creature. + show statistics: false + card list name: Power 8 + card list column: 0327 + card list width: 40 + script: type_over_pt(value) + +############################################################## Toughness +### These fields usually aren't used, see Combined PT +card field: + type: text + name: toughness + description: The toughness of the creature. + show statistics: false + card list name: Toughness + card list column: 0340 + card list width: 40 card field: type: text name: toughness 2 - icon: stats/toughness.png + description: The second toughness of the creature. show statistics: false - description: The toughness of a creature + card list name: Toughness 2 + card list column: 0341 + card list width: 40 +card field: + type: text + name: toughness 3 + description: The third toughness of the creature. + show statistics: false + card list name: Toughness 3 + card list column: 0342 + card list width: 40 +card field: + type: text + name: toughness 4 + description: The fourth toughness of the creature. + show statistics: false + card list name: Toughness 4 + card list column: 0343 + card list width: 40 +card field: + type: text + name: toughness 5 + description: The fifth toughness of the creature. + show statistics: false + card list name: Toughness 5 + card list column: 0344 + card list width: 40 +card field: + type: text + name: toughness 6 + description: The sixth toughness of the creature. + show statistics: false + card list name: Toughness 6 + card list column: 0345 + card list width: 40 +card field: + type: text + name: toughness 7 + description: The seventh toughness of the creature. + show statistics: false + card list name: Toughness 7 + card list column: 0346 + card list width: 40 +card field: + type: text + name: toughness 8 + description: The eighth toughness of the creature. + show statistics: false + card list name: Toughness 8 + card list column: 0347 + card list width: 40 + +############################################################## Combined PT +### Use combined_editor to edit two fields at once +card field: + type: text + name: pt + description: The combined power/toughness of the creature. + show statistics: false + save value: false + card list visible: true + card list name: P/T + card list column: 0300 + card list width: 60 + script: + combined_editor( + field1: card.power, + separator: language().pt_separator, + field2: card.toughness, + soft_before_empty: true, + hide_when_empty: true + ) card field: type: text name: pt 2 + description: The second combined power/toughness of the creature. + show statistics: false save value: false + card list name: P/T 2 + card list column: 0301 + card list width: 60 script: combined_editor( field1: card.power_2, @@ -979,27 +2110,15 @@ card field: soft_before_empty: true, hide_when_empty: true ) - card list width: 50 - card list name: P/T2 - show statistics: false - description: Power/Toughness of a creature -card field: - type: text - name: power 3 - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness 3 - icon: stats/toughness.png - show statistics: false - description: The toughness of a creature card field: type: text name: pt 3 + description: The third combined power/toughness of the creature. + show statistics: false save value: false + card list name: P/T 3 + card list column: 0302 + card list width: 60 script: combined_editor( field1: card.power_3, @@ -1008,235 +2127,15 @@ card field: soft_before_empty: true, hide_when_empty: true ) - card list width: 50 - card list name: P/T3 - show statistics: false - description: Power/Toughness of a creature -card field: - type: text - name: illustrator 2 - icon: stats/illustrator.png - default: set.artist - show statistics: false - description: The illustrator of the image -card field: - type: text - name: copyright 2 - default: set.copyright - show statistics: false -card field: - type: text - name: copyright line 2 - save value: false - show statistics: false - script: - if set.automatic_card_numbers then - combined_editor(field1: card.copyright_2, separator: " ", field2: card.card_number) - else - forward_editor(field: card.copyright_2) - description: The copyright and card number of the card -card field: - type: text - name: illustrator 3 - icon: stats/illustrator.png - default: set.artist - show statistics: false - description: The illustrator of the image -card field: - type: text - name: copyright 3 - default: set.copyright - show statistics: false -card field: - type: text - name: copyright line 3 - save value: false - show statistics: false - script: - if set.automatic_card_numbers then - combined_editor(field1: card.copyright_3, separator: " ", field2: card.card_number) - else - forward_editor(field: card.copyright_3) - description: The copyright and card number of the card -card field: - type: text - name: set code 2 - editable: false - save value: false - script: (if is_masterpiece() then set.masterpiece_set_code else set.set_code) + (if set.set_language != "" then " • " + set.set_language else "") - show statistics: false -card field: - type: text - name: set code 3 - editable: false - save value: false - script: (if is_masterpiece() then set.masterpiece_set_code else set.set_code) + " • " + set.set_language - show statistics: false -########################back Leveler textboxes -card field: - type: text - name: level 5 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv5") - show statistics: false - multi line: true - description: The fifth level text for the card -card field: - type: text - name: level 6 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv6") - show statistics: false - multi line: true - description: The sixth level text for the card -card field: - type: text - name: level 7 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv7") - show statistics: false - multi line: true - description: The seventh level text for the card -card field: - type: text - name: level 8 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv8") - show statistics: false - multi line: true - description: The eighth level text for the card -card field: - type: text - name: level 9 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv9") - show statistics: false - multi line: true - description: The ninth level text for the card -card field: - type: text - name: level 10 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv10") - show statistics: false - multi line: true - description: The tenth level text for the card -card field: - type: text - name: level 11 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv11") - show statistics: false - multi line: true - description: The eleventh level text for the card -card field: - type: text - name: level 12 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv12") - show statistics: false - multi line: true - description: The twelvth level text for the card -card field: - type: text - name: level 13 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv13") - show statistics: false - multi line: true - description: The thirteenth level text for the card -card field: - type: text - name: level 14 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv14") - show statistics: false - multi line: true - description: The fourteenth level text for the card -card field: - type: text - name: level 15 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv15") - show statistics: false - multi line: true - description: The fifteenth level text for the card -card field: - type: text - name: level 16 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv16") - show statistics: false - multi line: true - description: The sixteenth level text for the card -card field: - type: text - name: level 17 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv17") - show statistics: false - multi line: true - description: The seventeenth level text for the card -card field: - type: text - name: level 18 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv18") - show statistics: false - multi line: true - description: The eighteenth level text for the card -card field: - type: text - name: level 19 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"lv19") - show statistics: false - multi line: true - description: The nineteenth level text for the card -card field: - type: text - name: level 20 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv20") - show statistics: false - multi line: true - description: The twentieth level text for the card -card field: - type: text - name: level 21 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv21") - show statistics: false - multi line: true - description: The twenty-first level text for the card -card field: - type: text - name: level 22 text - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias != "" then card.alias else card.name, margin_code:"lv22") - show statistics: false - multi line: true - description: The twenty-second level text for the card -card field: - type: text - name: level 5 - description: The fifth level of a card - show statistics: false -card field: - type: text - name: level 6 - description: The sixth level of a card - show statistics: false -card field: - type: text - name: level 7 - description: The seventh level of a card - show statistics: false -card field: - type: text - name: level 8 - description: The eighth level of a card - show statistics: false - -card field: - type: text - name: power 4 - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness 4 - icon: stats/toughness.png - show statistics: false - description: The toughness of a creature card field: type: text name: pt 4 + description: The fourth combined power/toughness of the creature. + show statistics: false save value: false + card list name: P/T 4 + card list column: 0303 + card list width: 60 script: combined_editor( field1: card.power_4, @@ -1245,27 +2144,15 @@ card field: soft_before_empty: true, hide_when_empty: true ) - card list width: 50 - card list name: P/T4 - show statistics: false - description: Power/Toughness of a creature -card field: - type: text - name: power 5 - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness 5 - icon: stats/toughness.png - show statistics: false - description: The toughness of a creature card field: type: text name: pt 5 + description: The fifth combined power/toughness of the creature. + show statistics: false save value: false + card list name: P/T 5 + card list column: 0304 + card list width: 60 script: combined_editor( field1: card.power_5, @@ -1274,27 +2161,15 @@ card field: soft_before_empty: true, hide_when_empty: true ) - card list width: 50 - card list name: P/T5 - show statistics: false - description: Power/Toughness of a creature -card field: - type: text - name: power 6 - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness 6 - icon: stats/toughness.png - show statistics: false - description: The toughness of a creature card field: type: text name: pt 6 + description: The sixth combined power/toughness of the creature. + show statistics: false save value: false + card list name: P/T 6 + card list column: 0305 + card list width: 60 script: combined_editor( field1: card.power_6, @@ -1303,27 +2178,15 @@ card field: soft_before_empty: true, hide_when_empty: true ) - card list width: 50 - card list name: P/T6 - show statistics: false - description: Power/Toughness of a creature -card field: - type: text - name: power 7 - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness 7 - icon: stats/toughness.png - show statistics: false - description: The toughness of a creature card field: type: text name: pt 7 + description: The seventh combined power/toughness of the creature. + show statistics: false save value: false + card list name: P/T 7 + card list column: 0306 + card list width: 60 script: combined_editor( field1: card.power_7, @@ -1332,27 +2195,15 @@ card field: soft_before_empty: true, hide_when_empty: true ) - card list width: 50 - card list name: P/T7 - show statistics: false - description: Power/Toughness of a creature -card field: - type: text - name: power 8 - icon: stats/power.png - show statistics: false - script: type_over_pt(value) - description: The power of a creature -card field: - type: text - name: toughness 8 - icon: stats/toughness.png - show statistics: false - description: The toughness of a creature card field: type: text name: pt 8 + description: The eighth combined power/toughness of the creature. + show statistics: false save value: false + card list name: P/T 8 + card list column: 0307 + card list width: 60 script: combined_editor( field1: card.power_8, @@ -1361,50 +2212,391 @@ card field: soft_before_empty: true, hide_when_empty: true ) - card list width: 50 - card list name: P/T8 + +############################################################## Separators +card field: + type: choice + name: separator + description: The separator between blocks of text, such as the flavor bar. show statistics: false - description: Power/Toughness of a creature + card list name: Separator + card list column: 0910 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep1") +card field: + type: choice + name: separator 2 + description: The second separator between blocks of text, such as the flavor bar. + show statistics: false + card list name: Separator 2 + card list column: 0911 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep2") +card field: + type: choice + name: separator 3 + description: The third separator between blocks of text, such as the flavor bar. + show statistics: false + card list name: Separator 3 + card list column: 0912 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep3") +card field: + type: choice + name: separator 4 + description: The fourth separator between blocks of text, such as the flavor bar. + show statistics: false + card list name: Separator 4 + card list column: 0913 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep4") +card field: + type: choice + name: separator 5 + description: The fifth separator between blocks of text, such as the flavor bar. + show statistics: false + card list name: Separator 5 + card list column: 0914 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep5") +card field: + type: choice + name: separator 6 + description: The sixth separator between blocks of text, such as the flavor bar. + show statistics: false + card list name: Separator 6 + card list column: 0915 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep6") +card field: + type: choice + name: separator 7 + description: The seventh separator between blocks of text, such as the flavor bar. + show statistics: false + card list name: Separator 7 + card list column: 0916 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep7") +card field: + type: choice + name: separator 8 + description: The eighth separator between blocks of text, such as the flavor bar. + show statistics: false + card list name: Separator 8 + card list column: 0917 + card list width: 110 + include file: /magic-modules.mse-include/separators/choices + default: separator_default(value, margin_code: "sep8") + +############################################################## Holofoil stamps +card field: + type: choice + name: card stamp + description: The hologram security stamp of the card. + show statistics: false + card list name: Stamp + card list column: 1000 + card list width: 110 + include file: /magic-modules.mse-include/stamps/card_choices + default: card_stamp_default(field:1, margin_code: "stamp1") +card field: + type: choice + name: card stamp 2 + description: The second hologram security stamp of the card. + show statistics: false + card list name: Stamp 2 + card list column: 1001 + card list width: 110 + include file: /magic-modules.mse-include/stamps/card_choices + default: card_stamp_default(field:2, margin_code: "stamp2") +card field: + type: choice + name: card stamp 3 + description: The third hologram security stamp of the card. + show statistics: false + card list name: Stamp 3 + card list column: 1002 + card list width: 110 + include file: /magic-modules.mse-include/stamps/card_choices + default: card_stamp_default(field:3, margin_code: "stamp3") + + +############################################################## Punchout counter symbols +card field: + type: choice + name: counter + description: The symbol for the first counter of the sheet. + show statistics: false + card list name: Counter + card list column: 1660 + card list width: 100 + include file: /magic-modules.mse-include/counters/choices + default: counter_default(value, margin_code: "counter") +card field: + type: choice + name: counter 2 + description: The symbol for the second counter of the sheet. + show statistics: false + card list name: Counter 2 + card list column: 1661 + card list width: 100 + include file: /magic-modules.mse-include/counters/choices + default: counter_default(value, margin_code: "counter2") +card field: + type: choice + name: counter 3 + description: The symbol for the third counter of the sheet. + show statistics: false + card list name: Counter 3 + card list column: 1662 + card list width: 100 + include file: /magic-modules.mse-include/counters/choices + default: counter_default(value, margin_code: "counter3") +card field: + type: choice + name: counter 4 + description: The symbol for the fourth counter of the sheet. + show statistics: false + card list name: Counter 4 + card list column: 1663 + card list width: 100 + include file: /magic-modules.mse-include/counters/choices + default: counter_default(value, margin_code: "counter4") +card field: + type: choice + name: counter 5 + description: The symbol for the fifth counter of the sheet. + show statistics: false + card list name: Counter 5 + card list column: 1664 + card list width: 100 + include file: /magic-modules.mse-include/counters/choices + default: counter_default(value, margin_code: "counter5") +card field: + type: choice + name: counter 6 + description: The symbol for the sixth counter of the sheet. + show statistics: false + card list name: Counter 6 + card list column: 1665 + card list width: 100 + include file: /magic-modules.mse-include/counters/choices + default: counter_default(value, margin_code: "counter6") + +############################################################## Information below the textbox +############################################################## Illustrator card field: type: text - name: cmc + name: illustrator + description: The illustrator of the card. Default value can be changed on the 'set info' tab. Can also be used for flavor, mechanics or template credit. show statistics: false - position hint: 2 - script: cmc(card.casting_cost) card list visible: true - card list column: 3 - card list alignment: right - card list width: 50 - card list name: CMC - description: The converted mana cost of the card -card field: - type: image - name: mainframe image - show statistics: false - description: An extra image of the card -card field: - type: image - name: mainframe image 2 - show statistics: false - description: An extra image of the card + card list name: Artist + card list column: 1100 + card list width: 150 + default: set.artist card field: type: text - name: special text + name: illustrator 2 + description: The second illustrator of the card. Default value can be changed on the 'set info' tab. Can also be used for flavor, mechanics or template credit. show statistics: false - script: special_text() - save value: true - description: Full text for exporting. + card list name: Artist 2 + card list column: 1101 + card list width: 150 + default: set.artist card field: type: text - name: special text 2 + name: illustrator 3 + description: The third illustrator of the card. Default value can be changed on the 'set info' tab. Can also be used for flavor, mechanics or template credit. show statistics: false - script: special_text2() - save value: true - description: Full text for exporting. + card list name: Artist 3 + card list column: 1102 + card list width: 150 + default: set.artist + +card field: + type: choice + name: illustrator brush + description: The brush icon next to the illustrator name. Can also be used for flavor, mechanics or template credit. + show statistics: false + card list name: Credit Icon + card list column: 1110 + card list width: 100 + include file: /magic-modules.mse-include/information/choices + default: illustrator_brush_default(value, margin_code: "brush1") +card field: + type: choice + name: illustrator brush 2 + description: The brush icon next to the second illustrator name. Can also be used for flavor, mechanics or template credit. + show statistics: false + card list name: Credit Icon 2 + card list column: 1111 + card list width: 100 + include file: /magic-modules.mse-include/information/choices + default: illustrator_brush_default(value, margin_code: "brush2") +card field: + type: choice + name: illustrator brush 3 + description: The brush icon next to the third illustrator name. Can also be used for flavor, mechanics or template credit. + show statistics: false + card list name: Credit Icon 3 + card list column: 1112 + card list width: 100 + include file: /magic-modules.mse-include/information/choices + default: illustrator_brush_default(value, margin_code: "brush3") + +############################################################## Additional credit fields +card field: + type: text + name: additional credit + description: Credit for other things like flavor or mechanics. + show statistics: false + card list name: Additional Credit + card list column: 1120 + card list width: 150 + default: additional_credit_default(value, margin_code: "addcredit1") +card field: + type: text + name: additional credit 2 + description: Second credit for other things like flavor or mechanics. + show statistics: false + card list name: Additional Credit 2 + card list column: 1121 + card list width: 150 + default: additional_credit_default(value, margin_code: "addcredit2") +card field: + type: text + name: additional credit 3 + description: Third credit for other things like flavor or mechanics. + show statistics: false + card list name: Additional Credit 3 + card list column: 1122 + card list width: 150 + default: additional_credit_default(value, margin_code: "addcredit3") +card field: + type: text + name: additional credit 4 + description: Fourth credit for other things like flavor or mechanics. + show statistics: false + card list name: Additional Credit 4 + card list column: 1123 + card list width: 150 + default: additional_credit_default(value, margin_code: "addcredit4") +card field: + type: text + name: additional credit 5 + description: Fifth credit for other things like flavor or mechanics. + show statistics: false + card list name: Additional Credit 5 + card list column: 1124 + card list width: 150 + default: additional_credit_default(value, margin_code: "addcredit5") + +card field: + type: choice + name: additional credit brush + description: The brush icon next to the additional credit. + show statistics: false + card list name: Additional Credit Icon + card list column: 1130 + card list width: 100 + choice: none + include file: /magic-modules.mse-include/information/choices + default: additional_credit_brush_default(value, margin_code: "addbrush1") +card field: + type: choice + name: additional credit brush 2 + description: The brush icon next to the second additional credit. + show statistics: false + card list name: Additional Credit Icon 2 + card list column: 1131 + card list width: 100 + choice: none + include file: /magic-modules.mse-include/information/choices + default: additional_credit_brush_default(value, margin_code: "addbrush2") +card field: + type: choice + name: additional credit brush 3 + description: The brush icon next to the third additional credit. + show statistics: false + card list name: Additional Credit Icon 3 + card list column: 1132 + card list width: 100 + choice: none + include file: /magic-modules.mse-include/information/choices + default: additional_credit_brush_default(value, margin_code: "addbrush3") +card field: + type: choice + name: additional credit brush 4 + description: The brush icon next to the fourth additional credit. + show statistics: false + card list name: Additional Credit Icon 4 + card list column: 1133 + card list width: 100 + choice: none + include file: /magic-modules.mse-include/information/choices + default: additional_credit_brush_default(value, margin_code: "addbrush4") +card field: + type: choice + name: additional credit brush 5 + description: The brush icon next to the fifth additional credit. + show statistics: false + card list name: Additional Credit Icon 5 + card list column: 1134 + card list width: 100 + choice: none + include file: /magic-modules.mse-include/information/choices + default: additional_credit_brush_default(value, margin_code: "addbrush5") + +############################################################## The List icon +card field: + type: choice + name: the list icon + description: The icon placed on cards from The List. + show statistics: false + card list name: The List Icon + card list column: 1140 + card list width: 100 + include file: /magic-modules.mse-include/information/choices_the_list + default: the_list_icon_default(value, margin_code: "listicon1") +card field: + type: choice + name: the list icon 2 + description: The second icon placed on cards from The List. + show statistics: false + card list name: The List Icon 2 + card list column: 1141 + card list width: 100 + include file: /magic-modules.mse-include/information/choices_the_list + default: the_list_icon_default(value, margin_code: "listicon2") +card field: + type: choice + name: the list icon 3 + description: The third icon placed on cards from The List. + show statistics: false + card list name: The List Icon 3 + card list column: 1142 + card list width: 100 + include file: /magic-modules.mse-include/information/choices_the_list + default: the_list_icon_default(value, margin_code: "listicon3") + +############################################################## Partition selector +### Usually this is layered on top of the automated card number card field: type: choice name: partition select + description: The partition index for card sorting. show statistics: false + card list name: Partition Select + card list column: 620 + card list width: 100 choice: name: before normal choice: 0 @@ -1458,50 +2650,385 @@ card field: choice: You can change the flip point in the Set tab if you need to choice: with option "Last main partition", which defaults to M initial: A - description: The partition index for card sorting. card field: type: text name: partition - script: partition_index() - save value: false -card field: - type: text - name: time modified + description: The partition for card sorting. show statistics: false save value: false - script: card.time_modified + card list name: Partition + card list column: 621 + card list width: 100 + script: partition_index() + +############################################################## Card number section +############################################################## Card number +card field: + type: text + name: card number + description: The cardnumber of the card. + show statistics: false + save value: false + editable: false + card list visible: true + card list name: # + card list column: 0600 + card list alignment: right + card list width: 90 + script: card_number() + "/" + card_count() + sort script: rarity_partition_sort() + card_number_mom() + +card field: + type: text + name: custom card number + description: The custom cardnumber of the card, defined by the user. + show statistics: false + card list name: Custom # + card list column: 0602 + card list alignment: right + card list width: 90 + +############################################################## Card code text +card field: + type: text + name: card code text + description: Additional text next to the set code, written by the user. + show statistics: false + card list name: Code Text + card list column: 1420 + card list width: 150 +card field: + type: text + name: card code text 2 + description: Additional text next to the second set code, written by the user. + show statistics: false + card list name: Code Text 2 + card list column: 1421 + card list width: 150 + default: card.card_code_text +card field: + type: text + name: card code text 3 + description: Additional text next to the third set code, written by the user. + show statistics: false + card list name: Code Text 3 + card list column: 1422 + card list width: 150 + default: card.card_code_text + +############################################################## Combined card code +card field: + type: text + name: card code + description: The combined rarity letter, card number and card code text. + show statistics: false + save value: false + card list name: Card Code + card list column: 1400 + card list width: 150 + script: card_code_script(value) +card field: + type: text + name: card code 2 + description: The second combined rarity letter, card number and card code text. + show statistics: false + save value: false + card list name: Card Code 2 + card list column: 1401 + card list width: 150 + script: card_code_script2(value) +card field: + type: text + name: card code 3 + description: The third combined rarity letter, card number and card code text. + show statistics: false + save value: false + card list name: Card Code 3 + card list column: 1402 + card list width: 150 + script: card_code_script3(value) + +############################################################## Set language +card field: + type: text + name: set language + description: The two letter set language line. Default value can be changed on the 'set info' tab. + show statistics: false + save value: false + editable: false + card list name: Set Language + card list column: 1320 + card list width: 150 + script: set_language_script(value, margin_code:"setlang1") +card field: + type: text + name: set language 2 + description: The second two letter set language line. Default value can be changed on the 'set info' tab. + show statistics: false + save value: false + editable: false + card list name: Set Language 2 + card list column: 1321 + card list width: 150 + script: set_language_script(value, margin_code:"setlang2") +card field: + type: text + name: set language 3 + description: The third two letter set language line. Default value can be changed on the 'set info' tab. + show statistics: false + save value: false + editable: false + card list name: Set Language 3 + card list column: 1322 + card list width: 150 + script: set_language_script(value, margin_code:"setlang3") + +############################################################## Set code +card field: + type: text + name: set code + description: The three letter set code and set language line. Default values can be changed on the 'set info' tab. + show statistics: false + save value: false + editable: false + card list name: Set Code + card list column: 1300 + card list width: 150 + script: set_code_script(value, margin_code:"setcode1") +card field: + type: text + name: set code 2 + description: The second three letter set code and set language line. Default values can be changed on the 'set info' tab. + show statistics: false + save value: false + editable: false + card list name: Set Code 2 + card list column: 1301 + card list width: 150 + script: set_code_script(value, margin_code:"setcode2") +card field: + type: text + name: set code 3 + description: The third three letter set code and set language line. Default values can be changed on the 'set info' tab. + show statistics: false + save value: false + editable: false + card list name: Set Code 3 + card list column: 1302 + card list width: 150 + script: set_code_script(value, margin_code:"setcode3") + +############################################################## Copyright lines +############################################################## Basic copyright +card field: + type: text + name: copyright + description: The copyright of the card. Default value can be changed on the 'set info' tab. + show statistics: false + card list name: © + card list column: 1200 + card list width: 150 + default: copyright_default(value, margin_code:"copyright1") +card field: + type: text + name: copyright 2 + description: The second copyright of the card. Default value can be changed on the 'set info' tab. + show statistics: false + card list name: © 2 + card list column: 1201 + card list width: 150 + default: copyright_default(value, margin_code:"copyright2") +card field: + type: text + name: copyright 3 + description: The third copyright of the card. Default value can be changed on the 'set info' tab. + show statistics: false + card list name: © 3 + card list column: 1202 + card list width: 150 + default: copyright_default(value, margin_code:"copyright3") + +############################################################## Automated copyright +card field: + type: text + name: auto copyright + description: A mirror of set.copyright that can be toggled on or off. + show statistics: false + save value: false + editable: false + card list visible: false + card list name: Auto © + card list column: 1260 + card list alignment: right + card list width: 90 + script: set.copyright +card field: + type: text + name: auto copyright 2 + description: A second mirror of set.copyright that can be toggled on or off. + show statistics: false + save value: false + editable: false + card list visible: false + card list name: Auto © 2 + card list column: 1261 + card list alignment: right + card list width: 90 + script: set.copyright +card field: + type: text + name: auto copyright 3 + description: A third mirror of set.copyright that can be toggled on or off. + show statistics: false + save value: false + editable: false + card list visible: false + card list name: Auto © 3 + card list column: 1262 + card list alignment: right + card list width: 90 + script: set.copyright + +############################################################## Secondary copyright for Universes Beyond +card field: + type: text + name: secondary copyright + description: The additional copyright of the card, on Universes Beyond cards. + show statistics: false + card list name: © B + card list column: 1220 + card list width: 150 + default: secondary_copyright_default(value, margin_code:"copyrightb1") +card field: + type: text + name: secondary copyright 2 + description: The second additional copyright of the card, on Universes Beyond cards. + show statistics: false + card list name: © B 2 + card list column: 1221 + card list width: 150 + default: secondary_copyright_default(value, margin_code:"copyrightb2") +card field: + type: text + name: secondary copyright 3 + description: The third additional copyright of the card, on Universes Beyond cards. + show statistics: false + card list name: © B 3 + card list column: 1222 + card list width: 150 + default: secondary_copyright_default(value, margin_code:"copyrightb3") + +############################################################## Old frame copyright line +card field: + type: text + name: copyright line + description: The combined copyright and cardnumber of the card. Default value can be changed on the 'set info' tab. + show statistics: false + save value: false + card list name: © Line + card list column: 1240 + card list width: 150 + script: + if set.automatic_card_numbers and set.automatic_copyright then + set.copyright + " " + card.card_number + else if set.automatic_card_numbers then + combined_editor(field1: card.copyright, separator: " ", field2: card.card_number) + else + forward_editor(field: card.copyright) +card field: + type: text + name: copyright line 2 + description: The second combined copyright and cardnumber of the card. Default value can be changed on the 'set info' tab. + show statistics: false + save value: false + card list name: © Line 2 + card list column: 1241 + card list width: 150 + script: + if set.automatic_card_numbers and set.automatic_copyright then + set.copyright + " " + card.card_number + else if set.automatic_card_numbers then + combined_editor(field1: card.copyright_2, separator: " ", field2: card.card_number) + else + forward_editor(field: card.copyright_2) +card field: + type: text + name: copyright line 3 + description: The third combined copyright and cardnumber of the card. Default value can be changed on the 'set info' tab. + show statistics: false + save value: false + card list name: © Line 3 + card list column: 1242 + card list width: 150 + script: + if set.automatic_card_numbers and set.automatic_copyright then + set.copyright + " " + card.card_number + else if set.automatic_card_numbers then + combined_editor(field1: card.copyright_3, separator: " ", field2: card.card_number) + else + forward_editor(field: card.copyright_3) + +############################################################## Mirror fields for sorting +card field: + type: text + name: sorted notes + description: A mirror of card notes, to make it sortable. Only updates on data reload. + show statistics: false + multi line: true + save value: false + editable: false + card list visible: true + card list name: Card Notes + card list column: 1500 + card list width: 150 + script: card.notes + +card field: + type: text + name: template + description: The template of the card, to make it sortable. + show statistics: false + save value: false + editable: false + card list name: Template + card list column: 1600 + card list width: 100 + script: stylesheet.short_name + card field: type: text name: time created + description: A mirror of time created, to make it sortable. Only updates on data reload. show statistics: false save value: false + editable: false + card list name: Time Created + card list column: 1710 + card list width: 150 script: card.time_created + card field: type: text - name: chapter text + name: time modified + description: A mirror of time modified, to make it sortable. Only updates on data reload. show statistics: false - multi line: true - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name, margin_code:"unknown") - default: if not a_saga() then "" else if card.rule_text != "" then card.rule_text else "(" + saga_reminder() + ")" - description: The saga reminder text + save value: false + editable: false + card list name: Time Modified + card list column: 1720 + card list width: 150 + script: card.time_modified + card field: type: text - name: chapter text 2 + name: custom index + description: Linked to set.custom_index. Allows for sorting based on multiple criteria. show statistics: false - multi line: true - script: text_filter(input: value, card_name: if set.alias_as_cardname and card.alias_2 != "" then card.alias_2 else card.name_2, margin_code:"unknown") - default: if not b_saga() then "" else "(" + saga_reminderb() + ")" - description: The saga reminder text -card field: - type: choice - name: card stamp 2 - choice: standard - choice: none - choice: acorn - choice: universes beyond - choice: alchemy - choice: alchemy old - choice: custom - default: set.default_stamp - show statistics: false - description: The stamp style for this card. + save value: false + editable: false + card list visible: true + card list name: Custom Index + card list column: 9999 + card list alignment: right + card list width: 50 + script: custom_index() diff --git a/data/magic.mse-game/corners/diagonal.png b/data/magic.mse-game/corners/diagonal.png new file mode 100644 index 000000000..82b645cea Binary files /dev/null and b/data/magic.mse-game/corners/diagonal.png differ diff --git a/data/magic.mse-game/corners/menu_choice_images b/data/magic.mse-game/corners/menu_choice_images new file mode 100644 index 000000000..6a9ce0232 --- /dev/null +++ b/data/magic.mse-game/corners/menu_choice_images @@ -0,0 +1,5 @@ +choice images: + none: /magic.mse-game/corners/none.png + rounded and antialiased: /magic.mse-game/corners/rounded_antialiased.png + rounded: /magic.mse-game/corners/rounded.png + diagonal: /magic.mse-game/corners/diagonal.png \ No newline at end of file diff --git a/data/magic.mse-game/corners/none.png b/data/magic.mse-game/corners/none.png new file mode 100644 index 000000000..588e700e4 Binary files /dev/null and b/data/magic.mse-game/corners/none.png differ diff --git a/data/magic.mse-game/corners/rounded.png b/data/magic.mse-game/corners/rounded.png new file mode 100644 index 000000000..0469904c7 Binary files /dev/null and b/data/magic.mse-game/corners/rounded.png differ diff --git a/data/magic.mse-game/corners/rounded_antialiased.png b/data/magic.mse-game/corners/rounded_antialiased.png new file mode 100644 index 000000000..fedee9a47 Binary files /dev/null and b/data/magic.mse-game/corners/rounded_antialiased.png differ diff --git a/data/magic.mse-game/counters/+1+1.png b/data/magic.mse-game/counters/+1+1.png new file mode 100644 index 000000000..cfce40835 Binary files /dev/null and b/data/magic.mse-game/counters/+1+1.png differ diff --git a/data/magic.mse-game/counters/-1-1.png b/data/magic.mse-game/counters/-1-1.png new file mode 100644 index 000000000..fd3bde486 Binary files /dev/null and b/data/magic.mse-game/counters/-1-1.png differ diff --git a/data/magic.mse-game/counters/acorn.png b/data/magic.mse-game/counters/acorn.png new file mode 100644 index 000000000..29204d5a7 Binary files /dev/null and b/data/magic.mse-game/counters/acorn.png differ diff --git a/data/magic.mse-game/counters/aether.png b/data/magic.mse-game/counters/aether.png new file mode 100644 index 000000000..abe749a29 Binary files /dev/null and b/data/magic.mse-game/counters/aether.png differ diff --git a/data/magic.mse-game/counters/arrow.png b/data/magic.mse-game/counters/arrow.png new file mode 100644 index 000000000..2626d77f8 Binary files /dev/null and b/data/magic.mse-game/counters/arrow.png differ diff --git a/data/magic.mse-game/counters/awakening.png b/data/magic.mse-game/counters/awakening.png new file mode 100644 index 000000000..fe7773334 Binary files /dev/null and b/data/magic.mse-game/counters/awakening.png differ diff --git a/data/magic.mse-game/counters/bounty.png b/data/magic.mse-game/counters/bounty.png new file mode 100644 index 000000000..c614f12b1 Binary files /dev/null and b/data/magic.mse-game/counters/bounty.png differ diff --git a/data/magic.mse-game/counters/charge.png b/data/magic.mse-game/counters/charge.png new file mode 100644 index 000000000..0454aa898 Binary files /dev/null and b/data/magic.mse-game/counters/charge.png differ diff --git a/data/magic.mse-game/counters/corpse.png b/data/magic.mse-game/counters/corpse.png new file mode 100644 index 000000000..1477e9920 Binary files /dev/null and b/data/magic.mse-game/counters/corpse.png differ diff --git a/data/magic.mse-game/counters/deathtouch alt.png b/data/magic.mse-game/counters/deathtouch alt.png new file mode 100644 index 000000000..021fe5076 Binary files /dev/null and b/data/magic.mse-game/counters/deathtouch alt.png differ diff --git a/data/magic.mse-game/counters/deathtouch.png b/data/magic.mse-game/counters/deathtouch.png new file mode 100644 index 000000000..dde70c70a Binary files /dev/null and b/data/magic.mse-game/counters/deathtouch.png differ diff --git a/data/magic.mse-game/counters/defender.png b/data/magic.mse-game/counters/defender.png new file mode 100644 index 000000000..e71eb5e0b Binary files /dev/null and b/data/magic.mse-game/counters/defender.png differ diff --git a/data/magic.mse-game/counters/doom.png b/data/magic.mse-game/counters/doom.png new file mode 100644 index 000000000..b2d23f684 Binary files /dev/null and b/data/magic.mse-game/counters/doom.png differ diff --git a/data/magic.mse-game/counters/double strike.png b/data/magic.mse-game/counters/double strike.png new file mode 100644 index 000000000..c2abaafa6 Binary files /dev/null and b/data/magic.mse-game/counters/double strike.png differ diff --git a/data/magic.mse-game/counters/egg.png b/data/magic.mse-game/counters/egg.png new file mode 100644 index 000000000..e786f9e78 Binary files /dev/null and b/data/magic.mse-game/counters/egg.png differ diff --git a/data/magic.mse-game/counters/energy.png b/data/magic.mse-game/counters/energy.png new file mode 100644 index 000000000..c8ea4e790 Binary files /dev/null and b/data/magic.mse-game/counters/energy.png differ diff --git a/data/magic.mse-game/counters/experience.png b/data/magic.mse-game/counters/experience.png new file mode 100644 index 000000000..8909df947 Binary files /dev/null and b/data/magic.mse-game/counters/experience.png differ diff --git a/data/magic.mse-game/counters/finality.png b/data/magic.mse-game/counters/finality.png new file mode 100644 index 000000000..83ad098e4 Binary files /dev/null and b/data/magic.mse-game/counters/finality.png differ diff --git a/data/magic.mse-game/counters/first strike.png b/data/magic.mse-game/counters/first strike.png new file mode 100644 index 000000000..0cd228254 Binary files /dev/null and b/data/magic.mse-game/counters/first strike.png differ diff --git a/data/magic.mse-game/counters/flame.png b/data/magic.mse-game/counters/flame.png new file mode 100644 index 000000000..c85ab1df6 Binary files /dev/null and b/data/magic.mse-game/counters/flame.png differ diff --git a/data/magic.mse-game/counters/flood.png b/data/magic.mse-game/counters/flood.png new file mode 100644 index 000000000..8f6199dc8 Binary files /dev/null and b/data/magic.mse-game/counters/flood.png differ diff --git a/data/magic.mse-game/counters/flying.png b/data/magic.mse-game/counters/flying.png new file mode 100644 index 000000000..ef00d63fd Binary files /dev/null and b/data/magic.mse-game/counters/flying.png differ diff --git a/data/magic.mse-game/counters/goaded.png b/data/magic.mse-game/counters/goaded.png new file mode 100644 index 000000000..3b63c9455 Binary files /dev/null and b/data/magic.mse-game/counters/goaded.png differ diff --git a/data/magic.mse-game/counters/haste.png b/data/magic.mse-game/counters/haste.png new file mode 100644 index 000000000..6cc6ff159 Binary files /dev/null and b/data/magic.mse-game/counters/haste.png differ diff --git a/data/magic.mse-game/counters/hexproof alt.png b/data/magic.mse-game/counters/hexproof alt.png new file mode 100644 index 000000000..d8c0d00ab Binary files /dev/null and b/data/magic.mse-game/counters/hexproof alt.png differ diff --git a/data/magic.mse-game/counters/hexproof.png b/data/magic.mse-game/counters/hexproof.png new file mode 100644 index 000000000..b7786dc44 Binary files /dev/null and b/data/magic.mse-game/counters/hexproof.png differ diff --git a/data/magic.mse-game/counters/indestructible.png b/data/magic.mse-game/counters/indestructible.png new file mode 100644 index 000000000..ee08a4e0d Binary files /dev/null and b/data/magic.mse-game/counters/indestructible.png differ diff --git a/data/magic.mse-game/counters/lifelink alt.png b/data/magic.mse-game/counters/lifelink alt.png new file mode 100644 index 000000000..40acf1bf0 Binary files /dev/null and b/data/magic.mse-game/counters/lifelink alt.png differ diff --git a/data/magic.mse-game/counters/lifelink.png b/data/magic.mse-game/counters/lifelink.png new file mode 100644 index 000000000..ae8e976ce Binary files /dev/null and b/data/magic.mse-game/counters/lifelink.png differ diff --git a/data/magic.mse-game/counters/lore.png b/data/magic.mse-game/counters/lore.png new file mode 100644 index 000000000..30b578553 Binary files /dev/null and b/data/magic.mse-game/counters/lore.png differ diff --git a/data/magic.mse-game/counters/menace.png b/data/magic.mse-game/counters/menace.png new file mode 100644 index 000000000..63b6bc433 Binary files /dev/null and b/data/magic.mse-game/counters/menace.png differ diff --git a/data/magic.mse-game/counters/menu_choice_images b/data/magic.mse-game/counters/menu_choice_images new file mode 100644 index 000000000..db8f99f3c --- /dev/null +++ b/data/magic.mse-game/counters/menu_choice_images @@ -0,0 +1,50 @@ +choice images: + none: /magic.mse-game/counters/none.png + custom: /magic.mse-game/counters/none.png + +1/+1: /magic.mse-game/counters/+1+1.png + -1/-1: /magic.mse-game/counters/-1-1.png + acorn: /magic.mse-game/counters/acorn.png + aether: /magic.mse-game/counters/aether.png + arrow: /magic.mse-game/counters/arrow.png + awakening: /magic.mse-game/counters/awakening.png + bounty: /magic.mse-game/counters/bounty.png + charge: /magic.mse-game/counters/charge.png + corpse: /magic.mse-game/counters/corpse.png + deathtouch alt: /magic.mse-game/counters/deathtouch alt.png + deathtouch: /magic.mse-game/counters/deathtouch.png + defender: /magic.mse-game/counters/defender.png + doom: /magic.mse-game/counters/doom.png + double strike: /magic.mse-game/counters/double strike.png + egg: /magic.mse-game/counters/egg.png + energy: /magic.mse-game/counters/energy.png + experience: /magic.mse-game/counters/experience.png + finality: /magic.mse-game/counters/finality.png + first strike: /magic.mse-game/counters/first strike.png + flame: /magic.mse-game/counters/flame.png + flood: /magic.mse-game/counters/flood.png + flying: /magic.mse-game/counters/flying.png + goaded: /magic.mse-game/counters/goaded.png + haste: /magic.mse-game/counters/haste.png + hexproof alt: /magic.mse-game/counters/hexproof alt.png + hexproof: /magic.mse-game/counters/hexproof.png + indestructible: /magic.mse-game/counters/indestructible.png + lifelink alt: /magic.mse-game/counters/lifelink alt.png + lifelink: /magic.mse-game/counters/lifelink.png + lore: /magic.mse-game/counters/lore.png + menace: /magic.mse-game/counters/menace.png + oil: /magic.mse-game/counters/oil.png + omen: /magic.mse-game/counters/omen.png + poison: /magic.mse-game/counters/poison.png + rad: /magic.mse-game/counters/rad.png + reach: /magic.mse-game/counters/reach.png + shield: /magic.mse-game/counters/shield.png + solved: /magic.mse-game/counters/solved.png + spore: /magic.mse-game/counters/spore.png + stun: /magic.mse-game/counters/stun.png + suspected: /magic.mse-game/counters/suspected.png + ticket: /magic.mse-game/counters/ticket.png + time: /magic.mse-game/counters/time.png + trample: /magic.mse-game/counters/trample.png + unlock: /magic.mse-game/counters/unlock.png + vigilance: /magic.mse-game/counters/vigilance.png + void: /magic.mse-game/counters/void.png \ No newline at end of file diff --git a/data/magic.mse-game/counters/none.png b/data/magic.mse-game/counters/none.png new file mode 100644 index 000000000..51206bfd7 Binary files /dev/null and b/data/magic.mse-game/counters/none.png differ diff --git a/data/magic.mse-game/counters/oil.png b/data/magic.mse-game/counters/oil.png new file mode 100644 index 000000000..f48042bcc Binary files /dev/null and b/data/magic.mse-game/counters/oil.png differ diff --git a/data/magic.mse-game/counters/omen.png b/data/magic.mse-game/counters/omen.png new file mode 100644 index 000000000..bf2bc4f80 Binary files /dev/null and b/data/magic.mse-game/counters/omen.png differ diff --git a/data/magic.mse-game/counters/poison.png b/data/magic.mse-game/counters/poison.png new file mode 100644 index 000000000..3a74fd515 Binary files /dev/null and b/data/magic.mse-game/counters/poison.png differ diff --git a/data/magic.mse-game/counters/rad.png b/data/magic.mse-game/counters/rad.png new file mode 100644 index 000000000..a92d9e3df Binary files /dev/null and b/data/magic.mse-game/counters/rad.png differ diff --git a/data/magic.mse-game/counters/reach.png b/data/magic.mse-game/counters/reach.png new file mode 100644 index 000000000..2bcebbfa7 Binary files /dev/null and b/data/magic.mse-game/counters/reach.png differ diff --git a/data/magic.mse-game/counters/shield.png b/data/magic.mse-game/counters/shield.png new file mode 100644 index 000000000..e8af7a950 Binary files /dev/null and b/data/magic.mse-game/counters/shield.png differ diff --git a/data/magic.mse-game/counters/solved.png b/data/magic.mse-game/counters/solved.png new file mode 100644 index 000000000..1239cbb66 Binary files /dev/null and b/data/magic.mse-game/counters/solved.png differ diff --git a/data/magic.mse-game/counters/spore.png b/data/magic.mse-game/counters/spore.png new file mode 100644 index 000000000..05c09bb99 Binary files /dev/null and b/data/magic.mse-game/counters/spore.png differ diff --git a/data/magic.mse-game/counters/stun.png b/data/magic.mse-game/counters/stun.png new file mode 100644 index 000000000..cb46b3821 Binary files /dev/null and b/data/magic.mse-game/counters/stun.png differ diff --git a/data/magic.mse-game/counters/suspected.png b/data/magic.mse-game/counters/suspected.png new file mode 100644 index 000000000..0343d02d7 Binary files /dev/null and b/data/magic.mse-game/counters/suspected.png differ diff --git a/data/magic.mse-game/counters/ticket.png b/data/magic.mse-game/counters/ticket.png new file mode 100644 index 000000000..0817be5f5 Binary files /dev/null and b/data/magic.mse-game/counters/ticket.png differ diff --git a/data/magic.mse-game/counters/time.png b/data/magic.mse-game/counters/time.png new file mode 100644 index 000000000..9f01d2288 Binary files /dev/null and b/data/magic.mse-game/counters/time.png differ diff --git a/data/magic.mse-game/counters/trample.png b/data/magic.mse-game/counters/trample.png new file mode 100644 index 000000000..2e53f5382 Binary files /dev/null and b/data/magic.mse-game/counters/trample.png differ diff --git a/data/magic.mse-game/counters/unlock.png b/data/magic.mse-game/counters/unlock.png new file mode 100644 index 000000000..a55cf06dc Binary files /dev/null and b/data/magic.mse-game/counters/unlock.png differ diff --git a/data/magic.mse-game/counters/vigilance.png b/data/magic.mse-game/counters/vigilance.png new file mode 100644 index 000000000..e53d4cd5c Binary files /dev/null and b/data/magic.mse-game/counters/vigilance.png differ diff --git a/data/magic.mse-game/counters/void.png b/data/magic.mse-game/counters/void.png new file mode 100644 index 000000000..cb5997d19 Binary files /dev/null and b/data/magic.mse-game/counters/void.png differ diff --git a/data/magic.mse-game/icons/center-1-line-text.png b/data/magic.mse-game/icons/center-1-line-text.png new file mode 100644 index 000000000..61e1e9a80 Binary files /dev/null and b/data/magic.mse-game/icons/center-1-line-text.png differ diff --git a/data/magic.mse-game/icons/center-2-line-text.png b/data/magic.mse-game/icons/center-2-line-text.png new file mode 100644 index 000000000..79e640e83 Binary files /dev/null and b/data/magic.mse-game/icons/center-2-line-text.png differ diff --git a/data/magic.mse-game/icons/center-3-line-text.png b/data/magic.mse-game/icons/center-3-line-text.png new file mode 100644 index 000000000..294e33514 Binary files /dev/null and b/data/magic.mse-game/icons/center-3-line-text.png differ diff --git a/data/magic.mse-game/icons/choice-if.png b/data/magic.mse-game/icons/choice-if.png new file mode 100644 index 000000000..b71833d8d Binary files /dev/null and b/data/magic.mse-game/icons/choice-if.png differ diff --git a/data/magic.mse-game/icons/choice-no.png b/data/magic.mse-game/icons/choice-no.png new file mode 100644 index 000000000..8ce4797dd Binary files /dev/null and b/data/magic.mse-game/icons/choice-no.png differ diff --git a/data/magic.mse-game/icons/choice-yes.png b/data/magic.mse-game/icons/choice-yes.png new file mode 100644 index 000000000..b873f4f4d Binary files /dev/null and b/data/magic.mse-game/icons/choice-yes.png differ diff --git a/data/magic.mse-game/information/art.png b/data/magic.mse-game/information/art.png new file mode 100644 index 000000000..91fbdbcf9 Binary files /dev/null and b/data/magic.mse-game/information/art.png differ diff --git a/data/magic.mse-game/information/art_old.png b/data/magic.mse-game/information/art_old.png new file mode 100644 index 000000000..476329b8d Binary files /dev/null and b/data/magic.mse-game/information/art_old.png differ diff --git a/data/magic.mse-game/information/flavor.png b/data/magic.mse-game/information/flavor.png new file mode 100644 index 000000000..5b175b1ad Binary files /dev/null and b/data/magic.mse-game/information/flavor.png differ diff --git a/data/magic.mse-game/information/mechanics.png b/data/magic.mse-game/information/mechanics.png new file mode 100644 index 000000000..f2f5b0168 Binary files /dev/null and b/data/magic.mse-game/information/mechanics.png differ diff --git a/data/magic.mse-game/information/menu_choice_images b/data/magic.mse-game/information/menu_choice_images new file mode 100644 index 000000000..66b0b17aa --- /dev/null +++ b/data/magic.mse-game/information/menu_choice_images @@ -0,0 +1,11 @@ +choice images: + none: /magic.mse-game/information/none.png + art: /magic.mse-game/information/art.png + art old: /magic.mse-game/information/art_old.png + flavor: /magic.mse-game/information/flavor.png + mechanics: /magic.mse-game/information/mechanics.png + template: /magic.mse-game/information/template.png + wide art: /magic.mse-game/information/art.png + wide flavor: /magic.mse-game/information/flavor.png + wide mechanics: /magic.mse-game/information/mechanics.png + wide template: /magic.mse-game/information/template.png \ No newline at end of file diff --git a/data/magic.mse-game/information/menu_choice_images_the_list b/data/magic.mse-game/information/menu_choice_images_the_list new file mode 100644 index 000000000..65bfdb7d1 --- /dev/null +++ b/data/magic.mse-game/information/menu_choice_images_the_list @@ -0,0 +1,3 @@ +choice images: + none: /magic.mse-game/information/none.png + the list: /magic.mse-game/information/the_list.png \ No newline at end of file diff --git a/data/magic.mse-game/information/none.png b/data/magic.mse-game/information/none.png new file mode 100644 index 000000000..ecd2fd7ff Binary files /dev/null and b/data/magic.mse-game/information/none.png differ diff --git a/data/magic.mse-game/information/template.png b/data/magic.mse-game/information/template.png new file mode 100644 index 000000000..58819b3f1 Binary files /dev/null and b/data/magic.mse-game/information/template.png differ diff --git a/data/magic.mse-game/information/the_list.png b/data/magic.mse-game/information/the_list.png new file mode 100644 index 000000000..3186e018b Binary files /dev/null and b/data/magic.mse-game/information/the_list.png differ diff --git a/data/magic.mse-game/language b/data/magic.mse-game/language index 1e3eabe44..309ec049c 100644 --- a/data/magic.mse-game/language +++ b/data/magic.mse-game/language @@ -1323,7 +1323,7 @@ localized_phy_reminder := else if input == "ru" then russian_phy_reminder(costs, phy_matches: phy_matches, multiple: multiple) else if input == "ko" then korean_phy_reminder(costs, phy_matches: phy_matches, multiple: multiple) else if input == "zht" then chinese_traditional_phy_reminder(costs, phy_matches: phy_matches, multiple: multiple) - else english_phy_reminder(costs, phy_matches: phy_matches, multiple: multiple)) + else english_phy_reminder(costs, phy_matches: phy_matches, multiple: multiple)) } english_phy_reminder := { diff --git a/data/magic.mse-game/language_map b/data/magic.mse-game/language_map index 1d8c1d9b9..a9f61b6e8 100644 --- a/data/magic.mse-game/language_map +++ b/data/magic.mse-game/language_map @@ -60,10 +60,10 @@ languages := [ is_devoid : match@(match: "(?i)Fahl") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"einer beliebigen Farbe|unterschiedlichen Farben|beliebigen Kombination von Farben") + gold_mana_production : remove_tag@(tag:"", match:"einer beliebigen Farbe|unterschiedlichen Farben|beliebigen Kombination von Farben") chosen_mana_production : remove_tag@(tag:"", match:"jener Farbe|bestimmten Farben?") - triggered_cost_filter : remove_tag@(tag:" ?(falls|wenn) ") + triggered_cost_filter : remove_tag@(tag:" ?(falls|wenn) ") is_white : match@(match: "(?i)weiß(e|em|en|er|es)?") is_blue : match@(match: "(?i)blau(e|em|en|er|es)?") @@ -793,10 +793,10 @@ languages := [ is_devoid : match@(match: "(?i)Devoid") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"(any( one)?|different|combination of) color") + gold_mana_production : remove_tag@(tag:"", match:"(any( one)?|different|combination of) color") chosen_mana_production : remove_tag@(tag:"", match:"that color|chosen color") - triggered_cost_filter : remove_tag@(tag:" ?(when|if|to) ") + triggered_cost_filter : remove_tag@(tag:" ?(when|if|to) ") is_white : match@(match: "(?i)white") is_blue : match@(match: "(?i)blue") @@ -1542,10 +1542,10 @@ languages := [ is_devoid : match@(match: "(?i)Vacío") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"cualquier (combinación de )?color|colores distintos") + gold_mana_production : remove_tag@(tag:"", match:"cualquier (combinación de )?color|colores distintos") chosen_mana_production : remove_tag@(tag:"", match:"ese color|color(es)? elegido") - triggered_cost_filter : remove_tag@(tag:" ?(si|cuando) ") + triggered_cost_filter : remove_tag@(tag:" ?(si|cuando) ") is_white : match@(match: "(?i)blanc(o|a)") is_blue : match@(match: "(?i)azul") @@ -2261,10 +2261,10 @@ languages := [ is_devoid : match@(match: "(?i)Carence") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"couleur de votre choix|couleurs différentes|combinaison de mana coloré de votre choix") + gold_mana_production : remove_tag@(tag:"", match:"couleur de votre choix|couleurs différentes|combinaison de mana coloré de votre choix") chosen_mana_production : remove_tag@(tag:"", match:"cette couleur|couleurs? choisie") - triggered_cost_filter : remove_tag@(tag:" ?(si|quand) ") + triggered_cost_filter : remove_tag@(tag:" ?(si|quand) ") is_white : match@(match: "(?i)blanc(he)?") is_blue : match@(match: "(?i)bleue?") @@ -2983,10 +2983,10 @@ languages := [ is_devoid : match@(match: "(?i)Vacuità") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"qualsiasi colore|colori diversi|qualsiasi combinazione di colori") + gold_mana_production : remove_tag@(tag:"", match:"qualsiasi colore|colori diversi|qualsiasi combinazione di colori") chosen_mana_production : remove_tag@(tag:"", match:"quel colore|color[ei] scelt[oi]") - triggered_cost_filter : remove_tag@(tag:" ?(se|quando) ") + triggered_cost_filter : remove_tag@(tag:" ?(se|quando) ") is_white : match@(match: "(?i)bianc(o|a)") is_blue : match@(match: "(?i)blu") @@ -3704,10 +3704,10 @@ languages := [ is_devoid : match@(match: "(?i)欠色") mana_symbol_production : remove_tag@(tag:"[^(\n|^).。]*を加える", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"[^(\n|^).。]*を加える", match:"好きな色1色のマナ|異なる色のマナ|望む色の組み合わせのマナ") + gold_mana_production : remove_tag@(tag:"[^(\n|^).。]*を加える", match:"好きな色1色のマナ|異なる色のマナ|望む色の組み合わせのマナ") chosen_mana_production : remove_tag@(tag:"[^(\n|^).。]*を加える", match:"その色のマナ|その選ばれた色のマナ") - triggered_cost_filter : remove_tag@(tag:"(そうしたとき|そうしたなら)") + triggered_cost_filter : remove_tag@(tag:"(そうしたとき|そうしたなら)") is_white : match@(match: "(?i)白") is_blue : match@(match: "(?i)青") @@ -4493,10 +4493,10 @@ languages := [ is_devoid : match@(match: "(?i)결여") mana_symbol_production : remove_tag@(tag:"[^(\n|^).]* 추가한다", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"[^(\n|^).]* 추가한다", match:"원하는 (한 가지 )?색의 마나 [두한] 개|서로 다른 색인 마나|원하는 색의 조합으로 마나") + gold_mana_production : remove_tag@(tag:"[^(\n|^).]* 추가한다", match:"원하는 (한 가지 )?색의 마나 [두한] 개|서로 다른 색인 마나|원하는 색의 조합으로 마나") chosen_mana_production : remove_tag@(tag:"[^(\n|^).]* 추가한다", match:"그 색의|선택된 색의") - triggered_cost_filter : remove_tag@(tag:" ?(그렇게 한다면|그렇게 할 때)") + triggered_cost_filter : remove_tag@(tag:" ?(그렇게 한다면|그렇게 할 때)") is_white : match@(match: "(?i)백색") is_blue : match@(match: "(?i)청색") @@ -5171,10 +5171,10 @@ languages := [ is_devoid : match@(match: "(?i)Desprovido") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"qualquer cor|cores diferentes") + gold_mana_production : remove_tag@(tag:"", match:"qualquer cor|cores diferentes") chosen_mana_production : remove_tag@(tag:"", match:"daquela cor|cor(es)? escolhidas?") - triggered_cost_filter : remove_tag@(tag:" ?(quando|se) ") + triggered_cost_filter : remove_tag@(tag:" ?(quando|se) ") is_white : match@(match: "(?i)branc(o|a)") is_blue : match@(match: "(?i)azul") @@ -5890,10 +5890,10 @@ languages := [ is_devoid : match@(match: "(?i)Лишение") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"любого цвета?|различных цветов") + gold_mana_production : remove_tag@(tag:"", match:"любого цвета?|различных цветов") chosen_mana_production : remove_tag@(tag:"", match:"того цвета?|выбранн(ого|ый|ые) цвета?") - triggered_cost_filter : remove_tag@(tag:" ?(когда|если) ") + triggered_cost_filter : remove_tag@(tag:" ?(когда|если) ") is_white : match@(match: "(?i)бел\\w\{1,3\}") is_blue : match@(match: "(?i)син\\w\{1,3\}") @@ -6591,10 +6591,10 @@ languages := [ is_devoid : match@(match: "(?i)虚色") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"意颜色的法术力|不同颜色的法术力|其颜色组合由你选择") + gold_mana_production : remove_tag@(tag:"", match:"意颜色的法术力|不同颜色的法术力|其颜色组合由你选择") chosen_mana_production : remove_tag@(tag:"", match:"(选颜|该)色的法术力") - triggered_cost_filter : remove_tag@(tag:"(当你如此作时|若你如此作)") + triggered_cost_filter : remove_tag@(tag:"(当你如此作时|若你如此作)") is_white : match@(match: "(?i)白色") is_blue : match@(match: "(?i)蓝色") @@ -7294,10 +7294,10 @@ languages := [ is_devoid : match@(match: "(?i)虛色") mana_symbol_production : remove_tag@(tag:"", match:"]*>[^<]+<\\/sym[^>]*>") - gold_mana_production : remove_tag@(tag:"", match:"任意顏色的魔法力|不同顏色的魔法力|其顏色組合由你選擇") + gold_mana_production : remove_tag@(tag:"", match:"任意顏色的魔法力|不同顏色的魔法力|其顏色組合由你選擇") chosen_mana_production : remove_tag@(tag:"", match:"(選顏|該)色的魔法力") - triggered_cost_filter : remove_tag@(tag:"(當你如此作時|若你如此作)") + triggered_cost_filter : remove_tag@(tag:"(當你如此作時|若你如此作)") is_white : match@(match: "(?i)白色") is_blue : match@(match: "(?i)藍色") diff --git a/data/magic.mse-game/loyalty/defense.png b/data/magic.mse-game/loyalty/defense.png new file mode 100644 index 000000000..610f43cca Binary files /dev/null and b/data/magic.mse-game/loyalty/defense.png differ diff --git a/data/magic.mse-game/loyalty/loyalty cost +.png b/data/magic.mse-game/loyalty/loyalty cost +.png new file mode 100644 index 000000000..c780f92f0 Binary files /dev/null and b/data/magic.mse-game/loyalty/loyalty cost +.png differ diff --git a/data/magic.mse-game/loyalty/loyalty cost -.png b/data/magic.mse-game/loyalty/loyalty cost -.png new file mode 100644 index 000000000..deeb88153 Binary files /dev/null and b/data/magic.mse-game/loyalty/loyalty cost -.png differ diff --git a/data/magic.mse-game/loyalty/loyalty cost 0.png b/data/magic.mse-game/loyalty/loyalty cost 0.png new file mode 100644 index 000000000..b839f2974 Binary files /dev/null and b/data/magic.mse-game/loyalty/loyalty cost 0.png differ diff --git a/data/magic.mse-game/loyalty/loyalty cost anti ult.png b/data/magic.mse-game/loyalty/loyalty cost anti ult.png new file mode 100644 index 000000000..7976eeda7 Binary files /dev/null and b/data/magic.mse-game/loyalty/loyalty cost anti ult.png differ diff --git a/data/magic.mse-game/loyalty/loyalty cost shadow.png b/data/magic.mse-game/loyalty/loyalty cost shadow.png new file mode 100644 index 000000000..656f1c5cc Binary files /dev/null and b/data/magic.mse-game/loyalty/loyalty cost shadow.png differ diff --git a/data/magic.mse-game/loyalty/loyalty cost ult.png b/data/magic.mse-game/loyalty/loyalty cost ult.png new file mode 100644 index 000000000..0f7d1d9e2 Binary files /dev/null and b/data/magic.mse-game/loyalty/loyalty cost ult.png differ diff --git a/data/magic.mse-game/loyalty/loyalty.png b/data/magic.mse-game/loyalty/loyalty.png new file mode 100644 index 000000000..25c30aa4c Binary files /dev/null and b/data/magic.mse-game/loyalty/loyalty.png differ diff --git a/data/magic.mse-game/loyalty/menu_choice_images b/data/magic.mse-game/loyalty/menu_choice_images new file mode 100644 index 000000000..0c79fb348 --- /dev/null +++ b/data/magic.mse-game/loyalty/menu_choice_images @@ -0,0 +1,5 @@ +choice images: + none: /magic.mse-game/loyalty/none.png + loyalty: /magic.mse-game/loyalty/loyalty.png + defense: /magic.mse-game/loyalty/defense.png + shadow: /magic.mse-game/loyalty/shadow.png \ No newline at end of file diff --git a/data/magic.mse-game/loyalty/menu_choice_images_cost b/data/magic.mse-game/loyalty/menu_choice_images_cost new file mode 100644 index 000000000..58460a8d4 --- /dev/null +++ b/data/magic.mse-game/loyalty/menu_choice_images_cost @@ -0,0 +1,8 @@ +choice images: + none: /magic.mse-game/loyalty/none.png + anti ult: /magic.mse-game/loyalty/loyalty cost anti ult.png + +: /magic.mse-game/loyalty/loyalty cost +.png + 0: /magic.mse-game/loyalty/loyalty cost 0.png + -: /magic.mse-game/loyalty/loyalty cost -.png + ult: /magic.mse-game/loyalty/loyalty cost ult.png + shadow: /magic.mse-game/loyalty/loyalty cost shadow.png \ No newline at end of file diff --git a/data/magic.mse-game/loyalty/none.png b/data/magic.mse-game/loyalty/none.png new file mode 100644 index 000000000..4a2ee7567 Binary files /dev/null and b/data/magic.mse-game/loyalty/none.png differ diff --git a/data/magic.mse-game/loyalty/shadow.png b/data/magic.mse-game/loyalty/shadow.png new file mode 100644 index 000000000..467c14000 Binary files /dev/null and b/data/magic.mse-game/loyalty/shadow.png differ diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script index 2f90f7e7a..15b9493a2 100644 --- a/data/magic.mse-game/script +++ b/data/magic.mse-game/script @@ -1,75 +1,462 @@ -############################################################## Localization +#### Localization +#### Common files +#### Versioning +#### Common filters +#### Utility scripts +#### Card characteristics +#### Sorting mana symbols +#### Mainframe mana +#### Determine card color +#### Card number +#### Statistics utilities +#### Keyword utilities +#### The text box +#### Face code +#### Level margins +#### Saga witchery +#### Typelines +#### Modal DFC flag hints +#### Flavor bar +#### Watermarks +#### Other scripted fields +#### Custom corner symbols +#### Custom fonts +#### Custom rarity symbol +#### Card column sorting +#### Custom index +#### Skeleton generator +############################################################## Localization include file: language - -# needed by all style files anyway -include file: /magic-blends.mse-include/new-blends +############################################################## Common files include file: statistics_script - -############################################################## version check -version_date := {"2024-05-10 Mainframe 1.3.a Showcase Catchup: Adventures"} +include file: /magic-blends.mse-include/new-blends +############################################################## Versioning +version_date := {"2024-05-24 Mainframe 1.3.b Showcase Catchup: Include Modules"} version := version_date -############################################################## Sorting mana symbols +############################################################## Common filters +############################################################## Utility +comma_count := filter_text@(match:",") +semicolon_count := filter_text@(match:";") -# correctly sort a mana symbol (no guild mana) -mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE(WUBRG)") -# correctly sort wedge mana +split_comma := split_text@(match: " *, *") +line_count := split_text@(match:"\n+",include_empty:false) + length + +word_count := break_text@(match:"[^[:space:]]+") + length + +has_png := contains@(match:".png") +has_none := contains@(match: "none") + +remove_comma := replace@(match: ",", replace: "") +long_dash := replace@(match:"-", replace:"—") +softline_ripper := replace@(match:"", replace:"") +un_png := replace@(match:".png", replace: "") +to_title := replace@(match:"(^| )([A-z])([^ ]*)", replace:{_1+ to_upper(_2) + to_lower(_3)}) +to_sentence := replace@(match:"(^|\n)([A-z])([^\n]*)", replace:{_1+ to_upper(_2) + to_lower(_3)}) +remove_zwsp := replace@(match:"​", replace:"") + +#### Replace spaces by a spacer +separate_words := remove_tags + trim + replace@(match:" ", replace: {spacer}) +zwsp := "​" # this is a zero-width space not blank + +############################################################## Type +is_creature := match@(match: "(?i)Creature") +is_creaturish := match@(match: "(?i)(Creature|Vehicle)") +is_tribal := match@(match: "(?i)Tribal") +is_artifact := match@(match: "(?i)Artifact") +is_land := match@(match: "(?i)Land") +is_enchantment := match@(match: "(?i)Enchantment") +is_aura := match@(match: "(?i)Aura") +is_spell := match@(match: "(?i)Instant|Sorcery") +is_sorcery := match@(match: "(?i)Sorcery") +is_instant := match@(match: "(?i)Instant") +is_planeswalker := match@(match: "(?i)Planeswalker") +is_legendary := match@(match: "(?i)Legendary") +match_vehicle := contains@(match:"Vehicle") +match_snow := contains@(match:"Snow") + +############################################################## Text +is_modal := contains@(match:"
  • ") + +############################################################## Utility scripts +reverse_elements := {for element from 1 to length(input) do input[length(input) - element] + " "} +clamp := { + number := to_number(input) + if number < minimum then minimum + else if number > maximum then maximum + else number +} +round_up := {to_int(0.99999999999998+input)} #### 0.99999999999999 == 1, leave the 8 +round_near := {to_int(0.5+input)} +#### reads from a comma separated list like an array +pull_comma_array := { + array := split_text(input, match:divider) + length := length(comma_count(input)) + ending := to_number(end) + if (cell >= (length + (1-ending))) + then default + else if array[cell] == "" or array[cell] == nil or array[cell] == "-" + then default + else array[cell] +}@(default:0, end: 1, divider:",", cell:0) +#### standard is pull_comma_array("X,Y,Z,", cell: 0) +#### returns "X" +#### ending true for coordinates (requires a final divider to ensure element is complete) +#### ending false for moving (doesn't require divider, moving 1 then 11 is fine) +#### divider is "," by default, can change +#### can also add default to return in case of errors + +#### a workaround for the crop offset function that doesn't appear to work +#### slice_crop(input:image, height:(final height), width:(final width), distance:(length from bottom to top of final image)) +slice_crop := { + img := flip_vertical(input) + img := crop(img, height:distance, width:width, offset_x:0, offset_y:0) + img := flip_vertical(img) + img + if(height != 0 and height != distance) then + img := crop(img, height:height, width:width, offset_x:0, offset_y:0) + img +}@(height:0) +#### a crop function that checks bounds first to avoid a crash +crop_safe := +{ + if offset_x < 0 + or offset_y < 0 + or width < 1 + or height < 1 + or offset_x + width > max_x + or offset_y + height > max_y + then "" + else crop(input, offset_x: offset_x, offset_y: offset_y, width: width, height: height) +} +#### pad a string from the front or back or both idk i'm not your dad +fill_len := { + output := to_string(input) + if output == "" then output := "0" + fill := max(0,fill_to - length(output)) + for x from 1 to fill do output := lead + output + follow; + output +}@(fill_to:2, lead:"", follow:"") + +#### simple array join function +join := { + if i >= length(input) then "" + else if i == length(input)-1 then input[i] + else input[i]+sep+join(input, i: i+1, sep: sep) +}@(i: 0, sep:"") +#### join array into list format +join_list := { + string := "" + if length(input) == 2 then spacer := " " + if length(input) == 1 then closing := "" + for x from 0 to length(input)-1 do + string := string + (if x == length(input)-1 then closing else "") + input[x] + (if x == length(input)-1 then "" else spacer) + string +}@(spacer:", ", closing:"and ") + +#### workarounds cause position() is broken for text arrays +#### where reasonable, you can use position(of:["str"], in:[["list"], ["of"], ["str"]]) instead +contains_element := { + if input == [] then false else length(filter_list(input, filter:{input == element})) > 0 +} +ar_position := { + pos := -1 + for x from 0 to length(in)-1 do ( + if in[x] == of then pos := x; + ) + pos +} +includes := {ar_position(of:input in:array) != -1} +unique_elements := { + e1 := [] + e2 := [] + e1 := e1 + for x from 0 to length(of)-1 do if ar_position(of:of[x], in:from) == -1 then [of[x]] +} + +#### This blends a map of images together +#### i dont remember why +#### i think i tested it for dungeons +#### example img_map := ["up":"test/up.png" "down":"test/down.png" "left":"test/left.png" "right":"test/right.png"] +multi_choice_image := { + #### input = option string + #### img_map = map of image links + coll := split_text(input, match:", ?") + imgs := for each x in coll do if img_map[x] or else false != false then [img_map[x]] + len := length(imgs) + if len == 0 then + "" + else if len == 1 then + imgs[0] + else if len == 2 then + combine_blend(image1:imgs[0] image2:imgs[1], combine:combine) + else mass_combine(imgs:imgs, combine:combine) + +}@(combine:"and") +mass_combine := { + base := combine_blend(image1:imgs[0] image2:imgs[1], combine:combine) + for x from 2 to length(imgs)-1 do ( + base := combine_blend(image1:base image2:imgs[x] combine:combine) + "" #### this is junk output so it doesn't try to add the images as strings + ) + base +}@(combine:"and") + +get_alpha_percentage := +{ + alpha_value := if input == "" then default + else to_number(input) or else default + if alpha_value < 0 then 0.0 + else if alpha_value <= 100 then alpha_value/100.0 + else 1.0 +} + + +############################################################## For the user +#### Remove card codes +cc_filter := replace@(match:"^[CURMSL][WUBRGMZACL][0-9]+ ?[-—]? ?", replace:"") +has_alchemy := contains@(match:"alchemy") +strip_card_codes := { + save := input + input := cc_filter(input) + input := if input == "" or input == " " then save else input + if atom and alch_compatible() and has_alchemy(card.card_symbol) + then "A-" + input + else input +}@(atom:false) +name_default := { "" } +name_checker := {if not set.remove_card_codes then input else strip_card_codes(input)} + +#### Print fix +rare_width := { + cw := card_style.rarity.content_width + cw := if cw > 44 then (if set.print_fix != "" then set.print_fix else 22) else if cw < 22 then 22 else cw + if card_style.rarity.width == 0 then 0 else cw +} + +############################################################## Card characteristics +############################################################## Name +has_two_names := { + contains(card.shape, match:"adventure") + or contains(card.shape, match:"aftermath") + or contains(card.shape, match:"double faced") + or contains(card.shape, match:"flip") + or contains(card.shape, match:"split") +} +card_full_name := { if has_two_names() then card.name + " // " + card.name_2 else card.name } +#### exportname +exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!]+") +exporter_name_grabber := replace@(match:"!exporte?r?name ", replace:"") +export_name := { exporter_name_grabber(exporter_name_filter(card.notes)) } +clean_name := remove_tags + + replace@(match:"(\n| +$|^ +)", replace:"") + + replace@(match:"’", replace:"'") + +card_name := { + test_name := export_name() + if test_name == "" then test_name := card.name + clean_name(test_name) +} +dfc_splitter_name := { + back_name := card.name_2 + full_name := card_name() + if back_name != "" then full_name := full_name + "_" + clean_name(back_name) + full_name +} +############################################################## Special text +special_text := { "" } +special_text2 := { "" } +transfer_levels := {true} +transfer_levels_2 := {true} +a_saga := {false} +saga_reminder := { "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." } +b_saga := {false} +saga_reminderb := { "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." } +is_mainframe := { false } +mainframe_walker := {false} +mainframe_walker_text_script := {combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text)} +mainframe_walkerb := {false} +mainframe_walker_text_scriptb := {combined_editor(field1: card.level_5_text, separator1: "\n", field2: card.level_6_text, separator2: "\n", field3: card.level_7_text)} +mainframe_walkerc := {false} +mainframe_walker_text_scriptc := {combined_editor(field1: card.level_9_text, separator1: "\n", field2: card.level_10_text, separator2: "\n", field3: card.level_11_text)} +mainframe_walkerd := {false} +mainframe_walker_text_scriptd := {combined_editor(field1: card.level_13_text, separator1: "\n", field2: card.level_14_text, separator2: "\n", field3: card.level_15_text)} +alt_text := {false} +alt_text_script := {false} +alt_textb := {false} +alt_text_scriptb := {false} +alt_textc := {false} +alt_text_scriptc := {false} +alt_textd := {false} +alt_text_scriptd := {false} + +############################################################## Shape +#### Shape of cards, can be changed in style files +card_shape := { "normal" } +token_shape := { + case input of + "token": true, + "emblem": true, + "counter": true, + "rulestip": true, + "checklist": true, + else: false; +} +#### used by pack scripts +is_token_card := { token_shape(card.shape) } +is_shifted_card := { contains(card.shape, match:"shifted") } +is_masterpiece := { card.rarity == "masterpiece" } +is_promo := { false } +rarity_field := { if input <= 1 then card.rarity else card["rarity_" + input] } +is_rare := +{ + rarity := rarity_field(field) + rarity == "rare" or rarity == "mythic rare" or rarity == "masterpiece" +}@(field: 1) +is_walker := { contains(card.super_type, match:"Planeswalker") } +is_legend := { true } #### TODO ??? +############################################################## Identity +#### Indicators never appear if the indicator would be colorless, colorless land, or colorless artifact. +#### Indicators do appear if the chosen frame doesn't match the default. +#### Indicators do appear if the chosen color for the indicator doesn't match the default. +blank_indentity := { + case input of + "colorless": true, + "land": true, + "artifact": true, + else: false; +} +has_identity := { + default := card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name, default: "colorless") + if blank_indentity(card.indicator) + then false + else if card.indicator != default + then true + else if card.card_color != default + then true + else false +} +has_identity_2 := { + default := card_color(casting_cost: card.casting_cost_2, rules_text: card.rule_text_2, type: card.super_type_2, watermark: card.watermark_2, card_name: card.name_2, default: "colorless") + if blank_indentity(card.indicator) + then false + else if card.indicator_2 != default + then true + else if card.card_color_2 != default + then true + else false +} +has_identity_3 := { + default := card_color(casting_cost: card.casting_cost_3, rules_text: card.rule_text_3, type: card.super_type_3, watermark: card.watermark_3, card_name: card.name_3, default: "colorless") + if blank_indentity(card.indicator) + then false + else if card.indicator_3 != default + then true + else if card.card_color_3 != default + then true + else false +} +############################################################## Exporter utility +exporter_num_filter := filter_text@(match:"!num [^\n!]+") +exporter_num_grabber := replace@(match:"!num ", replace:"") +trim_zeroes := replace@(match: "^00?", replace: "")+ + replace@(match: "a?/[0-9b]+", replace: "") +corrected_card_number := { if exporter_num_grabber(exporter_num_filter(card.notes)) != "" then exporter_num_grabber(exporter_num_filter(card.notes)) else if card.custom_card_number != "" then trim_zeroes(card.custom_card_number) else card_number() } + +############################################################## Sorting mana symbols +#### correctly sort a mana symbol (no guild mana) +mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE(WUBRG)") +#### correctly sort wedge mana mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE(WBGUR)") +#### sort nothing mana_unsort := sort_text@(order:"[/\\?XYZI0123456789VLHSCAIEWUBRG]") -# correctly sort guild mana +#### correctly sort guild mana mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHSFCAIEWUBRG/|]") + replace@( - # No lookbehind :( + #### No lookbehind :( #match: "(?($|[^/])", replace: {sort_text(order:"in_place((WUBRG))")} ) -mana_has_guild := match@(match: "[/|]") # Is there guild or half mana in the input? +#### mana filter helpers +mana_has_guild := match@(match: "[/|]") #### Is there guild or half mana in the input? mana_is_wedge := { chosen(set.mana_cost_sorting, choice: "tarkir wedge sorting") and ( number_of_items(in: sort_text(order:"", input), filter: "") == 3 ) } -mana_has_wedge := { mana_is_wedge() and (sort_text(order:"", input) == "WUR" or sort_text(order:"", input) == "WBR" or sort_text(order:"", input) == "WBG" or sort_text(order:"", input) == "UBG" or sort_text(order:"", input) == "URG")} -# convert card.card_color to WUBRG -card_color_to_letters := { - color_string := trim_colors(input) - out_string := (if contains(color_string, match:"white") then "W" else "")+(if contains(color_string, match:"blue") then "U" else "")+(if contains(color_string, match:"black") then "B" else "")+(if contains(color_string, match:"red") then "R" else "")+(if contains(color_string, match:"green") then "G" else "") - out_string +mana_has_wedge := { + wedge_check := sort_text(order:"", input) + mana_is_wedge() and (wedge_check == "WUR" or wedge_check == "WBR" or wedge_check == "WBG" or wedge_check == "UBG" or wedge_check == "URG") } -card_is_wedge := { - color_string := card_color_to_letters(input) - if color_string == "WUR" or color_string == "WBR" or color_string == "WBG" or color_string == "UBG" or color_string == "URG" then true else false -} -list_colors := { - list := trim_colors(input) - cc := length(comma_count(list)) - if cc == 1 then - list := replace(list, match:", ", replace:" and ") - if cc > 1 then - list := replace(list, match:", ", replace:", and ", in_context:"[^ ]+$") - list -} -# A mana cost can contain both normal and guild mana + +#### A mana cost can contain both normal and guild mana mana_filter := to_upper + { if chosen(set.mana_cost_sorting, choice: "unsorted") then mana_unsort() else if mana_has_guild() then mana_sort_guild() else if mana_has_wedge(input) then mana_sort_wedge(input) else mana_sort() } -# Like mana filter, only also allow tap symbols: +#### prevent infinite tap symbol glitch tap_reduction := replace@(match:"T+", replace:"T")+ replace@(match:"Q+", replace:"Q") -ticket_filter := +#### only allow tickets ticket_isolate := filter_text@(match:"(TK)+") +#### remove ticket Ts from tap filter tap_filter := replace@(match:"(TK)+", replace:"")+ sort_text@(order: "") -mana_filter_t := replace@( # Remove [] used for forcing mana symbols +#### Like mana filter, only also allow tap symbols: +mana_filter_t := replace@( #### Remove [] used for forcing mana symbols match: "[\\[\\]]", replace: "" ) + { tap_reduction(tap_filter()) + mana_filter() } -############################################################## Determine card color -# Names of colors +card_is_wedge := { + color_string := card_color_to_letters(input) + if color_string == "WUR" or color_string == "WBR" or color_string == "WBG" or color_string == "UBG" or color_string == "URG" then true else false +} + +############################################################## Symbol font defaults +mana_t := +{ + field := styling.tap_symbol or else "new" + if field == "diagonal T" then "older" + else if field == "old" then "old" + else "new" +} +guild_mana := +{ + styling.use_guild_mana_symbols or else false +} +ancestral_mana := +{ + field := styling.other_options or else nil + if field == nil then (styling.use_ancestral_mana_symbols or else false) + else contains(field, match:"ancestral generic") +} +white_text := { false } + +#### Script to make magic-mana-future compatible w/ other templates +colorless_color := { + if contains(card.card_color, match:"hybrid") or contains(card.card_color, match:"multicolor") then "c" + else if card.card_color=="white" then "w" + else if card.card_color=="blue" then "u" + else if card.card_color=="black" then "b" + else if card.card_color=="red" then "r" + else if card.card_color=="green" then "g" + else "c" + } + + +############################################################## Mainframe mana +use_v_mana := {contains(set.custom_mana_symbol_name, match:".png")} +use_large_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in casting costs")} +use_small_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in text boxes")} +use_color_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"colored mana symbols") and not use_hybrid_v_mana()} +use_hybrid_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"hybrid with colors")} +v_mana_name := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"(.+/|\\.png)", replace:"")} +v_mana_loc := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"{v_mana_name()}\\.png", replace:"")} +v_mana_num := {max(to_number(set.number_hybrid_variants),0) or else -1} +############################################################## Determine card color +#### Names of colors color_name := { if input == "W" then "white" else if input == "U" then "blue" @@ -91,67 +478,67 @@ color_names_2 := { color_name(colors.0) + ", " + color_name(colors.1) } color_names_3 := { color_name(colors.0) + ", " + color_name(colors.1) + ", " + color_name(colors.2) } color_names_4 := { color_name(colors.0) + ", " + color_name(colors.1) + ", " + color_name(colors.2) + ", " + color_name(colors.3) } color_names_5 := { color_name(colors.0) + ", " + color_name(colors.1) + ", " + color_name(colors.2) + ", " + color_name(colors.3) + ", " + color_name(colors.4) } -# color based on mana cost, input == a mana cost -color_filter := sort_text@(order: "") +#### color based on mana cost, input == a mana cost +color_filter := sort_text@(order: "") color_filterH := sort_text@(order: "") mana_to_color := { - count := number_of_items(in: colors) + count := number_of_items(in: colors) if hybrid == "" and contains(type, match:"Artifact") then - # not a hybrid, but artifact + #### not a hybrid, but artifact if count == 0 then "artifact" else if count == 1 then color_names_1() + ", artifact" - else if set.set_info.use_gradient_multicolor == "no" then "artifact, multicolor" # stop here + else if set.set_info.use_gradient_multicolor == "no" then "artifact, multicolor" #### stop here else if count == 2 then color_names_2() + ", artifact, multicolor" - else if set.set_info.use_gradient_multicolor != "yes" then "artifact, multicolor" # stop here + else if set.set_info.use_gradient_multicolor != "yes" then "artifact, multicolor" #### stop here else if count == 3 then color_names_3() + ", artifact, multicolor" else if count == 4 then color_names_4() + ", artifact, multicolor" else if count == 5 then color_names_5() + ", artifact, multicolor" else "artifact, multicolor" else if hybrid == "" then - # not a hybrid, not artifact + #### not a hybrid, not artifact if count == 0 then "colorless" else if count == 1 then color_names_1() - else if set.set_info.use_gradient_multicolor == "no" then "multicolor" # stop here + else if set.set_info.use_gradient_multicolor == "no" then "multicolor" #### stop here else if count == 2 then color_names_2() + ", multicolor" - else if set.set_info.use_gradient_multicolor != "yes" then "multicolor" # stop here + else if set.set_info.use_gradient_multicolor != "yes" then "multicolor" #### stop here else if count == 3 then color_names_3() + ", multicolor" else if count == 4 then color_names_4() + ", multicolor" else if count == 5 then color_names_5() + ", multicolor" else "multicolor" else if contains(type, match:"Artifact") then - # hybrid, but artifact + #### hybrid, but artifact if count == 0 then "artifact" else if count == 1 then color_names_1() + ", artifact" else if count == 2 then color_names_2() + ", artifact" else "artifact, multicolor" else - # hybrid, not artifact + #### hybrid, not artifact if count == 0 then "colorless" else if count == 1 then color_names_1() else if count == 2 then color_names_2() + ", hybrid" else "multicolor" } -# color based on land text box, input == textbox contents +#### color based on land text box, input == textbox contents color_text_filter := - # remove activation costs + #### remove activation costs replace@( match: "]*>[^<]+]*>" in_context: "(?ix) (\\n|^)[^:]*(,|:) | (pays?|additional|costs?)[ ]", replace: "" ) + - # keep only mana + #### keep only mana filter_text@(match: "]*>([^<]+)") + color_filter; -# get the land frame for a "WUBRG"-style input. +#### get the land frame for a "WUBRG"-style input. land_multicolor := { - count := number_of_items(in: colors) + count := number_of_items(in: colors) if count == 0 then "land" else if count == 1 then color_names_1() + ", land" else if count == 2 then color_names_2() + ", land" else "land, multicolor" } land_to_color := { - # Based on watermark + #### Based on watermark if watermark == "mana symbol white" then "white, land" else if watermark == "mana symbol blue" then "blue, land" else if watermark == "mana symbol black" then "black, land" @@ -160,65 +547,47 @@ land_to_color := { else land_multicolor(colors:color_text_filter(input: rules)) }@(rules:card.rule_text) -# Look for a CDA that defines colors +#### Look for a CDA that defines colors text_to_color := { - # Note: running filter_text is quite slow, do a quick 'contains' check first + #### Note: running filter_text is quite slow, do a quick 'contains' check first if contains(match: card_name + " is") then ( - text := filter_text(match: "is (colorless|all colors|((blue|white|green|red|black)((,|,? and) (blue|white|green|red|black))*))", in_context: regex_escape(card_name)+"()* \\.") - if text != "" then ( - if contains(text, match: "all colors") then ( - colors := "WUBRG" - if land == "true" then land_multicolor() - else mana_to_color(hybrid: "") - ) else ( - colors := "" - if contains(text, match: "white") then colors := colors + "W" - if contains(text, match: "blue") then colors := colors + "U" - if contains(text, match: "black") then colors := colors + "B" - if contains(text, match: "red") then colors := colors + "R" - if contains(text, match: "green") then colors := colors + "G" - if land == "true" then land_multicolor() - else mana_to_color(hybrid: "") - ) - ) - else "" + text := filter_text(match: "is (colorless|all colors|((blue|white|green|red|black)((,|,? and) (blue|white|green|red|black))*))", in_context: regex_escape(card_name)+"()* \\.") + if text != "" then ( + if contains(text, match: "all colors") then ( + colors := "WUBRG" + if land == true then land_multicolor() + else mana_to_color(hybrid: "") + ) else ( + colors := "" + if contains(text, match: "white") then colors := colors + "W" + if contains(text, match: "blue") then colors := colors + "U" + if contains(text, match: "black") then colors := colors + "B" + if contains(text, match: "red") then colors := colors + "R" + if contains(text, match: "green") then colors := colors + "G" + if land == true then land_multicolor() + else mana_to_color(hybrid: "") + ) + ) + else "" ) else "" } - -is_creature := match@(match: "(?i)Creature") -is_creaturish := match@(match: "(?i)(Creature|Vehicle)") -is_tribal := match@(match: "(?i)Tribal") -is_artifact := match@(match: "(?i)Artifact") -is_land := match@(match: "(?i)Land") -is_enchantment := match@(match: "(?i)Enchantment") -is_aura := match@(match: "(?i)Aura") -is_spell := match@(match: "(?i)Instant|Sorcery") -is_sorcery := match@(match: "(?i)Sorcery") -is_instant := match@(match: "(?i)Instant") -is_planeswalker := match@(match: "(?i)Planeswalker") -is_legendary := match@(match: "(?i)Legendary") -match_vehicle := contains@(match:"Vehicle") -match_snow := contains@(match:"Snow") - -# The color of a card +#### The color of a card card_color := { - # usually the color of mana + #### usually the color of mana text_color := text_to_color(rules_text, land: is_land(type)); if text_color == "" then ( mana_color := mana_to_color(colors: color_filter(casting_cost), hybrid: color_filterH(casting_cost)) - if mana_color == "colorless" and is_land (type) then land_to_color(watermark, rules:rules_text) - else if mana_color == "colorless" and is_artifact(type) then "artifact" - else if mana_color == "colorless" and contains(card.shape, match:"flip") then default + if mana_color == "colorless" and is_land (type) then land_to_color(watermark, rules:rules_text) + else if mana_color == "colorless" and is_artifact(type) then "artifact" + else if mana_color == "colorless" and contains(card.shape, match:"flip") then default else mana_color ) else text_color }; -##todo check nil -has_two_names := {contains(card.shape, match:"split") or contains(card.shape, match:"adventure") or contains(card.shape, match:"flip") or contains(card.shape, match:"double faced") or contains(card.shape, match:"aftermath")} -# Number of colors in a card_color +#### Number of colors in a card_color card_color_color_count := count_chosen@(choices: "white,blue,black,red,green,artifact") -# Clean up color field +#### Clean up color field card_color_filter := { colors := card_color_color_count() if colors > 2 then @@ -233,44 +602,109 @@ card_color_filter := { input := remove_choice(choice: "reversed") input } - +#### convert card color to "white, blue, and black" etc for reminder text +list_colors := { + list := trim_colors(input) + cc := length(comma_count(list)) + if cc == 1 then + list := replace(list, match:", ", replace:" and ") + if cc > 1 then + list := replace(list, match:", ", replace:", and ", in_context:"[^ ]+$") + list +} +#### convert card_color to WUBRG +card_color_to_letters := { + color_string := trim_colors(input) + (if contains(color_string, match:"white") then "W" else "") + +(if contains(color_string, match:"blue") then "U" else "") + +(if contains(color_string, match:"black") then "B" else "") + +(if contains(color_string, match:"red") then "R" else "") + +(if contains(color_string, match:"green") then "G" else "") +} +card_color_field := { if input <= 1 then card.card_color else card["card_color_" + input] } ############################################################## Card number -# exportname -exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!]+") -exporter_name_grabber := replace@(match:"!exporte?r?name ", replace:"") -export_name := { exporter_name_grabber(exporter_name_filter(card.notes))} - -# Index for sorting, white cards are first, so white->A, blue->B, .. , -# The code consists of 3 parts: -# color, shifted, split +#### The code consists of 4 parts: +#### partition, rarity tier, color, card name +#### remove filler text from partition select +partition_filter := replace@(match:"(before normal|after normal, main set|after main set|help.*) ?", replace:"") +partition_index := { + ind := partition_filter(card.partition_select) + if ind == "" then ind := "A" + ind +} +#### determine if a card is "over-partition", ie should be excluded from the main set count +over_partition := { + mn_pos := if set.last_main_partition == "" then "M" else to_upper(substring(set.last_main_partition, end:1)) + partition_scores[partition_index()] > partition_scores[mn_pos] +} +partition_scores := [ + 0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, + A:10, B:11, C:12, D:13, E:14, F:15, G:16, H:17, I:18, + J:19, K:20, L:21, M:22, N:23, O:24, P:25, Q:26, R:27, + S:28, T:29, U:30, V:31, W:32, X:33, Y:34, Z:35 +] +#### MSE doesn't do "A" > "B" like some languages do +#### Originally this put partition_index() and mn_pos in an array and sorted that +#### but that crashed mse on startup once it was added to sort the card number column +#### but you also couldn't use position() because it inherits order_by and filter from card_number() +#### and MSE yells at you if you do that and you're not sorting a set +#### and replacing them with nil doesn't work, it still complains if they're nil??? +#### so instead hard-coded map of indices +#### you'll never catch me i'm behind seven workarounds + +#### Index for sorting, white cards are first, so white->A, blue->B, .. , sort_index := { color_of_card() + - (if contains(card.shape, match:"shifted") then "S" else " ") + # planeshifted cards come after normal ones - (if contains(card.shape, match:"split") then "S" else " ") + # split cards come after normal ones + (if contains(card.shape, match:"shifted") then "S" else " ") + #### planeshifted cards come after normal ones + (if contains(card.shape, match:"split") then "S" else " ") + #### split cards come after normal ones ":" } -# Process the name for sorting rules -sort_name := - # Remove "The", "A", and "An" at the beginning - replace@(match: "^(The|An?) ", replace: "") + - # Remove commas and apostrophes - replace@(match: "(,|'|’)", replace: "") + - # Remove bold and italic tags - replace@(match: "(|||)", replace: "") + - # Make lowercase - to_lower - +#### A code for the color of the card +color_of_card := { + card_color := card.card_color + casting_cost := card.casting_cost + type := card.super_type + if contains(card.shape, match: "split") and + card_color != card.card_color_2 then "I" #### Diff Color Splits + else if chosen(choice: "land", card_color) then ( #### Lands + if card.rarity != "basic land" then "L" #### Nonbasic Land + else basic_land_sort() #### Basic Land + ) else if is_null_cost(casting_cost) then ( #### Non-Land Cards with no or zero costs. + if chosen(choice: "colorless", card_color) then "A" #### Clear Colorless + else if chosen(choice: "hybrid", card_color) then "HK" #### Hybrids + else if is_multicolor(card_color) then "GK" #### Multicolor + else if chosen(choice:"white", card_color) then "B" #### White + else if chosen(choice:"blue", card_color) then "C" #### Blue + else if chosen(choice:"black", card_color) then "D" #### Black + else if chosen(choice:"red", card_color) then "E" #### Red + else if chosen(choice:"green", card_color) then "F" #### Green + else "J" #### Artifact + ) else ( + #### Cards with costs. + colors := sort_text(casting_cost, order: "") + if colors == "" and contains(type, match:"Artifact") then "J" #### Artifact + else if colors == "" then "A" #### Clear Colorless + else if colors == "W" then "B" #### White + else if colors == "U" then "C" #### Blue + else if colors == "B" then "D" #### Black + else if colors == "R" then "E" #### Red + else if colors == "G" then "F" #### Green + else if is_hybrid_cost() then hybrid_color_pair_sort() #### Hybrid (by pairs) + else if contains(casting_cost, match:"/") and contains(type, match:"Artifact") then "I" #### Hybrid Artifacts + else multi_color_pair_sort() #### Multicolor (by pairs) + ) +} +is_null_cost := { input == "" or input == "0" } is_multicolor := { chosen(choice: "multicolor") and input != "artifact, multicolor" } -is_null_cost := { input == "" or input == "0" } is_hybrid_cost := { contains(card.casting_cost, match: "W/") or contains(card.casting_cost, match: "U/") or contains(card.casting_cost, match: "B/") or contains(card.casting_cost, match: "R/") or contains(card.casting_cost, match: "G/") } basic_land_sort := { - if contains(card.name, match:"Plains") then "MB" # Plains - else if contains(card.name, match:"Island") then "MC" # Islands - else if contains(card.name, match:"Swamp") then "MD" # Swamps - else if contains(card.name, match:"Mountain") then "ME" # Mountains - else if contains(card.name, match:"Forest") then "MF" # Forests - else "MA" # other basic lands + if contains(card.name, match:"Plains") then "MB" #### Plains + else if contains(card.name, match:"Island") then "MC" #### Islands + else if contains(card.name, match:"Swamp") then "MD" #### Swamps + else if contains(card.name, match:"Mountain") then "ME" #### Mountains + else if contains(card.name, match:"Forest") then "MF" #### Forests + else "MA" #### other basic lands } hybrid_color_pair_sort := { colors := sort_text(casting_cost, order: "") @@ -303,51 +737,11 @@ multi_color_pair_sort := { else if contains(card.casting_cost, match:"/") then "GL" else "GK" } -# A code for the color of the card -color_of_card := { - card_color := card.card_color - casting_cost := card.casting_cost - type := card.super_type - if contains(card.shape, match: "split") and - card_color != card.card_color_2 then "I" # Diff Color Splits - else if chosen(choice: "land", card_color) then ( # Lands - if card.rarity != "basic land" then "L" # Nonbasic Land - else basic_land_sort() # Basic Land - ) else if is_null_cost(casting_cost) then ( # Non-Land Cards with no or zero costs. - if chosen(choice: "colorless", card_color) then "A" # Clear Colorless - else if chosen(choice: "hybrid", card_color) then "HK" # Hybrids - else if is_multicolor(card_color) then "GK" # Multicolor - else if chosen(choice:"white", card_color) then "B" # White - else if chosen(choice:"blue", card_color) then "C" # Blue - else if chosen(choice:"black", card_color) then "D" # Black - else if chosen(choice:"red", card_color) then "E" # Red - else if chosen(choice:"green", card_color) then "F" # Green - else "J" # Artifact - ) else ( - # Cards with costs. - colors := sort_text(casting_cost, order: "") - if colors == "" and contains(type, match:"Artifact") then "J" # Artifact - else if colors == "" then "A" # Clear Colorless - else if colors == "W" then "B" # White - else if colors == "U" then "C" # Blue - else if colors == "B" then "D" # Black - else if colors == "R" then "E" # Red - else if colors == "G" then "F" # Green - else if is_hybrid_cost() then hybrid_color_pair_sort() # Hybrid (by pairs) - else if contains(casting_cost, match:"/") and contains(type, match:"Artifact") then "I" # Hybrid Artifacts - else multi_color_pair_sort() # Multicolor (by pairs) - ) -} -token_shape := { - case input of - "token": true, - "emblem": true, - "counter": true, - "rulestip": true, - "checklist": true, - else: false; -} +#### Sort the card into its rarity tier +#### unsorted, regular cards, "after other cards" specials +#### "separate numbering" specials, masterpieces +#### tokens, emblems, rulestips, counters checklists rarity_sort := { if is_unsorted() then "R0" else if card.shape == "token" then "T1" @@ -355,44 +749,29 @@ rarity_sort := { 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 is_masterpiece() then "S2" else if set.sort_special_rarity == "separate numbering" and card.rarity == "special" then "S1" else if set.sort_special_rarity == "with the rest" or card.rarity != "special" then "R1" else "R2" } +#### do this to accurate represent partition sorting for the card number sorting column rarity_partition_sort := { main := rarity_sort() main.0 + partition_index() + main.1 } -card_partition := { - if styling.card_number_partition or else "" != "" - then styling.card_number_partition - else "A" -} -## MSE doesn't do "A" > "B" like some languages do -## Originally this put partition_index() and mn_pos in an array and sorted that -## but that crashed mse on startup once it was added to sort the card number column -## but you also couldn't use position() because it inherits order_by and filter from card_number() -## and MSE yells at you if you do that and you're not sorting a set -## and replacing them with nil doesn't work, it still complains if they're nil??? -## so instead hard-coded map of indices -## you'll never catch me i'm behind seven workarounds -partition_scores := [ - 0:0, 1:1, 2:2, 3:3, 4:4, 5:5, 6:6, 7:7, 8:8, 9:9, - A:10, B:11, C:12, D:13, E:14, F:15, G:16, H:17, I:18, - J:19, K:20, L:21, M:22, N:23, O:24, P:25, Q:26, R:27, - S:28, T:29, U:30, V:31, W:32, X:33, Y:34, Z:35 -] -over_partition := { - mn_pos := if set.last_main_partition == "" then "M" else to_upper(substring(set.last_main_partition, end:1)) - partition_scores[partition_index()] > partition_scores[mn_pos] -} -partition_filter := replace@(match:"(before normal|after normal, main set|after main set|secret|help.*) ?", replace:"") -partition_index := { - ind := partition_filter(card.partition_select) - if ind == "" then ind := "A" - ind -} + +#### Process the name for sorting rules +sort_name := + #### Remove "The", "A", and "An" at the beginning + replace@(match: "^(The|An?) ", replace: "") + + #### Remove commas and apostrophes + replace@(match: "(,|'|’)", replace: "") + + #### Remove bold and italic tags + replace@(match: "(|||)", replace: "") + + #### Make lowercase + to_lower + +#### given a card, return the function that returns all other cards that impact its card number set_filter := { if is_unsorted() then { is_unsorted() } @@ -413,9 +792,9 @@ set_filter := { else { not is_unsorted() and not token_shape(card.shape) and card.rarity != "special" } } -## over-partition cards need to be counted during the card number count -## but need to be skipped during the card count count -## so this is a copy of set_filter but it skips over-partition cards +#### over-partition cards need to be counted during the card number count +#### but need to be skipped during the card count count +#### so this is a copy of set_filter but it skips over-partition cards set_filter_under_partition := { if is_unsorted() then { is_unsorted() } @@ -436,8 +815,11 @@ set_filter_under_partition := { else { not is_unsorted() and not token_shape(card.shape) and card.rarity != "special" and not over_partition() } } + +#### user configurable additions to the set totals card_number_offset := {pull_comma_array(set.card_number_offsets, cell:0, end:false, default:0)} set_number_offset := {pull_comma_array(set.card_number_offsets, cell:1, end:false, default:0)} +#### the raw numbers, these aren't typically used directly card_number := { position ( of: card @@ -449,16 +831,15 @@ card_number := { card_count := { number_of_items(in: set, filter: set_filter_under_partition()) + to_number(set_number_offset()) } - -#Starting with M15, zero digits in card numbers should be shown up to three. +#### Starting with M15, pad the collector number to three digits 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() } -#Starting with MOM, zero digits in card numbers should be shown up to four +#### Starting with MOM, pad the collector number to four digits card_number_mom := { (if card_number() < 1000 then "0" else "") + (if card_number() < 100 then "0" else "") + (if card_number() < 10 then "0" else "") + card_number() } card_count_mom := { (if card_count() < 1000 then "0" else "") + (if card_count() < 100 then "0" else "") + (if card_count() < 10 then "0" else "") + card_count() } use_auto_numbers := {set.automatic_card_numbers and not is_unsorted()} -# Use this in templates so we don't have to update 700 templates the next time they change the ordering +#### Use this in templates so we don't have to update 700 templates the next time they change the ordering card_number_script_core := { if not use_auto_numbers() then combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card.card_code_text) @@ -476,250 +857,156 @@ card_number_script_core := { forward_editor(prefix: card_number() + " " + rarity_code() + " ", field: card.card_code_text) } -# used by pack scripts -is_token_card := { card.shape == "token" or card.shape == "rulestip" or card.shape == "counter" or card.shape == "checklist" or card.shape == "emblem"} -is_shifted_card := { contains(card.shape, match:"shifted") } -is_masterpiece := { card.rarity == "masterpiece" } - - -############################################################## Utilities for keywords - -comma_count := filter_text@(match:",") -# Replace spaces by a spacer -separate_words := remove_tags + trim + replace@(match:" ", replace: {spacer}) - -# replaces — correctly -add := "" # default is nothing - -trim_reminder_x := replace@(match: ". X can’t be 0.", replace: "") - -# If the 'input' parameter is a mana costs, then adds 'add' -for_mana_costs := { - if input.separator_before == "—" and contains(input.param, match: " ") then ( ##multi word - if comma_count(input.param) == "," then ( ##two part - if match(match: "^[VLHSCAIETKQ\\?XYZIWUBRG0-9/|]+,", input.param) then ##starts with mana - "{add}{alternative_cost(input.param, trim:combined_cost, s:action)}" ##"add" mana - else "{alternative_cost(input.param, trim:combined_cost, s:action)}{non}" ## else cost "non" - ) else if contains(input.param, match: ",") then ( ##three+ parts - if match(match: "^[VLHSCAIETKQ\\?XYZIWUBRG0-9/|]+,", input.param) then ##starts with mana - "{add}{alternative_cost(input.param, trim:long_cost, s:action)}" ##"add" mana with long formatting - else "{alternative_cost(input.param, trim:long_nomana_cost, s:action)}{non}" ## else cost "non" with long formatting - ) else - "{alternative_cost(input.param, s:action, trim:lower_first)}{non}" ##one, nonmana, part - ) else if match(match: "^[VLHSCAIETKQ\\?XYZIWUBRG0-9/|]+$", input.param) then ##one word - "{add}{input.param}" ##mana - else - "{alternative_cost(input.param, trim:combined_cost, s:action)}{non}" ##nonmana -}@(non:" in addition to any other costs", action:false) - -# Convert extra costs -long_cost := replace@(match:", [A-Z]", replace: { to_lower() } ) -long_nomana_cost := replace@(match:"[A-Z]", replace: { to_lower() }) -# Convert first character to lower case -lower_first := replace@(match:"^[A-Z]", replace: { to_lower() }) -combined_cost := replace@(match:", [A-Z]", replace: { to_lower() })+ - replace@(match:",", replace:" and")+ - replace@(match:"^[VLHSCETKQ\\?XYZIWUBRG0-9/|]+", in_context: "(^|[[:space:]])(?![a-z])", replace: "&")+ - replace@(match:"^[A-Z]", replace: { to_lower() }) -alternative_cost := { - input := trim(input) - if s then - input := actionize(input) - input -}@(trim: lower_first, s:false, trim:{input}) -actionize := replace@(match:"(activate|ante|cast|choose|create|destroy|discard|double|draw|exchange|exile|fight|mill|play|put|regenerate|return|reveal|sacrifice|shuffle|tap|untap|transform|vote|exert|pay)(?=($| |,|\\.))", replace:"\\1s") - +replace@(match:"(attach)", replace:"\\1es") - +replace@(match:"scry", replace:"scries") - +replace@(match:"your", replace:"their") -# -protection_code := { - output := if match(input, match:"(artifacts|creatures|enchantments|instants|lands|planeswalkers|sorceries|tribals|planes|schemes|emblems|conspiracies|^[A-Z]|^[^ ]* named)") then replace(input, match:"and from", replace:"or", in_context:" ") - else if match(input, match:"^(converted|mana|power|toughness)") then "anything with " + replace(input, match:"and from", replace:"or", in_context:" ") - else if contains(input, match:"the chosen player") then "anything " + replace(input, match:"the chosen", replace:"controlled by that") - else if contains(input, match:"the chosen") then "anything with " + replace(input, match:"the chosen", replace:"that") - else if contains(input, match:"all colors") then "anything " + replace(input, match:"all colors", replace:"that's white, blue, black, red, or green") - else if match(input, match:"^you$") then "anything you control" - else if match(input, match:"^its owner$") then "anything its owner controls" - else if match(input, match:"^(each of )?your opponents$") then "anything " + replace(input, match:"(each of )?your opponents", replace:"controlled by those players") - else if match(input, match:"(the|a) [^\n]* of your choice") then "anything " + replace(input, match:"(the|a) ([^\n]*) of your choice", replace:"of that \\2") - else if input == "colorless" then "anything colorless" - else "anything " + replace(english_singular(input), match:"and from", replace:"or", in_context:" ") - output := " targeted, dealt damage, enchanted, equipped by " + output - if match(output, match:"(artifacts|creatures|instants|lands|planeswalkers|sorceries|tribals|planes|schemes|emblems|conspiracies|by [A-Z])") and not match(output, match:"(enchantmentsAura|Curse)") then - output := replace(output, match:", enchanted", replace:"") - else output := output - if match(output, match:"(enchantments|creatures|instants|lands|planeswalkers|sorceries|tribals|planes|schemes|emblems|conspiracies|by [A-Z])") and not match(output, match:"(artifacts|Equipment)") then - output := replace(output, match:" equipped", replace:"") - else output := output - if match(output, match:"equipped by") then output := replace(output, match:"equipped by", replace:"or equipped by") - else if match(output, match:"enchanted, by") then output := replace(output, match:"enchanted, by", replace:"or enchanted by") - else if match(output, match:"dealt damage, by") then output := replace(output, match:"dealt damage, by", replace:"or dealt damage by") +#### Determine a rarity code for M15 styles. +rarity_code := { + if not set.rarity_codes then "" + else if is_promo() then "P" + else if is_masterpiece() then "S" + else if contains(card.shape, match:"token") then "T" + else if contains(card.shape, match:"emblem") then "E" + 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" else "" - if match(output, match:"^ targeted, or dealt damage by") then output := replace(output, match:"^ targeted, or dealt damage by", replace:" targeted or dealt damage by") - if match(output, match:"anything [A-Z]") then output := replace(output, match:"anything ", replace:"") - if match(output, match:"or les") then output := replace(output, match:"or les$", replace:"or less") - if match(output, match:"(anything )?everything") then output := replace(output, match:"(anything )?everything", replace:"anything") - output := (if self_pro_check(card.text) then "You can't be" else if is_spell(card.type) then "It can't be blocked," else if is_creaturish(card.type) then "This creature can't be blocked," else "This permanent can't be") + output - output } -self_pro_check := match@(match:"You ha(ve|s) protection") -craft_code := { - [ - "en": { - ## beginning - rem := param2.value + ", Exile this artifact, Exile "; - - ## check if a number is given - count := filter_text(param1.value, match:"^(one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|[0-9]+)(-(one|two|three|four|five|six|seven|eight|nine))? (or more)?"); +is_unsorted := { false } +############################################################## Statistics utilities +#### Converted mana cost +is_half_mana := match@(match: "1/2|[|][WUBRGS]") +is_half_generic := match@(match: "1/2") +is_colored_mana := match@(match: "[WUBRG]") +only_numbers := filter_text@(match: "^[0123456789]+") +cmc_split := break_text@(match: "(?ix) 1/2 | [|][WUBRGC] | TK | [0-9](/[WUBRGCVLHSCETQ2]) | [0-9]+(?!/[WUBRGCVLHSCETQ2]) | [WUBRGCVLHS0-9](/[WUBRGCVLHS])\{0,4} ") +cmc := {to_number( + for each sym in cmc_split(to_text()) do ( + numbers := only_numbers(sym) + if is_half_mana(sym) then 0.5 + else if numbers != "" then to_int(numbers) + else 1 #### all other symbols are 1 + )) +} +mana_value := cmc +#### Remove supertypes or types to look at parts of the super_type field by themselves. +remove_supertype := replace@(match: "(Legendary|Basic|Snow|World|Tribal|Token)", replace: "")+ + replace@(match: "[ ]+", in_context: "^", replace: "")+ + replace@(match: "[ ]+", in_context: "$", replace: "") +remove_type := replace@(match: "(Artifact|Creature|Enchantment|Instant|Land|Planeswalker|Sorcery)", replace: "")+ + replace@(match: "[ ]+", in_context: "^", replace: "")+ + replace@(match: "[ ]+", in_context: "$", replace: "") - ## replace trailing space - count := trim(count) - - ## check how many commas are given - commas := filter_text(param1.value, match:","); - - ## check if this starts with a vowel - vowel := match(param1.value, match:"^[aeiouAEIOU]"); - - ## if we have a comma separated list, use the number of elements as the count - ## this doesn't support like, Craft with two Islands and two Mountains - ## you've done that to yourself - if commas != "" then count := english_number(length(commas)+1); - - ## unused style (craft with three) - #### param1 == "three" count == "three" - ## counting style (craft with one or more); (craft with six artifacts) - #### param1 == "one or more" count == "one"; param1 == "six artifacts" count == "six" - ## singular style (craft with creature) - #### param1 == "creature" count == "" - if count == param1.value then - ( - ## Exile three other... - rem := rem - + param1.value - + " other permanents you control and/or cards from your graveyard: " - ) - else if count != "" then - ( - ## Exile one or more from among... - ## Exile the six from among... - rem := rem - + (if count == "one or more" then param1.value else "the " + count) - + " from among other permanents you control and/or cards in your graveyard: " - ) - else - ( - ## Exile another creature you control or... - rem := rem - + "another " + param1.value + " you control or " - + (if vowel then "an " else "a ") + param1.value + " card from your graveyard: " - ) - - ## ending and return - rem := rem + "Return this card transformed under its owner's control. Craft only as a sorcery." - rem - }, - "de": { - ## beginning - rem := param2.value + ", schnicke dieses Artefakt ins Exil, schicke "; - - ## check if a number is given - count := filter_text(param1.value, match:"^(zwanzig|dreiβig|vierzig|fünfzig|sechzig|siebzig|achtzig|neunzig|eine[mr]|eins?|zwei|drei|vier|fünf|sechs?|sieben|sieb|acht|neun|zehn|elf|zwölf|[0-9]+)(und)?(zehn|zwanzig|dreiβig|vierzig|fünfzig|sechzig|siebzig|achtzig|neunzig)?( oder mehr(eren)?)? ?"); - - ## save the thing we're exiling - target := trim(replace(param1.value, match:count, replace:"")) - alt_target := if length(target) > 15 then "Permanente" else target - - ## format count - count := replace(count, match:"eine[mr]", replace:"eins") - count := trim(count) - - ## check how many commas are given - commas := filter_text(param1.value, match:","); - - ## check if this starts with a vowel - vowel := match(target, match:"^[aäeiouüAÄEIOUÜ]"); - - ## if we have a comma separated list, use the number of elements as the count - ## this doesn't support eg Craft with two Islands and two Mountains - ## you've done that to yourself - if commas != "" then ( - count := german_number(length(commas)+2); - alt_target := "Permanente" - ) - - ## unused style (craft with three) - #### param1 == "three" count == "three" - ## counting style (craft with one or more); (craft with six artifacts) - #### param1 == "one or more" count == "one"; param1 == "six artifacts" count == "six" - ## singular style (craft with creature) - #### param1 == "creature" count == "" - - if count == param1.value then - ( - ## Exile three other... - rem := rem - + param1.value - + " weiteren Permanente, die du kontrollierst und/oder Karten aus deinem Friedhof ins Exil: " - ) - else if count != "eins" then - ( - ## with one or more... - ## with four or more - ## with two+... - rem := rem - + ( - if count == "eins oder mehreren" then "ein oder mehrere weitere " - else if contains(count, match:"oder") then "die " + count + " weireren " - else "die " + count + " oder mehr weiteren " - ## todo this should list the denumbered param1.value instead - ) - + alt_target - + (if vowel then ", das du" else ", die du") - + " kontrollierst und/oder Karten aus deinem Friedhof ins Exil: " - ) - else - ( - ## with einem Artefakt - ## with einem Kreatur - rem := rem - + (if target == "Artefakt" then "ein weiteres " else "ein ") - + target - + ", " - + (if vowel then "das du" else "die du") - + " kontrollierst, oder " - + (if vowel then "eines " else "eine ") + target - + (if target == "Kreatur" then "en-karte" else "-karte") - +" aus deinem Friedhof ins Exile: " - ) - - ## ending and return - rem := rem + "Bringe diese Karte transformiert unter der Kontrolle ihres Besitzers ins Spiel zurück. Spiele Anfertigung wie eine Herexi." - rem - } - ][lang_setting("code") or else "en"]() +write_wubrg := { + (if match(input, match:"white") then "W" else "")+ + (if match(input, match:"blue") then "U" else "")+ + (if match(input, match:"black") then "B" else "")+ + (if match(input, match:"red") then "R" else "")+ + (if match(input, match:"green") then "G" else "") +} +colored_mana := {to_number( + for each sym in cmc_split(to_text()) do ( + numbers := only_numbers(sym) + if is_colored_mana(sym) then + if is_half_mana(sym) then 0.5 else 1 + else 0 + )) +} +generic_mana := {to_number( + for each sym in cmc_split(to_text()) do ( + numbers := only_numbers(sym) + if is_half_generic(sym) then 0.5 + else if numbers != "" then to_int(numbers) + else 0 #### all other symbols are 1 + )) } -long_dash := replace@(match:"-", replace:"—") - -# Utilities for keywords - -has_cc := { card.casting_cost != "" } - -has_pt := { card.power != "" or card.toughness != "" } +primary_card_color := { + artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green")) + land := chosen(choice:"land") + multi := chosen(choice:"multicolor") + hybrid := chosen(choice:"hybrid") + white := chosen(choice:"white") + blue := chosen(choice:"blue") + black := chosen(choice:"black") + red := chosen(choice:"red") + green := chosen(choice:"green") + multi_color := count_chosen(choices:"white, blue, black, red, green") + if land then "land" + else if multi then "multicolor" + else if multi_color == 2 and chosen(choice:"artifact") then "hybrid" #### hybrid artifacts would show as their first color + else if hybrid then "hybrid" + else if artifact then "artifact" + else if white then "white" + else if blue then "blue" + else if black then "black" + else if red then "red" + else if green then "green" + else input +} +sparker_card_color := { + artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green")) + land := chosen(choice:"land") + multi := chosen(choice:"multicolor") + hybrid := chosen(choice:"hybrid") + white := chosen(choice:"white") + blue := chosen(choice:"blue") + black := chosen(choice:"black") + red := chosen(choice:"red") + green := chosen(choice:"green") + multi_color := count_chosen(choices:"white, blue, black, red, green") + if land then "colorless" + else if multi then "multicolor" + else if multi_color >= 2 then "multicolor" + else if hybrid then "multicolor" + else if artifact then "artifact" + else if white then "white" + else if blue then "blue" + else if black then "black" + else if red then "red" + else if green then "green" + else "colorless" +} +############################################################## Keyword utilities +trim_reminder_x := replace@(match: ". X can’t be 0.", replace: "") +has_cc := { card.casting_cost != "" } +has_pt := { card.power != "" or card.toughness != "" } +is_spell := { contains(card.type, match:"Instant") or contains(card.type, match:"Sorcery") } contains_target := match@(match:"(?i)([^a-z]|^)targets?([^a-z]|$)") +is_targeted := { contains_target(card.rule_text) } -is_spell := { contains(card.type, match:"Instant") or contains(card.type, match:"Sorcery") } - -is_targeted := { contains_target(card.rule_text) } - +#### convert color word to mana symbol color_to_mana := replace@(match: "white", replace: "[W]")+ replace@(match: "blue", replace: "[U]")+ replace@(match: "black", replace: "[B]")+ replace@(match: "red", replace: "[R]")+ replace@(match: "green", replace: "[G]") +#### convert number word to digit +digital_number := { + input := replace(input, match:"up to ", replace:"") + result := input + two_part := filter_text(input, match:"(twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)") + one_part := filter_text(input, match:"(zero|a|an|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)\\b") + if two_part != "" and one_part != "" then + result := (digital_map[two_part] + digital_map[one_part]) or else input + else if two_part != "" then + result := digital_map[two_part] or else input + else if one_part != "" then + result := digital_map[input] or else input + result +} +#### convert once, twice, "[number] times" to digit +iterate_digits := { + trimmed := iterate_fix(input) + if trimmed == "" then 1 else digital_map[trimmed] or else trimmed +} +iterate_fix := remove_tags + +replace@(match: "^\\.", replace:"") + +replace@(match: "^,", replace:"") + +replace@(match: "^[ ]", replace:"") + +replace@(match:" times", replace:"") digital_map := [ "zero": 0, "one": 1, @@ -755,151 +1042,305 @@ digital_map := [ "eighty": 80, "ninety": 90 ] -iterate_fix := remove_tags - +replace@(match: "^\\.", replace:"") - +replace@(match: "^,", replace:"") - +replace@(match: "^[ ]", replace:"") - +replace@(match:" times", replace:"") -iterate_digits := { - trimmed := iterate_fix(input) - if trimmed == "" then 1 else digital_map[trimmed] or else trimmed -} -digital_number := { - input := replace(input, match:"up to ", replace:"") - result := input - two_part := filter_text(input, match:"(twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)") - one_part := filter_text(input, match:"(zero|a|an|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen)\\b") - if two_part != "" and one_part != "" then - result := (digital_map[two_part] + digital_map[one_part]) or else input - else if two_part != "" then - result := digital_map[two_part] or else input - else if one_part != "" then - result := digital_map[input] or else input - result -} -reverse_elements := {for element from 1 to length(input) do input[length(input) - element] + " "} -######################## Level Margins -#### these will be determined by the style affecting the margins and otherwise be 0 -margin_left := {0} -margin_right := {0} -margin_top := {0} -remove_margins := replace@( - match: "", - replace:"" -) -##remove 0 margins and margins with no text -cull_margins := replace@(match:"", replace:"")+ - replace@(match:"", replace:"") - -#### this gives a big array so we can grab_margins["lv1"] etc anywhere -grab_margins := {[ lv1: [margin_left("lv1"), margin_right("lv1"), margin_top("lv1")], - lv2: [margin_left("lv2"), margin_right("lv2"), margin_top("lv2")], - lv3: [margin_left("lv3"), margin_right("lv3"), margin_top("lv3")], - lv4: [margin_left("lv4"), margin_right("lv4"), margin_top("lv4")], - lv5: [margin_left("lv5"), margin_right("lv5"), margin_top("lv5")], - lv6: [margin_left("lv6"), margin_right("lv6"), margin_top("lv6")], - lv7: [margin_left("lv7"), margin_right("lv7"), margin_top("lv7")], - lv8: [margin_left("lv8"), margin_right("lv8"), margin_top("lv8")], - text: [margin_left("text"), margin_right("text"), margin_top("text")], - text2: [margin_left("text2"), margin_right("text2"), margin_top("text2")], - text3: [margin_left("text3"), margin_right("text3"), margin_top("text3")], - text4: [margin_left("text4"), margin_right("text4"), margin_top("text4")], - text5: [margin_left("text5"), margin_right("text5"), margin_top("text5")], - text6: [margin_left("text6"), margin_right("text6"), margin_top("text6")], - unknown: [0,0,0] -]} -#### then with apply_margins(field, name:fieldname), add the margins into the text -apply_margins := { - margin_data := grab_margins()[name] or else [0,0,0] - cull_margins("" + remove_margins(input) + "") -} -is_modal := contains@(match:"
  • ") +#### If the 'input' parameter is a mana costs, then adds 'add' +for_mana_costs := { + if input.separator_before == "—" and contains(input.param, match: " ") then ( #### multi word + if comma_count(input.param) == "," then ( #### two part + if match(match: "^[VLHSCAIETKQ\\?XYZIWUBRG0-9/|]+,", input.param) then #### starts with mana + "{add}{alternative_cost(input.param, trim:combined_cost, s:action)}" #### "add" mana + else "{alternative_cost(input.param, trim:combined_cost, s:action)}{non}" #### else cost "non" + ) else if contains(input.param, match: ",") then ( #### three+ parts + if match(match: "^[VLHSCAIETKQ\\?XYZIWUBRG0-9/|]+,", input.param) then #### starts with mana + "{add}{alternative_cost(input.param, trim:long_cost, s:action)}" #### "add" mana with long formatting + else "{alternative_cost(input.param, trim:long_nomana_cost, s:action)}{non}" #### else cost "non" with long formatting + ) else + "{alternative_cost(input.param, s:action, trim:lower_first)}{non}" #### one, nonmana, part + ) else if match(match: "^[VLHSCAIETKQ\\?XYZIWUBRG0-9/|]+$", input.param) then #### one word + "{add}{input.param}" #### mana + else + "{alternative_cost(input.param, trim:combined_cost, s:action)}{non}" #### nonmana +}@(non:" in addition to any other costs", action:false, add:"") -bump_text := { - blocks := split_text(input, match:"\n"); - new_text := blocks[0]; - for x from 1 to length(blocks)-1 do new_text := new_text + "\n" + bumper(blocks[x]) - new_text -} -bumper := { - #if this text isn't modal, at a 5 px margin - if is_modal(input) then input else - cull_margins("" + remove_margins(input) + "") - -} -inserts_values := { - split_text(set.inserts+";;;;;;;;;", match:";") -} -############################################################## The text box -# Filters for the text box -# context in which mana symbols are found -mana_context := - "(?ix) # case insensitive, ignore whitespace - (^|[[:space:]\"(“']) # start of a word - ( - : # G: something - | , # G, tap: something - | [+][ ]?[ ]?— # Spree - | or[ ] # Add X, Y, or Z. - | [ ]to[ ]your # Add X, Y, or Z to your mana pool. - | you[ ]get[ ] # You get E, you get TK - | [ ]was[ ]spent # if G was spent to cast - | [ ]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 - ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?,)* # pay X, Y or Z - ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?[ ](and|or|and/or))* # pay X or Y - [ ] - ( - [,.)\"”]|$ # (end of word) - | [ ][^ .,]*$ # still typing... - | [ ]( or | and | in | less | more | to ) # or next word is ... - ) - ) - | # keyword argument that is declared as mana - | [ ]* # keyword argument that is declared as cost - | , # keyword argument that is declared as cost - "; -mana_un_context := "(mana values? |converted mana costs? | life)" +#### Convert extra costs +long_cost := replace@(match:", [A-Z]", replace: { to_lower() } ) +long_nomana_cost := replace@(match:"[A-Z]", replace: { to_lower() }) +#### Convert first character to lower case +lower_first := replace@(match:"^[A-Z]", replace: { to_lower() }) +combined_cost := replace@(match:", [A-Z]", replace: { to_lower() })+ + replace@(match:",", replace:" and")+ + replace@(match:"^[VLHSCETKQ\\?XYZIWUBRG0-9/|]+", in_context: "(^|[[:space:]])(?![a-z])", replace: "&")+ + replace@(match:"^[A-Z]", replace: { to_lower() }) +alternative_cost := { + input := trim(input) + if s then + input := actionize(input) + input +}@(trim: lower_first, s:false, trim:{input}) +actionize := replace@(match:"(activate|ante|cast|choose|create|destroy|discard|double|draw|exchange|exile|fight|mill|play|put|regenerate|return|reveal|sacrifice|shuffle|tap|untap|transform|vote|exert|pay)(?=($| |,|\\.))", replace:"\\1s") + +replace@(match:"(attach)", replace:"\\1es") + +replace@(match:"scry", replace:"scries") + +replace@(match:"your", replace:"their") -# truncates the name of legends -legend_filter := replace@(match:"(, | of | the | \"| “).*", replace: "" ) - -# does this frame support Alchemy Rebalanced name symbol? -alch_compatible := {false} - -# these are considered a correct 'word' for spellchecking in the text box: -additional_text_words := match@(match: - "(?ix)^(?: # match whole word - ]*>.*?]*> # cardnames and stuff - | [+-]?[0-9X]+ / [+-]?[0-9X]+ # '3/3', '+X/+X' - )$") - -# the rule text filter -# - adds mana symbols -# - makes text in parentheses italic -equip_filter := - replace@(match:"This creature", replace:"It") - +replace@(match:"this creature", replace:"it") +#### determine if a reminder text should refer to this card or that card this_or_that := { - this := "this" - that := "that" - type := input - if input == "type" then type := to_lower(main_type(card.type)) - else if is_creaturish(card.type) then type := "creature" - if type == "" then type := "permanent" - 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 := if upper then "This" else "this" + that := if upper then "That" else "that" + #### inherit type, creature override, or given type + type := if input == "type" + then to_lower(main_type(card.type)) + else if input != "card" and is_creaturish(card.type) + then "creature" + else input; + + this_that := if input == "creature" and not is_creaturish(card.type) + then that #### ex. "Equipped creature has wither." + else if is_spell(card.type) and not is_spell(type) + then that #### ex. "Target creature gains wither." + else this; + + #### sanitize + type := if type == "" + then "permanent" + else if this_that == this and type == "artifact" and not is_artifact(card.type) + then "permanent" #### ex. an enchantment with crew + else if this_that == this and type == "land" and not is_land(card.type) + then "permanent" #### ex. an enchantment with hideaway before they changed it + else type; + this_that + " " + type }@(upper:false) -softline_ripper := - replace@(match:"", replace:"") + +############################################################## Complex reminder texts +self_pro_check := match@(match:"You ha(ve|s) protection") +protection_code := { + output := if match(input, match:"(artifacts|battles|creatures|enchantments|instants|kindreds|lands|planeswalkers|sorceries|planes|schemes|emblems|conspiracies|^[A-Z]|^[^ ]* named)") then replace(input, match:"and from", replace:"or", in_context:" ") + else if match(input, match:"^(converted|mana|power|toughness)") then "anything with " + replace(input, match:"and from", replace:"or", in_context:" ") + else if contains(input, match:"the chosen player") then "anything " + replace(input, match:"the chosen", replace:"controlled by that") + else if contains(input, match:"the chosen") then "anything with " + replace(input, match:"the chosen", replace:"that") + else if contains(input, match:"all colors") then "anything " + replace(input, match:"all colors", replace:"that's white, blue, black, red, or green") + else if match(input, match:"^you$") then "anything you control" + else if match(input, match:"^its owner$") then "anything its owner controls" + else if match(input, match:"^(each of )?your opponents$") then "anything " + replace(input, match:"(each of )?your opponents", replace:"controlled by those players") + else if match(input, match:"(the|a) [^\n]* of your choice") then "anything " + replace(input, match:"(the|a) ([^\n]*) of your choice", replace:"of that \\2") + else if input == "colorless" then "anything colorless" + else "anything " + replace(english_singular(input), match:"and from", replace:"or", in_context:" ") + output := " targeted, dealt damage, enchanted, equipped by " + output + if match(output, match:"(artifacts|creatures|instants|lands|planeswalkers|sorceries|tribals|planes|schemes|emblems|conspiracies|by [A-Z])") and not match(output, match:"(enchantmentsAura|Curse)") then + output := replace(output, match:", enchanted", replace:"") + else output := output + if match(output, match:"(enchantments|creatures|instants|lands|planeswalkers|sorceries|tribals|planes|schemes|emblems|conspiracies|by [A-Z])") and not match(output, match:"(artifacts|Equipment)") then + output := replace(output, match:" equipped", replace:"") + else output := output + if match(output, match:"equipped by") then output := replace(output, match:"equipped by", replace:"or equipped by") + else if match(output, match:"enchanted, by") then output := replace(output, match:"enchanted, by", replace:"or enchanted by") + else if match(output, match:"dealt damage, by") then output := replace(output, match:"dealt damage, by", replace:"or dealt damage by") + else "" + if match(output, match:"^ targeted, or dealt damage by") then output := replace(output, match:"^ targeted, or dealt damage by", replace:" targeted or dealt damage by") + if match(output, match:"anything [A-Z]") then output := replace(output, match:"anything ", replace:"") + if match(output, match:"or les") then output := replace(output, match:"or les$", replace:"or less") + if match(output, match:"(anything )?everything") then output := replace(output, match:"(anything )?everything", replace:"anything") + output := (if self_pro_check(card.text) then "You can't be" else if is_spell(card.type) then "It can't be blocked," else if is_creaturish(card.type) then "This creature can't be blocked," else "This permanent can't be") + output + output +} +phy_reminder := { + phy_match := filter_text(input, match:"(/[WUBRG])+", in_context:"H") + letters := split_text(phy_match, match:"/") + reminder_text := "" + if length(letters) == 2 then + reminder_text := "[H/" + letters[1] + "] can be paid with [" + letters[1] + "] or 2 life." + else if length(letters) > 2 then + reminder_text := "[H/" + letters[1] + "/" + letters[2] + "] can be paid with [" + letters[1] + "], " + "[" + letters[2] + "], or 2 life." + else + reminder_text := "" + reminder_text +} +#### includes localization ability +craft_code := { + [ + "en": { + #### beginning + rem := param2.value + ", Exile this artifact, Exile "; + + #### check if a number is given + count := filter_text(param1.value, match:"^(one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|[0-9]+)(-(one|two|three|four|five|six|seven|eight|nine))? (or more)?"); + + #### replace trailing space + count := trim(count) + + #### check how many commas are given + commas := filter_text(param1.value, match:","); + + #### check if this starts with a vowel + vowel := match(param1.value, match:"^[aeiouAEIOU]"); + + #### if we have a comma separated list, use the number of elements as the count + #### this doesn't support like, Craft with two Islands and two Mountains + #### you've done that to yourself + if commas != "" then count := english_number(length(commas)+1); + + #### unused style (craft with three) + #### param1 == "three" count == "three" + #### counting style (craft with one or more); (craft with six artifacts) + #### param1 == "one or more" count == "one"; param1 == "six artifacts" count == "six" + #### singular style (craft with creature) + #### param1 == "creature" count == "" + if count == param1.value then + ( + #### Exile three other... + rem := rem + + param1.value + + " other permanents you control and/or cards from your graveyard: " + ) + else if count != "" then + ( + #### Exile one or more from among... + #### Exile the six from among... + rem := rem + + (if count == "one or more" then param1.value else "the " + count) + + " from among other permanents you control and/or cards in your graveyard: " + ) + else + ( + #### Exile another creature you control or... + rem := rem + + "another " + param1.value + " you control or " + + (if vowel then "an " else "a ") + param1.value + " card from your graveyard: " + ) + + #### ending and return + rem := rem + "Return this card transformed under its owner's control. Craft only as a sorcery." + rem + }, + "de": { + #### beginning + rem := param2.value + ", schnicke dieses Artefakt ins Exil, schicke "; + + #### check if a number is given + count := filter_text(param1.value, match:"^(zwanzig|dreiβig|vierzig|fünfzig|sechzig|siebzig|achtzig|neunzig|eine[mr]|eins?|zwei|drei|vier|fünf|sechs?|sieben|sieb|acht|neun|zehn|elf|zwölf|[0-9]+)(und)?(zehn|zwanzig|dreiβig|vierzig|fünfzig|sechzig|siebzig|achtzig|neunzig)?( oder mehr(eren)?)? ?"); + + #### save the thing we're exiling + target := trim(replace(param1.value, match:count, replace:"")) + alt_target := if length(target) > 15 then "Permanente" else target + + #### format count + count := replace(count, match:"eine[mr]", replace:"eins") + count := trim(count) + + #### check how many commas are given + commas := filter_text(param1.value, match:","); + + #### check if this starts with a vowel + vowel := match(target, match:"^[aäeiouüAÄEIOUÜ]"); + + #### if we have a comma separated list, use the number of elements as the count + #### this doesn't support eg Craft with two Islands and two Mountains + #### you've done that to yourself + if commas != "" then ( + count := german_number(length(commas)+2); + alt_target := "Permanente" + ) + + #### unused style (craft with three) + #### param1 == "three" count == "three" + #### counting style (craft with one or more); (craft with six artifacts) + #### param1 == "one or more" count == "one"; param1 == "six artifacts" count == "six" + #### singular style (craft with creature) + #### param1 == "creature" count == "" + + if count == param1.value then + ( + #### Exile three other... + rem := rem + + param1.value + + " weiteren Permanente, die du kontrollierst und/oder Karten aus deinem Friedhof ins Exil: " + ) + else if count != "eins" then + ( + #### with one or more... + #### with four or more + #### with two+... + rem := rem + + ( + if count == "eins oder mehreren" then "ein oder mehrere weitere " + else if contains(count, match:"oder") then "die " + count + " weireren " + else "die " + count + " oder mehr weiteren " + #### todo this should list the denumbered param1.value instead + ) + + alt_target + + (if vowel then ", das du" else ", die du") + + " kontrollierst und/oder Karten aus deinem Friedhof ins Exil: " + ) + else + ( + #### with einem Artefakt + #### with einem Kreatur + rem := rem + + (if target == "Artefakt" then "ein weiteres " else "ein ") + + target + + ", " + + (if vowel then "das du" else "die du") + + " kontrollierst, oder " + + (if vowel then "eines " else "eine ") + target + + (if target == "Kreatur" then "en-karte" else "-karte") + +" aus deinem Friedhof ins Exile: " + ) + + #### ending and return + rem := rem + "Bringe diese Karte transformiert unter der Kontrolle ihres Besitzers ins Spiel zurück. Spiele Anfertigung wie eine Herexi." + rem + } + ][lang_setting("code") or else "en"]() +} +############################################################## The text box +#### Filters for the text box +#### context in which mana symbols are found +mana_context := + "(?ix) #### case insensitive, ignore whitespace + (^|[[:space:]\"(“']) #### start of a word + ( + : #### G: something + | , #### G, tap: something + | [+][ ]?[ ]?— #### Spree + | or[ ] #### Add X, Y, or Z. + | [ ]to[ ]your #### Add X, Y, or Z to your mana pool. + | you[ ]get[ ] #### You get E, you get TK + | [ ]was[ ]spent #### if G was spent to cast + | [ ]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 + ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?,)* #### pay X, Y or Z + ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?[ ](and|or|and/or))* #### pay X or Y + [ ] + ( + [,.)\"”]|$ #### (end of word) + | [ ][^ .,]*$ #### still typing... + | [ ]( or | and | in | less | more | to ) #### or next word is ... + ) + ) + | #### keyword argument that is declared as mana + | [ ]* #### keyword argument that is declared as cost + | , #### keyword argument that is declared as cost + "; +#### remove false positives +mana_un_context := "(mana values? |converted mana costs? | life)" + +#### atoms +#### truncates the name of legends +legend_filter := replace@(match:"(, | of | the | \"| “).*", replace: "" ) +#### does this frame support Alchemy Rebalanced mana symbol in names? +alch_compatible := {false} +#### set tab insert atoms +inserts_values := { split_text(set.inserts+";;;;;;;;;", match:";") } +inserts_count := { clamp(length(semicolon_count(set.inserts)), minimum:1, maximum:9) } + +#### these are considered a correct 'word' for spellchecking in the text box: +additional_text_words := match@(match: + "(?ix)^(?: #### match whole word + ]*>.*?]*> #### cardnames and stuff + | [+-]?[0-9X]+ / [+-]?[0-9X]+ #### '3/3', '+X/+X' + )$") + +#### Automatically correct errant syntax auto_correct := replace@(match:" it’s (controller|owner|power|toughness|converted|other)", replace:" its \\1") +replace@(match:"Then, if" replace:"Then if") @@ -908,21 +1349,23 @@ auto_correct := +replace@(match:"(ecomes?) the Monarch" replace:"\\1 the monarch") +replace@(match:"does (combat|[X0-9]+) damage" replace:"deals \\1 damage") +replace@( - match: "(gains |gain |have |has )" # preceded by this - + "()" # inside a kw - + "([A-Z])" # match this + match: "(gains |gain |have |has )" #### preceded by this + + "()" #### inside a kw + + "([A-Z])" #### match this replace: { _1 + _2 + to_lower(_3)}) +replace@( - match: "([ ]*: |—| — )" # preceded by this - + "([[:lower:]])" # match this - + "(?![)])", # not followed by this + match: "([ ]*: |—| — )" #### preceded by this + + "([[:lower:]])" #### match this + + "(?![)])", #### not followed by this replace: { _1 + to_upper(_2) }) + +#### Automatically apply errata auto_errata := replace@(match:"converted mana cost", replace:"mana value") +replace@(match:"(?i)(Totem armor|Totembeistand|Armadura tótem|totémique|Armatura totem|Armadura de totem|族霊鎧|替身甲)", replace:{errata_map[_1] or else _1}) +replace@(match:"hen shuffle your library", replace:"hen shuffle") +replace@(match:"this (?:ability )?(?:only )?(?:any ?time you could cast|as) a", in_context: "(Activate|Play) n? (instant|sorcery)", replace:"only as a") - +#### can be localized via errata_map errata_map := [ "Totem armor": "Umbra armor", "Totem Armor": "Umbra armor", @@ -940,52 +1383,43 @@ errata_map := [ "Armadura de totem": "Armadura de sombra", "armadura de totem": "armadura de sombra" ] -ex_test := { - expand_keywords( - input, - condition: { - correct_case or (mode != "pseudo" and not used_placeholders) - } - default_expand: { - chosen(choice:if correct_case or mode == "action" then mode else "lower case", set.automatic_reminder_text) and chosen(choice:mode, set.automatic_reminder_text) - }, - combine: { - keyword := "{keyword}" - reminder := process_english_hints(if has_pt() then reminder else equip_filter(reminder)) - if mode == "pseudo" then "{keyword}" - else keyword + if expand then " ({reminder})" else "" - - }, - margin_code: margin_code - ) -} + +#### the rule text filter +#### - adds reminder text +#### - fills in CARDNAME and INSERT +#### - adds mana symbols +#### - makes text in parentheses italic +#### - indents modals +#### - runs auto correct/errata +#### - spellchecks +#### - margins aren't applied here; they're patched onto this by templates that use them text_filter := - # step 1 : remove all automatic tags + #### step 1 : remove all automatic tags remove_tag@(tag: "") + - remove_tag@(tag: "") + - remove_tag@(tag: "") + + remove_tag@(tag: "") + + remove_tag@(tag: "") + remove_tag@(tag: "") + remove_tag@(tag: "") + remove_tag@(tag: "", replace:"BOLDAROUND" - )+ + ) + replace@( match:"", replace:"ITALAROUND" - )+ + ) + replace@( match:"", replace:"SYMAROUND" - )+ - # step 2 : reminder text for keywords + ) + + #### step 2a : reminder text for keywords expand_keywords@( condition: { correct_case or (mode != "pseudo" and not used_placeholders) @@ -994,79 +1428,80 @@ text_filter := chosen(choice:if correct_case or mode == "action" then mode else "lower case", set.automatic_reminder_text) and chosen(choice:mode, set.automatic_reminder_text) }, combine: { - keyword := "{keyword}" + keyword := "{keyword}" reminder := process_english_hints(reminder) if mode == "pseudo" then "{keyword}" else keyword + if expand then " ({reminder})" else "" - }) + - # step 2ba : apply face_code + } + ) + + #### step 2b : apply face_code replace@( match: "face_(.*?)_end", replace: {face_code(_1)} - )+ - # step 2b : move action keywords' reminder text to the end of the line + ) + + #### step 2c : move action keywords' reminder text to the end of the line replace@( - match: "(]+> (?:(?!]+>]*>)([^\n]*)", #######removed "| ?]+> (?:(?!]+>]*>)([^\n]*)", #### removed "| ?]+> (?:(?!]+>]*>)([^\n]*?)(]+> (?:(?!]+>]*>)([^\n]*)", replace: "\\2\\4\\3\\1" - ) + - # step 2c : allow a sentence after lowercase reminder text for equips etc. + ) + + #### step 2e : allow a sentence after lowercase reminder text for equips etc. #replace@( # match: "(]+>[a-z][^<]+)((?:(?!]*>)([^\n]+)$", # replace: "\\1\\3\\2" # ) + - # step 2d : remove duplicate reminder text + #### step 2f : remove duplicate reminder text replace@( match: "(]*>[^)]+[)]]*>)([^\n]+)\\1" replace: "\\2\\1" - ) + - # step 2e : combine reminder texts + ) + + #### step 2g : combine reminder texts replace@( match: "[)](]+>]>]+> )[(]" replace: "\\1" ) + - # step 2f : temp fix for formatting buttons + #### step 2h : temp fix for formatting buttons replace@( match:"BOLDAROUND", replace:"" - )+ + ) + replace@( match:"ITALAROUND", replace:"" - )+ + ) + replace@( match:"SYMAROUND", replace:"" - )+ + ) + replace@( match:"-\n-" replace:"\n" - )+ - # step 3a : expand shortcut word CARDNAME + ) + + #### step 3a : expand shortcut word CARDNAME replace@( - match: "CARDNAME>?", - in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|-|—|/|​)", # TODO: Allow any punctuation before + match: "CARDNAME>?", #### >? is here so after replacement, the mouse snaps to the end of + in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|-|—|/|​)", #### TODO: Allow any punctuation before replace: "" - ) + - # step 3b : expand shortcut word LEGENDNAME + ) + + #### step 3b : expand shortcut word LEGENDNAME replace@( match: "LEGENDNAME>?", - in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|/|​)", # TODO: Allow any punctuation before + in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|/|​)", #### TODO: Allow any punctuation before replace: "" - ) + - # step 3c : fill in atom fields + ) + + #### step 3c : fill in atom fields tag_contents@( tag: "", - contents: { "" + (if card_name=="" then "CARDNAME" else strip_card_codes(card_name)) + "" } - ) + + contents: { "" + (if card_name=="" then "CARDNAME" else strip_card_codes(card_name, atom:true)) + "" } + ) + tag_contents@( tag: "", - contents: { "" + (if card_name=="" then "LEGENDNAME" else legend_filter(strip_card_codes(card_name))) + "" } - ) + + contents: { "" + (if card_name=="" then "LEGENDNAME" else legend_filter(strip_card_codes(card_name, atom:true))) + "" } + ) + replace@( match: "INS([1-9])", in_context: "(^|[[:space:]]|\\(|,|\\.|:|“|\"|'|‘|/|​)", @@ -1074,59 +1509,73 @@ text_filter := ) + { out := input - for x from 1 to 9 do + for x from 1 to inserts_count() do out := tag_contents(out, tag: "", contents: { "" + (if inserts_values()[x-1] == "" then "INS"+x else inserts_values()[x-1]) + "" } ) out } + - # step 4 : explict non mana symbols + #### step 4 : explict non mana symbols replace@( match: "\\][-+=]?[VLHSCETQ\\?XYZIWUBRG0-9/|]+\\[", - replace: {"" + mana_filter_t() + ""} ) + - # step 5 : add mana & tap symbols + replace: {"" + mana_filter_t() + ""} + ) + + #### step 5 : add mana & tap symbols replace@( match: "(?" + _1 + ""} ) + + replace: {"" + _1 + ""} + ) + replace@( match: "\\b((TK)+)(T)?\\b", in_context: mana_context, - replace: {"" + _1 + "" + _3}) + + replace: {"" + _1 + "" + _3} + ) + replace@( match: "\\b[VLHSCETQ\\?XYZIWUBRG0-9/|]+\\b", in_context: mana_context, - replace: {"" + mana_filter_t() + ""} ) + - # step 5b : remove false positive mana & tap symbols + replace: {"" + mana_filter_t() + ""} + ) + + #### step 5b : remove false positive mana & tap symbols replace@( match: "([VLHSCETQ\\?XYZIWUBRG0-9/|]+)", in_context: mana_un_context, - replace: "\\1" ) + - # step 5c : add explicit mana symbols + replace: "\\1" + ) + + #### step 5c : add explicit mana symbols replace@( match: "\\[[-+=]?[VLHSCETQE\\?XYZIWUBRG0-9/|]+\\]", - replace: {"" + mana_filter_t() + ""} ) + - # step 6 : curly quotes - {if set.curly_quotes then curly_quotes(input) else input} + - # step 7 : italicize text in parenthesis + replace: {"" + mana_filter_t() + ""} + ) + + #### step 6 : curly quotes + { + if set.curly_quotes then curly_quotes(input) else input + } + + #### step 7 : italicize text in parenthesis replace@( - match: "[(]([^)\n]|[(][^)\n]*[)])*[)]?", + match: "[(]([^)\n]|[(][^)\n]*[)])*[)]?", in_context: "(^|[[:space:]])|&") + - # step 7b : indent bullets - replace@( - match: "^(• |[+] ?)([^\n]+\n?)", - replace: {"
  • " + _1 + "" + _2 + "
  • "} - )+ - # step 7c : clean up modals - { + replace: "&" + ) + + #### step 7b : indent bullets + replace@( + match: "^(• |[+] ?)([^\n]+\n?)", + replace: {"
  • " + _1 + "" + _2 + "
  • "} + ) + + #### step 7c : clean up modals + { if is_modal(input) then bump_text(softline_ripper(input)) else input - }+ - # step 8 : automatic capitalization, but not after "(" - # step 9 : spellcheck + } + + #### step 8 : automatic capitalization, but not after "(" + #replace@( + # match: "([ ]*: |—| — )" #### preceded by this + # + "([[:lower:]])" #### match this + # + "(?![)])", #### not followed by this + # replace: { _1 + to_upper(_2) }) + + #### step 9 : spellcheck { if set.auto_correct then auto_correct(input) @@ -1137,7 +1586,7 @@ text_filter := auto_errata(input) else input } + - { + { if language().code == "ja" or language().code == "zht" or language().code == "zhs" then input else if set.mark_errors then check_spelling( @@ -1145,840 +1594,157 @@ text_filter := extra_dictionary: "/magic.mse-game/dictionary/magic-words", extra_match: additional_text_words ) - else input + else input } -modal_lines := replace@(match:"", replace:"") - +replace@(match:"(.+)", replace:"\\1") - -modal_text_filter := text_filter + modal_lines - -############################################################## Other boxes - -# the flavor text filter -# - makes all text italic +#### the flavor text filter +#### - makes all text italic +flavor_text_filter_default := { "" } flavor_text_filter := - # step 1 : remove italic tags - remove_tag@(tag: "") + - # step 2 : surround by tags + #### step 1 : remove italic tags + remove_tag@(tag: "") + + #### step 2 : surround by tags { "" + input + "" } + - # curly quotes - {if set.curly_quotes then curly_quotes(input) else input} + - # spellcheck - { if set.mark_errors - then check_spelling(language:language().spellcheck_code) - else input + #### curly quotes + { if set.curly_quotes then curly_quotes(input) else input } + + #### spellcheck + { + if set.mark_errors + then check_spelling(language:language().spellcheck_code) + else input } - -# Move the cursor past the separator in the p/t and type boxes -type_over_pt := replace@(match:"/$", replace:"") -type_over_type := replace@(match:" ?[-:]$", replace:"") -super_type_filter := { - input := remove_tag(tag: "{input}" +############################################################## Face code +#### this is a workaround to let reminder code access the proper face of a card +card_face := { + front := card[input] + 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 } - -split_at_spaces := split_text@(match: " +") -remove_leading_spaces := replace@(match: "^ +", replace: "") -remove_trailing_soft_tags := replace@(match: ".*?$", replace: "") -replace_soft_tags := replace@(match: ".*?", replace: " ") -sub_type_filter := -{ - subtype_separator := lang_setting("subtype_separator") - code := lang_setting("code") - input := remove_tag(input, tag: "" + sub_type + "" - else "" + sub_type + "" - ) else ( - ### Check for single word sub types - split := split_at_spaces(input) - input := if length(split) > 1 then replace(input, match: "^" + regex_escape(split.0), replace: "") else "" - if i == 0 then "" + split.0 + "" - else "" + split.0 + ""))) - ) - ### Add separators between types, keep additional spaces if there are more than one - sub_types := replace(sub_types, match: "(]*>)( *)(" - else sub_types + "" + subtype_separator + "" - ) else input ### Do nothing if we don't know the type +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 } - -# all sub types, for word list -space_to_comma := replace@(match:" ", replace:",") -only_first := replace@(match:" .*", replace:"") -only_next := replace@(match:"^[^ ]* ?", replace:"") -all_sub_types := { - for each card in set do - if lang_setting(setting)(card.super_type) then "," + space_to_comma(to_text(card.sub_type)) else "" +flip_face := { + if input == "_2" then "" else "_2" } -all_races := { - for each card in set do - if lang_setting("is_creature")(card.super_type) or lang_setting("is_kindred")(card.super_type) then - "," + only_first(to_text(card.sub_type)) - else "" +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)}, + name: {card["name"+face]}, + cost: {card["casting_cost"+face]}, + altname: {card["name"+flip_face(face)]}, + altcost: {card["casting_cost"+flip_face(face)]}, +] +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 } -all_classes := { - for each card in set do - if lang_setting("is_creature")(card.super_type) then - "," + space_to_comma(only_next(to_text(card.sub_type))) - else "" -} - -# Determine a rarity code for M15 styles. -rarity_code := { - if not set.rarity_codes then "" - else if is_promo() then "P" - else if is_masterpiece() then "S" - else if contains(card.shape, match:"token") then "T" - else if contains(card.shape, match:"emblem") then "E" - 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" - else ""} - -# Determine if the card is a promo card. -is_promo := { "false" } - -# Determine if the card is a rare. -is_rare := { card.rarity == "rare" or card.rarity == "mythic rare" or card.rarity == "masterpiece" } - -# Shape of cards, can be changed in style files -card_shape := { "normal" } - -typesymbol_for := - to_text + - replace@(match: "(Legendary|Basic|Snow|World| )", replace: "") + - { if input == "Creature" then "creature" - else if input == "Sorcery" then "sorcery" - else if input == "Instant" then "instant" - else if input == "Artifact" then "artifact" - else if input == "Enchantment" then "enchantment" - else if input == "Land" then "land" - else if input == "Planeswalker" then "planeswalker" - else "multitype" - } -typesymbol_type := { typesymbol_for(type) } - -#Script to make magic-mana-future compatible w/ other templates -colorless_color := { - if contains(card.card_color, match:"hybrid") or contains(card.card_color, match:"multicolor") then "c" - else if card.card_color=="white" then "w" - else if card.card_color=="blue" then "u" - else if card.card_color=="black" then "b" - else if card.card_color=="red" then "r" - else if card.card_color=="green" then "g" - else "c" - } - -#Indicators never appear if the indicator would be colorless, colorless land, or colorless artifact. -#Indicators do appear if the chosen frame doesn't match the default. -#Indicators do appear if the chosen color for the indicator doesn't match the default. - -has_identity := { ( ( card.card_color != card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name, default: "colorless") ) or ( card.indicator != card_color(casting_cost: card.casting_cost, rules_text: card.rule_text, type: card.super_type, watermark: card.watermark, card_name: card.name, default: "colorless") ) ) and card.indicator != "colorless" and card.indicator != "artifact" and card.indicator != "land"} - -has_identity_2 := { ( ( card.card_color_2 != card_color(casting_cost: card.casting_cost_2, rules_text: card.rule_text_2, type: card.super_type_2, watermark: card.watermark_2, card_name: card.name_2, default: "colorless") ) or ( card.indicator_2 != card_color(casting_cost: card.casting_cost_2, rules_text: card.rule_text_2, type: card.super_type_2, watermark: card.watermark_2, card_name: card.name_2, default: "colorless") ) ) and card.indicator_2 != "colorless" and card.indicator_2 != "artifact" and card.indicator_2 != "land"} - -############################################################## Statistics utilities - -# Converted mana cost -is_half_mana := match@(match: "1/2|[|][WUBRGS]") -is_half_generic := match@(match: "1/2") -is_colored_mana := match@(match: "[WUBRG]") -only_numbers := filter_text@(match: "^[0123456789]+") -cmc_split := break_text@(match: "(?ix) 1/2 | [|][WUBRGC] | TK | [0-9](/[WUBRGCVLHSCETQ2]) | [0-9]+(?!/[WUBRGCVLHSCETQ2]) | [WUBRGCVLHS0-9](/[WUBRGCVLHS])\{0,4} ") -cmc := {to_number( - for each sym in cmc_split(to_text()) do ( - numbers := only_numbers(sym) - if is_half_mana(sym) then 0.5 - else if numbers != "" then to_int(numbers) - 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 "")+ - (if match(input, match:"black") then "B" else "")+ - (if match(input, match:"red") then "R" else "")+ - (if match(input, match:"green") then "G" else "") -} -colored_mana := {to_number( - for each sym in cmc_split(to_text()) do ( - numbers := only_numbers(sym) - if is_colored_mana(sym) then - if is_half_mana(sym) then 0.5 else 1 - else 0 - )) -} -generic_mana := {to_number( - for each sym in cmc_split(to_text()) do ( - numbers := only_numbers(sym) - if is_half_generic(sym) then 0.5 - else if numbers != "" then to_int(numbers) - else 0 # all other symbols are 1 - )) -} - -primary_card_color := { - artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green")) - land := chosen(choice:"land") - multi := chosen(choice:"multicolor") - hybrid := chosen(choice:"hybrid") - white := chosen(choice:"white") - blue := chosen(choice:"blue") - black := chosen(choice:"black") - red := chosen(choice:"red") - green := chosen(choice:"green") - multi_color := count_chosen(choices:"white, blue, black, red, green") - if land then "land" - else if multi then "multicolor" - else if multi_color == 2 and chosen(choice:"artifact") then "hybrid" ##hybrid artifacts would show as their first color - else if hybrid then "hybrid" - else if artifact then "artifact" - else if white then "white" - else if blue then "blue" - else if black then "black" - else if red then "red" - else if green then "green" - else input -} -mainframe_stat_color := { - artifact := chosen(choice:"artifact") and not (chosen(choice:"white") or chosen(choice:"blue") or chosen(choice:"black") or chosen(choice:"red") or chosen(choice:"green")) - land := chosen(choice:"land") - multi := chosen(choice:"multicolor") - hybrid := chosen(choice:"hybrid") - white := chosen(choice:"white") - blue := chosen(choice:"blue") - black := chosen(choice:"black") - red := chosen(choice:"red") - green := chosen(choice:"green") - pink := chosen(choice:"pink") - purple := chosen(choice:"purple") - if land then "land" - else if multi then "multicolor" - else if hybrid then "hybrid" - else if artifact then "artifact" - else if white then "white" - else if blue then "blue" - else if black then "black" - else if red then "red" - else if green then "green" - else if pink then "pink" - else if purple then "purple" - else input -} -is_mainframe := { false } -is_walker := { contains(card.super_type, match:"Planeswalker") } -is_legend := { true } -mainframe_walker := {false} -mainframe_walker_text_script := {combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text)} -mainframe_walkerb := {false} -mainframe_walker_text_scriptb := {combined_editor(field1: card.level_5_text, separator1: "\n", field2: card.level_6_text, separator2: "\n", field3: card.level_7_text)} -alt_text := {false} -alt_text_script := {false} -alt_textb := {false} -alt_text_scriptb := {false} - -mainframe_power := { card.power } -mainframe_toughness := { card.toughness } - -word_count := break_text@(match:"[^[:space:]]+") + length -line_count := split_text@(match:"\n+",include_empty:false) + length - -#Remove supertypes or types to look at parts of the super_type field by themselves. -remove_supertype := replace@(match: "(Legendary|Basic|Snow|World|Tribal|Token)", replace: "")+ - replace@(match: "[ ]+", in_context: "^", replace: "")+ - replace@(match: "[ ]+", in_context: "$", replace: "") -remove_type := replace@(match: "(Artifact|Creature|Enchantment|Instant|Land|Planeswalker|Sorcery)", replace: "")+ - replace@(match: "[ ]+", in_context: "^", replace: "")+ - replace@(match: "[ ]+", in_context: "$", replace: "") -node_script := { if card.shape == "double faced" then "transform day" else "none" } - -card_new_color := { - if card.card_color == "white" then "w" - else if card.card_color == "blue" then "u" - else if card.card_color == "black" then "b" - else if card.card_color == "red" then "r" - else if card.card_color == "green" then "g" - else if contains(card.card_color, match:"artifact") then "a" - else if contains(card.card_color, match:"multi") or contains(card.card_color, match:"hybrid") then "m" - else "c" -} -spark_color := { - if card.card_color == "white" then "w" - else if card.card_color == "blue" then "u" - else if card.card_color == "black" then "b" - else if card.card_color == "red" then "r" - else if card.card_color == "green" then "g" - else if contains(card.card_color, match:"multi") or contains(card.card_color, match:"hybrid") then "m" - else "" -} - -ancestral_mana := { card.pt != "" and card.pt == "" } -is_unsorted := {"false"} -special_text := { "" } -special_text2 := { "" } -exporter_name_filter := filter_text@(match:"!exporte?r?name [^\n!(]+") -exporter_name_grabber := replace@(match:"!exporte?r?name ", replace:"") -clean_name := remove_tags + - replace@(match:"(\n| +$|^ +)", replace:"") + - replace@(match:"’", replace:"'") +############################################################## Level Margins +#### these will be determined by the style affecting the margins and otherwise be 0 +margin_left := {0} +margin_right := {0} +margin_top := {0} +remove_margins := replace@( + match: "", + replace:"" +) +#### remove 0 margins and margins with no text +cull_margins := replace@(match:"", replace:"")+ + replace@(match:"", replace:"") -card_name := { - test_name := exporter_name_grabber(exporter_name_filter(card.notes)) - if test_name == "" then test_name := card.name - clean_name(test_name) -} -dfc_splitter_name := { - back_name := card.name_2 - full_name := card_name() - if back_name != "" then full_name := full_name + "_" + clean_name(back_name) - full_name -} -exporter_num_filter := filter_text@(match:"!num [^\n!]+") -exporter_num_grabber := replace@(match:"!num ", replace:"") -trim_zeroes := replace@(match: "^00?", replace: "")+ - replace@(match: "a?/[0-9b]+", replace: "") -corrected_card_number := { if exporter_num_grabber(exporter_num_filter(card.notes)) != "" then exporter_num_grabber(exporter_num_filter(card.notes)) else if card.custom_card_number != "" then trim_zeroes(card.custom_card_number) else card_number() } - -comma_count := filter_text@(match:",") -round_up := {to_int(0.99999999999998+input)} -round_near := {to_int(0.5+input)} -to_title := replace@(match:"(^| )([A-z])([^ ]*)", replace:{_1+ to_upper(_2) + to_lower(_3)}) -to_sentence := replace@(match:"(^|\n)([A-z])([^\n]*)", replace:{_1+ to_upper(_2) + to_lower(_3)}) -join_arrays := { - a1 + for x from 0 to length(a2)-1 do [a2[x]] -} -join_list := { - string := "" - if length(input) == 2 then spacer := " " - if length(input) == 1 then closing := "" - for x from 0 to length(input)-1 do - string := string + (if x == length(input)-1 then closing else "") + input[x] + (if x == length(input)-1 then "" else spacer) - string -}@(spacer:", ", closing:"and ") -join := { - if i >= length(input) then "" - else if i == length(input)-1 then input[i] - else input[i]+sep+join(input, i: i+1, sep: sep) -}@(i: 0, sep:"") - -# workaround cause position() is broken for text arrays -contains_element := { - if input == [] then false else length(filter_list(input, filter:{input == element})) > 0 -} -ar_position := { - pos := -1 - for x from 0 to length(in)-1 do ( - if in[x] == of then pos := x; - ) - pos -} -unique_elements := { - e1 := [] - e2 := [] - e1 := e1 + for x from 0 to length(of)-1 do if ar_position(of:of[x], in:from) == -1 then [of[x]] -} -includes := {ar_position(of:input in:array) != -1} - -pull_comma_array := { - array := split_text(input, match:divider) - length := length(comma_count(input)) - ending := to_number(end) - if (cell >= (length + (1-ending))) - then default - else if array[cell] == "" or array[cell] == nil or array[cell] == "-" - then default - else array[cell] -}@(default:0, end: 1, divider:",", cell:0) -##todo check nil -#### standard is pull_comma_array("X,Y,Z,", cell: 0) -#### returns "X" -#### ending true for coordinates (requires a final divider to ensure element is complete) -#### ending false for moving (doesn't require divider, moving 1 then 11 is fine) -#### divider is "," by default, can change -#### can also add default to return in case of errors - -##a workaround for the crop offset function that doesn't appear to work -##slice_chop(input:image, height:(final height), width:(final width), distance:(length from bottom to top of final image)) -slice_crop := { - img := flip_vertical(input) - img := crop(img, height:distance, width:width, offset_x:0, offset_y:0) - img := flip_vertical(img) - img - if(height != 0 and height != distance) then - img := crop(img, height:height, width:width, offset_x:0, offset_y:0) - img -}@(height:0) - -#juryrig fix for level defaults. janky because MSE hates {true} -transfer_levels := {true} -transfer_levels_2 := {true} -a_saga := {false} -saga_reminder := { "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." } -b_saga := {false} -saga_reminderb := { "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." } -############################################################## Watermark Updates -card_spotlight := { "/magic-mainframe-watermarks.mse-include/spotlight/" + card_new_color() + "spotlight.png" } -custom_watermark_1 := { if set.custom_watermark_1 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_1 else "/magic-watermarks.mse-include/planeswalker.png" } -custom_watermark_2 := { if set.custom_watermark_2 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_2 else "/magic-watermarks.mse-include/planeswalker.png" } -custom_watermark_3 := { if set.custom_watermark_3 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_3 else "/magic-watermarks.mse-include/planeswalker.png" } -custom_watermark_4 := { if set.custom_watermark_4 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_4 else "/magic-watermarks.mse-include/planeswalker.png" } -custom_watermark_5 := { if set.custom_watermark_5 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_5 else "/magic-watermarks.mse-include/planeswalker.png" } -custom_watermark_6 := { if set.custom_watermark_6 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_6 else "/magic-watermarks.mse-include/planeswalker.png" } -custom_watermark_7 := { if set.custom_watermark_7 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_7 else "/magic-watermarks.mse-include/planeswalker.png" } -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 - - -chop_top := {0} -chop_bot := {0} -bar_offset := {0} -offset_lines := {0} -chop_top2 := {0} -chop_bot2 := {0} -bar_offset2 := {0} -offset_lines2 := {0} - -##### Set chop_top(), chop_bot(), bar_offset(), and offset_lines to 0 to reduce replacements in chopping frames -##### Full equations to use in chopping templates below -##### 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} -##### bar_offset := {if styling.flavor_bar_offset == "-" or styling.flavor_bar_offset == "+" then 0 else to_number(styling.flavor_bar_offset)} -##### offset_lines := {offset_counter(styling.flavor_bar_offset)} - -top_of_textbox := {card_style.text.top } -bottom_of_textbox := {card_style.text.bottom } -top_of_textbox2 := {card_style.text_2.top } -bottom_of_textbox2 := {card_style.text_2.bottom } -offset_counter := {length(filter_text(input, match:"u")) - length(filter_text(input, match:"d"))} -paragraph_count := filter_text@(match:"\n") -hard_paragraph_count := - replace@(match:"\n", replace:"")+ #count hard breaks for their extra space - filter_text@(match:"\n") -soft_break_filter := - filter_text @(match:"<", in_context: "soft-line>") #count soft breaks for quotes -word_split := split_text@(match:" ") #split words to better calculate line lengths -small_filter := filter_text@(match:"[\\.,\\?!il’]") #grab the tiny characters -fb_length := {length(input) - 0.3 * length(small_filter(input))}#reduce the effect of tiny characters -calc_lines := { sum := 0 #estimate lines by character limit - lines := 1 #minimum of 1 - for e from 0 to length(input)-1 do ( - sum := sum + fb_length(input[e]); - if sum > char then ( #if new word is over the limit - lines := lines + 1; #add new line - sum := fb_length(input[e])) #reset the sum - else - sum := sum + 1; #else add it and a space to the sum - ) - lines #return number of lines -} -lines_of_text := { #estimate lines in break blocks - lines := 0 #further improves the previous eq - for x from 0 to length(input)-1 do - if input[x] or else "" != "" then #if the break isn't empty, check it - lines := lines + calc_lines(word_split(input[x]), char:char) - lines -} -flavor_text := {split_text(match:"\n", remove_tags(card.flavor_text+"\n"))} #remove tags, add \n so .1 doesn't explode -hard_flavor_break := { if not contains(card.flavor_text, match:"\n") then 0 else if contains(card.flavor_text, match:"\n") then 0 else if lines_of_rules() >= 3 then -3 else -2} -font_size := {min(14,round_near(card_style.text.content_height / card_style.text.content_lines) - 8)} #approximate font size -adj_char_width := {7.35 * min(14, font_size()+0.95) / 14} #average char width, adjusted for font size -char_per_line := {min(52,round_up(card_style.text.content_width / adj_char_width())+1.5)} #approximate character limit. very rarely over 52 but standard eq can reach 60+ -lines_of_flavor := {lines_of_text(flavor_text(), char:char_per_line())} -lines_of_rules := { card_style.text.content_lines - lines_of_flavor() } #rules of lines for ratio weirdness -line_height := {(card_style.text.content_height / card_style.text.content_lines)} -padding_height := { 0.5*(bottom_of_textbox() - top_of_textbox() - card_style.text.content_height) } #space between top of textbox and text -linebreak_height := { 2*length(hard_paragraph_count(card.rule_text)) } -###correction for ratio of rules/flavor causing weirdness -uneven_correction := { if lines_of_flavor() == 1 then max(4, (card_style.text.content_lines - (2*lines_of_flavor()))) else (card_style.text.content_lines - (2*lines_of_flavor())) } -###add it all up -###old_bar_equation is compatibilty for 2.0.0 -old_bar_equation := { top_of_textbox() + padding_height() + card_style.text.content_height - line_height()*(lines_of_flavor() + offset_lines()) + linebreak_height() - uneven_correction() + front_corr() + bar_offset() + hard_flavor_break() +1 } -bar_equation := {if card_style.text.layout.blocks[1].bottom or else 0 > 0 then card_style.text.top + 0.5*(card_style.text.layout.blocks[0].bottom+card_style.text.layout.blocks[1].top) else old_bar_equation()} - -flavor_text2 := {split_text(match:"\n", remove_tags(card.flavor_text_2+"\n"))} #remove tags, add \n so .1 doesn't explode -hard_flavor_break2 := { if not contains(card.flavor_text_2, match:"\n") then 0 else if contains(card.flavor_text_2, match:"\n") then 0 else if lines_of_rules2() >= 3 then -3 else -2} -font_size2 := {min(14,round_near(card_style.text_2.content_height / card_style.text_2.content_lines) - 8)} #approximate font size -adj_char_width2 := {7.35 * min(14, font_size2()+0.95) / 14} #average char width, adjusted for font size -char_per_line2 := {min(52,round_up(card_style.text_2.content_width / adj_char_width2())+1.5)} #approximate character limit. very rarely over 52 but standard eq can reach 60+ -lines_of_flavor2 := {lines_of_text(flavor_text2(), char:char_per_line2())} -lines_of_rules2 := { card_style.text_2.content_lines - lines_of_flavor2() } #rules of lines for ratio weirdness -line_height2 := {(card_style.text_2.content_height / card_style.text_2.content_lines)} -padding_height2 := { 0.5*(bottom_of_textbox2() - top_of_textbox2() - card_style.text_2.content_height) } #space between top of textbox and text -linebreak_height2 := { 2*length(hard_paragraph_count(card.rule_text_2)) } -###correction for ratio of rules/flavor causing weirdness -uneven_correction2 := { if lines_of_flavor2() == 1 then max(4, (card_style.text_2.content_lines - (2*lines_of_flavor2()))) else (card_style.text_2.content_lines - (2*lines_of_flavor2())) } -###add it all up -old_bar_equation2 := { top_of_textbox2() + padding_height2() + card_style.text_2.content_height - line_height2()*(lines_of_flavor2() + offset_lines2()) + linebreak_height2() - uneven_correction2() + back_corr() + bar_offset2() + hard_flavor_break2() +1 } -bar_equation2 := {if card_style.text_2.layout.blocks[0].bottom or else 0 > 0 then card_style.text_2.top + 0.5*(card_style.text_2.layout.blocks[0].bottom+card_style.text_2.layout.blocks[1].top) else old_bar_equation2()} - -##### long correction coefficient based off several sets of data -front_corr := {correction_coeff(lof:lines_of_flavor(), lor:lines_of_rules(), lbh:linebreak_height())} -back_corr := {correction_coeff(lof:lines_of_flavor2(), lor:lines_of_rules2(), lbh:linebreak_height2())} -correction_coeff := { - (if lor == 1 then - (if lof == 1 then 3 - else if lof == 2 then 1 - else if lof == 3 then 1.5 - else if lof == 4 then 0 - else 5 - lof) - else if lor == 2 and lbh == 2 then - (if lof == 1 then 1 - else if lof == 2 then 1 - else if lof == 3 then 2 - else if lof == 4 then 2 - else 3) - else if lor == 2 then - (if lof == 1 then 1 - else if lof == 2 then 0 - else if lof == 3 then 0 - else if lof == 4 then 0 - else -1) - else if lor == 3 and lbh == 2 then - (if lof == 1 then 0 - else if lof == 2 then 0 - else if lof == 3 then 1 - else if lof == 4 then 1 - else 2) - else if lor == 3 then - (if lof == 1 then 0 - else if lof == 2 then -1 - else if lof == 3 then -0.5 - else if lof == 4 then -1 - else 0) - else if lor == 4 and lbh == 2 then - (-2 + lof) - else if lor == 4 then - (if lof == 1 then -1 - else if lof == 2 then 0 - else if lof == 3 then -0.5 - else -1) - else if lor == 5 and lbh == 4 then - (-5 + lof) - else if lor == 5 and lbh == 2 then - (-2 + lof) - else if lor == 5 then - (2 - lof) - else if lor == 6 and lbh == 2 then - (-1 - lof) - else if lor == 6 then - (2 - lof) - else 0) + (if lbh >= 4 then 0.5*lbh-1) -} -######################## Modal DFC hints -auto_flags := {true} -front_modal_hint := { - if not auto_flags() then ["", "", 10.5] - else if remove_tags(card.sub_type_2) != "" then [card.sub_type_2, ""+card.casting_cost_2+"", 10.5] - else if card.casting_cost_2 != "" then [main_type(card.super_type_2), ""+card.casting_cost_2+"", 10.5] - else [main_type(card.super_type_2), mana_ability(card.rule_text_2), 10.5] -} -back_modal_hint := { - if not auto_flags() then ["", "", 10.5] - else if remove_tags(card.sub_type) != "" then [card.sub_type, ""+card.casting_cost+"", 10.5] - else if card.casting_cost != "" then [main_type(card.super_type), ""+card.casting_cost+"", 10.5] - else [main_type(card.super_type), mana_ability(card.rule_text), 10.5] -} -mana_ability := { - abils := break_text(input, match:"()?T()?: Add ()?(W|U|B|R|G|C)()?(, | or )?()?(W|U|B|R|G|C)?()?(, or )?()?(W|U|B|R|G|C)?()?.") - abils[0] or else "" -} -main_type := { - types := main_types(input) - if length(types) == 0 then "" - else if includes("Creature", array:types) - then "Creature" - else if includes("Land", array:types) - then "Land" - else types[0] -} -main_types := { - types := break_text(input, match:"(Land|Instant|Sorcery|Artifact|Enchantment|Creature|Planeswalker)") - types or else [""] -} -######################## Mainframe mana -use_v_mana := {contains(set.custom_mana_symbol_name, match:".png")} -use_large_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in casting costs")} -use_small_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"enable in text boxes")} -use_color_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"colored mana symbols") and not use_hybrid_v_mana()} -use_hybrid_v_mana := { use_v_mana() and chosen(set.mana_symbol_options, choice:"hybrid with colors")} -v_mana_name := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"(.+/|\\.png)", replace:"")} -v_mana_loc := {if not use_v_mana() then "" else replace(set.custom_mana_symbol_name, match:"{v_mana_name()}\\.png", replace:"")} -v_mana_num := {max(to_number(set.number_hybrid_variants),0) or else -1} - -ub_stamp := { card.card_stamp == "universes beyond" } -use_custom_stamp := {contains(set.custom_stamp_name, match:".png")} -c_stamp_name := { - if not use_custom_stamp() then "" - else if card.stamp == "custom" then set.custom_stamp_name - else if card.stamp == "custom color" then replace(set.custom_stamp_name, match:"(.+/|\\.png)", replace:"") - else "" -} -c_stamp_loc := { - if card.stamp != "custom color" or not use_custom_stamp() then "" - else replace(set.custom_stamp_name, match:"{c_stamp_name()}\\.png", replace:"") +#### this gives a big array so we can grab_margins()["lv1"] etc anywhere +grab_margins := +{[ + lv1: [margin_left("lv1"), margin_right("lv1"), margin_top("lv1")], + lv2: [margin_left("lv2"), margin_right("lv2"), margin_top("lv2")], + lv3: [margin_left("lv3"), margin_right("lv3"), margin_top("lv3")], + lv4: [margin_left("lv4"), margin_right("lv4"), margin_top("lv4")], + lv5: [margin_left("lv5"), margin_right("lv5"), margin_top("lv5")], + lv6: [margin_left("lv6"), margin_right("lv6"), margin_top("lv6")], + lv7: [margin_left("lv7"), margin_right("lv7"), margin_top("lv7")], + lv8: [margin_left("lv8"), margin_right("lv8"), margin_top("lv8")], + lv9: [margin_left("lv9"), margin_right("lv9"), margin_top("lv9")], + lv10: [margin_left("lv10"), margin_right("lv10"), margin_top("lv10")], + lv11: [margin_left("lv11"), margin_right("lv11"), margin_top("lv11")], + lv12: [margin_left("lv12"), margin_right("lv12"), margin_top("lv12")], + lv13: [margin_left("lv13"), margin_right("lv13"), margin_top("lv13")], + lv14: [margin_left("lv14"), margin_right("lv14"), margin_top("lv14")], + lv15: [margin_left("lv15"), margin_right("lv15"), margin_top("lv15")], + lv16: [margin_left("lv16"), margin_right("lv16"), margin_top("lv16")], + lv17: [margin_left("lv17"), margin_right("lv17"), margin_top("lv17")], + lv18: [margin_left("lv18"), margin_right("lv18"), margin_top("lv18")], + lv19: [margin_left("lv19"), margin_right("lv19"), margin_top("lv19")], + lv20: [margin_left("lv20"), margin_right("lv20"), margin_top("lv20")], + lv21: [margin_left("lv21"), margin_right("lv21"), margin_top("lv21")], + lv22: [margin_left("lv22"), margin_right("lv22"), margin_top("lv22")], + text: [margin_left("text"), margin_right("text"), margin_top("text")], + text2: [margin_left("text2"), margin_right("text2"), margin_top("text2")], + text3: [margin_left("text3"), margin_right("text3"), margin_top("text3")], + text4: [margin_left("text4"), margin_right("text4"), margin_top("text4")], + text5: [margin_left("text5"), margin_right("text5"), margin_top("text5")], + text6: [margin_left("text6"), margin_right("text6"), margin_top("text6")], + flavor_text: [margin_left("flavor_text"), margin_right("flavor_text"), margin_top("flavor_text")], + flavor_text2: [margin_left("flavor_text2"), margin_right("flavor_text2"), margin_top("flavor_text2")], + flavor_text3: [margin_left("flavor_text3"), margin_right("flavor_text3"), margin_top("flavor_text3")], + flavor_text4: [margin_left("flavor_text4"), margin_right("flavor_text4"), margin_top("flavor_text4")], + combined_text: [margin_left("combined_text"), margin_right("combined_text"), margin_top("combined_text")], + combined_text2: [margin_left("combined_text2"), margin_right("combined_text2"), margin_top("combined_text2")], + combined_text3: [margin_left("combined_text3"), margin_right("combined_text3"), margin_top("combined_text3")], + combined_text4: [margin_left("combined_text4"), margin_right("combined_text4"), margin_top("combined_text4")], + chapter_text: [margin_left("chapter_text"), margin_right("chapter_text"), margin_top("chapter_text")], + chapter_text2: [margin_left("chapter_text2"), margin_right("chapter_text2"), margin_top("chapter_text2")], + unknown: [0,0,0] +]} +#### then with apply_margins(field, name:fieldname), add the margins into the text +apply_margins := { + margin_data := grab_margins()[name] or else [0,0,0] + cull_margins("" + remove_margins(input) + "") } -searchPull := filter_text@(match:"search(name|mana|type|rules|flavor|text|notes)") -searchSnip := replace@(match:"search(name|mana|type|rules|flavor|text|notes)_", replace:"") - -custom_index := { - sortIndex := split_text(set.custom_index, match:",") - for each field in sortIndex do - applyIndex(to_lower(field)) - or else ( - searchIndex(to_lower(searchPull(field)), query:searchSnip(field)) - ) - or else "" +bump_text := { + blocks := split_text(input, match:"\n"); + new_text := blocks[0]; + for x from 1 to length(blocks)-1 do new_text := new_text + "\n" + bumper(blocks[x]) + new_text } -applyIndex := { - [ - name: { - fill_len(to_string(position ( - of: card - in: set - order_by: { sort_name(card.name) + sort_name(export_name())} - filter: set_filter() - )), lead:"0", fill_to:3) - }, - alias: { - fill_len(to_string(position ( - of: card - in: set - order_by: { sort_name(card.alias) + sort_name(export_name())} - filter: set_filter() - )), lead:"0", fill_to:3) - } - name2: { - fill_len(to_string(position ( - of: card - in: set - order_by: { sort_name(card.name_2) + sort_name(export_name())} - filter: set_filter() - )), lead:"0", fill_to:3) - }, - alias2: { - fill_len(to_string(position ( - of: card - in: set - order_by: { sort_name(card.alias_2) + sort_name(export_name())} - filter: set_filter() - )), lead:"0", fill_to:3) - } - color: {fill_len(color_of_card(), lead:"A")}, - artist: {fill_len(substring(card.illustrator, end:7), follow:" ", fill_to:7)}, - artist2: {fill_len(substring(card.illustrator_2, end:7), follow:" ", fill_to:7)}, - design: {fill_len(substring(card.card_code_text, end:7), follow:" ", fill_to:7)}, - mv: {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, - "mana value": {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, - cmc: {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, - "converted mana cost": {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, - rarity: {index_of_rarity()}, - power: {fill_len(card.power, lead:"0")}, - toughness: {fill_len(card.toughness, lead:"0")}, - pt: {fill_len(card.power, lead:"0") + fill_len(card.toughness, lead:"0")}, - loyalty: {fill_len(card.loyalty, lead:"0")}, - type: {fill_len(filter_text(match:"[A-Z][A-Z]?[A-Z]?", filter_text(match:"[A-Z]", card.super_type)), follow:"0", fill_to:3)}, - hasrules: {if remove_tags(card.rule_text) != "" then "A" else "B"}, - hasflavor: {if remove_tags(card.flavor_text) != "" then "A" else "B"}, - hasrules2: {if remove_tags(card.rule_text_2) != "" then "A" else "B"}, - hasflavor2: {if remove_tags(card.flavor_text_2) != "" then "A" else "B"}, - ][input]() +bumper := { + #### if this text isn't modal, add a 5 px margin + if is_modal(input) then input else + cull_margins("" + remove_margins(input) + "") } -searchIndex := { - [ - searchname: { if contains(card.name, match:query) or contains(card.name_2, match:query) then "A" else "B"}, - searchmana: { if contains(card.casting_cost, match:query) or contains(card.casting_cost_2, match:query) then "A" else "B"}, - searchtype: { if contains(card.type, match:query) or contains(card.type_2, match:query) then "A" else "B"}, - searchrules: { if contains(card.rule_text, match:query) or contains(card.rule_text_2, match:query) then "A" else "B"}, - searchflavor: { if contains(card.flavor_text, match:query) or contains(card.flavor_text_2, match:query) then "A" else "B"}, - searchartist: { if contains(card.illustrator, match:query) or contains(card.illustrator_2, match:query) then "A" else "B"}, - searchdesign: { if contains(card.card_code_text, match:query) then "A" else "B"}, - searchtext: { if contains(card.text, match:query) or contains(card.text_2, match:query) then "A" else "B"}, - searchnotes: { if contains(card.notes, match:query) then "A" else "B"}, - unsearchname: { if contains(card.name, match:query) or contains(card.name_2, match:query) then "B" else "A"}, - unsearchmana: { if contains(card.casting_cost, match:query) or contains(card.casting_cost_2, match:query) then "B" else "A"}, - unsearchtype: { if contains(card.type, match:query) or contains(card.type_2, match:query) then "B" else "A"}, - unsearchrules: { if contains(card.rule_text, match:query) or contains(card.rule_text_2, match:query) then "B" else "A"}, - unsearchflavor: { if contains(card.flavor_text, match:query) or contains(card.flavor_text_2, match:query) then "B" else "A"}, - unsearchartist: { if contains(card.illustrator, match:query) or contains(card.illustrator_2, match:query) then "B" else "A"}, - unsearchdesign: { if contains(card.card_code_text, match:query) then "B" else "A"}, - unsearchtext: { if contains(card.text, match:query) or contains(card.text_2, match:query) then "B" else "A"}, - unsearchnotes: { if contains(card.notes, match:query) then "B" else "A"} - ][input]() -} -index_of_rarity := { - if card.rarity == "basic land" then "A" - else if card.rarity == "common" then "C" - else if card.rarity == "uncommon" then "D" - else if card.rarity == "rare" then "E" - else if card.rarity == "mythic rare" then "F" - else if card.rarity == "special" then "G" - else "J" -} -fill_len := { - output := to_string(input) - if output == "" then output := "0" - fill := max(0,fill_to - length(output)) - for x from 1 to fill do output := lead + output + follow; - output -}@(fill_to:2, lead:"", follow:"") - -skeleton_commons := 19 -skeleton_uncommons := 11 -skeleton_rares := 7 -skeleton_mythics := 2 -skeleton_land_commons := 1 -skeleton_land_uncommons := 5 -skeleton_land_rares := 0 -skeleton_gold_commons := 0 -skeleton_gold_uncommons := 1 -skeleton_gold_rares := 1 -skeleton_shard_commons := 0 -skeleton_shard_uncommons := 0 -skeleton_shard_rares := 0 -skeleton_wedge_commons := 0 -skeleton_wedge_uncommons := 0 -skeleton_wedge_rares := 0 -skeleton_artifact_commons := 5 -skeleton_artifact_uncommons := 5 -skeleton_artifact_rares := 0 -skeleton_blank_commons := 0 -skeleton_blank_uncommons := 5 -skeleton_blank_rares := 8 -skeleton_blank_mythics := 5 -#### generates a set of CC00 Skeleton cards for each color -#### by insertnamehere and cajun -skeleton_runner := { - cards:=[] - for x from 0 to length(letter_list)-1 do - ( - for y from 1 to count do - if mana_list == "nope" then - (cards := cards + [new_card([name:prefix+letter_list[x]+fill_len(y, lead:"0"), rarity:rarity, card_color:color_list[x], super_type:super_type])];) - else - (cards := cards + [new_card([name:prefix+letter_list[x]+fill_len(y, lead:"0"), rarity:rarity, super_type:super_type, casting_cost:mana_list[x]])];) - ) - cards -}@(count:1, rarity:"common", type:"", prefix:"C", super_type:"", color_list:["white", "blue", "black", "red", "green"], letter_list:["W", "U", "B", "R", "G"], mana_list:"nope") -###outside to make singleton scripts easier -blank_list_5 := ["","","","",""] -blank_list_10 := ["","","","","","","","","",""] -mana_list_ally := ["WU","UB","BR","RG","GW"] -mana_list_enemy := ["WB","UR","BG","RW","GU"] -mana_list_shard := ["WUB","UBR","BRG","RGW","GWU"] -mana_list_wedge := ["WBG","URW","BGU","RWB","GUR"] -skeleton_script := { - cards := []; - cards := cards + skeleton_runner(count:skeleton_commons); - cards := cards + skeleton_runner(count:skeleton_uncommons, prefix:"U", rarity:"uncommon"); - cards := cards + skeleton_runner(count:skeleton_rares, prefix:"R", rarity:"rare"); - cards := cards + skeleton_runner(count:skeleton_mythics, prefix:"M", rarity:"mythic rare"); - cards := cards + skeleton_runner(count:skeleton_gold_commons, prefix:"CM", rarity:"common", letter_list:blank_list_10, mana_list:mana_list_ally+mana_list_enemy); - cards := cards + skeleton_runner(count:skeleton_gold_uncommons, prefix:"UM", rarity:"uncommon", letter_list:blank_list_10, mana_list:mana_list_ally+mana_list_enemy); - cards := cards + skeleton_runner(count:skeleton_gold_rares, prefix:"RM", rarity:"rare", letter_list:blank_list_10, mana_list:mana_list_ally+mana_list_enemy); - cards := cards + skeleton_runner(count:skeleton_shard_commons, prefix:"CM", rarity:"common", letter_list:blank_list_5, mana_list:mana_list_shard); - cards := cards + skeleton_runner(count:skeleton_shard_uncommons, prefix:"UM", rarity:"uncommon", letter_list:blank_list_5, mana_list:mana_list_shard); - cards := cards + skeleton_runner(count:skeleton_shard_rares, prefix:"RM", rarity:"rare", letter_list:blank_list_5, mana_list:mana_list_shard); - cards := cards + skeleton_runner(count:skeleton_wedge_commons, prefix:"CM", rarity:"common", letter_list:blank_list_5, mana_list:mana_list_wedge); - cards := cards + skeleton_runner(count:skeleton_wedge_uncommons, prefix:"UM", rarity:"uncommon", letter_list:blank_list_5, mana_list:mana_list_wedge); - cards := cards + skeleton_runner(count:skeleton_wedge_rares, prefix:"RM", rarity:"rare", letter_list:blank_list_5, mana_list:mana_list_wedge); - for i from 1 to skeleton_artifact_commons do cards := cards + [new_card([name:"CA"+fill_len(i, lead:"0"), rarity:"common", super_type:"Artifact"])]; - for i from 1 to skeleton_artifact_uncommons do cards := cards + [new_card([name:"UA"+fill_len(i, lead:"0"), rarity:"uncommon", super_type:"Artifact"])]; - for i from 1 to skeleton_artifact_rares do cards := cards + [new_card([name:"RA"+fill_len(i, lead:"0"), rarity:"rare", super_type:"Artifact"])]; - for i from 1 to skeleton_land_commons do cards := cards + [new_card([name:"CL"+fill_len(i, lead:"0"), super_type:"Land", rarity:"common"])]; - for i from 1 to skeleton_land_uncommons do cards := cards + [new_card([name:"UL"+fill_len(i, lead:"0"), super_type:"Land", rarity:"uncommon"])]; - for i from 1 to skeleton_land_rares do cards := cards + [new_card([name:"RL"+fill_len(i, lead:"0"), super_type:"Land", rarity:"rare"])]; - for i from 1 to skeleton_blank_commons do cards := cards + [new_card([name:"CX"+fill_len(i, lead:"0"), rarity:"common"])]; - for i from 1 to skeleton_blank_uncommons do cards := cards + [new_card([name:"UX"+fill_len(i, lead:"0"), rarity:"uncommon"])]; - for i from 1 to skeleton_blank_rares do cards := cards + [new_card([name:"RX"+fill_len(i, lead:"0"), rarity:"rare"])]; - for i from 1 to skeleton_blank_mythics do cards := cards + [new_card([name:"MX"+fill_len(i, lead:"0"), rarity:"mythic rare"])]; - cards -} -skeleton_info := { - trace("Set Skeleton Generator Help:" - +"\nSet variables here to modify the Skeleton Add Cards script, for example 'skeleton_commons := 10'" - +"\nCurrent variables:\n" - +"skeleton_commons: " + skeleton_commons + " (of each color)\n" - +"skeleton_uncommons: " + skeleton_uncommons + " (of each color)\n" - +"skeleton_rares: " + skeleton_rares + " (of each color)\n" - +"skeleton_mythics: " + skeleton_mythics + " (of each color)\n" - +"skeleton_gold_commons: " + skeleton_gold_commons + " (of each color pair)\n" - +"skeleton_gold_uncommons: " + skeleton_gold_uncommons + " (of each color pair)\n" - +"skeleton_gold_rares: " + skeleton_gold_rares + " (of each color pair)\n" - +"skeleton_artifact_commons: " + skeleton_artifact_commons + "\n" - +"skeleton_artifact_uncommons: " + skeleton_artifact_uncommons + "\n" - +"skeleton_artifact_rares: " + skeleton_artifact_rares + "\n" - +"skeleton_land_commons: " + skeleton_land_commons + "\n" - +"skeleton_land_uncommons: " + skeleton_land_uncommons + "\n" - +"skeleton_land_rares: " + skeleton_land_rares + "\n" - +"skeleton_blank_commons: " + skeleton_blank_commons + "\n" - +"skeleton_blank_uncommons: " + skeleton_blank_uncommons + "\n" - +"skeleton_blank_rares: " + skeleton_blank_rares + "\n" - +"skeleton_blank_mythics: " + skeleton_blank_mythics + "\n" - +"skeleton_shard_commons: " + skeleton_shard_commons + "\n" - +"skeleton_shard_uncommons: " + skeleton_shard_uncommons + "\n" - +"skeleton_shard_rares: " + skeleton_shard_rares + "\n" - +"skeleton_wedge_commons: " + skeleton_wedge_commons + "\n" - +"skeleton_wedge_uncommons: " + skeleton_wedge_uncommons + "\n" - +"skeleton_wedge_rares: " + skeleton_wedge_rares) -} -##number of chapter symbols each chapter textbox has -##example, symbols on abilities 2,2,3 returns [0,2,1] +############################################################## Saga witchery +#### number of chapter symbols each chapter textbox has +#### example, symbols on abilities 2,2,3 returns [0,2,1] saga_lore_count := { one := 0 two := 0 @@ -1999,9 +1765,9 @@ saga_lore_count := { else eight := eight +1 [one, two, three, four, five, six, seven] } -##index of given chapter number in above array -##example, 2,2,3, returns 1,2,1 -##i tried to make this shorter but this is the only one that deigned to function +#### index of given chapter number in above array +#### example, 2,2,3, returns 1,2,1 +#### i tried to make this shorter but this is the only one that deigned to function saga_ch_placement := { box1 := 0 box2 := 0 @@ -2122,95 +1888,1945 @@ saga_ch_placement := { )else (seven := seven) [one, two, three, four, five, six, seven] } +############################################################## Typelines +#### Move the cursor past the separator in the p/t and type boxes +type_over_pt := replace@(match:"/$", replace:"") +type_over_type := replace@(match:" ?[-:]$", replace:"") +super_type_filter_default := { "" } +super_type_filter := { + input := remove_tag(tag: "{input}" +} -card_face := { - front := card[input] - 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 +sub_type_filter_default := { "" } +split_at_spaces := split_text@(match: " +") +remove_leading_spaces := replace@(match: "^ +", replace: "") +remove_trailing_soft_tags := replace@(match: ".*?$", replace: "") +replace_soft_tags := replace@(match: ".*?", replace: " ") +sub_type_filter := +{ + subtype_separator := lang_setting("subtype_separator") + code := lang_setting("code") + input := remove_tag(input, tag: "" + sub_type + "" + else "" + sub_type + "" + ) else ( + #### Check for single word sub types + split := split_at_spaces(input) + input := if length(split) > 1 then replace(input, match: "^" + regex_escape(split.0), replace: "") else "" + if i == 0 then "" + split.0 + "" + else "" + split.0 + ""))) + ) + #### Add separators between types, keep additional spaces if there are more than one + sub_types := replace(sub_types, match: "(]*>)( *)(" + else sub_types + "" + subtype_separator + "" + ) else input #### Do nothing if we don't know the type } -cc_filter := replace@(match:"^[CURMSL][WUBRGMZACL][0-9]+ ?[-—]? ?", replace:"") -strip_card_codes := { - save := input - input := cc_filter(input) - input := if input == "" or input == " " then save else input - if alch_compatible() and card.card_symbol == "alchemy" - then "A-" + input - else input -} -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 +#### all sub types, for word list +space_to_comma := replace@(match:" ", replace:",") +only_first := replace@(match:" .*", replace:"") +only_next := replace@(match:"^[^ ]* ?", replace:"") +all_sub_types := { + for each card in set do + if lang_setting(setting)(card.super_type) then "," + space_to_comma(to_text(card.sub_type)) else "" } -flip_face := { - if input == "_2" then "" else "_2" +all_races := { + for each card in set do + if lang_setting("is_creature")(card.super_type) or lang_setting("is_kindred")(card.super_type) then + "," + only_first(to_text(card.sub_type)) + else "" } -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)}, - name: {card["name"+face]}, - cost: {card["casting_cost"+face]}, - altname: {card["name"+flip_face(face)]}, - altcost: {card["casting_cost"+flip_face(face)]}, -] -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] +all_classes := { + for each card in set do + if lang_setting("is_creature")(card.super_type) then + "," + space_to_comma(only_next(to_text(card.sub_type))) + else "" +} +############################################################## Modal DFC flag hints +auto_flags := {true} +front_modal_hint := { + if not auto_flags() then ["", ""] + else if remove_tags(card.sub_type_2) != "" then [card.sub_type_2, ""+card.casting_cost_2+""] + else if card.casting_cost_2 != "" then [main_type(card.super_type_2), ""+card.casting_cost_2+""] + else [main_type(card.super_type_2), mana_ability(card.rule_text_2)] +} +back_modal_hint := { + if not auto_flags() then ["", ""] + else if remove_tags(card.sub_type) != "" then [card.sub_type, ""+card.casting_cost+""] + else if card.casting_cost != "" then [main_type(card.super_type), ""+card.casting_cost+""] + else [main_type(card.super_type), mana_ability(card.rule_text)] +} +mana_ability := { + abils := break_text(input, match:"()?T()?: Add ()?(W|U|B|R|G|C)()?(, | or )?()?(W|U|B|R|G|C)?()?(, or )?()?(W|U|B|R|G|C)?()?.") + abils[0] or else "" +} +main_type := { + types := main_types(input) + if length(types) == 0 then "" + else if includes("Creature", array:types) + then "Creature" + else if includes("Land", array:types) + then "Land" + else types[0] +} +main_types := { + types := break_text(input, match:"(Land|Instant|Sorcery|Artifact|Enchantment|Creature|Planeswalker)") + types or else [""] +} +#### TODO we'll be able to remove this once transform corners are a card field +node_script := { if card.shape == "double faced" then "transform day" else "none" } +############################################################## Flavor bar +bar_equation := {if card_style.text.layout.blocks[1].bottom or else 0 > 0 then card_style.text.top + 0.5*(card_style.text.layout.blocks[0].bottom+card_style.text.layout.blocks[1].top) else old_bar_equation()} +bar_equation2 := {if card_style.text_2.layout.blocks[0].bottom or else 0 > 0 then card_style.text_2.top + 0.5*(card_style.text_2.layout.blocks[0].bottom+card_style.text_2.layout.blocks[1].top) else old_bar_equation2()} +bar_equation3 := {if card_style.text_3.layout.blocks[0].bottom or else 0 > 0 then card_style.text_3.top + 0.5*(card_style.text_3.layout.blocks[0].bottom+card_style.text_3.layout.blocks[1].top) else old_bar_equation3()} +#### As of MSE 2.1.2 ^that is all we need to do +#### Previous versions needed the noise down below +#### Which is kept for backwards compatibility +#### And a record of the before times +chop_top := {0} +chop_bot := {0} +bar_offset := {0} +offset_lines := {0} +chop_top2 := {0} +chop_bot2 := {0} +bar_offset2 := {0} +offset_lines2 := {0} +chop_top3 := {0} +chop_bot3 := {0} +bar_offset3 := {0} +offset_lines3 := {0} + +#### Set chop_top(), chop_bot(), bar_offset(), and offset_lines to 0 to reduce replacements in chopping frames +#### Full equations to use in chopping templates below +## 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} +## bar_offset := {if styling.flavor_bar_offset == "-" or styling.flavor_bar_offset == "+" then 0 else to_number(styling.flavor_bar_offset)} +## offset_lines := {offset_counter(styling.flavor_bar_offset)} + +top_of_textbox := {card_style.text.top } +bottom_of_textbox := {card_style.text.bottom } +top_of_textbox2 := {card_style.text_2.top } +bottom_of_textbox2 := {card_style.text_2.bottom } +top_of_textbox3 := {card_style.text_3.top } +bottom_of_textbox3 := {card_style.text_3.bottom } +offset_counter := {length(filter_text(input, match:"u")) - length(filter_text(input, match:"d"))} +paragraph_count := filter_text@(match:"\n") +hard_paragraph_count := + replace@(match:"\n", replace:"")+ #### count hard breaks for their extra space + filter_text@(match:"\n") +soft_break_filter := + filter_text @(match:"<", in_context: "soft-line>") #### count soft breaks for quotes +word_split := split_text@(match:" ") #### split words to better calculate line lengths +small_filter := filter_text@(match:"[\\.,\\?!il’]") #### grab the tiny characters +fb_length := {length(input) - 0.3 * length(small_filter(input))}#### reduce the effect of tiny characters +calc_lines := { sum := 0 #### estimate lines by character limit + lines := 1 #### minimum of 1 + for e from 0 to length(input)-1 do ( + sum := sum + fb_length(input[e]); + if sum > char then ( #### if new word is over the limit + lines := lines + 1; #### add new line + sum := fb_length(input[e])) #### reset the sum + else + sum := sum + 1; #### else add it and a space to the sum ) - field := expand_facecodes[field] or else field - if face_scripts[func](face, field:field, query:query) or else false then t else f + lines #### return number of lines } +lines_of_text := { #### estimate lines in break blocks + lines := 0 #### further improves the previous eq + for x from 0 to length(input)-1 do + if input[x] or else "" != "" then #### if the break isn't empty, check it + lines := lines + calc_lines(word_split(input[x]), char:char) + lines +} +flavor_text := {split_text(match:"\n", remove_tags(card.flavor_text+"\n"))} #### remove tags, add \n so .1 doesn't explode +hard_flavor_break := { if not contains(card.flavor_text, match:"\n") then 0 else if contains(card.flavor_text, match:"\n") then 0 else if lines_of_rules() >= 3 then -3 else -2} +font_size := {min(14,round_near(card_style.text.content_height / card_style.text.content_lines) - 8)} #### approximate font size +adj_char_width := {7.35 * min(14, font_size()+0.95) / 14} #### average char width, adjusted for font size +char_per_line := {min(52,round_up(card_style.text.content_width / adj_char_width())+1.5)} #### approximate character limit. very rarely over 52 but standard eq can reach 60+ +lines_of_flavor := {lines_of_text(flavor_text(), char:char_per_line())} +lines_of_rules := { card_style.text.content_lines - lines_of_flavor() } #### rules of lines for ratio weirdness +line_height := {(card_style.text.content_height / card_style.text.content_lines)} +padding_height := { 0.5*(bottom_of_textbox() - top_of_textbox() - card_style.text.content_height) } #### space between top of textbox and text +linebreak_height := { 2*length(hard_paragraph_count(card.rule_text)) } +#### correction for ratio of rules/flavor causing weirdness +uneven_correction := { if lines_of_flavor() == 1 then max(4, (card_style.text.content_lines - (2*lines_of_flavor()))) else (card_style.text.content_lines - (2*lines_of_flavor())) } +#### add it all up +#### old_bar_equation is compatibilty for 2.0.0 +old_bar_equation := { top_of_textbox() + padding_height() + card_style.text.content_height - line_height()*(lines_of_flavor() + offset_lines()) + linebreak_height() - uneven_correction() + front_corr() + bar_offset() + hard_flavor_break() +1 } + +flavor_text2 := {split_text(match:"\n", remove_tags(card.flavor_text_2+"\n"))} #### remove tags, add \n so .1 doesn't explode +hard_flavor_break2 := { if not contains(card.flavor_text_2, match:"\n") then 0 else if contains(card.flavor_text_2, match:"\n") then 0 else if lines_of_rules2() >= 3 then -3 else -2} +font_size2 := {min(14,round_near(card_style.text_2.content_height / card_style.text_2.content_lines) - 8)} #### approximate font size +adj_char_width2 := {7.35 * min(14, font_size2()+0.95) / 14} #### average char width, adjusted for font size +char_per_line2 := {min(52,round_up(card_style.text_2.content_width / adj_char_width2())+1.5)} #### approximate character limit. very rarely over 52 but standard eq can reach 60+ +lines_of_flavor2 := {lines_of_text(flavor_text2(), char:char_per_line2())} +lines_of_rules2 := { card_style.text_2.content_lines - lines_of_flavor2() } #### rules of lines for ratio weirdness +line_height2 := {(card_style.text_2.content_height / card_style.text_2.content_lines)} +padding_height2 := { 0.5*(bottom_of_textbox2() - top_of_textbox2() - card_style.text_2.content_height) } #### space between top of textbox and text +linebreak_height2 := { 2*length(hard_paragraph_count(card.rule_text_2)) } +#### correction for ratio of rules/flavor causing weirdness +uneven_correction2 := { if lines_of_flavor2() == 1 then max(4, (card_style.text_2.content_lines - (2*lines_of_flavor2()))) else (card_style.text_2.content_lines - (2*lines_of_flavor2())) } +#### add it all up +old_bar_equation2 := { top_of_textbox2() + padding_height2() + card_style.text_2.content_height - line_height2()*(lines_of_flavor2() + offset_lines2()) + linebreak_height2() - uneven_correction2() + back_corr() + bar_offset2() + hard_flavor_break2() +1 } -white_text := {false} -phy_reminder := { - phy_match := filter_text(input, match:"(/[WUBRG])+", in_context:"H") - letters := split_text(phy_match, match:"/") - reminder_text := "" - if length(letters) == 2 then - reminder_text := "[H/" + letters[1] + "] can be paid with [" + letters[1] + "] or 2 life." - else if length(letters) > 2 then - reminder_text := "[H/" + letters[1] + "/" + letters[2] + "] can be paid with [" + letters[1] + "], " + "[" + letters[2] + "], or 2 life." +flavor_text3 := {split_text(match:"\n", remove_tags(card.flavor_text_3+"\n"))} #### remove tags, add \n so .1 doesn't explode +hard_flavor_break3 := { if not contains(card.flavor_text_3, match:"\n") then 0 else if contains(card.flavor_text_3, match:"\n") then 0 else if lines_of_rules3() >= 3 then -3 else -2} +font_size3 := {min(14,round_near(card_style.text_3.content_height / card_style.text_3.content_lines) - 8)} #### approximate font size +adj_char_width3 := {7.35 * min(14, font_size3()+0.95) / 14} #### average char width, adjusted for font size +char_per_line3 := {min(52,round_up(card_style.text_3.content_width / adj_char_width3())+1.5)} #### approximate character limit. very rarely over 52 but standard eq can reach 60+ +lines_of_flavor3 := {lines_of_text(flavor_text3(), char:char_per_line3())} +lines_of_rules3 := { card_style.text_3.content_lines - lines_of_flavor3() } #### rules of lines for ratio weirdness +line_height3 := {(card_style.text_3.content_height / card_style.text_3.content_lines)} +padding_height3 := { 0.5*(bottom_of_textbox3() - top_of_textbox3() - card_style.text_3.content_height) } #### space between top of textbox and text +linebreak_height3 := { 2*length(hard_paragraph_count(card.rule_text_3)) } +#### correction for ratio of rules/flavor causing weirdness +uneven_correction3 := { if lines_of_flavor3() == 1 then max(4, (card_style.text_3.content_lines - (2*lines_of_flavor3()))) else (card_style.text_3.content_lines - (2*lines_of_flavor3())) } +#### add it all up +old_bar_equation3 := { top_of_textbox3() + padding_height3() + card_style.text_3.content_height - line_height3()*(lines_of_flavor3() + offset_lines3()) + linebreak_height3() - uneven_correction3() + third_corr() + bar_offset3() + hard_flavor_break3() +1 } + +#### long correction coefficient based off several sets of data +front_corr := {correction_coeff(lof:lines_of_flavor(), lor:lines_of_rules(), lbh:linebreak_height())} +back_corr := {correction_coeff(lof:lines_of_flavor2(), lor:lines_of_rules2(), lbh:linebreak_height2())} +third_corr := {correction_coeff(lof:lines_of_flavor3(), lor:lines_of_rules3(), lbh:linebreak_height3())} +correction_coeff := { + (if lor == 1 then + (if lof == 1 then 3 + else if lof == 2 then 1 + else if lof == 3 then 1.5 + else if lof == 4 then 0 + else 5 - lof) + else if lor == 2 and lbh == 2 then + (if lof == 1 then 1 + else if lof == 2 then 1 + else if lof == 3 then 2 + else if lof == 4 then 2 + else 3) + else if lor == 2 then + (if lof == 1 then 1 + else if lof == 2 then 0 + else if lof == 3 then 0 + else if lof == 4 then 0 + else -1) + else if lor == 3 and lbh == 2 then + (if lof == 1 then 0 + else if lof == 2 then 0 + else if lof == 3 then 1 + else if lof == 4 then 1 + else 2) + else if lor == 3 then + (if lof == 1 then 0 + else if lof == 2 then -1 + else if lof == 3 then -0.5 + else if lof == 4 then -1 + else 0) + else if lor == 4 and lbh == 2 then + (-2 + lof) + else if lor == 4 then + (if lof == 1 then -1 + else if lof == 2 then 0 + else if lof == 3 then -0.5 + else -1) + else if lor == 5 and lbh == 4 then + (-5 + lof) + else if lor == 5 and lbh == 2 then + (-2 + lof) + else if lor == 5 then + (2 - lof) + else if lor == 6 and lbh == 2 then + (-1 - lof) + else if lor == 6 then + (2 - lof) + else 0) + (if lbh >= 4 then 0.5*lbh-1) +} +############################################################## Watermarks +card_spotlight := { "/magic-mainframe-watermarks.mse-include/spotlight/" + card_new_color() + "spotlight.png" } +custom_watermark_1 := { if set.custom_watermark_1 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_1 else "/magic-watermarks.mse-include/planeswalker.png" } +custom_watermark_2 := { if set.custom_watermark_2 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_2 else "/magic-watermarks.mse-include/planeswalker.png" } +custom_watermark_3 := { if set.custom_watermark_3 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_3 else "/magic-watermarks.mse-include/planeswalker.png" } +custom_watermark_4 := { if set.custom_watermark_4 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_4 else "/magic-watermarks.mse-include/planeswalker.png" } +custom_watermark_5 := { if set.custom_watermark_5 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_5 else "/magic-watermarks.mse-include/planeswalker.png" } +custom_watermark_6 := { if set.custom_watermark_6 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_6 else "/magic-watermarks.mse-include/planeswalker.png" } +custom_watermark_7 := { if set.custom_watermark_7 != "" then "/magic-watermarks.mse-include/" + set.custom_watermark_7 else "/magic-watermarks.mse-include/planeswalker.png" } +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"} +invert_watermark := { false } +invert_watermark2 := { false } +invert_watermark3 := { false } +card_new_color := { + if card.card_color == "white" then "w" + else if card.card_color == "blue" then "u" + else if card.card_color == "black" then "b" + else if card.card_color == "red" then "r" + else if card.card_color == "green" then "g" + else if contains(card.card_color, match:"artifact") then "a" + else if contains(card.card_color, match:"multi") or contains(card.card_color, match:"hybrid") then "m" + else "c" +} +# Watermark images +wm_directory := "/magic-modules.mse-include/watermarks/" +watermark_scripts := +[ + "none": { "" } + + "mana symbol white": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_w.png") } + "mana symbol blue": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_u.png") } + "mana symbol black": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_b.png") } + "mana symbol red": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_r.png") } + "mana symbol green": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_g.png") } + "mana symbol colorless": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_c.png") } + "mana symbol snow": { watermark_blend(wm_directory + "mana symbols/watermark_s.png") } + + "mana symbol old white": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_w_old.png") } + "mana symbol old blue": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_u_old.png") } + "mana symbol old black": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_b_old.png") } + "mana symbol old red": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_r_old.png") } + "mana symbol old green": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_g_old.png") } + "mana symbol old colorless": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_c_old.png") } + + "mana symbol hi res white": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_w_big.png") } + "mana symbol hi res blue": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_u_big.png") } + "mana symbol hi res black": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_b_big.png") } + "mana symbol hi res red": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_r_big.png") } + "mana symbol hi res green": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_g_big.png") } + "mana symbol hi res colorless": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "mana symbols/watermark_c_big.png") } + + "transparent mana symbol white": { watermark_blend(colored: true, alpha: 0.45, dark_alpha: 0.30, wm_directory + "mana symbols/watermark_w.png") } + "transparent mana symbol blue": { watermark_blend(colored: true, alpha: 0.35, dark_alpha: 0.30, wm_directory + "mana symbols/watermark_u.png") } + "transparent mana symbol black": { watermark_blend(colored: true, alpha: 0.30, dark_alpha: 0.45, wm_directory + "mana symbols/watermark_b.png") } + "transparent mana symbol red": { watermark_blend(colored: true, alpha: 0.35, dark_alpha: 0.30, wm_directory + "mana symbols/watermark_r.png") } + "transparent mana symbol green": { watermark_blend(colored: true, alpha: 0.35, dark_alpha: 0.30, wm_directory + "mana symbols/watermark_g.png") } + + "transparent mana symbol old white": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_w_old.png") } + "transparent mana symbol old blue": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_u_old.png") } + "transparent mana symbol old black": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_b_old.png") } + "transparent mana symbol old red": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_r_old.png") } + "transparent mana symbol old green": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_g_old.png") } + "transparent mana symbol old colorless": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_c_old.png") } + + "transparent mana symbol hi res white": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_w_big.png") } + "transparent mana symbol hi res blue": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_u_big.png") } + "transparent mana symbol hi res black": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_b_big.png") } + "transparent mana symbol hi res red": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_r_big.png") } + "transparent mana symbol hi res green": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_g_big.png") } + "transparent mana symbol hi res colorless": { watermark_blend(colored: true, alpha: 0.4, dark_alpha: 0.4, wm_directory + "mana symbols/watermark_c_big.png") } + + "guild symbol The Azorius Senate (W/U)": { watermark_blend(wm_directory + "ravnica/azorius2.png") } + "guild symbol House Dimir (U/B)": { watermark_blend(wm_directory + "ravnica/dimir2.png") } + "guild symbol The Cult of Rakdos (B/R)": { watermark_blend(wm_directory + "ravnica/rakados2.png") } + "guild symbol The Gruul Clans (R/G)": { watermark_blend(wm_directory + "ravnica/gruul2.png") } + "guild symbol The Selesnya Conclave (G/W)": { watermark_blend(wm_directory + "ravnica/selesnya2.png") } + "guild symbol The Orzhov Syndicate (W/B)": { watermark_blend(wm_directory + "ravnica/orzhov2.png") } + "guild symbol The Izzet (U/R)": { watermark_blend(wm_directory + "ravnica/izzet2.png") } + "guild symbol The Golgari (B/G)": { watermark_blend(wm_directory + "ravnica/golgari2.png") } + "guild symbol The Boros Legion (R/W)": { watermark_blend(wm_directory + "ravnica/boros2.png") } + "guild symbol The Simic Combine (G/U)": { watermark_blend(wm_directory + "ravnica/simic2.png") } + + "guild symbol originals The Azorius Senate (W/U)": { watermark_blend(wm_directory + "ravnica/azorius.png") } + "guild symbol originals House Dimir (U/B)": { watermark_blend(wm_directory + "ravnica/dimir.png") } + "guild symbol originals The Cult of Rakdos (B/R)": { watermark_blend(wm_directory + "ravnica/rakados.png") } + "guild symbol originals The Gruul Clans (R/G)": { watermark_blend(wm_directory + "ravnica/gruul.png") } + "guild symbol originals The Selesnya Conclave (G/W)": { watermark_blend(wm_directory + "ravnica/selesnya.png") } + "guild symbol originals The Orzhov Syndicate (W/B)": { watermark_blend(wm_directory + "ravnica/orzhov.png") } + "guild symbol originals The Izzet (U/R)": { watermark_blend(wm_directory + "ravnica/izzet.png") } + "guild symbol originals The Golgari (B/G)": { watermark_blend(wm_directory + "ravnica/golgari.png") } + "guild symbol originals The Boros Legion (R/W)": { watermark_blend(wm_directory + "ravnica/boros.png") } + "guild symbol originals The Simic Combine (G/U)": { watermark_blend(wm_directory + "ravnica/simic.png") } + + "guild symbol ancients The Azorius Senate (W/U)": { watermark_blend(wm_directory + "frazier/azorius.png") } + "guild symbol ancients House Dimir (U/B)": { watermark_blend(wm_directory + "frazier/dimir.png") } + "guild symbol ancients The Cult of Rakdos (B/R)": { watermark_blend(wm_directory + "frazier/rakdos.png") } + "guild symbol ancients The Gruul Clans (R/G)": { watermark_blend(wm_directory + "frazier/gruul.png") } + "guild symbol ancients The Selesnya Conclave (G/W)": { watermark_blend(wm_directory + "frazier/selesnya.png") } + "guild symbol ancients The Orzhov Syndicate (W/B)": { watermark_blend(wm_directory + "frazier/orzhov.png") } + "guild symbol ancients The Izzet (U/R)": { watermark_blend(wm_directory + "frazier/izzet.png") } + "guild symbol ancients The Golgari (B/G)": { watermark_blend(wm_directory + "frazier/golgari.png") } + "guild symbol ancients The Boros Legion (R/W)": { watermark_blend(wm_directory + "frazier/boros.png") } + "guild symbol ancients The Simic Combine (G/U)": { watermark_blend(wm_directory + "frazier/simic.png") } + + "faction symbol mirrodin": { watermark_blend(wm_directory + "mirrodin/mirrodin.png") } + "faction symbol phyrexia": { watermark_blend(wm_directory + "mirrodin/phyrexia.png") } + + "clan symbol The Abzan Houses (WBG)": { watermark_blend(wm_directory + "tarkir/abzan.png") } + "clan symbol The Jeskai Way (URW)": { watermark_blend(wm_directory + "tarkir/jeskai.png") } + "clan symbol The Sultai Brood (BGU)": { watermark_blend(wm_directory + "tarkir/sultai.png") } + "clan symbol The Mardu Horde (RWB)": { watermark_blend(h:400, wm_directory + "tarkir/mardu.png") } + "clan symbol The Temur Frontier (GUR)": { watermark_blend(wm_directory + "tarkir/temur.png") } + + "brood symbol Dromoka's Brood (GW)": { watermark_blend(wm_directory + "tarkir/dromoka.png") } + "brood symbol Ojutai's Brood (WU)": { watermark_blend(wm_directory + "tarkir/ojutai.png") } + "brood symbol Silumgar's Brood (UB)": { watermark_blend(wm_directory + "tarkir/silumgar.png") } + "brood symbol Kolaghan's Brood (BR)": { watermark_blend(wm_directory + "tarkir/kolaghan.png", h:400) } + "brood symbol Atarka's Brood (RG)": { watermark_blend(wm_directory + "tarkir/atarka.png") } + + "family symbol Brokers (GWU)": { watermark_blend(wm_directory + "capenna/brokers.png") } + "family symbol Cabaretti (RGW)": { watermark_blend(wm_directory + "capenna/cabaretti.png") } + "family symbol Maestros (UBR)": { watermark_blend(wm_directory + "capenna/maestros.png") } + "family symbol Obscura (WUB)": { watermark_blend(wm_directory + "capenna/obscura.png") } + "family symbol Riveteers (BRG)": { watermark_blend(wm_directory + "capenna/riveteers.png") } + + "unstable factions Order of the Widget": { watermark_blend(wm_directory + "unstable/widget.png") } + "unstable factions Agents of S.N.E.A.K.": { watermark_blend(wm_directory + "unstable/SNEAK.png") } + "unstable factions League of Dastardly Doom": { watermark_blend(wm_directory + "unstable/doom.png") } + "unstable factions Goblin Explosioneers": { watermark_blend(wm_directory + "unstable/explosioneers.png") } + "unstable factions Crossbreed Labs": { watermark_blend(wm_directory + "unstable/crossbreed.png") } + + "colored xander hybrid mana B/R": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/brmana_colored.png") } + "colored xander hybrid mana U/B": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/ubmana_colored.png") } + "colored xander hybrid mana B/G": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/bgmana_colored.png") } + "colored xander hybrid mana R/G": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/rgmana_colored.png") } + "colored xander hybrid mana G/U": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/gumana_colored.png") } + "colored xander hybrid mana U/R": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/urmana_colored.png") } + "colored xander hybrid mana W/B": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/wbmana_colored.png") } + "colored xander hybrid mana G/W": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/gwmana_colored.png") } + "colored xander hybrid mana R/W": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/rwmana_colored.png") } + "colored xander hybrid mana W/U": { watermark_blend(colored: true, alpha: 1, dark_alpha: 1, wm_directory + "xander/wumana_colored.png") } + + "xander hybrid mana B/R": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/brmana.png") } + "xander hybrid mana U/B": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/ubmana.png") } + "xander hybrid mana B/G": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/bgmana.png") } + "xander hybrid mana R/G": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/rgmana.png") } + "xander hybrid mana G/U": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/gumana.png") } + "xander hybrid mana U/R": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/urmana.png") } + "xander hybrid mana W/B": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/wbmana.png") } + "xander hybrid mana G/W": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/gwmana.png") } + "xander hybrid mana R/W": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/rwmana.png") } + "xander hybrid mana W/U": { watermark_blend(alpha: 0.26, spotlight_alpha: 0.85, dark_alpha: 0.26, dark_spotlight_alpha: 0.85, h:266, l:266, wm_directory + "xander/wumana.png") } + + "future sight type symbols artifact": { watermark_blend(wm_directory + "future/artifact.png") } + "future sight type symbols creature": { watermark_blend(wm_directory + "future/creature.png") } + "future sight type symbols enchantment": { watermark_blend(wm_directory + "future/enchantment.png") } + "future sight type symbols instant": { watermark_blend(wm_directory + "future/instant.png") } + "future sight type symbols land": { watermark_blend(wm_directory + "future/land.png") } + "future sight type symbols multiple": { watermark_blend(wm_directory + "future/multiple.png") } + "future sight type symbols planeswalker": { watermark_blend(wm_directory + "future/planeswalker.png") } + "future sight type symbols sorcery": { watermark_blend(wm_directory + "future/sorcery.png") } + "future sight type symbols structure": { watermark_blend(wm_directory + "future/structure.png") } + + "other magic symbols chaos symbol": { watermark_blend(h:500, l:500, wm_directory + "other/chaos.png") } + "other magic symbols story spotlight": { watermark_blend(h:500, l:500, wm_directory + "other/planeswalker.png") } + "other magic symbols color spotlight": { watermark_blend(h:500, l:500, wm_directory + "other/planeswalker.png") } + "other magic symbols shooting star": { watermark_blend(h:400, l:500, wm_directory + "promo/shooting_star.png") } + "other magic symbols color pie": { watermark_blend(h:500, l:500, wm_directory + "other/colorpie.png") } + "other magic symbols judge academy": { watermark_blend(h:500, l:500, wm_directory + "promo/judge_academy.png") } + "other magic symbols foretell": { watermark_blend(h:460, l:500, wm_directory + "other/foretell.png") } + "other magic symbols jace consortium": { watermark_blend(h:500, l:500, wm_directory + "other/jace-consortium.png") } + "other magic symbols seekers of carmot": { watermark_blend(h:500, l:500, wm_directory + "other/seekersofcarmot.png") } + "other magic symbols desparked": { watermark_blend(h:500, l:500, wm_directory + "other/desparked.png") } + "other magic symbols aetherprint": { watermark_blend(alpha: 0.28, spotlight_alpha: 0.55, dark_alpha: 0.28, dark_spotlight_alpha: 0.5, h:500, l:317, wm_directory + "other/aetherprint.png") } + "other magic symbols phyrexia": { watermark_blend(alpha: 0.30, spotlight_alpha: 0.60, dark_alpha: 0.30, dark_spotlight_alpha: 0.5, h:217, l:115, wm_directory + "other/phyrexia.png") } + "other magic symbols the thran": { watermark_blend(alpha: 0.25, spotlight_alpha: 0.55, dark_alpha: 0.28, dark_spotlight_alpha: 0.4, h:240, l:163, wm_directory + "other/thran.png") } + "other magic symbols conspiracy stamp": { watermark_blend(colored: true, alpha: 0.35, dark_alpha: 0.25, wm_directory + "other/conspiracy_stamp.png") } + + "other magic symbols innistrad provinces stensia": { watermark_blend(wm_directory + "innistrad/stensia.png") } + "other magic symbols innistrad provinces kessig": { watermark_blend(wm_directory + "innistrad/kessig.png") } + "other magic symbols innistrad provinces gavony": { watermark_blend(wm_directory + "innistrad/gavony.png") } + "other magic symbols innistrad provinces nephalia": { watermark_blend(wm_directory + "innistrad/nephalia.png") } + + "other magic symbols theros poleis akros": { watermark_blend(wm_directory + "theros/akros.png") } + "other magic symbols theros poleis meletis": { watermark_blend(wm_directory + "theros/meletis.png") } + "other magic symbols theros poleis setessa": { watermark_blend(wm_directory + "theros/setessa.png") } + + "alara symbols Bant": { watermark_blend(wm_directory + "alara/bant.png") } + "alara symbols Esper": { watermark_blend(wm_directory + "alara/esper.png") } + "alara symbols Grixis": { watermark_blend(wm_directory + "alara/grixis.png") } + "alara symbols Jund": { watermark_blend(wm_directory + "alara/jund.png") } + "alara symbols Naya": { watermark_blend(wm_directory + "alara/naya.png") } + + "alara symbols colored Bant": { watermark_blend(colored: true, alpha: 0.25, dark_alpha: 0.25, wm_directory + "alara/bant_colored.png") } + "alara symbols colored Esper": { watermark_blend(colored: true, alpha: 0.25, dark_alpha: 0.40, wm_directory + "alara/esper_colored.png") } + "alara symbols colored Grixis": { watermark_blend(colored: true, alpha: 0.22, dark_alpha: 0.55, wm_directory + "alara/grixis_colored.png") } + "alara symbols colored Jund": { watermark_blend(colored: true, alpha: 0.25, dark_alpha: 0.40, wm_directory + "alara/jund_colored.png") } + "alara symbols colored Naya": { watermark_blend(colored: true, alpha: 0.25, dark_alpha: 0.30, wm_directory + "alara/naya_colored.png") } + + "college symbols Silverquill": { watermark_blend(wm_directory + "strixhaven/silverquill.png") } + "college symbols Prismari": { watermark_blend(wm_directory + "strixhaven/prismari.png") } + "college symbols Witherbloom": { watermark_blend(wm_directory + "strixhaven/witherbloom.png") } + "college symbols Lorehold": { watermark_blend(wm_directory + "strixhaven/lorehold.png") } + "college symbols Quandrix": { watermark_blend(wm_directory + "strixhaven/quandrix.png") } + + "universes beyond D&D": { watermark_blend(wm_directory + "ub/d&d.png") } + "universes beyond transformers": { watermark_blend(wm_directory + "ub/transformers.png") } + "universes beyond ponies applejack": { watermark_blend(wm_directory + "ponies/applejack.png") } + "universes beyond ponies pinkie pie": { watermark_blend(wm_directory + "ponies/pinkie pie.png") } + "universes beyond ponies fluttershy": { watermark_blend(wm_directory + "ponies/fluttershy.png") } + "universes beyond ponies rainbow dash": { watermark_blend(wm_directory + "ponies/rainbow dash.png") } + "universes beyond ponies rarity": { watermark_blend(wm_directory + "ponies/rarity.png") } + "universes beyond ponies twilight sparkle": { watermark_blend(wm_directory + "ponies/twilight sparkle.png") } + "universes beyond ponies nightmare moon": { watermark_blend(wm_directory + "ponies/nightmare moon.png") } + "universes beyond ponies luna": { watermark_blend(wm_directory + "ponies/luna.png") } + + "custom watermark one": { watermark_blend(custom_watermark_1(), custom:true) } + "custom watermark two": { watermark_blend(custom_watermark_2(), custom:true) } + "custom watermark three": { watermark_blend(custom_watermark_3(), custom:true) } + "custom watermark four": { watermark_blend(custom_watermark_4(), custom:true) } + "custom watermark five": { watermark_blend(custom_watermark_5(), custom:true) } + "custom watermark six": { watermark_blend(custom_watermark_6(), custom:true) } + "custom watermark seven": { watermark_blend(custom_watermark_7(), custom:true) } + "custom watermark eight": { watermark_blend(custom_watermark_8(), custom:true) } + "custom watermark nine": { watermark_blend(custom_watermark_9(), custom:true) } + "custom watermark ten": { watermark_blend(custom_watermark_10(), custom:true) } + "custom watermark card": { watermark_blend(custom_watermark_a(), custom:true) } + + "set symbol": { if (styling.watermark_render or else set.blend_with_colors) == "glow" then glow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark")) else shadow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark")) } +] + +############################################################## Other scripted fields +#### Dimensions of card faces, can be changed in style files +faces_coordinates := { + [ + [ + left: 0, + top: 0, + width: stylesheet.card_width, + height: stylesheet.card_height + ] + ] +} +face_coordinates_string := { + fc := faces_coordinates() + for x from 0 to length(fc) - 1 do fc[x].left + "," + fc[x].top + "," + fc[x].width + "," + fc[x].height + ";" +} +face_coordinates_map := { + fc := faces_coordinates() + fc[input-1] or else [top: 0, left:0, width:0, height:0] +} +face_is_rotated := +{ + map := face_coordinates_map(input) + map.width > map.height +} +############################################################## Information below the textbox +############################################################## Global offsets +#### To shift everything up/down: +information_offset_top_1 := { 0 } +#### To shift the card number, set code and artist credit left/right: +information_codes_offset_left_1 := { 0 } +#### To shift the actual copyright lines left/right: +information_copyright_offset_right_1 := { 0 } +#### To shift the copyright up/down on creatures/walkers, if the pt/loyalty box is very short/tall: +information_copyright_offset_pt_top_1 := { 0 } +#### To shift the secondary copyright left/right on creatures/walkers, if the pt/loyalty box is very narrow/wide: +information_secondary_offset_pt_left_1 := { 0 } +#### For the other faces on DFCs use: +information_offset_top_2 := { 0 } +information_codes_offset_left_2 := { 0 } +information_copyright_offset_right_2 := { 0 } +information_copyright_offset_pt_top_2 := { 0 } +information_secondary_offset_pt_left_2 := { 0 } +information_offset_top_3 := { 0 } +information_codes_offset_left_3 := { 0 } +information_copyright_offset_right_3 := { 0 } +information_copyright_offset_pt_top_3 := { 0 } +information_secondary_offset_pt_left_3 := { 0 } +#### These work the same on 90° rotated cards, but you need to imagine the card is upright +#### For DFC or TFC templates, dont forget to override the faces_coordinates function. +#### You can disable the copyright on some of the faces, +#### by adding the following functions in the init script: +information_disabled_1 := { false } +information_disabled_2 := { false } +information_disabled_3 := { false } + +############################################################## Card code fields +set_code_script := +{ + code := if is_masterpiece() then set.masterpiece_set_code else set.set_code + if code == "" then set.set_language else ( + brush := if margin_code == "setcode1" then card.additional_credit_brush + else if margin_code == "setcode2" then card.additional_credit_brush_4 + else if margin_code == "setcode3" then card.additional_credit_brush_5 + else "none" + if brush == "none" or (not set.adaptive_language_height) + then code + (if set.set_language != "" then " • " else "") + set.set_language + else code) +} +set_language_script := +{ + set.set_language +} +#### a/b add-ons for DFCs +card_number_tags := { + if contains(card.shape, match:"double") + then ["a", "b", "b"] + else ["", "", ""] +} +#### General card code handler +card_code_script_core := { + if not use_auto_numbers() and set.card_number_style == "0001" then + ### R CUSTOM TEXT + combined_editor(prefix: rarity_code() + " ", field1: card.custom_card_number, separator: " ", field2: card_code_text) + else if not use_auto_numbers() then + ### CUSTOM R TEXT + combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card_code_text) + else if set.card_number_style == "0001/0099" then + ### R 1000/1000 TEXT + forward_editor(prefix: rarity_code() + " " + card_number_mom() + tag + (if over_partition() and set.over_partition_display == "100" then "" else "/" + card_count_mom()) + " ", field: card_code_text) + else if set.card_number_style == "0001" then + ### R 1000 TEXT + forward_editor(prefix: rarity_code() + " " + card_number_mom() + tag + " ", field: card_code_text) + else if set.card_number_style == "001/099" then + ### 100/100 R TEXT + forward_editor(prefix: card_number_m15() + tag + (if over_partition() and set.over_partition_display == "100" then "" else "/" + card_count_m15()) + " " + rarity_code() + " ", field: card_code_text) + else if set.card_number_style == "001" then + ### 100 R TEXT + forward_editor(prefix: card_number_m15() + tag + " " + rarity_code() + " ", field: card_code_text) + else if set.card_number_style == "1/99" then + ### 1/99 R TEXT + forward_editor(prefix: card_number() + tag + (if over_partition() and set.over_partition_display == "100" then "" else "/" + card_count()) + " " + rarity_code() + " ", field: card_code_text) else - reminder_text := "" - reminder_text + ### 1 R TEXT + forward_editor(prefix: card_number() + tag + " " + rarity_code() + " ", field: card_code_text) +}@(tag: "") +#### Card code script for individual faces +card_code_script := +{ + card_code_script_core(card_code_text: card.card_code_text, tag:card_number_tags()[0]) +} +card_code_script2 := +{ + card_code_script_core(card_code_text: card.card_code_text_2, tag:card_number_tags()[1]) +} +card_code_script3 := +{ + card_code_script_core(card_code_text: card.card_code_text_3, tag:card_number_tags()[2]) +} +############################################################## Copyright fields +copyright_default := { set.copyright } +secondary_copyright_default := { set.secondary_copyright } +############################################################## Additional credit fields +illustrator_brush_default := { "art" } +illustrator_brush_field := { if input <= 1 then card.illustrator_brush else card["illustrator_brush_" + input] } +illustrator_brush_image := +{ + shape := illustrator_brush_field(field) + image := "/magic-modules.mse-include/information/" + shape + ".png" + color := styling.copyright_text_color or else set.copyright_text_color + recolor_image(image, color: color) +} +additional_credit_default := { "" } +additional_credit_brush_default := { "none" } +additional_credit_brush_field := { if input <= 1 then card.additional_credit_brush else card["additional_credit_brush_" + input] } +additional_credit_brush_image := +{ + shape := additional_credit_brush_field(field) + image := "/magic-modules.mse-include/information/" + shape + ".png" + color := styling.copyright_text_color or else set.copyright_text_color + recolor_image(image, color: color) +} +############################################################## The List +the_list_icon_default := { "none" } +the_list_icon_field := { if input <= 1 then card.the_list_icon else card["the_list_icon_" + input] } +the_list_icon_image := +{ + shape := the_list_icon_field(field) + suffix := if shape == "the list" and face_coordinates_map(face).width != 375 and face_coordinates_map(face).width != 523 then " 750" else "" + image := "/magic-modules.mse-include/information/" + shape + suffix + ".png" + color := styling.copyright_text_color or else set.copyright_text_color + recolor_image(image, color: color) } -###### Print Fix -rare_width := { - cw := card_style.rarity.content_width - cw := if cw > 44 then (if set.print_fix != "" then set.print_fix else 22) else if cw < 22 then 22 else cw - if card_style.rarity.width == 0 then 0 else cw +############################################################## Additional textboxes +text_filter_default := +{ + if transfer_levels() then + ( + if margin_code == "lv1" then card.rule_text + else if margin_code == "lv2" then card.rule_text_2 + else if margin_code == "lv3" then card.rule_text_3 + else if margin_code == "lv4" then card.rule_text_4 + else if margin_code == "lv5" then card.rule_text_5 + else if margin_code == "lv6" then card.rule_text_6 + else "" + ) + else "" +} +text_style_field := { if input <= 1 then card_style.text else card_style["text_" + input] } + +############################################################## Saga/Class reminder +chapter_text_filter_default := +{ + if margin_code == "chapter_text" then (if not a_saga() then "" else if card.rule_text != "" then card.rule_text else "(" + saga_reminder() + ")") + else if margin_code == "chapter_text2" then (if not b_saga() then "" else "(" + saga_reminderb() + ")") + else "" +} +############################################################## Leveler textboxes +level_filter_default := { "" } +level_filter := { input } + +#### Correct the CARDNAME atom for levelers +#### This can be overwritten for more complicated levelers +#### Dungeons for example will overwrite with just {if set.alias_as_cardname and card.alias != "" then card.alias else card.name} +card_name_for_level := { + lvl := if input < 5 + then "" + else if input < 9 + then "_2" + else if input < 13 + then "_3" + else if input < 17 + then "_4" + else "" + if set.alias_as_cardname and card["alias"+lvl] != "" then card["alias"+lvl] else card["name"+lvl] } -### Customize fonts +############################################################## Border +border_color_default := { set.border_color } + +corners_default := { set.corner_shape } +corners_field := { if input <= 1 then card.corners else card["corners_" + input] } +corners_image := +{ + shape := corners_field(field) + color := if shape == "none" then card.border_color else rgb(255,255,255) + if shape == "invisible" + then "/magic-modules.mse-include/corners/invisible.png" + else recolor_image("/magic-modules.mse-include/corners/color.png", color: color) +} +corners_mask := +{ + map := face_coordinates_map(face) + if map.width == 0 or map.height == 0 then "" else ( + dimensions := map.width + "x" + map.height + dimensions := corners_possible_dimensions[dimensions] or else (if map.height > map.width then "1046x750" else "750x1046") + shape := corners_field(field) + shape := if shape == "none" or shape == "invisible" then "rounded" else shape + "/magic-modules.mse-include/corners/" + dimensions + " " + shape + ".png" + ) +} +corners_possible_dimensions := +[ + "375x523": "375x523" + "523x375": "523x375" + "646x902": "646x902" + "902x646": "902x646" + "744x1039": "744x1039" + "1039x744": "1039x744" + "750x1046": "750x1046" + "1046x750": "1046x750" +] + +corners_disabled_1 := { false } +corners_disabled_2 := { false } +corners_disabled_3 := { false } + +############################################################## Punchout counters +counter_default := { "+1/+1" } +counter_field := { if input <= 1 then card.counter else card["counter_" + input] } +counter_image := +{ + shape := replace(counter_field(field), match: "/", replace: "") + if shape == "custom" then + ( + path := styling["symbol_" + field + "_custom_image_location"] + or else styling["counter_symbol_" + field + "_custom_image_location"] + or else "" + if contains(path, match: ".png") + then "/magic-modules.mse-include/counters/" + path + else "/magic-modules.mse-include/counters/none.png" + ) + else if shape == "none" then "/magic-modules.mse-include/counters/none.png" + else + ( + color := styling.symbol_color + or else styling.counter_symbol_color + or else rgb(255,255,255) + recolor_image("/magic-modules.mse-include/counters/" + shape + ".png", color: color) + ) +} + +############################################################## Future Sight typesymbols +typesymbol_for := + to_text + + { lang_setting("remove_supertypes")(input) } + + { replace(match: lang_setting("supertype_separator"), replace: "") } + + { + if input == lang_setting("creature") then "creature" + else if input == lang_setting("sorcery") then "sorcery" + else if input == lang_setting("instant") then "instant" + else if input == lang_setting("artifact") then "artifact" + else if input == lang_setting("enchantment") then "enchantment" + else if input == lang_setting("land") then "land" + else if input == lang_setting("planeswalker") then "planeswalker" + else if input == lang_setting("battle") then "battle" + else if input == lang_setting("emblem") then "non standard emblem" + else if input == lang_setting("conspiracy") then "non standard conspiracy" + else if input == lang_setting("dungeon") then "non standard dungeon" + else if input == lang_setting("hero") then "non standard hero" + else if input == lang_setting("phenomenon") then "non standard phenomenon" + else if input == lang_setting("plane") then "non standard plane" + else if input == lang_setting("scheme") then "non standard scheme" + else if input == lang_setting("vanguard") then "non standard vanguard" + else "multitype" + } +typesymbol_type := { typesymbol_for(type) } +############################################################## Transform/Lesson symbols +transform_symbol_default := +{ + if margin_code == "transform1" then "none" + else if margin_code == "transform2" then "none" + else "none" +} +transform_symbol_field := { if input <= 1 then card.transformation else card["transformation_" + input] } +transform_symbol_is_mirrored := +{ + if input <= 1 + then transform_symbol_mirrored_1() + else if input == 2 + then transform_symbol_mirrored_2() + else transform_symbol_mirrored_3() +} +transform_symbol_image := +{ + map := face_coordinates_map(face) + if map.width == 0 or map.height == 0 + then "" + else ( + shape := transform_symbol_field(face) + link := clean_transform_symbol_shape(shape) + if transform_symbol_is_mirrored(face) then link := flip_transform_symbol_shape(link) + if contains(link, match:"/default") then ( + color := sparker_card_color(card_color_field(face)) + link := replace(link, match:"/default", replace:"/"+color) + ) + case shape of + "none": "", + "custom symbol one": custom_symbol_1(), + "custom symbol two": custom_symbol_2(), + "custom symbol three": custom_symbol_3(), + "custom symbol four": custom_symbol_4(), + else: "/magic-modules.mse-include/symbols/" + link + ".png"; + ) +} +clean_transform_symbol_shape := + replace@(match: "modal front ", replace: "modalfront/") + + replace@(match: "modal back ", replace: "modalback/") + + replace@(match: "sparker [(]colored[)] ", replace: "sparker/") + + replace@(match: "extra |non standard ", replace: "") +flip_transform_symbol_shape := + replace@(match: "modalfront/", replace: "modalfrontflipped/") + + replace@(match: "modalback/", replace: "modalbackflipped/") + +#### General form +transform_symbol_left := +{ + map := face_coordinates_map(face) + mirrored := transform_symbol_is_mirrored(1) + if map.width > map.height then + ( + if mirrored then map.left + 455 * map.width/523 + offset + else map.left + 52 * map.width/523 + offset + ) + else + ( + if mirrored then map.left + 319 * map.width/375 + offset + else map.left + 13 * map.width/375 + offset + ) +} +transform_symbol_top := +{ + map := face_coordinates_map(face) + if map.width > map.height then + map.top + 11 * map.height/375 + offset + else map.top + 19 * map.height/523 + offset +} +transform_symbol_width := +{ + map := face_coordinates_map(face) + if map.width > map.height then + 43 * map.width/523 + offset + else 43 * map.width/375 + offset +} +transform_symbol_height := +{ + map := face_coordinates_map(face) + if map.width > map.height then + 43 * map.height/375 + offset + else 43 * map.height/523 + offset +} + +#### Specific faces +transform_symbol_face_1 := { 1 } +transform_symbol_disabled_1 := { false } +transform_symbol_mirrored_1 := { false } +transform_symbol_offset_top_1 := { 0 } +transform_symbol_offset_left_1 := { 0 } +transform_symbol_offset_width_1 := { 0 } +transform_symbol_offset_height_1 := { 0 } +transform_symbol_left_1 := { transform_symbol_left(face:transform_symbol_face_1(), offset:transform_symbol_offset_left_1()) } +transform_symbol_top_1 := { transform_symbol_top(face:transform_symbol_face_1(), offset:transform_symbol_offset_top_1()) } +transform_symbol_width_1 := { transform_symbol_width(face:transform_symbol_face_1(), offset:transform_symbol_offset_width_1()) } +transform_symbol_height_1 := { transform_symbol_height(face:transform_symbol_face_1(), offset:transform_symbol_offset_height_1()) } + +transform_symbol_face_2 := { 2 } +transform_symbol_disabled_2 := { false } +transform_symbol_mirrored_2 := { false } +transform_symbol_offset_top_2 := { 0 } +transform_symbol_offset_left_2 := { 0 } +transform_symbol_offset_width_2 := { 0 } +transform_symbol_offset_height_2 := { 0 } +transform_symbol_left_2 := { transform_symbol_left(face:transform_symbol_face_2(), offset:transform_symbol_offset_left_2()) } +transform_symbol_top_2 := { transform_symbol_top(face:transform_symbol_face_2(), offset:transform_symbol_offset_top_2()) } +transform_symbol_width_2 := { transform_symbol_width(face:transform_symbol_face_2(), offset:transform_symbol_offset_width_2()) } +transform_symbol_height_2 := { transform_symbol_height(face:transform_symbol_face_2(), offset:transform_symbol_offset_height_2()) } + +transform_symbol_face_3 := { 3 } +transform_symbol_disabled_3 := { false } +transform_symbol_mirrored_3 := { false } +transform_symbol_offset_top_3 := { 0 } +transform_symbol_offset_left_3 := { 0 } +transform_symbol_offset_width_3 := { 0 } +transform_symbol_offset_height_3 := { 0 } +transform_symbol_left_3 := { transform_symbol_left(face:transform_symbol_face_3(), offset:transform_symbol_offset_left_3()) } +transform_symbol_top_3 := { transform_symbol_top(face:transform_symbol_face_3(), offset:transform_symbol_offset_top_3()) } +transform_symbol_width_3 := { transform_symbol_width(face:transform_symbol_face_3(), offset:transform_symbol_offset_width_3()) } +transform_symbol_height_3 := { transform_symbol_height(face:transform_symbol_face_3(), offset:transform_symbol_offset_height_3()) } + +############################################################## Tombstone/Alchemy symbols +card_symbol_default := { "" } +card_symbol_field := { if input <= 1 then card.card_symbol else card["card_symbol_" + input] } +card_symbol_image := { + map := face_coordinates_map(face) + shape := card_symbol_field(face) + if shape == "none" or map.width == 0 or map.height == 0 + then "" + else "/magic-modules.mse-include/card-symbols/" + shape + ".png" +} + +card_symbol_left := +{ + map := face_coordinates_map(face) + has_tr := (transform_symbol_field(face) != "none") + has_sym := (card_symbol_field(face) != "none") + default := if has_tr + then 8 + 18 + 28 + else if has_sym + then 8 + 18 + else 8 + if map.width > map.height then map.left + default * map.width/523 + offset + else map.left + default * map.width/375 + offset +} +card_symbol_top := +{ + map := face_coordinates_map(face) + if map.width > map.height then map.top + 21 * map.height/375 + offset + else map.top + 29 * map.height/523 + offset +} +card_symbol_width := +{ + map := face_coordinates_map(face) + default := if card_symbol_field(face) == "none" then 9 else 23 + if map.width > map.height then default * map.width/523 + offset + else default * map.width/375 + offset +} +card_symbol_height := +{ + map := face_coordinates_map(face) + if map.width > map.height then 21 * map.height/375 + offset + else 21 * map.height/523 + offset +} + +card_symbol_face_1 := { 1 } +card_symbol_disabled_1 := { false } +card_symbol_offset_top_1 := { 0 } +card_symbol_offset_left_1 := { 0 } +card_symbol_offset_width_1 := { 0 } +card_symbol_offset_height_1 := { 0 } +card_symbol_left_1 := { card_symbol_left( face:card_symbol_face_1(), offset:card_symbol_offset_left_1()) } +card_symbol_top_1 := { card_symbol_top( face:card_symbol_face_1(), offset:card_symbol_offset_top_1()) } +card_symbol_width_1 := { card_symbol_width( face:card_symbol_face_1(), offset:card_symbol_offset_width_1()) } +card_symbol_height_1 := { card_symbol_height(face:card_symbol_face_1(), offset:card_symbol_offset_height_1()) } + +card_symbol_face_2 := { 2 } +card_symbol_disabled_2 := { false } +card_symbol_offset_top_2 := { 0 } +card_symbol_offset_left_2 := { 0 } +card_symbol_offset_width_2 := { 0 } +card_symbol_offset_height_2 := { 0 } +card_symbol_left_2 := { card_symbol_left( face:card_symbol_face_2(), offset:card_symbol_offset_left_2()) } +card_symbol_top_2 := { card_symbol_top( face:card_symbol_face_2(), offset:card_symbol_offset_top_2()) } +card_symbol_width_2 := { card_symbol_width( face:card_symbol_face_2(), offset:card_symbol_offset_width_2()) } +card_symbol_height_2 := { card_symbol_height(face:card_symbol_face_2(), offset:card_symbol_offset_height_2()) } + +card_symbol_face_3 := { 3 } +card_symbol_disabled_3 := { false } +card_symbol_offset_top_3 := { 0 } +card_symbol_offset_left_3 := { 0 } +card_symbol_offset_width_3 := { 0 } +card_symbol_offset_height_3 := { 0 } +card_symbol_left_3 := { card_symbol_left( face:card_symbol_face_3(), offset:card_symbol_offset_left_3()) } +card_symbol_top_3 := { card_symbol_top( face:card_symbol_face_3(), offset:card_symbol_offset_top_3()) } +card_symbol_width_3 := { card_symbol_width( face:card_symbol_face_3(), offset:card_symbol_offset_width_3()) } +card_symbol_height_3 := { card_symbol_height(face:card_symbol_face_3(), offset:card_symbol_offset_height_3()) } + +############################################################## Loyalty costs +loyalty_clean_margin_code := replace@(match: "loy(cost)?", replace: "") +loyalty_cost_field := +{ + input := loyalty_clean_margin_code(input) + card["loyalty_cost_" + input] +} +loyalty_cost_box_field := +{ + input := loyalty_clean_margin_code(input) + card["loyalty_cost_box_" + input] +} +loyalty_cost_box_default := +{ + cost := loyalty_cost_field(margin_code) + if cost == "" then "none" + else if contains(cost, match: "+") then "+, shadow" + else if contains(cost, match: "-") then "-, shadow" + else "0, shadow" +} +loyalty_cost_box_image := +{ + shape := remove_comma(loyalty_cost_box_field(input + (instance-1)*8)) + if contains(shape, match: "none") then "" + else "/magic-modules.mse-include/loyalty/loyalty cost " + shape + ".png" +} + +loyalty_field := +{ + input := loyalty_clean_margin_code(input) + if input <= 1 then card.loyalty else card["loyalty_" + input] +} +loyalty_box_field := +{ + input := loyalty_clean_margin_code(input) + if input <= 1 then card.loyalty_box else card["loyalty_box_" + input] +} +loyalty_box_default := +{ + margin_code := loyalty_clean_margin_code(margin_code) + loyalty := loyalty_field(margin_code) + if loyalty == "" then "none" else ( + type := if margin_code <= 1 then card.super_type else card["super_type_" + margin_code] + if lang_setting("is_battle")(type) or contains(card_shape(), match: "battle") then "defense" + else "loyalty") +} +loyalty_box_image := +{ + shape := remove_comma(loyalty_box_field(instance)) + if has_none(shape) then "" + else "/magic-modules.mse-include/loyalty/" + shape + ".png" +} + +loyalty_face_1 := { 1 } +loyalty_text_field_1 := { 1 } +loyalty_stamp_field_1 := { 1 } + +loyalty_offset_top_1 := { 0 } +loyalty_offset_left_1 := { 0 } +loyalty_offset_width_1 := { 0 } +loyalty_offset_height_1 := { 0 } + +loyalty_cost_offset_top_1 := { 0 } +loyalty_cost_offset_left_1 := { 0 } +loyalty_cost_offset_width_1 := { 0 } +loyalty_cost_offset_height_1 := { 0 } + +loyalty_cost_offset_text_margin_1 := { 0 } + +loyalty_textbox_mask_1 := +{ + if is_stamped(field: loyalty_stamp_field_1()) + then "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png" + else "/magic-modules.mse-include/loyalty/default_textbox_mask.png" +} + +loyalty_face_2 := { 2 } +loyalty_text_field_2 := { 2 } +loyalty_stamp_field_2 := { 2 } + +loyalty_offset_top_2 := { 0 } +loyalty_offset_left_2 := { 0 } +loyalty_offset_width_2 := { 0 } +loyalty_offset_height_2 := { 0 } + +loyalty_cost_offset_top_2 := { 0 } +loyalty_cost_offset_left_2 := { 0 } +loyalty_cost_offset_width_2 := { 0 } +loyalty_cost_offset_height_2 := { 0 } + +loyalty_cost_offset_text_margin_2 := { 0 } + +loyalty_textbox_mask_2 := +{ + if is_stamped(field: loyalty_stamp_field_2()) + then "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png" + else "/magic-modules.mse-include/loyalty/default_textbox_mask.png" +} + +loyalty_face_3 := { 3 } +loyalty_text_field_3 := { 3 } +loyalty_stamp_field_3 := { 3 } + +loyalty_offset_top_3 := { 0 } +loyalty_offset_left_3 := { 0 } +loyalty_offset_width_3 := { 0 } +loyalty_offset_height_3 := { 0 } + +loyalty_cost_offset_top_3 := { 0 } +loyalty_cost_offset_left_3 := { 0 } +loyalty_cost_offset_width_3 := { 0 } +loyalty_cost_offset_height_3 := { 0 } + +loyalty_cost_offset_text_margin_3 := { 0 } + +loyalty_textbox_mask_3 := +{ + if is_stamped(field: loyalty_stamp_field_3()) + then "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png" + else "/magic-modules.mse-include/loyalty/default_textbox_mask.png" +} + +loyalty_face := { if instance <= 1 then loyalty_face_1() else if instance == 2 then loyalty_face_2() else loyalty_face_3() } +loyalty_text_field := { if instance <= 1 then loyalty_text_field_1() else if instance == 2 then loyalty_text_field_2() else loyalty_text_field_3() } +loyalty_stamp_field := { if instance <= 1 then loyalty_stamp_field_1() else if instance == 2 then loyalty_stamp_field_2() else loyalty_stamp_field_3() } + +loyalty_offset_top := { if instance <= 1 then loyalty_offset_top_1() else if instance == 2 then loyalty_offset_top_2() else loyalty_offset_top_3() } +loyalty_offset_left := { if instance <= 1 then loyalty_offset_left_1() else if instance == 2 then loyalty_offset_left_2() else loyalty_offset_left_3() } +loyalty_offset_width := { if instance <= 1 then loyalty_offset_width_1() else if instance == 2 then loyalty_offset_width_2() else loyalty_offset_width_3() } +loyalty_offset_height := { if instance <= 1 then loyalty_offset_height_1() else if instance == 2 then loyalty_offset_height_2() else loyalty_offset_height_3() } + +loyalty_cost_offset_top := { if instance <= 1 then loyalty_cost_offset_top_1() else if instance == 2 then loyalty_cost_offset_top_2() else loyalty_cost_offset_top_3() } +loyalty_cost_offset_left := { if instance <= 1 then loyalty_cost_offset_left_1() else if instance == 2 then loyalty_cost_offset_left_2() else loyalty_cost_offset_left_3() } +loyalty_cost_offset_width := { if instance <= 1 then loyalty_cost_offset_width_1() else if instance == 2 then loyalty_cost_offset_width_2() else loyalty_cost_offset_width_3() } +loyalty_cost_offset_height := { if instance <= 1 then loyalty_cost_offset_height_1() else if instance == 2 then loyalty_cost_offset_height_2() else loyalty_cost_offset_height_3() } + +loyalty_cost_offset_text_margin := { if instance <= 1 then loyalty_cost_offset_text_margin_1() else if instance == 2 then loyalty_cost_offset_text_margin_2() else loyalty_cost_offset_text_margin_3() } + +loyalty_textbox_mask := { if instance <= 1 then loyalty_textbox_mask_1() else if instance == 2 then loyalty_textbox_mask_2() else loyalty_textbox_mask_3() } + +#### All these functions are implicitly passed and passing the 'instance' argument: +a_left := { face := loyalty_face(); face_coordinates_map(face).left } +a_top := { face := loyalty_face(); face_coordinates_map(face).top } +a_bottom := { face := loyalty_face(); face_coordinates_map(face).top + face_coordinates_map(face).height } +a_width := { face := loyalty_face(); face_coordinates_map(face).width } +a_height := { face := loyalty_face(); face_coordinates_map(face).height } +r_width := { face := loyalty_face(); face_coordinates_map(face).width/375 } +r_height := { face := loyalty_face(); face_coordinates_map(face).height/523 } + +to_744_width := { input/a_width()*744 } +to_744_height := { input/a_height()*1039 } + +loyalty_left := { round_near((if contains(loyalty_box_field(instance), match: "defense") then 323 else 313) * r_width() + a_left() + loyalty_offset_left() - loyalty_offset_width()) } +loyalty_top := { round_near(472 * r_height() + a_top() + loyalty_offset_top() - loyalty_offset_height()) } +loyalty_width := { (if contains(loyalty_box_field(instance), match: "defense") then 20 else 40) * r_width() + 2*loyalty_offset_width() } +loyalty_height := { 21 * r_height() + 2*loyalty_offset_height() } +loyalty_font_size := { (if contains(loyalty_box_field(instance), match: "defense") then 15 else 17) * (21 * r_height() + 0.8*loyalty_offset_height())/21 } + +loyalty_box_left := { 301 * r_width() + a_left() + loyalty_offset_left() - loyalty_offset_width() } +loyalty_box_top := { 457 * r_height() + a_top() + loyalty_offset_top() - loyalty_offset_height() } +loyalty_box_width := { 64 * r_width() + 2*loyalty_offset_width() } +loyalty_box_height := { 52.5 * r_height() + 2*loyalty_offset_height() } + +loyalty_cost_left := { round_near(loyalty_ability_left() - 24 * r_width() + loyalty_cost_offset_left() - loyalty_cost_offset_width()) } +loyalty_cost_top := { round_near(loyalty_ability_center(input) - loyalty_cost_r_height()/2 + loyalty_cost_r_correction(input) + loyalty_cost_move(input) + loyalty_cost_offset_top() - loyalty_cost_offset_height()) } +loyalty_cost_width := { loyalty_cost_r_width() + 2*loyalty_cost_offset_width() } +loyalty_cost_height := { if loyalty_abilities_count() >= input then loyalty_cost_r_height() + 2*loyalty_cost_offset_height() else 0 } +loyalty_cost_r_width := { 24 * r_width() } +loyalty_cost_r_height := { 20 * r_height() } +loyalty_cost_r_correction := +{ + cost := card["loyalty_cost_box_" + input] + if contains(cost, match: "+") or contains(cost, match: "anti ult") then -1 * r_height() + else if contains(cost, match: "-") or contains(cost, match: "ult") then -5 * r_height() + else -3 * r_height() +} +loyalty_cost_font_size := { 13 * (loyalty_cost_r_height() + 0.8*loyalty_cost_offset_height())/20 } + +loyalty_cost_box_left := { loyalty_ability_left() - 36 * r_width() + loyalty_cost_offset_left() - loyalty_cost_offset_width() } +loyalty_cost_box_top := { loyalty_ability_center(input) - loyalty_cost_box_r_height()/2 + loyalty_cost_move(input) + loyalty_cost_offset_top() - loyalty_cost_offset_height() } +loyalty_cost_box_width := { loyalty_cost_box_r_width() + 2*loyalty_cost_offset_width() } +loyalty_cost_box_height := { if loyalty_abilities_count() >= input then loyalty_cost_box_r_height() + 2*loyalty_cost_offset_height() else 0 } +loyalty_cost_box_r_width := { 47 * r_width() } +loyalty_cost_box_r_height := { 36 * r_height() } + +loyalty_colon_left := { round_near(loyalty_ability_left() + 9 * r_width() + loyalty_cost_offset_left() + loyalty_cost_offset_width()) } +loyalty_colon_top := { round_near(loyalty_ability_center(input) - loyalty_colon_r_height()/2 + loyalty_colon_r_correction(input) + loyalty_cost_move(input) + loyalty_cost_offset_top() - loyalty_cost_offset_height()) } +loyalty_colon_width := { loyalty_colon_r_width() } +loyalty_colon_height := { loyalty_colon_r_height() } +loyalty_colon_r_width := { 5 * r_width() } +loyalty_colon_r_height := { 21 * r_height() } +loyalty_colon_r_correction := { -3 * r_height() } +loyalty_colon_font_size := { 13 * (loyalty_colon_r_height() + 2*loyalty_cost_offset_height())/21 } + +loyalty_stripe_separator_top := { (loyalty_ability_bottom(input) + loyalty_ability_top(input+1) - loyalty_stripe_separator_height())/2 + loyalty_separator_move(input) } +loyalty_stripe_separator_height := { 8.06 * r_height() } + +loyalty_cost_move := +{ + styling_field := if instance <= 1 then (styling.move_loyalty_costs or else "") else (styling["move_loyalty_costs_" + instance] or else "") + text := pull_comma_array(styling_field, cell:input-1, end:0, default:0) + if text == "-" then 0 else clamp(text, minimum: -300, maximum: 300) +} +loyalty_separator_move := +{ + styling_field := if instance <= 1 then (styling.move_separators or else "") else (styling["move_separators_" + instance] or else "") + text := pull_comma_array(styling_field, cell:input-1, end:0, default:0) + if text == "-" then 0 else clamp(text, minimum: -300, maximum: 300) +} + +loyalty_level_is_active := +{ + number := to_int(replace(input, match: "lv", replace: "")) or else 999 + if number > 24 then false else ( + instance := if number < 9 then 1 else if number < 17 then 2 else 3 + loyalty_abilities_count() >= (number mod 8)) +} +loyalty_abilities_count := +{ + styling_field := if instance <= 1 then (styling.number_of_textboxes or else "0") else (styling["number_of_textboxes_" + instance] or else "0") + to_int(styling_field) +} + +loyalty_ability_left := +{ + style_field := text_style_field(loyalty_text_field()) + if style_field.left or else 0 > 0 + then style_field.left + else stylesheet.card_width * 1.2 +} +loyalty_ability_top := +{ + style_field := text_style_field(loyalty_text_field()) + if style_field.layout.blocks[input-1].bottom or else 0 > 0 + then style_field.top + style_field.layout.blocks[input-1].top + else stylesheet.card_height * 1.2 +} +loyalty_ability_center := +{ + style_field := text_style_field(loyalty_text_field()) + if style_field.layout.blocks[input-1].bottom or else 0 > 0 + then style_field.top + style_field.layout.blocks[input-1].middle + else stylesheet.card_height * 1.2 +} +loyalty_ability_bottom := +{ + style_field := text_style_field(loyalty_text_field()) + if style_field.layout.blocks[input-1].bottom or else 0 > 0 + then style_field.top + style_field.layout.blocks[input-1].bottom + else stylesheet.card_height * 1.2 +} + +loyalty_stripe_separator_mask := +{ + mask := loyalty_textbox_mask() + if mask == "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png" + or mask == "/magic-modules.mse-include/loyalty/default_textbox_mask.png" then + ( + crop_safe( + mask, + offset_x: 0, + offset_y: to_744_height(loyalty_stripe_separator_top(input) - a_top()), + width: 744, + height: to_744_height(loyalty_stripe_separator_height()), + max_x: 744, + max_y: 1039 + ) + ) + else + ( + crop_safe( + mask, + offset_x: 0, + offset_y: loyalty_stripe_separator_top(input) - a_top(), + width: a_width(), + height: loyalty_stripe_separator_height(), + max_x: a_width(), + max_y: a_height() + ) + ) +} +loyalty_stripe_mask := +{ + mask := loyalty_textbox_mask() + if mask == "/magic-modules.mse-include/loyalty/default_textbox_stamp_mask.png" + or mask == "/magic-modules.mse-include/loyalty/default_textbox_mask.png" then + ( + top := if input > 1 then loyalty_stripe_separator_top(2*input-2) + loyalty_stripe_separator_height() else a_top() + height := (if loyalty_abilities_count() >= 2*input then loyalty_stripe_separator_top(2*input-1) else a_bottom()) - top + top := to_744_height(top - a_top()) + height := to_744_height(height) + crop_safe( + mask, + offset_x: 0, + offset_y: top, + width: 744, + height: height, + max_x: 744, + max_y: 1039 + ) + ) + else + ( + top := if input > 1 then loyalty_stripe_separator_top(2*input-2) + loyalty_stripe_separator_height() else a_top() + height := (if loyalty_abilities_count() >= 2*input then loyalty_stripe_separator_top(2*input-1) else a_bottom()) - top + top := top - a_top() + crop_safe( + mask, + offset_x: 0, + offset_y: top, + width: a_width(), + height: height, + max_x: a_width(), + max_y: a_height() + ) + ) +} +loyalty_stripe_separator_image := +{ + color := if instance <= 1 then (styling.stripes_color or else rgb(255,255,255)) else (styling["stripes_color_" + instance] or else rgb(255,255,255)) + alpha := if instance <= 1 then (styling.stripes_opacity_percentage or else "40") else (styling["stripes_opacity_percentage_" + instance] or else "40") + set_alpha( + recolor_image( + "/magic-modules.mse-include/loyalty/stripe_" + (if (input mod 2) == 0 then "top" else "bottom") + ".png", + color: color + ), + alpha: get_alpha_percentage( + alpha, + default: 40 + ) + ) +} +loyalty_stripe_image := +{ + color := if instance <= 1 then (styling.stripes_color or else rgb(255,255,255)) else (styling["stripes_color_" + instance] or else rgb(255,255,255)) + alpha := if instance <= 1 then (styling.stripes_opacity_percentage or else "40") else (styling["stripes_opacity_percentage_" + instance] or else "40") + set_alpha( + recolor_image( + "/magic-modules.mse-include/loyalty/color.png", + color: color + ), + alpha: get_alpha_percentage( + alpha, + default: 40 + ) + ) +} +loyalty_textbox_background_image := +{ + color := if instance <= 1 then (styling.textbox_color or else rgb(255,255,255)) else (styling["textbox_color_" + instance] or else rgb(255,255,255)) + alpha := if instance <= 1 then (styling.textbox_opacity_percentage or else "70") else (styling["textbox_opacity_percentage_" + instance] or else "70") + set_alpha( + recolor_image( + "/magic-modules.mse-include/loyalty/color.png", + color: color + ), + alpha: get_alpha_percentage( + alpha, + default: 70 + ) + ) +} + +############################################################## Separators +separator_enable_level := { false } +separator_default := { if set.use_flavor_bar then "flavor bar" else "none" } + +flavor_bar_left := { face_coordinates_map(input).left } +flavor_bar_top := +{ + style := if input <= 1 then card_style.text else card_style["text_" + input] + rule := if input <= 1 then card.rule_text else card["rule_text_" + input] + flavor := if input <= 1 then card.flavor_text else card["flavor_text_" + input] + disabled := if input <= 1 then flavor_bar_disabled_1() else if input == 2 then flavor_bar_disabled_2() else flavor_bar_disabled_3() + uninitialized := (style.layout.blocks[1].bottom or else 0) <= 0 + if disabled + or rule == "" + or remove_tags(flavor) == "" + then stylesheet.card_height + 1 + else if uninitialized + then (if input <= 1 then old_bar_equation() else if input == 2 then old_bar_equation2() else old_bar_equation3()) - flavor_bar_height(input)/2 + else style.top + (style.layout.blocks[0].bottom + style.layout.blocks[1].top)/2 - flavor_bar_height(input)/2 +} +flavor_bar_width := { face_coordinates_map(input).width } +flavor_bar_height := { 24 * face_coordinates_map(input).height/1039 } + +flavor_bar_disabled_1 := { false } +flavor_bar_offset_top_1 := { 0 } +flavor_bar_offset_left_1 := { 0 } +flavor_bar_offset_width_1 := { 0 } +flavor_bar_offset_height_1 := { 0 } +flavor_bar_disabled_2 := { false } +flavor_bar_offset_top_2 := { 0 } +flavor_bar_offset_left_2 := { 0 } +flavor_bar_offset_width_2 := { 0 } +flavor_bar_offset_height_2 := { 0 } +flavor_bar_disabled_3 := { false } +flavor_bar_offset_top_3 := { 0 } +flavor_bar_offset_left_3 := { 0 } +flavor_bar_offset_width_3 := { 0 } +flavor_bar_offset_height_3 := { 0 } + +############################################################## Watermark offsets +watermark_face_1 := { 1 } +watermark_text_field_1 := { 1 } +watermark_stamp_field_1 := { 1 } + +watermark_disabled_1 := { false } +watermark_offset_top_1 := { 0 } +watermark_offset_left_1 := { 0 } +watermark_offset_width_1 := { 0 } +watermark_offset_height_1 := { 0 } +watermark_offset_stamp_1 := { 0 } + +watermark_face_2 := { 2 } +watermark_text_field_2 := { 2 } +watermark_stamp_field_2 := { 2 } + +watermark_disabled_2 := { false } +watermark_offset_top_2 := { 0 } +watermark_offset_left_2 := { 0 } +watermark_offset_width_2 := { 0 } +watermark_offset_height_2 := { 0 } +watermark_offset_stamp_2 := { 0 } + +watermark_face_3 := { 3 } +watermark_text_field_3 := { 3 } +watermark_stamp_field_3 := { 3 } + +watermark_disabled_3 := { false } +watermark_offset_top_3 := { 0 } +watermark_offset_left_3 := { 0 } +watermark_offset_width_3 := { 0 } +watermark_offset_height_3 := { 0 } +watermark_offset_stamp_3 := { 0 } + +############################################################## Color indicator offsets +indicator_left := +{ + map := face_coordinates_map(face) + if map.width > map.height then + map.left + 65 * map.width/523 + offset + else map.left + 31 * map.width/375 + offset +} +indicator_top := +{ + map := face_coordinates_map(face) + if map.width > map.height then + map.top + 223 * map.height/375 + offset + else map.top + 301 * map.height/523 + offset +} +indicator_size := +{ + map := face_coordinates_map(face) + 17 * min(map.width, map.height)/375 + offset +} +indicator_disabled_1 := { false } +indicator_offset_top_1 := { 0 } +indicator_offset_left_1 := { 0 } +indicator_offset_size_1 := { 0 } +indicator_left_1 := { indicator_left(face:typeline_face_1(), offset: indicator_offset_left_1()) } +indicator_top_1 := { indicator_top(face:typeline_face_1(), offset: indicator_offset_top_1()) } +indicator_size_1 := { indicator_size(face:typeline_face_1(), offset: indicator_offset_size_1()) } + +indicator_disabled_2 := { false } +indicator_offset_top_2 := { 0 } +indicator_offset_left_2 := { 0 } +indicator_offset_size_2 := { 0 } +indicator_left_2 := { indicator_left(face:typeline_face_2(), offset: indicator_offset_left_2()) } +indicator_top_2 := { indicator_top(face:typeline_face_2(), offset: indicator_offset_top_2()) } +indicator_size_2 := { indicator_size(face:typeline_face_2(), offset: indicator_offset_size_2()) } + +indicator_disabled_3 := { false } +indicator_offset_top_3 := { 0 } +indicator_offset_left_3 := { 0 } +indicator_offset_size_3 := { 0 } +indicator_left_3 := { indicator_left(face:typeline_face_3(), offset: indicator_offset_left_3()) } +indicator_top_3 := { indicator_top(face:typeline_face_3(), offset: indicator_offset_top_3()) } +indicator_size_3 := { indicator_size(face:typeline_face_3(), offset: indicator_offset_size_3()) } + +############################################################## Rarity offsets +rarity_right := +{ + map := face_coordinates_map(face) + user_offsets := styling.rarity_offsets or else "" + if map.width > map.height then + map.left + (483 * map.width/523) + offset + rarity_user_offset_left(user_offsets) + else map.left + (344 * map.width/375) + offset + rarity_user_offset_left(user_offsets) +} +rarity_top := +{ + map := face_coordinates_map(face) + user_offsets := styling.rarity_offsets or else "" + if map.width > map.height then + map.top + 219 * map.height/375 + offset + rarity_user_offset_top(user_offsets) + else map.top + 297 * map.height/523 + offset + rarity_user_offset_top(user_offsets) +} +rarity_width := +{ + map := face_coordinates_map(face) + user_offsets := styling.rarity_offsets or else "" + if map.width > map.height then + 44 * map.width/523 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_width(user_offsets) + else 44 * map.width/375 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_width(user_offsets) +} +rarity_height := +{ + map := face_coordinates_map(face) + user_offsets := styling.rarity_offsets or else "" + if map.width > map.height then + 22 * map.height/375 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_height(user_offsets) + else 22 * map.height/523 + offset + rarity_user_offset_top(user_offsets) + rarity_user_offset_height(user_offsets) +} +rarity_size := +{ + map := face_coordinates_map(face) + user_offsets := styling.rarity_offsets or else "" + 24 * min(map.width, map.height)/375 + offset + 2*rarity_user_offset_size(user_offsets) +} + +rarity_real_width := { + map := face_coordinates_map(face) + multi := if map.width > map.height then + map.height/375 + else map.height/523 + cw := if face > 1 then card_style["rarity_" + face].content_width else card_style.rarity.content_width + cwf := if cw > multi*44 then (if set.print_fix != "" then set.print_fix else multi*22) else if cw < multi*22 then multi*22 else cw + if not set.shorten_types_for_rarity or cw == 0 then 0 else cwf +} + +rarity_disabled_1 := { false } +rarity_offset_top_1 := { 0 } +rarity_offset_left_1 := { 0 } +rarity_offset_size_1 := { 0 } +rarity_right_1 := { rarity_right(face:typeline_face_1(), offset:rarity_offset_left_1()) } +rarity_top_1 := { rarity_top(face:typeline_face_1(), offset:rarity_offset_top_1()) } +rarity_height_1 := { rarity_height(face:typeline_face_1(), offset:rarity_offset_size_1()) } +rarity_width_1 := { rarity_width(face:typeline_face_1(), offset:rarity_offset_size_1()) } +rarity_left_1 := { rarity_right_1() - rarity_real_width(face:typeline_face_1()) } + +rarity_disabled_2 := { false } +rarity_offset_top_2 := { 0 } +rarity_offset_left_2 := { 0 } +rarity_offset_size_2 := { 0 } +rarity_right_2 := { rarity_right(face:typeline_face_2(), offset:rarity_offset_left_2()) } +rarity_top_2 := { rarity_top(face:typeline_face_2(), offset:rarity_offset_top_2()) } +rarity_height_2 := { rarity_height(face:typeline_face_2(), offset:rarity_offset_size_2()) } +rarity_width_2 := { rarity_width(face:typeline_face_2(), offset:rarity_offset_size_2()) } +rarity_left_2 := { rarity_right_2() - rarity_real_width(face:typeline_face_2()) } + +rarity_disabled_3 := { false } +rarity_offset_top_3 := { 0 } +rarity_offset_left_3 := { 0 } +rarity_offset_size_3 := { 0 } +rarity_right_3 := { rarity_right(face:typeline_face_3(), offset:rarity_offset_left_3()) } +rarity_top_3 := { rarity_top(face:typeline_face_3(), offset:rarity_offset_top_3()) } +rarity_height_3 := { rarity_height(face:typeline_face_3(), offset:rarity_offset_size_3()) } +rarity_width_3 := { rarity_width(face:typeline_face_3(), offset:rarity_offset_size_3()) } +rarity_left_3 := { rarity_right_3() - rarity_real_width(face:typeline_face_3()) } + +rarity_user_offset_left := { split := split_comma(input); if length(split) > 0 and split.0 != "" and split.0 != "-" then clamp(split.0, maximum:500, minimum:-500) else 0 } +rarity_user_offset_top := { split := split_comma(input); if length(split) > 1 and split.1 != "" and split.1 != "-" then clamp(split.1, maximum:500, minimum:-500) else 0 } +rarity_user_offset_width := { split := split_comma(input); if length(split) > 2 and split.2 != "" and split.2 != "-" then clamp(split.2, maximum:500, minimum:-500) else 0 } +rarity_user_offset_height := { split := split_comma(input); if length(split) > 3 and split.2 != "" and split.3 != "-" then clamp(split.3, maximum:500, minimum:-500) else 0 } + +############################################################## Type offsets + +type_indicator_shift := +{ + if (not identity) or disabled + then 0 + else offset +} + +type_disabled_1 := { false } +type_offset_top_1 := { 0 } +type_offset_left_1 := { 0 } +type_offset_right_1 := { 0 } +type_offset_height_1 := { 0 } +type_indicator_shift_1 := { type_indicator_shift(identity:has_identity(), offset:indicator_size_1()*1.15 + typeline_offset_height_1(), disabled:indicator_disabled_1()) } + +type_disabled_2 := { false } +type_offset_top_2 := { 0 } +type_offset_left_2 := { 0 } +type_offset_right_2 := { 0 } +type_offset_height_2 := { 0 } +type_indicator_shift_2 := { type_indicator_shift(identity:has_identity_2(), offset:indicator_size_2()*1.15 + typeline_offset_height_2(), disabled:indicator_disabled_2()) } + +type_disabled_3 := { false } +type_offset_top_3 := { 0 } +type_offset_left_3 := { 0 } +type_offset_right_3 := { 0 } +type_offset_height_3 := { 0 } +type_indicator_shift_3 := { type_indicator_shift(identity:has_identity_3(), offset:indicator_size_3()*1.15 + typeline_offset_height_3(), disabled:indicator_disabled_3()) } + +typeline_face_1 := { 1 } + +typeline_disabled_1 := { false } +typeline_offset_top_1 := { 0 } +typeline_offset_left_1 := { 0 } +typeline_offset_width_1 := { 0 } +typeline_offset_height_1 := { 0 } + +typeline_face_2 := { 2 } + +typeline_disabled_2 := { false } +typeline_offset_top_2 := { 0 } +typeline_offset_left_2 := { 0 } +typeline_offset_width_2 := { 0 } +typeline_offset_height_2 := { 0 } + +typeline_face_3 := { 3 } + +typeline_disabled_3 := { false } +typeline_offset_top_3 := { 0 } +typeline_offset_left_3 := { 0 } +typeline_offset_width_3 := { 0 } +typeline_offset_height_3 := { 0 } + +############################################################## Casting cost offsets +casting_cost_right := +{ + map := face_coordinates_map(face) + if map.width > map.height then + map.left + 485 * map.width/523 + offset + else map.left + 346 * map.width/375 + offset +} +casting_cost_top := +{ + map := face_coordinates_map(face) + if map.width > map.height then + map.top + 19 * map.height/375 + offset + else map.top + 27 * map.height/523 + offset +} +casting_cost_width := +{ + map := face_coordinates_map(face) + scale := min(map.width, map.height)/375 + minimum := 30 * scale + buffer := 5 * scale + max(minimum, card_style.casting_cost.content_width) + buffer + offset +} +casting_cost_height := +{ + map := face_coordinates_map(face) + 26 * min(map.width, map.height)/375 + offset +} +casting_cost_disabled_1 := { false } +casting_cost_offset_top_1 := { 0 } +casting_cost_offset_left_1 := { 0 } +casting_cost_offset_width_1 := { 0 } +casting_cost_offset_height_1 := { 0 } +casting_cost_right_1 := { casting_cost_right(face:nameline_face_1(), offset:casting_cost_offset_left_1()) } +casting_cost_top_1 := { casting_cost_top(face:nameline_face_1(), offset:casting_cost_offset_top_1()) } +casting_cost_width_1 := { casting_cost_width(face:nameline_face_1(), offset:casting_cost_offset_width_1()) } +casting_cost_height_1 := { casting_cost_height(face:nameline_face_1(), offset:casting_cost_offset_height_1()) } + +casting_cost_disabled_2 := { false } +casting_cost_offset_top_2 := { 0 } +casting_cost_offset_left_2 := { 0 } +casting_cost_offset_width_2 := { 0 } +casting_cost_offset_height_2 := { 0 } +casting_cost_right_2 := { casting_cost_right(face:nameline_face_2(), offset:casting_cost_offset_left_2()) } +casting_cost_top_2 := { casting_cost_top(face:nameline_face_2(), offset:casting_cost_offset_top_2()) } +casting_cost_width_2 := { casting_cost_width(face:nameline_face_2(), offset:casting_cost_offset_width_2()) } +casting_cost_height_2 := { casting_cost_height(face:nameline_face_2(), offset:casting_cost_offset_height_2()) } + +casting_cost_disabled_3 := { false } +casting_cost_offset_top_3 := { 0 } +casting_cost_offset_left_3 := { 0 } +casting_cost_offset_width_3 := { 0 } +casting_cost_offset_height_3 := { 0 } +casting_cost_right_3 := { casting_cost_right(face:nameline_face_3(), offset:casting_cost_offset_left_3()) } +casting_cost_top_3 := { casting_cost_top(face:nameline_face_3(), offset:casting_cost_offset_top_3()) } +casting_cost_width_3 := { casting_cost_width(face:nameline_face_3(), offset:casting_cost_offset_width_3()) } +casting_cost_height_3 := { casting_cost_height(face:nameline_face_3(), offset:casting_cost_offset_height_3()) } + +############################################################## Name offsets +name_left := +{ + map := face_coordinates_map(face) + if map.width > map.height then + map.left + 67 * map.width/523 + offset + else map.left + 32 * map.width/375 + offset +} +name_top := +{ + map := face_coordinates_map(face) + if map.width > map.height then + map.top + 19 * map.height/375 + offset + else map.top + 27 * map.height/523 + offset +} +name_right := +{ + map := face_coordinates_map(face) + casting_cost_width_1 := if card_style.casting_cost.content_width == 0 then 0 else card_style.casting_cost.content_width + 3 * min(map.width, map.height)/375 + if map.width > map.height then + map.left + 482 * map.width/523 - casting_cost_width_1 + offset + else map.left + 341 * map.width/375 - casting_cost_width_1 + offset +} +name_height := +{ + map := face_coordinates_map(face) + 26 * min(map.width, map.height)/375 + offset +} + +name_transform_symbol_shift := +{ + if transform_symbol_field(face) == "none" or disabled + then 0 + else ( + map := face_coordinates_map(face) + 29 * (min(map.width, map.height)/375) + offset + ) +} + +name_card_symbol_shift := { + if card_symbol_field(face) == "none" or disabled + then 0 + else ( + map := face_coordinates_map(face) + 18 * (min(map.width, map.height)/375) + offset + ) +} + +name_max_width_1 := { card_style.name.width } +name_disabled_1 := { false } +name_offset_top_1 := { 0 } +name_offset_left_1 := { 0 } +name_offset_right_1 := { 0 } +name_offset_height_1 := { 0 } +name_transform_symbol_offset_left_1 := { 0 } +name_left_1 := { name_left(face:nameline_face_1(), offset:name_offset_left_1()) } +name_top_1 := { name_top(face:nameline_face_1(), offset:name_offset_top_1()) } +name_right_1 := { name_right(face:nameline_face_1(), offset:name_offset_right_1()) } +name_height_1 := { name_height(face:nameline_face_1(), offset:name_offset_height_1()) } +name_card_symbol_shift_1 := { name_card_symbol_shift(face:nameline_face_1(), offset:name_transform_symbol_offset_left_1(), disabled:card_symbol_disabled_1()) } +name_transform_symbol_shift_1 := { name_transform_symbol_shift(face:nameline_face_1(), offset:name_transform_symbol_offset_left_1() + nameline_offset_height_1(), disabled:transform_symbol_disabled_1()) } + +name_disabled_2 := { false } +name_offset_top_2 := { 0 } +name_offset_left_2 := { 0 } +name_offset_right_2 := { 0 } +name_offset_height_2 := { 0 } +name_transform_symbol_offset_left_2 := { 0 } +name_max_width_2 := { card_style.name_2.width } +name_left_2 := { name_left(face:nameline_face_2(), offset:name_offset_left_2()) } +name_top_2 := { name_top(face:nameline_face_2(), offset:name_offset_top_2()) } +name_right_2 := { name_right(face:nameline_face_2(), offset:name_offset_right_2()) } +name_height_2 := { name_height(face:nameline_face_2(), offset:name_offset_height_2()) } +name_card_symbol_shift_2 := { name_card_symbol_shift(face:nameline_face_2(), offset:name_transform_symbol_offset_left_2(), disabled:card_symbol_disabled_2()) } +name_transform_symbol_shift_2 := { name_transform_symbol_shift(face:nameline_face_2(), offset:name_transform_symbol_offset_left_2() + nameline_offset_height_2(), disabled:transform_symbol_disabled_2()) } + +name_disabled_3 := { false } +name_offset_top_3 := { 0 } +name_offset_left_3 := { 0 } +name_offset_right_3 := { 0 } +name_offset_height_3 := { 0 } +name_transform_symbol_offset_left_3 := { 0 } +name_max_width_3 := { card_style.name_3.width } +name_left_3 := { name_left(face:nameline_face_3(), offset:name_offset_left_3()) } +name_top_3 := { name_top(face:nameline_face_3(), offset:name_offset_top_3()) } +name_right_3 := { name_right(face:nameline_face_3(), offset:name_offset_right_3()) } +name_height_3 := { name_height(face:nameline_face_3(), offset:name_offset_height_3()) } +name_card_symbol_shift_3 := { name_card_symbol_shift(face:nameline_face_3(), offset:name_transform_symbol_offset_left_3(), disabled:card_symbol_disabled_3()) } +name_transform_symbol_shift_3 := { name_transform_symbol_shift(face:nameline_face_3(), offset:name_transform_symbol_offset_left_3() + nameline_offset_height_3(), disabled:transform_symbol_disabled_3()) } + +############################################################## Nameline offsets +nameline_face_1 := { 1 } +nameline_disabled_1 := { false } +nameline_offset_top_1 := { 0 } +nameline_offset_left_1 := { 0 } +nameline_offset_width_1 := { 0 } +nameline_offset_height_1 := { 0 } + +nameline_face_2 := { 2 } +nameline_disabled_2 := { false } +nameline_offset_top_2 := { 0 } +nameline_offset_left_2 := { 0 } +nameline_offset_width_2 := { 0 } +nameline_offset_height_2 := { 0 } + +nameline_face_3 := { 3 } +nameline_disabled_3 := { false } +nameline_offset_top_3 := { 0 } +nameline_offset_left_3 := { 0 } +nameline_offset_width_3 := { 0 } +nameline_offset_height_3 := { 0 } + +############################################################## Stamps +### The stamp to use if the user hasn't overwritten it for this card +card_stamp_default := { + shape := styling.default_stamp or else set.default_stamp + stamp_behavior := styling.stamp_behavior or else set.stamp_behavior + if stamp_behavior == "default" then stamp_behavior := set.stamp_behavior + rare_face := is_rare(field:field) + + stamp_behavior_checks[stamp_behavior](rare_face:rare_face, shape:shape) +}@(field:1) +### Map for easier checks than if/else or case +stamp_behavior_checks := [ + "All unstamped": {"none"}, + "All holostamped": {shape}, + "All flatstamped": {"flatstamped " + shape}, + "Standard, rares holostamped": { + if rare_face then shape else "none" + }, + "UB, rares holostamped, others flatstamped": { + if rare_face then shape else "flatstamped " + shape + } +] +### The image to use for custom stamp +custom_stamp := { + flat := not is_foil_stamped(field:field) + if set.custom_stamp_name != "" and has_png(set.custom_stamp_name) + then "/magic-mainframe-extras.mse-include/" + un_png(set.custom_stamp_name) + (if flat then " flat" else "") + ".png" + else "/magic-modules.mse-include/stamps/375x523 " + (if flat then "flatstamped " else "") + "heart.png" +}@(field:1) + +### The shape of the background stamp for templates +### This can be overwritten to give a template a special stamp for the heart stamp, for example +stamp_shape := { + case card_stamp_field(field) of + "universes beyond": "triangle", + "flatstamped universes beyond": "triangle", + "none": "none", + "custom": set.custom_stamp_shape, + "flatstamped custom": set.custom_stamp_shape, + else: "round"; +}@(field:1) + +### The card_stamp_X field for this face +card_stamp_field := { if input <= 1 then card.card_stamp else card["card_stamp_" + input] } +### Does this face have any stamp? +is_stamped := { card_stamp_field(field) != "none" }@(field: 1) +### Does this face have a foil stamp? +is_foil_stamped := { not contains(card_stamp_field(field), match:"flatstamped") }@(field:1) + +### Determine the image for the stamp +card_stamp_image := +{ + if not is_stamped(field: field) + then "" + else ( + map := face_coordinates_map(face) + if map.width == 0 or map.height == 0 + then "" + else ( + dimensions := map.width + "x" + map.height + dimensions := card_stamp_possible_dimensions[dimensions] or else (if map.width > map.height then "1039x744" else "744x1039") + shape := card_stamp_field(field) + if shape == "custom" or shape == "flatstamped custom" + then custom_stamp(field: field) + else "/magic-modules.mse-include/stamps/" + dimensions + " " + shape + ".png" + ) + ) +} +card_stamp_possible_dimensions := +[ + "375x523": "375x523" + "523x375": "523x375" + "744x1039": "744x1039" + "1039x744": "1039x744" +] +### Offsets for the stamps module +card_stamp_disabled_1 := { false } +card_stamp_offset_top_1 := { 0 } +card_stamp_offset_left_1 := { 0 } +card_stamp_offset_width_1 := { 0 } +card_stamp_offset_height_1 := { 0 } +card_stamp_disabled_2 := { false } +card_stamp_offset_top_2 := { 0 } +card_stamp_offset_left_2 := { 0 } +card_stamp_offset_width_2 := { 0 } +card_stamp_offset_height_2 := { 0 } +card_stamp_disabled_3 := { false } +card_stamp_offset_top_3 := { 0 } +card_stamp_offset_left_3 := { 0 } +card_stamp_offset_width_3 := { 0 } +card_stamp_offset_height_3 := { 0 } + +############################################################## Pinlines +#### Face 1 +pinline_disabled_1 := { false } +pinline_offset_left_1 := { 0 } +pinline_offset_top_1 := { 0 } +pinline_offset_width_1 := { 0 } +pinline_offset_height_1 := { 0 } +#### Face 2 +pinline_disabled_2 := { false } +pinline_offset_left_2 := { 0 } +pinline_offset_top_2 := { 0 } +pinline_offset_width_2 := { 0 } +pinline_offset_height_2 := { 0 } +#### Face 3 +pinline_disabled_3 := { false } +pinline_offset_left_3 := { 0 } +pinline_offset_top_3 := { 0 } +pinline_offset_width_3 := { 0 } +pinline_offset_height_3 := { 0 } +#### The primary image script. May apply a mask with set_mask to cut around art and other inner components +pinline_image_1 := {""} +pinline_image_2 := {""} +pinline_image_3 := {""} +#### The mask used within the image script +pinline_inner_mask_1 := {""} +pinline_inner_mask_2 := {""} +pinline_inner_mask_3 := {""} +#### The mask used on the actual field, allowing invisible parts to be clicked through +pinline_mask_1 := {""} +pinline_mask_2 := {""} +pinline_mask_3 := {""} + +############################################################## Custom corner symbols +custom_symbol_1 := { if set.custom_symbol_1 != "" then "/magic-modules.mse-include/symbols/" + set.custom_symbol_1 else "/magic-modules.mse-include/symbols/aetherprint.png" } +custom_symbol_2 := { if set.custom_symbol_2 != "" then "/magic-modules.mse-include/symbols/" + set.custom_symbol_2 else "/magic-modules.mse-include/symbols/aetherprint.png" } +custom_symbol_3 := { if set.custom_symbol_3 != "" then "/magic-modules.mse-include/symbols/" + set.custom_symbol_3 else "/magic-modules.mse-include/symbols/aetherprint.png" } +custom_symbol_4 := { if set.custom_symbol_4 != "" then "/magic-modules.mse-include/symbols/" + set.custom_symbol_4 else "/magic-modules.mse-include/symbols/aetherprint.png" } +############################################################## Custom fonts swap_font := {styling.apply_custom_fonts or else false} split_font := split_text@(match:";") pop_font_name := {split_font(input).0 or else ""} @@ -2218,7 +3834,7 @@ pop_font_size := {split_font(input).1 or else ""} pop_font_color := {split_font(input).2 or else ""} pop_font_vertical := {split_font(input).3 or else ""} pop_font_italic := {split_font(input).4 or else ""} -## General swap functions +#### General swap functions swap_font_name := { if swap_font() then ( test := pop_font_name(src) @@ -2267,7 +3883,7 @@ swap_font_italic := { font_name } -## defaults, can be changed in style +#### defaults, can be changed in style swap_fonts_name_default := [ name: {"Beleren Bold"}, size: {16}, @@ -2282,6 +3898,13 @@ swap_fonts_name2_default := [ vertical: {0}, italic: {""} ] +swap_fonts_name3_default := [ + name: {"Beleren Bold"}, + size: {16}, + color: {"black"}, + vertical: {0}, + italic: {""} +] swap_fonts_type_default := [ name: {"Beleren Bold"}, size: {13}, @@ -2296,6 +3919,13 @@ swap_fonts_type2_default := [ vertical: {0}, italic: {""} ] +swap_fonts_type3_default := [ + name: {"Beleren Bold"}, + size: {13}, + color: {"white"}, + vertical: {0}, + italic: {""} +] swap_fonts_body_default := [ name: {"MPlantin"}, size: {13}, @@ -2310,14 +3940,16 @@ swap_fonts_pt_default := [ vertical: {0}, italic: {""} ] -swap_fonts_name_src := {styling.custom_name_font or else ""} -swap_fonts_name_src := {styling.custom_name_font or else ""} -swap_fonts_name2_src := {styling.custom_name_2_font or else ""} -swap_fonts_type_src := {styling.custom_type_font or else ""} -swap_fonts_type2_src := {styling.custom_type_2_font or else ""} -swap_fonts_body_src := {styling.custom_body_font or else ""} -swap_fonts_pt_src := {styling.custom_pt_font or else ""} -## specific swap functions +swap_fonts_name_src := { styling.custom_name_font or else "" } +swap_fonts_name_src := { styling.custom_name_font or else "" } +swap_fonts_name2_src := { styling.custom_name_2_font or else "" } +swap_fonts_name3_src := { styling.custom_name_3_font or else "" } +swap_fonts_type_src := { styling.custom_type_font or else "" } +swap_fonts_type2_src := { styling.custom_type_2_font or else "" } +swap_fonts_type3_src := { styling.custom_type_3_font or else "" } +swap_fonts_body_src := { styling.custom_body_font or else "" } +swap_fonts_pt_src := { styling.custom_pt_font or else "" } +#### specific swap functions name_font := { swap_font_name( src: swap_fonts_name_src(), @@ -2380,6 +4012,37 @@ name2_font_italic := { ) } +name3_font := { + swap_font_name( + src: swap_fonts_name3_src(), + font_name: swap_fonts_name3_default.name() + ) +} +name3_font_size := { + swap_font_size( + src: swap_fonts_name3_src(), + font_size: swap_fonts_name3_default.size() + ) - shrink_name2() +} +name3_font_color := { + swap_font_color( + src: swap_fonts_name3_src(), + font_color: swap_fonts_name3_default.color() + ) +} +name3_font_vertical := { + swap_font_vertical( + src: swap_fonts_name3_src(), + vertical: swap_fonts_name3_default.vertical() + ) +} +name3_font_italic := { + swap_font_italic( + src: swap_fonts_name3_src(), + font_name: swap_fonts_name3_default.italic() + ) +} + type_font := { swap_font_name( src: swap_fonts_type_src(), @@ -2442,6 +4105,37 @@ type2_font_italic := { ) } +type3_font := { + swap_font_name( + src: swap_fonts_type3_src(), + font_name: swap_fonts_type3_default.name() + ) +} +type3_font_size := { + swap_font_size( + src: swap_fonts_type3_src(), + font_size: swap_fonts_type3_default.size() + ) - shrink_type2() +} +type3_font_color := { + swap_font_color( + src: swap_fonts_type3_src(), + font_color: swap_fonts_type3_default.color() + ) +} +type3_font_vertical := { + swap_font_vertical( + src: swap_fonts_type3_src(), + vertical: swap_fonts_type3_default.vertical() + ) +} +type3_font_italic := { + swap_font_italic( + src: swap_fonts_type3_src(), + font_name: swap_fonts_type3_default.italic() + ) +} + body_font := { swap_font_name( src: swap_fonts_body_src(), @@ -2473,6 +4167,68 @@ body_font_italic := { ) } +body2_font := { + swap_font_name( + src: swap_fonts_body_src(), + font_name: swap_fonts_body_default.name() + ) +} +body2_font_size := { + swap_font_size( + src: swap_fonts_body_src(), + font_size: swap_fonts_body_default.size() + ) +} +body2_font_color := { + swap_font_color( + src: swap_fonts_body_src(), + font_color: swap_fonts_body_default.color() + ) +} +body2_font_vertical := { + swap_font_vertical( + src: swap_fonts_body_src(), + vertical: swap_fonts_body_default.vertical() + ) +} +body2_font_italic := { + swap_font_italic( + src: swap_fonts_body_src(), + font_name: swap_fonts_body_default.italic() + ) +} + +body3_font := { + swap_font_name( + src: swap_fonts_body_src(), + font_name: swap_fonts_body_default.name() + ) +} +body3_font_size := { + swap_font_size( + src: swap_fonts_body_src(), + font_size: swap_fonts_body_default.size() + ) +} +body3_font_color := { + swap_font_color( + src: swap_fonts_body_src(), + font_color: swap_fonts_body_default.color() + ) +} +body3_font_vertical := { + swap_font_vertical( + src: swap_fonts_body_src(), + vertical: swap_fonts_body_default.vertical() + ) +} +body3_font_italic := { + swap_font_italic( + src: swap_fonts_body_src(), + font_name: swap_fonts_body_default.italic() + ) +} + pt_font := { swap_font_name( src: swap_fonts_pt_src(), @@ -2503,13 +4259,78 @@ pt_font_italic := { font_name: swap_fonts_pt_default.italic() ) } -shrink_name := {0} -shrink_type := {0} + +pt2_font := { + swap_font_name( + src: swap_fonts_pt_src(), + font_name: swap_fonts_pt_default.name() + ) +} +pt2_font_size := { + swap_font_size( + src: swap_fonts_pt_src(), + font_size: swap_fonts_pt_default.size() + ) +} +pt2_font_color := { + swap_font_color( + src: swap_fonts_pt_src(), + font_color: swap_fonts_pt_default.color() + ) +} +pt2_font_vertical := { + swap_font_vertical( + src: swap_fonts_pt_src(), + vertical: swap_fonts_pt_default.vertical() + ) +} +pt2_font_italic := { + swap_font_italic( + src: swap_fonts_pt_src(), + font_name: swap_fonts_pt_default.italic() + ) +} + +pt3_font := { + swap_font_name( + src: swap_fonts_pt_src(), + font_name: swap_fonts_pt_default.name() + ) +} +pt3_font_size := { + swap_font_size( + src: swap_fonts_pt_src(), + font_size: swap_fonts_pt_default.size() + ) +} +pt3_font_color := { + swap_font_color( + src: swap_fonts_pt_src(), + font_color: swap_fonts_pt_default.color() + ) +} +pt3_font_vertical := { + swap_font_vertical( + src: swap_fonts_pt_src(), + vertical: swap_fonts_pt_default.vertical() + ) +} +pt3_font_italic := { + swap_font_italic( + src: swap_fonts_pt_src(), + font_name: swap_fonts_pt_default.italic() + ) +} + +shrink_name := {0} +shrink_type := {0} shrink_name2 := {0} shrink_type2 := {0} -#### Customize rarity symbol -alt_rarity := {styling.alt_rarity_color or else ""} -use_alt_rarity := {alt_rarity() != ""} +############################################################## Custom rarity symbol +use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png") } +mainframe_rarity := {"/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + input + ".png"} +alt_rarity := { styling.alt_rarity_color or else "" } +use_alt_rarity := { alt_rarity() != "" } alt_rarity_color := { string := "83,67,53:177,150,131:0,0,0:0,0,0:0.07:" src := alt_rarity() @@ -2548,66 +4369,285 @@ alt_symbol := { center_x:0.5, center_y:0.5, end_x:1, end_y:1 ) } - - - -# rough type_of script -# fine for nil, boolean, color, date, string, number, and array -# map and image are trickier -# if you don't care about the difference use as normal, will return "map or image" -# if you do, include key:"" parameter that's a key of the potential map -# ex if you want to know if some_object is an image or [x:1] -# use type_of(some_object, key:"x") -type_of := { - test := to_string(input) or else nil - type := "idk" - if test == "" and input == nil then type := "nil" - else if test != nil and (input == true or input == false) then type := "boolean" - else if (test != nil and test + 0 == input + 0) then ( - if to_color(test) or else nil == input - then type := "color" - else if to_date(test) or else nil == input - then type := "date" - else type := "string" - ) - else if test != nil then type := "number" - else if input[0] or else nil != nil then type := "array" - else if key == "" then type := "map or image" - else if input[key] or else nil == nil then type := "image" - else type := "map" - type -}@(key:"") - -is_string := { - test := to_string(input) or else nil - if test == "" and input == nil then false - else if test == nil then false - else test == input +############################################################## Card column sorting +type_sort_script := +{ + if set.alphabetical_type_column then super_type + " " + sub_type else + #### first sort by 5 broad categories + ( + if is_tokenish_statistics(card.shape) then "4" + else if lang_setting("is_nonstandard")(super_type) then "3" + else if lang_setting("is_land")(super_type) then "0" + else if lang_setting("is_spell")(super_type) then "2" + else "1" #### nonland permanents + ) + + + #### then check if creature + (if lang_setting("is_creature")(super_type) then "0" else "1") + + + #### then sort by type, no need to re-check for land or creature + (if lang_setting("is_sorcery")(super_type) then "1" else "0") + + (if lang_setting("is_instant")(super_type) then "1" else "0") + + (if lang_setting("is_planeswalker")(super_type) then "1" else "0") + + (if lang_setting("is_battle")(super_type) then "1" else "0") + + (if lang_setting("is_enchantment")(super_type) then "1" else "0") + + (if lang_setting("is_artifact")(super_type) then "1" else "0") + + + (if contains(card.shape, match: "rulestip") then "1" else "0") + + (if contains(card.shape, match: "checklist") then "1" else "0") + + (if lang_setting("is_token")(super_type) + or contains(card.shape, match: "token") then "1" else "0") + + (if lang_setting("is_emblem")(super_type) + or contains(card.shape, match: "emblem") then "1" else "0") + + (if contains(card.shape, match: "counter") then "1" else "0") + + (if contains(card.shape, match: "designation") then "1" else "0") + + (if lang_setting("is_conspiracy")(super_type) then "1" else "0") + + (if lang_setting("is_dungeon")(super_type) then "1" else "0") + + (if lang_setting("is_phenomenon")(super_type) then "1" else "0") + + (if lang_setting("is_plane")(super_type) then "1" else "0") + + (if lang_setting("is_scheme")(super_type) then "1" else "0") + + (if lang_setting("is_vanguard")(super_type) then "1" else "0") + + (if lang_setting("is_hero")(super_type) then "1" else "0") + + + #### then sort by super type + (if lang_setting("is_ongoing")(super_type) then "1" else "0") + + (if lang_setting("is_basic")(super_type) then "1" else "0") + + (if lang_setting("is_legendary")(super_type) then "1" else "0") + + (if lang_setting("is_world")(super_type) then "1" else "0") + + (if lang_setting("is_snow")(super_type) then "1" else "0") + + (if lang_setting("is_kindred")(super_type) then "1" else "0") + + + #### then sort by sub type + to_text(sub_type) } -# mapping := ["up":"test/up.png" "down":"test/down.png" "left":"test/left.png" "right":"test/right.png"] -multi_choice_image := { - ## input = option string - ##img_map = map of image links - coll := split_text(input, match:", ?") - imgs := for each x in coll do if img_map[x] or else false != false then [img_map[x]] - len := length(imgs) - if len == 0 then - "" - else if len == 1 then - imgs[0] - else if len == 2 then - combine_blend(image1:imgs[0] image2:imgs[1], combine:combine) - else mass_combine(imgs:imgs, combine:combine) - -}@(combine:"and") -mass_combine := { - base := combine_blend(image1:imgs[0] image2:imgs[1], combine:combine) - for x from 2 to length(imgs)-1 do ( - base := combine_blend(image1:base image2:imgs[x] combine:combine) - "" # this is junk output so it doesn't try to add the images as strings - ) - base -}@(combine:"and") +color_sort_script := +{ + if chosen(input, choice:"land") then "0" + prefixed_color_identity_statistic() + input + else "1" + prefixed_color_statistic() + input +} -zwsp := "​" +rarity_sort_script := +{ + if input == "basic land" then "0" + else if input == "common" then "1" + else if input == "uncommon" then "2" + else if input == "rare" then "3" + else if input == "mythic rare" then "4" + else if input == "masterpiece" then "5" + else "6" +} +############################################################## Custom index +search_pull := filter_text@(match:"search(name|mana|type|rules|flavor|text|notes)") +search_snip := replace@(match:"search(name|mana|type|rules|flavor|text|notes)_", replace:"") + +custom_index := { + sorting_index := split_text(set.custom_index, match:",") + for each field in sorting_index do + apply_index(to_lower(field)) + or else ( + search_index(to_lower(search_pull(field)), query:search_snip(field)) + ) + or else "" +} +apply_index := { + [ + name: { + fill_len(to_string(position ( + of: card + in: set + order_by: { sort_name(card.name) + sort_name(export_name())} + filter: set_filter() + )), lead:"0", fill_to:3) + }, + alias: { + fill_len(to_string(position ( + of: card + in: set + order_by: { sort_name(card.alias) + sort_name(export_name())} + filter: set_filter() + )), lead:"0", fill_to:3) + } + name2: { + fill_len(to_string(position ( + of: card + in: set + order_by: { sort_name(card.name_2) + sort_name(export_name())} + filter: set_filter() + )), lead:"0", fill_to:3) + }, + alias2: { + fill_len(to_string(position ( + of: card + in: set + order_by: { sort_name(card.alias_2) + sort_name(export_name())} + filter: set_filter() + )), lead:"0", fill_to:3) + } + color: {fill_len(color_of_card(), lead:"A")}, + "color category": { + indexes := [[lang_setting("colorless")], [lang_setting("white")], [lang_setting("blue")], [lang_setting("black")], [lang_setting("red")], [lang_setting("green")], [lang_setting("purple")], [lang_setting("pink")], [lang_setting("yellow")], [lang_setting("orange")], [lang_setting("brown")], [lang_setting("multicolor")], [lang_setting("hybrid")]] + fill_len(position(of:[card.color_category], in:indexes, lead:"0", fill_to:2)) + }, + "exact color": { + fill_len(card.exact_color, lead:"X", fill_to:5) + }, + "color identity": { + fill_len(card.color_identity, lead:"X", fill_to:5) + }, + "color count": {card.color_count}, + "time created": {card.time_created}, + "created": {card.time_created}, + "time modified": {card.time_modified}, + "modified": {card.time_modified}, + "template": {fill_len(substring(card.template, begin:0, end:9), follow:" ", fill_to:10)}, + artist: {fill_len(substring(card.illustrator, end:7), follow:" ", fill_to:7)}, + artist2: {fill_len(substring(card.illustrator_2, end:7), follow:" ", fill_to:7)}, + design: {fill_len(substring(card.card_code_text, end:7), follow:" ", fill_to:7)}, + mv: {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, + "mana value": {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, + cmc: {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, + "converted mana cost": {fill_len(to_string(cmc(card.casting_cost)), lead:"0")}, + rarity: {index_of_rarity()}, + power: {fill_len(card.power, lead:"0")}, + toughness: {fill_len(card.toughness, lead:"0")}, + pt: {fill_len(card.power, lead:"0") + fill_len(card.toughness, lead:"0")}, + loyalty: {fill_len(card.loyalty, lead:"0")}, + type: {fill_len(filter_text(match:"[A-Z][A-Z]?[A-Z]?", filter_text(match:"[A-Z]", card.super_type)), follow:"0", fill_to:3)}, + hasrules: {if remove_tags(card.rule_text) != "" then "A" else "B"}, + hasflavor: {if remove_tags(card.flavor_text) != "" then "A" else "B"}, + hasrules2: {if remove_tags(card.rule_text_2) != "" then "A" else "B"}, + hasflavor2: {if remove_tags(card.flavor_text_2) != "" then "A" else "B"}, + ][input]() +} +search_index := { + [ + searchname: { if contains(card.name, match:query) or contains(card.name_2, match:query) then "A" else "B"}, + searchmana: { if contains(card.casting_cost, match:query) or contains(card.casting_cost_2, match:query) then "A" else "B"}, + searchtype: { if contains(card.type, match:query) or contains(card.type_2, match:query) then "A" else "B"}, + searchrules: { if contains(card.rule_text, match:query) or contains(card.rule_text_2, match:query) then "A" else "B"}, + searchflavor: { if contains(card.flavor_text, match:query) or contains(card.flavor_text_2, match:query) then "A" else "B"}, + searchartist: { if contains(card.illustrator, match:query) or contains(card.illustrator_2, match:query) then "A" else "B"}, + searchdesign: { if contains(card.card_code_text, match:query) then "A" else "B"}, + searchtext: { if contains(card.text, match:query) or contains(card.text_2, match:query) then "A" else "B"}, + searchnotes: { if contains(card.notes, match:query) then "A" else "B"}, + unsearchname: { if contains(card.name, match:query) or contains(card.name_2, match:query) then "B" else "A"}, + unsearchmana: { if contains(card.casting_cost, match:query) or contains(card.casting_cost_2, match:query) then "B" else "A"}, + unsearchtype: { if contains(card.type, match:query) or contains(card.type_2, match:query) then "B" else "A"}, + unsearchrules: { if contains(card.rule_text, match:query) or contains(card.rule_text_2, match:query) then "B" else "A"}, + unsearchflavor: { if contains(card.flavor_text, match:query) or contains(card.flavor_text_2, match:query) then "B" else "A"}, + unsearchartist: { if contains(card.illustrator, match:query) or contains(card.illustrator_2, match:query) then "B" else "A"}, + unsearchdesign: { if contains(card.card_code_text, match:query) then "B" else "A"}, + unsearchtext: { if contains(card.text, match:query) or contains(card.text_2, match:query) then "B" else "A"}, + unsearchnotes: { if contains(card.notes, match:query) then "B" else "A"} + ][input]() +} +index_of_rarity := { + if card.rarity == "basic land" then "A" + else if card.rarity == "common" then "C" + else if card.rarity == "uncommon" then "D" + else if card.rarity == "rare" then "E" + else if card.rarity == "mythic rare" then "F" + else if card.rarity == "special" then "G" + else "J" +} +############################################################## Skeleton generator +skeleton_commons := 19 +skeleton_uncommons := 11 +skeleton_rares := 7 +skeleton_mythics := 2 +skeleton_land_commons := 1 +skeleton_land_uncommons := 5 +skeleton_land_rares := 0 +skeleton_gold_commons := 0 +skeleton_gold_uncommons := 1 +skeleton_gold_rares := 1 +skeleton_shard_commons := 0 +skeleton_shard_uncommons := 0 +skeleton_shard_rares := 0 +skeleton_wedge_commons := 0 +skeleton_wedge_uncommons := 0 +skeleton_wedge_rares := 0 +skeleton_artifact_commons := 5 +skeleton_artifact_uncommons := 5 +skeleton_artifact_rares := 0 +skeleton_blank_commons := 0 +skeleton_blank_uncommons := 5 +skeleton_blank_rares := 8 +skeleton_blank_mythics := 5 +#### generates a set of CCXX Skeleton cards for each color +#### by insertnamehere and cajun +skeleton_runner := { + cards := [] + for x from 0 to length(letter_list)-1 do + ( + for y from 1 to count do + if mana_list == "nope" then + (cards := cards + [new_card([name:prefix+letter_list[x]+fill_len(y, lead:"0"), rarity:rarity, card_color:color_list[x], super_type:super_type])];) + else + (cards := cards + [new_card([name:prefix+letter_list[x]+fill_len(y, lead:"0"), rarity:rarity, super_type:super_type, casting_cost:mana_list[x]])];) + ) + cards +}@(count:1, rarity:"common", type:"", prefix:"C", super_type:"", color_list:["white", "blue", "black", "red", "green"], letter_list:["W", "U", "B", "R", "G"], mana_list:"nope") +#### outside to make singleton scripts easier +blank_list_5 := ["","","","",""] +blank_list_10 := ["","","","","","","","","",""] +mana_list_ally := ["WU","UB","BR","RG","GW"] +mana_list_enemy := ["WB","UR","BG","RW","GU"] +mana_list_shard := ["WUB","UBR","BRG","RGW","GWU"] +mana_list_wedge := ["WBG","URW","BGU","RWB","GUR"] +skeleton_script := { + cards := []; + cards := cards + skeleton_runner(count:skeleton_commons); + cards := cards + skeleton_runner(count:skeleton_uncommons, prefix:"U", rarity:"uncommon"); + cards := cards + skeleton_runner(count:skeleton_rares, prefix:"R", rarity:"rare"); + cards := cards + skeleton_runner(count:skeleton_mythics, prefix:"M", rarity:"mythic rare"); + cards := cards + skeleton_runner(count:skeleton_gold_commons, prefix:"CM", rarity:"common", letter_list:blank_list_10, mana_list:mana_list_ally+mana_list_enemy); + cards := cards + skeleton_runner(count:skeleton_gold_uncommons, prefix:"UM", rarity:"uncommon", letter_list:blank_list_10, mana_list:mana_list_ally+mana_list_enemy); + cards := cards + skeleton_runner(count:skeleton_gold_rares, prefix:"RM", rarity:"rare", letter_list:blank_list_10, mana_list:mana_list_ally+mana_list_enemy); + cards := cards + skeleton_runner(count:skeleton_shard_commons, prefix:"CM", rarity:"common", letter_list:blank_list_5, mana_list:mana_list_shard); + cards := cards + skeleton_runner(count:skeleton_shard_uncommons, prefix:"UM", rarity:"uncommon", letter_list:blank_list_5, mana_list:mana_list_shard); + cards := cards + skeleton_runner(count:skeleton_shard_rares, prefix:"RM", rarity:"rare", letter_list:blank_list_5, mana_list:mana_list_shard); + cards := cards + skeleton_runner(count:skeleton_wedge_commons, prefix:"CM", rarity:"common", letter_list:blank_list_5, mana_list:mana_list_wedge); + cards := cards + skeleton_runner(count:skeleton_wedge_uncommons, prefix:"UM", rarity:"uncommon", letter_list:blank_list_5, mana_list:mana_list_wedge); + cards := cards + skeleton_runner(count:skeleton_wedge_rares, prefix:"RM", rarity:"rare", letter_list:blank_list_5, mana_list:mana_list_wedge); + for i from 1 to skeleton_artifact_commons do cards := cards + [new_card([name:"CA"+fill_len(i, lead:"0"), rarity:"common", super_type:"Artifact"])]; + for i from 1 to skeleton_artifact_uncommons do cards := cards + [new_card([name:"UA"+fill_len(i, lead:"0"), rarity:"uncommon", super_type:"Artifact"])]; + for i from 1 to skeleton_artifact_rares do cards := cards + [new_card([name:"RA"+fill_len(i, lead:"0"), rarity:"rare", super_type:"Artifact"])]; + for i from 1 to skeleton_land_commons do cards := cards + [new_card([name:"CL"+fill_len(i, lead:"0"), super_type:"Land", rarity:"common"])]; + for i from 1 to skeleton_land_uncommons do cards := cards + [new_card([name:"UL"+fill_len(i, lead:"0"), super_type:"Land", rarity:"uncommon"])]; + for i from 1 to skeleton_land_rares do cards := cards + [new_card([name:"RL"+fill_len(i, lead:"0"), super_type:"Land", rarity:"rare"])]; + for i from 1 to skeleton_blank_commons do cards := cards + [new_card([name:"CX"+fill_len(i, lead:"0"), rarity:"common"])]; + for i from 1 to skeleton_blank_uncommons do cards := cards + [new_card([name:"UX"+fill_len(i, lead:"0"), rarity:"uncommon"])]; + for i from 1 to skeleton_blank_rares do cards := cards + [new_card([name:"RX"+fill_len(i, lead:"0"), rarity:"rare"])]; + for i from 1 to skeleton_blank_mythics do cards := cards + [new_card([name:"MX"+fill_len(i, lead:"0"), rarity:"mythic rare"])]; + cards +} +skeleton_info := { + trace("Set Skeleton Generator Help:" + +"\nSet variables here to modify the Skeleton Add Cards script, for example 'skeleton_commons := 10'" + +"\nCurrent variables:\n" + +"skeleton_commons: " + skeleton_commons + " (of each color)\n" + +"skeleton_uncommons: " + skeleton_uncommons + " (of each color)\n" + +"skeleton_rares: " + skeleton_rares + " (of each color)\n" + +"skeleton_mythics: " + skeleton_mythics + " (of each color)\n" + +"skeleton_gold_commons: " + skeleton_gold_commons + " (of each color pair)\n" + +"skeleton_gold_uncommons: " + skeleton_gold_uncommons + " (of each color pair)\n" + +"skeleton_gold_rares: " + skeleton_gold_rares + " (of each color pair)\n" + +"skeleton_artifact_commons: " + skeleton_artifact_commons + "\n" + +"skeleton_artifact_uncommons: " + skeleton_artifact_uncommons + "\n" + +"skeleton_artifact_rares: " + skeleton_artifact_rares + "\n" + +"skeleton_land_commons: " + skeleton_land_commons + "\n" + +"skeleton_land_uncommons: " + skeleton_land_uncommons + "\n" + +"skeleton_land_rares: " + skeleton_land_rares + "\n" + +"skeleton_blank_commons: " + skeleton_blank_commons + "\n" + +"skeleton_blank_uncommons: " + skeleton_blank_uncommons + "\n" + +"skeleton_blank_rares: " + skeleton_blank_rares + "\n" + +"skeleton_blank_mythics: " + skeleton_blank_mythics + "\n" + +"skeleton_shard_commons: " + skeleton_shard_commons + "\n" + +"skeleton_shard_uncommons: " + skeleton_shard_uncommons + "\n" + +"skeleton_shard_rares: " + skeleton_shard_rares + "\n" + +"skeleton_wedge_commons: " + skeleton_wedge_commons + "\n" + +"skeleton_wedge_uncommons: " + skeleton_wedge_uncommons + "\n" + +"skeleton_wedge_rares: " + skeleton_wedge_rares) +} diff --git a/data/magic.mse-game/set_fields b/data/magic.mse-game/set_fields index 70a0e8ce0..ba7d1e301 100644 --- a/data/magic.mse-game/set_fields +++ b/data/magic.mse-game/set_fields @@ -18,6 +18,10 @@ set field: set field: type: text name: copyright +set field: + type: text + name: secondary copyright + description: Typically for Universes Beyond sets. set field: type: text name: set code @@ -29,179 +33,23 @@ set field: set field: type: text name: masterpiece set code - description: The letter code for masterpieces, typically MSP + description: The letter code for Masterpiece rarity cards. set field: type: symbol name: symbol - description: The symbol for this set, double click to edit + description: The symbol for this set, double click to edit. set field: type: symbol name: masterpiece symbol - description: The symbol for this sets masterpieces, click to edit -set field: - type: boolean - name: shorten types for rarity - description: Makes the typeline not run into the rarity symbol. Disable if you don't use rarity symbols. + description: The symbol for this sets Masterpiece rarity cards, click to edit. + set field: type: info - name: Watermark links -set field: - type: text - name: custom watermark 1 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 1 -set field: - type: text - name: custom watermark 2 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 2 -set field: - type: text - name: custom watermark 3 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 3 -set field: - type: text - name: custom watermark 4 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 4 -set field: - type: text - name: custom watermark 5 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 5 -set field: - type: text - name: custom watermark 6 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 6 -set field: - type: text - name: custom watermark 7 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 7 -set field: - type: text - name: custom watermark 8 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 8 -set field: - type: text - name: custom watermark 9 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 9 -set field: - type: text - name: custom watermark 10 - description: Set this image in magic-watermarks.mse-include as Custom Watermark 10 -set field: - type: boolean - name: blend with colors - initial: no - description: Only works for 500x500 px watermarks. For best results, use a solid black watermark. Blend watermarks with card colors instead of a solid color. -set field: - type: info - name: Defaults and Automation -set field: - type: text - name: inserts - description: List of strings, separated by ;, that replaces INS1, INS2, ... INS9. May need to reload MSE for changes to take effect. -set field: - type: color - name: border color - description: The default border color for cards - choice: - name: black - color: rgb(0,0,0) - choice: - name: white - color: rgb(255,255,255) - choice: - name: silver - color: rgb(200,200,200) - choice: - name: gold - color: rgb(200,180,0) -set field: - type: multiple choice - name: automatic reminder text - choice: old - choice: core - choice: expert - choice: pseudo - choice: action - choice: custom - choice: lower case - initial: old, expert, pseudo, action, custom, lower case - # Convert from older mse versions - script: - if value == "yes" then "old, core, expert, custom, lower case" - else if value == "no" then "" - else value - description: For which kinds of keywords should reminder text be added by default? Note: you can enable/disable reminder text by right clicking the keyword. -set field: - type: boolean - name: automatic card numbers - description: Should card numbers be shown on the cards? -set field: - type: choice - name: card number style - description: What style of automatic card numbers should be used? - choice: 0001 - choice: 001/099 - choice: 001 - choice: 1/99 - choice: 1 - choice: 0001/0099 -set field: - type: text - name: last main partition - description: Card Number Partitions after this one aren't counted as the main part of the set, ex "301" or "301/300" rather than "301/900". Default is M. -set field: - type: choice - name: over partition display - description: How to display card numbers larger than the main set? - choice: 100 - choice: 100/099 -set field: - type: text - name: card number offsets - description: Add this number to the card numbers. Formatted as "start,total" -set field: - type: boolean - name: automatic copyright - description: Should the copyright line above be shown on the cards? -set field: - type: boolean - name: rarity codes - description: Show rarity codes on M15 frames? -set field: - type: boolean - name: curly quotes - description: converts quotes to curly quotes. -set field: - type: choice - name: sort special rarity - description: Determines how cards with special rarity are sorted. - choice: with the rest - choice: after other cards - choice: separate numbering - initial: after other cards -set field: - type: boolean - name: sort multicolor in pairs - description: Should multicolor cards be sorted according to pairs like in Shards block? - initial: no -set field: - type: boolean - name: sort hybrid in pairs - description: Should hybrid cards be sorted according to pairs like in Shadowmoor block? - initial: no -set field: - type: choice - name: mana cost sorting - description: Should mana costs be sorted by Tarkir standard (WBG), Apocalypse standard (BGW), or left unsorted? - choice: tarkir wedge sorting - choice: apocalypse wedge sorting - choice: unsorted - #typo that stood for way too long - script: - if value == "apocalype wedge sorting" then "apocalypse wedge sorting" else value + name: Language set field: type: choice name: card language - description: Language for the cards + description: Language for the cards. choice: English choice: English (British) choice: English (Canadian) @@ -231,13 +79,83 @@ set field: initial: no set field: type: boolean - name: remove card codes - description: Remove card codes from all card names. - initial: no + name: curly quotes + description: converts quotes to curly quotes. +set field: + type: boolean + name: alphabetical type column + description: Sorts the type column alphabetically including supertypes. Disable to sort by card type. + + +set field: + type: info + name: Defaults and Automation +set field: + type: multiple choice + name: automatic reminder text + choice: old + choice: core + choice: expert + choice: pseudo + choice: action + choice: custom + choice: lower case + initial: old, expert, pseudo, action, custom, lower case + # Convert from older mse versions + script: + if value == "yes" then "old, core, expert, custom, lower case" + else if value == "no" then "" + else value + description: For which kinds of keywords should reminder text be added by default? Note: you can enable/disable reminder text by right clicking the keyword. +set field: + type: choice + name: mana cost sorting + description: Should mana costs be sorted by Tarkir standard (WBG), Apocalypse standard (BGW), or left unsorted? + choice: tarkir wedge sorting + choice: apocalypse wedge sorting + choice: unsorted + #typo that stood for way too long + script: + if value == "apocalype wedge sorting" then "apocalypse wedge sorting" else value +set field: + type: color + name: border color + description: The default border color for cards + choice: + name: black + color: rgb(0,0,0) + choice: + name: white + color: rgb(255,255,255) + choice: + name: silver + color: rgb(200,200,200) + choice: + name: gold + color: rgb(200,180,0) +set field: + type: choice + name: corner shape + description: The default shape of corners for cards. Not universally supported yet. + include file: /magic-modules.mse-include/corners/choices +set field: + type: color + name: copyright text color + description: The default color for set code, artist credit and copyright. Not universally supported yet. + choice: + name: white + color: rgb(255,255,255) + choice: + name: black + color: rgb(0,0,0) +set field: + type: text + name: inserts + description: List of strings, separated by ;, that replaces INS1, INS2, ... INS9. May need to reload MSE for changes to take effect. set field: type: boolean name: alias as cardname - description: Replaces CARDNAME with a card's alias instead of card name. + description: Replaces CARDNAME with a card's alias instead of its main name. set field: type: choice name: use gradient multicolor @@ -246,11 +164,194 @@ set field: choice: no description: Use gradients on multicolor cards by default, you can always change it be clicking on the card border. initial: only for two color cards +set field: + type: choice + name: use blended watermarks + choice: blend with colors + choice: shadow + choice: glow + choice: no + description: Blend the default watermarks with the card color, with a dropshadow, or unblended. set field: type: boolean - name: wedge mana costs - description: Depreciated. Should three color mana costs sort in wedge order like in Khans block? + name: shorten types for rarity + description: Makes the typeline not run into the rarity symbol. Disable if you don't use rarity symbols. +set field: + type: boolean + name: inverted common symbol + description: Should the common rarity symbol be inverted, like in Coldsnap? initial: no +set field: + type: boolean + name: rarity codes + description: Show rarity codes on M15 frames? +set field: + type: boolean + name: automatic copyright + description: Should the copyright line above be shown on the cards? +set field: + type: boolean + name: adaptive language height + description: Should the language code be pushed down when the card has multiple credit lines? + initial: no +set field: + type: boolean + name: remove card codes + description: Remove card codes from all card names. THIS CANNOT BE UNDONE, if you save it is permanent. + initial: no + + +set field: + type: info + name: Card Numbering +set field: + type: boolean + name: automatic card numbers + description: Should card numbers be shown on the cards? +set field: + type: choice + name: card number style + description: What style of automatic card numbers should be used? Not universally supported yet. + choice: 0001 + choice: 001/099 + choice: 001 + choice: 1/99 + choice: 1 + choice: 0001/0099 +set field: + type: text + name: last main partition + description: Card Number Partitions after this one aren't counted as the main part of the set, ex "301" or "301/300" rather than "301/900". Default is M. +set field: + type: choice + name: over partition display + description: How to display card numbers larger than the main set? + choice: 100 + choice: 100/099 +set field: + type: text + name: card number offsets + description: Add this number to the card numbers. Formatted as "start,total" +set field: + type: choice + name: sort special rarity + description: Determines how cards with special rarity are sorted. + choice: with the rest + choice: after other cards + choice: separate numbering + initial: after other cards +set field: + type: boolean + name: sort multicolor in pairs + description: Should multicolor cards be sorted according to pairs like in Shards block? + initial: no +set field: + type: boolean + name: sort hybrid in pairs + description: Should hybrid cards be sorted according to pairs like in Shadowmoor block? + initial: no + +set field: + type: info + name: Card stamps. Not universally supported yet. +set field: + type: choice + name: default stamp + include file: /magic-modules.mse-include/stamps/set_choices + description: The default stamp setup to use on supported frames. +set field: + type: choice + name: stamp behavior + include file: /magic-modules.mse-include/stamps/behavior_choices + initial: Standard, rares holostamped + description: How should stamps behave across rarities? +set field: + type: text + name: custom stamp name + description: Set this image in magic-mainframe-extras.mse-include as Custom Stamp, such as "examples/stamp/heart.png". For flat stamps, name the image like "heart flat.png" +set field: + type: choice + name: custom stamp shape + description: What backing shape should be used for the Custom Stamp? + choice: round + choice: triangle + + +set field: + type: info + name: Watermark links +set field: + type: text + name: custom watermark 1 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 1. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 2 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 2. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 3 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 3. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 4 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 4. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 5 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 5. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 6 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 6. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 7 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 7. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 8 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 8. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 9 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 9. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: text + name: custom watermark 10 + description: Set this image in magic-watermarks.mse-include as Custom Watermark 10. If smaller than 500x500, add ";length;height;" to the end, ex ".png;400;400;" +set field: + type: choice + name: blend with colors + choice: yes + choice: no + choice: shadow + choice: glow + initial: no + description: For 500x500 px watermarks or smaller. Blend watermarks with card colors instead of a solid color. For best results, use a solid black watermark. + + +set field: + type: info + name: Symbol links +set field: + type: text + name: custom symbol 1 + description: Set this image in magic-symbols.mse-include as Custom Symbol 1 +set field: + type: text + name: custom symbol 2 + description: Set this image in magic-symbols.mse-include as Custom Symbol 2 +set field: + type: text + name: custom symbol 3 + description: Set this image in magic-symbols.mse-include as Custom Symbol 3 +set field: + type: text + name: custom symbol 4 + description: Set this image in magic-symbols.mse-include as Custom Symbol 4 + + set field: type: info name: Statistics @@ -298,6 +399,8 @@ set field: type: text name: global_variable_average_opening_hand script: global_variable_average_opening_hand_statistic() + + set field: type: info name: Mainframe Template Options @@ -309,21 +412,6 @@ set field: type: boolean name: use flavor bar description: Enables the flavor bar on Mainframe templates. -set field: - type: choice - name: default stamp - choice: standard - choice: none - choice: acorn - choice: universes beyond - choice: alchemy - choice: alchemy old - choice: custom - description: The default stamp setup to use. Only works on new cards, not supported on all frames. -set field: - type: text - name: custom stamp name - description: The filename of the custom stamp image in magic-mainframe-extras set field: type: boolean name: auto legends @@ -439,7 +527,7 @@ default set style: name: watermark border radius: 0.10 fill type: solid - fill color: rgb(255,255,255) + fill color: rgb(0,0,0) border color: rgba(0,0,0,0) masterpiece symbol: max aspect ratio: 2.5 @@ -487,6 +575,13 @@ default set style: fill type: solid fill color: rgb(255,255,255) border color: rgba(0,0,0,0) + corner shape: + render style: both + choice images: + rounded and antialiased: /magic.mse-game/corners/rounded_antialiased.png + rounded: /magic.mse-game/corners/rounded.png + diagonal: /magic.mse-game/corners/diagonal.png + none: /magic.mse-game/corners/none.png automatic reminder text: render style: checklist direction: vertical @@ -526,9 +621,20 @@ default set style: default stamp: render style: both choice images: - standard: /magic.mse-game/stamps/foil.png - acorn: /magic.mse-game/stamps/acorn.png - universes beyond: /magic.mse-game/stamps/ub.png - alchemy: /magic.mse-game/stamps/alchemy.png - alchemy old: /magic.mse-game/stamps/alchemy_old.png - custom: {if contains(set.custom_stamp_name, match:".png") then "/magic-mainframe-extras.mse-include/"+set.custom_stamp_name else ""} + standard: /magic.mse-game/stamps/oval.png + none: /magic.mse-game/stamps/none.png + acorn: /magic.mse-game/stamps/acorn.png + heart: /magic.mse-game/stamps/heart.png + universes beyond: /magic.mse-game/stamps/ub.png + alchemy: /magic.mse-game/stamps/alchemy.png + alchemy old: /magic.mse-game/stamps/alchemy_old.png + custom: /magic.mse-game/stamps/heart.png + stamp behavior: + render style: both + choice images: + All holostamped: /magic.mse-game/stamps/oval.png + Standard, rares holostamped: /magic.mse-game/stamps/nonfoil.png + UB, rares holostamped, others flatstamped: /magic.mse-game/stamps/onlyrare.png + All flatstamped: /magic.mse-game/stamps/flat_oval.png + All unstamped: /magic.mse-game/stamps/none.png + diff --git a/data/magic.mse-game/stamps/alchemy.png b/data/magic.mse-game/stamps/alchemy.png index 0572c18c3..66396eb8b 100644 Binary files a/data/magic.mse-game/stamps/alchemy.png and b/data/magic.mse-game/stamps/alchemy.png differ diff --git a/data/magic.mse-game/stamps/alchemy_old.png b/data/magic.mse-game/stamps/alchemy_old.png index 5f27a01b6..1b3bb8a05 100644 Binary files a/data/magic.mse-game/stamps/alchemy_old.png and b/data/magic.mse-game/stamps/alchemy_old.png differ diff --git a/data/magic.mse-game/stamps/flat_acorn.png b/data/magic.mse-game/stamps/flat_acorn.png new file mode 100644 index 000000000..32970ca31 Binary files /dev/null and b/data/magic.mse-game/stamps/flat_acorn.png differ diff --git a/data/magic.mse-game/stamps/flat_alchemy.png b/data/magic.mse-game/stamps/flat_alchemy.png new file mode 100644 index 000000000..1e7b5c182 Binary files /dev/null and b/data/magic.mse-game/stamps/flat_alchemy.png differ diff --git a/data/magic.mse-game/stamps/flat_alchemy_old.png b/data/magic.mse-game/stamps/flat_alchemy_old.png new file mode 100644 index 000000000..261c5ada8 Binary files /dev/null and b/data/magic.mse-game/stamps/flat_alchemy_old.png differ diff --git a/data/magic.mse-game/stamps/flat_heart.png b/data/magic.mse-game/stamps/flat_heart.png new file mode 100644 index 000000000..72695e911 Binary files /dev/null and b/data/magic.mse-game/stamps/flat_heart.png differ diff --git a/data/magic.mse-game/stamps/flat_oval.png b/data/magic.mse-game/stamps/flat_oval.png new file mode 100644 index 000000000..a2a1636d1 Binary files /dev/null and b/data/magic.mse-game/stamps/flat_oval.png differ diff --git a/data/magic.mse-game/stamps/flat_ub.png b/data/magic.mse-game/stamps/flat_ub.png new file mode 100644 index 000000000..b34457937 Binary files /dev/null and b/data/magic.mse-game/stamps/flat_ub.png differ diff --git a/data/magic.mse-game/stamps/foil.png b/data/magic.mse-game/stamps/foil.png deleted file mode 100644 index 6bd390401..000000000 Binary files a/data/magic.mse-game/stamps/foil.png and /dev/null differ diff --git a/data/magic.mse-game/stamps/heart.png b/data/magic.mse-game/stamps/heart.png new file mode 100644 index 000000000..ce4863ee8 Binary files /dev/null and b/data/magic.mse-game/stamps/heart.png differ diff --git a/data/magic.mse-game/stamps/menu_choice_images b/data/magic.mse-game/stamps/menu_choice_images new file mode 100644 index 000000000..134d43817 --- /dev/null +++ b/data/magic.mse-game/stamps/menu_choice_images @@ -0,0 +1,16 @@ +choice images: + none: /magic.mse-game/stamps/none.png + standard: /magic.mse-game/stamps/oval.png + acorn: /magic.mse-game/stamps/acorn.png + heart: /magic.mse-game/stamps/heart.png + universes beyond: /magic.mse-game/stamps/ub.png + alchemy: /magic.mse-game/stamps/alchemy.png + alchemy old: /magic.mse-game/stamps/alchemy_old.png + custom: { custom_stamp() } + flatstamped standard: /magic.mse-game/stamps/flat_oval.png + flatstamped acorn: /magic.mse-game/stamps/flat_acorn.png + flatstamped heart: /magic.mse-game/stamps/flat_heart.png + flatstamped universes beyond: /magic.mse-game/stamps/flat_ub.png + flatstamped alchemy: /magic.mse-game/stamps/flat_alchemy.png + flatstamped alchemy old: /magic.mse-game/stamps/flat_alchemy_old.png + flatstamped custom: { custom_stamp() } \ No newline at end of file diff --git a/data/magic.mse-game/stamps/none.png b/data/magic.mse-game/stamps/none.png new file mode 100644 index 000000000..0f41f887f Binary files /dev/null and b/data/magic.mse-game/stamps/none.png differ diff --git a/data/magic.mse-game/stamps/nonfoil.png b/data/magic.mse-game/stamps/nonfoil.png new file mode 100644 index 000000000..f9f44fa8c Binary files /dev/null and b/data/magic.mse-game/stamps/nonfoil.png differ diff --git a/data/magic.mse-game/stamps/onlyrare.png b/data/magic.mse-game/stamps/onlyrare.png new file mode 100644 index 000000000..41d9e2f7c Binary files /dev/null and b/data/magic.mse-game/stamps/onlyrare.png differ diff --git a/data/magic.mse-game/stamps/oval.png b/data/magic.mse-game/stamps/oval.png new file mode 100644 index 000000000..b4282575d Binary files /dev/null and b/data/magic.mse-game/stamps/oval.png differ diff --git a/data/magic.mse-game/statistics_script b/data/magic.mse-game/statistics_script index 2698d9200..506dfce7e 100644 --- a/data/magic.mse-game/statistics_script +++ b/data/magic.mse-game/statistics_script @@ -177,11 +177,11 @@ distil_color_words_statistic := { colors := "" if lang_setting("is_colorless")() then colors := colors + "C" - if lang_setting("is_white")() then colors := colors + "W" - if lang_setting("is_blue")() then colors := colors + "U" - if lang_setting("is_black")() then colors := colors + "B" - if lang_setting("is_red")() then colors := colors + "R" - if lang_setting("is_green")() then colors := colors + "G" + if lang_setting("is_white")() then colors := colors + "W" + if lang_setting("is_blue")() then colors := colors + "U" + if lang_setting("is_black")() then colors := colors + "B" + if lang_setting("is_red")() then colors := colors + "R" + if lang_setting("is_green")() then colors := colors + "G" if length(colors) > 1 and colors.0 == "C" then substring(colors, begin: 1) else colors } @@ -253,7 +253,7 @@ face_omniverse_color_statistic := if chosen(choice: "land") then all_en_space_statistic(lang_setting("land")) else if chosen(choice: "multicolor") then all_en_space_statistic(lang_setting("multicolor")) else if count_chosen(choices: "white, blue, black, red, green, pink, purple, yellow, orange, brown") == 2 - and chosen(choice: "artifact") then all_en_space_statistic(lang_setting("hybrid")) ##hybrid artifacts would show as their first color + and chosen(choice: "artifact") then all_en_space_statistic(lang_setting("hybrid")) ##hybrid artifacts would show as their first color else if chosen(choice: "hybrid") then all_en_space_statistic(lang_setting("hybrid")) else if (chosen(choice: "artifact") and not ( chosen(choice: "white") @@ -265,7 +265,7 @@ face_omniverse_color_statistic := or chosen(choice: "purple") or chosen(choice: "yellow") or chosen(choice: "orange") - or chosen(choice: "brown"))) then all_en_space_statistic(lang_setting("artifact")) + or chosen(choice: "brown"))) then all_en_space_statistic(lang_setting("artifact")) else if chosen(choice: "white") then all_en_space_statistic(lang_setting("white")) else if chosen(choice: "blue") then all_en_space_statistic(lang_setting("blue")) else if chosen(choice: "black") then all_en_space_statistic(lang_setting("black")) @@ -461,14 +461,14 @@ face_mana_production_list_statistic := # the mana symbols we can produce produced_symbols := wubrgc_break_statistic(lang_setting("mana_symbol_production")(combined_text)) - (if lang_setting("is_plains")(sub) or contains_element(produced_symbols, element:"W") then ",W" else "") + - (if lang_setting("is_island")(sub) or contains_element(produced_symbols, element:"U") then ",U" else "") + - (if lang_setting("is_swamp")(sub) or contains_element(produced_symbols, element:"B") then ",B" else "") + - (if lang_setting("is_mountain")(sub) or contains_element(produced_symbols, element:"R") then ",R" else "") + - (if lang_setting("is_forest")(sub) or contains_element(produced_symbols, element:"G") then ",G" else "") + - (if lang_setting("is_wastes")(name) or contains_element(produced_symbols, element:"C") then ",C" else "") + + (if lang_setting("is_plains")(sub) or contains_element(produced_symbols, element:"W") then ",W" else "") + + (if lang_setting("is_island")(sub) or contains_element(produced_symbols, element:"U") then ",U" else "") + + (if lang_setting("is_swamp")(sub) or contains_element(produced_symbols, element:"B") then ",B" else "") + + (if lang_setting("is_mountain")(sub) or contains_element(produced_symbols, element:"R") then ",R" else "") + + (if lang_setting("is_forest")(sub) or contains_element(produced_symbols, element:"G") then ",G" else "") + + (if lang_setting("is_wastes")(name) or contains_element(produced_symbols, element:"C") then ",C" else "") + (if can_Any then ","+all_en_space_statistic(lang_setting("mana_any")) else "") + - (if can_Chosen then ","+all_en_space_statistic(lang_setting("mana_chosen")) else "") + (if can_Chosen then ","+all_en_space_statistic(lang_setting("mana_chosen")) else "") } # Word counting @@ -673,7 +673,7 @@ format_average_statistic := rarity_statistic := { if is_tokenish_statistics(card.shape) or lang_setting("is_token")(card.super_type) then all_en_space_statistic(lang_setting("token")) - else if lang_setting("is_land")(card.super_type) and lang_setting("is_basic")(card.super_type) then all_en_space_statistic(lang_setting("basic_land")) + else if lang_setting("is_land")(card.super_type) and lang_setting("is_basic")(card.super_type) then all_en_space_statistic(lang_setting("basic_land")) else all_en_space_statistic(lang_setting(replace_space_statistic(card.rarity))) } is_tokenish_statistics := @@ -822,18 +822,18 @@ detect_custom_creature_subtypes_statistic := for a from 0 to 1 do ( subtypes := if a == 1 then face_detect_custom_subtypes_statistic(c.sub_type_2) else face_detect_custom_subtypes_statistic(c.sub_type) super := if a == 1 then c.super_type_2 else c.super_type - is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super) - is_artifact := lang_setting("is_artifact")(super) - is_enchantment := lang_setting("is_enchantment")(super) - is_land := lang_setting("is_land")(super) - is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land + is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super) + is_artifact := lang_setting("is_artifact")(super) + is_enchantment := lang_setting("is_enchantment")(super) + is_land := lang_setting("is_land")(super) + is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land for each s in subtypes do ( # is this a canon type? - has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false + has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false if not has_creature then ( - if is_just_creature then creature_hard := creature_hard + [s] - else if not is_creature then noncreature_hard := noncreature_hard + [s] - else creature_soft := creature_soft + [s] + if is_just_creature then creature_hard := creature_hard + [s] + else if not is_creature then noncreature_hard := noncreature_hard + [s] + else creature_soft := creature_soft + [s] ) "" ## dummy return, otherwise it tries to concat scripts and explodes ) @@ -878,36 +878,36 @@ detect_custom_subtypes_statistic := for a from 0 to 1 do ( subtypes := if a == 1 then face_detect_custom_subtypes_statistic(c.sub_type_2) else face_detect_custom_subtypes_statistic(c.sub_type) super := if a == 1 then c.super_type_2 else c.super_type - is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super) - is_artifact := lang_setting("is_artifact")(super) - is_enchantment := lang_setting("is_enchantment")(super) - is_land := lang_setting("is_land")(super) + is_creature := lang_setting("is_creature")(super) or lang_setting("is_kindred")(super) + is_artifact := lang_setting("is_artifact")(super) + is_enchantment := lang_setting("is_enchantment")(super) + is_land := lang_setting("is_land")(super) is_spell := lang_setting("is_spell")(super) is_walker := lang_setting("is_planeswalker")(super) or lang_setting("is_emblem")(super) is_battle := lang_setting("is_battle")(super) - is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land - is_just_artifact := is_artifact and not is_creature and not is_enchantment and not is_land - is_just_enchantment := is_enchantment and not is_creature and not is_artifact and not is_land - is_just_land := is_land and not is_creature and not is_artifact and not is_enchantment + is_just_creature := is_creature and not is_artifact and not is_enchantment and not is_land + is_just_artifact := is_artifact and not is_creature and not is_enchantment and not is_land + is_just_enchantment := is_enchantment and not is_creature and not is_artifact and not is_land + is_just_land := is_land and not is_creature and not is_artifact and not is_enchantment for each s in subtypes do ( # is this a canon type? - has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false + has_creature := if is_creature then contains(creature_subtypes_statistic(), match:s+";") else false has_artifact := if is_artifact then contains(artifact_subtypes_statistic(), match:s+";") else false has_enchantment := if is_enchantment then contains(enchantment_subtypes_statistic(), match:s+";") else false - has_land := if is_land then contains(land_subtypes_statistic(), match:s+";") else false - has_spell := if is_spell then contains(spell_subtypes_statistic(), match:s+";") else false + has_land := if is_land then contains(land_subtypes_statistic(), match:s+";") else false + has_spell := if is_spell then contains(spell_subtypes_statistic(), match:s+";") else false has_walker := if is_walker then contains(planeswalker_subtypes_statistic(), match:s+";") else false has_battle := if is_battle then contains(battle_subtypes_statistic(), match:s+";") else false if not has_creature and not has_artifact and not has_enchantment and not has_land and not has_walker and not has_battle and not has_spell then ( - if is_just_creature then creature_hard := creature_hard + [s] - else if is_just_artifact then artifact_hard := artifact_hard + [s] - else if is_just_enchantment then enchantment_hard := enchantment_hard + [s] - else if is_just_land then land_hard := land_hard + [s] - else if is_walker then walker_soft := walker_soft + [s] - else if is_battle then battle_soft := battle_soft + [s] - else if is_spell then spell_hard := spell_hard + [s] - else if not is_creature then noncreature_hard := noncreature_hard + [s] - else unknown_sub_types := unknown_sub_types + [s] + if is_just_creature then creature_hard := creature_hard + [s] + else if is_just_artifact then artifact_hard := artifact_hard + [s] + else if is_just_enchantment then enchantment_hard := enchantment_hard + [s] + else if is_just_land then land_hard := land_hard + [s] + else if is_walker then walker_soft := walker_soft + [s] + else if is_battle then battle_soft := battle_soft + [s] + else if is_spell then spell_hard := spell_hard + [s] + else if not is_creature then noncreature_hard := noncreature_hard + [s] + else unknown_sub_types := unknown_sub_types + [s] ) "" ## dummy return, otherwise it tries to concat scripts and explodes ) @@ -950,14 +950,14 @@ detect_custom_subtypes_statistic := creature_hard := sort_list(creature_hard, remove_duplicates:true) final := "\n" - if length(creature_hard) > 0 then final := final + "Custom Creature Types:\n" + join(creature_hard, sep:"\n") + "\n\n"; - if length(artifact_hard) > 0 then final := final + "Custom Artifact Types:\n" + join(artifact_hard, sep:"\n") + "\n\n"; - if length(enchantment_hard) > 0 then final := final + "Custom Enchantment Types:\n" + join(enchantment_hard, sep:"\n") + "\n\n"; - if length(land_hard) > 0 then final := final + "Custom Land Types:\n" + join(land_hard, sep:"\n") + "\n\n"; - if length(spell_hard) > 0 then final := final + "Custom Spell Types:\n" + join(spell_hard, sep:"\n") + "\n\n"; - if length(walker_soft) > 0 then final := final + "Custom Planeswalker Types:\n" + join(walker_soft, sep:"\n") + "\n\n"; - if length(battle_soft) > 0 then final := final + "Custom Battle Types:\n" + join(battle_soft, sep:"\n") + "\n\n"; - if length(undetermined_types) > 0 then final := final + "Custom Unknown Types:\n" + join(undetermined_types, sep:"\n") + "\n\n"; + if length(creature_hard) > 0 then final := final + "Custom Creature Types:\n" + join(creature_hard, sep:"\n") + "\n\n"; + if length(artifact_hard) > 0 then final := final + "Custom Artifact Types:\n" + join(artifact_hard, sep:"\n") + "\n\n"; + if length(enchantment_hard) > 0 then final := final + "Custom Enchantment Types:\n" + join(enchantment_hard, sep:"\n") + "\n\n"; + if length(land_hard) > 0 then final := final + "Custom Land Types:\n" + join(land_hard, sep:"\n") + "\n\n"; + if length(spell_hard) > 0 then final := final + "Custom Spell Types:\n" + join(spell_hard, sep:"\n") + "\n\n"; + if length(walker_soft) > 0 then final := final + "Custom Planeswalker Types:\n" + join(walker_soft, sep:"\n") + "\n\n"; + if length(battle_soft) > 0 then final := final + "Custom Battle Types:\n" + join(battle_soft, sep:"\n") + "\n\n"; + if length(undetermined_types) > 0 then final := final + "Custom Unknown Types:\n" + join(undetermined_types, sep:"\n") + "\n\n"; trace(final) "" @@ -1159,7 +1159,7 @@ power_statistic := fields := ["power"] + if not check_2_statistic() then [] else if contains(card.shape, match: "flip") or contains(card.shape, match: "split") - or contains(card.shape, match: "aftermath") then ["power_2"] + or contains(card.shape, match: "aftermath") then ["power_2"] else if contains(card.shape, match: "double faced") then (if contains((card.styling or else styling).front_style or else "", match: "leveler") then ["power_4"] else ["power_2"]) else [] count := length(fields) - 1 @@ -1171,7 +1171,7 @@ toughness_statistic := fields := ["toughness"] + if not check_2_statistic() then [] else if contains(card.shape, match: "flip") or contains(card.shape, match: "split") - or contains(card.shape, match: "aftermath") then ["toughness_2"] + or contains(card.shape, match: "aftermath") then ["toughness_2"] else if contains(card.shape, match: "double faced") then (if contains((card.styling or else styling).front_style or else "", match: "leveler") then ["toughness_4"] else ["toughness_2"]) else [] count := length(fields) - 1 diff --git a/data/magic.mse-game/symbols/aetherprint.png b/data/magic.mse-game/symbols/aetherprint.png new file mode 100644 index 000000000..ec415104a Binary files /dev/null and b/data/magic.mse-game/symbols/aetherprint.png differ diff --git a/data/magic.mse-game/symbols/artifact.png b/data/magic.mse-game/symbols/artifact.png new file mode 100644 index 000000000..8049126bf Binary files /dev/null and b/data/magic.mse-game/symbols/artifact.png differ diff --git a/data/magic.mse-game/symbols/battle.png b/data/magic.mse-game/symbols/battle.png new file mode 100644 index 000000000..7283773f9 Binary files /dev/null and b/data/magic.mse-game/symbols/battle.png differ diff --git a/data/magic.mse-game/symbols/blank.png b/data/magic.mse-game/symbols/blank.png new file mode 100644 index 000000000..78e7a05f7 Binary files /dev/null and b/data/magic.mse-game/symbols/blank.png differ diff --git a/data/magic.mse-game/symbols/bro war.png b/data/magic.mse-game/symbols/bro war.png new file mode 100644 index 000000000..365436e46 Binary files /dev/null and b/data/magic.mse-game/symbols/bro war.png differ diff --git a/data/magic.mse-game/symbols/closed fan.png b/data/magic.mse-game/symbols/closed fan.png new file mode 100644 index 000000000..21d7846e7 Binary files /dev/null and b/data/magic.mse-game/symbols/closed fan.png differ diff --git a/data/magic.mse-game/symbols/comedy.png b/data/magic.mse-game/symbols/comedy.png new file mode 100644 index 000000000..93cbc9076 Binary files /dev/null and b/data/magic.mse-game/symbols/comedy.png differ diff --git a/data/magic.mse-game/symbols/compass.png b/data/magic.mse-game/symbols/compass.png new file mode 100644 index 000000000..ca5488dd0 Binary files /dev/null and b/data/magic.mse-game/symbols/compass.png differ diff --git a/data/magic.mse-game/symbols/conspiracy.png b/data/magic.mse-game/symbols/conspiracy.png new file mode 100644 index 000000000..ccef9bb08 Binary files /dev/null and b/data/magic.mse-game/symbols/conspiracy.png differ diff --git a/data/magic.mse-game/symbols/creature.png b/data/magic.mse-game/symbols/creature.png new file mode 100644 index 000000000..8f91ebab4 Binary files /dev/null and b/data/magic.mse-game/symbols/creature.png differ diff --git a/data/magic.mse-game/symbols/day.png b/data/magic.mse-game/symbols/day.png new file mode 100644 index 000000000..635cc2360 Binary files /dev/null and b/data/magic.mse-game/symbols/day.png differ diff --git a/data/magic.mse-game/symbols/dungeon.png b/data/magic.mse-game/symbols/dungeon.png new file mode 100644 index 000000000..02eebf29c Binary files /dev/null and b/data/magic.mse-game/symbols/dungeon.png differ diff --git a/data/magic.mse-game/symbols/eldrazi.png b/data/magic.mse-game/symbols/eldrazi.png new file mode 100644 index 000000000..180d5ad16 Binary files /dev/null and b/data/magic.mse-game/symbols/eldrazi.png differ diff --git a/data/magic.mse-game/symbols/enchantment.png b/data/magic.mse-game/symbols/enchantment.png new file mode 100644 index 000000000..6cea60c56 Binary files /dev/null and b/data/magic.mse-game/symbols/enchantment.png differ diff --git a/data/magic.mse-game/symbols/hero.png b/data/magic.mse-game/symbols/hero.png new file mode 100644 index 000000000..f3de68de2 Binary files /dev/null and b/data/magic.mse-game/symbols/hero.png differ diff --git a/data/magic.mse-game/symbols/instant.png b/data/magic.mse-game/symbols/instant.png new file mode 100644 index 000000000..700614a37 Binary files /dev/null and b/data/magic.mse-game/symbols/instant.png differ diff --git a/data/magic.mse-game/symbols/land.png b/data/magic.mse-game/symbols/land.png new file mode 100644 index 000000000..1ff42646c Binary files /dev/null and b/data/magic.mse-game/symbols/land.png differ diff --git a/data/magic.mse-game/symbols/lesson.png b/data/magic.mse-game/symbols/lesson.png new file mode 100644 index 000000000..71228aa5d Binary files /dev/null and b/data/magic.mse-game/symbols/lesson.png differ diff --git a/data/magic.mse-game/symbols/menu_choice_images b/data/magic.mse-game/symbols/menu_choice_images new file mode 100644 index 000000000..eeee96256 --- /dev/null +++ b/data/magic.mse-game/symbols/menu_choice_images @@ -0,0 +1,75 @@ +choice images: + none: { "" } + + day: /magic.mse-game/symbols/day.png + night: /magic.mse-game/symbols/night.png + moon: /magic.mse-game/symbols/moon.png + eldrazi: /magic.mse-game/symbols/eldrazi.png + compass: /magic.mse-game/symbols/compass.png + closed fan: /magic.mse-game/symbols/closed fan.png + open fan: /magic.mse-game/symbols/open fan.png + meld: /magic.mse-game/symbols/bro war.png + lesson: /magic.mse-game/symbols/lesson.png + specialized: /magic.mse-game/symbols/specialized.png + front triangle: /magic.mse-game/symbols/triangle.png + back triangle: /magic.mse-game/symbols/triangle inverted.png + aetherprint: /magic.mse-game/symbols/aetherprint.png + sparker: /magic.mse-game/symbols/sparker.png + + sparker (colored) default: /magic.mse-game/symbols/sparker.png + sparker (colored) white: /magic.mse-game/symbols/sparker/white.png + sparker (colored) blue: /magic.mse-game/symbols/sparker/blue.png + sparker (colored) black: /magic.mse-game/symbols/sparker/black.png + sparker (colored) red: /magic.mse-game/symbols/sparker/red.png + sparker (colored) green: /magic.mse-game/symbols/sparker/green.png + sparker (colored) multicolor: /magic.mse-game/symbols/sparker/multicolor.png + sparker (colored) colorless: /magic.mse-game/symbols/sparker/colorless.png + sparker (colored) artifact: /magic.mse-game/symbols/sparker/artifact.png + + modal front default: /magic.mse-game/symbols/modalfront/colorless.png + modal front white: /magic.mse-game/symbols/modalfront/white.png + modal front blue: /magic.mse-game/symbols/modalfront/blue.png + modal front black: /magic.mse-game/symbols/modalfront/black.png + modal front red: /magic.mse-game/symbols/modalfront/red.png + modal front green: /magic.mse-game/symbols/modalfront/green.png + modal front multicolor: /magic.mse-game/symbols/modalfront/multicolor.png + modal front colorless: /magic.mse-game/symbols/modalfront/colorless.png + modal front artifact: /magic.mse-game/symbols/modalfront/artifact.png + + modal back default: /magic.mse-game/symbols/modalback/colorless.png + modal back white: /magic.mse-game/symbols/modalback/white.png + modal back blue: /magic.mse-game/symbols/modalback/blue.png + modal back black: /magic.mse-game/symbols/modalback/black.png + modal back red: /magic.mse-game/symbols/modalback/red.png + modal back green: /magic.mse-game/symbols/modalback/green.png + modal back multicolor: /magic.mse-game/symbols/modalback/multicolor.png + modal back colorless: /magic.mse-game/symbols/modalback/colorless.png + modal back artifact: /magic.mse-game/symbols/modalback/artifact.png + + multitype: /magic.mse-game/symbols/multitype.png + artifact: /magic.mse-game/symbols/artifact.png + battle: /magic.mse-game/symbols/battle.png + creature: /magic.mse-game/symbols/creature.png + enchantment: /magic.mse-game/symbols/enchantment.png + instant: /magic.mse-game/symbols/instant.png + land: /magic.mse-game/symbols/land.png + planeswalker: /magic.mse-game/symbols/planeswalker.png + sorcery: /magic.mse-game/symbols/sorcery.png + fortress: /magic.mse-game/symbols/structure.png + + non standard emblem: /magic.mse-game/symbols/aetherprint.png + non standard conspiracy: /magic.mse-game/symbols/conspiracy.png + non standard dungeon: /magic.mse-game/symbols/dungeon.png + non standard hero: /magic.mse-game/symbols/hero.png + non standard phenomenon: /magic.mse-game/symbols/phenomenon.png + non standard plane: /magic.mse-game/symbols/plane.png + non standard scheme: /magic.mse-game/symbols/scheme.png + non standard vanguard: /magic.mse-game/symbols/vanguard.png + + extra comedy: /magic.mse-game/symbols/comedy.png + extra tragedy: /magic.mse-game/symbols/tragedy.png + + custom symbol one: { custom_symbol_1() } + custom symbol two: { custom_symbol_2() } + custom symbol three: { custom_symbol_3() } + custom symbol four: { custom_symbol_4() } diff --git a/data/magic.mse-game/symbols/modalback/artifact.png b/data/magic.mse-game/symbols/modalback/artifact.png new file mode 100644 index 000000000..28d6be387 Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/artifact.png differ diff --git a/data/magic.mse-game/symbols/modalback/black.png b/data/magic.mse-game/symbols/modalback/black.png new file mode 100644 index 000000000..fdf5b277c Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/black.png differ diff --git a/data/magic.mse-game/symbols/modalback/blue.png b/data/magic.mse-game/symbols/modalback/blue.png new file mode 100644 index 000000000..a76a8388b Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/blue.png differ diff --git a/data/magic.mse-game/symbols/modalback/colorless.png b/data/magic.mse-game/symbols/modalback/colorless.png new file mode 100644 index 000000000..4bb9dc014 Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/colorless.png differ diff --git a/data/magic.mse-game/symbols/modalback/green.png b/data/magic.mse-game/symbols/modalback/green.png new file mode 100644 index 000000000..4ff236679 Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/green.png differ diff --git a/data/magic.mse-game/symbols/modalback/multicolor.png b/data/magic.mse-game/symbols/modalback/multicolor.png new file mode 100644 index 000000000..f26030366 Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/multicolor.png differ diff --git a/data/magic.mse-game/symbols/modalback/red.png b/data/magic.mse-game/symbols/modalback/red.png new file mode 100644 index 000000000..6b36c506f Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/red.png differ diff --git a/data/magic.mse-game/symbols/modalback/white.png b/data/magic.mse-game/symbols/modalback/white.png new file mode 100644 index 000000000..e20426b61 Binary files /dev/null and b/data/magic.mse-game/symbols/modalback/white.png differ diff --git a/data/magic.mse-game/symbols/modalfront/artifact.png b/data/magic.mse-game/symbols/modalfront/artifact.png new file mode 100644 index 000000000..ac7928b97 Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/artifact.png differ diff --git a/data/magic.mse-game/symbols/modalfront/black.png b/data/magic.mse-game/symbols/modalfront/black.png new file mode 100644 index 000000000..409feeab1 Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/black.png differ diff --git a/data/magic.mse-game/symbols/modalfront/blue.png b/data/magic.mse-game/symbols/modalfront/blue.png new file mode 100644 index 000000000..75f091db6 Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/blue.png differ diff --git a/data/magic.mse-game/symbols/modalfront/colorless.png b/data/magic.mse-game/symbols/modalfront/colorless.png new file mode 100644 index 000000000..6964beac8 Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/colorless.png differ diff --git a/data/magic.mse-game/symbols/modalfront/green.png b/data/magic.mse-game/symbols/modalfront/green.png new file mode 100644 index 000000000..208964376 Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/green.png differ diff --git a/data/magic.mse-game/symbols/modalfront/multicolor.png b/data/magic.mse-game/symbols/modalfront/multicolor.png new file mode 100644 index 000000000..af2d7913e Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/multicolor.png differ diff --git a/data/magic.mse-game/symbols/modalfront/red.png b/data/magic.mse-game/symbols/modalfront/red.png new file mode 100644 index 000000000..2c683827d Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/red.png differ diff --git a/data/magic.mse-game/symbols/modalfront/white.png b/data/magic.mse-game/symbols/modalfront/white.png new file mode 100644 index 000000000..ce73bc10b Binary files /dev/null and b/data/magic.mse-game/symbols/modalfront/white.png differ diff --git a/data/magic.mse-game/symbols/moon.png b/data/magic.mse-game/symbols/moon.png new file mode 100644 index 000000000..d1f0ed24c Binary files /dev/null and b/data/magic.mse-game/symbols/moon.png differ diff --git a/data/magic.mse-game/symbols/multitype.png b/data/magic.mse-game/symbols/multitype.png new file mode 100644 index 000000000..7bb2c1205 Binary files /dev/null and b/data/magic.mse-game/symbols/multitype.png differ diff --git a/data/magic.mse-game/symbols/night.png b/data/magic.mse-game/symbols/night.png new file mode 100644 index 000000000..c16782cac Binary files /dev/null and b/data/magic.mse-game/symbols/night.png differ diff --git a/data/magic.mse-game/symbols/open fan.png b/data/magic.mse-game/symbols/open fan.png new file mode 100644 index 000000000..e9e9c8f80 Binary files /dev/null and b/data/magic.mse-game/symbols/open fan.png differ diff --git a/data/magic.mse-game/symbols/phenomenon.png b/data/magic.mse-game/symbols/phenomenon.png new file mode 100644 index 000000000..d331c70e0 Binary files /dev/null and b/data/magic.mse-game/symbols/phenomenon.png differ diff --git a/data/magic.mse-game/symbols/plane.png b/data/magic.mse-game/symbols/plane.png new file mode 100644 index 000000000..831b15171 Binary files /dev/null and b/data/magic.mse-game/symbols/plane.png differ diff --git a/data/magic.mse-game/symbols/planeswalker.png b/data/magic.mse-game/symbols/planeswalker.png new file mode 100644 index 000000000..2e40fc734 Binary files /dev/null and b/data/magic.mse-game/symbols/planeswalker.png differ diff --git a/data/magic.mse-game/symbols/scheme.png b/data/magic.mse-game/symbols/scheme.png new file mode 100644 index 000000000..9e216be15 Binary files /dev/null and b/data/magic.mse-game/symbols/scheme.png differ diff --git a/data/magic.mse-game/symbols/sorcery.png b/data/magic.mse-game/symbols/sorcery.png new file mode 100644 index 000000000..06e096265 Binary files /dev/null and b/data/magic.mse-game/symbols/sorcery.png differ diff --git a/data/magic.mse-game/symbols/sparker.png b/data/magic.mse-game/symbols/sparker.png new file mode 100644 index 000000000..ebfacf121 Binary files /dev/null and b/data/magic.mse-game/symbols/sparker.png differ diff --git a/data/magic.mse-game/symbols/sparker/artifact.png b/data/magic.mse-game/symbols/sparker/artifact.png new file mode 100644 index 000000000..43ae992a6 Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/artifact.png differ diff --git a/data/magic.mse-game/symbols/sparker/black.png b/data/magic.mse-game/symbols/sparker/black.png new file mode 100644 index 000000000..7c629b7d9 Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/black.png differ diff --git a/data/magic.mse-game/symbols/sparker/blue.png b/data/magic.mse-game/symbols/sparker/blue.png new file mode 100644 index 000000000..5ec9feba9 Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/blue.png differ diff --git a/data/magic.mse-game/symbols/sparker/colorless.png b/data/magic.mse-game/symbols/sparker/colorless.png new file mode 100644 index 000000000..b90c4b280 Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/colorless.png differ diff --git a/data/magic.mse-game/symbols/sparker/green.png b/data/magic.mse-game/symbols/sparker/green.png new file mode 100644 index 000000000..780cd6182 Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/green.png differ diff --git a/data/magic.mse-game/symbols/sparker/multicolor.png b/data/magic.mse-game/symbols/sparker/multicolor.png new file mode 100644 index 000000000..d3df00e6c Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/multicolor.png differ diff --git a/data/magic.mse-game/symbols/sparker/red.png b/data/magic.mse-game/symbols/sparker/red.png new file mode 100644 index 000000000..f1396c2b1 Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/red.png differ diff --git a/data/magic.mse-game/symbols/sparker/white.png b/data/magic.mse-game/symbols/sparker/white.png new file mode 100644 index 000000000..d58eea64b Binary files /dev/null and b/data/magic.mse-game/symbols/sparker/white.png differ diff --git a/data/magic.mse-game/symbols/specialized.png b/data/magic.mse-game/symbols/specialized.png new file mode 100644 index 000000000..da42bf346 Binary files /dev/null and b/data/magic.mse-game/symbols/specialized.png differ diff --git a/data/magic.mse-game/symbols/structure.png b/data/magic.mse-game/symbols/structure.png new file mode 100644 index 000000000..8747aeedd Binary files /dev/null and b/data/magic.mse-game/symbols/structure.png differ diff --git a/data/magic.mse-game/symbols/tragedy.png b/data/magic.mse-game/symbols/tragedy.png new file mode 100644 index 000000000..7a253aaeb Binary files /dev/null and b/data/magic.mse-game/symbols/tragedy.png differ diff --git a/data/magic.mse-game/symbols/triangle inverted.png b/data/magic.mse-game/symbols/triangle inverted.png new file mode 100644 index 000000000..93ae2eb5d Binary files /dev/null and b/data/magic.mse-game/symbols/triangle inverted.png differ diff --git a/data/magic.mse-game/symbols/triangle.png b/data/magic.mse-game/symbols/triangle.png new file mode 100644 index 000000000..02cd25ebd Binary files /dev/null and b/data/magic.mse-game/symbols/triangle.png differ diff --git a/data/magic.mse-game/symbols/vanguard.png b/data/magic.mse-game/symbols/vanguard.png new file mode 100644 index 000000000..93a420235 Binary files /dev/null and b/data/magic.mse-game/symbols/vanguard.png differ diff --git a/data/magic.mse-game/watermarks/Discord.png b/data/magic.mse-game/watermarks/Discord.png new file mode 100644 index 000000000..ac15c6a42 Binary files /dev/null and b/data/magic.mse-game/watermarks/Discord.png differ diff --git a/data/magic.mse-game/watermarks/aetherprint.png b/data/magic.mse-game/watermarks/aetherprint.png new file mode 100644 index 000000000..7ff74b7ff Binary files /dev/null and b/data/magic.mse-game/watermarks/aetherprint.png differ diff --git a/data/magic.mse-game/watermarks/akros.png b/data/magic.mse-game/watermarks/akros.png new file mode 100644 index 000000000..eac51687b Binary files /dev/null and b/data/magic.mse-game/watermarks/akros.png differ diff --git a/data/magic.mse-game/watermarks/capenna_brokers.png b/data/magic.mse-game/watermarks/capenna_brokers.png new file mode 100644 index 000000000..bac5748cc Binary files /dev/null and b/data/magic.mse-game/watermarks/capenna_brokers.png differ diff --git a/data/magic.mse-game/watermarks/capenna_cabaretti.png b/data/magic.mse-game/watermarks/capenna_cabaretti.png new file mode 100644 index 000000000..90d1ffa8e Binary files /dev/null and b/data/magic.mse-game/watermarks/capenna_cabaretti.png differ diff --git a/data/magic.mse-game/watermarks/capenna_maestros.png b/data/magic.mse-game/watermarks/capenna_maestros.png new file mode 100644 index 000000000..8d30fcc07 Binary files /dev/null and b/data/magic.mse-game/watermarks/capenna_maestros.png differ diff --git a/data/magic.mse-game/watermarks/capenna_obscura.png b/data/magic.mse-game/watermarks/capenna_obscura.png new file mode 100644 index 000000000..76e67b54a Binary files /dev/null and b/data/magic.mse-game/watermarks/capenna_obscura.png differ diff --git a/data/magic.mse-game/watermarks/capenna_riveteers.png b/data/magic.mse-game/watermarks/capenna_riveteers.png new file mode 100644 index 000000000..62556783d Binary files /dev/null and b/data/magic.mse-game/watermarks/capenna_riveteers.png differ diff --git a/data/magic.mse-game/watermarks/chaos.png b/data/magic.mse-game/watermarks/chaos.png new file mode 100644 index 000000000..5c61f3378 Binary files /dev/null and b/data/magic.mse-game/watermarks/chaos.png differ diff --git a/data/magic.mse-game/watermarks/colorpie.png b/data/magic.mse-game/watermarks/colorpie.png new file mode 100644 index 000000000..68aa55415 Binary files /dev/null and b/data/magic.mse-game/watermarks/colorpie.png differ diff --git a/data/magic.mse-game/watermarks/conspiracy_stamp.png b/data/magic.mse-game/watermarks/conspiracy_stamp.png new file mode 100644 index 000000000..42f53eac9 Binary files /dev/null and b/data/magic.mse-game/watermarks/conspiracy_stamp.png differ diff --git a/data/magic.mse-game/watermarks/d&d.png b/data/magic.mse-game/watermarks/d&d.png new file mode 100644 index 000000000..61732c0f3 Binary files /dev/null and b/data/magic.mse-game/watermarks/d&d.png differ diff --git a/data/magic.mse-game/watermarks/desparked.png b/data/magic.mse-game/watermarks/desparked.png new file mode 100644 index 000000000..109a9d667 Binary files /dev/null and b/data/magic.mse-game/watermarks/desparked.png differ diff --git a/data/magic.mse-game/watermarks/foretell.png b/data/magic.mse-game/watermarks/foretell.png new file mode 100644 index 000000000..3154d3c3a Binary files /dev/null and b/data/magic.mse-game/watermarks/foretell.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_artifact.png b/data/magic.mse-game/watermarks/futsymbol_artifact.png new file mode 100644 index 000000000..49ce72bfa Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_artifact.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_creature.png b/data/magic.mse-game/watermarks/futsymbol_creature.png new file mode 100644 index 000000000..abc29e2e5 Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_creature.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_enchantment.png b/data/magic.mse-game/watermarks/futsymbol_enchantment.png new file mode 100644 index 000000000..3eba45052 Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_enchantment.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_instant.png b/data/magic.mse-game/watermarks/futsymbol_instant.png new file mode 100644 index 000000000..ac8aa4f43 Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_instant.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_land.png b/data/magic.mse-game/watermarks/futsymbol_land.png new file mode 100644 index 000000000..850b15388 Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_land.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_multiple.png b/data/magic.mse-game/watermarks/futsymbol_multiple.png new file mode 100644 index 000000000..4d23f9a48 Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_multiple.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_planeswalker.png b/data/magic.mse-game/watermarks/futsymbol_planeswalker.png new file mode 100644 index 000000000..7d9adb42c Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_planeswalker.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_sorcery.png b/data/magic.mse-game/watermarks/futsymbol_sorcery.png new file mode 100644 index 000000000..4f66d46ea Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_sorcery.png differ diff --git a/data/magic.mse-game/watermarks/futsymbol_structure.png b/data/magic.mse-game/watermarks/futsymbol_structure.png new file mode 100644 index 000000000..1d6cd49fa Binary files /dev/null and b/data/magic.mse-game/watermarks/futsymbol_structure.png differ diff --git a/data/magic.mse-game/watermarks/gavony.png b/data/magic.mse-game/watermarks/gavony.png new file mode 100644 index 000000000..f9cf37eee Binary files /dev/null and b/data/magic.mse-game/watermarks/gavony.png differ diff --git a/data/magic.mse-game/watermarks/jace-consortium.png b/data/magic.mse-game/watermarks/jace-consortium.png new file mode 100644 index 000000000..c0732bd37 Binary files /dev/null and b/data/magic.mse-game/watermarks/jace-consortium.png differ diff --git a/data/magic.mse-game/watermarks/judge_academy.png b/data/magic.mse-game/watermarks/judge_academy.png new file mode 100644 index 000000000..bbbdcfbc3 Binary files /dev/null and b/data/magic.mse-game/watermarks/judge_academy.png differ diff --git a/data/magic.mse-game/watermarks/kessig.png b/data/magic.mse-game/watermarks/kessig.png new file mode 100644 index 000000000..64375e558 Binary files /dev/null and b/data/magic.mse-game/watermarks/kessig.png differ diff --git a/data/magic.mse-game/watermarks/meletis.png b/data/magic.mse-game/watermarks/meletis.png new file mode 100644 index 000000000..4d0c8a929 Binary files /dev/null and b/data/magic.mse-game/watermarks/meletis.png differ diff --git a/data/magic.mse-game/watermarks/menu_choice_images b/data/magic.mse-game/watermarks/menu_choice_images new file mode 100644 index 000000000..9ed10fc38 --- /dev/null +++ b/data/magic.mse-game/watermarks/menu_choice_images @@ -0,0 +1,202 @@ +choice images: + none: /magic.mse-game/watermarks/none.png + + mana symbol white: /magic.mse-game/watermarks/watermark_w.png + mana symbol blue: /magic.mse-game/watermarks/watermark_u.png + mana symbol black: /magic.mse-game/watermarks/watermark_b.png + mana symbol red: /magic.mse-game/watermarks/watermark_r.png + mana symbol green: /magic.mse-game/watermarks/watermark_g.png + mana symbol colorless: /magic.mse-game/watermarks/watermark_c.png + mana symbol snow: /magic.mse-game/watermarks/watermark_s.png + + mana symbol old white: /magic.mse-game/watermarks/watermark_w_old.png + mana symbol old blue: /magic.mse-game/watermarks/watermark_u_old.png + mana symbol old black: /magic.mse-game/watermarks/watermark_b_old.png + mana symbol old red: /magic.mse-game/watermarks/watermark_r_old.png + mana symbol old green: /magic.mse-game/watermarks/watermark_g_old.png + mana symbol old colorless: /magic.mse-game/watermarks/watermark_c_old.png + + mana symbol hi res white: /magic.mse-game/watermarks/watermark_w_big.png + mana symbol hi res blue: /magic.mse-game/watermarks/watermark_u_big.png + mana symbol hi res black: /magic.mse-game/watermarks/watermark_b_big.png + mana symbol hi res red: /magic.mse-game/watermarks/watermark_r_big.png + mana symbol hi res green: /magic.mse-game/watermarks/watermark_g_big.png + mana symbol hi res colorless: /magic.mse-game/watermarks/watermark_c_big.png + + transparent mana symbol white: /magic.mse-game/watermarks/watermark_w.png + transparent mana symbol blue: /magic.mse-game/watermarks/watermark_u.png + transparent mana symbol black: /magic.mse-game/watermarks/watermark_b.png + transparent mana symbol red: /magic.mse-game/watermarks/watermark_r.png + transparent mana symbol green: /magic.mse-game/watermarks/watermark_g.png + + transparent mana symbol old white: /magic.mse-game/watermarks/watermark_w_old.png + transparent mana symbol old blue: /magic.mse-game/watermarks/watermark_u_old.png + transparent mana symbol old black: /magic.mse-game/watermarks/watermark_b_old.png + transparent mana symbol old red: /magic.mse-game/watermarks/watermark_r_old.png + transparent mana symbol old green: /magic.mse-game/watermarks/watermark_g_old.png + transparent mana symbol old colorless: /magic.mse-game/watermarks/watermark_c_old.png + + transparent mana symbol hi res white: /magic.mse-game/watermarks/watermark_w_big.png + transparent mana symbol hi res blue: /magic.mse-game/watermarks/watermark_u_big.png + transparent mana symbol hi res black: /magic.mse-game/watermarks/watermark_b_big.png + transparent mana symbol hi res red: /magic.mse-game/watermarks/watermark_r_big.png + transparent mana symbol hi res green: /magic.mse-game/watermarks/watermark_g_big.png + transparent mana symbol hi res colorless: /magic.mse-game/watermarks/watermark_c_big.png + + guild symbol The Azorius Senate (W/U): /magic.mse-game/watermarks/watermark_azorius2.png + guild symbol House Dimir (U/B): /magic.mse-game/watermarks/watermark_dimir2.png + guild symbol The Cult of Rakdos (B/R): /magic.mse-game/watermarks/watermark_rakados2.png + guild symbol The Gruul Clans (R/G): /magic.mse-game/watermarks/watermark_gruul2.png + guild symbol The Selesnya Conclave (G/W): /magic.mse-game/watermarks/watermark_selesnya2.png + guild symbol The Orzhov Syndicate (W/B): /magic.mse-game/watermarks/watermark_orzhov2.png + guild symbol The Izzet (U/R): /magic.mse-game/watermarks/watermark_izzet2.png + guild symbol The Golgari (B/G): /magic.mse-game/watermarks/watermark_golgari2.png + guild symbol The Boros Legion (R/W): /magic.mse-game/watermarks/watermark_boros2.png + guild symbol The Simic Combine (G/U): /magic.mse-game/watermarks/watermark_simic2.png + + guild symbol originals The Azorius Senate (W/U): /magic.mse-game/watermarks/watermark_azorius.png + guild symbol originals House Dimir (U/B): /magic.mse-game/watermarks/watermark_dimir.png + guild symbol originals The Cult of Rakdos (B/R): /magic.mse-game/watermarks/watermark_rakados.png + guild symbol originals The Gruul Clans (R/G): /magic.mse-game/watermarks/watermark_gruul.png + guild symbol originals The Selesnya Conclave (G/W): /magic.mse-game/watermarks/watermark_selesnya.png + guild symbol originals The Orzhov Syndicate (W/B): /magic.mse-game/watermarks/watermark_orzhov.png + guild symbol originals The Izzet (U/R): /magic.mse-game/watermarks/watermark_izzet.png + guild symbol originals The Golgari (B/G): /magic.mse-game/watermarks/watermark_golgari.png + guild symbol originals The Boros Legion (R/W): /magic.mse-game/watermarks/watermark_boros.png + guild symbol originals The Simic Combine (G/U): /magic.mse-game/watermarks/watermark_simic.png + + guild symbol ancients The Azorius Senate (W/U): /magic.mse-game/watermarks/watermark-frazier-azorius.png + guild symbol ancients House Dimir (U/B): /magic.mse-game/watermarks/watermark-frazier-dimir.png + guild symbol ancients The Cult of Rakdos (B/R): /magic.mse-game/watermarks/watermark-frazier-rakdos.png + guild symbol ancients The Gruul Clans (R/G): /magic.mse-game/watermarks/watermark-frazier-gruul.png + guild symbol ancients The Selesnya Conclave (G/W): /magic.mse-game/watermarks/watermark-frazier-selesnya.png + guild symbol ancients The Orzhov Syndicate (W/B): /magic.mse-game/watermarks/watermark-frazier-orzhov.png + guild symbol ancients The Izzet (U/R): /magic.mse-game/watermarks/watermark-frazier-izzet.png + guild symbol ancients The Golgari (B/G): /magic.mse-game/watermarks/watermark-frazier-golgari.png + guild symbol ancients The Boros Legion (R/W): /magic.mse-game/watermarks/watermark-frazier-boros.png + guild symbol ancients The Simic Combine (G/U): /magic.mse-game/watermarks/watermark-frazier-simic.png + + faction symbol mirrodin: /magic.mse-game/watermarks/watermark_mirrodin.png + faction symbol phyrexia: /magic.mse-game/watermarks/watermark_phyrexia.png + + clan symbol The Abzan Houses (WBG): /magic.mse-game/watermarks/watermark_abzan.png + clan symbol The Jeskai Way (URW): /magic.mse-game/watermarks/watermark_jeskai.png + clan symbol The Sultai Brood (BGU): /magic.mse-game/watermarks/watermark_sultai.png + clan symbol The Mardu Horde (RWB): /magic.mse-game/watermarks/watermark_mardu.png + clan symbol The Temur Frontier (GUR): /magic.mse-game/watermarks/watermark_temur.png + + brood symbol Dromoka's Brood (GW): /magic.mse-game/watermarks/watermark_dromoka.png + brood symbol Ojutai's Brood (WU): /magic.mse-game/watermarks/watermark_ojutai.png + brood symbol Silumgar's Brood (UB): /magic.mse-game/watermarks/watermark_silumgar.png + brood symbol Kolaghan's Brood (BR): /magic.mse-game/watermarks/watermark_kolaghan.png + brood symbol Atarka's Brood (RG): /magic.mse-game/watermarks/watermark_atarka.png + + family symbol Brokers (GWU): /magic.mse-game/watermarks/capenna_brokers.png + family symbol Cabaretti (RGW): /magic.mse-game/watermarks/capenna_cabaretti.png + family symbol Maestros (UBR): /magic.mse-game/watermarks/capenna_maestros.png + family symbol Obscura (WUB): /magic.mse-game/watermarks/capenna_obscura.png + family symbol Riveteers (BRG): /magic.mse-game/watermarks/capenna_riveteers.png + + unstable factions Order of the Widget: /magic.mse-game/watermarks/unstable_widget.png + unstable factions Agents of S.N.E.A.K.: /magic.mse-game/watermarks/unstable_SNEAK.png + unstable factions League of Dastardly Doom: /magic.mse-game/watermarks/unstable_doom.png + unstable factions Goblin Explosioneers: /magic.mse-game/watermarks/unstable_explosioneers.png + unstable factions Crossbreed Labs: /magic.mse-game/watermarks/unstable_crossbreed.png + + colored xander hybrid mana W/U: /magic.mse-game/watermarks/watermark_wumana_colored.png + colored xander hybrid mana U/B: /magic.mse-game/watermarks/watermark_ubmana_colored.png + colored xander hybrid mana B/R: /magic.mse-game/watermarks/watermark_brmana_colored.png + colored xander hybrid mana R/G: /magic.mse-game/watermarks/watermark_rgmana_colored.png + colored xander hybrid mana G/W: /magic.mse-game/watermarks/watermark_gwmana_colored.png + colored xander hybrid mana W/B: /magic.mse-game/watermarks/watermark_wbmana_colored.png + colored xander hybrid mana U/R: /magic.mse-game/watermarks/watermark_urmana_colored.png + colored xander hybrid mana B/G: /magic.mse-game/watermarks/watermark_bgmana_colored.png + colored xander hybrid mana R/W: /magic.mse-game/watermarks/watermark_rwmana_colored.png + colored xander hybrid mana G/U: /magic.mse-game/watermarks/watermark_gumana_colored.png + + xander hybrid mana W/U: /magic.mse-game/watermarks/watermark_wumana.png + xander hybrid mana U/B: /magic.mse-game/watermarks/watermark_ubmana.png + xander hybrid mana B/R: /magic.mse-game/watermarks/watermark_brmana.png + xander hybrid mana R/G: /magic.mse-game/watermarks/watermark_rgmana.png + xander hybrid mana G/W: /magic.mse-game/watermarks/watermark_gwmana.png + xander hybrid mana W/B: /magic.mse-game/watermarks/watermark_wbmana.png + xander hybrid mana U/R: /magic.mse-game/watermarks/watermark_urmana.png + xander hybrid mana B/G: /magic.mse-game/watermarks/watermark_bgmana.png + xander hybrid mana R/W: /magic.mse-game/watermarks/watermark_rwmana.png + xander hybrid mana G/U: /magic.mse-game/watermarks/watermark_gumana.png + + future sight type symbols artifact: /magic.mse-game/watermarks/futsymbol_artifact.png + future sight type symbols creature: /magic.mse-game/watermarks/futsymbol_creature.png + future sight type symbols enchantment: /magic.mse-game/watermarks/futsymbol_enchantment.png + future sight type symbols instant: /magic.mse-game/watermarks/futsymbol_instant.png + future sight type symbols land: /magic.mse-game/watermarks/futsymbol_land.png + future sight type symbols multiple: /magic.mse-game/watermarks/futsymbol_multiple.png + future sight type symbols planeswalker: /magic.mse-game/watermarks/futsymbol_planeswalker.png + future sight type symbols sorcery: /magic.mse-game/watermarks/futsymbol_sorcery.png + future sight type symbols structure: /magic.mse-game/watermarks/futsymbol_structure.png + + other magic symbols aetherprint: /magic.mse-game/watermarks/aetherprint.png + other magic symbols desparked: /magic.mse-game/watermarks/desparked.png + other magic symbols chaos symbol: /magic.mse-game/watermarks/chaos.png + other magic symbols story spotlight: /magic.mse-game/watermarks/planeswalker.png + other magic symbols shooting star: /magic.mse-game/watermarks/shooting_star.png + other magic symbols the thran: /magic.mse-game/watermarks/thran.png + other magic symbols phyrexia: /magic.mse-game/watermarks/phyrexia.png + other magic symbols color pie: /magic.mse-game/watermarks/colorpie.png + other magic symbols judge academy: /magic.mse-game/watermarks/judge_academy.png + other magic symbols foretell: /magic.mse-game/watermarks/foretell.png + other magic symbols jace consortium: /magic.mse-game/watermarks/jace-consortium.png + other magic symbols seekers of carmot: /magic.mse-game/watermarks/seekersofcarmot.png + other magic symbols conspiracy stamp: /magic.mse-game/watermarks/conspiracy_stamp.png + + other magic symbols innistrad provinces stensia: /magic.mse-game/watermarks/stensia.png + other magic symbols innistrad provinces kessig: /magic.mse-game/watermarks/kessig.png + other magic symbols innistrad provinces gavony: /magic.mse-game/watermarks/gavony.png + other magic symbols innistrad provinces nephalia: /magic.mse-game/watermarks/nephalia.png + + other magic symbols theros poleis akros: /magic.mse-game/watermarks/akros.png + other magic symbols theros poleis meletis: /magic.mse-game/watermarks/meletis.png + other magic symbols theros poleis setessa: /magic.mse-game/watermarks/setessa.png + + alara symbols Bant: /magic.mse-game/watermarks/watermark_bant.png + alara symbols Esper: /magic.mse-game/watermarks/watermark_esper.png + alara symbols Grixis: /magic.mse-game/watermarks/watermark_grixis.png + alara symbols Jund: /magic.mse-game/watermarks/watermark_jund.png + alara symbols Naya: /magic.mse-game/watermarks/watermark_naya.png + + alara symbols colored Bant: /magic.mse-game/watermarks/watermark_bant_colored.png + alara symbols colored Esper: /magic.mse-game/watermarks/watermark_esper_colored.png + alara symbols colored Grixis: /magic.mse-game/watermarks/watermark_grixis_colored.png + alara symbols colored Jund: /magic.mse-game/watermarks/watermark_jund_colored.png + alara symbols colored Naya: /magic.mse-game/watermarks/watermark_naya_colored.png + + college symbols Silverquill: /magic.mse-game/watermarks/watermark_strix_silverquill.png + college symbols Prismari: /magic.mse-game/watermarks/watermark_strix_prismari.png + college symbols Witherbloom: /magic.mse-game/watermarks/watermark_strix_witherbloom.png + college symbols Lorehold: /magic.mse-game/watermarks/watermark_strix_lorehold.png + college symbols Quandrix: /magic.mse-game/watermarks/watermark_strix_quandrix.png + + universes beyond D&D: /magic.mse-game/watermarks/d&d.png + universes beyond transformers: /magic.mse-game/watermarks/transformers.png + universes beyond ponies applejack: /magic.mse-game/watermarks/ponies_apples.png + universes beyond ponies pinkie pie: /magic.mse-game/watermarks/ponies_balloons.png + universes beyond ponies fluttershy: /magic.mse-game/watermarks/ponies_butterflies.png + universes beyond ponies rarity: /magic.mse-game/watermarks/ponies_gems.png + universes beyond ponies rainbow dash: /magic.mse-game/watermarks/ponies_rainbow.png + universes beyond ponies twilight sparkle: /magic.mse-game/watermarks/ponies_sparkles.png + universes beyond ponies nightmare moon: /magic.mse-game/watermarks/ponies_waning_moon.png + universes beyond ponies luna: /magic.mse-game/watermarks/ponies_waxing_moon.png + + custom watermark one: script: watermark_blend(face:1, custom_watermark_1()) + custom watermark two: script: watermark_blend(face:1, custom_watermark_2()) + custom watermark three: script: watermark_blend(face:1, custom_watermark_3()) + custom watermark four: script: watermark_blend(face:1, custom_watermark_4()) + custom watermark five: script: watermark_blend(face:1, custom_watermark_5()) + custom watermark six: script: watermark_blend(face:1, custom_watermark_6()) + custom watermark seven: script: watermark_blend(face:1, custom_watermark_7()) + custom watermark eight: script: watermark_blend(face:1, custom_watermark_8()) + custom watermark nine: script: watermark_blend(face:1, custom_watermark_9()) + custom watermark ten: script: watermark_blend(face:1, custom_watermark_10()) + custom watermark card: script: watermark_blend(face:1, custom_watermark_a()) + + set symbol: script: shadow_watermark_blend(symbol_variation(symbol: set.symbol, variation: "watermark")) \ No newline at end of file diff --git a/data/magic.mse-game/watermarks/nephalia.png b/data/magic.mse-game/watermarks/nephalia.png new file mode 100644 index 000000000..4d6ac46b4 Binary files /dev/null and b/data/magic.mse-game/watermarks/nephalia.png differ diff --git a/data/magic.mse-game/watermarks/none.png b/data/magic.mse-game/watermarks/none.png new file mode 100644 index 000000000..fbef096a3 Binary files /dev/null and b/data/magic.mse-game/watermarks/none.png differ diff --git a/data/magic.mse-game/watermarks/phyrexia.png b/data/magic.mse-game/watermarks/phyrexia.png new file mode 100644 index 000000000..0299dd7f1 Binary files /dev/null and b/data/magic.mse-game/watermarks/phyrexia.png differ diff --git a/data/magic.mse-game/watermarks/planeswalker.png b/data/magic.mse-game/watermarks/planeswalker.png new file mode 100644 index 000000000..e2bbab670 Binary files /dev/null and b/data/magic.mse-game/watermarks/planeswalker.png differ diff --git a/data/magic.mse-game/watermarks/ponies_apples.png b/data/magic.mse-game/watermarks/ponies_apples.png new file mode 100644 index 000000000..63c429a83 Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_apples.png differ diff --git a/data/magic.mse-game/watermarks/ponies_balloons.png b/data/magic.mse-game/watermarks/ponies_balloons.png new file mode 100644 index 000000000..857176e50 Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_balloons.png differ diff --git a/data/magic.mse-game/watermarks/ponies_butterflies.png b/data/magic.mse-game/watermarks/ponies_butterflies.png new file mode 100644 index 000000000..9958d9e96 Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_butterflies.png differ diff --git a/data/magic.mse-game/watermarks/ponies_gems.png b/data/magic.mse-game/watermarks/ponies_gems.png new file mode 100644 index 000000000..a0607b21e Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_gems.png differ diff --git a/data/magic.mse-game/watermarks/ponies_rainbow.png b/data/magic.mse-game/watermarks/ponies_rainbow.png new file mode 100644 index 000000000..bba182d16 Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_rainbow.png differ diff --git a/data/magic.mse-game/watermarks/ponies_sparkles.png b/data/magic.mse-game/watermarks/ponies_sparkles.png new file mode 100644 index 000000000..0a2b5d6d8 Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_sparkles.png differ diff --git a/data/magic.mse-game/watermarks/ponies_waning_moon.png b/data/magic.mse-game/watermarks/ponies_waning_moon.png new file mode 100644 index 000000000..9bd7e716b Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_waning_moon.png differ diff --git a/data/magic.mse-game/watermarks/ponies_waxing_moon.png b/data/magic.mse-game/watermarks/ponies_waxing_moon.png new file mode 100644 index 000000000..fa06ddf84 Binary files /dev/null and b/data/magic.mse-game/watermarks/ponies_waxing_moon.png differ diff --git a/data/magic.mse-game/watermarks/seekersofcarmot.png b/data/magic.mse-game/watermarks/seekersofcarmot.png new file mode 100644 index 000000000..f75ff463d Binary files /dev/null and b/data/magic.mse-game/watermarks/seekersofcarmot.png differ diff --git a/data/magic.mse-game/watermarks/setessa.png b/data/magic.mse-game/watermarks/setessa.png new file mode 100644 index 000000000..eb7236c0f Binary files /dev/null and b/data/magic.mse-game/watermarks/setessa.png differ diff --git a/data/magic.mse-game/watermarks/shooting_star.png b/data/magic.mse-game/watermarks/shooting_star.png new file mode 100644 index 000000000..0a5f58c26 Binary files /dev/null and b/data/magic.mse-game/watermarks/shooting_star.png differ diff --git a/data/magic.mse-game/watermarks/stensia.png b/data/magic.mse-game/watermarks/stensia.png new file mode 100644 index 000000000..3301769b1 Binary files /dev/null and b/data/magic.mse-game/watermarks/stensia.png differ diff --git a/data/magic.mse-game/watermarks/thran.png b/data/magic.mse-game/watermarks/thran.png new file mode 100644 index 000000000..00b873b28 Binary files /dev/null and b/data/magic.mse-game/watermarks/thran.png differ diff --git a/data/magic.mse-game/watermarks/transformers.png b/data/magic.mse-game/watermarks/transformers.png new file mode 100644 index 000000000..b3cfdf727 Binary files /dev/null and b/data/magic.mse-game/watermarks/transformers.png differ diff --git a/data/magic.mse-game/watermarks/unstable_SNEAK.png b/data/magic.mse-game/watermarks/unstable_SNEAK.png new file mode 100644 index 000000000..f27004908 Binary files /dev/null and b/data/magic.mse-game/watermarks/unstable_SNEAK.png differ diff --git a/data/magic.mse-game/watermarks/unstable_crossbreed.png b/data/magic.mse-game/watermarks/unstable_crossbreed.png new file mode 100644 index 000000000..f23fb10be Binary files /dev/null and b/data/magic.mse-game/watermarks/unstable_crossbreed.png differ diff --git a/data/magic.mse-game/watermarks/unstable_doom.png b/data/magic.mse-game/watermarks/unstable_doom.png new file mode 100644 index 000000000..4dc1f8b4b Binary files /dev/null and b/data/magic.mse-game/watermarks/unstable_doom.png differ diff --git a/data/magic.mse-game/watermarks/unstable_explosioneers.png b/data/magic.mse-game/watermarks/unstable_explosioneers.png new file mode 100644 index 000000000..ca4e000a2 Binary files /dev/null and b/data/magic.mse-game/watermarks/unstable_explosioneers.png differ diff --git a/data/magic.mse-game/watermarks/unstable_widget.png b/data/magic.mse-game/watermarks/unstable_widget.png new file mode 100644 index 000000000..89ac6f70e Binary files /dev/null and b/data/magic.mse-game/watermarks/unstable_widget.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-azorius.png b/data/magic.mse-game/watermarks/watermark-frazier-azorius.png new file mode 100644 index 000000000..7aa3e4aa3 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-azorius.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-boros.png b/data/magic.mse-game/watermarks/watermark-frazier-boros.png new file mode 100644 index 000000000..bcbd3bc4b Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-boros.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-dimir.png b/data/magic.mse-game/watermarks/watermark-frazier-dimir.png new file mode 100644 index 000000000..4d5638872 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-dimir.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-golgari.png b/data/magic.mse-game/watermarks/watermark-frazier-golgari.png new file mode 100644 index 000000000..a0522bd8f Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-golgari.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-gruul.png b/data/magic.mse-game/watermarks/watermark-frazier-gruul.png new file mode 100644 index 000000000..3570d98ab Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-gruul.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-izzet.png b/data/magic.mse-game/watermarks/watermark-frazier-izzet.png new file mode 100644 index 000000000..64d4b1bc6 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-izzet.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-orzhov.png b/data/magic.mse-game/watermarks/watermark-frazier-orzhov.png new file mode 100644 index 000000000..f79677d7b Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-orzhov.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-rakdos.png b/data/magic.mse-game/watermarks/watermark-frazier-rakdos.png new file mode 100644 index 000000000..1dcb48e02 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-rakdos.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-selesnya.png b/data/magic.mse-game/watermarks/watermark-frazier-selesnya.png new file mode 100644 index 000000000..3946c762d Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-selesnya.png differ diff --git a/data/magic.mse-game/watermarks/watermark-frazier-simic.png b/data/magic.mse-game/watermarks/watermark-frazier-simic.png new file mode 100644 index 000000000..3add3fd85 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark-frazier-simic.png differ diff --git a/data/magic.mse-game/watermarks/watermark_abzan.png b/data/magic.mse-game/watermarks/watermark_abzan.png new file mode 100644 index 000000000..a6a81877d Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_abzan.png differ diff --git a/data/magic.mse-game/watermarks/watermark_atarka.png b/data/magic.mse-game/watermarks/watermark_atarka.png new file mode 100644 index 000000000..d4f2181b8 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_atarka.png differ diff --git a/data/magic.mse-game/watermarks/watermark_azorius.png b/data/magic.mse-game/watermarks/watermark_azorius.png new file mode 100644 index 000000000..e507c0bd1 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_azorius.png differ diff --git a/data/magic.mse-game/watermarks/watermark_azorius2.png b/data/magic.mse-game/watermarks/watermark_azorius2.png new file mode 100644 index 000000000..4c88f8c24 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_azorius2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_b.png b/data/magic.mse-game/watermarks/watermark_b.png new file mode 100644 index 000000000..89edfc42f Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_b.png differ diff --git a/data/magic.mse-game/watermarks/watermark_b_big.png b/data/magic.mse-game/watermarks/watermark_b_big.png new file mode 100644 index 000000000..90f06badd Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_b_big.png differ diff --git a/data/magic.mse-game/watermarks/watermark_b_old.png b/data/magic.mse-game/watermarks/watermark_b_old.png new file mode 100644 index 000000000..12eb7c6ab Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_b_old.png differ diff --git a/data/magic.mse-game/watermarks/watermark_bant.png b/data/magic.mse-game/watermarks/watermark_bant.png new file mode 100644 index 000000000..572e29ad4 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_bant.png differ diff --git a/data/magic.mse-game/watermarks/watermark_bant_colored.png b/data/magic.mse-game/watermarks/watermark_bant_colored.png new file mode 100644 index 000000000..86e42c45b Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_bant_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_bgmana.png b/data/magic.mse-game/watermarks/watermark_bgmana.png new file mode 100644 index 000000000..6555dd729 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_bgmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_bgmana_colored.png b/data/magic.mse-game/watermarks/watermark_bgmana_colored.png new file mode 100644 index 000000000..0ae2cac63 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_bgmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_boros.png b/data/magic.mse-game/watermarks/watermark_boros.png new file mode 100644 index 000000000..a36f168ee Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_boros.png differ diff --git a/data/magic.mse-game/watermarks/watermark_boros2.png b/data/magic.mse-game/watermarks/watermark_boros2.png new file mode 100644 index 000000000..0bbd683cc Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_boros2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_brmana.png b/data/magic.mse-game/watermarks/watermark_brmana.png new file mode 100644 index 000000000..d95710630 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_brmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_brmana_colored.png b/data/magic.mse-game/watermarks/watermark_brmana_colored.png new file mode 100644 index 000000000..42720c84d Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_brmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_c.png b/data/magic.mse-game/watermarks/watermark_c.png new file mode 100644 index 000000000..53403fac1 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_c.png differ diff --git a/data/magic.mse-game/watermarks/watermark_c_big.png b/data/magic.mse-game/watermarks/watermark_c_big.png new file mode 100644 index 000000000..413643c2d Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_c_big.png differ diff --git a/data/magic.mse-game/watermarks/watermark_c_old.png b/data/magic.mse-game/watermarks/watermark_c_old.png new file mode 100644 index 000000000..d053f2961 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_c_old.png differ diff --git a/data/magic.mse-game/watermarks/watermark_dimir.png b/data/magic.mse-game/watermarks/watermark_dimir.png new file mode 100644 index 000000000..c1e3b60ff Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_dimir.png differ diff --git a/data/magic.mse-game/watermarks/watermark_dimir2.png b/data/magic.mse-game/watermarks/watermark_dimir2.png new file mode 100644 index 000000000..f591369e6 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_dimir2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_dromoka.png b/data/magic.mse-game/watermarks/watermark_dromoka.png new file mode 100644 index 000000000..f404d63c4 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_dromoka.png differ diff --git a/data/magic.mse-game/watermarks/watermark_esper.png b/data/magic.mse-game/watermarks/watermark_esper.png new file mode 100644 index 000000000..438a003b8 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_esper.png differ diff --git a/data/magic.mse-game/watermarks/watermark_esper_colored.png b/data/magic.mse-game/watermarks/watermark_esper_colored.png new file mode 100644 index 000000000..7d57d0026 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_esper_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_g.png b/data/magic.mse-game/watermarks/watermark_g.png new file mode 100644 index 000000000..03e62c8df Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_g.png differ diff --git a/data/magic.mse-game/watermarks/watermark_g_big.png b/data/magic.mse-game/watermarks/watermark_g_big.png new file mode 100644 index 000000000..1d5615f16 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_g_big.png differ diff --git a/data/magic.mse-game/watermarks/watermark_g_old.png b/data/magic.mse-game/watermarks/watermark_g_old.png new file mode 100644 index 000000000..17fbda0ce Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_g_old.png differ diff --git a/data/magic.mse-game/watermarks/watermark_golgari.png b/data/magic.mse-game/watermarks/watermark_golgari.png new file mode 100644 index 000000000..976e75b2a Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_golgari.png differ diff --git a/data/magic.mse-game/watermarks/watermark_golgari2.png b/data/magic.mse-game/watermarks/watermark_golgari2.png new file mode 100644 index 000000000..95b6a014a Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_golgari2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_grixis.png b/data/magic.mse-game/watermarks/watermark_grixis.png new file mode 100644 index 000000000..cb144c6b0 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_grixis.png differ diff --git a/data/magic.mse-game/watermarks/watermark_grixis_colored.png b/data/magic.mse-game/watermarks/watermark_grixis_colored.png new file mode 100644 index 000000000..b5792e7ea Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_grixis_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_gruul.png b/data/magic.mse-game/watermarks/watermark_gruul.png new file mode 100644 index 000000000..7b9fb347e Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_gruul.png differ diff --git a/data/magic.mse-game/watermarks/watermark_gruul2.png b/data/magic.mse-game/watermarks/watermark_gruul2.png new file mode 100644 index 000000000..ede47398d Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_gruul2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_gumana.png b/data/magic.mse-game/watermarks/watermark_gumana.png new file mode 100644 index 000000000..2e48e96f3 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_gumana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_gumana_colored.png b/data/magic.mse-game/watermarks/watermark_gumana_colored.png new file mode 100644 index 000000000..243006136 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_gumana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_gwmana.png b/data/magic.mse-game/watermarks/watermark_gwmana.png new file mode 100644 index 000000000..73a8f8b64 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_gwmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_gwmana_colored.png b/data/magic.mse-game/watermarks/watermark_gwmana_colored.png new file mode 100644 index 000000000..8cac3cb10 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_gwmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_izzet.png b/data/magic.mse-game/watermarks/watermark_izzet.png new file mode 100644 index 000000000..8fc2d9857 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_izzet.png differ diff --git a/data/magic.mse-game/watermarks/watermark_izzet2.png b/data/magic.mse-game/watermarks/watermark_izzet2.png new file mode 100644 index 000000000..24f20d38b Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_izzet2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_jeskai.png b/data/magic.mse-game/watermarks/watermark_jeskai.png new file mode 100644 index 000000000..7accd2c14 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_jeskai.png differ diff --git a/data/magic.mse-game/watermarks/watermark_jund.png b/data/magic.mse-game/watermarks/watermark_jund.png new file mode 100644 index 000000000..ecf140a97 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_jund.png differ diff --git a/data/magic.mse-game/watermarks/watermark_jund_colored.png b/data/magic.mse-game/watermarks/watermark_jund_colored.png new file mode 100644 index 000000000..ccc11dcaf Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_jund_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_kolaghan.png b/data/magic.mse-game/watermarks/watermark_kolaghan.png new file mode 100644 index 000000000..2ffd5bf02 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_kolaghan.png differ diff --git a/data/magic.mse-game/watermarks/watermark_mardu.png b/data/magic.mse-game/watermarks/watermark_mardu.png new file mode 100644 index 000000000..314a340f7 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_mardu.png differ diff --git a/data/magic.mse-game/watermarks/watermark_mirrodin.png b/data/magic.mse-game/watermarks/watermark_mirrodin.png new file mode 100644 index 000000000..67ee5c1e4 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_mirrodin.png differ diff --git a/data/magic.mse-game/watermarks/watermark_naya.png b/data/magic.mse-game/watermarks/watermark_naya.png new file mode 100644 index 000000000..4abc88bc4 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_naya.png differ diff --git a/data/magic.mse-game/watermarks/watermark_naya_colored.png b/data/magic.mse-game/watermarks/watermark_naya_colored.png new file mode 100644 index 000000000..d8f61ecc9 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_naya_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_ojutai.png b/data/magic.mse-game/watermarks/watermark_ojutai.png new file mode 100644 index 000000000..0c5096a4c Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_ojutai.png differ diff --git a/data/magic.mse-game/watermarks/watermark_orzhov.png b/data/magic.mse-game/watermarks/watermark_orzhov.png new file mode 100644 index 000000000..a28a527c6 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_orzhov.png differ diff --git a/data/magic.mse-game/watermarks/watermark_orzhov2.png b/data/magic.mse-game/watermarks/watermark_orzhov2.png new file mode 100644 index 000000000..46e4a91ae Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_orzhov2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_phyrexia.png b/data/magic.mse-game/watermarks/watermark_phyrexia.png new file mode 100644 index 000000000..87fb6c6d5 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_phyrexia.png differ diff --git a/data/magic.mse-game/watermarks/watermark_r.png b/data/magic.mse-game/watermarks/watermark_r.png new file mode 100644 index 000000000..b6f597b56 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_r.png differ diff --git a/data/magic.mse-game/watermarks/watermark_r_big.png b/data/magic.mse-game/watermarks/watermark_r_big.png new file mode 100644 index 000000000..1219b637a Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_r_big.png differ diff --git a/data/magic.mse-game/watermarks/watermark_r_old.png b/data/magic.mse-game/watermarks/watermark_r_old.png new file mode 100644 index 000000000..eba184908 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_r_old.png differ diff --git a/data/magic.mse-game/watermarks/watermark_rakados.png b/data/magic.mse-game/watermarks/watermark_rakados.png new file mode 100644 index 000000000..f6700a7f1 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_rakados.png differ diff --git a/data/magic.mse-game/watermarks/watermark_rakados2.png b/data/magic.mse-game/watermarks/watermark_rakados2.png new file mode 100644 index 000000000..67f92f0a9 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_rakados2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_rgmana.png b/data/magic.mse-game/watermarks/watermark_rgmana.png new file mode 100644 index 000000000..b5eb78efa Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_rgmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_rgmana_colored.png b/data/magic.mse-game/watermarks/watermark_rgmana_colored.png new file mode 100644 index 000000000..a45ca035f Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_rgmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_rwmana.png b/data/magic.mse-game/watermarks/watermark_rwmana.png new file mode 100644 index 000000000..e92313d05 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_rwmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_rwmana_colored.png b/data/magic.mse-game/watermarks/watermark_rwmana_colored.png new file mode 100644 index 000000000..8f7f8b0ea Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_rwmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_s.png b/data/magic.mse-game/watermarks/watermark_s.png new file mode 100644 index 000000000..eb0aef050 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_s.png differ diff --git a/data/magic.mse-game/watermarks/watermark_selesnya.png b/data/magic.mse-game/watermarks/watermark_selesnya.png new file mode 100644 index 000000000..119412c6a Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_selesnya.png differ diff --git a/data/magic.mse-game/watermarks/watermark_selesnya2.png b/data/magic.mse-game/watermarks/watermark_selesnya2.png new file mode 100644 index 000000000..4dfd50b59 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_selesnya2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_silumgar.png b/data/magic.mse-game/watermarks/watermark_silumgar.png new file mode 100644 index 000000000..2fca3b99a Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_silumgar.png differ diff --git a/data/magic.mse-game/watermarks/watermark_simic.png b/data/magic.mse-game/watermarks/watermark_simic.png new file mode 100644 index 000000000..f70603880 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_simic.png differ diff --git a/data/magic.mse-game/watermarks/watermark_simic2.png b/data/magic.mse-game/watermarks/watermark_simic2.png new file mode 100644 index 000000000..dad9bba59 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_simic2.png differ diff --git a/data/magic.mse-game/watermarks/watermark_strix_lorehold.png b/data/magic.mse-game/watermarks/watermark_strix_lorehold.png new file mode 100644 index 000000000..98a38a4ca Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_strix_lorehold.png differ diff --git a/data/magic.mse-game/watermarks/watermark_strix_prismari.png b/data/magic.mse-game/watermarks/watermark_strix_prismari.png new file mode 100644 index 000000000..ed1a6284b Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_strix_prismari.png differ diff --git a/data/magic.mse-game/watermarks/watermark_strix_quandrix.png b/data/magic.mse-game/watermarks/watermark_strix_quandrix.png new file mode 100644 index 000000000..f6d3a0687 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_strix_quandrix.png differ diff --git a/data/magic.mse-game/watermarks/watermark_strix_silverquill.png b/data/magic.mse-game/watermarks/watermark_strix_silverquill.png new file mode 100644 index 000000000..5b2a418dd Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_strix_silverquill.png differ diff --git a/data/magic.mse-game/watermarks/watermark_strix_witherbloom.png b/data/magic.mse-game/watermarks/watermark_strix_witherbloom.png new file mode 100644 index 000000000..cc1bd58cf Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_strix_witherbloom.png differ diff --git a/data/magic.mse-game/watermarks/watermark_sultai.png b/data/magic.mse-game/watermarks/watermark_sultai.png new file mode 100644 index 000000000..57c54496a Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_sultai.png differ diff --git a/data/magic.mse-game/watermarks/watermark_temur.png b/data/magic.mse-game/watermarks/watermark_temur.png new file mode 100644 index 000000000..1b5f11ee5 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_temur.png differ diff --git a/data/magic.mse-game/watermarks/watermark_u.png b/data/magic.mse-game/watermarks/watermark_u.png new file mode 100644 index 000000000..5bb262ebd Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_u.png differ diff --git a/data/magic.mse-game/watermarks/watermark_u_big.png b/data/magic.mse-game/watermarks/watermark_u_big.png new file mode 100644 index 000000000..0abc28a40 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_u_big.png differ diff --git a/data/magic.mse-game/watermarks/watermark_u_old.png b/data/magic.mse-game/watermarks/watermark_u_old.png new file mode 100644 index 000000000..7db5ec276 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_u_old.png differ diff --git a/data/magic.mse-game/watermarks/watermark_ubmana.png b/data/magic.mse-game/watermarks/watermark_ubmana.png new file mode 100644 index 000000000..b8ec5c6ed Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_ubmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_ubmana_colored.png b/data/magic.mse-game/watermarks/watermark_ubmana_colored.png new file mode 100644 index 000000000..87f4495e3 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_ubmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_urmana.png b/data/magic.mse-game/watermarks/watermark_urmana.png new file mode 100644 index 000000000..35e0a7144 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_urmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_urmana_colored.png b/data/magic.mse-game/watermarks/watermark_urmana_colored.png new file mode 100644 index 000000000..a9c533eef Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_urmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_w.png b/data/magic.mse-game/watermarks/watermark_w.png new file mode 100644 index 000000000..3db3fef4d Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_w.png differ diff --git a/data/magic.mse-game/watermarks/watermark_w_big.png b/data/magic.mse-game/watermarks/watermark_w_big.png new file mode 100644 index 000000000..eb8c492e2 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_w_big.png differ diff --git a/data/magic.mse-game/watermarks/watermark_w_old.png b/data/magic.mse-game/watermarks/watermark_w_old.png new file mode 100644 index 000000000..eb731e32a Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_w_old.png differ diff --git a/data/magic.mse-game/watermarks/watermark_wbmana.png b/data/magic.mse-game/watermarks/watermark_wbmana.png new file mode 100644 index 000000000..fb4d129eb Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_wbmana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_wbmana_colored.png b/data/magic.mse-game/watermarks/watermark_wbmana_colored.png new file mode 100644 index 000000000..14b84b935 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_wbmana_colored.png differ diff --git a/data/magic.mse-game/watermarks/watermark_wumana.png b/data/magic.mse-game/watermarks/watermark_wumana.png new file mode 100644 index 000000000..b796cf975 Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_wumana.png differ diff --git a/data/magic.mse-game/watermarks/watermark_wumana_colored.png b/data/magic.mse-game/watermarks/watermark_wumana_colored.png new file mode 100644 index 000000000..efa2193ef Binary files /dev/null and b/data/magic.mse-game/watermarks/watermark_wumana_colored.png differ diff --git a/magicseteditor 213.exe b/magicseteditor 213.exe new file mode 100644 index 000000000..458e41bfd Binary files /dev/null and b/magicseteditor 213.exe differ