diff --git a/data/magic.mse-game/game b/data/magic.mse-game/game
index 6125c264..41d37366 100644
--- a/data/magic.mse-game/game
+++ b/data/magic.mse-game/game
@@ -235,9 +235,11 @@ init script:
add := "" # default is nothing
for_mana_costs := format_cost := {
if input.separator_before == "—" then (
- if contains(input.param, match:",") then
- "{add}{combined_cost(input.param)}"
- else
+ if contains(input.param, match:",") then (
+ if match(match: "^[STXYZWUBRG0-9/|]+,", input.param) then
+ "{add}{combined_cost(input.param)}"
+ else "{combined_cost(input.param)}"
+ ) else
"{alternative_cost(input.param)}"
) else
"{add}{input.param}"
@@ -247,12 +249,6 @@ init script:
replace_rule(match:",", replace:" and")+
replace_rule(match:"^[STXYZWUBRG0-9/|]", in_context: "(^|[[:space:]])", replace: "&")+
replace_rule(match:"^[A-Z]", replace: { to_lower() })
- #format_alt_cost := {
- # if input.separator_before == "—" then
- # alternative_cost(input.param)
- # else
- # input.param
- #}
long_dash := replace_rule(match:"-", replace:"—")
# Utilities for keywords
has_cc := { card.casting_cost != "" }
@@ -1409,7 +1405,6 @@ keyword parameter type:
name: add "pay " for mana costs
description: When using mana only costs, words the reminder text as "pay "
script: \{for_mana_costs(add:"pay ", {input})\}
- #reminder script: format_alt_cost()
separator script: long_dash()
keyword parameter type:
name: number
@@ -1800,11 +1795,6 @@ keyword:
match: Vanishing number
mode: expert
reminder: This permanent comes into play with {english_number_a(param1)} time counter(s) on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.
-keyword:
- keyword: Grandeur
- match: Grandeur
- mode: pseudo
- rules: Grandeur — Discard another card named ~: [effect].
keyword:
keyword: Deathtouch
match: Deathtouch
@@ -1874,3 +1864,8 @@ keyword:
match: Fortify cost
mode: expert
reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. This card comes into play unattached and stays in play if the land leaves play.
+keyword:
+ keyword: Grandeur
+ match: Grandeur
+ mode: pseudo
+ rules: Grandeur — Discard another card named ~: [effect].
diff --git a/data/vanguard.mse-game/game b/data/vanguard.mse-game/game
index 93801e35..1bbad25c 100644
--- a/data/vanguard.mse-game/game
+++ b/data/vanguard.mse-game/game
@@ -39,22 +39,20 @@ init script:
add := "" # default is nothing
for_mana_costs := format_cost := {
if input.separator_before == "—" then (
- if not contains(input.param, match:",") then
- "{input.param}"
- else
- "{add}{input.param}"
+ if contains(input.param, match:",") then (
+ if match(match: "^[STXYZWUBRG0-9/|]+,", input.param) then
+ "{add}{combined_cost(input.param)}"
+ else "{combined_cost(input.param)}"
+ ) else
+ "{alternative_cost(input.param)}"
) else
"{add}{input.param}"
}
alternative_cost := replace_rule(match:"^[A-Z]", replace: { to_lower() })
combined_cost := replace_rule(match:", [A-Z]", replace: { to_lower() })+
- replace_rule(match:",", replace:", and")
- format_alt_cost := {
- if input.separator_before == "—" and not contains(input.param, match:",") then
- alternative_cost(input.param)
- else
- combined_cost(input.param)
- }
+ replace_rule(match:",", replace:" and")+
+ replace_rule(match:"^[STXYZWUBRG0-9/|]", in_context: "(^|[[:space:]])", replace: "&")+
+ replace_rule(match:"^[A-Z]", replace: { to_lower() })
long_dash := replace_rule(match:"-", replace:"—")
# Utilities for keywords
has_cc := { card.casting_cost != "" }
@@ -477,7 +475,6 @@ keyword parameter type:
name: add "pay " for mana costs
description: When using mana only costs, words the reminder text as "pay "
script: \{for_mana_costs(add:"pay ",{input})\}
- reminder script: format_alt_cost()
separator script: long_dash()
keyword parameter type:
name: number
@@ -867,10 +864,6 @@ keyword:
match: vanishing number
mode: expert
reminder: It comes into play with {english_number_a(param1)} time counter(s) on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.
-keyword:
- keyword: Grandeur
- match: Grandeur
- mode: pseudo
keyword:
keyword: Deathtouch
match: deathtouch
@@ -896,15 +889,6 @@ keyword:
match: absorb number
mode: expert
reminder: If a source would deal damage to it, prevent {param1} of that damage.
-keyword:
- keyword: Fateseal
- match: Fateseal number
- mode: expert
- reminder:
- Look at the top {
- if param1.value==1 then "card of an opponent's library, then you may put it on the bottom of that player's library."
- else "{english_number(param1)} cards of an opponent's library, then put any number of them on the bottom of that player's library and the rest on top in any order."
- }
keyword:
keyword: Fateseal
match: fateseal number
@@ -949,3 +933,7 @@ keyword:
match: fortify cost
mode: expert
reminder: {param1}: Attach to target land you control. Fortify only as a sorcery. It comes into play unattached and stays in play if the land leaves play.
+keyword:
+ keyword: Grandeur
+ match: Grandeur
+ mode: pseudo