MH3 Updates (#50)

* add Emerge from

---------

Co-authored-by: cajun <12363371+CajunAvenger@users.noreply.github.com>
This commit is contained in:
cajun
2024-05-27 19:45:32 -05:00
committed by GitHub
parent c7b9382929
commit a21cb6e4a0
10 changed files with 104 additions and 25 deletions

View File

@@ -33,7 +33,7 @@ PARTITIONS
OTHER UPDATES OTHER UPDATES
• MSE has been updated to MSE 2.1.3! This fixes a bug where single line text-fields like names and typelines couldn't be automatically shrunk, and adds shift-click to select multiple options in the export window. This isn't the full jump to hagan's 2.4.0 fork yet, but we're getting there. • MSE has been updated to MSE 2.1.3! This fixes a bug where single line text-fields like names and typelines couldn't be automatically shrunk, and adds shift-click to select multiple options in the export window. This isn't the full jump to hagan's 2.4.0 fork yet, but we're getting there.
• Added Custom Border to M15 Mainframe and Adventure, which allows defining a trim frame like Vehicle or Nyx with images from magic-mainframe-extras • Added Custom Border to M15 Mainframe and Adventure, which allows defining a trim frame like Vehicle or Nyx with images from magic-mainframe-extras
• Keywords for MKM, PIP, and OTJ have been added. • Keywords and types for MKM, PIP, OTJ, and MH3 have been added.
• Added Capenna, DND, Desparked, Judge Academy, MLP, Shooting Star, Transformers, and hi-res mana symbol watermarks. • Added Capenna, DND, Desparked, Judge Academy, MLP, Shooting Star, Transformers, and hi-res mana symbol watermarks.
• Added support for Custom Watermarks up to a maximum size of 1024x1024. Watermarks that aren't 500x500 will still need to include their height and width. • Added support for Custom Watermarks up to a maximum size of 1024x1024. Watermarks that aren't 500x500 will still need to include their height and width.
• Split the "blend with colors" watermark option into one that applies to custom watermarks and one that applies to default watermarks. • Split the "blend with colors" watermark option into one that applies to custom watermarks and one that applies to default watermarks.

View File

@@ -1863,4 +1863,10 @@ keyword:
keyword: Spree keyword: Spree
match: Spree match: Spree
mode: expert mode: expert
reminder: Choose one or more additional costs. reminder: Choose one or more additional costs.
# Modern Horizons 3
keyword:
keyword: Emerge from
match: Emerge <atom-param>cost</atom-param> from <atom-param>name</atom-param>
mode: expert
reminder: You may cast this spell by sacrificing a {param2} and paying the emerge cost reduced by that {param2}'s mana value.

View File

@@ -62,6 +62,11 @@ keyword parameter type:
match: ([^(.:;\n—]+|[ ]) match: ([^(.:;\n—]+|[ ])
optional: true optional: true
keyword parameter type:
name: ein_wort
match: ([^( .:;\n—]+)
optional: true
############################################################## All Magic keywords ############################################################## All Magic keywords
keyword: keyword:
@@ -469,7 +474,7 @@ keyword:
keyword: Seelenwanderung keyword: Seelenwanderung
match: Seelenwanderung <atom-param>Nummer</atom-param> match: Seelenwanderung <atom-param>Nummer</atom-param>
mode: expert mode: expert
reminder: Wenn diese Karte aus dem Spiel auf einen Friedhof gelegt wird, kannst du eine Geist-Karte deiner Wahl mit umgewandelten Manakosten von {param1} oder weniger aus deinem Friedhof auf deine Hand zurückbringen. reminder: Wenn diese Karte aus dem Spiel auf einen Friedhof gelegt wird, kannst du eine Geist-Karte deiner Wahl mit Manabetrags von {param1} oder weniger aus deinem Friedhof auf deine Hand zurückbringen.
#example: Thousand-legged Kami #example: Thousand-legged Kami
keyword: keyword:
@@ -533,7 +538,7 @@ keyword:
keyword: Transmutation keyword: Transmutation
match: Transmutation <atom-param>Kosten</atom-param> match: Transmutation <atom-param>Kosten</atom-param>
mode: expert mode: expert
reminder: {param1}, wirf diese Karte aus deiner Hand ab: Durchsuche deine Bibliothek nach einer Karte mit den gleichen umgewandelten Manakosten wie diese Karte, zeige sie offen vor und nimm sie auf deine Hand. Mische danach deine Bibliothek. Spiele diese Fähigkeit nur wie eine Hexerei. reminder: {param1}, wirf diese Karte aus deiner Hand ab: Durchsuche deine Bibliothek nach einer Karte mit den gleichen Manabetrags wie diese Karte, zeige sie offen vor und nimm sie auf deine Hand. Mische danach deine Bibliothek. Spiele diese Fähigkeit nur wie eine Hexerei.
#example: Clutch of the Undercity #example: Clutch of the Undercity
keyword: keyword:
@@ -661,7 +666,7 @@ keyword:
keyword: Umgestalten keyword: Umgestalten
match: Umgestalten <atom-param>Kosten</atom-param> match: Umgestalten <atom-param>Kosten</atom-param>
mode: expert mode: expert
reminder: {param1}, opfere diese Kreatur: Durchsuche deine Bibliothek nach einer Kreaturenkarte mit den gleichen umgewandelten Manakosten wie diese Kreatur und bringe jene Karte ins Spiel. Mische danach deine Bibliothek. Spiele diese Fähigkeit nur wie eine Hexerei. reminder: {param1}, opfere diese Kreatur: Durchsuche deine Bibliothek nach einer Kreaturenkarte mit den gleichen Manabetrags wie diese Kreatur und bringe jene Karte ins Spiel. Mische danach deine Bibliothek. Spiele diese Fähigkeit nur wie eine Hexerei.
#example: Fleshwrither #example: Fleshwrither
keyword: keyword:
@@ -1061,9 +1066,17 @@ keyword:
keyword: Auftauchen keyword: Auftauchen
match: Auftauchen <atom-param>Kosten</atom-param> match: Auftauchen <atom-param>Kosten</atom-param>
mode: expert mode: expert
reminder: Du kannst diesen Zauberspruch wirken, indem du eine Kreatur opferst und die Auftauchen-Kosten bezahlst, abzüglich der umgewandelten Manakosten der geopferten Kreatur. reminder: Du kannst diesen Zauberspruch wirken, indem du eine Kreatur opferst und die Auftauchen-Kosten bezahlst, abzüglich des Manabetrags des geopferten Kreatur.
#example: It of the Horrid Swarm #example: It of the Horrid Swarm
keyword:
#english keyword: Emerge from
keyword: Auftauchen aus
match: Auftauchen aus <atom-param>ein_wort</atom-param> <atom-param>Name</atom-param> <atom-param>Kosten</atom-param>
mode: expert
reminder: Du kannst diesen Zauberspruch wirken, indem du eine Kreatur opferst und die Auftauchen-Kosten bezahlst, abzüglich des Manabetrags des geopferten {param2}s.
#example: Crabomination
keyword: keyword:
#english keyword: Escalate #english keyword: Escalate
keyword: Eskalieren keyword: Eskalieren
@@ -1493,7 +1506,7 @@ keyword:
keyword: Befehde keyword: Befehde
match: Befehde match: Befehde
mode: action mode: action
reminder: Jeder Spieler in einer Fehde deckt die oberste Karte seiner Bibliothek auf und legt diese Karte dann auf oder unter seine Bibliothek. Ein Spieler gewinnt die Fehde, wenn seine Karte die höheren umgewandelten Manakosten hat. reminder: Jeder Spieler in einer Fehde deckt die oberste Karte seiner Bibliothek auf und legt diese Karte dann auf oder unter seine Bibliothek. Ein Spieler gewinnt die Fehde, wenn seine Karte die höheren Manabetrags hat.
#example: Fistful of Force #example: Fistful of Force
keyword: keyword:

View File

@@ -470,7 +470,7 @@ keyword:
keyword: Migración de almas keyword: Migración de almas
match: Migración de almas <atom-param>número</atom-param> match: Migración de almas <atom-param>número</atom-param>
mode: expert mode: expert
reminder: Cuando esto vaya a un cementerio desde el juego, puedes regresar la carta de Espíritu objetivo con coste de maná convertido de {param1} o menos de tu cementerio a tu mano. reminder: Cuando esto vaya a un cementerio desde el juego, puedes regresar la carta de Espíritu objetivo con valor de maná de {param1} o menos de tu cementerio a tu mano.
#example: Thousand-legged Kami #example: Thousand-legged Kami
keyword: keyword:
@@ -542,7 +542,7 @@ keyword:
keyword: Transmutar keyword: Transmutar
match: Transmutar <atom-param>coste</atom-param> match: Transmutar <atom-param>coste</atom-param>
mode: expert mode: expert
reminder: {param1}, descartar esta carta: Busca en tu biblioteca una carta con el mismo coste de maná convertido que esta carta, muéstrala y ponla en tu mano. Luego baraja tu biblioteca. Juega esta habilidad sólo como un conjuro reminder: {param1}, descartar esta carta: Busca en tu biblioteca una carta con el mismo valor de maná que esta carta, muéstrala y ponla en tu mano. Luego baraja tu biblioteca. Juega esta habilidad sólo como un conjuro
#example: Clutch of the Undercity #example: Clutch of the Undercity
keyword: keyword:
@@ -670,7 +670,7 @@ keyword:
keyword: Transfigurar keyword: Transfigurar
match: Transfigurar <atom-param>coste</atom-param> match: Transfigurar <atom-param>coste</atom-param>
mode: expert mode: expert
reminder: {param1}, sacrificar esta criatura: Busca en tu biblioteca una carta de criatura con el mismo coste de maná convertido que esta criatura y pon esa carta en juego. Luego baraja tu biblioteca. Juega esta habilidad sólo como un conjuro reminder: {param1}, sacrificar esta criatura: Busca en tu biblioteca una carta de criatura con el mismo valor de maná que esta criatura y pon esa carta en juego. Luego baraja tu biblioteca. Juega esta habilidad sólo como un conjuro
#example: Fleshwrither #example: Fleshwrither
keyword: keyword:
@@ -1070,9 +1070,17 @@ keyword:
keyword: Emerger keyword: Emerger
match: Emerger <atom-param>coste</atom-param> match: Emerger <atom-param>coste</atom-param>
mode: expert mode: expert
reminder: Puedes lanzar este hechizo sacrificando una criatura y pagando el coste de emerger menos el coste de maná convertido de esa criatura. reminder: Puedes lanzar este hechizo sacrificando una criatura y pagando el coste de emerger menos el valor de maná de esa criatura.
#example: It of the Horrid Swarm #example: It of the Horrid Swarm
keyword:
#english keyword: Emerge from
keyword: Emerger desde
match: Emerger desde <atom-param>nombre</atom-param> <atom-param>coste</atom-param>
mode: expert
reminder: Puedes lanzar este hechizo sacrificando {if starts_vowel(param1.value) then "un" else "una"} {param1} y pagando el coste de emerger menos el valor de maná de ese {param1}.
#example: Crabomination
keyword: keyword:
#english keyword: Escalate #english keyword: Escalate
keyword: Expandir keyword: Expandir
@@ -1510,7 +1518,7 @@ keyword:
keyword: Enfréntate keyword: Enfréntate
match: Enfréntate match: Enfréntate
mode: action mode: action
reminder: Cada jugador enfrentado muestra la primera carta de su biblioteca, luego pone esa carta en la parte superior o inferior. Gana el jugador cuya carta tenga el mayor coste de maná convertido. reminder: Cada jugador enfrentado muestra la primera carta de su biblioteca, luego pone esa carta en la parte superior o inferior. Gana el jugador cuya carta tenga el mayor valor de maná.
#example: Fistful of Force #example: Fistful of Force
keyword: keyword:

View File

@@ -56,6 +56,11 @@ keyword parameter type:
match: [^(.,”":;\n—]+ match: [^(.,”":;\n—]+
optional: false optional: false
keyword parameter type:
name: un_mot
match: [^(.,”":;\n— ]+
optional: false
keyword parameter type: keyword parameter type:
name: nom name: nom
match: ([^(.:;\n—]+|[ ]) match: ([^(.:;\n—]+|[ ])
@@ -1143,6 +1148,14 @@ keyword:
reminder: Vous pouvez lancer ce sort en sacrifiant une créature et en payant le coût d'émergence, moins la valeur de mana de cette créature. reminder: Vous pouvez lancer ce sort en sacrifiant une créature et en payant le coût d'émergence, moins la valeur de mana de cette créature.
#example: It of the Horrid Swarm #example: It of the Horrid Swarm
keyword:
#english keyword: Emerge from
keyword: Émergence d'
match: Émergence d<atom-param>un_mot</atom-param> <atom-param>coût</atom-param>
mode: expert
reminder: Vous pouvez lancer ce sort en sacrifiant {if starts_vowel(param1.value) then "un" else "une"} {param1} et en payant le coût d'émergence, moins la valeur de mana de l'{param1} sacrifié.
#example: Crabomination
keyword: keyword:
#english keyword: Escalate #english keyword: Escalate
keyword: Intensification keyword: Intensification

View File

@@ -58,6 +58,11 @@ keyword parameter type:
match: [^(.,”":;\n—]+ match: [^(.,”":;\n—]+
optional: false optional: false
keyword parameter type:
name: una_parola
match: [^(.,”":;\n— ]+
optional: false
keyword parameter type: keyword parameter type:
name: nome name: nome
match: ([^(.:;\n—]+|[ ]) match: ([^(.:;\n—]+|[ ])
@@ -526,7 +531,7 @@ keyword:
keyword: Muta-anima keyword: Muta-anima
match: Muta-anima <atom-param>numero</atom-param> match: Muta-anima <atom-param>numero</atom-param>
mode: expert mode: expert
reminder: Quando questa viene messa in un cimitero dal gioco, puoi riprendere in mano una carta Spirito bersaglio con costo di mana convertito pari o inferiore a {param1} presente nel tuo cimitero. reminder: Quando questa viene messa in un cimitero dal gioco, puoi riprendere in mano una carta Spirito bersaglio con valore di mana pari o inferiore a {param1} presente nel tuo cimitero.
#example: Thousand-legged Kami #example: Thousand-legged Kami
keyword: keyword:
@@ -622,7 +627,7 @@ keyword:
keyword: Trasmutare keyword: Trasmutare
match: Trasmutare <atom-param>costo</atom-param> match: Trasmutare <atom-param>costo</atom-param>
mode: expert mode: expert
reminder: {param1}, Scarta questa carta: Passa in rassegna il tuo grimorio, scegli una carta con lo stesso costo di mana convertito di questa carta, rivelala e aggiungila alla tua mano. Poi rimescola il tuo grimorio. Giocalo solo come una stregoneria. reminder: {param1}, Scarta questa carta: Passa in rassegna il tuo grimorio, scegli una carta con lo stesso valore di mana di questa carta, rivelala e aggiungila alla tua mano. Poi rimescola il tuo grimorio. Giocalo solo come una stregoneria.
#example: Clutch of the Undercity #example: Clutch of the Undercity
keyword: keyword:
@@ -758,7 +763,7 @@ keyword:
keyword: Trasfigurare keyword: Trasfigurare
match: Trasfigurare <atom-param>costo</atom-param> match: Trasfigurare <atom-param>costo</atom-param>
mode: expert mode: expert
reminder: {param1}, Sacrifica questa creatura: Passa in rassegna il tuo grimorio per una carta creatura con lo stesso costo di mana convertito di questa creatura e metti in gioco quella carta. Poi rimescola il tuo grimorio. Gioca questa abilità solo quando potresti giocare una stregoneria. reminder: {param1}, Sacrifica questa creatura: Passa in rassegna il tuo grimorio per una carta creatura con lo stesso valore di mana di questa creatura e metti in gioco quella carta. Poi rimescola il tuo grimorio. Gioca questa abilità solo quando potresti giocare una stregoneria.
#example: Fleshwrither #example: Fleshwrither
keyword: keyword:
@@ -1166,9 +1171,17 @@ keyword:
keyword: Emergere keyword: Emergere
match: Emergere <atom-param>costo</atom-param> match: Emergere <atom-param>costo</atom-param>
mode: expert mode: expert
reminder: Puoi lanciare questa magia sacrificando una creatura e pagando il costo di emergere meno il costo di mana convertito di quella creatura. reminder: Puoi lanciare questa magia sacrificando una creatura e pagando il costo di emergere meno il valore di mana di quella creatura.
#example: It of the Horrid Swarm #example: It of the Horrid Swarm
keyword:
#english keyword: Emerge
keyword: Emergere da
match: Emergere da <atom-param>una_parola</atom-param> <atom-param>una_parola</atom-param> <atom-param>costo</atom-param>
mode: expert
reminder: Puoi lanciare questa magia sacrificando {if starts_vowel(param2.value) then "un" else "une"} {param2} e pagando il costo di emergere meno il valore di mana di quell'{param2}.
#example: Crabomination
keyword: keyword:
#english keyword: Escalate #english keyword: Escalate
keyword: Incrementare keyword: Incrementare
@@ -1614,7 +1627,7 @@ keyword:
keyword: Scontrati keyword: Scontrati
match: Scontrati match: Scontrati
mode: action mode: action
reminder: Ogni giocatore che si scontra rivela la prima carta del suo grimorio, poi la mette in cima o in fondo. Un giocatore vince se la sua carta aveva un costo di mana convertito maggiore. reminder: Ogni giocatore che si scontra rivela la prima carta del suo grimorio, poi la mette in cima o in fondo. Un giocatore vince se la sua carta aveva un valore di mana maggiore.
#example: Fistful of Force #example: Fistful of Force
keyword: keyword:

View File

@@ -1054,9 +1054,17 @@ keyword:
keyword: 現出 keyword: 現出
match: 現出<atom-param>コスト</atom-param> match: 現出<atom-param>コスト</atom-param>
mode: expert mode: expert
reminder: あなたはこの呪文を、クリーチャー1体を生け贄に捧げるとともに<sym-auto>X</sym-auto>だけ減らした現出コストを支払って唱えてもよい。Xはそのクリーチャーの点数で見たマナ・コストに等しい。 reminder: あなたはこの呪文を、クリーチャー1体を生け贄に捧げ、そのクリーチャーのマナ総量だけ減らした現出コストを支払って唱えてもよい。
#example: It of the Horrid Swarm #example: It of the Horrid Swarm
keyword:
#english keyword: Emerge from
keyword: からの現出
match: <atom-param>名前</atom-param>からの現出<atom-param>コスト</atom-param>
mode: expert
reminder: あなたはこの呪文を、{param1}1つを生け贄に捧げてそのアーテイファクトのマナ総量だけ減らした現出コストを支払って唱えてもよい。
#example: Crabomination
keyword: keyword:
#english keyword: Escalate #english keyword: Escalate
keyword: 増呪 keyword: 増呪

View File

@@ -478,7 +478,7 @@ keyword:
keyword: Transmigração da alma keyword: Transmigração da alma
match: Transmigração da alma <atom-param>número</atom-param> match: Transmigração da alma <atom-param>número</atom-param>
mode: expert mode: expert
reminder: Quando esta for colocada num cemitério vinda de jogo, você pode devolver o card alvo de Espírito com custo de mana convertido menor ou igual a {param1} de seu cemitério para sua mão. reminder: Quando esta for colocada num cemitério vinda de jogo, você pode devolver o card alvo de Espírito com valor de mana menor ou igual a {param1} de seu cemitério para sua mão.
#example: Thousand-legged Kami #example: Thousand-legged Kami
keyword: keyword:
@@ -566,7 +566,7 @@ keyword:
keyword: Transmutação keyword: Transmutação
match: Transmutação <atom-param>custo</atom-param> match: Transmutação <atom-param>custo</atom-param>
mode: expert mode: expert
reminder: {param1}, Descarte este card: Procure em seu grimório um card com o mesmo custo de mana convertido deste card, revele-o e coloque-o em sua mão. Depois, embaralhe seu grimório. Jogue somente como um feitiço. reminder: {param1}, Descarte este card: Procure em seu grimório um card com o mesmo valor de mana deste card, revele-o e coloque-o em sua mão. Depois, embaralhe seu grimório. Jogue somente como um feitiço.
#example: Clutch of the Undercity #example: Clutch of the Undercity
keyword: keyword:
@@ -694,7 +694,7 @@ keyword:
keyword: Transfigurar keyword: Transfigurar
match: Transfigurar <atom-param>custo</atom-param> match: Transfigurar <atom-param>custo</atom-param>
mode: expert mode: expert
reminder: {param1}, Sacrifique esta criatura: Procure em seu grimório por um card de criatura com o mesmo custo de mana convertido que esta criatura e coloque esse card em jogo. Depois, embaralhe seu grimório. Jogue somente como um feitiço. reminder: {param1}, Sacrifique esta criatura: Procure em seu grimório por um card de criatura com o mesmo valor de mana que esta criatura e coloque esse card em jogo. Depois, embaralhe seu grimório. Jogue somente como um feitiço.
#example: Fleshwrither #example: Fleshwrither
keyword: keyword:
@@ -1094,9 +1094,17 @@ keyword:
keyword: Emergir keyword: Emergir
match: Emergir <atom-param>custo</atom-param> match: Emergir <atom-param>custo</atom-param>
mode: expert mode: expert
reminder: Você pode conjurar esta mágica sacrificando uma criatura e pagando o custo de emergir menos o custo de mana convertido daquela criatura. reminder: Você pode conjurar esta mágica sacrificando uma criatura e pagando o custo de emergir menos o valor de mana daquela criatura.
#example: It of the Horrid Swarm #example: It of the Horrid Swarm
keyword:
#english keyword: Emerge from
keyword: Emergir de
match: Emergir de <atom-param>nome</atom-param> <atom-param>custo</atom-param>
mode: expert
reminder: Você pode conjurar esta mágica sacrificando {if starts_vowel(param1.value) then "um" else "uma"} {param1} e pagando o custo de emergir menos o valor de mana daquele {param1}.
#example: Crabomination
keyword: keyword:
#english keyword: Escalate #english keyword: Escalate
keyword: Escalar keyword: Escalar
@@ -1534,7 +1542,7 @@ keyword:
keyword: Confronte keyword: Confronte
match: Confronte match: Confronte
mode: action mode: action
reminder: Cada jogador confrontante revela o card do topo de seu próprio grimório, e então coloca aquele card no topo ou no fundo deste. Vence o jogador que tiver o card com o maior custo de mana convertido. reminder: Cada jogador confrontante revela o card do topo de seu próprio grimório, e então coloca aquele card no topo ou no fundo deste. Vence o jogador que tiver o card com o maior valor de mana.
#example: Fistful of Force #example: Fistful of Force
keyword: keyword:

View File

@@ -1050,13 +1050,21 @@ keyword:
#example: Furtive Homunculus #example: Furtive Homunculus
keyword: keyword:
#english keyword: Emerge #english keyword: Emerge from
keyword: 化生 keyword: 化生
match: 化生<atom-param>费用</atom-param> match: 化生<atom-param>费用</atom-param>
mode: expert mode: expert
reminder: 你可以牺牲一个生物并支付化生费用来施放此咒语,此时总费用会扣除该生物之总法术力费用。 reminder: 你可以牺牲一个生物并支付化生费用来施放此咒语,此时总费用会扣除该生物之总法术力费用。
#example: It of the Horrid Swarm #example: It of the Horrid Swarm
keyword:
#english keyword: Emerge from
keyword: 字首化生
match: <atom-param>字首</atom-param>化生<atom-param>费用</atom-param>
mode: expert
reminder: 你可以牺牲一个{param1}并支付化生费用来施放此咒语,此时总费用会扣除该{param1}之总法术力费用。
#example: Crabomination
keyword: keyword:
#english keyword: Escalate #english keyword: Escalate
keyword: 增效 keyword: 增效

View File

@@ -32,7 +32,7 @@ include file: language
include file: statistics_script include file: statistics_script
include file: /magic-blends.mse-include/new-blends include file: /magic-blends.mse-include/new-blends
############################################################## Versioning ############################################################## Versioning
version_date := {"2024-05-24 Mainframe 1.3.d Showcase Catchup: Alchemy Compatibility"} version_date := {"2024-05-27 Mainframe 1.3.e Showcase Catchup: MH3 Keywords"}
version := version_date version := version_date
############################################################## Common filters ############################################################## Common filters
############################################################## Utility ############################################################## Utility
@@ -47,6 +47,8 @@ word_count := break_text@(match:"[^[:space:]]+") + length
has_png := contains@(match:".png") has_png := contains@(match:".png")
has_none := contains@(match: "none") has_none := contains@(match: "none")
starts_vowel := match@(match:"[aâäàáeêëèéiîïìíoôöòóuûüùúAÂÄÀÁEÊËÈÉIÎÏÌÍOÔÖÒÓUÛÜÙÚ]")
remove_comma := replace@(match: ",", replace: "") remove_comma := replace@(match: ",", replace: "")
long_dash := replace@(match:"-", replace:"—") long_dash := replace@(match:"-", replace:"—")
softline_ripper := replace@(match:"</?soft-line>", replace:"") softline_ripper := replace@(match:"</?soft-line>", replace:"")