mse version: 2.0.0 game: magic short name: Classicshifted Leveler full name: Classicshifted Leveler Style icon: card-sample.png position hint: 278 installer group: magic/Classicshifted/leveler cards version: 2024-05-29 depends on: package: magic.mse-game version: 2010-04-06 depends on: package: magic-default-image.mse-include version: 2007-09-23 depends on: package: magic-mana-large.mse-symbol-font version: 2007-09-23 depends on: package: magic-mana-small.mse-symbol-font version: 2007-09-23 depends on: package: magic-modules.mse-include version: 2024-10-01 card width: 375 card height: 523 card dpi: 150 ############################################################## Extra scripts init script: watermark_include := "/magic-modules.mse-include/watermarks" # Load scripts for image box include file: /magic-default-image.mse-include/scripts # Should hybrids have a grey name? mask_hybrid_with_land := { styling.grey_hybrid_name } #Should multicolor lands with basic land types have a colored name? mask_multi_land_with_color := { styling.colored_multicolor_land_name } template_suffix := [card: "card.jpg", pt: "pt.png"] template := { input + template_suffix[type] } land_template := { (if input == "a" then "c" else input) + "l" + template_suffix[type] } # Use land templates for previews because they show more contrast hybrid_previews := "land,hybrid" # Use the normal tap symbol mana_t := { if styling.tap_symbol == "old" then "old" else if styling.tap_symbol == "diagonal T" then "older" else "new" } # Use guild mana symbols? guild_mana := { styling.use_guild_mana_symbols } # Declare the card shape. card_shape := { "leveler" } # Replacing the text_filter() from game file because all three rule text fields should call card.name card_name_replace := replace@( match: "CARDNAME" replace: "" + (if card.name=="" then "CARDNAME" else card.name) + "") # Alpha style lands? color_combination_std := color_combination color_combination := { if type == "card" and land and color_count == 2 and shape != "overlay" and styling.alpha_style_blending then masked_blend( mask: "alpha_blend.png", dark: land_template(colors[0]), light: land_template(colors[1]), ) else color_combination_std() } card_symbol_offset_top_1 := {2} card_symbol_offset_left_1 := {2} watermark_include := "/magic-modules.mse-include/watermarks" ############################################################## Set info fields set info style: symbol: variation: name: invertedcommon border radius: 0.10 fill type: solid fill color: rgb(255,255,255) border color: rgb(0,0,0) ############################################################## Extra style options styling field: type: choice name: cardname font description: Use Matrix or MagicMedieval for the cardname font? initial: Matrix choice: Matrix choice: MagicMedieval styling field: type: boolean name: grey hybrid name description: Use a grey background for the name and type line on hybrid cards. This is done on real cards. styling field: type: boolean name: colored multicolor land name description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards. styling field: type: boolean name: use guild mana symbols description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. initial: no styling field: type: choice name: tap symbol description: What tap and untap symbols should be used on cards? initial: modern choice: modern choice: old choice: diagonal T styling field: type: package choice name: text box mana symbols match: magic-mana-*.mse-symbol-font initial: magic-mana-small.mse-symbol-font styling field: type: choice name: center text description: When to center text (short text only means only on one-line cards with no flavor text) choice: always choice: short text only choice: never initial: never styling field: type: boolean name: alpha style blending description: Use Alpha-style dual blending initial: no styling field: type: boolean name: inverted common symbol description: Should the common rarity symbol be inverted, like in Coldsnap? initial: no styling field: type: package choice name: overlay description: Should there be an overlay applied, such as foil? match: magic-overlay-*.mse-include required: false styling field: type: choice name: image size description: Should the art extend into a transparent textbox? initial: standard choice: standard choice: extended styling style: use guild mana symbols: choice images: yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png no: /magic-mana-small.mse-symbol-font/mana_rg.png tap symbol: render style: both choice images: modern: /magic-mana-large.mse-symbol-font/mana_t.png old: /magic-mana-large.mse-symbol-font/mana_t_old.png diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png center text: render style: both choice images: always: /magic.mse-game/icons/center-all-text.png short text only: /magic.mse-game/icons/center-short-text.png never: /magic.mse-game/icons/center-no-text.png inverted common symbol: choice images: no: { symbol_variation(symbol: set.symbol, variation: "common") } yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } image size: render style: both choice images: standard: /magic.mse-game/icons/small-image.png extended: /magic.mse-game/icons/large-image.png ############################################################## Card fields include file: /magic-modules.mse-include/corners/card_fields include file: /magic-modules.mse-include/information/the_list_old card style: ############################# Background stuff border color: left: 0 top : 0 width: 375 height: 523 radius: 18 left width: 17 right width: 17 top width: 17 bottom width: 18 z index: 5 card color: left: 0 top: 0 width: 375 height: 523 z index: 0 render style: image popup style: in place image: { card_background() } ############################# Name line name: left: { if card.card_symbol=="none" then 32 else 51 } top : 30 right: { 341 - card_style.casting_cost.content_width } height: 23 alignment: bottom shrink-overflow padding bottom: 0 z index: 1 font: name: { if styling.cardname_font == "Matrix" then "Matrix" else if styling.cardname_font == "MagicMedieval" then "MagicMedieval" else "Matrix" } size: { if styling.cardname_font == "Matrix" then "17" else if styling.cardname_font == "MatrixBoldSmallCaps" then "15" else "15" } color: rgb(0,0,0) casting cost: right: 343 top : 31 width: { max(30, card_style.casting_cost.content_width) + 5 } height: 23 alignment: middle right font: name: MPlantin size: 15 symbol font: name: magic-mana-large size: 15 alignment: middle right always symbol: true z index: 2 padding top: 0 card symbol: left: {if card.card_symbol=="none" then 20 else 28} top : 31 height: 21 width: 23 z index: 5 render style: image image: { card_symbol_image(face: 1) } ############################# Image image: left: 32 top: 62 width: 311 height: { if styling.image_size == "extended" then 408 else 228 } z index: 1 mask: script: if styling.image_size == "extended" then "imagemask_extended.png" else "imagemask_standard.png" default: {default_image(card.card_color)} ############################# Card type type: left: 35 top : 298 width: { 308 - max(22,card_style.rarity.content_width) } height: 20 alignment: top shrink-overflow z index: 1 padding top: 2 font: name: Matrix size: 14 color: black separator color: rgb(128,128,128) rarity: right: 342 top : 297 width: 44 height: 22 z index: 2 render style: image alignment: middle right include file: /magic-modules.mse-include/rarities/choice_images ############################# Text box ############### rule text 2 and 3 are in extra card fields rule text: left: 31 top: 328 right: {if card.pt != "" then 277 else 342} height: 47 font: name: MPlantin italic name: MPlantin-Italic size: 14 scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: 14 alignment: script: if (styling.center_text == "short text only" and not contains(match:"\n", card.rule_text) and card.flavor_text == "" and card_style.text.content_lines <= 2) or styling.center_text == "always" then "middle center" else "middle left" z index: 2 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 watermark: left: 117 top : 321 width: 138 height: 156 z index: 1 render style: image alignment: middle center include file: /magic.mse-game/watermarks/menu_choice_images image: { watermark_image_1() } ############################# Levels level 1: z index: 3 left: 38 top: 393 width: 34 height: 22 alignment: center middle shrink-overflow font: name: ModMatrix size: 17 weight: bold color: black shadow color: white shadow blur: 2 level 2: z index: 3 left: 38 top: 440 width: 34 height: 22 alignment: center middle shrink-overflow font: name: ModMatrix size: 17 weight: bold color: black shadow color: white shadow blur: 2 ############################# PT pt: z index: 3 left: 284 top: 340 width: 60 height: 28 alignment: center middle shrink-overflow font: name: ModMatrix size: 17 weight: bold color: black separator color: rgb(200,0,0) pt 2: z index: 3 left: 284 top: 387 width: 60 height: 28 alignment: center middle shrink-overflow font: name: ModMatrix size: 17 weight: bold color: black separator color: rgb(200,0,0) pt 3: z index: 3 left: 284 top: 434 width: 60 height: 28 alignment: center middle shrink-overflow font: name: ModMatrix size: 17 weight: bold color: black separator color: rgb(200,0,0) ############################# Card sorting / numbering ############################# Copyright stuff illustrator: left: 56 top : 478 width: 217 height: 16 z index: 1 font: name: Matrix size: 10 weight: bold color: { font_color(card.card_color) } copyright line: left: 30 top : 493 width: 247 height: 12 z index: 1 font: name: MPlantin size: 6.5 color: { font_color(card.card_color) } ############################################################## Extra card fields extra card field: type: choice name: pt box script: card.card_color editable: false save value: false # Add a shadow because the shadow is masked away. extra card field: type: choice name: pt box shadow choice: shadow editable: false save value: false extra card field: type: choice name: pt box 2 script: card.card_color editable: false save value: false # Add a shadow because the shadow is masked away. extra card field: type: choice name: pt box shadow 2 choice: shadow editable: false save value: false extra card field: type: choice name: pt box 3 script: card.card_color editable: false save value: false # Add a shadow because the shadow is masked away. extra card field: type: choice name: pt box shadow 3 choice: shadow editable: false save value: false extra card field: type: choice name: foil layer choice: foil save value: false editable: false # Add the bevel and shadows for the levelup arrow. extra card field: type: choice name: lvlup texture 1 choice: image save value: false editable: false # Add the bevel and shadows for the levelup arrow. extra card field: type: choice name: lvlup texture 2 choice: image save value: false editable: false # This field gets set to combine mode multiply, to slightly darken first arrow. extra card field: type: choice name: lvlup multiply 1 choice: image save value: false editable: false # This field gets set to combine mode multiply, to darken second arrow by more. extra card field: type: choice name: lvlup multiply 2 choice: image save value: false editable: false # Add the word "LEVEL" to the first arrow. extra card field: type: text name: lvl label 1 editable: false save value: false script: "LEVEL" # Repeat the word "LEVEL" with more shadow to give illusion of outline. extra card field: type: text name: lvl label 1 copy 1 editable: false save value: false script: "LEVEL" # Add the word "LEVEL" to the second arrow. extra card field: type: text name: lvl label 2 editable: false save value: false script: "LEVEL" # Repeat the word "LEVEL" with more shadow to give illusion of outline. extra card field: type: text name: lvl label 2 copy 1 editable: false save value: false script: "LEVEL" # Repeat the first level with more shadow to give illusion of outline. extra card field: type: text name: level 1 copy 1 editable: false save value: false script: card.level_1 # Repeat the second level with more shadow to give illusion of outline. extra card field: type: text name: level 2 copy 1 editable: false save value: false script: card.level_2 # Forward the second rule text so we can intercept and replace card.name_2 with card.name. extra card field: type: text name: forwarded rule text 2 multi line: true save value: false script: card_name_replace(forward_editor(field: card.rule_text_2)) description: The second rules text box # Combine rule text 2 and flavor text to allow flavor on levelers. extra card field: type: text name: rule text 3 with flavor multi line: true save value: false script: combined_editor(field1: card.rule_text_3, separator: "\n", field2: card.flavor_text) description: The third rules text box and flavor text for the card; use up and down arrows to switch extra card style: pt box: left: 271 top: 335 width: 81 height: 42 z index: 2 mask: ptmask.png visible: { card.pt != "" } render style: image image: { leveler_ptbox() } pt box shadow: left: 271 top: 335 width: 81 height: 42 z index: 1 visible: { card.pt != "" } render style: image image: ptbox_shadow.png pt box 2: left: 271 top: 382 width: 81 height: 42 z index: 2 mask: ptmask.png visible: { card.pt_2 != "" } render style: image image: {combine_blend(image1: leveler_ptbox2(), image2: "ptbox_multiply_1.png", combine: "multiply")} pt box shadow 2: left: 271 top: 382 width: 81 height: 42 z index: 1 visible: { card.pt_2 != "" } render style: image image: ptbox_shadow.png pt box 3: left: 271 top: 429 width: 81 height: 42 z index: 2 mask: ptmask.png visible: { card.pt_3 != "" } render style: image image: {combine_blend(image1: leveler_ptbox3(), image2: "ptbox_multiply_2.png", combine: "multiply")} pt box shadow 3: left: 271 top: 429 width: 81 height: 42 z index: 1 visible: { card.pt_3 != "" } render style: image image: ptbox_shadow.png foil layer: left: 0 top: 0 width: 375 height: 523 z index: 1050 render style: image image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} lvlup texture 1: left: 0 top: 0 width: 375 height: 523 z index: 2 render style: image image: lvlup_texture_1.png visible: {card.level_1 != ""} lvlup texture 2: left: 0 top: 0 width: 375 height: 523 z index: 2 render style: image image: lvlup_texture_2.png visible: {card.level_2 != ""} lvlup multiply 1: left: 0 top: 0 width: 375 height: 523 z index: 1 render style: image image: {set_combine(input: "lvlup_multiply_1.png", combine: "multiply")} visible: {card.level_1 != ""} lvlup multiply 1: left: 0 top: 0 width: 375 height: 523 z index: 1 render style: image image: {set_combine(input: "lvlup_multiply_2.png", combine: "multiply")} visible: {card.level_2 != ""} lvl label 1: left: 50 top: 386 width: 10 height: 10 z index: 3 alignment: middle center font: name: MPlantin size: 5.5 color: black shadow color: white shadow blur: 2 visible: {card.level_1 != ""} lvl label 1 copy 1: left: 50 top: 386 width: 10 height: 10 z index: 3 alignment: middle center font: name: MPlantin size: 5.5 color: black shadow color: white shadow blur: 2 visible: {card.level_1 != ""} lvl label 2: left: 50 top: 433 width: 10 height: 10 z index: 3 alignment: middle center font: name: MPlantin size: 5.5 color: black shadow color: white shadow blur: 2 visible: {card.level_2 != ""} lvl label 2 copy 1: left: 50 top: 433 width: 10 height: 10 z index: 3 alignment: middle center font: name: MPlantin size: 5.5 color: black shadow color: white shadow blur: 2 visible: {card.level_2 != ""} level 1 copy 1: z index: 3 left: 38 top: 393 width: 34 height: 22 alignment: center middle shrink-overflow font: name: ModMatrix size: 17 weight: bold color: black shadow color: white shadow blur: 2 level 2 copy 1: z index: 3 left: 38 top: 440 width: 34 height: 22 alignment: center middle shrink-overflow font: name: ModMatrix size: 17 weight: bold color: black shadow color: white shadow blur: 2 forwarded rule text 2: left: {if card.level_1 != "" then 93 else 31} top: 375 right: {if card.pt_2 != "" then 277 else 342} height: 47 font: name: MPlantin italic name: MPlantin-Italic size: 14 scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: 14 alignment: script: if (styling.center_text == "short text only" and not contains(match:"\n", card.rule_text) and card.flavor_text == "" and card_style.text.content_lines <= 2) or styling.center_text == "always" then "middle center" else "middle left" z index: 2 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6 rule text 3 with flavor: left: {if card.level_2 != "" then 93 else 31} top: 422 right: {if card.pt_3 != "" then 277 else 342} height: 47 font: name: MPlantin italic name: MPlantin-Italic size: 14 scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: 14 alignment: script: if (styling.center_text == "short text only" and not contains(match:"\n", card.rule_text) and card.flavor_text == "" and card_style.text.content_lines <= 2) or styling.center_text == "always" then "middle center" else "middle left" z index: 2 padding left: 6 padding right: 4 line height hard: 1.2 line height line: 1.5 line height soft: 0.9 line height hard max: 1.3 line height line max: 1.6