diff --git a/data/magic-field-test.mse-export-template/export-template b/data/magic-field-test.mse-export-template/export-template
index afd35a9bb..255f7cdfb 100644
--- a/data/magic-field-test.mse-export-template/export-template
+++ b/data/magic-field-test.mse-export-template/export-template
@@ -1,6 +1,6 @@
mse version: 2.0.0
short name: Field Test
-full name: version 0.4
+full name: version 0.5
position hint: 120
icon: icon.png
version: 2018-02-09
@@ -29,6 +29,25 @@ script:
fixed_set_code := {
trim(fix_tm(if options.set_code != "" then options.set_code else set.set_code))
}
+ ## clean up strays that will mess up the json
+ escape_backslash := replace@(match:"\\\\", replace:"\\\\\\\\")
+ escape_quotes := replace@(match:"\"", replace:"\\\\\"")
+ escape_breaks := replace@(match:"\n", replace:"\\\\n")
+ apos_fix := replace@(match:"’", replace:"'")
+ remove_tabs := replace@(match:"\t", replace:"") +
+ replace@(match:" ", replace:"") +
+ replace@(match:" +", replace:" ")
+ remove_controls := replace@(match:"\r", replace:"")
+
+ sanitize := to_text +
+ escape_backslash +
+ escape_breaks +
+ escape_quotes +
+ remove_controls +
+ remove_tabs +
+ apos_fix +
+ trim
+
v_rep := {
if input != "V"
then input
@@ -93,7 +112,7 @@ script:
notes_grabber := replace@(match:"!notes? ", replace:"")
+replace@(match:"([^,]+)", replace:{"\"" + _1 + "\""})
+replace@(match:"italics", replace:"italic")
- card_note_array := { "[" + (if notes_grabber(notes_filter(card.notes)) != "" then notes_grabber(notes_filter(card.notes)) else "") + "]" }
+ card_note_array := { "[" + (if notes_grabber(notes_filter(card.notes)) != "" then sanitize(notes_grabber(notes_filter(card.notes))) else "") + "]" }
# process text for LackeyBot
lackey_bot_rule_filter := replace@(match:"’", replace:"'")+
@@ -222,13 +241,13 @@ script:
write_normal:= {
" \{"
- + "\"fullName\": \"" + break_cleaner(apos_fix(database_name())) + "\", "
- + "\"cardName\": \"" + break_cleaner(remove_tags(card.name)) + "\", "
+ + "\"fullName\": \"" + sanitize(apos_fix(database_name())) + "\", "
+ + "\"cardName\": \"" + sanitize(remove_tags(card.name)) + "\", "
+ "\"manaCost\": \"" + mana_script(card.casting_cost) + "\", "
- + "\"typeLine\": \"" + break_cleaner(card.type) + "\", "
+ + "\"typeLine\": \"" + sanitize(card.type) + "\", "
+ "\"rarityLine\": \"" + lb_rarity_code() + "\", "
- + "\"rulesText\": \"" + (if card.special_text != "" then lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.special_text))) else if card.shape == "leveler" then lackey_bot_mana_filter(lackey_bot_rule_filter(leveler_text())) else if card.loyalty != "" then walker_text() else lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.rule_text)))) + "\", "
- + "\"flavorText\": \"" + flavor_script(card.flavor_text) + "\", "
+ + "\"rulesText\": \"" + sanitize(if card.special_text != "" then lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.special_text))) else if card.shape == "leveler" then lackey_bot_mana_filter(lackey_bot_rule_filter(leveler_text())) else if card.loyalty != "" then walker_text() else lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.rule_text)))) + "\", "
+ + "\"flavorText\": \"" + sanitize(flavor_script(card.flavor_text)) + "\", "
+ "\"power\": " + (if card.power == "*" then "\"★\"" else if card.power == "" then "\"\"" else if (to_number(card.power) or else false != card.power) then "\"" + card.power + "\"" else card.power) + ", "
+ "\"toughness\": " + (if card.toughness == "*" then "\"★\"" else if card.toughness == "" then "\"\"" else if (to_number(card.toughness) or else false != card.toughness) then "\"" + card.toughness + "\"" else card.toughness) + ", "
+ "\"loyalty\": " + (if (to_number(card.loyalty) or else false != card.loyalty) then "\"" + card.loyalty + "\"" else card.loyalty) + ", "
@@ -243,23 +262,23 @@ script:
+ (if token_export() then "\"parentSet\": \"" + fixed_set_code() + "\", " else "")
+ "\"notes\": " + card_note_array() + ", "
+ token_scripts()
- + "\"artist\": \"" + break_cleaner(quote_replace(card.illustrator))
+ + "\"artist\": \"" + sanitize(card.illustrator)
+ (if contains(card.shape, match: "split") or contains(card.shape, match:"double") and card.illustrator != card.illustrator_2 and card.illustrator_2 != "" then
- "\", \"artist2\": \"" + quote_replace(break_cleaner(card.illustrator_2)))
+ "\", \"artist2\": \"" + sanitize(card.illustrator_2))
+ "\"\},\n"
}
secondCard := {
(
if card.alias_2 != "" then
- "\"cardName2\": \"" + break_cleaner(card.alias_2) + "\", "
- + "\"alias2\": \"" + break_cleaner(remove_tags(card.name_2)) + "\", "
- else "\"cardName2\": \"" + break_cleaner(remove_tags(card.name_2)) + "\", "
+ "\"cardName2\": \"" + sanitize(card.alias_2) + "\", "
+ + "\"alias2\": \"" + sanitize(remove_tags(card.name_2)) + "\", "
+ else "\"cardName2\": \"" + sanitize(remove_tags(card.name_2)) + "\", "
)
+ "\"manaCost2\": \"" + mana_script(card.casting_cost_2) + "\", "
- + "\"typeLine2\": \"" + break_cleaner(card.type_2) + "\", "
+ + "\"typeLine2\": \"" + sanitize(card.type_2) + "\", "
+ "\"rarityLine2\": \"" + lb_rarity_code() + "\", "
- + "\"rulesText2\": \"" + (if card.special_text_2 != "" then lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.special_text_2))) else if card.loyalty_2 != "" then walker_text_2() else lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.rule_text_2)))) + "\", "
- + "\"flavorText2\": \"" + flavor_script(card.flavor_text_2) + "\", "
+ + "\"rulesText2\": \"" + sanitize(if card.special_text_2 != "" then lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.special_text_2))) else if card.loyalty_2 != "" then walker_text_2() else lackey_bot_rule_filter(text_script(lackey_bot_mana_filter(card.rule_text_2)))) + "\", "
+ + "\"flavorText2\": \"" + sanitize(flavor_script(card.flavor_text_2)) + "\", "
+ "\"power2\": " + (if card.power_2 == "*" then "\"★\"" else if card.power_2 == "" then "\"\"" else if (to_number(card.power_2) or else false != card.power_2) then "\"" + card.power_2 + "\"" else card.power_2) + ", "
+ "\"toughness2\": " + (if card.toughness_2 == "*" then "\"★\"" else if card.toughness_2 == "" then "\"\"" else if (to_number(card.toughness_2) or else false != card.toughness_2) then "\"" + card.toughness_2 + "\"" else card.toughness_2) + ", "
+ "\"loyalty2\": " + (if (to_number(card.loyalty_2) or else false != card.loyalty_2) then "\"" + card.loyalty_2 + "\"" else card.loyalty_2) + ", "
diff --git a/data/magic-old-saga.mse-style/card-sample.png b/data/magic-old-saga.mse-style/card-sample.png
new file mode 100644
index 000000000..301fa096c
Binary files /dev/null and b/data/magic-old-saga.mse-style/card-sample.png differ
diff --git a/data/magic-old-saga.mse-style/card/acard.jpg b/data/magic-old-saga.mse-style/card/acard.jpg
new file mode 100644
index 000000000..1de1fa258
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/acard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/bcard.jpg b/data/magic-old-saga.mse-style/card/bcard.jpg
new file mode 100644
index 000000000..6b33ac728
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/bcard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/ccard.jpg b/data/magic-old-saga.mse-style/card/ccard.jpg
new file mode 100644
index 000000000..e0ffa31ac
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/ccard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/gcard.jpg b/data/magic-old-saga.mse-style/card/gcard.jpg
new file mode 100644
index 000000000..ffba348e0
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/gcard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/lcard.jpg b/data/magic-old-saga.mse-style/card/lcard.jpg
new file mode 100644
index 000000000..edbc692dc
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/lcard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/mcard.jpg b/data/magic-old-saga.mse-style/card/mcard.jpg
new file mode 100644
index 000000000..642937ce4
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/mcard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/rcard.jpg b/data/magic-old-saga.mse-style/card/rcard.jpg
new file mode 100644
index 000000000..9e3e9aab4
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/rcard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/ucard.jpg b/data/magic-old-saga.mse-style/card/ucard.jpg
new file mode 100644
index 000000000..32fc7f4cc
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/ucard.jpg differ
diff --git a/data/magic-old-saga.mse-style/card/wcard.jpg b/data/magic-old-saga.mse-style/card/wcard.jpg
new file mode 100644
index 000000000..4aab58498
Binary files /dev/null and b/data/magic-old-saga.mse-style/card/wcard.jpg differ
diff --git a/data/magic-old-saga.mse-style/divide.png b/data/magic-old-saga.mse-style/divide.png
new file mode 100644
index 000000000..70982e1b1
Binary files /dev/null and b/data/magic-old-saga.mse-style/divide.png differ
diff --git a/data/magic-old-saga.mse-style/style b/data/magic-old-saga.mse-style/style
new file mode 100644
index 000000000..944dd0cd2
--- /dev/null
+++ b/data/magic-old-saga.mse-style/style
@@ -0,0 +1,539 @@
+mse version: 2.0.0
+game: magic
+short name: Old style saga
+full name: Sagas (Before 8th edition)
+installer group: magic/old style/normal cards
+icon: card-sample.png
+position hint: 310
+
+version: 2025-05-12
+depends on:
+ package: magic.mse-game
+ version: 2020-04-25
+depends on:
+ package: magic-mana-small.mse-symbol-font
+ version: 2007-09-23
+depends on:
+ package: magic-mainframe-extras.mse-include
+ version: 2018-01-01
+depends on:
+ package: magic-modules.mse-include
+ version: 2024-10-01
+
+card width: 375
+card height: 523
+card dpi: 150
+#### Images by Grapple
+############################################################## Extra scripts
+init script:
+ # 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 }
+
+
+ template_prefix := [
+ card: "card/"
+ ]
+ template_suffix := [
+ card: "card.jpg"
+ ]
+ template := { template_prefix[type] + input + template_suffix[type] }
+ land_template := { template_prefix[type] + "l" + template_suffix[type] }
+
+ # Only white cards use a black font
+ #font_colors_white := { input != "w" }
+ b_text := {styling.black_text_on_white_cards}
+
+ replace_symbols_testing := {
+ vairable := replace(match:"([A-Za-z])", replace:{"\{"+_1+"\}"})
+ }
+
+ # Check to decide if the card is a basic land.
+
+ #chop/shrink functions
+ chop_top := {if styling.chop_top == "" then 0 else if comma_count(styling.chop_top) == "," or comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).0 else styling.chop_top}
+ chop_bot := {if comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).1 else if styling.chop_bottom == "" then 0 else styling.chop_bottom}
+ top_of_textbox := {318 + chop_top() }
+ bottom_of_textbox := {461 - chop_bot() }
+ shrink_type := {if styling.shrink_typeline_text != "" then to_int(styling.shrink_typeline_text) else if length(remove_tags(card.type)) > 41 then 2 else if length(remove_tags(card.type)) > 38 then 1 else 0 }
+ shrink_name := {if styling.shrink_name_text != "" then to_int(styling.shrink_name_text) 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}
+
+ watermark_include := "/magic-modules.mse-include/watermarks"
+ information_codes_offset_left_1 := {4}
+ information_offset_top_1 := {-1}
+
+ alt_text := { true }
+ alt_text_script := {
+ combined_editor(
+ field1: card.chapter_text,
+ separator1: "\n",
+ field2: card.level_1_text,
+ separator2: "\n",
+ field3: card.level_2_text,
+ separator3: "\n",
+ field4: card.level_3_text
+ separator4: "\n",
+ field5: card.level_4_text
+ )
+ }
+
+ swap_fonts_name_default := [
+ name: {"MagicMedieval"},
+ size: {15.5},
+ color: { if card.card_color == "white" and b_text() then rgb(0,0,0) else rgb(255,255,255) },
+ vertical: {0},
+ italic: {""}
+ ]
+ swap_fonts_type_default := [
+ name: {"MPlantin"},
+ size: {12},
+ color: { if card.card_color == "white" and b_text() then rgb(0,0,0) else rgb(255,255,255) },
+ vertical: {0},
+ italic: {""}
+ ]
+ swap_fonts_body_default := [
+ name: {"MPlantin"},
+ size: {14},
+ color: {"black"},
+ vertical: {0},
+ italic: {"MPlantin-Italic"}
+ ]
+ swap_fonts_pt_default := [
+ name: {styling.pt_font},
+ size: {17},
+ color: { if card.card_color == "white" and b_text() then rgb(0,0,0) else rgb(255,255,255) },
+ vertical: {0},
+ italic: {""}
+ ]
+
+ divider_position := {
+ if card_style.text.layout.blocks[1].bottom or else 0 <= 0
+ then 0
+ else (
+ boxes := [card.chapter_text, card.level_1_text, card.level_2_text, card.level_3_text, card.level_4_text]
+ top_box := boxes[input]
+ bot_box := boxes[input+1]
+ if top_box != "" and bot_box != ""
+ then card_style.text.top + card_style.text.layout.separators[input]
+ else 0
+ )
+ }
+
+############################################################## Set info fields
+set info style:
+ symbol:
+ variation:
+ name: olduncommon
+ border radius: 0.10
+ fill type: linear gradient
+ fill color 1: rgb(224,224,224)
+ fill color 2: rgb(84, 84, 84)
+ border color 1: rgb(255,255,255)
+ border color 2: rgb(255,255,255)
+ variation:
+ name: oldrare
+ border radius: 0.10
+ fill type: linear gradient
+ fill color 1: rgb(214,196,94)
+ fill color 2: rgb(95, 84, 40)
+ border color 1: rgb(255,255,255)
+ border color 2: rgb(255,255,255)
+ variation:
+ name: oldmythic
+ border radius: 0.10
+ fill type: linear gradient
+ fill color 1: rgb(247,151,29)
+ fill color 2: rgb(187,44,38)
+ border color 1: rgb(255,255,255)
+ border color 2: rgb(255,255,255)
+############################################################## Extra style options
+styling field:
+ type: text
+ name: chop top
+ description: Shrinks the textbox X pixels from the top OR shrinks "top,bottom,"
+styling field:
+ type: text
+ name: chop bottom
+ description: Shrinks the textbox X pixels from the bottom.
+styling field:
+ type: text
+ name: shrink name text
+ description: Reduces the name text N points.
+styling field:
+ type: text
+ name: shrink typeline text
+ description: Reduces the typeline text N points.
+styling field:
+ type: boolean
+ name: black text on white cards
+ description: Use black text on white cards.
+ initial: no
+styling field:
+ type: text
+ name: card watermark
+ description: Filename in magic-watermarks to use for standalone card watermark
+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: package choice
+ name: text box mana symbols
+ match: magic-mana-*.mse-symbol-font
+ initial: magic-mana-small.mse-symbol-font
+styling field:
+ type: package choice
+ name: casting cost mana symbols
+ match: magic-mana-*.mse-symbol-font
+ initial: magic-mana-small.mse-symbol-font
+styling field:
+ type: choice
+ name: tap symbol
+ description: What tap and untap symbols should be used on cards?
+ initial: old
+ choice: modern
+ choice: old
+ choice: diagonal T
+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: colored rarities
+ description: Should rarity symbols be different colors, such as gold, silver, and purple?
+ initial: yes
+styling field:
+ type: boolean
+ name: left align artist
+ description: Should the artist and copyright lines be left aligned, as seen in Tempest?
+ 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: pt font
+ description: Should the font used for p/t be MPlantin or MPlantin-Bold? MPlantin was used until Mirage.
+ initial: MPlantin-Bold
+ choice: MPlantin
+ choice: MPlantin-Bold
+styling field:
+ type: multiple choice
+ name: colored nonbasic land trim
+ description: Which parts of the frame should be colored on nonbasic lands? (Real cards have both colored trim and colored textboxes.)
+ initial: trim, textbox
+ choice: trim
+ choice: textbox
+styling field:
+ type: color
+ name: copyright font
+ description: What color should the copyright line be?
+ choice:
+ name: white
+ color: rgb(255,255,255)
+ choice:
+ name: black
+ color: rgb(0,0,0)
+include file: /magic-modules.mse-include/fonts/styling_fields
+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-small.mse-symbol-font/mana_t.png
+ old: /magic-mana-small.mse-symbol-font/mana_t_old.png
+ diagonal T: /magic-mana-small.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
+ colored rarities:
+ choice images:
+ no: { symbol_variation(symbol: set.symbol, variation: "common") }
+ yes: { symbol_variation(symbol: set.symbol, variation: "rare") }
+############################################################## 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: 19
+ right width: 19
+ top width: 19
+ bottom width: 19
+ z index: 500
+ card color:
+ left: 0
+ top: 0
+ width: 375
+ height: 523
+ z index: 200
+ render style: image
+ popup style: in place
+ image: { color_background(type:"card", base_hybrid:card_hybrid, multicolor_blend:"black", hybrid_blend:"white", artifact_blend:"white") }
+ ############################# Name line
+ name:
+ left: 42
+ top: { 24 + name_font_vertical() }
+ right: { 341 - card_style.casting_cost.content_width }
+ height: { 23 - (0.5 * shrink_name()) }
+ alignment: bottom shrink-overflow
+ padding bottom: 0
+ z index: 900
+ font:
+ name: { name_font() }
+ italic name: { name_font_italic() }
+ size: { name_font_size() }
+ color: {name_font_color() }
+ shadow color: { if name_font_color() == to_color("black") then rgb(255,255,255) else rgb(0,0,0) }
+ shadow displacement x: 1
+ shadow displacement y: 1
+ casting cost:
+ right: 341
+ top : 22
+ width: { max(30, card_style.casting_cost.content_width) + 5 }
+ height: 24
+ alignment: middle right
+ symbol font:
+ name: {styling.casting_cost_mana_symbols}
+ size: 15
+ alignment: middle right
+ always symbol: true
+ z index: 910
+ padding top: 0
+ card symbol:
+ left: 24
+ top : 24
+ height: 20
+ width: 14
+ z index: 700
+ render style: image
+ image: { card_symbol_image(face: 1) }
+ ############################# Image
+ image:
+ left: 200
+ top: 51
+ width: 130
+ height: 388
+ z index: 400
+ ############################# Card type
+ type:
+ left: 39
+ top : 445
+ width: { 298 - max(22,card_style.rarity.content_width) }
+ height: {20 - (0.5 * shrink_type())}
+ alignment: middle shrink-overflow
+ z index: 900
+ padding top: 2
+ font:
+ name: { type_font() }
+ italic name: { type_font_italic() }
+ size: { type_font_size() }
+ color: { type_font_color() }
+ shadow color: { if type_font_color() == to_color("black") then rgb(255,255,255) else rgb(0,0,0) }
+ shadow displacement x: 1
+ shadow displacement y: 1
+ separator color: rgb(128,128,128)
+ rarity:
+ left: 293
+ top : 445
+ width: 44
+ height: 22
+ z index: 920
+ alignment: middle right
+ render style: image
+ include file: /magic-modules.mse-include/rarities/choice_images_old
+ ############################# Text box
+ text:
+ left: 43
+ top : {(50 - (-chop_top()))}
+ width: 141
+ bottom: {(436 - chop_bot())}
+ font:
+ name: { body_font() }
+ italic name: { body_font_italic() }
+ size: { body_font_size() }
+ scale down to: 6
+ color: { body_font_color() }
+ symbol font:
+ name: { styling.text_box_mana_symbols }
+ size: { body_font_size() }
+ alignment:
+ script:
+ if (styling.center_text == "short text only" and
+ not contains(match:"\n", card.rule_text) and
+ card.flavor_text == "" and
+ card_style.text.content_lines <= 2) or
+ styling.center_text == "always"
+ then "middle center"
+ else "middle left"
+ z index: 900
+ padding left: 6
+ padding top: 4
+ padding right: 4
+ padding bottom: 4
+ line height hard: 1.2
+ line height line: 1.5
+ line height soft: 0.9
+ line height line max: 2.5
+ watermark:
+ left: 120
+ top : 313
+ width: 138
+ height: 150
+ z index: 1
+ render style: image
+ alignment: middle center
+ image: { watermark_image_1() }
+ ############################# PT
+ pt:
+ z index: 910
+ left: 295
+ top: 470
+ width: 47
+ height: 27
+ alignment: right middle
+ font:
+ name: { pt_font() }
+ italic name: { pt_font_italic() }
+ size: { pt_font_size() }
+ color: { pt_font_color() }
+ shadow color: { if pt_font_color() == to_color("black") then rgb(255,255,255) else rgb(0,0,0) }
+ shadow displacement x: 1
+ shadow displacement y: 1
+ separator color: rgb(200,0,0)
+ ############################# Card sorting / numbering
+ ############################# Copyright stuff
+ illustrator:
+ left: 40
+ top : 470
+ width: 297
+ height: 16
+ z index: 900
+ alignment: { if styling.left_align_artist then "middle left" else "middle center" }
+ font:
+ name: MPlantin
+ size: 10
+ color: {if card.card_color == "white" and b_text() then rgb(0,0,0) else rgb(255,255,255)}
+ shadow color: {if card.card_color == "white" and b_text() then rgb(255,255,255) else rgb(0,0,0)}
+ shadow displacement x: 1
+ shadow displacement y: 1
+ copyright line:
+ left: 40
+ top : 486
+ width: 297
+ height: 12
+ z index: 900
+ alignment: { if styling.left_align_artist then "middle left" else "middle center" }
+ font:
+ name: MPlantin
+ size: 6.5
+ color: {if card.card_color == "white" and b_text() then rgb(0,0,0) else rgb(255,255,255)}
+ shadow color: {if card.card_color == "white" and b_text() then rgb(255,255,255) else rgb(0,0,0)}
+ shadow displacement x: 1
+ shadow displacement y: 1
+############################################################## Extra card fields
+extra card field:
+ type: choice
+ name: foil layer
+ choice: foil
+ save value: false
+ editable: false
+extra card field:
+ type: choice
+ name: land color overlay
+ choice: yes
+ save value: false
+ editable: false
+ script: card.card_color
+extra card field:
+ type: choice
+ name: divider 0
+ choice: divider
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: divider 1
+ choice: divider
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: divider 2
+ choice: divider
+ editable: false
+ save value: false
+extra card field:
+ type: choice
+ name: divider 3
+ choice: divider
+ editable: false
+ save value: false
+extra card style:
+ foil layer:
+ left: 0
+ top : 0
+ width: 375
+ height: 523
+ z index: 1010
+ render style: image
+ image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"}
+ divider 0:
+ left: 50
+ top: { divider_position(0) - 4 }
+ width: 135
+ height: 8
+ render style: image
+ image: divide.png
+ z index: 600
+ divider 1:
+ left: 50
+ top: { divider_position(1) - 4 }
+ width: 135
+ height: 8
+ render style: image
+ image: divide.png
+ z index: 600
+ divider 2:
+ left: 50
+ top: { divider_position(2) - 4 }
+ width: 135
+ height: 8
+ render style: image
+ image: divide.png
+ z index: 600
+ divider 3:
+ left: 50
+ top: { divider_position(3) - 4 }
+ width: 135
+ height: 8
+ render style: image
+ image: divide.png
+ z index: 600