diff --git a/module.json b/module.json index dc8b1da..845ea20 100644 --- a/module.json +++ b/module.json @@ -8,7 +8,7 @@ } ], "url": "https://gitea.palmenalzer.de/alzer/wfrp-4e-de", - "version": "8.5.6", + "version": "8.5.7", "esmodules": [ "modules/babele-register.js", "modules/addon-register.js", diff --git a/modules/addon-register.js b/modules/addon-register.js index 6f6c376..4130d6a 100644 --- a/modules/addon-register.js +++ b/modules/addon-register.js @@ -1,23 +1,25 @@ /************************************************************************************/ //import WFRP_Tables from "/systems/wfrp4e/modules/system/tables-wfrp4e.js"; import { WH4FRPatchConfig } from "./config-patch.js"; -import {TranslatedCompendium} from "../../babele/script/translated-compendium.js"; +import { TranslatedCompendium } from "../../babele/script/translated-compendium.js"; /************************************************************************************/ const _patch_eis = () => { - if (game.wfrp4e?.config?.symptoms && game.wfrp4e.config.symptoms["delirium"] ) { - game.wfrp4e.config.symptoms["delirium"] = "Délire"; + if (game.wfrp4e?.config?.symptoms && game.wfrp4e.config.symptoms["delirium"]) { + game.wfrp4e.config.symptoms["delirium"] = "Delirium"; - game.wfrp4e.config.symptomDescriptions["delirium"] = "Votre sensibilité va et vient, avec des moments de clarté remplaçés subitement Your sensibility comes and goes, with moments of clarity replaced suddenly par des accès de délire, des hallucinations et de la terreur. Faites un Test de Force Mentale Intermédiaire (+0) chaque heure, et consultez la table Délires table."; - game.wfrp4e.config.symptomTreatment["delirium"] = "Certaines autorités traitent le délire comme un fièvre, avec les mêmes prescriptions. Les médicaments coutent quelques sous à quelques pistoles, en seulement 10% sont efficaces.

Avec des soins corrects, un test de Guérison Intermédiaire (0) arrêtes les hallucinations pour 1d10 heures.

Il est aussi courant de soigner les patients délirants avec des drogues tranquillisantes, comme la Fleur de Lune ou même de la Racine de Mandragore, pour garder les patients calmes pendant la crise, les envoyant dans un sommeil agité jusqu'à ce qu'il erécupèrent ou meurent."; + game.wfrp4e.config.symptomDescriptions["delirium"] = "Euer Bewusstsein kommt und geht, mit Momenten der Klarheit, die plötzlich von Anfällen von Delirium, Halluzinationen und Angstzuständen abgelöst werden. Macht jede Stunde einen Willenskrafttest (Herausfordernd, +0) und konsultiert die Tabelle Delirien."; - game.wfrp4e.config.symptoms["swelling"] = "Gonflement"; - game.wfrp4e.config.symptomDescriptions["swelling"] = "Une partie du corps gonfle jusqu'à plusieurs fois sa taille normale, devenant rouge vif ou violette et devenant presque inutilisable. La partie du corps affectée correspond normalement à une plaie ou une morsure provoquant le gonflement, ou l'endroit où une maladie ou une infection est entrée dans le corps.

Tête : Les yeux et la langue enflent, les joues deviennent livides, la mâchoire est toujours ouverte. Il est impossible de manger, mais des liquides légers peuvent être sirotés en petites quantités. Tous les tests nécessitant la parole sont plus difficiles de 3 niveaux.
Bras : le bras et la main gonflent, les articulations des épaules et du coude ne peuvent plus bouger et la main devient inutile. Pour la durée du gonflement, le bras compte comme Amputé.
Corps : Le corps entier gonfle jusqu'à ce que la victime ne puisse plus porter de vêtements. Tous les tests impliquant le mouvement deviennent difficiles de 3 niveaux.
Jambe : La jambe gonfle de manière grotesque, devenant aussi large que la partie la plus large de la cuisse sur toute sa longueur. Le pied est presque indiscernable. Pour la durée du gonflement, la jambe compte comme amputée (WFRP, page 180)."; + game.wfrp4e.config.symptomTreatment["delirium"] = "Einige Heiler behandeln Delirium wie ein Fieber, mit ähnlichen Maßnahmen. Die Medikamente kosten von ein paar Schilling bis hin zu einigen Kronen, sind jedoch nur in 10% der Fälle wirksam.

Bei korrekter Pflege kann ein erfolgreicher Heilkunde-Test (Herausfordernd, +0) die Halluzinationen für 1d10 Stunden stoppen.

Es ist auch üblich, delirierende Patienten mit Beruhigungsmitteln wie Mondblume oder sogar Alraunenwurzel zu behandeln, um sie während einer Krise ruhig zu halten. Diese Mittel versetzen sie in einen unruhigen Schlaf, bis sie sich erholen oder sterben."; - game.wfrp4e.config.symptomTreatment["swelling"] = "La plupart des traitements consistent à plonger la partie affectée, ou parfois tout le corps, dans un bain d'eau glacée pour réduire la chaleur qui accompagne les gonflements. Un Test de Guérison Difficile (-20) étendu nécessitant +3 DR réduit le renflement de 2d10 heures. Chaque test dure une heure. Le patient se retrouve avec l'Etat Exténué +1 pour chaque test effectué au cours du processus.

A la place, certains médecins saignent le patient avec une lame ou des sangsues. Un Test de Guérison étendu réussi nécessitant +4 SL et des Outils (médecin) réduit le renflement de ( 1d10 + Bonus d'Endurance du patient) heures. Chaque test a une difficulté de base impossible (-50) et dure une demi-heure."; + game.wfrp4e.config.symptoms["swelling"] = "Schwellung"; + + game.wfrp4e.config.symptomDescriptions["swelling"] = "Ein Körperteil schwillt auf ein Vielfaches seiner normalen Größe an, wird rot oder violett und fast unbrauchbar. Der betroffene Bereich entspricht normalerweise einer Wunde oder einem Biss, der die Schwellung verursacht hat, oder der Stelle, an der eine Krankheit oder Infektion in den Körper eingedrungen ist.

Kopf: Die Augen und die Zunge schwellen an, die Wangen verfärben sich dunkel, und der Kiefer bleibt offen. Essen ist unmöglich, aber leichte Flüssigkeiten können in kleinen Mengen getrunken werden. Alle Tests, die Sprechen erfordern, sind um 3 Stufen erschwert.
Arm: Der Arm und die Hand schwellen an, die Gelenke von Schulter und Ellenbogen können nicht mehr bewegt werden, und die Hand ist unbrauchbar. Für die Dauer der Schwellung gilt der Arm als amputiert.
Körper: Der ganze Körper schwillt an, sodass der Betroffene keine Kleidung mehr tragen kann. Alle Tests, die Bewegung erfordern, sind um 3 Stufen erschwert.
Bein: Das Bein schwillt grotesk an, wird auf seiner gesamten Länge so breit wie der dickste Teil des Oberschenkels, und der Fuß ist kaum noch erkennbar. Für die Dauer der Schwellung gilt das Bein als amputiert (WFRP, Seite 180)."; + + game.wfrp4e.config.symptomTreatment["swelling"] = "Die meisten Behandlungen bestehen darin, den betroffenen Bereich oder manchmal den gesamten Körper in ein kaltes Wasserbad zu tauchen, um die mit der Schwellung einhergehende Hitze zu reduzieren. Ein langer Heilkunde-Test (Schwierig, -20) mit +3 SL reduziert die Schwellung um 2d10 Stunden. Jeder Test dauert eine Stunde. Der Patient erhält den Zustand Erschöpft +1 für jeden Test, der während des Prozesses durchgeführt wird.

Alternativ können einige Ärzte den Patienten zur Ader lassen oder Blutegel verwenden. Ein erfolgreicher langer Heilkunde-Test mit +4 SL und den entsprechenden Werkzeugen (Arztausbildung) reduziert die Schwellung um (1d10 + Zähigkeitsbonus des Patienten) Stunden. Jeder Test hat eine Grundschwierigkeit von unmöglich (-50) und dauert eine halbe Stunde."; game.wfrp4e.config.loreEffects["tzeentch"] = { - label: "Domaine de Tzeentch", + label: "Lehre des Tzeentch", icon: "modules/wfrp4e-core/icons/spells/tzeentch.png", transfer: true, flags: { @@ -27,7 +29,7 @@ const _patch_eis = () => { "lore": true, "script": ` if (this.actor.isOwner) - args.actor.setupSkill("Résistance", {context : {failure: "1 Point de Corruption reçu", success : "1 Point de Chance gagné"}}).then(setupData => { + args.actor.setupSkill("Widerstand", {context : {failure: "1 Korrumpierungspunkt erhalten", success : "1 Glückspunkt erhalten"}}).then(setupData => { args.actor.basicTest(setupData).then(test => { if (test.result.result == "success" && args.actor.type == "character") @@ -49,36 +51,38 @@ const _patch_eis = () => { /************************************************************************************/ const _patch_up_in_arms = () => { - game.wfrp4e.config.hitLocationTables["quadruped"] = "Quadrupède"; + game.wfrp4e.config.hitLocationTables["quadruped"] = "Vierbeinig"; let batter = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Batter") if (batter) { - batter.name = "Battre" - batter.description = "En face d'un adversaire plus expérimenté, quelque fois la force brute peut réussir là où d'autres approches échouent.", - batter.effect = "Action Spéciale: Pour Battre votre adversaire, vous devez réussir un Test Opposé de Force contre votre adversaire. Celui qui obtient le DR le plus élevé gagne. Si vous gagnez ce Test, votre adversaire reçoit l'état @Condition[A Terre] et vous recevez +1 Avantage. Si vous perdez le Test Opposé, votre opposant gagne +1 Avantage and votre action est terminée. Vous ne gagnez pas d'Avantage due à la victoire d'un test Opposé lorsque vous gagnez ce test (ie 1 seul avantage octroyé au total si le Test Opposé de Force est remporté)." + batter.name = "Niederschlagen"; + batter.description = "Gegen einen erfahreneren Gegner kann rohe Gewalt manchmal dort erfolgreich sein, wo andere Ansätze scheitern."; + batter.effect = "Spezialaktion: Um deinen Gegner niederzuschlagen, musst du einen Opposed Test auf Stärke gegen deinen Gegner bestehen. Der Charakter mit den meisten Erfolgsgraden (SL) gewinnt. Wenn du diesen Test gewinnst, erhält dein Gegner den Zustand @Condition[Am Boden] und du erhältst +1 Vorteil. Wenn du den Opposed Test verlierst, erhält dein Gegner +1 Vorteil und deine Aktion ist beendet. Du erhältst keinen zusätzlichen Vorteil für den Sieg in diesem Opposed Test (d.h. insgesamt nur 1 Vorteil, wenn der Opposed Test auf Stärke gewonnen wird)." } + let trick = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Trick") if (trick) { - trick.name = "Duper" - trick.description = "Vous prenez un instant pour lancer de la poussière dans les yeux de votre adversaire ou bien lui lancer de l'huile enflammée. Cette manoeuvre est risquée, et peu d'ennemis se font avoir deux fois de la même manière", - trick.effect = "Action Spéciale: Pour Duper votre adversaire, vous devez réussir un Test Opposé d'Agilité contre lui. Celui qui obtient le plus haut DR gagne le Test. Si vous gagnez le Test, vous recevez +1 Avantage. En fonction des circonstances, le MJ peut vous autoriser à attribuer à votre adversaire l'un des états suivants : @Condition[En Flammes], @Condition[Aveuglé], or @Condition[Empêtré]. Si vous perdez le Test Opposé, votre adversaire gagne +1 Avantage et votre action est terminée. Le MJ peut interdire certains de ces états si vous n'avez d'objet applicables dans votre main, ou bien si vous avez déja infligé un état identique precedemment à cet adversaire. Vous ne gagnez pas d'Avantages due à la victoire d'un test Opposé lorsque vous gagnez ce test (ie 1 seul avantage octroyé au total si le Test Opposé de Force est remporté)." + trick.name = "Täuschen"; + trick.description = "Du nutzt einen Moment, um deinem Gegner Sand in die Augen zu werfen oder brennendes Öl auf ihn zu schleudern. Diese Taktik ist riskant, und nur wenige Gegner fallen zweimal auf denselben Trick herein."; + trick.effect = "Spezialaktion: Um deinen Gegner zu täuschen, musst du einen Opposed Test auf Beweglichkeit gegen ihn bestehen. Der Charakter mit den meisten Erfolgsgraden (SL) gewinnt den Test. Wenn du diesen Test gewinnst, erhältst du +1 Vorteil. Abhängig von den Umständen kann der SL dir erlauben, deinem Gegner einen der folgenden Zustände zuzufügen: @Condition[Entflammt], @Condition[Geblendet] oder @Condition[Verheddert]. Wenn du den Opposed Test verlierst, erhält dein Gegner +1 Vorteil und deine Aktion ist beendet. Der SL kann bestimmte Zustände verbieten, wenn du keinen passenden Gegenstand in der Hand hast oder wenn du diesem Gegner denselben Zustand bereits zuvor zugefügt hast. Du erhältst keinen zusätzlichen Vorteil für den Sieg in diesem Opposed Test (d.h. insgesamt nur 1 Vorteil, wenn der Opposed Test auf Beweglichkeit gewonnen wird)." } + let addeffort = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Additional Effort") if (addeffort) { - addeffort.name = "Effort Supplémentaire" - addeffort.description = "Dans des circonstances désespérées, vous pouvez utiliser l'élan que vous avez acquis pour augmenter vos chances de succès.", - addeffort.effect = "Action Gratuite: Vous gagnez un bonus de +10% pour n'importe quel test. Vous pouvez dépenser des avantages supplémentaires pour ajouter +10% par Avantage dépensé en plus. Par exemple, vous pouvez dépenser 3 Avantages pour un bonus de +10%, 4 avantages pour un +30%, etc. Le Test qui en découle ne procure jamais d'Avantages pour le personnage qui le réalise." + addeffort.name = "Zusätzliche Anstrengung"; + addeffort.description = "In verzweifelten Situationen kannst du deinen gesammelten Schwung nutzen, um deine Erfolgschancen zu erhöhen."; + addeffort.effect = "Freie Aktion: Du erhältst einen Bonus von +10 % auf einen beliebigen Test. Du kannst zusätzliche Vorteile ausgeben, um für jeden weiteren ausgegebenen Vorteil +10 % hinzuzufügen. Zum Beispiel kannst du 3 Vorteile für einen Bonus von +10 % ausgeben, 4 Vorteile für +30 % usw. Der daraus resultierende Test bringt dem Charakter, der ihn durchführt, niemals Vorteile ein." } let flee = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Flee from Harm") if (flee) { - flee.name = "Fuir le Mal" - flee.description = "Vous profitez d'un moment de distraction de votre adversaire pour fuir le combat.", - flee.effect = "Mouvement: Vous pouvez vous éloignez de votre adversaire sans aucune pénalité. Cela remplace la règle de @UUID[Compendium.wfrp4e-core.journal-entries.NS3YGlJQxwTggjRX.JournalEntryPage.bdfiyhEYtKs7irqc#disengaging]{Désengagement}." + flee.name = "Dem Bösen Entkommen"; + flee.description = "Du nutzt einen Moment der Ablenkung deines Gegners, um dich aus dem Kampf zurückzuziehen."; + flee.effect = "Bewegung: Du kannst dich von deinem Gegner entfernen, ohne eine Strafe zu erleiden. Dies ersetzt die Regel für @UUID[Compendium.wfrp4e-core.journal-entries.NS3YGlJQxwTggjRX.JournalEntryPage.bdfiyhEYtKs7irqc#disengaging]{Ausstieg}." } let addaction = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Additional Action") if (addaction) { addaction.name = "Action Supplémentaire" addaction.description = "Vous profitez d'une opportunité pour accomplir une action remarquable.", - addaction.effect = "Action Gratuite: Vous réalisez une action supplémentaire. Cette action ne génère jamais d'Avantage pour vous. Vous pouvez réaliser cette dépense d'Avantages seulement une seule fois par Tour." + addaction.effect = "Action Gratuite: Vous réalisez une action supplémentaire. Cette action ne génère jamais d'Avantage pour vous. Vous pouvez réaliser cette dépense d'Avantages seulement une seule fois par Tour." } } @@ -91,10 +95,10 @@ const _manage_inn_roll = async (content, msg) => { }) console.log("COMMANDES", command); - if (command[0] == "/auberge" && command[1]) { + if (command[0] == "/gasthaus" && command[1]) { msg["type"] = 0; msg["rollMode"] = "gmroll"; - var compendium = game.packs.get('wh4-de-translation.plats-dauberges') + var compendium = game.packs.get('wh4-de-translation.gerichte-gasthaeuser') const pack = game.packs.get(compendium); let rollList = await compendium.getDocuments() //console.log("AUBERGE", rollList) @@ -109,10 +113,10 @@ const _manage_inn_roll = async (content, msg) => { } } } - if (content.includes("/auberge")) { + if (content.includes("/gasthaus")) { msg["type"] = 0; msg["rollMode"] = "gmroll"; - msg["content"] = "Syntaxe : /auberge MOT_CLE, avec MOT_CLE parmi:
BoissonsBase, BoissonsFortes, Desserts, PlatsCommuns, PlatsExcellents, PlatsMaritimes, PlatsMédiocres, PlatsQualité, PlatsRivières
Des raccourcis sont possibles avec une partie du nom : /auberge Base (correspond à BoissonBase) ou /auberge Mari (correspond à PlatsMaritimes), etc." + msg["content"] = "Syntax : /gasthaus KEYWORD, mit KEYWORD unter:
BasisGetraenke, StarkeGetraenke, Desserts, AllgemeineGerichte, ExzellenteGerichte, MaritimeGerichte, MittelmaessigeGerichte, Qualitaetsgerichte, Flussgerichte. Verknüpfungen sind mit einem Teil des Namens möglich: Basis (entspricht BasisGetraenke) oder /gasthaus Mari (entspricht MaritimeGerichte) usw." ChatMessage.create(msg); return false; } @@ -135,10 +139,10 @@ let __wfrp4e_tables = { "astral": 1, "corruption": 1, "snake": 1, "spider": 1, "job": 1 } -let __to_table_translate = [{ name: "traits", transl: "Traits" }, { name: "talents", transl: "Talents" }, { name: "skills", transl: "Compétences" }, -{ name: "careers", transl: "Carrières" }, { name: "spells", transl: "Sorts" }, { name: "prayers", transl: "Bénédictions et Miracles" }, -{ name: "injuries", transl: "Blessures" }, { name: "criticals", transl: "Critiques" }, { name: "trappings", transl: "Equipement" }, -{ name: "bestiary", transl: "Bestiaire" }, { name: "diseases", transl: "Maladies" } +let __to_table_translate = [{ name: "traits", transl: "Eigenschaften" }, { name: "talents", transl: "Talente" }, { name: "skills", transl: "Fähigkeiten" }, +{ name: "careers", transl: "Karrieren" }, { name: "spells", transl: "Zauber" }, { name: "prayers", transl: "Gebete und Wunder" }, +{ name: "injuries", transl: "Verletzungen" }, { name: "criticals", transl: "Kritische Treffer" }, { name: "trappings", transl: "Gegenstände" }, +{ name: "bestiary", transl: "Bestiarium" }, { name: "diseases", transl: "Krankheiten" } ] /************************************************************************************/ @@ -153,7 +157,7 @@ const __create_translation_tables = async (compmod) => { htmlTab += "" + entryData.data.originalName + "@Compendium[" + entityName + '.' + entryData.id + "]{" + entryData.name + "}\n"; }; htmlTab += ""; - let myjournal = await JournalEntry.create({ name: 'Traduction des ' + iterData.transl, content: htmlTab }); + let myjournal = await JournalEntry.create({ name: 'Übersetzung von ' + iterData.transl, content: htmlTab }); game.journal.insert(myjournal); } } @@ -246,28 +250,27 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => { if (module.id == 'ogre-kingdom-wfrp4e' && module.active) { WH4FRPatchConfig.perform_ogrekingdom_patch(); if (game.user.isGM && chatFlag) - ChatMessage.create({ content: "
Le module Ogre-Kingdom a été detecté et automatiquement patché.
", whisper: ChatMessage.getWhisperRecipients("GM") }); + ChatMessage.create({ content: "
Das Modul Ogre-Kingdom wurde entdeckt und automatisch gepatcht.
", whisper: ChatMessage.getWhisperRecipients("GM") }); } if (module.id == "wfrp4e-ew" && module.active && game.user.isGM && chatFlag) { ChatMessage.create({ - content: "
Vous avez le module EW (wfrp4e-ew ?) installé. Malheureusement, ce module n'est pas compatible avec" + - " les traductions et vient casser le fonctionnement de la traduction. Veuillez recopier les compendiums dans votre monde, désactiver le module et re-démarrer le monde
", + content: "
Sie haben das EW-Modul (wfrp4e-ew?) installiert. Leider ist dieses Modul nicht mit Übersetzungen kompatibel und unterbricht die Funktionsweise der Übersetzungen. Bitte kopieren Sie die Kompendien in Ihre Welt zurück, deaktivieren Sie das Modul und starten Sie die Welt neu.
", whisper: ChatMessage.getWhisperRecipients("GM") }); } }); - if ( !coreFound) { + if (!coreFound) { if (game.user.isGM && chatFlag) { ChatMessage.create({ - content: "
Le module Core WFRP4E n'a pas été trouvé ou activé. Veuillez acheter et/ou activer ce module de base avant de continuer.
", + content: "
Das Core-Modul WFRP4E wurde nicht gefunden oder aktiviert. Bitte kaufen und/oder aktivieren Sie dieses Core-Modul, bevor Sie fortfahren.
", whisper: ChatMessage.getWhisperRecipients("GM") }); } } else { if (game.user.isGM && patchFinished) { ChatMessage.create({ - content: "
Les modules WFRP4E ont été patchés avec succés. Vous pouvez y aller et que Shallya vous garde !
Derniers changements : Support WFRP4E v8.3.X
", + content: "
Die WFRP4E-Module wurden erfolgreich übersetzt. Du kannst loslegen und möge Shallya dich behüten
", user: game.user.id, whisper: ChatMessage.getWhisperRecipients("GM") }); @@ -275,7 +278,7 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => { } } -const __history = [ +const __history = [ "Nouveautés 7.1.6: " ] @@ -330,17 +333,17 @@ const __add_actors_translation = () => { if (lang == "de") { let pack_array = []; for (let metadata of game.packs) { - if (!game.babele.isTranslated(metadata) && - metadata.collection != "wfrp4e-core.actors" && - metadata.collection != "wfrp4e-core.bestiary" && - metadata.collection != "wfrp4e-ua1.actors" && - metadata.collection != "wfrp4e-altdorf.actors" && - metadata.collection != "wfrp4e-rnhd.actors" && - metadata.collection != "wfrp4e-dotr.actors" && - metadata.collection != "wfrp4e-eis.actors" && - metadata.collection != "wfrp4e-pbtt.actors" && - metadata.collection != "wfrp4e-middenheim.actors" && - metadata.documentName === 'Actor') { + if (!game.babele.isTranslated(metadata) && + metadata.collection != "wfrp4e-core.actors" && + metadata.collection != "wfrp4e-core.bestiary" && + metadata.collection != "wfrp4e-ua1.actors" && + metadata.collection != "wfrp4e-altdorf.actors" && + metadata.collection != "wfrp4e-rnhd.actors" && + metadata.collection != "wfrp4e-dotr.actors" && + metadata.collection != "wfrp4e-eis.actors" && + metadata.collection != "wfrp4e-pbtt.actors" && + metadata.collection != "wfrp4e-middenheim.actors" && + metadata.documentName === 'Actor') { //console.log("REPLACE PACK : ", metadata); let translations = { "label": metadata.name, @@ -367,7 +370,7 @@ const __add_actors_translation = () => { } } // Close the warning dialog - if ( game.wfrp4e.warnDialog) { + if (game.wfrp4e.warnDialog) { game.wfrp4e.warnDialog.close(); game.wfrp4e.warnDialog = null; } @@ -378,7 +381,7 @@ const __add_actors_translation = () => { /* Hook for specific command */ Hooks.on("chatMessage", (html, content, msg) => { - if (content.toLowerCase().includes('auberge')) { + if (content.toLowerCase().includes('gasthaus')) { _manage_inn_roll(content, msg); return false; } @@ -389,27 +392,28 @@ Hooks.on("chatMessage", (html, content, msg) => { Hooks.on('ready', () => { if (game.user.isGM) { - game.wfrp4e.warnDialog = new Dialog({ + game.wfrp4e.warnDialog = new Dialog({ title: "Übersetzung laden - Danke fürs Warten", content: `

