diff --git a/data/magic-new-flip.mse-style/style b/data/magic-new-flip.mse-style/style
index 3cda1938..9f98d1ab 100644
--- a/data/magic-new-flip.mse-style/style
+++ b/data/magic-new-flip.mse-style/style
@@ -26,7 +26,13 @@ init script:
land_template := { "acard.jpg" }
# Use the normal tap symbol
- mana_t := { "new" }
+ 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 }
# Does the card have a color that requires a white font for copyright/artist?
white_font_colors := filter_rule(match:"^(hybrid )?black|^land")
@@ -55,12 +61,30 @@ styling field:
name: popup mana symbols
description: Use the symbols of the casting cost line inside the text box as well
initial: no
+styling field:
+ type: choice
+ name: tap symbol
+ description: What tap symbol should be used on cards?
+ initial: modern
+ choice: modern
+ choice: old
+ choice: diagonal T
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
popup mana symbols:
choice images:
yes: /magic-mana-large.mse-symbol-font/mana_w.png
no: /magic-mana-small.mse-symbol-font/mana_w.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
############################################################## Card fields
card style:
diff --git a/data/magic-new-promo.mse-style/style b/data/magic-new-promo.mse-style/style
index b48ce34c..c814d2ae 100644
--- a/data/magic-new-promo.mse-style/style
+++ b/data/magic-new-promo.mse-style/style
@@ -27,7 +27,13 @@ init script:
pt_template := { "/magic-new.mse-style/" + artifact_template() + "pt.jpg" }
# Use the normal tap symbol
- mana_t := { "mana_t.png" }
+ 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 }
# Does the card have a color that requires a white font for copyright/artist?
white_font_colors := filter_rule(match:"^(hybrid 2 color)?black|^land")
@@ -63,12 +69,30 @@ styling field:
name: popup mana symbols
description: Use the symbols of the casting cost line inside the text box as well
initial: no
+styling field:
+ type: choice
+ name: tap symbol
+ description: What tap symbol should be used on cards?
+ initial: modern
+ choice: modern
+ choice: old
+ choice: diagonal T
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
popup mana symbols:
choice images:
yes: /magic-mana-large.mse-symbol-font/mana_w.png
no: /magic-mana-small.mse-symbol-font/mana_w.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
############################################################## Card fields
card style:
diff --git a/data/magic-new-split.mse-style/style b/data/magic-new-split.mse-style/style
index 250d6fa2..2ab66c0e 100644
--- a/data/magic-new-split.mse-style/style
+++ b/data/magic-new-split.mse-style/style
@@ -19,7 +19,13 @@ init script:
}
# Use the normal tap symbol
- mana_t := { "mana_t.png" }
+ 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 }
# Does the card have a color that requires a white font for copyright/artist?
white_font_colors := filter_rule(match:"^(hybrid 2 color)?black|^land")
@@ -31,81 +37,50 @@ init script:
}
-############################################################## Set info fields
-info style:
- title:
- padding left: 2
- font:
- size: 16
- symbol:
- variation:
- name: common
- border radius: 0.10
- fill type: solid
- fill color: rgb(0,0,0)
- border color: rgb(255,255,255)
- variation:
- name: uncommon
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(224,224,224)
- fill color 2: rgb(84, 84, 84)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: rare
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(214,196,94)
- fill color 2: rgb(95, 84, 40)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: special
- border radius: 0.10
- fill type: linear gradient
- fill color 1: rgb(224,170,247)
- fill color 2: rgb(58,7,80)
- border color 1: rgb(255,255,255)
- border color 2: rgb(255,255,255)
- automatic reminder text:
- render style: both
- choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
- use gradient multicolor:
- render style: both
- choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
+############################################################## Extra style options
-
-############################################################## Extra style
-
-extra field:
+styling field:
type: boolean
name: colored mana symbols
description: Use colored mana symbols, as used by Wizards since Fifth Dawn.
-extra field:
+styling field:
type: boolean
name: darker artifacts
description: Use darker artifacts, as used by Wizards since Fifth Dawn.
-extra field:
+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
-extra field:
+styling field:
type: boolean
name: popup mana symbols
description: Use the symbols of the casting cost line inside the text box as well
initial: no
+styling field:
+ type: choice
+ name: tap symbol
+ description: What tap symbol should be used on cards?
+ initial: modern
+ choice: modern
+ choice: old
+ choice: diagonal T
-extra style:
+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
popup mana symbols:
choice images:
yes: /magic-mana-large.mse-symbol-font/mana_w.png
no: /magic-mana-small.mse-symbol-font/mana_w.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
############################################################## Card fields
card style:
diff --git a/data/magic-new.mse-style/style b/data/magic-new.mse-style/style
index d6464af3..b368cc5c 100644
--- a/data/magic-new.mse-style/style
+++ b/data/magic-new.mse-style/style
@@ -34,6 +34,8 @@ init script:
else if styling.tap_symbol == "diagonal T" then "older"
else "new"
}
+ # Use guild mana symbols?
+ guild_mana := { styling.use_guild_mana_symbols }
# Does the card have a color that requires a white font for copyright/artist?
white_font_colors := filter_rule(match:"^(hybrid 2 color )?(hybrid 3 color [^/]*/[^/]*/ )?(hybrid vertical [^/]*/ )?(black|land|hybrid 4 color w/u/b/r)")
@@ -90,6 +92,10 @@ styling style:
light: oacard.jpg
dark: acard.jpg
brown: bacard.jpg
+ 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
popup mana symbols:
choice images:
yes: /magic-mana-large.mse-symbol-font/mana_w.png
diff --git a/data/magic-old-token.mse-style/style b/data/magic-old-token.mse-style/style
index b4aa8c68..1e0f3a69 100644
--- a/data/magic-old-token.mse-style/style
+++ b/data/magic-old-token.mse-style/style
@@ -23,8 +23,14 @@ init script:
# Horizontal 5 color blends are not supported
card_hybrid_5b := card_hybrid_5
- # Use the old tap symbol
- mana_t := { "old" }
+ # 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 }
# Does the card have a color that requires a black font for copyright/artist?
black_font_colors := filter_rule(match:"^(hybrid 2 color)?white")
@@ -35,56 +41,42 @@ init script:
rgb(255,255,255)
}
-############################################################## Set info fields
-info style:
- title:
- padding left: 2
- font:
- size: 16
- symbol:
- variation:
- name: common
- border radius: 0.10
- fill type: solid
- fill color: rgb(0,0,0)
- border color: rgb(255,255,255)
- variation:
- name: uncommon
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(224,224,224)
- fill color 2: rgb(84, 84, 84)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: rare
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(214,196,94)
- fill color 2: rgb(95, 84, 40)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: special
- border radius: 0.10
- fill type: linear gradient
- fill color 1: rgb(224,170,247)
- fill color 2: rgb(58,7,80)
- border color 1: rgb(255,255,255)
- border color 2: rgb(255,255,255)
- automatic reminder text:
+############################################################## Extra style options
+
+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: boolean
+ name: popup mana symbols
+ description: Use the symbols of the casting cost line inside the text box as well
+ initial: no
+styling field:
+ type: choice
+ name: tap symbol
+ description: What tap symbol should be used on cards?
+ initial: old
+ choice: modern
+ choice: old
+ choice: diagonal T
+
+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
+ popup mana symbols:
+ choice images:
+ yes: /magic-mana-large.mse-symbol-font/mana_w.png
+ no: /magic-mana-small.mse-symbol-font/mana_w.png
+ tap symbol:
render style: both
choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
- use gradient multicolor:
- render style: both
- choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
-
-
-############################################################## Extra style
+ 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
############################################################## Card fields
card style:
@@ -181,7 +173,11 @@ card style:
scale down to: 6
color: rgb(0,0,0)
symbol font:
- name: magic-mana-small
+ name:
+ script:
+ if styling.popup_mana_symbols
+ then "magic-mana-large"
+ else "magic-mana-small"
size: 13
align: middle center
z index: 2
diff --git a/data/magic-old.mse-style/style b/data/magic-old.mse-style/style
index 3f880c6d..0214e29a 100644
--- a/data/magic-old.mse-style/style
+++ b/data/magic-old.mse-style/style
@@ -23,8 +23,14 @@ init script:
# Horizontal 5 color blends are not supported
card_hybrid_5b := card_hybrid_5
- # Use the old tap symbol
- mana_t := { "old" }
+ # 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 }
# Does the card have a color that requires a black font for copyright/artist?
black_font_colors := filter_rule(match:"^(hybrid 2 color)?white")
@@ -35,57 +41,43 @@ init script:
rgb(255,255,255)
}
-############################################################## Set info fields
-info style:
- title:
- padding left: 2
- font:
- size: 16
- symbol:
- variation:
- name: common
- border radius: 0.10
- fill type: solid
- fill color: rgb(0,0,0)
- border color: rgb(255,255,255)
- variation:
- name: uncommon
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(224,224,224)
- fill color 2: rgb(84, 84, 84)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: rare
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(214,196,94)
- fill color 2: rgb(95, 84, 40)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: special
- border radius: 0.10
- fill type: linear gradient
- fill color 1: rgb(224,170,247)
- fill color 2: rgb(58,7,80)
- border color 1: rgb(255,255,255)
- border color 2: rgb(255,255,255)
- automatic reminder text:
+
+############################################################## Extra style options
+
+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: boolean
+ name: popup mana symbols
+ description: Use the symbols of the casting cost line inside the text box as well
+ initial: no
+styling field:
+ type: choice
+ name: tap symbol
+ description: What tap symbol should be used on cards?
+ initial: old
+ choice: modern
+ choice: old
+ choice: diagonal T
+
+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
+ popup mana symbols:
+ choice images:
+ yes: /magic-mana-large.mse-symbol-font/mana_w.png
+ no: /magic-mana-small.mse-symbol-font/mana_w.png
+ tap symbol:
render style: both
choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
- use gradient multicolor:
- render style: both
- choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
-
-
-
-############################################################## Extra style
+ 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
############################################################## Card fields
card style:
@@ -203,7 +195,11 @@ card style:
scale down to: 6
color: rgb(0,0,0)
symbol font:
- name: magic-mana-small
+ name:
+ script:
+ if styling.popup_mana_symbols
+ then "magic-mana-large"
+ else "magic-mana-small"
size: 13
align: middle left
z index: 2
diff --git a/data/magic-textless.mse-style/style b/data/magic-textless.mse-style/style
index a5538ef9..2c3e7112 100644
--- a/data/magic-textless.mse-style/style
+++ b/data/magic-textless.mse-style/style
@@ -25,7 +25,13 @@ init script:
pt_template := { input + "pt.jpg" }
# Use the normal tap symbol
- mana_t := { "new" }
+ 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 }
# Does the card have a color that requires a white font for copyright/artist?
white_font_colors := filter_rule(match:"^(hybrid 2 color)?black|^land")
@@ -36,86 +42,28 @@ init script:
rgb(0,0,0)
}
-############################################################## Set info fields
-info style:
- title:
- padding left: 2
- font:
- size: 16
- symbol:
- variation:
- name: common
- border radius: 0.10
- fill type: solid
- fill color: rgb(0,0,0)
- border color: rgb(255,255,255)
- variation:
- name: uncommon
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(224,224,224)
- fill color 2: rgb(84, 84, 84)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: rare
- border radius: 0.05
- fill type: linear gradient
- fill color 1: rgb(214,196,94)
- fill color 2: rgb(95, 84, 40)
- border color 1: rgb(0, 0, 0)
- border color 2: rgb(0, 0, 0)
- variation:
- name: special
- border radius: 0.10
- fill type: linear gradient
- fill color 1: rgb(224,170,247)
- fill color 2: rgb(58,7,80)
- border color 1: rgb(255,255,255)
- border color 2: rgb(255,255,255)
- automatic reminder text:
- render style: both
- choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
- use gradient multicolor:
- render style: both
- choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
+############################################################## Extra style options
-
-############################################################## Extra style
-
-extra field:
- type: boolean
- name: colored mana symbols
- description: Use colored mana symbols, as used by Wizards since Fifth Dawn.
-extra field:
+styling field:
type: boolean
name: darker artifacts
description: Use darker artifacts, as used by Wizards since Fifth Dawn.
-extra field:
+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.
initial: no
-extra field:
+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
-extra field:
- type: boolean
- name: popup mana symbols
- description: Use the symbols of the casting cost line inside the text box as well
- initial: no
-extra style:
- popup mana symbols:
+styling style:
+ use guild mana symbols:
choice images:
- yes: /magic-mana-large.mse-symbol-font/mana_w.png
- no: /magic-mana-small.mse-symbol-font/mana_w.png
+ yes: /magic-mana-small.mse-symbol-font/mana_guild_rg.png
+ no: /magic-mana-small.mse-symbol-font/mana_rg.png
############################################################## Card fields
card style:
diff --git a/data/magic.mse-game/game b/data/magic.mse-game/game
index c0e54000..ddf18afa 100644
--- a/data/magic.mse-game/game
+++ b/data/magic.mse-game/game
@@ -271,22 +271,19 @@ set field:
name: gold
color: rgb(200,180,0)
set field:
- type: choice
- name: automatic reminder text
- choice: yes
- choice: only for custom keywords
- choice: no
- description: Should reminder text be added to keywords by default? Note: you can enable/disable reminder text by right clicking the keyword.
-set field:
- # TODO : RENAME
type: multiple choice
- name: automatic reminder text2
+ name: automatic reminder text
choice: old
choice: core
choice: expert
choice: custom
- initial: old, core, export, custom
- description: Should reminder text be added to keywords by default? Note: you can enable/disable reminder text by right clicking the keyword.
+ initial: old, core, expert, custom
+ # Convert from older mse versions
+ script:
+ if value = "yes" then "old, core, expert, custom"
+ 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
@@ -343,11 +340,6 @@ default set style:
border color 1: rgb(255,255,255)
border color 2: rgb(255,255,255)
automatic reminder text:
- render style: both
- choice images:
- yes: script: buildin_image("bool_yes")
- no: script: buildin_image("bool_no")
- automatic reminder text2:
render style: checklist
direction: vertical
use gradient multicolor:
@@ -891,7 +883,7 @@ statistics category:
has keywords: true
-keyword preview: {keyword} ({reminder})
+#keyword preview: {keyword} ({reminder})
keyword mode:
name: old
@@ -970,12 +962,12 @@ keyword:
reminder: This creature deals combat damage before creatures without first strike.
keyword:
keyword: Enchant
- match: Enchant name
+ match: Enchant name
mode: core
- reminder: Target a as you play this. This card comes into play attached to that {param1}.
+ reminder: Target a {param1} as you play this. This card comes into play attached to that {param1}.
keyword:
keyword: Cycling
- match: Cycling cost
+ match: Cycling cost
mode: core
reminder: {param1}, Discard this card: Draw a card.
keyword:
@@ -988,7 +980,7 @@ keyword:
reminder: When declaring attackers or blockers this creature may group with others creatures with banding and one creature without banding. When damage is dealt, you decide where damage is dealt.
keyword:
keyword: Rampage
- match: Rampage number
+ match: Rampage number
mode: old
reminder: Whenever this creature becomes blocked, it gets +{param1}/+{param1} until end of turn for each creature blocking it beyond the first.
keyword:
@@ -1001,7 +993,7 @@ keyword:
reminder: This creature can’t attack.
keyword:
keyword: Cumulative upkeep
- match: Cumulative upkeep cost
+ match: Cumulative upkeep cost
mode: old
reminder: At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay {param1} for each age counter on it.
keyword:
@@ -1014,7 +1006,7 @@ keyword:
reminder: At the beginning of your upkeep, put this and any cards attached to it in the phased-out zone. If this is already in the phased-out zone, return it and any card attached to it to play. If there were counters on this card when it phased out, put that many counters on it when it returns to play. This ability does not cause comes-into-play or leaves play abilities to trigger.
keyword:
keyword: Flanking
- match: Flanking number
+ match: Flanking number
mode: old
reminder: Whenever a creature without flanking blocks this creature, the blocking creature gets -{param1}/-{param1} until end of turn.
keyword:
@@ -1023,40 +1015,31 @@ keyword:
reminder: This creature can block or be blocked by only creatures with shadow.
keyword:
keyword: Buyback
- match: Buyback cost
+ match: Buyback cost
mode: expert
reminder: You may pay {param1} in addition to any other costs as you play this spell. If you do, put ~ into your hand instead of your graveyard as part of its resolution.
keyword:
keyword: Echo
mode: expert
reminder: At the beginning of your next upkeep after this permanent comes under your control, sacrifice it unless you pay its mana cost.
-keyword:
- keyword: Plainscycling
- separator: whitespace [ ]
- parameter: cost
- mode: expert
- reminder: , Discard this card: Search your library for a Plains card, reveal it, and put it into your hand. Then shuffle your library.
keyword:
keyword: Landcycling
- match: prefixcycling cost
+ match: prefixcycling cost
mode: expert
reminder: {param2}, Discard this card: Search your library for a {param1} card, reveal it, and put it into your hand. Then shuffle your library.
keyword:
keyword: Fading
- separator: whitespace [ ]
- parameter: number (a, two, ...)
+ match: Fading number
mode: expert
- reminder: This comes into play with fade counter(s) on it. At the beginning of your upkeep, remove a fade counter from it. If you can’t, sacrifice it.
+ reminder: This comes into play with {param1} fade counter(s) on it. At the beginning of your upkeep, remove a fade counter from it. If you can’t, sacrifice it.
keyword:
keyword: Kicker
- separator: whitespace [ ]
- parameter: cost
+ match: Kicker cost
mode: expert
- reminder: You may pay an additional as you play this spell.
+ reminder: You may pay an additional {param1} as you play this spell.
keyword:
keyword: Madness
- separator: whitespace [ ]
- parameter: cost
+ match: Madness cost
mode: expert
reminder: You may play this card for its madness cost at the time you discard it.
keyword:
@@ -1082,7 +1065,7 @@ keyword:
separator: whitespace [ ]
parameter: number (a, two, ...)
mode: expert
- reminder: As this card comes into play, put +1/+1 counter(s) on it for each creature that shares a type with this that you reveal in your hand.
+ reminder: As this card comes into play, put {param1} +1/+1 counter(s) on it for each creature that shares a type with this that you reveal in your hand.
keyword:
keyword: Double strike
mode: expert
@@ -1112,7 +1095,7 @@ keyword:
separator: whitespace [ ]
parameter: cost
mode: expert
- reminder: : Attach to target creature you control. Equip only as a sorcery. This card comes into play unattached and stays in play if the creature leaves play.
+ reminder: {param1}: Attach to target creature you control. Equip only as a sorcery. This card comes into play unattached and stays in play if the creature leaves play.
keyword:
keyword: Imprint
separator: dash [ - ]
@@ -1124,20 +1107,20 @@ keyword:
separator: whitespace [ ]
parameter: number (a, two, ...)
mode: expert
- reminder: This comes into play with +1/+1 counter(s) on it. When it’s put into a graveyard, you may put its +1/+1 counters on target artifact creature.
+ reminder: This comes into play with {param1} +1/+1 counter(s) on it. When it’s put into a graveyard, you may put its +1/+1 counters on target artifact creature.
keyword:
keyword: Scry
separator: whitespace [ ]
parameter: number (, two, ...)
mode: expert
- reminder: Look at the top card(s) of your library. Put any number of them on the bottom of your library in any order and the rest on top of your library in any order.
+ reminder: Look at the top {param1} card(s) of your library. Put any number of them on the bottom of your library in any order and the rest on top of your library in any order.
keyword:
keyword: Sunburst
mode: expert
reminder: This comes into play with a +1/+1 counter on it for each color of mana used to pay its cost. If it is not a creature, use charge counters instead.
#keyword:
keyword: Splice
- match: Splice onto name cost
+ match: Splice onto name cost
mode: expert
reminder: As you play a {param1} spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card’s effects to that spell.
keyword:
@@ -1151,25 +1134,25 @@ keyword:
separator: dash [ - ]
parameter: name
mode: expert
- reminder: You may play this card any time you could play an instant by sacrificing a and paying the difference in mana costs between this and the sacrificed . Mana cost includes color.
+ reminder: You may play this card any time you could play an instant by sacrificing a {param1} and paying the difference in mana costs between this and the sacrificed {param1}. Mana cost includes color.
keyword:
keyword: Bushido
separator: whitespace [ ]
parameter: number
mode: expert
- reminder: When this blocks or becomes blocked, it gets +/+ until end of turn.
+ reminder: When this blocks or becomes blocked, it gets +{param1}/+{param1} until end of turn.
keyword:
keyword: Ninjutsu
separator: whitespace [ ]
parameter: cost
mode: expert
- reminder: , Return an unblocked attacker you control to hand: Put this card into play from your hand tapped and attacking.
+ reminder: {param1}, Return an unblocked attacker you control to hand: Put this card into play from your hand tapped and attacking.
keyword:
keyword: Soulshift
separator: whitespace [ ]
parameter: number
mode: expert
- reminder: When this is put into a graveyard from play, you may return target Spirit card with converted mana cost or less from you graveyard to your hand.
+ reminder: When this is put into a graveyard from play, you may return target Spirit card with converted mana cost {param1} or less from you graveyard to your hand.
keyword:
keyword: Epic
mode: expert
@@ -1183,7 +1166,7 @@ keyword:
separator: whitespace [ ]
parameter: cost
mode: expert
- reminder: , Discard this card: Search your library for a card with the same converted mana cost as this card, reveal it, and put it into your hand. Then shuffle your library. Play only as a sorcery.
+ reminder: {param1}, Discard this card: Search your library for a card with the same converted mana cost as this card, reveal it, and put it into your hand. Then shuffle your library. Play only as a sorcery.
keyword:
keyword: Haunt
mode: expert
@@ -1193,7 +1176,7 @@ keyword:
separator: whitespace [ ]
parameter: number (a, two, ...)
mode: expert
- reminder: If an opponent was dealt damage this turn, this creature comes into play with +1/+1 counter(s) on it.
+ reminder: If an opponent was dealt damage this turn, this creature comes into play with {param1} +1/+1 counter(s) on it.
keyword:
keyword: Replicate
separator: whitespace [ ]
@@ -1218,7 +1201,7 @@ keyword:
reminder: If defending player is wearing any clothing made of denim, this creature is unblockable.
keyword:
keyword: Landwalk
- match: prefixwalk
+ match: prefixwalk
mode: core
reminder: This creature is unblockable as long as defending player controls a {param1}.
keyword:
@@ -1226,19 +1209,19 @@ keyword:
separator: whitespace [ ]
parameter: name
mode: core
- reminder: This creature can’t be blocked, targeted, dealt damage, or enchanted by anything .
+ reminder: This creature can’t be blocked, targeted, dealt damage, or enchanted by anything {param1}.
keyword:
keyword: Dredge
separator: whitespace [ ]
parameter: number (one, two, ...)
mode: expert
- reminder: As long as you have at least card(s) in your library, if you would draw a card, you may instead put exactly card(s) from the top of your library into your graveyard and return this card from your graveyard to your hand.
+ reminder: As long as you have at least {param1} card(s) in your library, if you would draw a card, you may instead put exactly {param1} card(s) from the top of your library into your graveyard and return this card from your graveyard to your hand.
keyword:
keyword: Graft
separator: whitespace [ ]
parameter: number (a, two, ...)
mode: expert
- reminder: This creature comes into play with +1/+1 counter(s) on it. Whenever another creature comes into play, you may move a +1/+1 counter from this creature onto it.
+ reminder: This creature comes into play with {param1} +1/+1 counter(s) on it. Whenever another creature comes into play, you may move a +1/+1 counter from this creature onto it.
keyword:
keyword: Forecast
separator: whitespace [ ]
diff --git a/data/vanguard-standard.mse-style/style b/data/vanguard-standard.mse-style/style
index 1c9bc89b..da3d5a3e 100644
--- a/data/vanguard-standard.mse-style/style
+++ b/data/vanguard-standard.mse-style/style
@@ -9,8 +9,14 @@ icon: card-sample.png
############################################################## Extra scripts
init script:
- # Use the old tap symbol
- mana_t := { "old" }
+ # 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 }
############################################################## Set info fields
info style:
@@ -19,13 +25,42 @@ info style:
font:
size: 16
-############################################################## Extra style
+############################################################## Extra style options
-extra field:
+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: boolean
name: popup mana symbols
description: Use the symbols of the casting cost line inside the text box as well
initial: no
+styling field:
+ type: choice
+ name: tap symbol
+ description: What tap symbol should be used on cards?
+ initial: old
+ choice: modern
+ choice: old
+ choice: diagonal T
+
+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
+ popup mana symbols:
+ choice images:
+ yes: /magic-mana-large.mse-symbol-font/mana_w.png
+ no: /magic-mana-small.mse-symbol-font/mana_w.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
############################################################## Card fields
card style:
diff --git a/data/vanguard.mse-game/game b/data/vanguard.mse-game/game
index e885d9e3..783b6fde 100644
--- a/data/vanguard.mse-game/game
+++ b/data/vanguard.mse-game/game
@@ -94,6 +94,9 @@ init script:
############################################################## Set fields
+set field:
+ type: info
+ name: Set Information
set field:
type: text
name: title
@@ -107,6 +110,9 @@ set field:
set field:
type: text
name: copyright
+set field:
+ type: info
+ name: Defaults and Automation
set field:
type: color
name: border color
@@ -129,6 +135,14 @@ set field:
initial: no
description: Should card numbers be shown on the cards?
+############################# Default style
+
+default set style:
+ title:
+ padding left: 2
+ font:
+ size: 16
+
############################################################## Card fields
############################# Background stuff
diff --git a/src/data/action/keyword.hpp b/src/data/action/keyword.hpp
index 96f3c368..9dfcf6d4 100644
--- a/src/data/action/keyword.hpp
+++ b/src/data/action/keyword.hpp
@@ -97,5 +97,10 @@ class KeywordReminderTextValue : public KeywordTextValue {
void highlight(const String& code, const vector& errors);
};
+/// Changing the mode of a keyword
+class ChangeKeywordModeAction : public Action {
+
+};
+
// ----------------------------------------------------------------------------- : EOF
#endif
diff --git a/src/gui/set/keywords_panel.cpp b/src/gui/set/keywords_panel.cpp
index d4971291..32ba4903 100644
--- a/src/gui/set/keywords_panel.cpp
+++ b/src/gui/set/keywords_panel.cpp
@@ -22,6 +22,9 @@
#include
#include
+DECLARE_TYPEOF_COLLECTION(KeywordParamP);
+DECLARE_TYPEOF_COLLECTION(KeywordModeP);
+
// ----------------------------------------------------------------------------- : KeywordsPanel
KeywordsPanel::KeywordsPanel(Window* parent, int id)
@@ -36,6 +39,8 @@ KeywordsPanel::KeywordsPanel(Window* parent, int id)
reminder = new TextCtrl(panel, wxID_ANY, true); // allow multiline for wordwrap
rules = new TextCtrl(panel, wxID_ANY, true);
errors = new wxStaticText(panel, wxID_ANY, _(""));
+ mode = new wxChoice(panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, nullptr);
+ add_param = new wxButton(panel, ID_KEYWORD_ADD_PARAM, _("Insert Parameter"));
// warning about fixed keywords
fixedL = new wxStaticText(panel, wxID_ANY, _(""));
wxStaticBitmap* fixedI = new wxStaticBitmap(panel, wxID_ANY, wxArtProvider::GetBitmap(wxART_WARNING));
@@ -52,12 +57,15 @@ KeywordsPanel::KeywordsPanel(Window* parent, int id)
wxSizer* s1 = new wxBoxSizer(wxVERTICAL);
s1->Add(new wxStaticText(panel, wxID_ANY, _("Keyword:")), 0);
s1->Add(keyword, 0, wxEXPAND | wxTOP, 2);
+ s1->Add(new wxStaticText(panel, wxID_ANY, _("Mode:")), 0, wxTOP, 2);
+ s1->Add(mode, 0, wxEXPAND | wxTOP, 2);
sp->Add(s1, 0, wxEXPAND | wxLEFT, 2);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 8);
wxSizer* s2 = new wxBoxSizer(wxVERTICAL);
s2->Add(new wxStaticText(panel, wxID_ANY, _("Match:")), 0);
s2->Add(match, 0, wxEXPAND | wxTOP, 2);
s2->Add(new wxStaticText(panel, wxID_ANY, _("Parameters:")), 0, wxTOP, 6);
+ s2->Add(add_param, 0, wxALIGN_LEFT | wxTOP, 2);
sp->Add(s2, 0, wxEXPAND | wxLEFT, 2);
sp->Add(new wxStaticLine(panel), 0, wxEXPAND | wxTOP | wxBOTTOM, 8);
wxSizer* s3 = new wxBoxSizer(wxVERTICAL);
@@ -127,6 +135,8 @@ void KeywordsPanel::onUpdateUI(wxUpdateUIEvent& ev) {
case ID_KEYWORD_PREV: ev.Enable(list->canSelectPrevious()); break;
case ID_KEYWORD_NEXT: ev.Enable(list->canSelectNext()); break;
case ID_KEYWORD_REMOVE: ev.Enable(list->getKeyword() && !list->getKeyword()->fixed); break;
+ case ID_KEYWORD_ADD_PARAM:
+ break;
}
}
@@ -147,6 +157,14 @@ void KeywordsPanel::onCommand(int id) {
set->actions.add(new RemoveKeywordAction(*set, list->getKeyword()));
}
break;
+ case ID_KEYWORD_ADD_PARAM: {
+ wxMenu param_menu;
+ FOR_EACH(p, set->game->keyword_parameter_types) {
+ param_menu.Append(wxID_ANY, p->name);
+ }
+ add_param->PopupMenu(¶m_menu, 0, add_param->GetSize().y);
+ break;
+ }
}
}
@@ -174,6 +192,12 @@ void KeywordsPanel::onChangeSet() {
match ->getStyle().font.font.SetPointSize(10);
reminder->updateSize();
rules ->setSet(set);
+ // parameter & mode lists
+ add_param->Enable(false);
+ mode->Clear();
+ FOR_EACH(m, set->game->keyword_modes) {
+ mode->Append(m->name);
+ }
// re-layout
panel->Layout();
}
@@ -198,12 +222,16 @@ void KeywordsPanel::onKeywordSelect(KeywordSelectEvent& ev) {
shared_ptr reminder_value(new KeywordReminderTextValue(reminder->getFieldP(), &kw, !kw.fixed));
reminder->setValue(reminder_value);
errors->SetLabel(reminder_value->errors);
+ add_param->Enable(!kw.fixed && !set->game->keyword_parameter_types.empty());
+ mode->SetStringSelection(kw.mode);
sp->Layout();
} else {
keyword ->setValue(nullptr);
match ->setValue(nullptr);
rules ->setValue(nullptr);
reminder->setValue(nullptr);
+ add_param->Enable(false);
+ mode ->Enable(false);
}
}
diff --git a/src/gui/set/keywords_panel.hpp b/src/gui/set/keywords_panel.hpp
index 1dbd3f39..cae453ae 100644
--- a/src/gui/set/keywords_panel.hpp
+++ b/src/gui/set/keywords_panel.hpp
@@ -52,6 +52,8 @@ class KeywordsPanel : public SetWindowPanel {
wxStaticText* fixedL;
wxSizer* fixed;
wxStaticText* errors;
+ wxChoice* mode;
+ wxButton* add_param;
/// Controls to edit a parameter
struct ParamEditor {
wxStaticText* label;
diff --git a/src/render/card/viewer.cpp b/src/render/card/viewer.cpp
index 9ba805ad..b2431337 100644
--- a/src/render/card/viewer.cpp
+++ b/src/render/card/viewer.cpp
@@ -57,7 +57,7 @@ bool DataViewer::drawEditing() const { return false; }
bool DataViewer::drawFocus() const { return false; }
wxPen DataViewer::borderPen(bool) const { return wxPen(); }
ValueViewer* DataViewer::focusedViewer() const { return nullptr; }
-Context& DataViewer::getContext() const { return set->getContext(); }
+Context& DataViewer::getContext() const { return set->getContext(card); }
Rotation DataViewer::getRotation() const {
if (!stylesheet) stylesheet = set->stylesheet;
@@ -68,7 +68,7 @@ Rotation DataViewer::getRotation() const {
// ----------------------------------------------------------------------------- : Setting data
void DataViewer::setCard(const CardP& card) {
- if (!card) return; // TODO: clear editor?
+ if (!card) return; // TODO: clear vie?
assert(set);
this->card = card;
stylesheet = set->stylesheetFor(card);
diff --git a/src/util/window_id.hpp b/src/util/window_id.hpp
index d69af5a4..f86e5945 100644
--- a/src/util/window_id.hpp
+++ b/src/util/window_id.hpp
@@ -108,6 +108,8 @@ enum ChildMenuID {
, ID_KEYWORD_REMOVE
, ID_KEYWORD_PREV
, ID_KEYWORD_NEXT
+, ID_KEYWORD_ADD_PARAM
+, ID_KEYWORD_REF_PARAM
// Format menu
, ID_FORMAT_BOLD = 1201