From d3984b48bd8746d9a83b896eb1f69ee2e1a5d9ab Mon Sep 17 00:00:00 2001 From: GenevensiS <66968533+G-e-n-e-v-e-n-s-i-S@users.noreply.github.com> Date: Thu, 18 Jan 2024 17:12:53 +0100 Subject: [PATCH] Fixing TK symbol split TK out of mana filter add its own step after loyalty symbols add you get N to mana_context add mana value to mana_uncontext tweak mana_context formatting --------- Co-authored-by: cajun <12363371+CajunAvenger@users.noreply.github.com> --- data/magic-genevensis-00-main.mse-style/style | 8 +- .../style | 8 +- .../style | 8 +- .../style | 8 +- data/magic-genevensis-10-saga.mse-style/style | 8 +- .../magic-genevensis-11-class.mse-style/style | 8 +- .../style | 8 +- .../magic-genevensis-70-token.mse-style/style | 8 +- .../style | 8 +- .../style | 8 +- data/magic.mse-game/script | 76 ++++++++++--------- 11 files changed, 82 insertions(+), 74 deletions(-) diff --git a/data/magic-genevensis-00-main.mse-style/style b/data/magic-genevensis-00-main.mse-style/style index cde743601..618f0626d 100644 --- a/data/magic-genevensis-00-main.mse-style/style +++ b/data/magic-genevensis-00-main.mse-style/style @@ -43,10 +43,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-01-planeswalker.mse-style/style b/data/magic-genevensis-01-planeswalker.mse-style/style index 5c24d308e..1755556c7 100644 --- a/data/magic-genevensis-01-planeswalker.mse-style/style +++ b/data/magic-genevensis-01-planeswalker.mse-style/style @@ -49,10 +49,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-02-leveler.mse-style/style b/data/magic-genevensis-02-leveler.mse-style/style index d4a76dbc2..bc576dc17 100644 --- a/data/magic-genevensis-02-leveler.mse-style/style +++ b/data/magic-genevensis-02-leveler.mse-style/style @@ -46,10 +46,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-03-adventure.mse-style/style b/data/magic-genevensis-03-adventure.mse-style/style index 02f199969..8f2ab75d4 100644 --- a/data/magic-genevensis-03-adventure.mse-style/style +++ b/data/magic-genevensis-03-adventure.mse-style/style @@ -46,10 +46,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-10-saga.mse-style/style b/data/magic-genevensis-10-saga.mse-style/style index de9acdbf2..4a2670544 100644 --- a/data/magic-genevensis-10-saga.mse-style/style +++ b/data/magic-genevensis-10-saga.mse-style/style @@ -46,10 +46,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-11-class.mse-style/style b/data/magic-genevensis-11-class.mse-style/style index 13877af38..3d59ace7a 100644 --- a/data/magic-genevensis-11-class.mse-style/style +++ b/data/magic-genevensis-11-class.mse-style/style @@ -49,10 +49,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-20-battle.mse-style/style b/data/magic-genevensis-20-battle.mse-style/style index ca9cea8bb..d8ab1af6e 100644 --- a/data/magic-genevensis-20-battle.mse-style/style +++ b/data/magic-genevensis-20-battle.mse-style/style @@ -49,10 +49,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-70-token.mse-style/style b/data/magic-genevensis-70-token.mse-style/style index 42734a384..4cc4f64d9 100644 --- a/data/magic-genevensis-70-token.mse-style/style +++ b/data/magic-genevensis-70-token.mse-style/style @@ -46,10 +46,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-80-planechase.mse-style/style b/data/magic-genevensis-80-planechase.mse-style/style index cba5ea59f..e539fc1a7 100644 --- a/data/magic-genevensis-80-planechase.mse-style/style +++ b/data/magic-genevensis-80-planechase.mse-style/style @@ -49,10 +49,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic-genevensis-90-counter.mse-style/style b/data/magic-genevensis-90-counter.mse-style/style index 2179940f1..e94a319fa 100644 --- a/data/magic-genevensis-90-counter.mse-style/style +++ b/data/magic-genevensis-90-counter.mse-style/style @@ -46,10 +46,10 @@ init script: mana_t := { "new" } - mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WUBRG)") - mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIE[TK]P(WBGUR)") - mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIE[TK]PWUBRG]") - mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIE[TK]PWUBRG/|]") + + mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WUBRG)") + mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHFDSCAIEP(WBGUR)") + mana_unsort := sort_text@(order: "[/\\?XYZI0123456789VLHFDSCAIEPWUBRG]") + mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHFDSCAIEPWUBRG/|]") + replace@( match: "./.|././.|./././.|.[|]", in_context: "(^|[^/])($|[^/])", diff --git a/data/magic.mse-game/script b/data/magic.mse-game/script index 312f17273..4cfa59aa7 100644 --- a/data/magic.mse-game/script +++ b/data/magic.mse-game/script @@ -11,12 +11,12 @@ version_date := {"2023-02-21"} ############################################################## Sorting mana symbols # correctly sort a mana symbol (no guild mana) -mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE[TK](WUBRG)") +mana_sort := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE(WUBRG)") # correctly sort wedge mana -mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE[TK](WBGUR)") -mana_unsort := sort_text@(order:"[/\\?XYZI0123456789VLHSCAIETKWUBRG]") +mana_sort_wedge := sort_text@(order: "\\?XYZI[0123456789]VLHSFCAIE(WBGUR)") +mana_unsort := sort_text@(order:"[/\\?XYZI0123456789VLHSCAIEWUBRG]") # correctly sort guild mana -mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHSFCAIETKWUBRG/|]") + +mana_sort_guild := sort_text@(order: "[\\?XYZI01234567890VLHSFCAIEWUBRG/|]") + replace@( # No lookbehind :( #match: "(?") mana_filter_t := replace@( # Remove [] used for forcing mana symbols match: "[\\[\\]]", replace: "" @@ -770,30 +772,32 @@ inserts_values := { # Filters for the text box # context in which mana symbols are found mana_context := - "(?ix) # case insensitive, ignore whitespace - (^|[[:space:]\"(“']) # start of a word - ( - : # G: something - | , # G, tap: something - | or[ ] # Add X, Y, or Z. - | [ ]to[ ]your # Add X, Y, or Z to your mana pool. - | [ ]was[ ]spent # if G was spent to cast - | [ ]can[ ]be[ ]paid - | (pays?|additional|costs?|the|adds?|pay(ed)?[ ](with|using)) # pay X. creatures cost 1 less. pay an additional G. - ([ ]either)? # pay either X or Y - ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?,)* # pay X, Y or Z - ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?[ ](and|or|and/or))* # pay X or Y - [ ] - ([,.)\"”]|$ # (end of word) - |[ ][^ .,]*$ # still typing... - |[ ]( or | and | in | less | more | to ) # or next word is ... - ) - ) - | # keyword argument that is declared as mana - | [ ]* # keyword argument that is declared as cost - | , # keyword argument that is declared as cost - "; -mana_un_context := "(converted mana costs? | life)" + "(?ix) # case insensitive, ignore whitespace + (^|[[:space:]\"(“']) # start of a word + ( + : # G: something + | , # G, tap: something + | or[ ] # Add X, Y, or Z. + | [ ]to[ ]your # Add X, Y, or Z to your mana pool. + | you[ ]get[ ] # You get E, you get TK + | [ ]was[ ]spent # if G was spent to cast + | [ ]can[ ]be[ ]paid + | (pays?|additional|costs?|the|adds?|pay(ed)?[ ](with|using)) # pay X. creatures cost 1 less. pay an additional G. + ([ ]either)? # pay either X or Y + ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?,)* # pay X, Y or Z + ([ ](]*>)?[-+=]?[VLHSCETKQ\\?XYZIEWUBRG0-9/|]+(]*>)?[ ](and|or|and/or))* # pay X or Y + [ ] + ( + [,.)\"”]|$ # (end of word) + | [ ][^ .,]*$ # still typing... + | [ ]( or | and | in | less | more | to ) # or next word is ... + ) + ) + | # keyword argument that is declared as mana + | [ ]* # keyword argument that is declared as cost + | , # keyword argument that is declared as cost + "; +mana_un_context := "(mana values? |converted mana costs? | life)" # truncates the name of legends legend_filter := replace@(match:"(, | of | the | \"| “).*", replace: "" ) @@ -1011,7 +1015,7 @@ text_filter := } + # step 4 : explict non mana symbols replace@( - match: "\\][-+=]?[VLHSCETKQ\\?XYZIWUBRG0-9/|]+\\[", + match: "\\][-+=]?[VLHSCETQ\\?XYZIWUBRG0-9/|]+\\[", replace: {"" + mana_filter_t() + ""} ) + # step 5 : add mana & tap symbols replace@( @@ -1019,17 +1023,21 @@ text_filter := in_context: mana_context, replace: {"" + _1 + ""} ) + replace@( - match: "\\b[VLHSCETKQ\\?XYZIWUBRG0-9/|]+\\b", + match: "\\b((TK)+)(T)?\\b", + in_context: mana_context, + replace: {"" + _1 + "" + _3}) + + replace@( + match: "\\b[VLHSCETQ\\?XYZIWUBRG0-9/|]+\\b", in_context: mana_context, replace: {"" + mana_filter_t() + ""} ) + # step 5b : remove false positive mana & tap symbols replace@( - match: "([VLHSCETKQ\\?XYZIWUBRG0-9/|]+)", + match: "([VLHSCETQ\\?XYZIWUBRG0-9/|]+)", in_context: mana_un_context, replace: "\\1" ) + # step 5c : add explicit mana symbols replace@( - match: "\\[[-+=]?[VLHSCETKQE\\?XYZIWUBRG0-9/|]+\\]", + match: "\\[[-+=]?[VLHSCETQE\\?XYZIWUBRG0-9/|]+\\]", replace: {"" + mana_filter_t() + ""} ) + # step 6 : curly quotes {if set.curly_quotes then curly_quotes(input) else input} +