Die Diener Sigmars der Risikogruppe bereiten zusammen mit den bretonischen Rattenfängern die Übersetzung dieser Welt vor...

Bitte warte , bis diese Nachricht verschwunden ist, bevor du dich im Reich bewegst.

Wenn ein Segen von Shallya im Chat erscheint, ist alles gut gelaufen.

- Les moines de l'ordre de l'Enclume, associés aux légistes de Talabaheim, préparent la traduction Bretonnienne de ce monde...

Merci d'attendre la disparition de ce message pour vaquer dans l'Empire.

Si une bénédiction de Shallya apparait dans le tchat, c'est que tout s'est bien passé.

`, +

Les moines de l'ordre de l'Enclume, associés aux légistes de Talabaheim, préparent la traduction Bretonnienne de ce monde...

Merci d'attendre la disparition de ce message pour vaquer dans l'Empire.

Si une bénédiction de Shallya apparait dans le tchat, c'est que tout s'est bien passé.

`, buttons: { } }) - game.wfrp4e.warnDialog.render(true, {focus: true, left: 20, top: 20}); + game.wfrp4e.warnDialog.render(true, { focus: true, left: 20, top: 20 }); let chatData = { user: game.user.id, rollMode: game.settings.get("core", "rollMode"), whisper: ChatMessage.getWhisperRecipients('GM'), - content: `
Les modules WFRP4E sont en cours de patch pour traduction... Merci d'attendre le message de fin (dans environ 20 secondes)

Pour rappel et à titre informatif, il faut activer ce module de traduction FR avant de procéder à l'importation des données des modules C7 (core compris). Autrement dit, activez ce module FR AVANT tout autre module.

Support et informations sur le Discord FR de Foundry : https://discord.gg/pPSDNJk

` + content: `
Die WFRP4E-Module werden für die Übersetzung gepatcht... Bitte warte auf die Abschlussnachricht (in ca. 20 Sekunden).

Zur Erinnerung: Aktiviere dieses deutsche Übersetzungsmodul vor dem Import der Daten aus den C7-Modulen (einschließlich des Core-Moduls). Mit anderen Worten: Aktiviere dieses deutsche Modul vor allen anderen Modulen.

` + } ChatMessage.create(chatData); } - + // Patch function for effects game.wfrp4e.utility.findKey = warhammer.utility.findKey - + /** New modifiers */ game.wfrp4e.config.difficultyModifiers = { "veasy": 60, @@ -437,11 +441,11 @@ Hooks.on('ready', () => { "doom": "Unmöglich (-40)" } - game.wfrp4e.warnDialog.render(true, {focus: true, left: 20, top: 20}); + game.wfrp4e.warnDialog.render(true, { focus: true, left: 20, top: 20 }); //setTimeout( __check_fix_wrong_modules, 2000, true, false); setTimeout(__check_fix_wrong_modules, 20000, true, true); setTimeout(__add_actors_translation, 21000, false, true); - + //__patchStyleSheet() /* ATTEMPT !!