mse version: 2.0.0 game: magic short name: JP Showcase full name: Strixhaven Showcase icon: card-sample.png installer group: magic/m15 style/normal cards position hint: 095 version: 2021-06-01 depends on: package: magic.mse-game version: 2014-06-25 depends on: package: magic-default-image.mse-include version: 2007-09-23 depends on: package: magic-watermarks.mse-include version: 2007-09-23 depends on: package: magic-identity-new.mse-include version: 2012-01-22 depends on: package: magic-mana-large.mse-symbol-font version: 2007-09-23 depends on: package: magic-mana-small.mse-symbol-font version: 2007-09-23 depends on: package: magic-mainframe-extras.mse-include version: 2007-09-23 card width: 375 card height: 523 card dpi: 150 ####### card images from silverback_ape ####### pt image from Card Conjurer #### https://cardconjurer.com/ ############################################################## Extra scripts init script: # Load scripts for image box include file: /magic-default-image.mse-include/scripts include file: blends # Should hybrids have a grey name? mask_hybrid_with_land := { styling.grey_hybrid_name } #Should multicolor lands with basic land types have a colored name? mask_multi_land_with_color := { styling.colored_multicolor_land_name } template_prefix := [card: "" card2:"back/" name1:"name/" name2:"name/" name3:"name/" type1:"type/" type2:"type/" type3:"type/" pt: "" stamp: "" identity: "/magic-identity-new.mse-include/"] template_suffix := [card: "card.png" card2:"card.png" crown:"crown.png" name1:"cap.png" name2:"name.png" name3:"cap.png" type1:"cap.png" type2:"type.png" type3:"cap.png" pt: "pt.png" stamp: "stamp.jpg" identity: "identity.png"] template := { template_prefix[type] + input + template_suffix[type] } land_template := { template_prefix[type] + (if input == "a" then "c" else input) + template_suffix[type] } # Use land templates for previews because they show more contrast hybrid_previews := "land,hybrid" c1_hybrid := [ radial: [ 0: { template("c") } 1: { template(colors[0]) } 2: { template(colors[0]) } 3: { template(colors[0]) } 4: { template(colors[0]) } 5: { template(colors[0]) } 6: { template(colors[0]) } 7: { template(colors[0]) } ] vertical: [ 1: { template(colors[0]) } 2: { template(colors[0]) } 3: { template(colors[0]) } 4: { template(colors[0]) } 5: { template(colors[0]) } 6: { template(colors[0]) } 7: { template(colors[0]) } ] horizontal: [ 1: { template(colors[0]) } 2: { template(colors[0]) } 3: { template(colors[0]) } 4: { template(colors[0]) } 5: { template(colors[0]) } 6: { template(colors[0]) } 7: { template(colors[0]) } ] overlay: overlay_hybrid ] c2_hybrid := [ radial: [ 0: { template("c") } 1: { template(colors[0]) } 2: { template(colors[1]) } 3: { template(colors[1]) } 4: { template(colors[1]) } 5: { template(colors[1]) } 6: { template(colors[1]) } 7: { template(colors[1]) } ] vertical: [ 1: { template(colors[0]) } 2: { template(colors[1]) } 3: { template(colors[1]) } 4: { template(colors[1]) } 5: { template(colors[1]) } 6: { template(colors[1]) } 7: { template(colors[1]) } ] horizontal: [ 1: { template(colors[0]) } 2: { template(colors[1]) } 3: { template(colors[1]) } 4: { template(colors[1]) } 5: { template(colors[1]) } 6: { template(colors[1]) } 7: { template(colors[1]) } ] overlay: overlay_hybrid ] ### i have no idea why card_hybrid isn't working or why i need both of these slide_hybrid := [ radial: [ 0: { template("c") } 1: { template(colors[0]) } 2: { linear_blend( image1: template(colors[0]) image2: template(colors[1]) x1: -0.3, y1: 0 x2: 1.3, y2: 0 )} 3: { template(colors[2]) } 4: { linear_blend( image1: template(colors[3]) image2: template(colors[2]) x1: -0.3, y1: 0 x2: 1.3, y2: 0 )} 5: { template(colors[3]) } 6: { linear_blend( image1: template(colors[4]) image2: template(colors[3]) x1: -0.3, y1: 0 x2: 1.3, y2: 0 )} 7: { template(colors[4]) } ] vertical: horizontal_stamp_hybrid horizontal: [ 1: { template(colors[0]) } 2: { linear_blend( image1: template(colors[0]) image2: template(colors[1]) x1: 0, y1: 0 x2: 0, y2: 0.85 ) } 3: { template(colors[2]) } 4: { template(colors[3]) } 5: { template(colors[4]) } 6: { template(colors[5]) } 7: { template(colors[6]) } ] overlay: overlay_hybrid ] slide_hybrid2 := [ radial: [ 0: { template("c") } 1: { template(colors[0]) } 2: { linear_blend( image1: template(colors[0]) image2: template(colors[1]) x1: -0.3, y1: 0 x2: 1.3, y2: 0 )} 3: { template(colors[2]) } 4: { linear_blend( image1: template(colors[3]) image2: template(colors[2]) x1: -0.3, y1: 0 x2: 1.3, y2: 0 )} 5: { template(colors[3]) } 6: { linear_blend( image1: template(colors[4]) image2: template(colors[3]) x1: -0.3, y1: 0 x2: 1.3, y2: 0 )} 7: { template(colors[4]) } ] vertical: horizontal_stamp_hybrid horizontal: [ 1: { template(colors[0]) } 2: { linear_blend( image1: template(colors[0]) image2: template(colors[1]) x1: 0, y1: 0 x2: 0.85, y2: 0 ) } 3: { template(colors[2]) } 4: { template(colors[3]) } 5: { template(colors[4]) } 6: { template(colors[5]) } 7: { template(colors[6]) } ] overlay: overlay_hybrid ] card_background := { color_background(type:"card", base_hybrid:stamp_hybrid) } name1_background := { color_background(type:"name1", base_hybrid:c1_hybrid) } name2_background := { color_background(type:"name2", base_hybrid:slide_hybrid) } name3_background := { color_background(type:"name3", base_hybrid:c2_hybrid) } type1_background := { color_background(type:"type1", base_hybrid:c1_hybrid) } type2_background := { color_background(type:"type2", base_hybrid:slide_hybrid2) } type3_background := { color_background(type:"type3", base_hybrid:c2_hybrid) } # Use the normal tap symbol mana_t := { if styling.tap_symbol == "old" then "old" else if styling.tap_symbol == "diagonal T" then "older" else "new" } # Use guild mana symbols? guild_mana := { styling.use_guild_mana_symbols } # Is the card a promo card? is_promo := { styling.promo } is_legend := {set.auto_legends and contains(card.super_type, match:"Legendary") } mana_sort := { if styling.unsorted_casting_cost then input else sort_text@(order: "XYZI[0123456789]HSCA(WUBRG)")() } ancestral_mana := { styling.ancestral_mana_symbols } has_identity := { styling.color_indicator_dot } is_unsorted := {styling.remove_from_autocount} chop_top := {to_number(pull_comma_array(styling.text_chops, cell:0, end:false))} chop_bot := {to_number(pull_comma_array(styling.text_chops, cell:1, end:false))} chop_correction := { chop_bot() } shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else 0} shrink_name := {if styling.shrink_name_text != "" then to_number(styling.shrink_name_text) else 0} use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")} un_png := replace@(match:".png", replace: "") jp_name_length := {card_style.name.content_height * length(card.name)} ############################################################## 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: language choice: English choice: Japanese styling field: type: text name: text chops description: Format as "X,Y". Shrinks textbox X pixels from the top and Y from bottom. styling field: type: text name: shrink name text description: Shrinks name X pixels styling field: type: text name: shrink typeline text description: Shrinks type X pixels styling field: type: boolean name: use holofoil stamps description: Change to no to disable rare holofoil stamps styling field: type: boolean name: color indicator dot description: Use the color indicator dot initial: no styling field: type: boolean name: remove from autocount description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. initial: no styling field: type: boolean name: grey hybrid name description: Use a grey background for the name and type line on hybrid cards. This is done on real cards. styling field: type: boolean name: unsorted casting cost description: Disables automatic mana symbol sorting. initial: no styling field: type: boolean name: ancestral mana symbols description: Enables ancestral's modified generic mana. initial: no styling field: type: boolean name: colored multicolor land name description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards. styling field: type: boolean name: use guild mana symbols description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. initial: no styling field: type: choice name: tap symbol description: What tap and untap symbols should be used on cards? initial: modern choice: modern choice: old choice: diagonal T styling field: type: package choice name: text box mana symbols match: magic-mana-*.mse-symbol-font initial: magic-mana-small.mse-symbol-font styling field: type: choice name: center text description: When to center text (short text only means only on one-line cards with no flavor text) choice: always choice: short text only choice: never initial: never styling field: type: boolean name: promo description: Is this card a promo card, with the "P" rarity? initial: no styling field: type: boolean name: masterpiece description: Is this card a Masterpiece? initial: no styling field: type: boolean name: inverted common symbol description: Should the common rarity symbol be inverted, like in Coldsnap? initial: no styling field: type: package choice name: overlay description: Should there be an overlay applied, such as foil? match: magic-overlay-*.mse-include required: false styling style: use guild mana symbols: choice images: yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png no: /magic-mana-small.mse-symbol-font/mana_rg.png tap symbol: render style: both choice images: modern: /magic-mana-large.mse-symbol-font/mana_t.png old: /magic-mana-large.mse-symbol-font/mana_t_old.png diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png center text: render style: both choice images: always: /magic.mse-game/icons/center-all-text.png short text only: /magic.mse-game/icons/center-short-text.png never: /magic.mse-game/icons/center-no-text.png inverted common symbol: choice images: no: { symbol_variation(symbol: set.symbol, variation: "common") } yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } ############################################################## Card fields card style: ############################# Background stuff card color: left: 0 top: 0 width: 375 height: 523 z index: 0 render style: image popup style: in place image: { card_background() } mask: frame_mask.png ############################# Name line name: left: 48 top: {if styling.language == "Japanese" then 550 else 42} width: {max(37, card_style.name.content_width+10)} height: 22 alignment: top shrink-overflow padding bottom: 0 z index: 2 font: name: Beleren Bold size: {13 - shrink_name()} color: white line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } line height line: 1.5 line height soft: 0.9 line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 } line height line max: 1.6 casting cost: right: 346 top: 29 width: { max(30, card_style.casting_cost.content_width) + 5 } height: 23 alignment: middle right font: name: MPlantin size: 15 symbol font: name: magic-mana-small-strixhaven-jp size: 15 alignment: middle right always symbol: true z index: 2 padding top: 0 ############################# Image image: left: 0 top: 0 width: 375 height: 486 z index: -1 default: {default_image(card.card_color)} mask: image_mask.png ############################# Card type indicator: left: 28 top: 301 width: 17 height: 17 z index: 1 render style: image visible: { has_identity() } image: { card_identity() } type: left: 32 top: {shrink_type() + 292 } width: { max(105, card_style.type.content_width) } height: { 19 - shrink_type() } alignment: top center shrink-overflow z index: 2 padding top: 2 font: name: Beleren Bold size: {12 - shrink_type()} color: black separator color: red rarity: right: 344 top: 298 width: 44 height: 22 z index: 2 render style: image alignment: middle right choice images: # Images based on the set symbol basic land: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") else symbol_variation(symbol: set.symbol, variation: "common") common: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") else symbol_variation(symbol: set.symbol, variation: "common") uncommon: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png" else symbol_variation(symbol: set.symbol, variation: "uncommon") rare: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png" else symbol_variation(symbol: set.symbol, variation: "rare") mythic rare: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png" else symbol_variation(symbol: set.symbol, variation: "mythic rare") special: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png" else symbol_variation(symbol: set.symbol, variation: "special") masterpiece: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png" else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") ############################# Text box text: left: 32 top: {324-(-chop_top())} width: 314 bottom: {478-chop_bot()} font: name: MPlantin italic name: MPlantin-Italic size: 12 scale down to: 6 color: black symbol font: name: { styling.text_box_mana_symbols } size: 12 scale down to: 6 alignment: script: if (styling.center_text == "short text only" and not contains(match:"\n", card.rule_text) and card.flavor_text == "" and card_style.text.content_lines <= 2) or styling.center_text == "always" then "middle center" else "middle left" z index: 2 padding left: 6 padding right: 4 line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } line height line: 1.5 line height soft: 0.9 line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 } line height line max: 1.6 watermark: left: 25 top: 338 width: 324 height: 139 z index: 1 render style: image popup style: in place alignment: middle center include file: /magic-watermarks.mse-include/watermarks ############################# PT pt: z index: 2 left: 292 top: 467 width: 60 height: 28 alignment: center middle shrink-overflow font: name: Beleren Bold size: 15 color: black separator color: red ############################# Card sorting / numbering set code: left: 24 top: 498 width: 40 height: 10 z index: 1 font: name: Relay-Medium size: 7 color: white weight: bold ############################# Copyright stuff illustrator: left: { 44 + card_style.set_code.content_width } top: 497.5 width: 200 height: 10 z index: 1 font: name: Beleren Small Caps Bold size: 7.25 color: white copyright: right: 350 top: { if card.pt != "" then 500 else 493 } width: 140 height: 10 z index: 2 visible: {not set.automatic_copyright} alignment: middle right shrink-overflow font: name: Matrix size: 7 color: white weight: bold ############################################################## Extra card fields extra card field: type: text name: card code save value: false script: if set.automatic_card_numbers and not styling.remove_from_autocount then forward_editor(prefix: card_number_m15() + "/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text) else combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card.card_code_text) extra card field: type: choice name: artist arrow editable: false save value: false choice: white extra card field: type: choice name: pt box script: card.card_color editable: false save value: false extra card field: type: choice name: name bar 1 script: card.card_color editable: false save value: false extra card field: type: choice name: name bar 2 script: card.card_color editable: false save value: false extra card field: type: choice name: name bar 3 script: card.card_color editable: false save value: false extra card field: type: choice name: type bar 1 script: card.card_color editable: false save value: false extra card field: type: choice name: type bar 2 script: card.card_color editable: false save value: false extra card field: type: choice name: type bar 3 script: card.card_color editable: false save value: false extra card field: type: choice name: foil stamp choice: stamp save value: false editable: false extra card field: type: choice name: foil layer choice: foil save value: false editable: false extra card field: type: choice name: stamp script: card.card_color show statistics: false extra card field: type: text name: auto copyright script: set.copyright save value: false editable: false show statistics: false extra card field: type: choice name: flavor bar choice: bar editable: false save value: false show statistics: false extra card field: type: text name: jp name script: forward_editor(field: card.name) extra card style: card code: left: 24 top: 488 width: 120 height: 10 z index: 1 font: name: Relay-Medium size: 7 color: white weight: bold artist arrow: left: { 28 + card_style.set_code.content_width } top: 500 width: 12 height: 7 z index: 1 render style: image image: artist_arrow.png pt box: left: 263 top: 467 width: 83 height: 27 z index: 1 visible: { card.pt != "" } render style: image image: pt.png name bar 1: left: 28 top: {if styling.language == "Japanese" then 24 else 80} width: 56 height: 22 z index: 1 render style: image image: {name1_background()} angle: {if styling.language == "Japanese" then 0 else 90} name bar 2: left: {if styling.language == "Japanese" then 28 else 50} top: {if styling.language == "Japanese" then 46 else 80} width: 56 height: {if styling.language == "Japanese" then max(34, jp_name_length()-20) else card_style.name.content_width} z index: 1 render style: image image: {name2_background()} angle: {if styling.language == "Japanese" then 0 else 90} name bar 3: left: {if styling.language == "Japanese" then 28 else 50+card_style.name.content_width-3.4} top: {if styling.language == "Japanese" then 46 + max(34, jp_name_length()-20)-0.5 else 80} width: 56 height: 22 z index: 1 render style: image image: {flip_vertical(name3_background())} angle: {if styling.language == "Japanese" then 0 else 90} type bar 1: left: 22 top: 289 width: 15 height: 30 z index: 1 render style: image image: {type1_background()} type bar 2: left: 37 top: 289 width: {max(96, card_style.type.content_width)} height: 30 z index: 1 render style: image image: {type2_background()} type bar 3: left: {37+max(96, card_style.type.content_width)-0.4} top: 289 width: 15 height: 30 z index: 1 render style: image image: {flip_horizontal(type3_background())} foil layer: left: 0 top : 0 width: 375 height: 523 z index: 3 render style: image image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} mask: { if is_rare() then "foil_mask_rare.png" else "foil_mask.png" } stamp: left: 165 top: 472 width: 46 height: 26 z index: 1 visible: { is_rare() and styling.use_holofoil_stamps } render style: image image: stamp.png foil stamp: left: 165 top: 472 width: 46 height: 26 z index: 2 visible: { is_rare() and styling.use_holofoil_stamps } render style: image image: foil_stamp.png auto copyright: right: 350 top: { if card.pt != "" then 500 else 493 } width: 140 height: 10 z index: 2 alignment: middle right shrink-overflow visible: {set.automatic_copyright} font: name: Matrix size: 7 color: white weight: bold flavor bar: left: 0 top: { bar_equation() } width: 375 height: 1 z index: 1 render style: image image: bar.png visible: { card.rule_text != "" and remove_tags(card.flavor_text) != "" and set.use_flavor_bar } jp name: left: 37 top: 40 width: {if styling.language == "Japanese" then 37 else 0} height: {max(50, jp_name_length())} direction: vertical alignment: top center shrink-overflow padding bottom: 0 z index: 2 font: name: Beleren Bold size: {13 - shrink_name()} color: white line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } line height line: 1.5 line height soft: 0.9 line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 } line height line max: 1.6