diff --git a/data/magic.mse-game/keywords_fr b/data/magic.mse-game/keywords_fr
index 1398ce260..859a680df 100644
--- a/data/magic.mse-game/keywords_fr
+++ b/data/magic.mse-game/keywords_fr
@@ -66,6 +66,14 @@ keyword parameter type:
match: ([^(.:;\n—]+|[ ])
optional: true
+keyword parameter type:
+ name: un
+ match: (un |une |le |la |l'|l’)
+
+keyword parameter type:
+ name: de
+ match: (de la |de |du |d'|d’)
+
############################################################## All Magic keywords
keyword:
@@ -191,9 +199,9 @@ keyword:
keyword:
#english keyword: Landwalk
keyword: Traversée des terrains
- match: Traversée de nom
+ match: Traversée denom
mode: old
- reminder: Cette créature ne peut pas être bloquée tant que le joueur défenseur contrôle au moins un/une {param1}.
+ reminder: Cette créature ne peut pas être bloquée tant que le joueur défenseur contrôle au moins un/une {param2}.
#example: Farbog Explorer
keyword:
@@ -527,25 +535,9 @@ keyword:
keyword:
#english keyword: Offering
keyword: Offrande
- match: Offrande de nom
+ match: Offrande denom
mode: expert
- reminder: Vous pouvez jouer cette carte à tout moment où vous pourriez jouer un éphémère en sacrifiant un/une {param1} et en payant la différence de coût de mana entre cette carte et le/la {param1} sacrifié/e. Le coût de mana inclut la couleur.
- #example: Patron of the Moon
-
-keyword:
- #english keyword: Offering
- keyword: Offrande
- match: Offrande d'nom
- mode: expert
- reminder: Vous pouvez jouer cette carte à tout moment où vous pourriez jouer un éphémère en sacrifiant un/une {param1} et en payant la différence de coût de mana entre cette carte et le/la {param1} sacrifié/e. Le coût de mana inclut la couleur.
- #example: Patron of the Moon
-
-keyword:
- #english keyword: Offering
- keyword: Offrande
- match: Offrande d’nom
- mode: expert
- reminder: Vous pouvez jouer cette carte à tout moment où vous pourriez jouer un éphémère en sacrifiant un/une {param1} et en payant la différence de coût de mana entre cette carte et le/la {param1} sacrifié/e. Le coût de mana inclut la couleur.
+ reminder: Vous pouvez jouer cette carte à tout moment où vous pourriez jouer un éphémère en sacrifiant un/une {param2} et en payant la différence de coût de mana entre cette carte et le/la {param2} sacrifié/e. Le coût de mana inclut la couleur.
#example: Patron of the Moon
keyword:
@@ -735,25 +727,9 @@ keyword:
keyword:
#english keyword: Champion
keyword: Appui
- match: Appui de nom
+ match: Appui denom
mode: expert
- reminder: Quand ce permanent arrive sur le champ de bataille, sacrifiez-le à moins que vous n'exiliez un/une autre {param1} que vous contrôlez. Quand ce permanent quitte le champ de bataille, la carte exilée revient sur le champ de bataille.
- #example: Lightning Crafter
-
-keyword:
- #english keyword: Champion
- keyword: Appui
- match: Appui d'nom
- mode: expert
- reminder: Quand ce permanent arrive sur le champ de bataille, sacrifiez-le à moins que vous n'exiliez un/une autre {param1} que vous contrôlez. Quand ce permanent quitte le champ de bataille, la carte exilée revient sur le champ de bataille.
- #example: Lightning Crafter
-
-keyword:
- #english keyword: Champion
- keyword: Appui
- match: Appui d’nom
- mode: expert
- reminder: Quand ce permanent arrive sur le champ de bataille, sacrifiez-le à moins que vous n'exiliez un/une autre {param1} que vous contrôlez. Quand ce permanent quitte le champ de bataille, la carte exilée revient sur le champ de bataille.
+ reminder: Quand ce permanent arrive sur le champ de bataille, sacrifiez-le à moins que vous n'exiliez un/une autre {param2} que vous contrôlez. Quand ce permanent quitte le champ de bataille, la carte exilée revient sur le champ de bataille.
#example: Lightning Crafter
keyword:
@@ -1140,6 +1116,14 @@ keyword:
reminder: Cette créature ne peut pas être bloquée par des créatures de force supérieure.
#example: Furtive Homunculus
+keyword:
+ #english keyword: Emerge from
+ keyword: Émergence d'
+ match: Émergence deun_mot coût
+ mode: expert
+ reminder: Vous pouvez lancer ce sort en sacrifiant un {param2} et en payant le coût d'émergence, moins la valeur de mana de l'{param2} sacrifié.
+ #example: Crabomination
+
keyword:
#english keyword: Emerge
keyword: Émergence
@@ -1148,14 +1132,6 @@ 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.
#example: It of the Horrid Swarm
-keyword:
- #english keyword: Emerge from
- keyword: Émergence d'
- match: Émergence d’un_mot coût
- 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:
#english keyword: Escalate
keyword: Intensification
@@ -2535,7 +2511,7 @@ keyword:
keyword:
#english keyword: To solve
keyword: À résoudre
- match: À résoudre — Name
+ match: À résoudre — nom
reminder: Si l'affaire n'est pas résolue, résolvez-la au début de votre étape de fin.
#example: Case of the Crimson Pulse
@@ -2605,22 +2581,13 @@ keyword:
reminder: Les assassins, les mercenaires, les pirates, les gredins et les psychagogues sont des hors-la-loi.
#example: Caught in the Crossfire
-# Modern Horizons 3
-keyword:
- #english keyword: Emerge from
- keyword: Émergence d'
- match: Émergence d'nom coût
- mode: expert
- reminder: Vous pouvez lancer ce sort en sacrifiant un {param1} et en payant le coût d'émergence, moins la valeur de mana de l'{param1} sacrifié.
- #example: Crabomination
-
# Bloomburrow
keyword:
#english keyword: expend
keyword: déboursez
match: déboursez nombre
mode: action
- reminder: Vous déboursez {param1} au moment où vous dépensez votre {french_number(param1)} mana au total pour lancer des sorts pendant un tour.
+ reminder: Vous déboursez {param1} au moment où vous dépensez votre {french_ordinal_number(param1)} mana au total pour lancer des sorts pendant un tour.
#example: Teapot Slinger
keyword:
@@ -2677,7 +2644,6 @@ keyword:
match: Faites cadeau d'une pieuvre
mode: expert
reminder: Vous pouvez promettre un cadeau à un adversaire au moment où vous lancez ce sort. Si vous faites ainsi, {if lang_setting("is_spell")(card.type) then "il crée un jeton de créature 8/8 bleue Pieuvre avant ses autres effets." else "quand il arrive, ce joueur crée un jeton de créature 8/8 bleue Pieuvre."}
- reminder: Du kannst einem Gegner ein Geschenk versprechen, sowie du diesen Zauberspruch wirkst. Falls du dies tust, erzeugt er, { if lang_setting("is_spell")(card.type) then "vor dessen anderen Effekten" else "wenn dieses Permanent ins Spiel kommt,"} einen 8/8 blauen Oktopus-Kreaturenspielstein.
#example: Octomancer
keyword:
@@ -2693,15 +2659,15 @@ keyword:
keyword: Progéniture
match: Progéniture coût
mode: expert
- reminder: vous pouvez payer {param1} supplémentaires au moment où vous lancez ce sort. Si vous faites ainsi, quand cette créature arrive, créez un jeton 1/1 qui en est une copie.
+ reminder: Vous pouvez payer {param1} supplémentaires au moment où vous lancez ce sort. Si vous faites ainsi, quand cette créature arrive, créez un jeton 1/1 qui en est une copie.
#example: Flowerfoot Swordmaster
keyword:
#english keyword: Valiant
- keyword: Vaillant
+ keyword: Vaillant
match: Vaillant
mode: pseudo
- rules: Vaillant — Whenever ~ becomes the target of a spell or ability you control for the first time each turn, [effect].
+ rules: À chaque fois que ce permanent devient la cible d'un sort ou d'une capacité que vous contrôlez pour la première fois à chaque tour, [effet].
#example: Flowerfoot Swordmaster
#Duskmourn
@@ -2710,7 +2676,8 @@ keyword:
keyword: Imminence
match: Imminence nombre—coût
mode: expert
- reminder: Si vous lancez ce sort pour son coût d'imminence, il arrive avec {quatre} marqueurs « temps » et ce n'est pas une créature avant que le dernier soit retiré. Au début de votre étape de fin, retirez-lui un marqueur « temps ».
+ reminder: Si vous lancez ce sort pour son coût d'imminence, il arrive avec {french_number(param1)} marqueurs « temps » et ce n'est pas une créature avant que le dernier soit retiré. Au début de votre étape de fin, retirez-lui un marqueur « temps ».
+ #example: Overlord of the Floodpits
keyword:
#english keyword: Manifest dread
@@ -2718,6 +2685,7 @@ keyword:
match: manifestez l'effroi
mode: expert
reminder: Regardez les deux cartes du dessus de votre bibliothèque. Mettez l'une d'elles sur le champ de bataille face cachée comme une créature 2/2 et l'autre dans votre cimetière. Retournez-la face visible à tout moment pour son coût de mana si c'est une carte de créature.
+ #example: Bashful Beastie
keyword:
#english keyword: Manifests dread
@@ -2725,28 +2693,32 @@ keyword:
match: manifeste l'effroi
mode: expert
reminder: Ce jouer regarde les deux cartes du dessus de sa bibliothèque, puis met l'une d'elles sur le champ de bataille face cachée comme une créature 2/2 et l'autre dans son cimetière. Si c'est une carte de créature, elle peut être retournée face visible à tout moment pour son coût de mana.
+ #example: Unwanted Remake
keyword:
#english keyword: Eerie
keyword: Angoisse
match: Angoisse
mode: pseudo
- rules: Angoisse — Whenever an enchantment you control enters and whenever you fully unlock a Room, [effect].
+ rules: À chaque fois qu'un enchantement que vous contrôlez arrive et à chaque fois que vous déverrouillez complètement une pièce, [effet].
+ #example: Balemurk Leech
keyword:
#english keyword: Survival
keyword: Survie
match: Survie
mode: pseudo
- rules: Survie — At the beginning of your second main phase, if ~ is tapped, [effect].
+ rules: Au début de votre deuxième phase principale, si ce permanent est engagé, [effet].
+ #example: Cautious Survivor
#Tarkir: Dragonstorm
keyword:
#english keyword: Behold
- keyword: contemplar
- match: contemplar un nom
+ keyword: contempler
+ match: contempler unnom
mode: action
- reminder: Pour contempler un {param1}, choisissez un {param1} que vous contrôlez ou révélez une carte de {param1} de votre main.
+ reminder: Pour contempler {param1}{param2}, choisissez {param1}{param2} que vous contrôlez ou révélez une carte de {param2} de votre main.
+ #example: Caustic Exhale
keyword:
#english keyword: Endure
@@ -2754,20 +2726,23 @@ keyword:
match: endure nombre
mode: action
reminder: Mettez {french_number(param1)} marqueur(s) +1/+1 sur elle ou créez un jeton de créature {param1}/{param1} blanche Esprit.
+ #example: Fortress Kin-Guard
keyword:
#english keyword: Flurry
keyword: Rafale
match: Rafale
mode: pseudo
- rules: Rafale — Whenever you cast your second spell each turn, [effect].
+ rules: À chaque fois que vous lancez votre deuxième sort à chaque tour, [effet].
+ #example: Poised Practitioner
keyword:
- english keyword: Harmonize
+ #english keyword: Harmonize
keyword: Harmonisation
match: Harmonisation coût
mode: expert
- reminder: Vous pouvez lancer cette carte depuis votre cimetière pour son coût d'harmonisation. Vous pouvez engager une créature que vous contrôlez pour réduire ce coût de X, X étant sa force. Puis exilez ce sort.
+ reminder: Vous pouvez lancer cette carte depuis votre cimetière pour son coût d'harmonisation. Vous pouvez engager une créature que vous contrôlez pour réduire ce coût de X, X étant sa force. Puis exilez ce sort.
+ #example: Mammoth Bellow
keyword:
#english keyword: Mobilize
@@ -2775,14 +2750,15 @@ keyword:
match: Mobilisation nombre
mode: expert
reminder: À chaque fois que cette créature attaque, créez {french_number(param1)} jeton(s) de créature 1/1 rouge Guerrier, engagé(s) et attaquant(s). Sacrifiez-le(s) au début de la prochaine étape de fin.
+ #example: Dalkovan Packbeasts
keyword:
#english keyword: Renew
keyword: Renouveau
- match: Renouveau
+ match: Renouveau — coût
mode: pseudo
- rules: Renouveau — [cost], Exile this card from your graveyard: [effect].
-
+ rules: Renouveau — [coût], Exilez cette carte depuis votre cimetière : [effet].
+ #example: Agent of Kotis
#Final Fantasy
keyword:
@@ -2791,10 +2767,12 @@ keyword:
match: Choix de job
mode: expert
reminder: Quand cet équipement arrive, créez un jeton de créature 1/1 incolore Héros, puis attachez-lui cet équipement.
+ #example: Black Mage's Rod
keyword:
#english keyword: Tiered
keyword: Niveaux de difficulté
match: Niveaux de difficulté
mode: expert
- reminder: Choisissez un coût supplémentaire.
\ No newline at end of file
+ reminder: Choisissez un coût supplémentaire.
+ #example: Fire Magic
diff --git a/data/magic.mse-game/language b/data/magic.mse-game/language
index 309ec049c..58871276f 100644
--- a/data/magic.mse-game/language
+++ b/data/magic.mse-game/language
@@ -145,6 +145,19 @@ french_number :=
word := french_number_map[remove_tags(input)] or else nil
if word == nil then to_string(input) else word
}
+french_ordinal_number :=
+{
+ input := remove_tags(input)
+ if input == "1" then "premier"
+ else
+ (
+ number := french_number(input)
+ number := replace(number, match: "f$", replace: "v")
+ number := replace(number, match: "q$", replace: "qu")
+ number := replace(number, match: "e$", replace: "")
+ number + "ième"
+ )
+}
german_number :=
{
word := german_number_map[remove_tags(input)] or else nil