diff --git a/.gitignore b/.gitignore index 7a2b09c..c648cec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .history/ .idea/ compendium/To Do/Alte Übersetzung/Ganz alt/tmp.html -compendium/To Do/GPT/actors_split/ \ No newline at end of file +compendium/To Do/GPT/actors_split/ +python/working_dir/ \ No newline at end of file diff --git a/compendium/To Do/wfrp4e-core.items-with-effects.json b/compendium/To Do/wfrp4e-core.items-with-effects.json index 6d1fe5b..77f980a 100644 --- a/compendium/To Do/wfrp4e-core.items-with-effects.json +++ b/compendium/To Do/wfrp4e-core.items-with-effects.json @@ -7495,10 +7495,10 @@ { "description": "

La créature est capable de guérir à une vitesse extraordinaire, et même de faire repousser ses membres amputés.

Au début de chaque round, s'il reste plus de 0 Point de Blessure à la créature, elle régénère 1d10 Points de Blessure. Si elle est à 0 Point de Blessure, lancez 1d10. Sur un résultat de 8+, elle régénère 1 seul Point de Blessure. Sur un résultat de 10, elle régénère également une Blessure Critique, et ne souffre plus des pénalités et États associés.

Les Blessures et Blessures Critiques infligées par le Feu ne peuvent pas être régénérées, et doivent être notées séparément.

", "id": "SfUUdOGjdYpr3KSR", - "name": "Régénération", + "name": "Regenerieren", "effects": [ { - "label": "Régénération", + "label": "Regenerieren", "flags": { "wfrp4e": { "effectTrigger": "endRound", @@ -18937,7 +18937,7 @@ } }, "icon": "modules/wfrp4e-core/icons/spells/regenerate.png", - "label": "Régénération", + "label": "Regenerieren", "tint": "", "transfer": false }, @@ -18959,7 +18959,7 @@ } ], "id": "Regenerate", - "name": "Régénération" + "name": "Regenerieren" }, { "description": "

Vous faites pourrir un volume de matières organiques de la taille approximative d'un poing. Les denrées alimentaires périssent, les vêtements se désagrègent, le cuir se racornit (perdant 1 PA à 1 Localisation), etc. Comme le MJ le décide.

", diff --git a/compendium/wfrp4e-core.items.json b/compendium/wfrp4e-core.items.json index 31ff75a..852fe0f 100644 --- a/compendium/wfrp4e-core.items.json +++ b/compendium/wfrp4e-core.items.json @@ -7800,7 +7800,7 @@ { "description": "

La créature est capable de guérir à une vitesse extraordinaire, et même de faire repousser ses membres amputés.

Au début de chaque round, s'il reste plus de 0 Point de Blessure à la créature, elle régénère 1d10 Points de Blessure. Si elle est à 0 Point de Blessure, lancez 1d10. Sur un résultat de 8+, elle régénère 1 seul Point de Blessure. Sur un résultat de 10, elle régénère également une Blessure Critique, et ne souffre plus des pénalités et États associés.

Les Blessures et Blessures Critiques infligées par le Feu ne peuvent pas être régénérées, et doivent être notées séparément.

", "id": "SfUUdOGjdYpr3KSR", - "name": "Régénération" + "name": "Regenerieren" }, { "description": "

Dieses Merkmal repräsentiert Kreaturen, deren Körpergröße und -masse sich vom Spielstandard (also von ungefähr menschlicher Größe) unterscheidet. Es gibt sieben Größenstufen, die von Winzig bis Monströs reichen.

GrößeBeispiele
WinzigMaus, Schmetterling, Taube
KleinFalke, Katze, menschliches Kleinkind
ZierlichHalbling, menschliches Kind, Riesenratte
NormalElf, Mensch, Zwerg
GroßOger, Pferd, Troll
EnormGreif, Lindwurm, Mantikor
MonströsDämonenprinz, Drache, Riese
", diff --git a/python/find_translated_scripts.py b/python/find_translated_scripts.py index 006c2e4..5583a41 100644 --- a/python/find_translated_scripts.py +++ b/python/find_translated_scripts.py @@ -95,6 +95,6 @@ def find_translated_files(original_folder, modified_folder, output_file): # Beispielpfade (kannst du anpassen) original_folder = "original_scripts" modified_folder = "modified_scripts" -output_file = "translated_files_with_direct_vscode_diff_links.md" +output_file = "scripts_with_translation.md" find_translated_files(original_folder, modified_folder, output_file) diff --git a/scripts/03mJu59V4iByWlsO.js b/scripts/03mJu59V4iByWlsO.js index 6cec61b..5ef5173 100644 --- a/scripts/03mJu59V4iByWlsO.js +++ b/scripts/03mJu59V4iByWlsO.js @@ -6,7 +6,7 @@ await this.actor.addCondition("poisoned", 3) await this.actor.modifyWounds(this.actor.system.characteristics.t.bonus) // and acquires the Regenerate Creature Trait. -const hasRegenerate = this.actor.has("Régénération") +const hasRegenerate = this.actor.has("Regenerieren") if (hasRegenerate === undefined) { fromUuid("Compendium.wfrp4e-core.items.SfUUdOGjdYpr3KSR").then(trait => { let traitItem = trait.toObject() @@ -14,12 +14,13 @@ if (hasRegenerate === undefined) { }) } -this.script.scriptMessage(`

${this.actor.prototypeToken.name} : +this.script.scriptMessage(`

${this.actor.prototypeToken.name} hat:

- C'est à Ranaldde choisir si la régénératin peut guérir de l'empoisonnement.

-

Lorsque tout les états Empoisonnés sont terminés, le Trait Régénération est perdu également.

`, + Es ist Ranalds Wahl, ob die Regenerieren die Vergiftung heilen kann.

+

Wenn alle Vergifteten Zustände beendet sind, geht auch die Eigenschaft Regenerieren verloren.

`, + { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) diff --git a/scripts/0FWto1oEr3jbWggw.js b/scripts/0FWto1oEr3jbWggw.js index deb265e..98fb028 100644 --- a/scripts/0FWto1oEr3jbWggw.js +++ b/scripts/0FWto1oEr3jbWggw.js @@ -1,4 +1,4 @@ -let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts") +let spells = await warhammer.utility.findAllItems("spell", "Loading Spells") let text = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).result @@ -18,5 +18,5 @@ if (spellsWithLore.length > 0) } else { - ui.notifications.notify(`Impossible de trouver le sort ${lore}. Essayez à nouveau`) + ui.notifications.notify(`Could not find ${lore} spell. Try Again`) } \ No newline at end of file diff --git a/scripts/0R0QAr3D024kWPfo.js b/scripts/0R0QAr3D024kWPfo.js index ee3ed07..1158f1b 100644 --- a/scripts/0R0QAr3D024kWPfo.js +++ b/scripts/0R0QAr3D024kWPfo.js @@ -1,7 +1,7 @@ let table = game.wfrp4e.tables.findTable("mutatephys"); if (!table) { - return ui.notifications.error("La table des Mutations n'a pas été trouvée. Assurez vous que la table avec la clé `mutatephys` est bien importée dans le monde.") + return ui.notifications.error("Mutation table not found, please ensure a table with the `mutatephys` key is imported in the world.") } let result = (await table.roll()).results[0]; let uuid = `Compendium.${result.documentCollection}.${result.documentId}` @@ -14,5 +14,5 @@ if (item) } else { - ui.notifications.error("L'item ne peut être trouvé: " + uuid) + ui.notifications.error("Item could not be found: " + uuid) } \ No newline at end of file diff --git a/scripts/0Uly7OmkH0zqYbxQ.js b/scripts/0Uly7OmkH0zqYbxQ.js index 70ed1ac..1f6cc4b 100644 --- a/scripts/0Uly7OmkH0zqYbxQ.js +++ b/scripts/0Uly7OmkH0zqYbxQ.js @@ -6,7 +6,7 @@ if (location) if (dropped.length) { - this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); @@ -16,6 +16,6 @@ if (location) let roll = await new Roll("max(1, 1d10 - @system.characteristics.t.bonus)", this.actor).roll() -roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Durée)`})); +roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Duration)`})); this.effect.updateSource({"duration.rounds" : roll.total}) \ No newline at end of file diff --git a/scripts/0abwNjpzo3SbEOeO.js b/scripts/0abwNjpzo3SbEOeO.js index c4345be..e114510 100644 --- a/scripts/0abwNjpzo3SbEOeO.js +++ b/scripts/0abwNjpzo3SbEOeO.js @@ -1,6 +1,6 @@ if (args.applyAP && args.modifiers.ap.metal) { args.modifiers.ap.ignored += args.modifiers.ap.metal - args.modifiers.ap.details.push("" + this.effect.name + ": Ignore le mtal (" + args.modifiers.ap.metal + ")"); + args.modifiers.ap.details.push("" + this.effect.name + ": Ignore Metal (" + args.modifiers.ap.metal + ")"); args.modifiers.ap.metal = 0 } \ No newline at end of file diff --git a/scripts/11uCC0mK2uL783al.js b/scripts/11uCC0mK2uL783al.js index 951bdf7..100b843 100644 --- a/scripts/11uCC0mK2uL783al.js +++ b/scripts/11uCC0mK2uL783al.js @@ -1,6 +1,6 @@ let type = this.item.getFlag("wfrp4e", "breath"); -if (["feu", "electricité", "poison"].includes(type)) +if (["fire", "electricity", "poison"].includes(type)) { args.applyAP = false; } \ No newline at end of file diff --git a/scripts/190PHSHKGaJ74wsR.js b/scripts/190PHSHKGaJ74wsR.js index 803ba72..dd52e55 100644 --- a/scripts/190PHSHKGaJ74wsR.js +++ b/scripts/190PHSHKGaJ74wsR.js @@ -7,22 +7,22 @@ if (!this.item.name.includes("(") || this.item.system.tests.value.includes("Terr if (name.includes("(")) { let terrain = name.split("(")[1].split(")")[0] - tests = tests.replace("Terrain", terrain) + tests = tests.replace("the Terrain", terrain) } else // If no sense specified, provide dialog choice { let choice = await ItemDialog.create(ItemDialog.objectToArray({ - coastal : "Côtes", - deserts : "Déserts", - marshes : "Marches", - rocky : "Rocailles", + coastal : "Coastal", + deserts : "Deserts", + marshes : "Marshes", + rocky : "Rocky", tundra : "Tundra", - woodlands : "Forêts" - }, this.item.img), 1, "Choisir le Terrain"); + woodlands : "Woodlands" + }, this.item.img), 1, "Choose Terrain"); if (choice[0]) { name = `${name.split("(")[0].trim()} (${choice[0].name})` - tests = tests.replace("Terrain", "Terrain " + choice[0].name ) + tests = tests.replace("the Terrain", choice[0].name + " Terrain") } } diff --git a/scripts/1BT0MWM2cbhlEnrn.js b/scripts/1BT0MWM2cbhlEnrn.js index 9a091ad..46f9433 100644 --- a/scripts/1BT0MWM2cbhlEnrn.js +++ b/scripts/1BT0MWM2cbhlEnrn.js @@ -30,7 +30,7 @@ } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } diff --git a/scripts/1ZArMNUI8qqH6zkX.js b/scripts/1ZArMNUI8qqH6zkX.js index 8bee756..4aaa318 100644 --- a/scripts/1ZArMNUI8qqH6zkX.js +++ b/scripts/1ZArMNUI8qqH6zkX.js @@ -1,4 +1,4 @@ -let test = await args.actor.setupCharacteristic("wp", {skipTargets: true, appendTitle : " - " + this.effect.name, context : {failure: "Gain d'un état Assomé"}}) +let test = await args.actor.setupCharacteristic("wp", {skipTargets: true, appendTitle : " - " + this.effect.name, context : {failure: "Gained a Stunned Condition"}}) await test.roll(); if (test.failed) { diff --git a/scripts/1exiWlVUHsXDLLAH.js b/scripts/1exiWlVUHsXDLLAH.js index 5a275f6..8cd3baa 100644 --- a/scripts/1exiWlVUHsXDLLAH.js +++ b/scripts/1exiWlVUHsXDLLAH.js @@ -1 +1 @@ -this.script.scriptNotification(`Ne peut saisir ${this.effect.name}!`); \ No newline at end of file +this.script.scriptNotification(`Cannot enter ${this.effect.name}!`); \ No newline at end of file diff --git a/scripts/1fQr1Dg7DX0vfz3r.js b/scripts/1fQr1Dg7DX0vfz3r.js index 206a4f6..13794a7 100644 --- a/scripts/1fQr1Dg7DX0vfz3r.js +++ b/scripts/1fQr1Dg7DX0vfz3r.js @@ -1,3 +1,3 @@ let healed = parseInt(this.effect.sourceTest.result.SL) this.actor.modifyWounds(healed) -this.script.scriptMessage(`Soins de ${healed} Blessures`) \ No newline at end of file +this.script.scriptMessage(`Healed ${healed} Wounds`) \ No newline at end of file diff --git a/scripts/1jQq9v8fXK8zuEBU.js b/scripts/1jQq9v8fXK8zuEBU.js index f6758b8..9ac57f6 100644 --- a/scripts/1jQq9v8fXK8zuEBU.js +++ b/scripts/1jQq9v8fXK8zuEBU.js @@ -11,10 +11,10 @@ let APused = Math.max(0, APatLoc.value - metalAP); // remove metal AP at locatio damage -= (APused + this.actor.system.characteristics.t.bonus) let msg = await this.actor.applyBasicDamage(damage, {suppressMsg : true, damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL}); -msg += ` (ignore ${metalAP} PA de métal sur ${game.wfrp4e.config.locations[loc]})` +msg += ` (ignored ${metalAP} metal AP on ${game.wfrp4e.config.locations[loc]})` this.script.scriptMessage(msg) -let test = await this.actor.setupSkill("Résistance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); +let test = await this.actor.setupSkill("Endurance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); await test.roll(); if (test.failed) this.actor.addCondition("stunned"); \ No newline at end of file diff --git a/scripts/1kB2su7hLRYDhZ2H.js b/scripts/1kB2su7hLRYDhZ2H.js index 61a4ede..5b9bccf 100644 --- a/scripts/1kB2su7hLRYDhZ2H.js +++ b/scripts/1kB2su7hLRYDhZ2H.js @@ -6,12 +6,12 @@ if (!test.succeeded) let data = item.toObject(); if (this.item.system.location.key == "rLeg") { - data.system.location.value = "Pied droit" - data.system.location.key = "rToe"; + data.system.location.value = "Right Toe" + data.system.location.key = "rToe"; } else if (this.item.system.location.key == "lLeg") { - data.system.location.value = "Pied gauche" + data.system.location.value = "Left Toe" data.system.location.key = "lToe"; } this.actor.createEmbeddedDocuments("Item", [data]) diff --git a/scripts/1wrPvP6lJwIAfmsl.js b/scripts/1wrPvP6lJwIAfmsl.js index 9e40d5a..1e94116 100644 --- a/scripts/1wrPvP6lJwIAfmsl.js +++ b/scripts/1wrPvP6lJwIAfmsl.js @@ -1,4 +1,4 @@ -let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations), 1, "Choisir une localisation"); +let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations), 1, "Choose Location"); let location = choice[0].id; diff --git a/scripts/23vWiHUjxtRQ3Efz.js b/scripts/23vWiHUjxtRQ3Efz.js index 27078fa..5fdc693 100644 --- a/scripts/23vWiHUjxtRQ3Efz.js +++ b/scripts/23vWiHUjxtRQ3Efz.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.eWPN3CV2Eddwz8aM") let data = item.toObject(); -data.system.location.value = "Dos" +data.system.location.value = "Back" this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) \ No newline at end of file diff --git a/scripts/2QB0LjueuJcIaHaC.js b/scripts/2QB0LjueuJcIaHaC.js index aeaf157..7fd2601 100644 --- a/scripts/2QB0LjueuJcIaHaC.js +++ b/scripts/2QB0LjueuJcIaHaC.js @@ -1,12 +1,8 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = this.item.specifier; - if (!value) - { - value = await ValueDialog.create({text : "Enter Armour value", title : this.effect.name}); - } + let value = await ValueDialog.create("Enter Armour value", this.effect.name); if (value) { - this.item.updateSource({"system.specification.value" : value, name : this.item.baseName}); + this.item.updateSource({"system.specification.value" : value}); } } \ No newline at end of file diff --git a/scripts/2Qi1hwLYhdE6v6Hs.js b/scripts/2Qi1hwLYhdE6v6Hs.js index 2782756..4983177 100644 --- a/scripts/2Qi1hwLYhdE6v6Hs.js +++ b/scripts/2Qi1hwLYhdE6v6Hs.js @@ -4,6 +4,6 @@ if (!["rLeg", "lLeg"].includes(this.effect.getFlag("wfrp4e", "location"))) if (args.options.dodge) { args.abort = true; - this.script.scriptNotification("Impossible d'Esquiver!") + this.script.scriptNotification("Cannot Dodge!") } return ["t", "int", "wp", "fel"].includes(args.characteristic) \ No newline at end of file diff --git a/scripts/2W9uMTT6iJhfQ044.js b/scripts/2W9uMTT6iJhfQ044.js index 2c067f6..dd8d817 100644 --- a/scripts/2W9uMTT6iJhfQ044.js +++ b/scripts/2W9uMTT6iJhfQ044.js @@ -1,11 +1,11 @@ -let skill = `${game.i18n.localize("NAME.Trade")} (${this.item.parenthesesText})` +let skill = `Trade (${this.item.parenthesesText})` let currentCareer = this.actor.system.currentCareer; let existingSkill = this.actor.itemTypes.skill.find(i => i.name == skill); if (!currentCareer) return -let inCurrentCareer = currentCareer.system.skills.concat(currentCareer.system.addedSkills).includes(skill); +let inCurrentCareer = currentCareer.system.skills.includes(skill); let craftsmanAdded = this.actor.getFlag("wfrp4e", "craftsmanAdded") || {}; if (existingSkill && inCurrentCareer && !craftsmanAdded[existingSkill.name]) { @@ -14,6 +14,6 @@ if (existingSkill && inCurrentCareer && !craftsmanAdded[existingSkill.name]) else { craftsmanAdded[skill] = true; - currentCareer.system.addedSkills.push(skill); - foundry.utils.setProperty(this.actor, "flags.wfrp4e.craftsmanAdded", craftsmanAdded) + currentCareer.system.skills.push(skill); + setProperty(this.actor, "flags.wfrp4e.craftsmanAdded", craftsmanAdded) } \ No newline at end of file diff --git a/scripts/2WSN306tL4apjRtD.js b/scripts/2WSN306tL4apjRtD.js index f43717a..6931737 100644 --- a/scripts/2WSN306tL4apjRtD.js +++ b/scripts/2WSN306tL4apjRtD.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.9h82z72XGo9tfgQS") let data = item.toObject(); -data.name = data.name += " (Ouïe)" +data.name = data.name += " (Hearing)" this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/2cKarG9ToyW2ptCd.js b/scripts/2cKarG9ToyW2ptCd.js index bdeca2b..deb9777 100644 --- a/scripts/2cKarG9ToyW2ptCd.js +++ b/scripts/2cKarG9ToyW2ptCd.js @@ -6,5 +6,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Vide !", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/2rzxQlL7A9ujZ9uK.js b/scripts/2rzxQlL7A9ujZ9uK.js index 4c9c7f1..b1278eb 100644 --- a/scripts/2rzxQlL7A9ujZ9uK.js +++ b/scripts/2rzxQlL7A9ujZ9uK.js @@ -1,6 +1,6 @@ if (args.opposedTest.result.winner == "attacker") { if (args.opposedTest.defenderTest.weapon && args.opposedTest.defenderTest.item.properties.qualities.shield) { - ui.notifications.notify(`${this.effect.name}: Gain de ${this.item.Advances} Avantages`) + ui.notifications.notify(`${this.effect.name}: Gained ${this.item.Advances} Advantage`) this.actor.setAdvantage(this.item.Advances) } } \ No newline at end of file diff --git a/scripts/2vTVR0quRZQtjNfQ.js b/scripts/2vTVR0quRZQtjNfQ.js index fa60eaf..512f2c3 100644 --- a/scripts/2vTVR0quRZQtjNfQ.js +++ b/scripts/2vTVR0quRZQtjNfQ.js @@ -4,15 +4,15 @@ if (!currentCareer) return; } -let talents = ["Harmonisation Aethyrique", -"Magie des Arcanes (Domaine)", -"Magie du Chaos (Tzeentch)", -"Mains agiles", -"Diction Instinctive", -"Sens de la Magie", -"Magie Mineure", -"Seconde Vue", -"Mage de guerre", -"Sorcier!"].filter(t => !currentCareer.system.talents.includes(t)) +let talents = ["Aethyric Attunement", +"Arcane Magic (Any)", +"Chaos Magic (Tzeentch)", +"Fast Hands", +"Instinctive Diction", +"Magical Sense", +"Petty Magic", +"Second Sight", +"War Wizard", +"Witch!"].filter(t => !currentCareer.system.talents.includes(t)) currentCareer.system.talents = currentCareer.system.talents.concat(talents) \ No newline at end of file diff --git a/scripts/2zeP2nMSURjxrqYz.js b/scripts/2zeP2nMSURjxrqYz.js index 674dd05..a0ac1e4 100644 --- a/scripts/2zeP2nMSURjxrqYz.js +++ b/scripts/2zeP2nMSURjxrqYz.js @@ -1,6 +1,6 @@ let wounds = this.actor.system.status.wounds if (wounds.value == 0) - return this.script.scriptNotification("Aucun effet à 0 Blessures", "error") + return this.script.scriptNotification("No effect at 0 Wounds", "error") -this.script.scriptNotification(`Soin de ${this.actor.characteristics.t.bonus} Blessures`) +this.script.scriptNotification(`Healed ${this.actor.characteristics.t.bonus} Wounds`) await this.actor.modifyWounds(this.actor.characteristics.t.bonus) \ No newline at end of file diff --git a/scripts/3D5ImpMgpOTPucvv.js b/scripts/3D5ImpMgpOTPucvv.js index 72bd340..d69e334 100644 --- a/scripts/3D5ImpMgpOTPucvv.js +++ b/scripts/3D5ImpMgpOTPucvv.js @@ -5,5 +5,5 @@ let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / let ones = Number(args.test.result.roll.toString().split("").pop()) if (ones > SL) - args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} DR`) + args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} SL`) } \ No newline at end of file diff --git a/scripts/3IGO7xEjRjat937X.js b/scripts/3IGO7xEjRjat937X.js index 7362443..f45a41d 100644 --- a/scripts/3IGO7xEjRjat937X.js +++ b/scripts/3IGO7xEjRjat937X.js @@ -1,7 +1,7 @@ let fatigue = this.actor.hasCondition("fatigued") if (fatigue) { - this.script.scriptNotification("Suppression de l'état Fatigué, effet désactivé.") + this.script.scriptNotification("Removing Fatigued Condition, disabled effect") this.effect.update({disabled : true}) await this.actor.removeCondition("fatigued") } \ No newline at end of file diff --git a/scripts/3JEzEzF1SeYA9lsV.js b/scripts/3JEzEzF1SeYA9lsV.js index 0c45aea..1b8b828 100644 --- a/scripts/3JEzEzF1SeYA9lsV.js +++ b/scripts/3JEzEzF1SeYA9lsV.js @@ -1,4 +1,4 @@ -let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations, this.effect.img), 1, "Choisissez Location"); +let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations, this.effect.img), 1, "Choose Location"); if (choice[0]) { this.effect.updateSource({name : `${this.effect.name} (${choice[0].name})`}) @@ -13,7 +13,7 @@ if (["lArm", "rArm"].includes(location)) if (dropped.length) { - this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); diff --git a/scripts/4MQ7u4INxp51oyyR.js b/scripts/4MQ7u4INxp51oyyR.js index df7b1a2..95200bd 100644 --- a/scripts/4MQ7u4INxp51oyyR.js +++ b/scripts/4MQ7u4INxp51oyyR.js @@ -10,10 +10,10 @@ let characteristics = { "wp" : 25, "fel" : 10 } -let skills = ["Calme", "Esquive", "Intimidate", "Intuition", "Commandement" , "Lore (Warfare)", "Perception"] +let skills = ["Cool", "Dodge", "Intimidate", "Intuition", "Leadership", "Lore (Warfare)", "Perception"] let skillAdvancements = [15, 15, 15, 15, 15, 10, 10] let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Inspiring", "Resolute", "War Leader"] -let trappings = ["Arme simple", "Shield"] +let trappings = ["Hand Weapon", "Shield"] let items = []; let updateObj = this.actor.toObject(); @@ -48,7 +48,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -59,17 +59,27 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/4fnTKgl0HW9ZrWyJ.js b/scripts/4fnTKgl0HW9ZrWyJ.js index 2b3f659..e818ce4 100644 --- a/scripts/4fnTKgl0HW9ZrWyJ.js +++ b/scripts/4fnTKgl0HW9ZrWyJ.js @@ -4,7 +4,7 @@ this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, if (test.failed) { let char = Math.ceil(CONFIG.Dice.randomUniform() * 2) == 2 ? "s" : "t"; - this.script.scriptMessage(`${this.actor.name} perd 1 point de ${game.wfrp4e.config.characteristics[char]}`) + this.script.scriptMessage(`${this.actor.name} lost 1 point of ${game.wfrp4e.config.characteristics[char]}`) this.actor.update({[`system.characteristics.${char}.initial`] : this.actor.system.characteristics[char].initial - 1}) } }) \ No newline at end of file diff --git a/scripts/4pQW4WLyhjbZR85k.js b/scripts/4pQW4WLyhjbZR85k.js index ffdc6ea..8a2680f 100644 --- a/scripts/4pQW4WLyhjbZR85k.js +++ b/scripts/4pQW4WLyhjbZR85k.js @@ -3,5 +3,5 @@ await test.roll(); if (test.failed && this.actor.type == "character") { this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) - this.script.scriptMessage("Gain d'un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/58rFc9HiBoX66J6p.js b/scripts/58rFc9HiBoX66J6p.js index 7c3ebd8..1e3c7a2 100644 --- a/scripts/58rFc9HiBoX66J6p.js +++ b/scripts/58rFc9HiBoX66J6p.js @@ -1,7 +1,7 @@ let sourceActor = this.effect.sourceActor; let damage = args.totalWoundLoss; let tb = sourceActor.system.characteristics.t.bonus -args.abort = `${this.effect.name}: Dommages appliqués à ${sourceActor.name}`; +args.abort = `${this.effect.name}: Damage applied to ${sourceActor.name}`; let message = await sourceActor.applyBasicDamage(damage - tb, {damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP, suppressMsg : true}) diff --git a/scripts/5DI6cHAg1LHo54Yv.js b/scripts/5DI6cHAg1LHo54Yv.js index ecba952..6929228 100644 --- a/scripts/5DI6cHAg1LHo54Yv.js +++ b/scripts/5DI6cHAg1LHo54Yv.js @@ -1,5 +1,6 @@ if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 2 && args.opposedTest.result.winner == "attacker") { this.actor.update({"system.status.fortune.value" : Math.max(0, (this.actor.system.status.fortune?.value - 1) || 0)}) - this.script.scriptMessage(`1 Point de Fortune volé à ${this.actor.name}`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Fortune point stolen from ${this.actor.name}`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) + } \ No newline at end of file diff --git a/scripts/5Fe1ELaS6Gnvy0Cj.js b/scripts/5Fe1ELaS6Gnvy0Cj.js index a62afb6..ad46ad3 100644 --- a/scripts/5Fe1ELaS6Gnvy0Cj.js +++ b/scripts/5Fe1ELaS6Gnvy0Cj.js @@ -1 +1 @@ -return args.skill?.name.includes("Focalisation") || args.type == "channelling" || args.skill?.name == game.i18n.localize("NAME.Charm") || args.skill?.name.includes("Langue (Magick)") || args.type == "cast" \ No newline at end of file +return args.skill?.name.includes("Channelling") || args.type == "channelling" || args.skill?.name == game.i18n.localize("NAME.Charm") || args.skill?.name.includes("Language (Magick)") || args.type == "cast" \ No newline at end of file diff --git a/scripts/5JWC0l3JEpOsqbR9.js b/scripts/5JWC0l3JEpOsqbR9.js index f51b369..d2eb0b6 100644 --- a/scripts/5JWC0l3JEpOsqbR9.js +++ b/scripts/5JWC0l3JEpOsqbR9.js @@ -10,10 +10,10 @@ let characteristics = { "wp" : 5, "fel" : 0 } -let skills = ["Esquive", "Perception"] +let skills = ["Dodge", "Perception"] let skillAdvancements = [10, 10] let talents = ["Flee!", "Marksman"] -let trappings = ["Arme simple"] +let trappings = ["Hand Weapon"] let items = []; let updateObj = this.actor.toObject(); @@ -48,7 +48,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -59,13 +59,13 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -73,3 +73,13 @@ updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/5JvKJZPcd6Hz5zvn.js b/scripts/5JvKJZPcd6Hz5zvn.js index 237e3c9..be61706 100644 --- a/scripts/5JvKJZPcd6Hz5zvn.js +++ b/scripts/5JvKJZPcd6Hz5zvn.js @@ -10,10 +10,10 @@ let characteristics = { "wp" : 15, "fel" : 0 } -let skills = ["Calme", "Esquive", "Intimidate", "Commandement" ] +let skills = ["Cool", "Dodge", "Intimidate", "Leadership"] let skillAdvancements = [15, 15, 10, 5] let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Resolute"] -let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Arme simple", "Shield"] +let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Hand Weapon", "Shield"] let items = []; let updateObj = this.actor.toObject(); @@ -48,7 +48,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -59,17 +59,27 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } updateObj.name = this.effect.name + " " + updateObj.name await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/5M6IgCUncCwyxHok.js b/scripts/5M6IgCUncCwyxHok.js index 330998b..ceef2c0 100644 --- a/scripts/5M6IgCUncCwyxHok.js +++ b/scripts/5M6IgCUncCwyxHok.js @@ -1,15 +1,15 @@ let etiquette = (await fromUuid("Compendium.wfrp4e-core.items.Item.sYbgpSnRqSZWgwFP")).toObject(); -etiquette.name += ` (Suivants de Tzeentch)`; +etiquette.name += ` (Followers of Tzeentch)`; let animosity = (await fromUuid("Compendium.wfrp4e-core.items.Item.0VpT5yubw4UL7j6f")).toObject(); -animosity.system.specification.value = "Suivants de Nurgle"; +animosity.system.specification.value = "Followers of Nurgle"; let roll = await new Roll("ceil(1d10 / 3)").roll(); roll.toMessage(this.script.getChatData()); let mutations = []; -let msg = `

Mutations acquises

` +let msg = `

Mutations Gained

` for(let i = 0; i < roll.total; i++) { let item; diff --git a/scripts/5ScjIdRUOxblHdWS.js b/scripts/5ScjIdRUOxblHdWS.js index a0923ec..351ac87 100644 --- a/scripts/5ScjIdRUOxblHdWS.js +++ b/scripts/5ScjIdRUOxblHdWS.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpenter)'; const difficulty = 'challenging'; const target = 40; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/5dR7Erj3nwsxLAV7.js b/scripts/5dR7Erj3nwsxLAV7.js index b27afbe..443c65a 100644 --- a/scripts/5dR7Erj3nwsxLAV7.js +++ b/scripts/5dR7Erj3nwsxLAV7.js @@ -10,10 +10,10 @@ let characteristics = { "wp" : 35, "fel" : 15 } -let skills = ["Calme", "Esquive", "Intimidate", "Intuition", "Commandement" , "Lore (Warfare)", "Perception"] +let skills = ["Cool", "Dodge", "Intimidate", "Intuition", "Leadership", "Lore (Warfare)", "Perception"] let skillAdvancements = [25, 15, 25, 25, 30, 20, 20] -let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Inspiring", "Chance", "Resolute", "Unshakable", "War Leader"] -let trappings = ["Arme simple", "Shield"] +let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Inspiring", "Luck", "Resolute", "Unshakable", "War Leader"] +let trappings = ["Hand Weapon", "Shield"] let items = []; let updateObj = this.actor.toObject(); @@ -48,7 +48,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -59,17 +59,27 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/5sI9iYh5j2nx2XyT.js b/scripts/5sI9iYh5j2nx2XyT.js index 9834162..4a9e7b3 100644 --- a/scripts/5sI9iYh5j2nx2XyT.js +++ b/scripts/5sI9iYh5j2nx2XyT.js @@ -1 +1 @@ -return !(["Soin aux animaux", "Emprise sur les animaux"].includes(args.item?.name) || args.item?.name.includes("Chevaucher") || args.item?.name.includes("Dressage")) \ No newline at end of file +return !(["Animal Care", "Charm Animal"].includes(args.item?.name) || args.item?.name.includes("Ride") || args.item?.name.includes("Animal Training")) \ No newline at end of file diff --git a/scripts/65xE9OV5sA1ZWT7j.js b/scripts/65xE9OV5sA1ZWT7j.js index 7ece796..2e9318c 100644 --- a/scripts/65xE9OV5sA1ZWT7j.js +++ b/scripts/65xE9OV5sA1ZWT7j.js @@ -5,5 +5,5 @@ let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / let ones = Number(args.test.result.roll.toString().split("").pop()) if (ones > SL) - args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} DR`) + args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} SL`) } \ No newline at end of file diff --git a/scripts/6Aqq4F4Xui923sc6.js b/scripts/6Aqq4F4Xui923sc6.js index 1e4990b..0a9ebf3 100644 --- a/scripts/6Aqq4F4Xui923sc6.js +++ b/scripts/6Aqq4F4Xui923sc6.js @@ -1,12 +1,12 @@ // Imbibing this substance grants the user the Painless Creature Trait. -const hasColdBlooded = this.actor.has("A Sang Froid") +const hasColdBlooded = this.actor.has("Cold Blooded") if (hasColdBlooded === undefined) { let item = await fromUuid("Compendium.wfrp4e-core.items.mCh1KK9jomwFZcLB") let data = item.toObject() this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) - this.script.scriptMessage(`

${this.actor.prototypeToken.name} reçoit le Trait de Créatuer A Sang Froid et peut inverser n'importe quel test de Force Mentale échoué.

-

Si il reçoit un état Surpris, cet état n'est pas perdu la première fois (typiquement à la fin du Round ou si il est attaqué).

`, + this.script.scriptMessage(`

${this.actor.prototypeToken.name} has gained the Cold Blooded Creature Trait and may reverse any failed Willpower based Tests.

+

If they gain a Surprised Condition, this Condition is not lost the first time it should be (which is typically at the end of the Round or if they victim is attacked).

`, {whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) } \ No newline at end of file diff --git a/scripts/6BmvV9c03FkfisnE.js b/scripts/6BmvV9c03FkfisnE.js index 2a7341a..3d03be7 100644 --- a/scripts/6BmvV9c03FkfisnE.js +++ b/scripts/6BmvV9c03FkfisnE.js @@ -2,8 +2,8 @@ if (args.equipped) { this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) - this.script.scriptMessage(`${this.actor.name} porte le ${this.item.name}.
- Il gagne +1 Point de Corruption point si un Test de Corruption est échoué, à appliquer manuellement.
Si le personnage porte le masque pendant plus d'une heure ou utilise les effets du masque, il est exposé à une @Corruption[moderate]{Corruption moderate} + this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
+ They gain +1 Corruption point if an exposure Test is failed, which will need to be manually applied.
If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption} `, {whisper: ChatMessage.getWhisperRecipients("GM")}) } @@ -12,8 +12,8 @@ if (args.equipped) { else if (!args.equipped) { await this.item.effects.contents[0].delete(); - await this.item.update({name : this.item.name += " (Utilisé)"}) - this.script.scriptMessage(`${this.item.name} de ${this.actor.name} a été enlevé et a perdu ses propriétés. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils devront être manuellement supprimés.`, + await this.item.update({name : this.item.name += " (Used)"}) + this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, {whisper: ChatMessage.getWhisperRecipients("GM")} ) diff --git a/scripts/6H6vNjzvMGl2ZqCR.js b/scripts/6H6vNjzvMGl2ZqCR.js index adcbe71..751934a 100644 --- a/scripts/6H6vNjzvMGl2ZqCR.js +++ b/scripts/6H6vNjzvMGl2ZqCR.js @@ -1,2 +1,2 @@ if (args.totalWoundLoss > 0) - this.script.scriptMessage(`Lame de Nurglitch: ${args.actor.name} doit réussir un Test d'Endurance Difficile (-10) ou recevoir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) \ No newline at end of file + this.script.scriptMessage(`Blade of Nurglitch: ${args.actor.name} must pass an Difficult (-10) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) \ No newline at end of file diff --git a/scripts/6JrUjs3g5x6bFnj3.js b/scripts/6JrUjs3g5x6bFnj3.js index 5655bd3..71e0979 100644 --- a/scripts/6JrUjs3g5x6bFnj3.js +++ b/scripts/6JrUjs3g5x6bFnj3.js @@ -4,5 +4,5 @@ let biteData = bite.toObject(); let senseData = sense.toObject(); biteData.system.specification.value = 6 - this.actor.characteristics.s.bonus; -senseData.name = senseData.name += " (Odorat)" +senseData.name = senseData.name += " (Smell)" this.actor.createEmbeddedDocuments("Item", [biteData, senseData], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/6QZUX7ZrFxOzqI0b.js b/scripts/6QZUX7ZrFxOzqI0b.js index fb1222e..de2a760 100644 --- a/scripts/6QZUX7ZrFxOzqI0b.js +++ b/scripts/6QZUX7ZrFxOzqI0b.js @@ -1,4 +1,4 @@ -let regenerate = this.actor.items.getName('Régénération') +let regenerate = this.actor.items.getName('Regenerate') if (regenerate) { diff --git a/scripts/6Ws3ieQ7pG5poUyT.js b/scripts/6Ws3ieQ7pG5poUyT.js index bc5e5f3..b9ff46a 100644 --- a/scripts/6Ws3ieQ7pG5poUyT.js +++ b/scripts/6Ws3ieQ7pG5poUyT.js @@ -1,6 +1,6 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({text : "Enter Spellcasting Lore", title : this.effect.name}, "", Object.values(game.wfrp4e.config.magicLores)); + let value = await ValueDialog.create("Enter Spellcasting Lore", this.effect.name, "", Object.values(game.wfrp4e.config.magicLores)); if (value) { this.item.updateSource({"system.specification.value" : value}); diff --git a/scripts/6ZS1rQLkNvMDO0Fp.js b/scripts/6ZS1rQLkNvMDO0Fp.js index f1c2324..609a9eb 100644 --- a/scripts/6ZS1rQLkNvMDO0Fp.js +++ b/scripts/6ZS1rQLkNvMDO0Fp.js @@ -1,11 +1,11 @@ let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) if (args.test.isFumble && roll == 1 && !args.test.result.misfire) { - args.test.result.misfire = game.i18n.localize("Misfire") + " (Résultat 1)" + args.test.result.misfire = game.i18n.localize("Misfire") + " (Rolled 1)" args.test.result.misfireDamage = eval(parseInt(args.test.result.roll.toString().split('').pop()) + args.test.item.Damage) } else if (args.test.isFumble && roll != 1) { - args.test.result.other.push("Résultat du Raté: " + roll) + args.test.result.other.push("Misfire Roll: " + roll) } diff --git a/scripts/6hAgggYpNR3r4QWC.js b/scripts/6hAgggYpNR3r4QWC.js index a2f7221..5604471 100644 --- a/scripts/6hAgggYpNR3r4QWC.js +++ b/scripts/6hAgggYpNR3r4QWC.js @@ -1,5 +1,5 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.Q2MCUrG2HppMcvN0") item = item.toObject() -let species = args.actor.Species || " de votre espèce" -item.name = `Animosité (tous sauf ${species})` +let species = args.actor.Species || " of your species" +item.name = `Animosity (all not ${species})` this.actor.createEmbeddedDocuments("Item", [item], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/6jcTzK1XEuWqAacN.js b/scripts/6jcTzK1XEuWqAacN.js index 6da3cb5..f41b3fe 100644 --- a/scripts/6jcTzK1XEuWqAacN.js +++ b/scripts/6jcTzK1XEuWqAacN.js @@ -1,2 +1,2 @@ args.abort = true; -this.script.scriptNotification(`Impossible d'utiliser ${game.wfrp4e.config.locations[this.effect.getFlag("wfrp4e", "location")]}!`, "error") \ No newline at end of file +this.script.scriptNotification(`Cannot use ${game.wfrp4e.config.locations[this.effect.getFlag("wfrp4e", "location")]}!`, "error") \ No newline at end of file diff --git a/scripts/6kifXp2jXEaQVJsg.js b/scripts/6kifXp2jXEaQVJsg.js index d715b54..debb784 100644 --- a/scripts/6kifXp2jXEaQVJsg.js +++ b/scripts/6kifXp2jXEaQVJsg.js @@ -1,6 +1,6 @@ let useWard = await Dialog.wait({ title : this.effect.name, - content : `

Utiliser Ward fourni par ${this.effect.name}?`, + content : `

Use Ward provided by ${this.effect.name}?`, buttons : { yes : { label : "Yes", diff --git a/scripts/6mpw9cGseG4W4eyd.js b/scripts/6mpw9cGseG4W4eyd.js index e927ba5..1a3b985 100644 --- a/scripts/6mpw9cGseG4W4eyd.js +++ b/scripts/6mpw9cGseG4W4eyd.js @@ -1,11 +1,11 @@ if (this.actor.system.status.advantage.value >= 2) { await this.actor.modifyAdvantage(-2); - this.script.scriptNotification("Avvantage soustrait") + this.script.scriptNotification("Advantage Subtracted") } else { - return this.script.scriptNotification("Pas assez d'Avantages!", "error") + return this.script.scriptNotification("Not enough Advantage!", "error") } let test = await this.actor.setupTrait(this.item) diff --git a/scripts/6qJP0hpShEM43ohx.js b/scripts/6qJP0hpShEM43ohx.js index 3b9591f..437b672 100644 --- a/scripts/6qJP0hpShEM43ohx.js +++ b/scripts/6qJP0hpShEM43ohx.js @@ -1,7 +1,7 @@ const actor = args.actor; -if (actor.itemTypes.skill.find(s => s.name === "Savoir (Océans)")) { - const loreTest = await actor.setupSkill('Savoir (Océans)', { +if (actor.itemTypes.skill.find(s => s.name === "Lore (Oceans)")) { + const loreTest = await actor.setupSkill('Lore (Oceans)', { appendTitle: ` – ${this.effect.name}`, skipTargets: true, fields: {difficulty: 'hard'}, @@ -10,13 +10,13 @@ if (actor.itemTypes.skill.find(s => s.name === "Savoir (Océans)")) { await loreTest.roll(); if (loreTest.succeeded) { - loreTest.result.other.push(`${actor.name} reconnaît l'attrait du Léviathan.`); + loreTest.result.other.push(`${actor.name} recognizes lure of the Leviathan.`); loreTest.renderRollCard(); return; } } -let test = await actor.setupSkill('Calme', { +let test = await actor.setupSkill('Cool', { appendTitle: ` – ${this.effect.name}`, skipTargets: true, fields: {difficulty: 'easy'}, @@ -25,7 +25,7 @@ let test = await actor.setupSkill('Calme', { await test.roll(); if (!test.succeeded) { - test.result.other.push(`${actor.name} devien @Condition[Assommé] par cette vision.`); + test.result.other.push(`${actor.name} became @Condition[Stunned] by the sight.`); test.renderRollCard(); actor.addCondition("stunned"); } \ No newline at end of file diff --git a/scripts/6uldpFvKOCoW92cC.js b/scripts/6uldpFvKOCoW92cC.js index 087f48d..9f67eea 100644 --- a/scripts/6uldpFvKOCoW92cC.js +++ b/scripts/6uldpFvKOCoW92cC.js @@ -2,7 +2,7 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.uqGxFOEqeurwkAO3") item = item.toObject() item.system.specification.value = 10; -item.name += " (Feu)" +item.name += " (Fire)" setProperty(item, "flags.wfrp4e.breath", "fire") Item.create(item, {parent : this.actor, fromEffect: this.effect.id}) \ No newline at end of file diff --git a/scripts/6xTtJEhRc4OjcDTf.js b/scripts/6xTtJEhRc4OjcDTf.js index 1851340..5a8b642 100644 --- a/scripts/6xTtJEhRc4OjcDTf.js +++ b/scripts/6xTtJEhRc4OjcDTf.js @@ -1,5 +1,5 @@ if (getProperty(args.data, "system.status.fortune.value")) { - this.script.scriptNotification("Impossible de mettre à jour la Fortune"); + this.script.scriptNotification("Cannot update Fortune"); delete args.data.system.status.wounds.value; } \ No newline at end of file diff --git a/scripts/7Ck0fkzE4WQ62qVe.js b/scripts/7Ck0fkzE4WQ62qVe.js index 5fc2ca7..6850a0b 100644 --- a/scripts/7Ck0fkzE4WQ62qVe.js +++ b/scripts/7Ck0fkzE4WQ62qVe.js @@ -1,4 +1,4 @@ -if (args.item.type == "skill" && args.item.name == "Corps à corps (Base)") +if (args.item.type == "skill" && args.item.name == "Melee (Basic)") { args.item.system.modifier.value += 20; } \ No newline at end of file diff --git a/scripts/7F6aGxZJjwxm5e5P.js b/scripts/7F6aGxZJjwxm5e5P.js index 78ac070..18e9f56 100644 --- a/scripts/7F6aGxZJjwxm5e5P.js +++ b/scripts/7F6aGxZJjwxm5e5P.js @@ -1,6 +1,6 @@ if (args.test.result.castOutcome == "failure") { - ValueDialog.create({text : "Enter Wounds Lost to gain SL", title : this.effect.name}, "0").then(async value => { + ValueDialog.create("Enter Wounds Lost to gain SL", this.effect.name, "0").then(async value => { value = Math.clamped(value, 0, 3) if (value == 0) { @@ -8,7 +8,7 @@ if (args.test.result.castOutcome == "failure") } else if (Number.isNumeric(value)) { - this.script.notification(`Lost ${value} Wounds`) + this.script.scriptNotification(`Lost ${value} Wounds`) this.actor.modifyWounds(-1 * value) await this.item.system.toggleEquip(); args.test.addSL(value); diff --git a/scripts/7JW9t8AYSDkkzG2V.js b/scripts/7JW9t8AYSDkkzG2V.js index 80ae62b..5e3d751 100644 --- a/scripts/7JW9t8AYSDkkzG2V.js +++ b/scripts/7JW9t8AYSDkkzG2V.js @@ -3,8 +3,8 @@ if (args.equipped) { this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) - this.script.scriptMessage(`${this.actor.name} porte le ${this.item.name}.
- Si le personnage porte le masque pendant plus d'une heure ou bénéficie de ses effets, il s'espose à une @Corruption[moderate]{Corruption moderate}. + this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
+ If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. `, {whisper: ChatMessage.getWhisperRecipients("GM")}) } @@ -13,8 +13,8 @@ if (args.equipped) else if (!args.equipped) { await this.item.effects.contents[0].delete(); - await this.item.update({name : this.item.name += " (Utilisé)"}) - this.script.scriptMessage(`${this.item.name} porté par ${this.actor.name} a été enlevé et a perdu ses capacités. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils doivent être retirés manuellement.`, + await this.item.update({name : this.item.name += " (Used)"}) + this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, {whisper: ChatMessage.getWhisperRecipients("GM")} ) diff --git a/scripts/7WR2hJjHPhHhHxAq.js b/scripts/7WR2hJjHPhHhHxAq.js index 1743398..45d5ca2 100644 --- a/scripts/7WR2hJjHPhHhHxAq.js +++ b/scripts/7WR2hJjHPhHhHxAq.js @@ -1,8 +1,8 @@ let poisoned = args.actor.hasCondition("poisoned") if (poisoned) { - this.script.scriptNotification(`Suppression de ${poisoned.conditionValue} états Empoisonné`) + this.script.scriptNotification(`Removed ${poisoned.conditionValue} Poisoned Conditions`) poisoned.delete(); } else - this.script.scriptNotification(`Aucun état Empoisonné`) \ No newline at end of file + this.script.scriptNotification(`No Poisoned Conditions`) \ No newline at end of file diff --git a/scripts/7ZoFUMDG2WJd8RMg.js b/scripts/7ZoFUMDG2WJd8RMg.js index d32f444..0ff8299 100644 --- a/scripts/7ZoFUMDG2WJd8RMg.js +++ b/scripts/7ZoFUMDG2WJd8RMg.js @@ -1 +1 @@ -this.script.scriptMessage(`Revendiquer le Bonus de ${this.effect.name} `); \ No newline at end of file +this.script.scriptMessage(`Claimed ${this.effect.name} Bonus`); \ No newline at end of file diff --git a/scripts/7e8FgQUF2oANANmx.js b/scripts/7e8FgQUF2oANANmx.js index 8f24b0a..b195380 100644 --- a/scripts/7e8FgQUF2oANANmx.js +++ b/scripts/7e8FgQUF2oANANmx.js @@ -1 +1 @@ -return args.skill?.name == "Corps à corps (Bagarre)" || args.item?.weaponGroup?.value == "brawling" \ No newline at end of file +return args.skill?.name == "Melee (Brawling)" || args.item?.weaponGroup?.value == "brawling" \ No newline at end of file diff --git a/scripts/7wBWUw05q0igh508.js b/scripts/7wBWUw05q0igh508.js index 0c02215..95e3da1 100644 --- a/scripts/7wBWUw05q0igh508.js +++ b/scripts/7wBWUw05q0igh508.js @@ -1,5 +1,5 @@ // Imbibing this substance grants the user the Painless Creature Trait. -const hasPainless = this.actor.has("Insensible à la douleur"); +const hasPainless = this.actor.has("Painless"); if (hasPainless === undefined) { let item = await fromUuid("Compendium.wfrp4e-core.items.wMwSRDmgiF2IdCJr"); @@ -7,7 +7,11 @@ if (hasPainless === undefined) this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) this.script.scriptMessage( - `

${this.actor.prototypeToken.name} gagne le Trait de Creature Insensible à la Douleur. Cet effet dure 1 heure, après quoi il disparait et le total des Blessures encaissés par le buveur sont encaissés d'un coup.

-

Notez que cela n'empêche pas le buveur de recevoir une Blessure Critique ou de mourrir. Cela permet par contre d'éviter la majorité de leur effets.

`, + `

${this.actor.prototypeToken.name} has gained the Painless Creature Trait. This + effect lasts for one hour, after which it dissipates and the full effect + of all the imbiber's wounds come crashing down at once.

+

Note that this does not prevent the user from acquiring a Critical + Wound or dying from one. It merely allows them to ignore most + of their effects.

`, { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true}) } \ No newline at end of file diff --git a/scripts/84IB8CWa55XzoAkv.js b/scripts/84IB8CWa55XzoAkv.js index a324f4b..3cdc615 100644 --- a/scripts/84IB8CWa55XzoAkv.js +++ b/scripts/84IB8CWa55XzoAkv.js @@ -1 +1 @@ -return (["Soin aux animaux", "Emprise sur les animaux"].includes(args.item?.name) || args.item?.name.includes("Chevaucher") || args.item?.name.includes("Dressage")) \ No newline at end of file +return (["Animal Care", "Charm Animal"].includes(args.item?.name) || args.item?.name.includes("Ride") || args.item?.name.includes("Animal Training")) \ No newline at end of file diff --git a/scripts/8ByuHnUZ4RNTdGVv.js b/scripts/8ByuHnUZ4RNTdGVv.js index 8952a02..37290b2 100644 --- a/scripts/8ByuHnUZ4RNTdGVv.js +++ b/scripts/8ByuHnUZ4RNTdGVv.js @@ -1,9 +1,9 @@ let strLoss = Math.ceil(CONFIG.Dice.randomUniform() * 10) let tghLoss = Math.ceil(CONFIG.Dice.randomUniform() * 10) -if (!this.actor.has("Mort-vivant") && !this.actor.has("Démoniaque")) +if (!this.actor.has("Undead") && !this.actor.has("Daemonic")) { - this.actor.setupSkill(game.i18n.localize("NAME.Cool"), { appendTitle: " - " + this.effect.name, fields: { difficulty: "average" }, context: { failure: `Pert de ${strLoss} en Force et ${tghLoss} en Endurance` } }).then(async test => { + this.actor.setupSkill(game.i18n.localize("NAME.Cool"), { appendTitle: " - " + this.effect.name, fields: { difficulty: "average" }, context: { failure: `Lost ${strLoss} Strength and ${tghLoss} Toughness` } }).then(async test => { await test.roll(); if (test.failed) { this.actor.update({ "system.characteristics.s.initial": this.actor.system.characteristics.s.initial - strLoss, "system.characteristics.t.initial": this.actor.system.characteristics.t.initial - tghLoss }) @@ -12,5 +12,5 @@ if (!this.actor.has("Mort-vivant") && !this.actor.has("Démoniaque")) } else { - this.script.scriptNotification(`${this.actor.name} est immunisé à ${this.effect.name}`) + this.script.scriptNotification(`${this.actor.name} is immune to ${this.effect.name}`) } diff --git a/scripts/8GyJgdHVBaLrHCY8.js b/scripts/8GyJgdHVBaLrHCY8.js index 56adde3..2ee98a7 100644 --- a/scripts/8GyJgdHVBaLrHCY8.js +++ b/scripts/8GyJgdHVBaLrHCY8.js @@ -1,17 +1,17 @@ let type = this.item.getFlag("wfrp4e", "breath") let types = { - none : "Aucun", - cold : "Froid", + none : "None", + cold : "Cold", corrosion : "Corrosion", - fire : "Feu", - electricity : "Electricité", + fire : "Fire", + electricity : "Electricity", poison : "Poison", - smoke : "Fumée", - various : "Divers" + smoke : "Smoke", + various : "Various" } if (!type) { - type = (await ItemDialog.create(ItemDialog.objectToArray(types, this.item.img), 1, "Choisir le Souffle"))[0]?.id; + type = (await ItemDialog.create(ItemDialog.objectToArray(types, this.item.img), 1, "Choose Breath"))[0]?.id; this.item.updateSource({"flags.wfrp4e.breath" : type}) } diff --git a/scripts/8araLuwmBq8GKEw3.js b/scripts/8araLuwmBq8GKEw3.js index ff0d686..66a5c92 100644 --- a/scripts/8araLuwmBq8GKEw3.js +++ b/scripts/8araLuwmBq8GKEw3.js @@ -3,5 +3,5 @@ let APIgnored = args.AP.layers.reduce((prev, current) => prev + ((current.weakpo if (APIgnored) { args.modifiers.ap.ignored += APIgnored - args.modifiers.ap.details.push(`${this.effect.name}: Ignorer les PA avec des Points Faibles (${APIgnored})`) + args.modifiers.ap.details.push(`${this.effect.name}: Ignore AP with Weakpoints (${APIgnored})`) } \ No newline at end of file diff --git a/scripts/8rq4GL5d5nCn4kO7.js b/scripts/8rq4GL5d5nCn4kO7.js index c94cb1c..79c9046 100644 --- a/scripts/8rq4GL5d5nCn4kO7.js +++ b/scripts/8rq4GL5d5nCn4kO7.js @@ -3,5 +3,5 @@ if (caster) { let healed= caster.characteristics.wp.bonus this.actor.modifyWounds(healed); - this.script.scriptMessage(`${this.actor.prototypeToken.name} regagne ${healed} Blessures`) + this.script.scriptMessage(`${this.actor.prototypeToken.name} regains ${healed} Wounds`) } \ No newline at end of file diff --git a/scripts/8tyMXDfHR8AJBdDu.js b/scripts/8tyMXDfHR8AJBdDu.js index 8ba19d6..9e0a473 100644 --- a/scripts/8tyMXDfHR8AJBdDu.js +++ b/scripts/8tyMXDfHR8AJBdDu.js @@ -3,5 +3,5 @@ let weakpointsAP = args.AP.layers.filter(i => !i.ignored && i.weakpoints).reduce if (weakpointsAP > 0) { args.modifiers.ap.ignored += weakpointsAP; - args.modifiers.ap.details.push(`${this.effect.name} - Ignore les Points Faibles (${weakpointsAP})`); + args.modifiers.ap.details.push(`${this.effect.name} - Ignore Weakpoints (${weakpointsAP})`); } \ No newline at end of file diff --git a/scripts/8xqYrBIf1Zhlwizg.js b/scripts/8xqYrBIf1Zhlwizg.js index fd50370..941661b 100644 --- a/scripts/8xqYrBIf1Zhlwizg.js +++ b/scripts/8xqYrBIf1Zhlwizg.js @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/8zTkDVziBPaNbMQX.js b/scripts/8zTkDVziBPaNbMQX.js index fdd905a..c032cba 100644 --- a/scripts/8zTkDVziBPaNbMQX.js +++ b/scripts/8zTkDVziBPaNbMQX.js @@ -9,7 +9,7 @@ let filters = [ } ] -let petty = await ItemDialog.createFromFilters(filters, 6, "Choisissez 6 Sorts de Magie Mineure") +let petty = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 6, "Choose 6 Petty Spells") filters = [ @@ -23,7 +23,7 @@ filters = [ } ] -let arcane = await ItemDialog.createFromFilters(filters, 9, "Choisissez 9 Sorts de Magie d'Arcane") +let arcane = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 9, "Choose 9 Arcane Spells") let items = petty.concat(arcane).map(i => i.toObject()) diff --git a/scripts/9A7rYY3FKi5XLihG.js b/scripts/9A7rYY3FKi5XLihG.js index 4977a44..e8ade7a 100644 --- a/scripts/9A7rYY3FKi5XLihG.js +++ b/scripts/9A7rYY3FKi5XLihG.js @@ -1,6 +1,6 @@ fromUuid("Compendium.wfrp4e-core.items.5QcrpLQWWrsbKR79").then(item => { let data = item.toObject(); data.system.tests.value = data.system.tests.value.replace("coins", "metal objects"); - data.system.description.value += "

Ce Talent s'applique également à tout objet métallique à cause de l'Affinité Metallique

" + data.system.description.value += "

This Talent also extends to any metal object because of Metallic Affinity

" this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) }) \ No newline at end of file diff --git a/scripts/9JnPK1jNUEso7Pv8.js b/scripts/9JnPK1jNUEso7Pv8.js index db4cfc0..8c33cb3 100644 --- a/scripts/9JnPK1jNUEso7Pv8.js +++ b/scripts/9JnPK1jNUEso7Pv8.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.9h82z72XGo9tfgQS") let data = item.toObject(); -data.name += ` (Odorat)` +data.name += ` (Smell)` this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/9VfeubiCV83LN9iY.js b/scripts/9VfeubiCV83LN9iY.js index b48a14a..83f9f95 100644 --- a/scripts/9VfeubiCV83LN9iY.js +++ b/scripts/9VfeubiCV83LN9iY.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.AtpAudHA4ybXVlWM") let data = item.toObject(); -data.name += ` (Si Charge)` +data.name += ` (When Charging)` this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/9WZa63lr0K3SsP4G.js b/scripts/9WZa63lr0K3SsP4G.js index cf89e60..bac4c09 100644 --- a/scripts/9WZa63lr0K3SsP4G.js +++ b/scripts/9WZa63lr0K3SsP4G.js @@ -3,5 +3,5 @@ let sourceItem = this.effect.sourceItem; if (sourceItem) { this.actor.applyEffect({effectUuids : [sourceItem.effects.contents[2].uuid]}) - this.script.scriptNotification("Applique après les effets"); + this.script.scriptNotification("Applied after effects"); } \ No newline at end of file diff --git a/scripts/9Yn9uViEjcuaESJ2.js b/scripts/9Yn9uViEjcuaESJ2.js index b09b963..f964391 100644 --- a/scripts/9Yn9uViEjcuaESJ2.js +++ b/scripts/9Yn9uViEjcuaESJ2.js @@ -1,6 +1,6 @@ if (this.item.getFlag("wfrp4e", "failedCool")) { - this.item.name += " (Aucun PA)" + this.item.name += " (No AP)" this.item.system.AP = { "head": 0, "lArm": 0, diff --git a/scripts/9fK07tqqZyPg7dpx.js b/scripts/9fK07tqqZyPg7dpx.js index 1613f20..baccb76 100644 --- a/scripts/9fK07tqqZyPg7dpx.js +++ b/scripts/9fK07tqqZyPg7dpx.js @@ -2,11 +2,11 @@ let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {sk await test.roll(); if (test.failed) { - this.script.scriptNotification("Subi une Blessure Purulente") + this.script.scriptNotification("Gained a Festering Wound") let item = await fromUuid("Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb") this.actor.createEmbeddedDocuments("Item", [item.toObject()]) } else { - this.script.scriptNotification("Evite une Blessure Purulente") + this.script.scriptNotification("Avoided a Festering Wound") } diff --git a/scripts/A0OK0qAMmnf8iNJf.js b/scripts/A0OK0qAMmnf8iNJf.js index 2f137f4..b3df7c5 100644 --- a/scripts/A0OK0qAMmnf8iNJf.js +++ b/scripts/A0OK0qAMmnf8iNJf.js @@ -1,6 +1,6 @@ if (args.test.result.SL < 0) { - this.script.scriptMessage(`Reçoit ${Math.abs(args.test.result.SL)} Points de Corruption`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Gained ${Math.abs(args.test.result.SL)} Corruption points`, {whisper : ChatMessage.getWhisperRecipients("GM")}) if (args.test.failed && this.actor.type == "character") { this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + Math.abs(args.test.result.SL)}) diff --git a/scripts/A1odAcuRbq9797ZB.js b/scripts/A1odAcuRbq9797ZB.js index c26eb0e..04c6e12 100644 --- a/scripts/A1odAcuRbq9797ZB.js +++ b/scripts/A1odAcuRbq9797ZB.js @@ -71,18 +71,24 @@ for (let c of choice) let item = await game.wfrp4e.utility.find(c.name, c.type) if (item) { - let equip = item.system.tags.has("equippable"); item = item.toObject() - if (equip) - { - item.system.equipped.value = true; - } - items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + equip(item); + items.push(mergeObject(item, (c.diff || {}))) } else - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/A6DcKPzAGntzSCil.js b/scripts/A6DcKPzAGntzSCil.js index e061eac..3ba5f6c 100644 --- a/scripts/A6DcKPzAGntzSCil.js +++ b/scripts/A6DcKPzAGntzSCil.js @@ -1,5 +1,5 @@ let roll = await new Roll("1d10").roll() -roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Durée)`})); +roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Duration)`})); this.effect.updateSource({"duration.rounds" : roll.total}) \ No newline at end of file diff --git a/scripts/ACgKpKrEEHoNGG0h.js b/scripts/ACgKpKrEEHoNGG0h.js index ba1d9d6..5d7289c 100644 --- a/scripts/ACgKpKrEEHoNGG0h.js +++ b/scripts/ACgKpKrEEHoNGG0h.js @@ -1 +1 @@ -return !args.skill?.name.includes("Focalisation") && args.type != "channelling" \ No newline at end of file +return !args.skill?.name.includes("Channelling") && args.type != "channelling" \ No newline at end of file diff --git a/scripts/ACtDCTLZXmd5uXjX.js b/scripts/ACtDCTLZXmd5uXjX.js index 903591c..205ea6b 100644 --- a/scripts/ACtDCTLZXmd5uXjX.js +++ b/scripts/ACtDCTLZXmd5uXjX.js @@ -1,7 +1,7 @@ let halve; if (args.opposedTest.attackerTest.item?.type != "spell") { - halve = await Dialog.confirm({title : this.effect.name, content : "Diviser les dommages? (Divise par 2 tout les dommages autre que ceux causés par le feu, le froid et magiques)"}) + halve = await Dialog.confirm({title : this.effect.name, content : "Halve Damage? (Halves all damage other than fire, cold, and magic)"}) } else { @@ -11,5 +11,5 @@ else if (halve) { args.totalWoundLoss /= 2; - args.modifiers.other.push({label : this.effect.name, details : "Divisé par 2", value : "× 0.5"}) + args.modifiers.other.push({label : this.effect.name, details : "Halved", value : "× 0.5"}) } \ No newline at end of file diff --git a/scripts/AGD7zCyV4zruvnWu.js b/scripts/AGD7zCyV4zruvnWu.js index f55bee5..f7eb0f9 100644 --- a/scripts/AGD7zCyV4zruvnWu.js +++ b/scripts/AGD7zCyV4zruvnWu.js @@ -1 +1 @@ -return args.type != "cast" || !["mort", "nécromancie", "vie", "lumière", "cieux"].includes(args.spell?.system.lore.value) \ No newline at end of file +return args.type != "cast" || !["death", "necromancy", "life", "light", "heavens"].includes(args.spell?.system.lore.value) \ No newline at end of file diff --git a/scripts/AMI2wDJqsIZsoq1e.js b/scripts/AMI2wDJqsIZsoq1e.js index f826c60..26b30e4 100644 --- a/scripts/AMI2wDJqsIZsoq1e.js +++ b/scripts/AMI2wDJqsIZsoq1e.js @@ -1,4 +1,4 @@ if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 2 && args.opposedTest.result.winner == "attacker") { - this.script.scriptMessage(`Émet un nuage de poudre noire nauséabonde. Active l'effet Fellowship Penalty sur @UUID[${this.actor.uuid}].`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Emits a cloud of foul-smelling blackpowder. Enable the Fellowship Penalty Active Effect on @UUID[${this.actor.uuid}].`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/AMxezwtYnWCF6Oza.js b/scripts/AMxezwtYnWCF6Oza.js index 5fad3df..6eb5509 100644 --- a/scripts/AMxezwtYnWCF6Oza.js +++ b/scripts/AMxezwtYnWCF6Oza.js @@ -1 +1 @@ -return args.skill?.name == "Projectiles (Poudre noire)" \ No newline at end of file +return args.skill?.name == "Ranged (Blackpowder)" \ No newline at end of file diff --git a/scripts/Adgs6Zs0FdefO6qx.js b/scripts/Adgs6Zs0FdefO6qx.js index 210f054..dd41f6a 100644 --- a/scripts/Adgs6Zs0FdefO6qx.js +++ b/scripts/Adgs6Zs0FdefO6qx.js @@ -1,5 +1,5 @@ if (args.test.options.pilot && args.test.result.reversed) { args.test.data.result.SL = "+" + Math.min(1, Number(args.test.data.result.SL)) - args.test.result.other.push(`${this.effect.name}: DR limité à 1`) + args.test.result.other.push(`${this.effect.name}: SL limited to 1`) } \ No newline at end of file diff --git a/scripts/ApaLcUhuty3EzJoP.js b/scripts/ApaLcUhuty3EzJoP.js index ba42e39..da73508 100644 --- a/scripts/ApaLcUhuty3EzJoP.js +++ b/scripts/ApaLcUhuty3EzJoP.js @@ -3,4 +3,4 @@ let current = this.actor.status.fortune.value this.actor.update({"system.status.fortune.value" : fortunePoints + current}) -this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses points de Destin augmentés de ${current} à ${fortunePoints + current}`) \ No newline at end of file +this.script.scriptMessage(`${this.actor.prototypeToken.name} fortune points increased from ${current} to ${fortunePoints + current}`) \ No newline at end of file diff --git a/scripts/AqHLHp4kH6KULk3e.js b/scripts/AqHLHp4kH6KULk3e.js index 16b9c43..d8b4d08 100644 --- a/scripts/AqHLHp4kH6KULk3e.js +++ b/scripts/AqHLHp4kH6KULk3e.js @@ -8,5 +8,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Aucun disponible!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/B950b0XnIUYCdVwu.js b/scripts/B950b0XnIUYCdVwu.js index 8a61d3b..99daff7 100644 --- a/scripts/B950b0XnIUYCdVwu.js +++ b/scripts/B950b0XnIUYCdVwu.js @@ -5,7 +5,7 @@ if (test.succeeded) { if (args.totalWoundLoss <= parseInt(test.result.SL)) { - args.abort = `${this.effect.name}: Attaque détournée et renvoyée` + args.abort = `${this.effect.name}: Attack deflected and reflected` } args.modifiers.other.push({label : this.effect.name, value : -1 * parseInt(test.result.SL)}) } \ No newline at end of file diff --git a/scripts/BD7bVTU2pVoRSRBe.js b/scripts/BD7bVTU2pVoRSRBe.js index b436fd6..f82d353 100644 --- a/scripts/BD7bVTU2pVoRSRBe.js +++ b/scripts/BD7bVTU2pVoRSRBe.js @@ -3,17 +3,17 @@ let symptoms = { coughsandsneezes : "Coughs and Sneezes", fever : "Fever", flux : "Flux", - nausea : "Nausée" + nausea : "Nausea" } let roll = await (new Roll(`max(0, 1d10 - ${this.actor.characteristics.wp.bonus})`).roll()) roll.toMessage(this.script.getChatData()); -let choices = await ItemDialog.create(ItemDialog.objectToArray(symptoms), roll.total, "Choisissez les Symptomes"); +let choices = await ItemDialog.create(ItemDialog.objectToArray(symptoms), roll.total, "Choose Symptoms"); if (choices.length) { - let symptomEffects = foundry.utils.duplicate(game.wfrp4e.config.symptomEffects) + let symptomEffects = duplicate(game.wfrp4e.config.symptomEffects) let added = [] for(let choice of choices) { diff --git a/scripts/BHbFqhJPzZI2txLs.js b/scripts/BHbFqhJPzZI2txLs.js index 5107a0c..abf139c 100644 --- a/scripts/BHbFqhJPzZI2txLs.js +++ b/scripts/BHbFqhJPzZI2txLs.js @@ -1,9 +1,8 @@ let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); -let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); // If channelling corresponding lore -if (args.type == "channelling" && spellLore == lore) +if (args.type == "channelling" && args.spell.system.lore.value == lore) args.prefillModifiers.slBonus += 2 // If channelling or casting different lore -else if (spellLore != lore && args.spell.system.lore.value != "petty") +else if (args.spell.system.lore.value != lore && args.spell.system.lore.value != "petty") args.prefillModifiers.slBonus -= 1 \ No newline at end of file diff --git a/scripts/BVNKF9omCppWPLys.js b/scripts/BVNKF9omCppWPLys.js index 42c557a..d01c1cf 100644 --- a/scripts/BVNKF9omCppWPLys.js +++ b/scripts/BVNKF9omCppWPLys.js @@ -22,7 +22,7 @@ if (test.succeeded) { let rating = parseInt(this.effect.name.match(/\d+/)?.[0]); if (rating <= 1) { - const scriptData = this.effect.system.scriptData + const scriptData = this.effect.flags.wfrp4e.scriptData; scriptData[2].trigger = ''; - await this.effect.update({disabled: true, "system.scriptData": scriptData}); + await this.effect.update({disabled: true, "flags.wfrp4e.scriptData": scriptData}); } \ No newline at end of file diff --git a/scripts/BtyFhdGMKiMamGhM.js b/scripts/BtyFhdGMKiMamGhM.js index 9f4b6b1..62a927a 100644 --- a/scripts/BtyFhdGMKiMamGhM.js +++ b/scripts/BtyFhdGMKiMamGhM.js @@ -1,4 +1,4 @@ -let test = await args.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) +let test = await args.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) await test.roll(); let damage = parseInt(this.effect.sourceTest.result.SL) diff --git a/scripts/CHnaBPHk6HdFS512.js b/scripts/CHnaBPHk6HdFS512.js index 93dbc6d..6e8536e 100644 --- a/scripts/CHnaBPHk6HdFS512.js +++ b/scripts/CHnaBPHk6HdFS512.js @@ -1,6 +1,6 @@ let arm = await fromUuid("Compendium.wfrp4e-core.items.MnMZv7ZXoRqoH9dS"); let leg = await fromUuid("Compendium.wfrp4e-core.items.k00PimCWkff11IA0"); -let choice = await ItemDialog.create([arm, leg], 1, "Choisir le Membre") +let choice = await ItemDialog.create([arm, leg], 1, "Choose Limb") this.actor.createEmbeddedDocuments("Item", choice, {fromEffect: this.effect.id}) \ No newline at end of file diff --git a/scripts/CIxZYkHggBQ6EsHP.js b/scripts/CIxZYkHggBQ6EsHP.js index d5c9c31..8034dd7 100644 --- a/scripts/CIxZYkHggBQ6EsHP.js +++ b/scripts/CIxZYkHggBQ6EsHP.js @@ -1,2 +1,2 @@ -this.script.scriptNotification("Effet utilisé"); +this.script.scriptNotification("Effect Used"); this.effect.delete(); \ No newline at end of file diff --git a/scripts/CS6O7UUjQcUJoOUP.js b/scripts/CS6O7UUjQcUJoOUP.js index 1a8a772..be5bc60 100644 --- a/scripts/CS6O7UUjQcUJoOUP.js +++ b/scripts/CS6O7UUjQcUJoOUP.js @@ -1,9 +1,10 @@ -if (args.test.failed) { - let SL = Number(args.test.result.SL) - if (SL <= -2 && SL > -4) - this.actor.addCondition("stunned") - else if (SL <= -4 && SL > -6) - this.script.scriptMessage(this.actor.prototypeToken.name + " doit réaliser un Test de Force Mentale -4) + this.actor.addCondition("stunned") + else if (SL <= -4 && SL > -6) + this.script.scriptMessage(this.actor.prototypeToken.name + " must make a Willpower Test or fall @Condition[Prone].") + else if (SL <= -6) + this.actor.addCondition("unconscious") + } \ No newline at end of file diff --git a/scripts/CW5Vlr57OaMkKJ8Q.js b/scripts/CW5Vlr57OaMkKJ8Q.js index 56db697..0d5a0a9 100644 --- a/scripts/CW5Vlr57OaMkKJ8Q.js +++ b/scripts/CW5Vlr57OaMkKJ8Q.js @@ -1,11 +1,11 @@ if (this.actor.system.status.advantage.value >= 3) { this.actor.modifyAdvantage(-3); - this.script.scriptNotification("Avantage soustrait") + this.script.scriptNotification("Advantage Subtracted") } else { - return this.script.scriptNotification("Pas assez d'Avantages!", "error") + return this.script.scriptNotification("Not enough Advantage!", "error") } let test = await this.actor.setupTrait(this.item) diff --git a/scripts/CWNGrg7se91RC95g.js b/scripts/CWNGrg7se91RC95g.js index 42c37d8..27d7518 100644 --- a/scripts/CWNGrg7se91RC95g.js +++ b/scripts/CWNGrg7se91RC95g.js @@ -1,11 +1,11 @@ if (args.totalWoundLoss > 0) { args.opposedTest.result.other.push( - `@Corruption[minor]{Exposition Mineure à la Corruption}` + `@Corruption[minor]{Moderate Exposure to Corruption}` ) this.script.scriptMessage(`${this.effect.name}: - @Corruption[moderate]{Exposition moderate à la Corruption}
- ${args.actor.prototypeToken.name} doit réussir un - Test de Corruption (moderat)`, + @Corruption[moderate]{Moderate Exposure to Corruption}
+ ${args.actor.prototypeToken.name} must take an + Corruption (Moderate) Test`, {whisper: ChatMessage.getWhisperRecipients("GM")} ) } \ No newline at end of file diff --git a/scripts/CiFeduksZJ6PRulx.js b/scripts/CiFeduksZJ6PRulx.js index 57463db..8bb32b5 100644 --- a/scripts/CiFeduksZJ6PRulx.js +++ b/scripts/CiFeduksZJ6PRulx.js @@ -1 +1 @@ -return args.skill?.name == "Chevaucher (Cheval)" || (args.options.dodge && this.actor.isMounted); \ No newline at end of file +return args.skill?.name == "Ride (Horse)" || (args.options.dodge && this.actor.isMounted); \ No newline at end of file diff --git a/scripts/Cjj4iLkdY1NaZRCi.js b/scripts/Cjj4iLkdY1NaZRCi.js index 1bb4744..165854d 100644 --- a/scripts/Cjj4iLkdY1NaZRCi.js +++ b/scripts/Cjj4iLkdY1NaZRCi.js @@ -1,17 +1,17 @@ -if ((args.opposedTest.attackerTest.item && args.opposedTest.attackerTest.item.isMelee) || (args.opposedTest.attackerTest.item && !args.opposedTest.attackerTest.item.name.includes("Projectiles"))) +if ((args.opposedTest.attackerTest.item && args.opposedTest.attackerTest.item.isMelee) || (args.opposedTest.attackerTest.item && !args.opposedTest.attackerTest.item.name.includes("Ranged"))) { let choice = await Dialog.wait({ title: this.effect.name, - content: `

Appliquer les dommages de ${this.effect.name} à l'attquant?`, + content: `

Apply damage with ${this.effect.name} to attacker?`, buttons: { yes: { - label: "Oui", + label: "Yes", callback: () => { return true; } }, no: { - label: "Non", + label: "No", callback: () => { return false; } diff --git a/scripts/DHxUKY9LMyifFgCi.js b/scripts/DHxUKY9LMyifFgCi.js index f05e6f3..a9beef0 100644 --- a/scripts/DHxUKY9LMyifFgCi.js +++ b/scripts/DHxUKY9LMyifFgCi.js @@ -1 +1 @@ -return args.skill?.name == "Métier (Apothicaire)" || args.skill?.name == "Métier (Alchimiste)" \ No newline at end of file +return args.skill?.name == "Trade (Apothecary)" || args.skill?.name == "Trade (Alchemist)" \ No newline at end of file diff --git a/scripts/DVlZGbiuMIHEQOnM.js b/scripts/DVlZGbiuMIHEQOnM.js index 9ecada3..4395d41 100644 --- a/scripts/DVlZGbiuMIHEQOnM.js +++ b/scripts/DVlZGbiuMIHEQOnM.js @@ -4,7 +4,7 @@ if (this.actor.getFlag("wfrp4e", "isAttached")) await roll.toMessage(this.script.getChatData()); if (roll.total == 9 || roll.total == 10) { - this.script.scriptMessage(`${this.actor.name} attaché à ${this.actor.getFlag("wfrp4e", "isAttached")} tombe.`) + this.script.scriptMessage(`${this.actor.name} attached to ${this.actor.getFlag("wfrp4e", "isAttached")} gorges and falls off.`) await this.actor.unsetFlag("wfrp4e", "isAttached") } } \ No newline at end of file diff --git a/scripts/DWBxvzfWGcG7PVNP.js b/scripts/DWBxvzfWGcG7PVNP.js index d7e26ab..789e83f 100644 --- a/scripts/DWBxvzfWGcG7PVNP.js +++ b/scripts/DWBxvzfWGcG7PVNP.js @@ -1,5 +1,5 @@ let letter = this.item.system.location.key[0]; // "l" or "r"; -this.item.updateSource({"system.location.key" : letter + "Doigt"}) +this.item.updateSource({"system.location.key" : letter + "Finger"}) // We want the location to be Right or Left Hand, but the key to be rFinger or lFinger \ No newline at end of file diff --git a/scripts/DmbWR9s5I8LHBwxB.js b/scripts/DmbWR9s5I8LHBwxB.js index 27af841..0875467 100644 --- a/scripts/DmbWR9s5I8LHBwxB.js +++ b/scripts/DmbWR9s5I8LHBwxB.js @@ -1,9 +1,9 @@ -let column = await ValueDialog.create({text : "Select the column to roll on to determine Beast Head", title : "Select Column"}, "", ["Undivided", "Khorne", "Nurgle", "Slaanesh", "Tzeentch"]); +let column = await ValueDialog.create("Select the column to roll on to determine Beast Head", "Select Column", "", ["Undivided", "Khorne", "Nurgle", "Slaanesh", "Tzeentch"]); if (column) { let result = await game.wfrp4e.tables.rollTable("beasthead", {}, column); - this.script.message(`${result.title}
${result.result}`); + this.script.scriptMessage(`${result.title}
${result.result}`); let uuid = `Compendium.${result.object.documentCollection}.${result.object.documentId}`; let item = await fromUuid(uuid); if (item) diff --git a/scripts/DqJFo74trI916qXN.js b/scripts/DqJFo74trI916qXN.js index c8687f1..a2791f0 100644 --- a/scripts/DqJFo74trI916qXN.js +++ b/scripts/DqJFo74trI916qXN.js @@ -1,6 +1,3 @@ let fatigued = args.actor.hasCondition("fatigued") if (fatigued) -{ - fatigued.system.scriptData = fatigued.system.scriptData.filter(s => s.trigger != "dialog") - fatigued.system._scripts = null; -} \ No newline at end of file + setProperty(fatigued, "flags.wfrp4e.scriptData", getProperty(fatigued, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) \ No newline at end of file diff --git a/scripts/DuM5l2Yb4bdvDeaG.js b/scripts/DuM5l2Yb4bdvDeaG.js index bf15220..ddbd4db 100644 --- a/scripts/DuM5l2Yb4bdvDeaG.js +++ b/scripts/DuM5l2Yb4bdvDeaG.js @@ -1 +1 @@ -return args.skill?.name != "Athlétisme" \ No newline at end of file +return args.skill?.name != "Athletics" \ No newline at end of file diff --git a/scripts/E1vUepgop09FF5wy.js b/scripts/E1vUepgop09FF5wy.js index 058587a..3da19b7 100644 --- a/scripts/E1vUepgop09FF5wy.js +++ b/scripts/E1vUepgop09FF5wy.js @@ -1,6 +1,6 @@ if (this.actor.system.status.advantage.value == 0) { - return this.script.scriptNotification("Pas assez d'Avantages!", "error") + return this.script.scriptNotification("Not enough Advantage!", "error") } let hatred = await fromUuid("Compendium.wfrp4e-core.items.Item.aE3pyW20Orvdjzj0") @@ -8,15 +8,15 @@ let frenzy = await fromUuid("Compendium.wfrp4e-core.items.Item.yRhhOlt18COq4e1q" if (this.actor.system.status.advantage.value >= 3) { - this.script.scriptNotification(`Ajout de ${frenzy.name}`) + this.script.scriptNotification(`Adding ${frenzy.name}`) this.actor.setAdvantage(0) this.actor.createEmbeddedDocuments("Item", [frenzy]) } else if (this.actor.system.status.advantage.value >= 1) { let data = hatred.toObject(); - data.system.specification.value = "Combatants au corps à corps" - this.script.scriptNotification(`Ajout de ${hatred.name}`) + data.system.specification.value = "Close Combat opponents" + this.script.scriptNotification(`Adding ${hatred.name}`) this.actor.setAdvantage(0) this.actor.createEmbeddedDocuments("Item", [data]) } \ No newline at end of file diff --git a/scripts/E3om295BMQojnM2F.js b/scripts/E3om295BMQojnM2F.js index 8060980..4e0d9d6 100644 --- a/scripts/E3om295BMQojnM2F.js +++ b/scripts/E3om295BMQojnM2F.js @@ -2,5 +2,5 @@ let fatigued = this.actor.hasCondition("fatigued") if (fatigued) { fatigued.delete(); - this.script.scriptNotification("Fatigue supprimée") + this.script.scriptNotification("Removed Fatigued") } \ No newline at end of file diff --git a/scripts/EC8cZmqrE095cDc2.js b/scripts/EC8cZmqrE095cDc2.js index 528f927..c5e0b3e 100644 --- a/scripts/EC8cZmqrE095cDc2.js +++ b/scripts/EC8cZmqrE095cDc2.js @@ -1,7 +1,7 @@ const actor = args.actor; -if (actor.itemTypes.skill.find(s => s.name === "Savoir (Savoir)")) { - const loreTest = await actor.setupSkill('Savoir (Savoir)', { +if (actor.itemTypes.skill.find(s => s.name === "Lore (Riverways)")) { + const loreTest = await actor.setupSkill('Lore (Riverways)', { appendTitle: ` – ${this.effect.name}`, skipTargets: true, fields: {difficulty: 'hard'}, @@ -10,13 +10,13 @@ if (actor.itemTypes.skill.find(s => s.name === "Savoir (Savoir)")) { await loreTest.roll(); if (loreTest.succeeded) { - loreTest.result.other.push(`${actor.name} reconnaît les leurres de Lurkerfis.`); + loreTest.result.other.push(`${actor.name} recognizes lures of Lurkerfish.`); loreTest.renderRollCard(); return; } } -let test = await actor.setupSkill('Calme', { +let test = await actor.setupSkill('Cool', { appendTitle: ` – ${this.effect.name}`, skipTargets: true, fields: {difficulty: 'easy'}, @@ -25,7 +25,7 @@ let test = await actor.setupSkill('Calme', { await test.roll(); if (!test.succeeded) { - test.result.other.push(`${actor.name} est devenu séduit par la vue et incapable d'effectuer aucune action sauf se diriger vers la lumière`); + test.result.other.push(`${actor.name} became beguiled by the sight and unable to perform any action except moving towards the light.`); test.renderRollCard(); actor.addCondition("unconscious"); } \ No newline at end of file diff --git a/scripts/EJObiSth3WdcJOXN.js b/scripts/EJObiSth3WdcJOXN.js index 79bf488..a98ecba 100644 --- a/scripts/EJObiSth3WdcJOXN.js +++ b/scripts/EJObiSth3WdcJOXN.js @@ -1,5 +1,5 @@ if (args.test.characteristicKey == "wp" && args.test.failed && args.test.result.SL <= -3) { - this.script.scriptNotification("Ajout de A Terre"); + this.script.scriptNotification("Adding Prone"); this.actor.addCondition("prone") } \ No newline at end of file diff --git a/scripts/EJaBfqADqlo92Fx6.js b/scripts/EJaBfqADqlo92Fx6.js index 1902c51..9fd2959 100644 --- a/scripts/EJaBfqADqlo92Fx6.js +++ b/scripts/EJaBfqADqlo92Fx6.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.oGbDwnLOn3isPJpO") let data = item.toObject(); -data.name += " (A déterminer)" +data.name += " (To Be Determined)" this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/ENGmwaItRXO5s0XY.js b/scripts/ENGmwaItRXO5s0XY.js index 8d8a308..0a79fa7 100644 --- a/scripts/ENGmwaItRXO5s0XY.js +++ b/scripts/ENGmwaItRXO5s0XY.js @@ -1,5 +1,5 @@ await this.actor.modifyWounds(this.actor.system.characteristics.t.bonus * 3) -this.script.scriptMessage(`Soigne ${this.actor.system.characteristics.t.bonus * 3} Blessures`) +this.script.scriptMessage(`Heals ${this.actor.system.characteristics.t.bonus * 3} Wounds`) this.actor.hasCondition("bleeding")?.delete() this.actor.hasCondition("fatigued")?.delete() diff --git a/scripts/ERxrWzSpw8qwxFVi.js b/scripts/ERxrWzSpw8qwxFVi.js index 6eb7ef4..e0eaff5 100644 --- a/scripts/ERxrWzSpw8qwxFVi.js +++ b/scripts/ERxrWzSpw8qwxFVi.js @@ -1 +1 @@ -this.script.scriptNotification(`Ne peut entrer ${this.effect.name}!`); this.actor.addCondition("broken"); \ No newline at end of file +this.script.scriptNotification(`Cannot enter ${this.effect.name}!`); this.actor.addCondition("broken"); \ No newline at end of file diff --git a/scripts/EdTChmSouS0MSmk5.js b/scripts/EdTChmSouS0MSmk5.js index a6566d8..b5c9aed 100644 --- a/scripts/EdTChmSouS0MSmk5.js +++ b/scripts/EdTChmSouS0MSmk5.js @@ -2,9 +2,9 @@ let test = await this.actor.setupCharacteristic("wp", {skipTargets: true, append await test.roll(); if (test.succeeded) { - this.script.scriptMessage("Peut effectuer une Action ou un Mouvement (en choisir un)") + this.script.scriptMessage("Can perform an Action or Move (choose one)") } else { - this.script.scriptMessage("Ne peut pas effectuer d'Action ou de Mouvement ce round") + this.script.scriptMessage("Cannot perform an Action or Move this round") } \ No newline at end of file diff --git a/scripts/EmmG49pMOPHRwDzR.js b/scripts/EmmG49pMOPHRwDzR.js index 2c59128..8c92354 100644 --- a/scripts/EmmG49pMOPHRwDzR.js +++ b/scripts/EmmG49pMOPHRwDzR.js @@ -1,8 +1,8 @@ let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) if (args.test.isFumble && roll == 1 && !args.test.result.misfire) { - args.test.result.misfire = game.i18n.localize("Misfire") + " (Résultat 1)" + args.test.result.misfire = game.i18n.localize("Misfire") + " (Rolled 1)" args.test.result.misfireDamage = eval(parseInt(args.test.result.roll.toString().split('').pop()) + args.test.item.Damage) } else if (args.test.isFumble && roll != 1) - args.test.result.other.push("Raté résultat: " + roll) + args.test.result.other.push("Misfire Roll: " + roll) diff --git a/scripts/F2u4L4o0r1LTWeWK.js b/scripts/F2u4L4o0r1LTWeWK.js index eafbde8..7f9ad7e 100644 --- a/scripts/F2u4L4o0r1LTWeWK.js +++ b/scripts/F2u4L4o0r1LTWeWK.js @@ -1,6 +1,6 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({text : "Enter Terror value", title : this.effect.name}); + let value = await ValueDialog.create("Enter Terror value", this.effect.name); if (value) { this.item.updateSource({"system.specification.value" : value}); diff --git a/scripts/FPYNcxm21678boLT.js b/scripts/FPYNcxm21678boLT.js index ccdea9e..f08a8e4 100644 --- a/scripts/FPYNcxm21678boLT.js +++ b/scripts/FPYNcxm21678boLT.js @@ -7,12 +7,12 @@ const targetId = this.effect.getFlag("wfrp4e", "target"); const target = canvas.scene.tokens.get(targetId); if (SL > 4) { - args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} a été obligé de lâcher çà ${target.name}.`); + args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} was forced to let go of ${target.name}.`); return await this.effect.delete(); } if (SL > 0) { - args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} a été empêché de presser ${target.name} pour un tour.`); + args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} was prevented from squeezing ${target.name} for one turn.`); let turns = this.effect.getFlag("wfrp4e", "turns"); this.effect.setFlag("wfrp4e", "turns", turns + 1); } \ No newline at end of file diff --git a/scripts/FSqUqSByMiztYOQM.js b/scripts/FSqUqSByMiztYOQM.js index 6d55901..5bf62e7 100644 --- a/scripts/FSqUqSByMiztYOQM.js +++ b/scripts/FSqUqSByMiztYOQM.js @@ -1,2 +1,2 @@ if (args.totalWoundLoss > 0) - this.script.scriptMessage(`Infecté: ${args.actor.name} doit réussir un Test de Résistance Facile (+40) ou recevoir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) \ No newline at end of file + this.script.scriptMessage(`Infected: ${args.actor.name} must pass an Easy (+40) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) \ No newline at end of file diff --git a/scripts/FXuyiJoXdAh6WhRK.js b/scripts/FXuyiJoXdAh6WhRK.js index dc55d15..6e7b684 100644 --- a/scripts/FXuyiJoXdAh6WhRK.js +++ b/scripts/FXuyiJoXdAh6WhRK.js @@ -1 +1 @@ -return args.skill?.name == "Chevaucher (Cheval)" && game.combat?.active \ No newline at end of file +return args.skill?.name == "Ride (Horse)" && game.combat?.active \ No newline at end of file diff --git a/scripts/FZFOC7bip0oiWEzk.js b/scripts/FZFOC7bip0oiWEzk.js index 9886f41..11e7cfd 100644 --- a/scripts/FZFOC7bip0oiWEzk.js +++ b/scripts/FZFOC7bip0oiWEzk.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.hitloc.value == this.item.system.location.key && args.totalWoundLoss > 0) { args.actor.addCondition("bleeding", 2); - this.script.scriptNotification("Ajout d'Hémorragie") + this.script.scriptNotification("Added Bleeding") } \ No newline at end of file diff --git a/scripts/FiD3mvWIBHNNIuO9.js b/scripts/FiD3mvWIBHNNIuO9.js index 6c38499..f9fadbe 100644 --- a/scripts/FiD3mvWIBHNNIuO9.js +++ b/scripts/FiD3mvWIBHNNIuO9.js @@ -3,6 +3,6 @@ if (args.opposedTest.result.hitloc.value == "body") if ((await new Roll("1d2").roll()).total == 1) { args.opposedTest.result.hitloc.value = "head" - this.script.scriptMessage(`Localisation changée : Tête`) + this.script.scriptMessage(`Hit location changed to Head`) } } \ No newline at end of file diff --git a/scripts/FqevMs0ukQ9WuUHl.js b/scripts/FqevMs0ukQ9WuUHl.js index 3c05bd9..d352c76 100644 --- a/scripts/FqevMs0ukQ9WuUHl.js +++ b/scripts/FqevMs0ukQ9WuUHl.js @@ -5,5 +5,5 @@ if (this.item.getFlag("wfrp4e", "brittle")) { ChatMessage.create({content: `${this.item.name} shatters!`}) - this.item.update({name : `${this.item.name} (Brisé)`}) + this.item.update({name : `${this.item.name} (Shattered)`}) } \ No newline at end of file diff --git a/scripts/FtZf56VI6Qsspu0D.js b/scripts/FtZf56VI6Qsspu0D.js index dddf87c..9ae4c74 100644 --- a/scripts/FtZf56VI6Qsspu0D.js +++ b/scripts/FtZf56VI6Qsspu0D.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpenter)'; const difficulty = 'difficult'; const target = 20; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/Fvlc4RkeF4dHjW3m.js b/scripts/Fvlc4RkeF4dHjW3m.js index 7b1ea9e..1fc9418 100644 --- a/scripts/Fvlc4RkeF4dHjW3m.js +++ b/scripts/Fvlc4RkeF4dHjW3m.js @@ -9,7 +9,7 @@ if (caster && (this.actor.has(game.i18n.localize("NAME.Undead")) || this.actor.h else { fromUuid("Compendium.wfrp4e-core.items.D0ImWEIMSDgElsnl").then(item => { this.actor.createEmbeddedDocuments("Item", [item.toObject()], { fromEffect: this.effect.id }) - ChatMessage.create({ content: `Ajout de Instable à ${this.actor.prototypeToken.name}`, speaker: { alias: caster.name } }) + ChatMessage.create({ content: `Added Unstable to ${this.actor.prototypeToken.name}`, speaker: { alias: caster.name } }) }) } } diff --git a/scripts/Fwk8WA8NfRivLFWJ.js b/scripts/Fwk8WA8NfRivLFWJ.js index 4aa2968..5073111 100644 --- a/scripts/Fwk8WA8NfRivLFWJ.js +++ b/scripts/Fwk8WA8NfRivLFWJ.js @@ -1 +1 @@ -return args.skill?.name === "Divertissement (Chant)"; \ No newline at end of file +return args.skill?.name === "Entertain (Singing)"; \ No newline at end of file diff --git a/scripts/G7sFEnJlXZvfXL3V.js b/scripts/G7sFEnJlXZvfXL3V.js index fe20e58..758b802 100644 --- a/scripts/G7sFEnJlXZvfXL3V.js +++ b/scripts/G7sFEnJlXZvfXL3V.js @@ -8,5 +8,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Aucun restant!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/GOq4TcnWbfyfCo2V.js b/scripts/GOq4TcnWbfyfCo2V.js index 72c7243..3a51404 100644 --- a/scripts/GOq4TcnWbfyfCo2V.js +++ b/scripts/GOq4TcnWbfyfCo2V.js @@ -1,7 +1,7 @@ this.script.scriptNotification(`Healed ${this.actor.characteristics.t.bonus * 2} Wounds`) await this.actor.modifyWounds(this.actor.characteristics.t.bonus * 2) -let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - Effets secondaires`,fields : {difficulty : "difficult"}}) +let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - Side Effects`,fields : {difficulty : "difficult"}}) await test.roll(); if (test.failed) { diff --git a/scripts/GRfCxtYzmEx2LYU7.js b/scripts/GRfCxtYzmEx2LYU7.js index 81769f5..dcc7340 100644 --- a/scripts/GRfCxtYzmEx2LYU7.js +++ b/scripts/GRfCxtYzmEx2LYU7.js @@ -4,6 +4,6 @@ if (args.totalWoundLoss >= 1) await roll.toMessage(this.script.getChatData()); if (roll.total == 9) { - this.script.scriptMessage(`Deux @UUID[Compendium.wfrp4e-eis.actors.iDy8SDTwJSlCzZMl]{Horreurs Bleues de Tzeentch} sortent de la chair hurlante de ${this.actor.name}, le tuant au passage.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Two @UUID[Compendium.wfrp4e-eis.actors.iDy8SDTwJSlCzZMl]{Blue Horror of Tzeentch} claw their way out of ${this.actor.name}'s screaming flesh, killing them in the process.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) } } \ No newline at end of file diff --git a/scripts/GjkxWj9wCAclM9WA.js b/scripts/GjkxWj9wCAclM9WA.js index d57eb59..6fefe6d 100644 --- a/scripts/GjkxWj9wCAclM9WA.js +++ b/scripts/GjkxWj9wCAclM9WA.js @@ -4,9 +4,9 @@ effects.splice(effects.length - 1); if (effects.length == 0) { - return this.script.scriptNotification("Tous les effets ont été utilisés. Les remettre à 0 pour les utiliser à nouveau") + return this.script.scriptNotification("All Effects have been used. Reset to select them again") } -let choice = await ItemDialog.create(effects, 1, "Choisissez le Pouvoir à gagner"); +let choice = await ItemDialog.create(effects, 1, "Choose Power to Gain"); if (choice[0]) { diff --git a/scripts/GsAyB5xnK3ASeoah.js b/scripts/GsAyB5xnK3ASeoah.js index 4b75fa2..d75b3ac 100644 --- a/scripts/GsAyB5xnK3ASeoah.js +++ b/scripts/GsAyB5xnK3ASeoah.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpentry)'; const difficulty = 'easy'; const target = 20; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/GzSFlqL1YrIK1dxh.js b/scripts/GzSFlqL1YrIK1dxh.js index 77201c3..1f5a252 100644 --- a/scripts/GzSFlqL1YrIK1dxh.js +++ b/scripts/GzSFlqL1YrIK1dxh.js @@ -7,7 +7,7 @@ let items = await Promise.all(["Compendium.wfrp4e-wom.items.Item.EjGYZ4CgX2jZW7O "Compendium.wfrp4e-wom.items.Item.CkMYRYCLrkMnyVm5", "Compendium.wfrp4e-wom.items.Item.0Xdm4r7l2EwC4fcg"].map(fromUuid)); -let choice = await game.wfrp4e.apps.ItemDialog.create(items, 1, "Sélectionner le Vent") +let choice = await game.wfrp4e.apps.ItemDialog.create(items, 1, "Select Wind") //this.actor.createEmbeddedDocuments("Item", items); this.item.update(choice[0]?.toObject(), {diff: false, recursive : false}); diff --git a/scripts/GzsuEg7gZy1f0ljy.js b/scripts/GzsuEg7gZy1f0ljy.js index 48f3dfe..3220372 100644 --- a/scripts/GzsuEg7gZy1f0ljy.js +++ b/scripts/GzsuEg7gZy1f0ljy.js @@ -1,10 +1,10 @@ let bleeding = this.actor.hasCondition("bleeding") if (bleeding) { - this.script.scriptNotification(`Suppression de ${bleeding.conditionValue} états Hémorragiques`) + this.script.scriptNotification(`Cleared ${bleeding.conditionValue} Bleeding Conditions`) bleeding.delete(); } else { - this.script.scriptNotification(`Aucune Hémorragie`) + this.script.scriptNotification(`No Bleeding Conditions`) } \ No newline at end of file diff --git a/scripts/H06Ysj7oPiemW7S6.js b/scripts/H06Ysj7oPiemW7S6.js index 518fffb..8c3872b 100644 --- a/scripts/H06Ysj7oPiemW7S6.js +++ b/scripts/H06Ysj7oPiemW7S6.js @@ -14,5 +14,5 @@ if (args.test.options.income && !args.test.options.criminal) let moneyString = `${moneyEarned}${coin}` let transactionString = `${moneyEarned}${term}` - this.script.scriptMessage(`Gain d'un supplément de ${game.wfrp4e.market.amountToString(game.wfrp4e.market.parseMoneyTransactionString(transactionString))}`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Earned an additional ${game.wfrp4e.market.amountToString(game.wfrp4e.market.parseMoneyTransactionString(transactionString))}`, {whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/H2CJvApKMnfGNNoo.js b/scripts/H2CJvApKMnfGNNoo.js index 39d38a9..60892cb 100644 --- a/scripts/H2CJvApKMnfGNNoo.js +++ b/scripts/H2CJvApKMnfGNNoo.js @@ -1,6 +1,6 @@ if (args.test.item?.type == "skill" && args.test.item.name.includes(game.i18n.localize("NAME.Stealth"))) { - args.test.result.description = "Echech Stupéfiant"; + args.test.result.description = "Astounding Failure"; args.test.result.outcome = "failure"; ChatMessage.create({content : "SQUEAK", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) AudioHelper.play({ src: `${game.settings.get("wfrp4e", "soundPath")}squeek.wav` }, true); diff --git a/scripts/H3pZ9UeIzIz3luKh.js b/scripts/H3pZ9UeIzIz3luKh.js index 70f99c0..c120317 100644 --- a/scripts/H3pZ9UeIzIz3luKh.js +++ b/scripts/H3pZ9UeIzIz3luKh.js @@ -2,4 +2,4 @@ args.actor.addCondition("bleeding") this.actor.setFlag("wfrp4e", "isAttached", args.actor.name) -this.script.scriptMessage(`Affecté à ${args.actor.name}`) \ No newline at end of file +this.script.scriptMessage(`Attaches to ${args.actor.name}`) \ No newline at end of file diff --git a/scripts/H85k4L3yICm7cfIk.js b/scripts/H85k4L3yICm7cfIk.js index 5a12712..57f847c 100644 --- a/scripts/H85k4L3yICm7cfIk.js +++ b/scripts/H85k4L3yICm7cfIk.js @@ -1,5 +1,5 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; -const test = 'Voile'; +const repaired_message = `

Finished repairing ${this.item.name}.

`; +const test = 'Sail'; const difficulty = 'easy'; const target = 10; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/HASsi6wYHVALExWq.js b/scripts/HASsi6wYHVALExWq.js index 7b94541..93a5c23 100644 --- a/scripts/HASsi6wYHVALExWq.js +++ b/scripts/HASsi6wYHVALExWq.js @@ -1,13 +1,13 @@ -let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "1 Point de Corruption Point gagné" } }) +let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "1 Corruption Point Gained" } }) await test.roll(); if (test.failed && args.actor.type == "character") { let msg = "" - msg += `

${this.actor.prototypeToken.name} gagne 1 Point de Corruption

` + msg += `

${this.actor.prototypeToken.name} gained a Corruption point

` if (test.result.roll % 11 == 0 || test.result.roll == 100) { - msg += `${args.actor.prototypeToken.name} gagne une mutation (@Table[expandedmutatephys]{Physique} ou @Table[expandedmutatemental]{Mentale}) et gagne @UUID[Compendium.wfrp4e-core.items.hiU7vhBOVpVI8c7C]{Magie du Chaos (Tzeentch)}` + msg += `${args.actor.prototypeToken.name} gains a mutation (@Table[expandedmutatephys]{Physical} or @Table[expandedmutatemental]{Mental}) and gains @UUID[Compendium.wfrp4e-core.items.hiU7vhBOVpVI8c7C]{Chaos Magic (Tzeentch)}` } this.script.scriptMessage(msg, {whisper : ChatMessage.getWhisperRecipients("GM")}) await this.actor.update({ "system.status.corruption.value": parseInt(args.actor.status.corruption.value) + 1 }) diff --git a/scripts/HJ2X4ZtXei0BXbxf.js b/scripts/HJ2X4ZtXei0BXbxf.js index 12d88ba..9042978 100644 --- a/scripts/HJ2X4ZtXei0BXbxf.js +++ b/scripts/HJ2X4ZtXei0BXbxf.js @@ -1,9 +1,19 @@ - let choices = await Promise.all([warhammer.utility.findItemId("PzimjNx9Ojq4g6mV"), warhammer.utility.findItemId("rOPmyLWa37e7s9v6")]) - let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choisissez a Skill") + let choices = await Promise.all([game.wfrp4e.utility.findItemId("PzimjNx9Ojq4g6mV"), game.wfrp4e.utility.findItemId("rOPmyLWa37e7s9v6")]) + let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choose a Skill") items = items.map(i => i.toObject()) items.forEach(i => i.system.advances.value = 20) -items.forEach(i => i.system.equipped.value = true;) +items.forEach(i => equip(i)) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.data.worn.value = true + else if (item.type == "weapon") + item.data.equipped = true + else if (item.type == "trapping" && item.data.trappingType.value == "clothingAccessories") + item.data.worn = true +} \ No newline at end of file diff --git a/scripts/HMC6hPND9DWLFfZE.js b/scripts/HMC6hPND9DWLFfZE.js index 61a0bb8..b975613 100644 --- a/scripts/HMC6hPND9DWLFfZE.js +++ b/scripts/HMC6hPND9DWLFfZE.js @@ -12,16 +12,16 @@ let index = game.packs return i }) -let choice = await ItemDialog.create(index, 1, "Choisir un Savoir") +let choice = await ItemDialog.create(index, 1, "Choose a Lore") let text; if (!choice[0]) { let custom = await Dialog.wait({ - title : "Saisir le savoir", + title : "Enter Lore", content : "", buttons : { confirm : { - label : game.i18n.localize("Confirmer"), + label : game.i18n.localize("Confirm"), callback : (dlg) => { return dlg.find("input")[0].value } diff --git a/scripts/HUKzssLxeQo1wbx9.js b/scripts/HUKzssLxeQo1wbx9.js index e1129c3..f0ea092 100644 --- a/scripts/HUKzssLxeQo1wbx9.js +++ b/scripts/HUKzssLxeQo1wbx9.js @@ -1,9 +1,11 @@ -let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), { fields: { difficulty: "average" }, appendTitle: " - - Blessé" }) -await test.roll(); -if (test.failed) { - fromUuid("Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb").then(disease => { - this.actor.createEmbeddedDocuments("Item", [disease.toObject()]) - this.script.scriptNotification("Gain de " + disease.name) - }) -} + let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields: {difficulty : "average"}, appendTitle : " - Wounded"}) + await test.roll(); + if (test.failed) + { + fromUuid("Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb").then(disease => { + this.actor.createEmbeddedDocuments("Item", [disease.toObject()]) + this.script.scriptNotification("Gained " + disease.name) + }) + } + \ No newline at end of file diff --git a/scripts/HYrl5aNMm8BAdqH7.js b/scripts/HYrl5aNMm8BAdqH7.js index 2a4f990..b628745 100644 --- a/scripts/HYrl5aNMm8BAdqH7.js +++ b/scripts/HYrl5aNMm8BAdqH7.js @@ -1,7 +1,8 @@ -let modifier = 0 -if (this.effect.name.includes("Moderate")) - modifier = -20 -else - modifier = -10 -args.fields.modifier += modifier + let modifier = 0 + if (this.effect.name.includes("Moderate")) + modifier = -20 + else + modifier = -10 + args.fields.modifier += modifier + \ No newline at end of file diff --git a/scripts/Hcpn1gU58DIKIhty.js b/scripts/Hcpn1gU58DIKIhty.js index 2ae5ada..6d5917a 100644 --- a/scripts/Hcpn1gU58DIKIhty.js +++ b/scripts/Hcpn1gU58DIKIhty.js @@ -1,4 +1,4 @@ -if (args.item.type == "skill" && args.item.name == "Corps à corps (Fléau)") +if (args.item.type == "skill" && args.item.name == "Melee (Flail)") { args.item.system.modifier.value += 10; } \ No newline at end of file diff --git a/scripts/HmImVzvw6ecBy99l.js b/scripts/HmImVzvw6ecBy99l.js index efbb97e..1731116 100644 --- a/scripts/HmImVzvw6ecBy99l.js +++ b/scripts/HmImVzvw6ecBy99l.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.hitloc.value == "body" && args.totalWoundLoss > 0) { args.actor.addCondition("bleeding", 2) - this.script.scriptNotification("Ajout Hémorragique") + this.script.scriptNotification("Added Bleeding") } \ No newline at end of file diff --git a/scripts/HoNTnPphrJISSQr1.js b/scripts/HoNTnPphrJISSQr1.js index 16e1ae6..ae73e8e 100644 --- a/scripts/HoNTnPphrJISSQr1.js +++ b/scripts/HoNTnPphrJISSQr1.js @@ -1 +1 @@ -ChatMessage.create({content : "Parle et fais toi connaître", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) \ No newline at end of file +ChatMessage.create({content : "Speak and be known to me", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) \ No newline at end of file diff --git a/scripts/HrOBAXsEX073ReKl.js b/scripts/HrOBAXsEX073ReKl.js index e799170..89b90d3 100644 --- a/scripts/HrOBAXsEX073ReKl.js +++ b/scripts/HrOBAXsEX073ReKl.js @@ -1,11 +1,11 @@ -let skill = `${game.i18n.localize("NAME.Entertain")} (${game.i18n.localize("SPEC.Singing")})`; +let skill = `Entertain (Singing)` let currentCareer = this.actor.system.currentCareer; let existingSkill = this.actor.itemTypes.skill.find(i => i.name == skill); if (!currentCareer) return -let inCurrentCareer = currentCareer.system.skills.concat(currentCareer.system.addedSkills).includes(skill); +let inCurrentCareer = currentCareer.system.skills.includes(skill); let perfectPitchAdded = this.actor.getFlag("wfrp4e", "perfectPitchAdded") || {}; if (existingSkill && inCurrentCareer && !perfectPitchAdded[existingSkill.name]) { @@ -14,8 +14,8 @@ if (existingSkill && inCurrentCareer && !perfectPitchAdded[existingSkill.name]) else { perfectPitchAdded[skill] = true; - currentCareer.system.addedSkills.push(skill); - foundry.utils.setProperty(this.actor, "flags.wfrp4e.perfectPitchAdded", perfectPitchAdded) + currentCareer.system.skills.push(skill); + setProperty(this.actor, "flags.wfrp4e.perfectPitchAdded", perfectPitchAdded) } diff --git a/scripts/I1J2m5uud84N50Lk.js b/scripts/I1J2m5uud84N50Lk.js index d395232..5f22ef9 100644 --- a/scripts/I1J2m5uud84N50Lk.js +++ b/scripts/I1J2m5uud84N50Lk.js @@ -1,6 +1,6 @@ if (["cast", "channelling", "pray"].includes(args.type)) { args.abort = true; - this.script.scriptNotification("Impossible d'incanter un Sort ou d'utiliser un Prière"); + this.script.scriptNotification("Cannot cast Spells or use Prayers"); } else return true; \ No newline at end of file diff --git a/scripts/I9QAPKbaXwMMMBT4.js b/scripts/I9QAPKbaXwMMMBT4.js index 9e6f662..99b5ec4 100644 --- a/scripts/I9QAPKbaXwMMMBT4.js +++ b/scripts/I9QAPKbaXwMMMBT4.js @@ -8,7 +8,7 @@ if(test.failed) if(secondTest.failed) { this.effect.updateSource({name : "Taste of Death"}) - await this.actor.addCondition("fatigued"); + await this.actor.addCondition("fatigued"); } else { diff --git a/scripts/IAGla7HJlYN0wa4H.js b/scripts/IAGla7HJlYN0wa4H.js index 0a26102..5840592 100644 --- a/scripts/IAGla7HJlYN0wa4H.js +++ b/scripts/IAGla7HJlYN0wa4H.js @@ -3,6 +3,6 @@ if (args.test.characteristicKey == "wp") if (args.test.failed) { this.actor.addSystemEffect("convulsions") - this.script.scriptMessage(`Test de Force Mentale échoué, ${this.actor.prototypeToken.name} subit des @Symptom[Convulsions] pour [[1d10]] heures`) + this.script.scriptMessage(`Willpower Test failed, ${this.actor.prototypeToken.name} gains @Symptom[Convulsions] for [[1d10]] hours`) } } \ No newline at end of file diff --git a/scripts/IPPDvZdE8kn3H9z7.js b/scripts/IPPDvZdE8kn3H9z7.js index 624ce26..a78deea 100644 --- a/scripts/IPPDvZdE8kn3H9z7.js +++ b/scripts/IPPDvZdE8kn3H9z7.js @@ -1,4 +1,4 @@ -let test = await this.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); +let test = await this.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); await test.roll(); if (test.failed) diff --git a/scripts/IR5URcjnCuWBFMoN.js b/scripts/IR5URcjnCuWBFMoN.js index 27b41b0..69ed22a 100644 --- a/scripts/IR5URcjnCuWBFMoN.js +++ b/scripts/IR5URcjnCuWBFMoN.js @@ -5,8 +5,8 @@ let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fi await test.roll() if (test.failed) { - this.script.scriptMessage(`

${this.actor.prototypeToken.name} Jo ne remarque rien d'anormal si ce n'est qu'ils se fatiguent un peu plus tôt que d'habitude. À ce stade, il est encore possible de sauver la victime via un antidote puissant ou des moyens magiques.

-

Cependant, une fois qu’ils s’endorment, c’est presque impossible. À ce stade, la victime doit effectuer un test d'Endurance difficile (-20). S'il échoue, il ne se réveille jamais.

`, + this.script.scriptMessage(`

${this.actor.prototypeToken.name} notices nothing amiss save that they become tired a little earlier than usual. At this point it is still possible to save the victim via a powerful antidote or magical means.

+

Once they fall asleep however, it is almost impossible. At this point the victim must make a Hard (-20) Endurance Test. If they fail, they never awaken.

`, { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true diff --git a/scripts/IrkWq7IiFS65bTvC.js b/scripts/IrkWq7IiFS65bTvC.js index 0b5a84a..d775da2 100644 --- a/scripts/IrkWq7IiFS65bTvC.js +++ b/scripts/IrkWq7IiFS65bTvC.js @@ -2,6 +2,6 @@ if (this.actor.flags.holed.half !== true) return; if (this.actor.flags.holed.reminded === true) return; const speaker = ChatMessage.getSpeaker({actor: this.actor}); -this.script.scriptMessage(`

${speaker.alias} tombe lourdements dans l'eau. A moins que la cargaison soit étanche, elle perd [[d10]]% de sa valeur.

`); +this.script.scriptMessage(`

${speaker.alias} sits heavily in the water. Unless the cargo is waterproof, it loses [[d10]]% of its value.

`); this.actor.flags.holed.reminded = true; \ No newline at end of file diff --git a/scripts/IslMfFgpgQq2brpu.js b/scripts/IslMfFgpgQq2brpu.js index 4621a38..02c913e 100644 --- a/scripts/IslMfFgpgQq2brpu.js +++ b/scripts/IslMfFgpgQq2brpu.js @@ -1,5 +1,5 @@ if (this.actor.hasCondition("broken")) { this.actor.removeCondition("broken") - this.script.scriptNotification(`Impossible de supprimer l'état Brisé`); + this.script.scriptNotification(`Cannot have Broken`); } \ No newline at end of file diff --git a/scripts/IupskvzvoGyD2H5o.js b/scripts/IupskvzvoGyD2H5o.js index c0fa0e1..2677352 100644 --- a/scripts/IupskvzvoGyD2H5o.js +++ b/scripts/IupskvzvoGyD2H5o.js @@ -3,29 +3,20 @@ if (this.actor.type != "character") return; } -let god = await ValueDialog.create({text : "Enter a Deity", title : "Blessed"}) +let god = await ValueDialog.create("Enter a Deity", "Blessed") if (god) { let prayers = await warhammer.utility.findAllItems("prayer", "Loading Prayers") let blessings = prayers.filter(p => p.system.god.value.split(",").map(i => i.trim().toLowerCase()).includes(god.toLowerCase()) && p.system.type.value == "blessing") - let godBlessings = game.wfrp4e.config.godBlessings[god.toLowerCase()] || []; - if (god == "Old Faith") - { - blessings = await ItemDialog.create(prayers.filter(i => i.system.type.value == "blessing"), 6, {text : "Select any 6 Blessings", title : "Blessed"}) - } - if (godBlessings.length) - { - blessings = blessings.concat(await Promise.all(godBlessings.filter(bls => !(blessings.map(i => i.uuid).includes(bls.uuid))).map(fromUuid))); - } if (blessings.length) { - this.script.notification("Adding " + blessings.map(i => i.name).join(", ")) + this.script.scriptNotification("Adding " + blessings.map(i => i.name).join(", ")) await this.actor.createEmbeddedDocuments("Item", blessings, {fromEffect : this.effect.id}) } else { - this.script.notification(`Impossible de trouver any Blessings associated with ${god}.`) + this.script.scriptNotification(`Could not find any Blessings associated with ${god}.`) } this.item.updateSource({name : this.item.name.replace("Any", god)}) await this.actor.update({"system.details.god.value": god}) diff --git a/scripts/IzoOmDywGLqLNljN.js b/scripts/IzoOmDywGLqLNljN.js index 8a5b8ac..2dd5130 100644 --- a/scripts/IzoOmDywGLqLNljN.js +++ b/scripts/IzoOmDywGLqLNljN.js @@ -5,7 +5,7 @@ let existingSkill = this.actor.itemTypes.skill.find(i => i.name == skill); if (!currentCareer) return -let inCurrentCareer = currentCareer.system.skills.concat(currentCareer.system.addedSkills).includes(skill); +let inCurrentCareer = currentCareer.system.skills.includes(skill); let witchAdded = actor.getFlag("wfrp4e", "witchAdded") || {}; if (existingSkill && inCurrentCareer && !witchAdded[existingSkill.name]) { @@ -14,6 +14,6 @@ if (existingSkill && inCurrentCareer && !witchAdded[existingSkill.name]) else { witchAdded[skill] = true; - currentCareer.system.addedSkills.push(skill); - foundry.utils.setProperty(this.actor, "flags.wfrp4e.witchAdded", witchAdded) + currentCareer.system.skills.push(skill); + setProperty(this.actor, "flags.wfrp4e.witchAdded", witchAdded) } \ No newline at end of file diff --git a/scripts/J0IWUhxada2ONowP.js b/scripts/J0IWUhxada2ONowP.js index 29356a0..aec5a9d 100644 --- a/scripts/J0IWUhxada2ONowP.js +++ b/scripts/J0IWUhxada2ONowP.js @@ -1 +1 @@ - return args.skill?.name == "Divertissement (Chant)" || args.skill?.name == "Divertissement (Chanter)" || (args.skill?.name.includes("Langue") && (args.skill?.name.includes("Magick") || args.skill?.name.includes("Elthárin") || args.skill?.name.includes("Cathayan"))) \ No newline at end of file + return args.skill?.name == "Entertain (Sing)" || args.skill?.name == "Entertain (Singing)" || (args.skill?.name.includes("Language") && (args.skill?.name.includes("Magick") || args.skill?.name.includes("Elthárin") || args.skill?.name.includes("Cathayan"))) \ No newline at end of file diff --git a/scripts/JQruHprM5R5vZ9DA.js b/scripts/JQruHprM5R5vZ9DA.js index 7506452..ae80286 100644 --- a/scripts/JQruHprM5R5vZ9DA.js +++ b/scripts/JQruHprM5R5vZ9DA.js @@ -3,8 +3,8 @@ if (caster) { let healed= caster.system.characteristics.wp.bonus + caster.system.characteristics.int.bonus await this.actor.modifyWounds(healed); - this.script.scriptMessage(`${this.actor.prototypeToken.name} guéri ${healed} Blessures`) + this.script.scriptMessage(`${this.actor.prototypeToken.name} regains ${healed} Wounds`) } - let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields : {difficulty : "vhard"}, context : {success : "1 Point de Corruption gagné durant la dernière heure doit être supprimé.", failure: "Rien ne se passe"}}) + let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields : {difficulty : "vhard"}, context : {success : "1 Corruption point that was gained within the last hour is removed.", failure: "Nothing happens"}}) await test.roll(); \ No newline at end of file diff --git a/scripts/JXBUE0XuJOJNG7zE.js b/scripts/JXBUE0XuJOJNG7zE.js index ffd727d..de285b5 100644 --- a/scripts/JXBUE0XuJOJNG7zE.js +++ b/scripts/JXBUE0XuJOJNG7zE.js @@ -7,12 +7,12 @@ let options = { characteristic: 'wp', } -let test = await args.actor.setupSkill('Calme', options); +let test = await args.actor.setupSkill('Cool', options); await test.roll(); if (!test.succeeded) { const targetId = this.effect.getFlag("wfrp4e", "target"); const target = canvas.scene.tokens.get(targetId); await this.effect.delete(); - args.extraMessages.push(`${args.actor.name} perd ${args.totalWoundLoss} Blessures de l'attaque, ce qui l'a amené à lâcher prise ${target.name}.`); + args.extraMessages.push(`${args.actor.name} lost ${args.totalWoundLoss} Wounds to an attack, which caused it to let go of ${target.name}.`); } \ No newline at end of file diff --git a/scripts/JeThJbOf6Xmbtgo1.js b/scripts/JeThJbOf6Xmbtgo1.js index 8147600..8125581 100644 --- a/scripts/JeThJbOf6Xmbtgo1.js +++ b/scripts/JeThJbOf6Xmbtgo1.js @@ -1,6 +1,6 @@ this.script.scriptMessage(await this.actor.applyBasicDamage(8 + parseInt(this.effect.sourceTest.result.SL), {suppressMsg : true})) -let test = await this.actor.setupSkill("Athlétisme", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) +let test = await this.actor.setupSkill("Athletics", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) await test.roll(); if (test.failed) { diff --git a/scripts/JhbZWZhOJ23yOBmG.js b/scripts/JhbZWZhOJ23yOBmG.js index 17dca1d..3f7c65c 100644 --- a/scripts/JhbZWZhOJ23yOBmG.js +++ b/scripts/JhbZWZhOJ23yOBmG.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpentry)'; const difficulty = 'hard'; const target = 30; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/Jjq3oPYbI26zjxME.js b/scripts/Jjq3oPYbI26zjxME.js index c980ba0..dcf1d23 100644 --- a/scripts/Jjq3oPYbI26zjxME.js +++ b/scripts/Jjq3oPYbI26zjxME.js @@ -6,7 +6,7 @@ if (location) if (dropped.length) { - this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); @@ -16,6 +16,6 @@ if (location) let roll = await new Roll("1d10").roll() -roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Durée)`})); +roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Duration)`})); this.effect.updateSource({"duration.rounds" : roll.total}) \ No newline at end of file diff --git a/scripts/Jk7OHqx06oCUVAzb.js b/scripts/Jk7OHqx06oCUVAzb.js index addba15..44fed7e 100644 --- a/scripts/Jk7OHqx06oCUVAzb.js +++ b/scripts/Jk7OHqx06oCUVAzb.js @@ -1 +1 @@ -return !["Langue (Magick)", "Focalisation (Hysh)"].includes(args.skill?.name) \ No newline at end of file +return !["Language (Magick)", "Channelling (Hysh)"].includes(args.skill?.name) \ No newline at end of file diff --git a/scripts/JmZQRvdWjm9ykYfn.js b/scripts/JmZQRvdWjm9ykYfn.js index 55372ed..90d6edc 100644 --- a/scripts/JmZQRvdWjm9ykYfn.js +++ b/scripts/JmZQRvdWjm9ykYfn.js @@ -1,5 +1,5 @@ if (this.actor.hasCondition("surprised")) { this.actor.removeCondition("surprised") - this.script.scriptMessage(`Ne peut être surpris`); + this.script.scriptMessage(`Cannot be Surprised`); } \ No newline at end of file diff --git a/scripts/Jnp5c09sPzDD61EK.js b/scripts/Jnp5c09sPzDD61EK.js index f535a69..e9e5662 100644 --- a/scripts/Jnp5c09sPzDD61EK.js +++ b/scripts/Jnp5c09sPzDD61EK.js @@ -1,3 +1,3 @@ -this.script.scriptNotification(`${args.actor.prototypeToken.name} doit réussir un Test Accessible (+20) de Force Mentale pour attaquer cette cible!`) +this.script.scriptNotification(`${args.actor.prototypeToken.name} must pass an Average (+20) Willpower Test to attack this target!`) return true; // No need to show this in the dialog \ No newline at end of file diff --git a/scripts/KGK9vL1Yl0qmCeCN.js b/scripts/KGK9vL1Yl0qmCeCN.js index d6ac347..78b37da 100644 --- a/scripts/KGK9vL1Yl0qmCeCN.js +++ b/scripts/KGK9vL1Yl0qmCeCN.js @@ -1,19 +1,19 @@ let specification = this.item.system.specification.value; let choice = []; -if (!specification || specification == "Compétences entraînées") +if (!specification || specification == "Trained Skills") { choice = await ItemDialog.create(ItemDialog.objectToArray({ - broken: "Dompté", - drive: "Trait", - entertain: "Divertir", - fetch: "Rapporter", - guard: "Garder", - home: "Revenir à la maison", - magic: "Magie", - mount: "Monture", - war: "Guerre" - }, this.effect.img), "unlimited", "Choisissez un Dressage"); + broken: "Broken", + drive: "Drive", + entertain: "Entertain", + fetch: "Fetch", + guard: "Guard", + home: "Home", + magic: "Magic", + mount: "Mount", + war: "War" + }, this.effect.img), "unlimited", "Choose Training"); } else { diff --git a/scripts/KICZPwLvbUSxbDrE.js b/scripts/KICZPwLvbUSxbDrE.js index e693a87..30a0d6f 100644 --- a/scripts/KICZPwLvbUSxbDrE.js +++ b/scripts/KICZPwLvbUSxbDrE.js @@ -1,7 +1,7 @@ let table = game.wfrp4e.tables.findTable("mutatemental"); if (!table) { - ui.notifications.error("Impossible de trouver la table des Mutations Mentales") + ui.notifications.error("Cannot find table with key: mutatemental") } let result = (await table.roll()).results[0]; let uuid = `Compendium.${result.documentCollection}.${result.documentId}` @@ -14,5 +14,5 @@ if (item) } else { - ui.notifications.error("Impossible de trouver l'item: " + uuid) + ui.notifications.error("Item could not be found: " + uuid) } \ No newline at end of file diff --git a/scripts/KIoVBinAZK8sMOqD.js b/scripts/KIoVBinAZK8sMOqD.js index 7c082bd..072c254 100644 --- a/scripts/KIoVBinAZK8sMOqD.js +++ b/scripts/KIoVBinAZK8sMOqD.js @@ -5,7 +5,7 @@ { fromUuid("Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb").then(disease => { this.actor.createEmbeddedDocuments("Item", [disease.toObject()]) - this.script.scriptNotification("Gain de " + disease.name) + this.script.scriptNotification("Gained " + disease.name) }) } \ No newline at end of file diff --git a/scripts/KPQfupKuaf4LCv4R.js b/scripts/KPQfupKuaf4LCv4R.js index 611bcef..9dcc016 100644 --- a/scripts/KPQfupKuaf4LCv4R.js +++ b/scripts/KPQfupKuaf4LCv4R.js @@ -1,2 +1,2 @@ -const talents = await Promise.all(["Intrigant", "Seconde Vue"].map(game.wfrp4e.utility.findTalent)) +const talents = await Promise.all(["Schemer", "Second Sight"].map(game.wfrp4e.utility.findTalent)) this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/KQzbrpb0T5a7it4k.js b/scripts/KQzbrpb0T5a7it4k.js index d07b192..1620dd8 100644 --- a/scripts/KQzbrpb0T5a7it4k.js +++ b/scripts/KQzbrpb0T5a7it4k.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.Item.vMYEkrWj0ip6ZOdv"); let data = item.toObject(); -data.name += ` (Maladie)`; +data.name += ` (Disease)`; this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) \ No newline at end of file diff --git a/scripts/KkjkYAGI9Em1NgiQ.js b/scripts/KkjkYAGI9Em1NgiQ.js index 8ae39d2..1790282 100644 --- a/scripts/KkjkYAGI9Em1NgiQ.js +++ b/scripts/KkjkYAGI9Em1NgiQ.js @@ -10,10 +10,10 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Test de Guérison échoué!", "error") + this.script.scriptNotification("Heal Test failed!", "error") } } else { - this.script.scriptNotification("Quantité insuffisante!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/KmngDrPD72xn22kZ.js b/scripts/KmngDrPD72xn22kZ.js index 2365538..331fdca 100644 --- a/scripts/KmngDrPD72xn22kZ.js +++ b/scripts/KmngDrPD72xn22kZ.js @@ -1,11 +1,11 @@ if (this.actor.Species.toLowerCase() != "skaven") { - this.actor.setupCharacteristic("t", {skipTargets: true, appendTitle : ` - Utilise ${this.effect.name}`, fields: { difficulty: "difficult" } }).then(async test => { + this.actor.setupCharacteristic("t", {skipTargets: true, appendTitle : ` - Used ${this.effect.name}`, fields: { difficulty: "difficult" } }).then(async test => { await test.roll() if (test.failed) { let toughnessLost = Math.ceil(CONFIG.Dice.randomUniform() * 10) this.actor.update({ "system.characteristics.t.initial": this.actor.characteristics.t.initial - toughnessLost }) - this.script.scriptMessage(`${this.actor.prototypeToken.name} perd ${toughnessLost} points d'Endurance`) + this.script.scriptMessage(`${this.actor.prototypeToken.name} lost ${toughnessLost} Toughness`) } }) } \ No newline at end of file diff --git a/scripts/LQEWSN5KnHHATPsf.js b/scripts/LQEWSN5KnHHATPsf.js index c6e73b1..bd8c028 100644 --- a/scripts/LQEWSN5KnHHATPsf.js +++ b/scripts/LQEWSN5KnHHATPsf.js @@ -1,4 +1,4 @@ if (args.totalWoundLoss > 0) { - this.script.scriptMessage(`${args.actor.name} doit réussir un Test Facile (+40) d'Endurance ou subir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`${args.actor.name} must pass an Easy (+40) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/LyAK0dVDS5L09yq2.js b/scripts/LyAK0dVDS5L09yq2.js index 7f19beb..e8b817a 100644 --- a/scripts/LyAK0dVDS5L09yq2.js +++ b/scripts/LyAK0dVDS5L09yq2.js @@ -5,5 +5,5 @@ if (caster) let bonus = caster.system.characteristics.wp.bonus this.actor.modifyWounds(bonus) - this.script.scriptMessage(`${this.actor.prototypeToken.name} récupère ${bonus} Blessures`) + this.script.scriptMessage(`${this.actor.prototypeToken.name} regains ${bonus} Wounds`) } \ No newline at end of file diff --git a/scripts/M0XhKnWjG14pk3iH.js b/scripts/M0XhKnWjG14pk3iH.js index 202036f..1431d31 100644 --- a/scripts/M0XhKnWjG14pk3iH.js +++ b/scripts/M0XhKnWjG14pk3iH.js @@ -1 +1 @@ -return !args.skill?.name.includes("Focalisation") && args.type != "channelling" && args.skill?.name != game.i18n.localize("NAME.Charm") && !args.skill?.name.includes("Langue (Magick)") && args.type != "cast" \ No newline at end of file +return !args.skill?.name.includes("Channelling") && args.type != "channelling" && args.skill?.name != game.i18n.localize("NAME.Charm") && !args.skill?.name.includes("Language (Magick)") && args.type != "cast" \ No newline at end of file diff --git a/scripts/M5bh0heeafA2fQQ8.js b/scripts/M5bh0heeafA2fQQ8.js index bcd4d8e..3583c70 100644 --- a/scripts/M5bh0heeafA2fQQ8.js +++ b/scripts/M5bh0heeafA2fQQ8.js @@ -2,7 +2,7 @@ if (args.test.spell?.getFlag("wfrp4e", "boonOfTzeentch")) { if (args.test.result.minormis || args.test.result.majormis || args.test.result.catastrophicmis) { - this.script.scriptMessage(`${this.effect.name} s'efface de votre esprit et s'efface de votre grimoire !`) + this.script.scriptMessage(`${this.effect.name} quits your mind in disgust and erases itself from your grimoire!`) this.effect.sourceItem.delete(); } } \ No newline at end of file diff --git a/scripts/MDLttXplnNthncGr.js b/scripts/MDLttXplnNthncGr.js index 950f0b7..b7a08ee 100644 --- a/scripts/MDLttXplnNthncGr.js +++ b/scripts/MDLttXplnNthncGr.js @@ -1 +1 @@ -return args.type == "cast" && ["mort", "nécromancie", "vie", "lumière", "cieux"].includes(args.spell?.system.lore.value) \ No newline at end of file +return args.type == "cast" && ["death", "necromancy", "life", "light", "heavens"].includes(args.spell?.system.lore.value) \ No newline at end of file diff --git a/scripts/MMv2B8TH7jxNCtdl.js b/scripts/MMv2B8TH7jxNCtdl.js index 1bdc6d1..a366058 100644 --- a/scripts/MMv2B8TH7jxNCtdl.js +++ b/scripts/MMv2B8TH7jxNCtdl.js @@ -1,44 +1,52 @@ let actor = this.actor; -let effect = this.effect; -let bleedingAmt; -let bleedingRoll; -let msg = "" + let effect = this.effect; + let bleedingAmt; + let bleedingRoll; + let msg = "" -let damage = effect.conditionValue; -let scriptArgs = { msg, damage }; -await Promise.all(actor.runScripts("preApplyCondition", { effect, data: scriptArgs })) -msg = scriptArgs.msg; -damage = scriptArgs.damage; -msg += await actor.applyBasicDamage(damage, { damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne: false, suppressMsg: true }) + let damage = effect.conditionValue; + let scriptArgs = {msg, damage}; + await Promise.all(actor.runScripts("preApplyCondition", {effect, data : scriptArgs})) + msg = scriptArgs.msg; + damage = scriptArgs.damage; + msg += await actor.applyBasicDamage(damage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne : false, suppressMsg : true}) -if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) { - await actor.addCondition("unconscious") - msg += "
" + game.i18n.format("BleedUnc", { name: actor.prototypeToken.name }) -} + if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) + { + await actor.addCondition("unconscious") + msg += "
" + game.i18n.format("BleedUnc", {name: actor.prototypeToken.name }) + } -if (actor.hasCondition("unconscious")) { - bleedingAmt = effect.conditionValue; - bleedingRoll = (await new Roll("1d100").roll()).total; - if (bleedingRoll <= bleedingAmt * 10) { - msg += "
" + game.i18n.format("BleedFail", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; - await actor.addCondition("dead") - } - else if (bleedingRoll % 11 == 0) { - msg += "
" + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" - await actor.removeCondition("bleeding") - } - else { - msg += "
" + game.i18n.localize("BleedRoll") + ": " + bleedingRoll; - } -} + if (actor.hasCondition("unconscious")) + { + bleedingAmt = effect.conditionValue; + bleedingRoll = (await new Roll("1d100").roll()).total; + if (bleedingRoll <= bleedingAmt * 10) + { + msg += "
" + game.i18n.format("BleedFail", {name: actor.prototypeToken.name}) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; + await actor.addCondition("dead") + } + else if (bleedingRoll % 11 == 0) + { + msg += "
" + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name } ) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" + await actor.removeCondition("bleeding") + } + else + { + msg += "
" + game.i18n.localize("BleedRoll") + ": " + bleedingRoll; + } + } -await Promise.all(actor.runScripts("applyCondition", { effect, data: { bleedingRoll } })) -if (args.suppressMessage) { - let messageData = game.wfrp4e.utility.chatDataSetup(msg); - messageData.speaker = { alias: this.effect.name } - messageData.flavor = this.effect.name; - return messageData -} -else { - return this.script.scriptMessage(msg) -} + await Promise.all(actor.runScripts("applyCondition", {effect, data : {bleedingRoll}})) + if (args.suppressMessage) + { + let messageData = game.wfrp4e.utility.chatDataSetup(msg); + messageData.speaker = {alias: this.effect.name} + messageData.flavor = this.effect.name; + return messageData + } + else + { + return this.script.scriptMessage(msg) + } + \ No newline at end of file diff --git a/scripts/Me1wS5XdqUEy7OGt.js b/scripts/Me1wS5XdqUEy7OGt.js index ff366cb..42fc77d 100644 --- a/scripts/Me1wS5XdqUEy7OGt.js +++ b/scripts/Me1wS5XdqUEy7OGt.js @@ -2,4 +2,4 @@ let loc = (await game.wfrp4e.tables.rollTable("hitloc")).result; let critTable = `crit${this.generalizeTable(loc)`; let crit = (await game.wfrp4e.tables.rollTable(critTable)).result; -this.script.scriptMessage(`{this.actor.name} subit un ${crit} (localisation : ${loc}). Ne pas appliquer d'Hemmoragie ou de Blessures additionnelles.`); \ No newline at end of file +this.script.scriptMessage(`{this.actor.name} suffers a ${crit} (location : ${loc}). Do not apply bleeding or any additonnal wounds.`); \ No newline at end of file diff --git a/scripts/MfxWXZwaZUjGSBqw.js b/scripts/MfxWXZwaZUjGSBqw.js index c4ce0c6..4e012c4 100644 --- a/scripts/MfxWXZwaZUjGSBqw.js +++ b/scripts/MfxWXZwaZUjGSBqw.js @@ -1,5 +1,5 @@ if (this.actor.hasCondition("ablaze")) { - this.script.scriptNotification("Immunisé à En Flammes") + this.script.scriptNotification("Immune to Ablaze") await this.actor.hasCondition("ablaze")?.delete() } \ No newline at end of file diff --git a/scripts/MfxzwJz2o9ho2hOM.js b/scripts/MfxzwJz2o9ho2hOM.js index 48b706b..664e6ec 100644 --- a/scripts/MfxzwJz2o9ho2hOM.js +++ b/scripts/MfxzwJz2o9ho2hOM.js @@ -1 +1 @@ -return args.skill?.name == "Savoir (Apothicaire)" \ No newline at end of file +return args.skill?.name == "Lore (Apothecary)" \ No newline at end of file diff --git a/scripts/MgMMoC4Umpg7fmNI.js b/scripts/MgMMoC4Umpg7fmNI.js index 3dc141e..ef41566 100644 --- a/scripts/MgMMoC4Umpg7fmNI.js +++ b/scripts/MgMMoC4Umpg7fmNI.js @@ -2,9 +2,9 @@ if (args.equipped) { this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) - this.script.scriptMessage(`${this.actor.name} porte ${this.item.name}.
- Il ne peut plus lancer de Sorts ni effectuer de Prières ni Miracles.
- S'il porte le masque pendant plus d'1 heure ou bénéficie de l'un de ses effets, il est exposé à un @Corruption[moderate]{Corruption moderate}. + this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
+ They cannot cast Spells or pray for Blessings and Miracles.
+ If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. `, {whisper: ChatMessage.getWhisperRecipients("GM")}) } @@ -14,7 +14,7 @@ else if (!args.equipped) { await this.item.effects.contents[0].delete(); await this.item.update({name : this.item.name += " (Used)"}) - this.script.scriptMessage(`${this.item.name} sur ${this.actor.name} a été enlevé et à perdu ses propriétés. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils devront être supprimés manuellement.`, + this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, {whisper: ChatMessage.getWhisperRecipients("GM")} ) diff --git a/scripts/Mhb67xufvA9uWO21.js b/scripts/Mhb67xufvA9uWO21.js index 9f01412..05b8bc7 100644 --- a/scripts/Mhb67xufvA9uWO21.js +++ b/scripts/Mhb67xufvA9uWO21.js @@ -4,5 +4,5 @@ let attackerSize = game.wfrp4e.config.actorSizeNums[args.attacker.details.size.v if (attackerSize > actorSize) { args.actor.addCondition("prone") - this.script.scriptMessage(`Attaque Caudale: ${args.actor.prototypeToken.name} est désormais A Terre`) + this.script.scriptMessage(`Tail Attack: ${args.actor.prototypeToken.name} is now Prone`) } \ No newline at end of file diff --git a/scripts/Mir4FMHQRdVqazAF.js b/scripts/Mir4FMHQRdVqazAF.js index 8be83d5..7ad1e1f 100644 --- a/scripts/Mir4FMHQRdVqazAF.js +++ b/scripts/Mir4FMHQRdVqazAF.js @@ -3,11 +3,11 @@ let attackerSize = game.wfrp4e.config.actorSizeNums[args.attacker.details.size.v if (attackerSize > actorSize) { - let msg = `Attaque de Langue préhensile: ${args.actor.prototypeToken.name} est désormais @Condition[Empêtré]`; + let msg = `Tongue Attack: ${args.actor.prototypeToken.name} is now @Condition[Entangled]`; await args.actor.addCondition("entangled"); if (actorSize <= 2) { - msg += `et @Condition[Engagé]` + msg += `and @Condition[Engaged]` } this.script.scriptMessage(msg, {speaker : {alias: args.attacker.prototypeToken.name}}) } \ No newline at end of file diff --git a/scripts/Msygc7oQQPB5fw0b.js b/scripts/Msygc7oQQPB5fw0b.js index fe0d31b..2a7c502 100644 --- a/scripts/Msygc7oQQPB5fw0b.js +++ b/scripts/Msygc7oQQPB5fw0b.js @@ -4,11 +4,11 @@ if (test.failed && (test.result.roll % 11 == 0 || test.result.roll == 100)) let points = await new Roll("1d10").roll(); game.dice3d?.showForRoll(points) this.actor.update({"system.status.corruption.value" : this.actor.system.status.corruption.value + points.total}) - this.script.scriptMessage(`Reçoit ${points.total} Point de Corruption`) + this.script.scriptMessage(`Gains ${points.total} Corruption`) } else { let points = this.effect.sourceTest.result.overcast.usage.other.current; this.actor.update({"system.status.corruption.value" : this.actor.system.status.corruption.value - points}) - this.script.scriptMessage(`Perd ${points} Point de Corruption`) + this.script.scriptMessage(`Loses ${points} Corruption`) } \ No newline at end of file diff --git a/scripts/MwUzyAgd0yPnmZCH.js b/scripts/MwUzyAgd0yPnmZCH.js index 81a644d..aef44fc 100644 --- a/scripts/MwUzyAgd0yPnmZCH.js +++ b/scripts/MwUzyAgd0yPnmZCH.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.klCJX0mNpXYH5AIx") let data = item.toObject(); -data.name = data.name.replace("Cible", "Strangers"); +data.name = data.name.replace("Target", "Strangers"); this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}); \ No newline at end of file diff --git a/scripts/N2MeOlf0GjPiRcSb.js b/scripts/N2MeOlf0GjPiRcSb.js index 037e94a..8b92869 100644 --- a/scripts/N2MeOlf0GjPiRcSb.js +++ b/scripts/N2MeOlf0GjPiRcSb.js @@ -1,2 +1,2 @@ -let test = await this.actor.setupCharacteristic("dex", {context : {failure : "Lâche l'objet"}}) +let test = await this.actor.setupCharacteristic("dex", {context : {failure : "Drops the item"}}) await test.roll(); \ No newline at end of file diff --git a/scripts/N8hA6ysHCTlLd8Kj.js b/scripts/N8hA6ysHCTlLd8Kj.js index 00f7284..1d8cf17 100644 --- a/scripts/N8hA6ysHCTlLd8Kj.js +++ b/scripts/N8hA6ysHCTlLd8Kj.js @@ -10,10 +10,10 @@ let characteristics = { "wp" : 15, "fel" : 0 } -let skills = ["Focalisation", "Calme", "Esquive", "Divertissement (Narration)", "Intuition", "Langue (Magick)", "Savoir (Magie)" , "Perception"] +let skills = ["Channelling", "Cool", "Dodge", "Entertain (Storytelling)", "Intuition", "Language (Magick)", "Lore (Magic)", "Perception"] let skillAdvancements = [5, 15, 10, 10, 15, 10, 10, 20] -let talents = ["Magie des Arcanes", "Magie Mineure", "Seconde Vue"] -let trappings = ["Arme simple", "(2M) Bâton de combat", "Ritual Dress incorporating many ingredients and fetishes"] +let talents = ["Arcane Magic", "Petty Magic", "Second Sight"] +let trappings = ["Hand Weapon", "Quarterstaff", "Ritual Dress incorporating many ingredients and fetishes"] let items = []; let updateObj = this.actor.toObject(); @@ -48,7 +48,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -59,14 +59,14 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { items.push({name : trapping, type : "trapping", "system.trappingType.value" : "clothingAccessories"}) - //ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + //ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -74,3 +74,13 @@ updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/NDvNGATDM2xPFJK0.js b/scripts/NDvNGATDM2xPFJK0.js index a24d236..58c8edd 100644 --- a/scripts/NDvNGATDM2xPFJK0.js +++ b/scripts/NDvNGATDM2xPFJK0.js @@ -7,7 +7,7 @@ tongue = tongue.toObject(); let roll = await new Roll("1d10").roll(); -roll.toMessage(this.script.getChatData({flavor : "Dents perdues"})) +roll.toMessage(this.script.getChatData({flavor : "Teeth Lost"})) teeth.system.location.value = `${roll.total} ${teeth.system.location.value}` brokenbone.system.location.value = "Jaw" diff --git a/scripts/NI3ZzIAlpQfVSjvf.js b/scripts/NI3ZzIAlpQfVSjvf.js index 5348fc0..3955b1a 100644 --- a/scripts/NI3ZzIAlpQfVSjvf.js +++ b/scripts/NI3ZzIAlpQfVSjvf.js @@ -1,6 +1,6 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({text : "Enter Fear value", title : this.effect.name}); + let value = await ValueDialog.create("Enter Fear value", this.item.name); if (value) { this.item.updateSource({"system.specification.value" : value}); diff --git a/scripts/NdquQqyuOkGCj8Uo.js b/scripts/NdquQqyuOkGCj8Uo.js index 795693e..3e25112 100644 --- a/scripts/NdquQqyuOkGCj8Uo.js +++ b/scripts/NdquQqyuOkGCj8Uo.js @@ -4,5 +4,5 @@ let acutesense = await fromUuid("Compendium.wfrp4e-core.items.Item.9h82z72XGo9tf fear = fear.toObject(); fear.system.specification.value = 1; acutesense = acutesense.toObject(); -acutesense.name += " (Odorat)"; +acutesense.name += " (Smell)"; this.actor.createEmbeddedDocuments("Item", [darkvision, fear, acutesense], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/NkqtQaLEGYst0PUO.js b/scripts/NkqtQaLEGYst0PUO.js index 3bda5c8..a5fa1cd 100644 --- a/scripts/NkqtQaLEGYst0PUO.js +++ b/scripts/NkqtQaLEGYst0PUO.js @@ -1,4 +1,4 @@ -if (this.actor.has("Résistance à la Magie", "talent")) +if (this.actor.has("Magic Resistance", "talent")) return let item = await fromUuid("Compendium.wfrp4e-core.items.Item.eowbsW6oHGSNJmxV") diff --git a/scripts/O45vpR4jDbQQnmvJ.js b/scripts/O45vpR4jDbQQnmvJ.js index 9d1a9c1..dceb5f0 100644 --- a/scripts/O45vpR4jDbQQnmvJ.js +++ b/scripts/O45vpR4jDbQQnmvJ.js @@ -1,12 +1,12 @@ let items = []; let etiquette = (await fromUuid("Compendium.wfrp4e-core.items.Item.sYbgpSnRqSZWgwFP")).toObject(); -etiquette.name += " (Suivants de Khorne)"; +etiquette.name += " (Followers of Khorne)"; items.push(etiquette); let animosity = (await fromUuid("Compendium.wfrp4e-core.items.Item.Q2MCUrG2HppMcvN0")).toObject(); -animosity.name = animosity.name.replace("(Cible)", "(Suivants de Slaanesh)"); +animosity.name = animosity.name.replace("(Target)", "(Followers of Slaanesh)"); items.push(animosity); diff --git a/scripts/OEy2lxvic37dRBEt.js b/scripts/OEy2lxvic37dRBEt.js index 4a5d5ce..583f063 100644 --- a/scripts/OEy2lxvic37dRBEt.js +++ b/scripts/OEy2lxvic37dRBEt.js @@ -9,7 +9,7 @@ let filters = [ } ] -let petty = await ItemDialog.createFromFilters(filters, 3, "Choisissez 3 Sorts de Magie Mineure") +let petty = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 3, "Choose 3 Petty Spells") filters = [ @@ -23,7 +23,7 @@ filters = [ } ] -let arcane = await ItemDialog.createFromFilters(filters, 3, "Choisissez 3 Sorts de Magie d'Arcane") +let arcane = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 3, "Choose 3 Arcane Spells") let items = petty.concat(arcane).map(i => i.toObject()) diff --git a/scripts/OGX4BneaYAnV25TO.js b/scripts/OGX4BneaYAnV25TO.js index a2c6e62..7e752b3 100644 --- a/scripts/OGX4BneaYAnV25TO.js +++ b/scripts/OGX4BneaYAnV25TO.js @@ -1,7 +1,7 @@ let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") } let message = "" -let wounds = foundry.utils.duplicate(this.actor.status.wounds) +let wounds = duplicate(this.actor.status.wounds) let regenRoll = await new Roll("1d10").roll(); let regen = regenRoll.total; @@ -15,25 +15,25 @@ if (wounds.value > 0) { wounds.value = wounds.max } - message += `${this.actor.name} regagne ${regen} Blessures.` + message += `${this.actor.name} regains ${regen} Wounds.` if (regen == 10) { - message += `
Et guéri une Blessure Critique.` + message += `
Additionally, they regenerate a Critical Wound.` } } else if (regen >= 8) { - message += `${this.actor.name} a obtenu ${regen} et récupère 1 Blessure.` + message += `${this.actor.name} rolled a ${regen} and regains 1 Wound.` wounds.value += 1 if (regen == 10) { - message += `
Et guéri une Blessure Critique.` + message += `
Additionally, they regenerate a Critical Wound.` } } else { - message += `${this.actor.name} Résultat de régénération de ${regen} - Aucun effet.` + message += `${this.actor.name} Regenerate roll of ${regen} - No effect.` } await this.actor.update({ "system.status.wounds": wounds }) diff --git a/scripts/OeKeQAAcJhdI4Qky.js b/scripts/OeKeQAAcJhdI4Qky.js index 92f01ea..df7e559 100644 --- a/scripts/OeKeQAAcJhdI4Qky.js +++ b/scripts/OeKeQAAcJhdI4Qky.js @@ -1,5 +1,5 @@ if (this.actor.hasCondition("stunned") || this.actor.hasCondition("unconscious")) { - this.script.scriptNotification("Désactivé!"); + this.script.scriptNotification("Disabled!"); await this.effect.update({"disabled" : true}) } \ No newline at end of file diff --git a/scripts/OgSI0Z6SHjYuqKIz.js b/scripts/OgSI0Z6SHjYuqKIz.js index b1cf84f..af30fee 100644 --- a/scripts/OgSI0Z6SHjYuqKIz.js +++ b/scripts/OgSI0Z6SHjYuqKIz.js @@ -9,7 +9,7 @@ if (this.item.system.protects[args.opposedTest.result.hitloc.value]) await test.roll(); if (test.failed) { - this.script.scriptMessage(`${this.actor.name} doit cesser le combat et fuir à moins de réussir un jet Intermédiaire (+0) de Force Mentale`); + this.script.scriptMessage(`${this.actor.name} must break from combat and flee until they pass a Challenging (+0) Willpower Test`); this.item.setFlag("wfrp4e", "failedCool", true); } }) diff --git a/scripts/OicQSEVZBbqLtrcf.js b/scripts/OicQSEVZBbqLtrcf.js index 7d35048..796995b 100644 --- a/scripts/OicQSEVZBbqLtrcf.js +++ b/scripts/OicQSEVZBbqLtrcf.js @@ -1,4 +1,4 @@ -let choice = await ItemDialog.create(this.actor.itemTypes.critical, (this.effect.sourceTest.result.overcast.usage.other.current || 1), "Choisissez la Blessure Critique à soigner (ne peut guérir les membres perdus)") +let choice = await ItemDialog.create(this.actor.itemTypes.critical, (this.effect.sourceTest.result.overcast.usage.other.current || 1), "Choose the Critical Wounds to heal (cannot reattach body parts)") -this.script.scriptMessage(`Guéri de ${choice.map(i => i.name).join(`, `)}`); +this.script.scriptMessage(`Healed ${choice.map(i => i.name).join(`, `)}`); this.actor.deleteEmbeddedDocuments("Item", choice.map(i => i.id)) \ No newline at end of file diff --git a/scripts/Op88kMtimSEWlY2h.js b/scripts/Op88kMtimSEWlY2h.js index 9f485ca..3fd9036 100644 --- a/scripts/Op88kMtimSEWlY2h.js +++ b/scripts/Op88kMtimSEWlY2h.js @@ -6,5 +6,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Aucun disponible!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/OqLKL0PiCvYH2QxW.js b/scripts/OqLKL0PiCvYH2QxW.js index a7317d8..1641e71 100644 --- a/scripts/OqLKL0PiCvYH2QxW.js +++ b/scripts/OqLKL0PiCvYH2QxW.js @@ -8,6 +8,6 @@ if (args.test.options.wallcrawler) args.test.result.description = game.i18n.localize("ROLL.MarginalSuccess"); } args.test.result.outcome = "success" - args.test.result.other.push(`${this.effect.name}: Minimum +0 DR`) + args.test.result.other.push(`${this.effect.name}: Minimum +0 SL`) } } \ No newline at end of file diff --git a/scripts/OsLXutfXyQCAkhAf.js b/scripts/OsLXutfXyQCAkhAf.js index 3160e93..7d8b91f 100644 --- a/scripts/OsLXutfXyQCAkhAf.js +++ b/scripts/OsLXutfXyQCAkhAf.js @@ -1,5 +1,5 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; -const test = 'Voile'; +const repaired_message = `

Finished repairing ${this.item.name}.

`; +const test = 'Sail'; const difficulty = 'average'; const target = 30; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,7 +46,7 @@ const extendedTestData = { ] } } - + } ] }; diff --git a/scripts/OxsBnnVI3Smpknpb.js b/scripts/OxsBnnVI3Smpknpb.js index dabe09c..519a2a2 100644 --- a/scripts/OxsBnnVI3Smpknpb.js +++ b/scripts/OxsBnnVI3Smpknpb.js @@ -1,5 +1,5 @@ if (this.actor.status.advantage.value && !this.actor.sameSideAs(this.effect.sourceActor)) { this.actor.modifyAdvantage(-1); - this.script.scriptNotification(`${this.actor.name} perd 1 Avantage`); + this.script.scriptNotification(`${this.actor.name} loses 1 Advantage`); } \ No newline at end of file diff --git a/scripts/PMISUsaEDBA7D3od.js b/scripts/PMISUsaEDBA7D3od.js index 2be2313..d9cd2ce 100644 --- a/scripts/PMISUsaEDBA7D3od.js +++ b/scripts/PMISUsaEDBA7D3od.js @@ -1,7 +1,7 @@ // After consumption, the user gains the Magic Resistance 3 Creature Trait, // reducing the SL of any spell affecting it by 3. // This effect lasts for one hour. -const hasMagicResistance = this.actor.has("Résistance à la Magie") || this.actor.has("Magieresistenz") || this.actor.has("Magic Resistance") +const hasMagicResistance = this.actor.has("Magic Resistance") if (hasMagicResistance === undefined) { fromUuid("Compendium.wfrp4e-core.items.yrkI7ATjqLPDTFmZ").then(trait => { diff --git a/scripts/PVjaKAHTKDA0rA9J.js b/scripts/PVjaKAHTKDA0rA9J.js index 3406d92..8942127 100644 --- a/scripts/PVjaKAHTKDA0rA9J.js +++ b/scripts/PVjaKAHTKDA0rA9J.js @@ -1,2 +1,2 @@ -let test = await this.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); +let test = await this.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); await test.roll(); \ No newline at end of file diff --git a/scripts/PeZYj8b0vedyJj00.js b/scripts/PeZYj8b0vedyJj00.js index 1cb5a36..51a0a44 100644 --- a/scripts/PeZYj8b0vedyJj00.js +++ b/scripts/PeZYj8b0vedyJj00.js @@ -3,7 +3,7 @@ let mainEffect = this.item.effects.contents[0]; if (mainEffect.name.includes("(Lore)")) { - let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choisissez le Savoir"); + let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choose Lore"); if (choice.length) { mainEffect.update({name : mainEffect.name.replace("Lore", choice[0].name)}) diff --git a/scripts/Ph3TdQw1lGiFr049.js b/scripts/Ph3TdQw1lGiFr049.js index a75ea45..f7e4852 100644 --- a/scripts/Ph3TdQw1lGiFr049.js +++ b/scripts/Ph3TdQw1lGiFr049.js @@ -2,10 +2,10 @@ (this.actor.isOpposing || args.test.context.defending) && args.test.result.roll % 11 == 0 && args.test.succeeded && - ["Langue (Magick)", "Esquive"].includes(args.test.item?.name)) + ["Language (Magick)", "Dodge"].includes(args.test.item?.name)) { args.test.context.phantasmal = true; // Flag so items aren't readded if test is edited - let text = `${this.effect.name}: Ajout de Instable et Protection` + let text = `${this.effect.name}: Adding Unstable and Ward` args.test.result.other.push(text) this.script.scriptNotification(text); diff --git a/scripts/PmELrzD3RmF9qKkO.js b/scripts/PmELrzD3RmF9qKkO.js index d102bed..3d5c0b3 100644 --- a/scripts/PmELrzD3RmF9qKkO.js +++ b/scripts/PmELrzD3RmF9qKkO.js @@ -1,6 +1,6 @@ if (this.item.system.specification.value == "Size") { - let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.actorSizes, this.item.img), 1, "Choisissez Size"); + let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.actorSizes, this.item.img), 1, "Choose Size"); if (choice[0]) { this.item.updateSource({"system.specification.value" : choice[0].name}) diff --git a/scripts/Pn5fekTbkwlr61XU.js b/scripts/Pn5fekTbkwlr61XU.js index c28f434..63064a6 100644 --- a/scripts/Pn5fekTbkwlr61XU.js +++ b/scripts/Pn5fekTbkwlr61XU.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Engineer)'; const difficulty = 'easy'; const target = 10; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,7 +46,7 @@ const extendedTestData = { ] } } - + } ] }; diff --git a/scripts/PwqTmw7rsG8hzqCS.js b/scripts/PwqTmw7rsG8hzqCS.js index a4d2b43..6ce47bf 100644 --- a/scripts/PwqTmw7rsG8hzqCS.js +++ b/scripts/PwqTmw7rsG8hzqCS.js @@ -3,7 +3,7 @@ if (args.test.result.critical && args.test.result.roll % 10 == 0) game.wfrp4e.tables.findTable("knuckleduster-diseases").roll().then(roll => { let results = roll.results[0] - this.script.scriptMessage(`${this.actor.name} subit @UUID[Compendium.${results.documentCollection}.${results.documentId}]{${results.text}}`, {blind : true, whisper: ChatMessage.getWhisperRecipients("GM") }) + this.script.scriptMessage(`${this.actor.name} contracts @UUID[Compendium.${results.documentCollection}.${results.documentId}]{${results.text}}`, {blind : true, whisper: ChatMessage.getWhisperRecipients("GM") }) }) } diff --git a/scripts/Q4EQgP4gZR8TTm7S.js b/scripts/Q4EQgP4gZR8TTm7S.js index b38c7fa..2ae696c 100644 --- a/scripts/Q4EQgP4gZR8TTm7S.js +++ b/scripts/Q4EQgP4gZR8TTm7S.js @@ -3,7 +3,7 @@ if (args.item?.system.attackType) { penalty -= 30 } -if (args.actor.has("Seconde Vue", "talent")) +if (args.actor.has("Second Sight", "talent")) penalty += 10 args.prefillModifiers.modifier += penalty \ No newline at end of file diff --git a/scripts/Q68WiUWY7GxiXBbT.js b/scripts/Q68WiUWY7GxiXBbT.js index 9883f8c..536d1ae 100644 --- a/scripts/Q68WiUWY7GxiXBbT.js +++ b/scripts/Q68WiUWY7GxiXBbT.js @@ -1,5 +1,5 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.9GNpAqgsKzxZKJpp") let data = item.toObject(); -data.system.specification.value = "Lorsque seul"; +data.system.specification.value = "When Alone"; data.effects[0].disabled = true; this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/Q7eULXQ9AfDRmUGO.js b/scripts/Q7eULXQ9AfDRmUGO.js index cc6f75f..233c0f9 100644 --- a/scripts/Q7eULXQ9AfDRmUGO.js +++ b/scripts/Q7eULXQ9AfDRmUGO.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpenter)'; const difficulty = 'difficult'; const target = 40; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,7 +46,7 @@ const extendedTestData = { ] } } - + } ] }; diff --git a/scripts/QNxmImpLTou6WdMQ.js b/scripts/QNxmImpLTou6WdMQ.js index ee0cb1b..0e082dd 100644 --- a/scripts/QNxmImpLTou6WdMQ.js +++ b/scripts/QNxmImpLTou6WdMQ.js @@ -1,3 +1,3 @@ let test = args.test if (test.result.minormis || test.result.majormis || test.result.catastrophicmis) - test.result.other.push("Peut faire un Test de Force Mentale Difficile (-10) pour éviter l'Incantation Imparfaite") \ No newline at end of file + test.result.other.push("Can make a Difficult (-10) Willpower Test to prevent the Miscast") \ No newline at end of file diff --git a/scripts/QRSACifDrvojIXHB.js b/scripts/QRSACifDrvojIXHB.js index e475e62..0527702 100644 --- a/scripts/QRSACifDrvojIXHB.js +++ b/scripts/QRSACifDrvojIXHB.js @@ -1,9 +1,9 @@ if (!this.actor.effects.find(e => e.isCondition)) { - return this.script.scriptNotification("Aucun état sur cet Acteur") + return this.script.scriptNotification("No Conditions on this Actor") } -let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choisissez un état") +let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choose a Condition") if (choice[0]) { diff --git a/scripts/QfTBRGXVfwQSghmd.js b/scripts/QfTBRGXVfwQSghmd.js index 733f235..99a5992 100644 --- a/scripts/QfTBRGXVfwQSghmd.js +++ b/scripts/QfTBRGXVfwQSghmd.js @@ -2,16 +2,16 @@ fromUuid(this.effect.origin).then(caster => { if (caster) { if (actor.items.find(it => it.name == game.i18n.localize("Bestial"))) { let healed = caster.characteristics.wp.bonus - let wounds = foundry.utils.duplicate(args.actor.status.wounds) + let wounds = duplicate(args.actor.status.wounds) wounds.value += healed if (wounds.value > wounds.max) wounds.value = wounds.max args.actor.update({ "system.status.wounds": wounds }) - ChatMessage.create({ content: `${this.actor.prototypeToken.name} regagne ${healed} Blessures`, speaker: { alias: this.effect.name } }) + ChatMessage.create({ content: `${this.actor.prototypeToken.name} regains ${healed} Wounds`, speaker: { alias: this.effect.name } }) } else { - ui.notifications.warn("L'Acteur ciblé n'a pas le Trait Bestial") + ui.notifications.warn("Target actor has no Bestial trait") } } }) diff --git a/scripts/Qgn92fZyc3Psn8QJ.js b/scripts/Qgn92fZyc3Psn8QJ.js index 315a269..fcfd3fd 100644 --- a/scripts/Qgn92fZyc3Psn8QJ.js +++ b/scripts/Qgn92fZyc3Psn8QJ.js @@ -4,8 +4,7 @@ if (args.test.options.useOnesAttractive && (args.test.result.roll <= game.settin let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) let ones = Number(args.test.result.roll.toString().split("").pop()) -if (ones > SL) { - args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) - args.test.result.other.push(`${this.effect.name}: Utilise le dé d'unité comme DR`) - } +if (ones > SL) + args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) + args.test.result.other.push(`${this.effect.name}: Used unit dice as SL`) } \ No newline at end of file diff --git a/scripts/QoEOxRruQXYrZrv3.js b/scripts/QoEOxRruQXYrZrv3.js index 1d570a2..c084829 100644 --- a/scripts/QoEOxRruQXYrZrv3.js +++ b/scripts/QoEOxRruQXYrZrv3.js @@ -10,7 +10,7 @@ let filters = [ } ] -let items = await ItemDialog.createFromFilters(filters, 2, "Choisissez 2 Skills to add +20") +let items = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 2, "Choose 2 Skills to add +20") items = items.map(i => i.toObject()) items.forEach(i => i.system.advances.value = 20) diff --git a/scripts/QwHoqu2oO8QO8Mad.js b/scripts/QwHoqu2oO8QO8Mad.js index 084a8f6..a5972f6 100644 --- a/scripts/QwHoqu2oO8QO8Mad.js +++ b/scripts/QwHoqu2oO8QO8Mad.js @@ -1,3 +1,3 @@ -let content = `${this.effect.name}: Toute les cibles au contact abec ${this.actor.prototypeToken.name} subissent [[/r 1d10]] dégats, modifiés par le BE et les PA.` +let content = `${this.effect.name}: All targets engaged with ${this.actor.prototypeToken.name} take [[/r 1d10]] Damage, modified by TB and AP.` this.script.scriptMessage(content) \ No newline at end of file diff --git a/scripts/R32U01LBjBrK1pns.js b/scripts/R32U01LBjBrK1pns.js index dfbffe7..4816313 100644 --- a/scripts/R32U01LBjBrK1pns.js +++ b/scripts/R32U01LBjBrK1pns.js @@ -13,17 +13,17 @@ let personalityQuirk = (await game.wfrp4e.tables.rollTable("personality-quirks", {hideDSN: true})).text; - let templateItem = await warhammer.utility.findItemId(templateMap[template._id]); + let templateItem = await game.wfrp4e.utility.findItemId(templateMap[template._id]); let bio = `

Template: ${template.text}

-

Trait physique: ${physicalQuirk}

-

Ethique: ${workEthic}

-

Trait de personnalité: ${personalityQuirk}

+

Phsyical Quirk: ${physicalQuirk}

+

Work Ethic: ${workEthic}

+

Personality Quirk: ${personalityQuirk}

` - this.script.message(bio, {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(bio, {whisper : ChatMessage.getWhisperRecipients("GM")}) await this.actor.update({"system.details.gmnotes.value" : bio}) diff --git a/scripts/R6SnyF3y4Vsq6oga.js b/scripts/R6SnyF3y4Vsq6oga.js index e978a64..9cb3f07 100644 --- a/scripts/R6SnyF3y4Vsq6oga.js +++ b/scripts/R6SnyF3y4Vsq6oga.js @@ -1,9 +1,8 @@ let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); -let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); // If channelling corresponding lore -if (args.type == "channelling" && spellLore == lore) +if (args.type == "channelling" && args.spell.system.lore.value == lore) args.prefillModifiers.slBonus += 1 // If channelling or casting different lore -else if (spellLore != lore && args.spell.system.lore.value != "petty") +else if (args.spell.system.lore.value != lore && args.spell.system.lore.value != "petty") args.prefillModifiers.slBonus -= 1 \ No newline at end of file diff --git a/scripts/R8FBHZaaARA3z9pB.js b/scripts/R8FBHZaaARA3z9pB.js index 4e91175..29b9079 100644 --- a/scripts/R8FBHZaaARA3z9pB.js +++ b/scripts/R8FBHZaaARA3z9pB.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpenter)'; const difficulty = 'hard'; const target = 40; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,14 +38,14 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] } - + } } ] }; diff --git a/scripts/R8ecKGRzOr4ThvVa.js b/scripts/R8ecKGRzOr4ThvVa.js index 4c9fff3..875dec8 100644 --- a/scripts/R8ecKGRzOr4ThvVa.js +++ b/scripts/R8ecKGRzOr4ThvVa.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Maintenance Crew Test'; const difficulty = 'hard'; const target = 80; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/RDtJXji3hgcKnEBk.js b/scripts/RDtJXji3hgcKnEBk.js index e557c94..84cd8d9 100644 --- a/scripts/RDtJXji3hgcKnEBk.js +++ b/scripts/RDtJXji3hgcKnEBk.js @@ -3,7 +3,7 @@ let hv = (await fromUuid("Compendium.wfrp4e-core.items.Item.Nj3tC8A5fZ3zEdMR")). let ms = (await fromUuid("Compendium.wfrp4e-core.items.Item.6w30u0VPsAicrqb5")).toObject(); let ss = (await fromUuid("Compendium.wfrp4e-core.items.Item.OEjUvJKi0xmBwbS2")).toObject(); -as.name += " (Vue)"; +as.name += " (Sight)"; let roll = (await new Roll("1d10").roll()); roll.toMessage(this.script.getChatData()) diff --git a/scripts/RHyBLYT5oHf7EPnG.js b/scripts/RHyBLYT5oHf7EPnG.js index 99ec6ac..0eeaadd 100644 --- a/scripts/RHyBLYT5oHf7EPnG.js +++ b/scripts/RHyBLYT5oHf7EPnG.js @@ -1,6 +1,6 @@ let skills = this.actor.itemTypes.skill.filter(i => i.name.includes(game.i18n.localize("NAME.Melee"))) -let skill = await ItemDialog.create(skills, 1, "Sélectionnez la compétence à utiliser avec l'arme") +let skill = await ItemDialog.create(skills, 1, "Select the skill used by the weapon") let group = game.wfrp4e.utility.extractParenthesesText(skill[0]?.name) let groupKey = game.wfrp4e.utility.findKey(group, game.wfrp4e.config.weaponGroups) @@ -18,4 +18,4 @@ let weapon = { } Item.implementation.create(foundry.utils.expandObject(weapon), {parent : this.actor, fromEffect : this.effect.id}) -this.script.scriptNotification("Item créé. Les modifications supplémentaires doivent être réalisées manuellement sur la fiche de l'objet."); \ No newline at end of file +this.script.scriptNotification("Item created. Further customization must be done manually within the Item's sheet"); \ No newline at end of file diff --git a/scripts/RKIFGN583PQnqHGk.js b/scripts/RKIFGN583PQnqHGk.js index 223f490..c0633f0 100644 --- a/scripts/RKIFGN583PQnqHGk.js +++ b/scripts/RKIFGN583PQnqHGk.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.hitloc.value == "body" && args.totalWoundLoss > 0) { args.actor.addCondition("bleeding", 2) - this.script.scriptMessage("Ajout de 2 état Hémorragiques") + this.script.scriptMessage("Gained 2 Bleeding Conditions") } \ No newline at end of file diff --git a/scripts/ROXCqAFSTLouJniL.js b/scripts/ROXCqAFSTLouJniL.js index 979b433..dcc969a 100644 --- a/scripts/ROXCqAFSTLouJniL.js +++ b/scripts/ROXCqAFSTLouJniL.js @@ -2,6 +2,6 @@ if (args.test.spell.name == "Warp Lightning") { if (args.test.result.minormis || args.test.result.majormis || args.test.result.catastrophicmis) { - this.script.scriptMessage(`${this.item.name} Surcharge!`) + this.script.scriptMessage(`${this.item.name} Overloads!`) } } \ No newline at end of file diff --git a/scripts/RPqgRUkiLY5thVbC.js b/scripts/RPqgRUkiLY5thVbC.js index f120b28..cc3928e 100644 --- a/scripts/RPqgRUkiLY5thVbC.js +++ b/scripts/RPqgRUkiLY5thVbC.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Strength'; const difficulty = 'average'; const target = 10; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,13 +38,13 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] - + } } } ] diff --git a/scripts/RSsGiDFibuqg3sHr.js b/scripts/RSsGiDFibuqg3sHr.js index af0157e..9132550 100644 --- a/scripts/RSsGiDFibuqg3sHr.js +++ b/scripts/RSsGiDFibuqg3sHr.js @@ -7,7 +7,7 @@ let diseaseIndex = game.packs return i }) -let choice = await ItemDialog.create(diseaseIndex , 1, "Choisissez une maladie") +let choice = await ItemDialog.create(diseaseIndex , 1, "Choose a Disease") if (choice[0]) { diff --git a/scripts/RrchOMpEdIvceJxl.js b/scripts/RrchOMpEdIvceJxl.js index b1d1cc8..300050b 100644 --- a/scripts/RrchOMpEdIvceJxl.js +++ b/scripts/RrchOMpEdIvceJxl.js @@ -1 +1 @@ -return args.skill?.name == "Discrétion (Rurale)" \ No newline at end of file +return args.skill?.name == "Stealth (Rural)" \ No newline at end of file diff --git a/scripts/RvipIYj9H7n4UDMe.js b/scripts/RvipIYj9H7n4UDMe.js index 068db78..4ae90e5 100644 --- a/scripts/RvipIYj9H7n4UDMe.js +++ b/scripts/RvipIYj9H7n4UDMe.js @@ -1,74 +1,84 @@ -let characteristics = { - "ws" : -10, - "bs" : -10, - "s" : -5, - "t" : -5, - "i" : -10, - "ag" : -10, - "dex" : -10, - "int" : 0, - "wp" : 0, - "fel" : 0 -} -let skills = [] -let skillAdvancements = [] -let talents = [] -let trappings = [] -let items = [] + let characteristics = { + "ws" : -10, + "bs" : -10, + "s" : -5, + "t" : -5, + "i" : -10, + "ag" : -10, + "dex" : -10, + "int" : 0, + "wp" : 0, + "fel" : 0 + } + let skills = [] + let skillAdvancements = [] + let talents = [] + let trappings = [] + let items = [] -let updateObj = this.actor.toObject(); - -for (let ch in characteristics) -{ - updateObj.system.characteristics[ch].modifier += characteristics[ch]; -} - -for (let index = 0; index < skills.length; index++) -{ - let skill = skills[index] - let skillItem; - skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") - if (skillItem) - skillItem.system.advances.value += skillAdvancements[index] - else - { - skillItem = await game.wfrp4e.utility.findSkill(skill) - skillItem = skillItem.toObject(); - skillItem.system.advances.value = skillAdvancements[index]; - items.push(skillItem); - } -} - -for (let talent of talents) -{ - let talentItem = await game.wfrp4e.utility.findTalent(talent) - if (talentItem) - { - items.push(talentItem.toObject()); - } - else - { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) - } -} - -for (let trapping of trappings) -{ - let trappingItem = await game.wfrp4e.utility.findItem(trapping) - if (trappingItem) - { - trappingItem = trappingItem.toObject() - - trappingItem.system.equipped.value = true; - - items.push(trappingItem); - } - else - { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) - } -} - - -await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file + let updateObj = this.actor.toObject(); + + for (let ch in characteristics) + { + updateObj.system.characteristics[ch].modifier += characteristics[ch]; + } + + for (let index = 0; index < skills.length; index++) + { + let skill = skills[index] + let skillItem; + skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") + if (skillItem) + skillItem.system.advances.value += skillAdvancements[index] + else + { + skillItem = await game.wfrp4e.utility.findSkill(skill) + skillItem = skillItem.toObject(); + skillItem.system.advances.value = skillAdvancements[index]; + items.push(skillItem); + } + } + + for (let talent of talents) + { + let talentItem = await game.wfrp4e.utility.findTalent(talent) + if (talentItem) + { + items.push(talentItem.toObject()); + } + else + { + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) + } + } + + for (let trapping of trappings) + { + let trappingItem = await game.wfrp4e.utility.findItem(trapping) + if (trappingItem) + { + trappingItem = trappingItem.toObject() + + equip(trappingItem) + + items.push(trappingItem); + } + else + { + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) + } + } + + + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); + + function equip(item) + { + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true + } \ No newline at end of file diff --git a/scripts/RwMw848y13Jq2L4f.js b/scripts/RwMw848y13Jq2L4f.js index 6ca32d3..d6186a0 100644 --- a/scripts/RwMw848y13Jq2L4f.js +++ b/scripts/RwMw848y13Jq2L4f.js @@ -1,4 +1,4 @@ -let test = await this.actor.setupSkill("Résistance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); +let test = await this.actor.setupSkill("Endurance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); await test.roll(); if (test.failed) { @@ -15,7 +15,7 @@ for(let item of armour) let damage = Math.floor(AP / 2); await item.system.damageItem(damage, [key]); } - msg += `

${item.name} PA divisé par 2

` + msg += `

${item.name} AP reduced by half

` } if (msg) { diff --git a/scripts/S1QihXuvdEVzeRtB.js b/scripts/S1QihXuvdEVzeRtB.js index 37f949e..0194c09 100644 --- a/scripts/S1QihXuvdEVzeRtB.js +++ b/scripts/S1QihXuvdEVzeRtB.js @@ -27,10 +27,10 @@ else if (roll = 10) modifier = -5 } -message = `Résultat de ${roll}, gagnez ${item.name}, ${modifier} en Force` +message = `${roll} Rolled, gain ${item.name}, ${modifier} Strength` dice.toMessage(this.script.getChatData()) -let changes = foundry.utils.duplicate(this.effect.changes) +let changes = duplicate(this.effect.changes) changes[0].value = modifier this.effect.updateSource({changes}) diff --git a/scripts/S3Dev4hleOYqDNe9.js b/scripts/S3Dev4hleOYqDNe9.js index c014e56..82a4f59 100644 --- a/scripts/S3Dev4hleOYqDNe9.js +++ b/scripts/S3Dev4hleOYqDNe9.js @@ -7,10 +7,10 @@ if (args.test.options.healWounds) { wounds = this.actor.characteristics.int.bonus + Math.min(1, Number(args.test.result.SL)) } args.test.result.woundsHealed = wounds - args.test.result.other.push(`${this.actor.name} guérit ${wounds} Points de Blessures du patient.`) + args.test.result.other.push(`${this.actor.name} healed ${wounds} wounds of the patient.`) } else if (this.actor.characteristics.int.bonus + Number(args.test.result.SL) < 0) { - args.test.result.other.push(`Le patient subit une @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) } } \ No newline at end of file diff --git a/scripts/SGr50Hq1AHIEzIFN.js b/scripts/SGr50Hq1AHIEzIFN.js index 0b6d374..324b7a2 100644 --- a/scripts/SGr50Hq1AHIEzIFN.js +++ b/scripts/SGr50Hq1AHIEzIFN.js @@ -1,6 +1,6 @@ let choice = await ItemDialog.create(ItemDialog.objectToArray({ int : game.wfrp4e.config.characteristics.int, fel : game.wfrp4e.config.characteristics.fel -}, this.effect.img), 1, "Choisissez une caractéristique"); +}, this.effect.img), 1, "Choose Characteristic"); this.effect.updateSource({"flags.wfrp4e.characteristic" : choice[0].id}) \ No newline at end of file diff --git a/scripts/SWIJjM2RCmzfr64u.js b/scripts/SWIJjM2RCmzfr64u.js index 0db546e..4f762e1 100644 --- a/scripts/SWIJjM2RCmzfr64u.js +++ b/scripts/SWIJjM2RCmzfr64u.js @@ -1,4 +1,6 @@ -if (args.test.result.hitloc.result == "head" && args.test.result.critical){ - args.test.result.critModifier = args.test.result.critModifier ? args.test.result.critModifier + 40 : 40 +if (args.test.result.hitloc.result == "head" && args.test.result.critical) +{ + args.test.result.critModifier = args.test.result.critModifier ? args.test.result.critModifier + 40 : 40 + args.test.result.critical += ` (+${args.test.result.critModifier})` } diff --git a/scripts/T5fiTzhXEQAv9Drf.js b/scripts/T5fiTzhXEQAv9Drf.js index b4d5c21..536b32a 100644 --- a/scripts/T5fiTzhXEQAv9Drf.js +++ b/scripts/T5fiTzhXEQAv9Drf.js @@ -11,7 +11,7 @@ if (location) if (dropped.length) { - this.script.scriptNotification(`Laché ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); diff --git a/scripts/TAw9vXnfyIAl5DGs.js b/scripts/TAw9vXnfyIAl5DGs.js index 587a05a..c6062cd 100644 --- a/scripts/TAw9vXnfyIAl5DGs.js +++ b/scripts/TAw9vXnfyIAl5DGs.js @@ -7,5 +7,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Quantité insuffisante!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/TBpNFRL5uehs0fze.js b/scripts/TBpNFRL5uehs0fze.js index 974d619..be5a2fb 100644 --- a/scripts/TBpNFRL5uehs0fze.js +++ b/scripts/TBpNFRL5uehs0fze.js @@ -6,5 +6,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Quantité insuffisante!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/TGN070HeJLl3gSMY.js b/scripts/TGN070HeJLl3gSMY.js index 0959de2..876f760 100644 --- a/scripts/TGN070HeJLl3gSMY.js +++ b/scripts/TGN070HeJLl3gSMY.js @@ -1,4 +1,4 @@ -let test = await this.actor.setupCharacteristic("ag", {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "A Terre" }}) +let test = await this.actor.setupCharacteristic("ag", {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "Goes Prone" }}) await test.roll(); if (test.failed) { diff --git a/scripts/TwgdEucxcHloc4cX.js b/scripts/TwgdEucxcHloc4cX.js index f3c0de8..325d158 100644 --- a/scripts/TwgdEucxcHloc4cX.js +++ b/scripts/TwgdEucxcHloc4cX.js @@ -112,18 +112,24 @@ for (let c of choice) let item = await game.wfrp4e.utility.find(c.name, c.type) if (item) { - let equip = item.system.tags.has("equippable"); item = item.toObject() - if (equip) - { - item.system.equipped.value = true; - } - items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + equip(item); + items.push(mergeObject(item, (c.diff || {}))) } else - ui.notifications.warn(`Impossible de trouver ${c.name}`, {permanent : true}) + ui.notifications.warn(`Could not find ${c.name}`, {permanent : true}) } } await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/U1UpSRJOSjPpO4HS.js b/scripts/U1UpSRJOSjPpO4HS.js index 4dca212..f8fe592 100644 --- a/scripts/U1UpSRJOSjPpO4HS.js +++ b/scripts/U1UpSRJOSjPpO4HS.js @@ -1,4 +1,4 @@ -let mutations = await warhammer.utility.findAllItems("mutation", "Chargement des mutations") +let mutations = await warhammer.utility.findAllItems("mutation", "Loading Mutations") let roll = Math.floor(CONFIG.Dice.randomUniform() * mutations.length); this.actor.createEmbeddedDocuments("Item", [mutations[roll]]); -this.script.scriptNotification(`Ajout ${mutations[roll].name}`) \ No newline at end of file +this.script.scriptNotification(`Added ${mutations[roll].name}`) \ No newline at end of file diff --git a/scripts/U26XMie3Kjoddisj.js b/scripts/U26XMie3Kjoddisj.js index 35d406e..6b2b8bd 100644 --- a/scripts/U26XMie3Kjoddisj.js +++ b/scripts/U26XMie3Kjoddisj.js @@ -1,10 +1,10 @@ let stunned = this.actor.hasCondition("stunned") if (stunned) { - this.script.scriptNotification(`Suppression de 1 état Assomé`) + this.script.scriptNotification(`Cleared 1 Stunned Condition`) this.actor.removeCondition("stunned"); } else { - this.script.scriptNotification(`Aucun état Assomé`) + this.script.scriptNotification(`No Stunned Conditions`) } \ No newline at end of file diff --git a/scripts/U4A8FDNmwBGTuQZO.js b/scripts/U4A8FDNmwBGTuQZO.js index 7fbb187..8e8a337 100644 --- a/scripts/U4A8FDNmwBGTuQZO.js +++ b/scripts/U4A8FDNmwBGTuQZO.js @@ -1,5 +1,5 @@ -if (args.attacker.has("Mort-vivant") && !args.attacker.has("Ethéré")) +if (args.attacker.has("Undead") && !args.attacker.has("Ethereal")) { args.totalWoundLoss = Math.floor(args.totalWoundLoss / 2) - args.modifiers.other.push({label : this.effect.name, details : "Divisé par deux", value : "× 0.5"}) + args.modifiers.other.push({label : this.effect.name, details : "Halved", value : "× 0.5"}) } \ No newline at end of file diff --git a/scripts/U9xh2wriSqCosugW.js b/scripts/U9xh2wriSqCosugW.js index b76aedc..5770437 100644 --- a/scripts/U9xh2wriSqCosugW.js +++ b/scripts/U9xh2wriSqCosugW.js @@ -8,6 +8,6 @@ if (args.test.options.stag) args.test.result.description = game.i18n.localize("ROLL.MarginalSuccess"); } args.test.result.outcome = "success" - args.test.result.other.push(`${this.effect.name}: Minimum +0 DR`) + args.test.result.other.push(`${this.effect.name}: Minimum +0 SL`) } } \ No newline at end of file diff --git a/scripts/UDPsaymtZf39UsMk.js b/scripts/UDPsaymtZf39UsMk.js index f8fd2d9..ba3519f 100644 --- a/scripts/UDPsaymtZf39UsMk.js +++ b/scripts/UDPsaymtZf39UsMk.js @@ -1,6 +1,7 @@ -let fatigued = this.actor.hasCondition("fatigued") -if (!fatigued) { - this.actor.addCondition("fatigued") - ui.notifications.notify("Fatigue ajouté à " + this.actor.name + " qui ne peut être supprimé tant que le symptôme Malaise est présent.") -} \ No newline at end of file + let fatigued = this.actor.hasCondition("fatigued") + if (!fatigued) + { + this.actor.addCondition("fatigued") + ui.notifications.notify("Fatigued added to " + this.actor.name + " which cannot be removed until the Malaise symptom is gone.") + } \ No newline at end of file diff --git a/scripts/ULmZMLezDamerN04.js b/scripts/ULmZMLezDamerN04.js index c4507e9..0b6089a 100644 --- a/scripts/ULmZMLezDamerN04.js +++ b/scripts/ULmZMLezDamerN04.js @@ -1,16 +1,16 @@ -let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts") +let spells = await warhammer.utility.findAllItems("spell", "Loading Spells") let lore = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).text this.script.scriptNotification(lore) -if (lore == "Au choix") { +if (lore == "GM's Choice") { return } -else if (lore == "Magie des Arcanes") { +else if (lore == "Arcane Magic") { lore = "Arcane" } -else if (lore == "Magie Mineure ") { +else if (lore == "Petty Magic") { lore = "petty" } diff --git a/scripts/UTlgF4azrGQZsoDv.js b/scripts/UTlgF4azrGQZsoDv.js index bd64ba5..052e2d2 100644 --- a/scripts/UTlgF4azrGQZsoDv.js +++ b/scripts/UTlgF4azrGQZsoDv.js @@ -1,2 +1,2 @@ -const talents = await Promise.all(["Ambidextre", "Distraire"].map(game.wfrp4e.utility.findTalent)) +const talents = await Promise.all(["Ambidextrous", "Distract"].map(game.wfrp4e.utility.findTalent)) this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/UaImulhbPURkLJg2.js b/scripts/UaImulhbPURkLJg2.js index d045f97..77d2ab5 100644 --- a/scripts/UaImulhbPURkLJg2.js +++ b/scripts/UaImulhbPURkLJg2.js @@ -1 +1 @@ -return this.actor.attacker && (args.skill?.name.includes("Corps à corps (Bas)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) \ No newline at end of file +return this.actor.attacker && (args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) \ No newline at end of file diff --git a/scripts/UgQW0UMPOZ0jwfVJ.js b/scripts/UgQW0UMPOZ0jwfVJ.js index 8cce56a..3dc1a6d 100644 --- a/scripts/UgQW0UMPOZ0jwfVJ.js +++ b/scripts/UgQW0UMPOZ0jwfVJ.js @@ -2,4 +2,4 @@ let current = this.actor.status.fortune.value this.actor.update({"system.status.fortune.value" : 1 + current}) -this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses Points de Chance augmenter de ${current} à ${1 + current}`) \ No newline at end of file +this.script.scriptMessage(`${this.actor.prototypeToken.name} fortune points increased from ${current} to ${1 + current}`) \ No newline at end of file diff --git a/scripts/UlRSaZG4ZUU6fMND.js b/scripts/UlRSaZG4ZUU6fMND.js index aeb75ab..7e0b3e6 100644 --- a/scripts/UlRSaZG4ZUU6fMND.js +++ b/scripts/UlRSaZG4ZUU6fMND.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpenter)'; const difficulty = 'challenging'; const target = 10; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,13 +38,13 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] - + } } } ] diff --git a/scripts/UnqnWi0dZYLf5fTT.js b/scripts/UnqnWi0dZYLf5fTT.js index 9d03e2a..e5dd8a6 100644 --- a/scripts/UnqnWi0dZYLf5fTT.js +++ b/scripts/UnqnWi0dZYLf5fTT.js @@ -110,18 +110,24 @@ for (let c of choice) let item = await game.wfrp4e.utility.find(c.name, c.type) if (item) { - let equip = item.system.tags.has("equippable"); item = item.toObject() - if (equip) - { - item.system.equipped.value = true; - } - items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + equip(item); + items.push(mergeObject(item, (c.diff || {}))) } else - ui.notifications.warn(`Impossible de trouver ${c.name}`, {permanent : true}) + ui.notifications.warn(`Could not find ${c.name}`, {permanent : true}) } } await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/UsuwsmU1TUQLQVM2.js b/scripts/UsuwsmU1TUQLQVM2.js index 07c7870..47d19c6 100644 --- a/scripts/UsuwsmU1TUQLQVM2.js +++ b/scripts/UsuwsmU1TUQLQVM2.js @@ -1,3 +1,2 @@ let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); -let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); -return !args.spell || (args.type == "cast" && [game.wfrp4e.config.magicLores["petty"].toLowerCase(), lore].includes(spellLore)); \ No newline at end of file +return !args.spell || (args.type == "cast" && ["petty", lore].includes(args.spell.system.lore.value)); \ No newline at end of file diff --git a/scripts/V1D2Uo3WDKYQePU3.js b/scripts/V1D2Uo3WDKYQePU3.js index ad0163b..cab27a0 100644 --- a/scripts/V1D2Uo3WDKYQePU3.js +++ b/scripts/V1D2Uo3WDKYQePU3.js @@ -10,5 +10,5 @@ let APused = Math.max(0, APatLoc.value - metalAP); // remove metal AP at locatio damage -= (APused + this.actor.system.characteristics.t.bonus) let msg = await this.actor.applyBasicDamage(damage, {suppressMsg : true, damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL}); -msg += ` (ignore ${metalAP} PA métalliques sur ${game.wfrp4e.config.locations[loc]})` +msg += ` (ignored ${metalAP} metal AP on ${game.wfrp4e.config.locations[loc]})` this.script.scriptMessage(msg) diff --git a/scripts/V9wD9FWHWxZUOGSI.js b/scripts/V9wD9FWHWxZUOGSI.js index 382037e..c0e2cb8 100644 --- a/scripts/V9wD9FWHWxZUOGSI.js +++ b/scripts/V9wD9FWHWxZUOGSI.js @@ -4,12 +4,12 @@ roll.toMessage(this.script.getChatData()); if (fatigued > this.actor.characteristics.wp.bonus) { this.actor.addCondition("unconscious") - this.script.scriptNotification(`Tombe Incoscient`) + this.script.scriptNotification(`Fell Unconscious`) } else { fatigued = Math.max(0, fatigued) if (fatigued) this.actor.addCondition("fatigued", fatigued) - this.script.scriptNotification(`Subit ${fatigued} état Fatigué`) + this.script.scriptNotification(`Gained ${fatigued} conditions`) } \ No newline at end of file diff --git a/scripts/V9xm4X1x3lPYTQaI.js b/scripts/V9xm4X1x3lPYTQaI.js index 549adb9..200cae7 100644 --- a/scripts/V9xm4X1x3lPYTQaI.js +++ b/scripts/V9xm4X1x3lPYTQaI.js @@ -1,6 +1,6 @@ if (args.extendedTest?.getFlag("wfrp4e", "fear")) { - this.script.scriptNotification("Immunisé à la Peur"); + this.script.scriptNotification("Immune to Fear"); args.extendedTest.delete(); args.abort = true; } \ No newline at end of file diff --git a/scripts/V9zm2hKUVLVZtAcN.js b/scripts/V9zm2hKUVLVZtAcN.js index 3ce6873..f0c1db7 100644 --- a/scripts/V9zm2hKUVLVZtAcN.js +++ b/scripts/V9zm2hKUVLVZtAcN.js @@ -10,9 +10,9 @@ let characteristics = { "wp" : 10, "fel" : 10 } -let skills = ["Charm", "Focalisation", "Entertain (Prophecy)", "Intuition"] +let skills = ["Charm", "Channelling", "Entertain (Prophecy)", "Intuition"] let skillAdvancements = [0, 0, 20, 10] -let talents = ["Detect Artefact", "Menaçant", "Sixième Sens"] +let talents = ["Detect Artefact", "Menacing", "Sixth Sense"] let traits = ["Dooming", "Spellcaster (Lore of Life)", "Ward"] let trappings = [] let items = []; @@ -50,7 +50,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -68,7 +68,7 @@ for (let trait of traits) } catch { } if (!traitItem) { - ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) } traitItem = traitItem.toObject() @@ -91,13 +91,13 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -112,11 +112,22 @@ for (let spell of spells) } else { - ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) } } updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + + +function equip(item) +{ + if (item.type == "armour") + item.worn = true + else if (item.type == "weapon") + item.equipped = true + else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") + item.worn = true +} \ No newline at end of file diff --git a/scripts/VINX6TBAJQznhVcN.js b/scripts/VINX6TBAJQznhVcN.js index 6e90485..87ceb4a 100644 --- a/scripts/VINX6TBAJQznhVcN.js +++ b/scripts/VINX6TBAJQznhVcN.js @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,7 +46,7 @@ const extendedTestData = { ] } } - + } ] }; diff --git a/scripts/VLdF2HPnCrNIgp7a.js b/scripts/VLdF2HPnCrNIgp7a.js index 387201b..a04183d 100644 --- a/scripts/VLdF2HPnCrNIgp7a.js +++ b/scripts/VLdF2HPnCrNIgp7a.js @@ -1,12 +1,12 @@ let items = []; let etiquette = (await fromUuid("Compendium.wfrp4e-core.items.Item.sYbgpSnRqSZWgwFP")).toObject(); -etiquette.name += " (Suivants de Khorne)"; +etiquette.name += " (Followers of Khorne)"; items.push(etiquette); let animosity = (await fromUuid("Compendium.wfrp4e-core.items.Item.0VpT5yubw4UL7j6f")).toObject(); - animosity.system.specification.value = "Suivants de Slaanesh"; + animosity.system.specification.value = "Followers of Slaanesh"; items.push(animosity); diff --git a/scripts/VNOKTzCrFbZ6PJUj.js b/scripts/VNOKTzCrFbZ6PJUj.js index 0674596..ab82da5 100644 --- a/scripts/VNOKTzCrFbZ6PJUj.js +++ b/scripts/VNOKTzCrFbZ6PJUj.js @@ -1 +1 @@ -return !["Emprise sur les animaux", "Résistance", "Survie en extérieur"].includes(args.skill?.name) \ No newline at end of file +return !["Charm Animal", "Endurance", "Outdoor Survival"].includes(args.skill?.name) \ No newline at end of file diff --git a/scripts/VbL0TgaBAmYjrezZ.js b/scripts/VbL0TgaBAmYjrezZ.js index 2f61494..eb99900 100644 --- a/scripts/VbL0TgaBAmYjrezZ.js +++ b/scripts/VbL0TgaBAmYjrezZ.js @@ -1,2 +1,2 @@ -const talents = await Promise.all(["Dur à cuire"].map(game.wfrp4e.utility.findTalent)) +const talents = await Promise.all(["Hardy"].map(game.wfrp4e.utility.findTalent)) this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/VlFUDaKUYoBYKYn0.js b/scripts/VlFUDaKUYoBYKYn0.js index b75c5c1..9c3af2a 100644 --- a/scripts/VlFUDaKUYoBYKYn0.js +++ b/scripts/VlFUDaKUYoBYKYn0.js @@ -3,5 +3,5 @@ await test.roll(); if (test.failed && this.actor.type == "character") { this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) - this.script.scriptMessage("Gain d'1 Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/VqTrKPtxv9hpn0Hr.js b/scripts/VqTrKPtxv9hpn0Hr.js index c785745..f63598a 100644 --- a/scripts/VqTrKPtxv9hpn0Hr.js +++ b/scripts/VqTrKPtxv9hpn0Hr.js @@ -1 +1 @@ -return args.skill?.name != "Langue (Magick)" \ No newline at end of file +return args.skill?.name != "Language (Magick)" \ No newline at end of file diff --git a/scripts/VzO0ZDcTWvaBn4vm.js b/scripts/VzO0ZDcTWvaBn4vm.js index 22bb444..ab2caf1 100644 --- a/scripts/VzO0ZDcTWvaBn4vm.js +++ b/scripts/VzO0ZDcTWvaBn4vm.js @@ -8,6 +8,6 @@ if (args.test.preData.skillName?.includes(game.i18n.localize("NAME.Language")) | args.test.result.description = game.i18n.localize("ROLL.MarginalFailure"); } args.test.result.outcome = "failure" - args.test.result.other.push(`${this.effect.name}: Maximum -0 DR`) + args.test.result.other.push(`${this.effect.name}: Maximum -0 SL`) } } \ No newline at end of file diff --git a/scripts/W9nyUNQStMr1pUHJ.js b/scripts/W9nyUNQStMr1pUHJ.js index 9e2119c..8a0c850 100644 --- a/scripts/W9nyUNQStMr1pUHJ.js +++ b/scripts/W9nyUNQStMr1pUHJ.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.hitloc.value == this.item.system.location.key) { args.actor.addCondition("bleeding", 1); - this.script.scriptNotification("Ajout de Hémorragique"); -} + this.script.scriptNotification("Added Bleeding") +} \ No newline at end of file diff --git a/scripts/WB6sIpLEPC8YPX67.js b/scripts/WB6sIpLEPC8YPX67.js index 2c65a63..48584b2 100644 --- a/scripts/WB6sIpLEPC8YPX67.js +++ b/scripts/WB6sIpLEPC8YPX67.js @@ -1,6 +1,6 @@ if (args.options.dodge) { args.abort = true; - this.script.scriptNotification("Ne peut pas esquiver!") + this.script.scriptNotification("Cannot Dodge!") } return ["t", "int", "wp", "fel"].includes(args.characteristic) \ No newline at end of file diff --git a/scripts/WO5n7Vbx8AgoVrwC.js b/scripts/WO5n7Vbx8AgoVrwC.js index eb2b2f4..18d9585 100644 --- a/scripts/WO5n7Vbx8AgoVrwC.js +++ b/scripts/WO5n7Vbx8AgoVrwC.js @@ -1,74 +1,84 @@ -let characteristics = { - "ws" : 0, - "bs" : 0, - "s" : 0, - "t" : 0, - "i" : 10, - "ag" : 0, - "dex" : 0, - "int" : 10, - "wp" : 5, - "fel" : 5 -} -let skills = ["Intuition", "Lore (Local)", "Perception"] -let skillAdvancements = [10, 10, 10] -let talents = [] -let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Arme simple"] -let items = [] + let characteristics = { + "ws" : 0, + "bs" : 0, + "s" : 0, + "t" : 0, + "i" : 10, + "ag" : 0, + "dex" : 0, + "int" : 10, + "wp" : 5, + "fel" : 5 + } + let skills = ["Intuition", "Lore (Local)", "Perception"] + let skillAdvancements = [10, 10, 10] + let talents = [] + let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Hand Weapon"] + let items = [] -let updateObj = this.actor.toObject(); - -for (let ch in characteristics) -{ - updateObj.system.characteristics[ch].modifier += characteristics[ch]; -} - -for (let index = 0; index < skills.length; index++) -{ - let skill = skills[index] - let skillItem; - skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") - if (skillItem) - skillItem.system.advances.value += skillAdvancements[index] - else - { - skillItem = await game.wfrp4e.utility.findSkill(skill) - skillItem = skillItem.toObject(); - skillItem.system.advances.value = skillAdvancements[index]; - items.push(skillItem); - } -} - -for (let talent of talents) -{ - let talentItem = await game.wfrp4e.utility.findTalent(talent) - if (talentItem) - { - items.push(talentItem.toObject()); - } - else - { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) - } -} - -for (let trapping of trappings) -{ - let trappingItem = await game.wfrp4e.utility.findItem(trapping) - if (trappingItem) - { - trappingItem = trappingItem.toObject() - - trappingItem.system.equipped.value = true; - - items.push(trappingItem); - } - else - { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) - } -} - - -await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file + let updateObj = this.actor.toObject(); + + for (let ch in characteristics) + { + updateObj.system.characteristics[ch].modifier += characteristics[ch]; + } + + for (let index = 0; index < skills.length; index++) + { + let skill = skills[index] + let skillItem; + skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") + if (skillItem) + skillItem.system.advances.value += skillAdvancements[index] + else + { + skillItem = await game.wfrp4e.utility.findSkill(skill) + skillItem = skillItem.toObject(); + skillItem.system.advances.value = skillAdvancements[index]; + items.push(skillItem); + } + } + + for (let talent of talents) + { + let talentItem = await game.wfrp4e.utility.findTalent(talent) + if (talentItem) + { + items.push(talentItem.toObject()); + } + else + { + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) + } + } + + for (let trapping of trappings) + { + let trappingItem = await game.wfrp4e.utility.findItem(trapping) + if (trappingItem) + { + trappingItem = trappingItem.toObject() + + equip(trappingItem) + + items.push(trappingItem); + } + else + { + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) + } + } + + + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); + + function equip(item) + { + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true + } \ No newline at end of file diff --git a/scripts/WR0Kqn8CF5iwToak.js b/scripts/WR0Kqn8CF5iwToak.js index 0a34397..60fd32e 100644 --- a/scripts/WR0Kqn8CF5iwToak.js +++ b/scripts/WR0Kqn8CF5iwToak.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Tailor)'; const difficulty = 'difficult'; const target = 40; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,14 +38,14 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] } - + } } ] }; diff --git a/scripts/WiYtNU2Y5BJfIpeM.js b/scripts/WiYtNU2Y5BJfIpeM.js index 3af96fd..837c65a 100644 --- a/scripts/WiYtNU2Y5BJfIpeM.js +++ b/scripts/WiYtNU2Y5BJfIpeM.js @@ -6,7 +6,7 @@ if (location) if (dropped.length) { - this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); diff --git a/scripts/Wo4wQKUxSItAhRzZ.js b/scripts/Wo4wQKUxSItAhRzZ.js index d3828b8..0923471 100644 --- a/scripts/Wo4wQKUxSItAhRzZ.js +++ b/scripts/Wo4wQKUxSItAhRzZ.js @@ -1,9 +1,8 @@ let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); -let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); // If channelling corresponding lore -if (args.type == "channelling" && spellLore == lore) +if (args.type == "channelling" && args.spell.system.lore.value == lore) args.prefillModifiers.slBonus += 3 // If channelling or casting different lore -else if (spellLore != lore && args.spell.system.lore.value != "petty") +else if (args.spell.system.lore.value != lore && args.spell.system.lore.value != "petty") args.prefillModifiers.slBonus -= 1 \ No newline at end of file diff --git a/scripts/X3vpmNUj9SL2CDnF.js b/scripts/X3vpmNUj9SL2CDnF.js index 2be4884..329c5ee 100644 --- a/scripts/X3vpmNUj9SL2CDnF.js +++ b/scripts/X3vpmNUj9SL2CDnF.js @@ -1,2 +1,2 @@ let item = args.actor.items.find(i => i.name.includes("Flying Jib")); -item.name += ` (Désactivé par ${this.item.name})`; \ No newline at end of file +item.name += ` (Disabled by ${this.item.name})`; \ No newline at end of file diff --git a/scripts/XO9m2AvFRAAeEuty.js b/scripts/XO9m2AvFRAAeEuty.js index 1f60a0f..67412d0 100644 --- a/scripts/XO9m2AvFRAAeEuty.js +++ b/scripts/XO9m2AvFRAAeEuty.js @@ -1,5 +1,5 @@ if (args.test.options.fieldDressing && args.test.result.reversed) { args.test.data.result.SL = "+" + Math.min(1, Number(args.test.data.result.SL)) - args.test.result.other.push(`${this.effect.name}: DR limité à 1`) + args.test.result.other.push(`${this.effect.name}: SL limited to 1`) } \ No newline at end of file diff --git a/scripts/XcvDYNZgJ2rpAdDV.js b/scripts/XcvDYNZgJ2rpAdDV.js index 407b12a..ba3519f 100644 --- a/scripts/XcvDYNZgJ2rpAdDV.js +++ b/scripts/XcvDYNZgJ2rpAdDV.js @@ -1,6 +1,7 @@ -let fatigued = this.actor.hasCondition("fatigued") -if (!fatigued) { - this.actor.addCondition("fatigued") - ui.notifications.notify("Etat Fatigué ajouté à " + this.actor.name + " qui ne peut être enlevé tant que le symptôme de Malaise est présent.") -} \ No newline at end of file + let fatigued = this.actor.hasCondition("fatigued") + if (!fatigued) + { + this.actor.addCondition("fatigued") + ui.notifications.notify("Fatigued added to " + this.actor.name + " which cannot be removed until the Malaise symptom is gone.") + } \ No newline at end of file diff --git a/scripts/Xe8ijqWU3bbtq7ZY.js b/scripts/Xe8ijqWU3bbtq7ZY.js index 86ba86b..f232698 100644 --- a/scripts/Xe8ijqWU3bbtq7ZY.js +++ b/scripts/Xe8ijqWU3bbtq7ZY.js @@ -1,5 +1,5 @@ if (args.opposedTest.defenderTest.actor.Species.toLowerCase().includes("skaven")) { args.addImpact = true; - args.opposedTest.result.other.push("Impact contre les Skavens") + args.opposedTest.result.other.push("Impact against Skaven") } \ No newline at end of file diff --git a/scripts/Y8J66v8VTKUASGuK.js b/scripts/Y8J66v8VTKUASGuK.js index db00064..956a94a 100644 --- a/scripts/Y8J66v8VTKUASGuK.js +++ b/scripts/Y8J66v8VTKUASGuK.js @@ -1,9 +1,9 @@ if (!this.actor.effects.find(e => e.isCondition)) { - return this.script.scriptNotification("Aucun état sur cet acteur") + return this.script.scriptNotification("No Conditions on this Actor") } -let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choisissez un état") +let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choose a Condition") if (choice[0]) { diff --git a/scripts/YDqpKJVy8ijEKdLX.js b/scripts/YDqpKJVy8ijEKdLX.js index 8038377..3cc93cf 100644 --- a/scripts/YDqpKJVy8ijEKdLX.js +++ b/scripts/YDqpKJVy8ijEKdLX.js @@ -1 +1 @@ -return !(this.actor.attacker && (args.skill?.name.includes("Corps à corps (Base)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"))) \ No newline at end of file +return !(this.actor.attacker && (args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"))) \ No newline at end of file diff --git a/scripts/YQ2LnLxp0xgy3meI.js b/scripts/YQ2LnLxp0xgy3meI.js index 64fbd33..8fe36d5 100644 --- a/scripts/YQ2LnLxp0xgy3meI.js +++ b/scripts/YQ2LnLxp0xgy3meI.js @@ -1,3 +1,3 @@ if (args.test.preData.options?.corruption && args.test.failed) { - args.test?.result?.other.push("Reçoit 1 Point de Corruption de " + this.effect.name) + args.test?.result?.other.push("Gain additional +1 Corruption from " + this.effect.name) } \ No newline at end of file diff --git a/scripts/YRUTliBzAQvncGNX.js b/scripts/YRUTliBzAQvncGNX.js index 3018f09..c29c046 100644 --- a/scripts/YRUTliBzAQvncGNX.js +++ b/scripts/YRUTliBzAQvncGNX.js @@ -1,2 +1,2 @@ this.actor.addCondition("fatigued"); -this.script.scriptNotification("Ajout de Fatigué") \ No newline at end of file +this.script.scriptNotification("Added Fatigued") \ No newline at end of file diff --git a/scripts/YaKnYEbmmZZtByJc.js b/scripts/YaKnYEbmmZZtByJc.js index fd78e57..65dd7e3 100644 --- a/scripts/YaKnYEbmmZZtByJc.js +++ b/scripts/YaKnYEbmmZZtByJc.js @@ -1,5 +1,5 @@ if (args.opposedTest.attackerTest.options.ballockKnife) { args.weaponProperties.impale = true; - args.extraMessages.push(`${this.item.name}: Ajout de Empalement`) + args.extraMessages.push(`${this.item.name}: Impale Added`) } \ No newline at end of file diff --git a/scripts/YwLEw4BiKq4EMy57.js b/scripts/YwLEw4BiKq4EMy57.js index b354f07..277a43a 100644 --- a/scripts/YwLEw4BiKq4EMy57.js +++ b/scripts/YwLEw4BiKq4EMy57.js @@ -5,10 +5,10 @@ if (args.actor.characteristics.fel.value <= 0) fel_gain += (await new Roll("2d10").roll()).total } -let msg = `${this.actor.prototypeToken.name} gagne ${i_gain} en Intelligence` +let msg = `${this.actor.prototypeToken.name} gains ${i_gain} Intelligence` if (fel_gain) - msg += ` et ${fel_gain} en Sociabilité` + msg += ` and ${fel_gain} Fellowship` let newInt = i_gain + args.actor.characteristics.int.modifier diff --git a/scripts/YySjPfSAPdMAfjsh.js b/scripts/YySjPfSAPdMAfjsh.js index d23d05f..f6d648c 100644 --- a/scripts/YySjPfSAPdMAfjsh.js +++ b/scripts/YySjPfSAPdMAfjsh.js @@ -1,4 +1,4 @@ -let talents = ["Charge Berserk", "Vigilance", "Combat Instinctif", "Assaut féroce", "Endurci", "Résistance à la Magie", "Résistant (Magie)", "Déterminé", "Coup puissant", "Guerrier né"]; +let talents = ["Berserk Charge", "Combat Aware", "Combat Reflexes", "Furious Assault", "Implacable", "Magic Resistance", "Resistance (Magic)", "Resolute", "Strike Mighty Blow", "Warrior Born"]; let currentCareer = this.actor.system.currentCareer; if (!currentCareer) return; diff --git a/scripts/Z52yZDm6lP6fOP3O.js b/scripts/Z52yZDm6lP6fOP3O.js index ecede41..07e9c66 100644 --- a/scripts/Z52yZDm6lP6fOP3O.js +++ b/scripts/Z52yZDm6lP6fOP3O.js @@ -1,6 +1,6 @@ let ablaze = this.actor.hasCondition("ablaze") if (ablaze) { - this.script.scriptNotification("Immunisé à En Flammes"); + this.script.scriptNotification("Immune to Ablaze"); ablaze.delete() } \ No newline at end of file diff --git a/scripts/Z6OmmC0irJzxSnMH.js b/scripts/Z6OmmC0irJzxSnMH.js index a2c9377..83bc8f3 100644 --- a/scripts/Z6OmmC0irJzxSnMH.js +++ b/scripts/Z6OmmC0irJzxSnMH.js @@ -1,7 +1,7 @@ let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") } let message = "" -let wounds = foundry.utils.duplicate(this.actor.status.wounds) +let wounds = duplicate(this.actor.status.wounds) let regenRoll = await new Roll("1d10").roll(); let regen = regenRoll.total; @@ -15,20 +15,20 @@ if (wounds.value > 0) { wounds.value = wounds.max } - message += `${this.actor.name} guérit de ${regen} Points de Blessure.` + message += `${this.actor.name} regains ${regen} Wounds.` if (regen == 10) { - message += `
De plus, il guérit d'une Blessure Critique.` + message += `
Additionally, they regenerate a Critical Wound.` } } else if (regen >= 8) { - message += `${this.actor.name} a obtenu un ${regen} et guérit 1 Point de Blessure.` + message += `${this.actor.name} rolled a ${regen} and regains 1 Wound.` wounds.value += 1 if (regen == 10) { - message += `
De plus, il guérit d'une Blessure Critique.` + message += `
Additionally, they regenerate a Critical Wound.` } } else diff --git a/scripts/Z6jNlyZMECkW4Hon.js b/scripts/Z6jNlyZMECkW4Hon.js index f219d42..3ca47af 100644 --- a/scripts/Z6jNlyZMECkW4Hon.js +++ b/scripts/Z6jNlyZMECkW4Hon.js @@ -1,13 +1,13 @@ -let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts", true); +let spells = await warhammer.utility.findAllItems("spell", "Loading Spells", true); let choice = await ItemDialog.create(spells, 1); if (choice[0]) { - this.script.scriptMessage(`Choisir @UUID[${choice[0].uuid}]{${choice[0].name}}`) + this.script.scriptMessage(`Chose @UUID[${choice[0].uuid}]{${choice[0].name}}`) let spell = (await fromUuid(choice[0].uuid)).toObject(); // Might be an index so retrieve item object for sure setProperty(spell, "flags.wfrp4e.boonOfTzeentch", true); - spell.system.wind.value = "Focalisation (Dhar)"; + spell.system.wind.value = "Channelling (Dhar)"; spell.system.memorized.value = true; this.actor.createEmbeddedDocuments("Item", [spell], {fromEffect: this.effect.id}) } \ No newline at end of file diff --git a/scripts/ZCBcwbVFHFTFRntb.js b/scripts/ZCBcwbVFHFTFRntb.js index 6ca9c96..da61c9c 100644 --- a/scripts/ZCBcwbVFHFTFRntb.js +++ b/scripts/ZCBcwbVFHFTFRntb.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpentry)'; const difficulty = 'easy'; const target = 10; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,14 +38,14 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] } - + } } ] }; diff --git a/scripts/ZCuOjLAeENKN1Q4L.js b/scripts/ZCuOjLAeENKN1Q4L.js index 315c53d..88928db 100644 --- a/scripts/ZCuOjLAeENKN1Q4L.js +++ b/scripts/ZCuOjLAeENKN1Q4L.js @@ -1,7 +1,7 @@ let halve; if (args.opposedTest.attackerTest.item?.type != "spell") { - halve = await Dialog.confirm({title : this.effect.name, content : "Diviser les Dégâts? (Divise les dégats de Feu)"}) + halve = await Dialog.confirm({title : this.effect.name, content : "Halve Damage? (Halves Damage from all fire)"}) } else { @@ -11,5 +11,5 @@ else if (halve) { args.totalWoundLoss /= 2; - args.modifiers.other.push({label : this.effect.name, details : "Divisé", value : "× 0.5"}) + args.modifiers.other.push({label : this.effect.name, details : "Halved", value : "× 0.5"}) } \ No newline at end of file diff --git a/scripts/ZNW3ubbKIYXAyE48.js b/scripts/ZNW3ubbKIYXAyE48.js index 7ed4b06..8669753 100644 --- a/scripts/ZNW3ubbKIYXAyE48.js +++ b/scripts/ZNW3ubbKIYXAyE48.js @@ -1,8 +1,8 @@ -let wounds = this.actor.itemTypes.disease.filter(i => i.name == "Blessure Purulente" && i.system.duration.active); +let wounds = this.actor.itemTypes.disease.filter(i => i.name == "Festering Wound" && i.system.duration.active); let selected; if (wounds.length == 0) { - return this.script.scriptNotification("Aucune Blessure Purulente!"); + return this.script.scriptNotification("No Festering Wounds!"); } else if (wounds.length == 1) { @@ -23,7 +23,7 @@ if (selected) if (SL >= 0) { selected.update({"system.duration.value" : selected.system.duration.value - SL}) - this.script.scriptMessage(`${selected.name} durée réduite de ${SL}!`) + this.script.scriptMessage(`${selected.name} duration reduced by ${SL}!`) } } } \ No newline at end of file diff --git a/scripts/ZNu4B0OdjkM9lmtu.js b/scripts/ZNu4B0OdjkM9lmtu.js index 45b796e..2177c29 100644 --- a/scripts/ZNu4B0OdjkM9lmtu.js +++ b/scripts/ZNu4B0OdjkM9lmtu.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.9h82z72XGo9tfgQS") let data = item.toObject(); -data.name = data.name += " (Vue)" +data.name = data.name += " (Vision)" this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/ZRoG7GiMDQWso6gN.js b/scripts/ZRoG7GiMDQWso6gN.js index 6059262..3dbc1f6 100644 --- a/scripts/ZRoG7GiMDQWso6gN.js +++ b/scripts/ZRoG7GiMDQWso6gN.js @@ -1,4 +1,4 @@ -const repaired_message = `

Réparation finie ${this.item.name}.

`; +const repaired_message = `

Finished repairing ${this.item.name}.

`; const test = 'Trade (Carpentry)'; const difficulty = 'difficult'; const target = 30; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,14 +38,14 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] } - + } } ] }; diff --git a/scripts/Ze9E2zR1GFGWGMVH.js b/scripts/Ze9E2zR1GFGWGMVH.js index 1550f81..1cc8e6f 100644 --- a/scripts/Ze9E2zR1GFGWGMVH.js +++ b/scripts/Ze9E2zR1GFGWGMVH.js @@ -1 +1 @@ -return ["Crochetage", "Escamotage", "Focalisation (Ulgu)"].includes(args.skill?.name) \ No newline at end of file +return ["Pick Lock", "Sleight of Hand", "Channelling (Ulgu)"].includes(args.skill?.name) \ No newline at end of file diff --git a/scripts/a02tlRCXpaoaDjSN.js b/scripts/a02tlRCXpaoaDjSN.js index 07a1b7d..4334891 100644 --- a/scripts/a02tlRCXpaoaDjSN.js +++ b/scripts/a02tlRCXpaoaDjSN.js @@ -5,7 +5,7 @@ careers.forEach(c => { c.id = c._id; } }); -let choice = await ItemDialog.create(careers, 1, "Choisissez la carrière de votre double identité"); +let choice = await ItemDialog.create(careers, 1, "Choose Double Life Career"); if (choice[0]) { let career = await fromUuid(choice[0].uuid); diff --git a/scripts/a4Aza4a9v8JMU8dC.js b/scripts/a4Aza4a9v8JMU8dC.js index 845cf2e..7ec136f 100644 --- a/scripts/a4Aza4a9v8JMU8dC.js +++ b/scripts/a4Aza4a9v8JMU8dC.js @@ -1,2 +1,2 @@ -const talents = await Promise.all(["Frénésie", "Résistance à la Magie"].map(game.wfrp4e.utility.findTalent)) +const talents = await Promise.all(["Frenzy", "Magic Resistance"].map(game.wfrp4e.utility.findTalent)) this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/a7pEvCycVnFBXGAQ.js b/scripts/a7pEvCycVnFBXGAQ.js index 4249b18..604c31c 100644 --- a/scripts/a7pEvCycVnFBXGAQ.js +++ b/scripts/a7pEvCycVnFBXGAQ.js @@ -1,4 +1,4 @@ -let test = await this.actor.setupCharacteristic("i", {skipTargets: true, appendTitle : " - Assomé", fields : {difficulty : "easy"}}) +let test = await this.actor.setupCharacteristic("i", {skipTargets: true, appendTitle : " - Stunned", fields : {difficulty : "easy"}}) await test.roll(); if (!test.succeeded) diff --git a/scripts/a8i0sA1RBnD8nHZt.js b/scripts/a8i0sA1RBnD8nHZt.js index d8ce792..b78fb2c 100644 --- a/scripts/a8i0sA1RBnD8nHZt.js +++ b/scripts/a8i0sA1RBnD8nHZt.js @@ -4,32 +4,39 @@ let targetedItem = this.actor.items.get(this.effect.flags.wfrp4e.itemTargets[0]) let qualities = foundry.utils.deepClone(game.wfrp4e.config.itemQualities); let flaws = foundry.utils.deepClone(game.wfrp4e.config.itemFlaws); -if (targetedItem.type == "weapon") { - foundry.utils.mergeObject(qualities, game.wfrp4e.config.weaponQualities) - foundry.utils.mergeObject(flaws, game.wfrp4e.config.weaponFlaws) +if (targetedItem.type == "weapon") +{ + mergeObject(qualities, game.wfrp4e.config.weaponQualities) + mergeObject(flaws, game.wfrp4e.config.weaponFlaws) } -else if (targetedItem.type == "armour") { - foundry.utils.mergeObject(qualities, game.wfrp4e.config.armorQualities) - foundry.utils.mergeObject(flaws, game.wfrp4e.config.armorFlaws) +else if (targetedItem.type == "armour") +{ + mergeObject(qualities, game.wfrp4e.config.armorQualities) + mergeObject(flaws, game.wfrp4e.config.armorFlaws) } -for (let q in qualities) { - // If the weapon already has a flaw, don't put it in the dialog - if (targetedItem.system.properties.qualities[q]) { - delete qualities[q] - } +for(let q in qualities) +{ + // If the weapon already has a flaw, don't put it in the dialog + if (targetedItem.system.properties.qualities[q]) + { + delete qualities[q] + } } -for (let f in flaws) { - // If a weapon doesn't have a flaw, don't put it in the dialog - if (!targetedItem.system.properties.flaws[f]) { - delete flaws[f] - } +for(let f in flaws) +{ + // If a weapon doesn't have a flaw, don't put it in the dialog + if (!targetedItem.system.properties.flaws[f]) + { + delete flaws[f] + } } - -let added = await ItemDialog.create(ItemDialog.objectToArray(qualities), "unlimited", "Choisissez la Qualité à ajouter"); + +let added = await ItemDialog.create(ItemDialog.objectToArray(qualities), "unlimited", "Choose Qualities to add"); let removed = [] -if (!foundry.utils.isEmpty(flaws)) { - removed = await ItemDialog.create(ItemDialog.objectToArray(flaws), "unlimited", "Choisissez le Défaut à enlever"); +if (!foundry.utils.isEmpty(flaws)) +{ + removed = await ItemDialog.create(ItemDialog.objectToArray(flaws), "unlimited", "Choose Flaws to remove"); } -this.effect.updateSource({ "flags.wfrp4e.propertiesChanged": { added: added.map(i => i.id), removed: removed.map(i => i.id) } }) +this.effect.updateSource({"flags.wfrp4e.propertiesChanged" : {added : added.map(i => i.id), removed : removed.map(i => i.id)}}) diff --git a/scripts/aCVtaW8ag1WibcAr.js b/scripts/aCVtaW8ag1WibcAr.js index 909f231..bf9b92d 100644 --- a/scripts/aCVtaW8ag1WibcAr.js +++ b/scripts/aCVtaW8ag1WibcAr.js @@ -1,2 +1,2 @@ args.attacker.modifyWounds(1) -this.script.scriptMessage(`${args.attacker.prototypeToken.name} récupère 1 Blessure.`) \ No newline at end of file +this.script.scriptMessage(`${args.attacker.prototypeToken.name} recovers 1 Wound.`) \ No newline at end of file diff --git a/scripts/abLWYtNTu1UVDQAs.js b/scripts/abLWYtNTu1UVDQAs.js index 68c5009..547de25 100644 --- a/scripts/abLWYtNTu1UVDQAs.js +++ b/scripts/abLWYtNTu1UVDQAs.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.hitloc.value == this.effect.flags.wfrp4e.location) // e.g. 'head', rLeg, 'lArm' { - this.scriptMessage(`Reçoit l'état @Condition[Aveuglé] comme ${this.item.name} a été touché`); + this.scriptMessage(`Gains a @Condition[Blinded] condition as their ${this.item.name} was hit`); this.actor.addCondition("blinded"); } \ No newline at end of file diff --git a/scripts/b2Kb4IuD22RhKhR0.js b/scripts/b2Kb4IuD22RhKhR0.js index cd7e0ff..fcbecf9 100644 --- a/scripts/b2Kb4IuD22RhKhR0.js +++ b/scripts/b2Kb4IuD22RhKhR0.js @@ -6,5 +6,5 @@ if (actor) } else { - this.script.scriptNotification("Aucune cible!", "error") + this.script.scriptNotification("No target!", "error") } \ No newline at end of file diff --git a/scripts/bEVlJOOA1kLlzpWx.js b/scripts/bEVlJOOA1kLlzpWx.js index 3cd6250..4a07c15 100644 --- a/scripts/bEVlJOOA1kLlzpWx.js +++ b/scripts/bEVlJOOA1kLlzpWx.js @@ -10,10 +10,10 @@ let characteristics = { "wp" : 30, "fel" : 10 } -let skills = ["Focalisation", "Calme", "Esquive", "Divertissement (Narration)", "Intuition", "Langue (Magick)", "Commandement" , "Savoir (Magie)" , "Savoir (Théologie)", "Perception"] +let skills = ["Channelling", "Cool", "Dodge", "Entertain (Storytelling)", "Intuition", "Language (Magick)", "Leadership", "Lore (Magic)", "Lore (Theology)", "Perception"] let skillAdvancements = [20, 25, 20, 25, 30, 25, 15, 20, 10, 30] -let talents = ["Harmonisation Aethyrique", "Magie des Arcanes", "Diction Instinctive", "Diction Instinctive", "Chance", "Sens de la Magie", "Menaçant", "Magie Mineure", "Seconde Vue", "Sixième Sens"] -let trappings = ["Arme simple", "(2M) Bâton de combat", "Ritual Dress incorporating many ingredients and fetishes"] +let talents = ["Aethyric Attunement", "Arcane Magic", "Instinctive Diction", "Instinctive Diction", "Luck", "Magical Sense", "Menacing", "Petty Magic", "Second Sight", "Sixth Sense"] +let trappings = ["Hand Weapon", "Quarterstaff", "Ritual Dress incorporating many ingredients and fetishes"] let items = []; let updateObj = this.actor.toObject(); @@ -48,7 +48,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -59,14 +59,14 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { items.push({name : trapping, type : "trapping", "system.trappingType.value" : "clothingAccessories"}) - //ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + //ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -74,3 +74,13 @@ updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/bLkt8VpTTPoTxW0W.js b/scripts/bLkt8VpTTPoTxW0W.js index 97a1d9c..73567e8 100644 --- a/scripts/bLkt8VpTTPoTxW0W.js +++ b/scripts/bLkt8VpTTPoTxW0W.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.hitloc.value == "body" && args.totalWoundLoss > 0) { args.actor.addCondition("bleeding", 1); - this.script.scriptNotification("Ajout d'Hémorragie") + this.script.scriptNotification("Added Bleeding") } diff --git a/scripts/bMEFHPCei2evnZZw.js b/scripts/bMEFHPCei2evnZZw.js index c362d32..7eb94d5 100644 --- a/scripts/bMEFHPCei2evnZZw.js +++ b/scripts/bMEFHPCei2evnZZw.js @@ -9,6 +9,6 @@ if (args.totalWoundLoss > 0) args.actor.addCondition("poisoned") this.script.scriptMessage(` ${this.effect.name}:
- ${args.actor.name} reçoit un état @Condition[Empoisonné], qui peut être résisté avec un Test de Résistance Difficile (-10).`, + ${args.actor.name} has been given a @Condition[Poisoned] Condition, which can be resisted with a Difficult (-10) Endurance Test.`, {whisper: ChatMessage.getWhisperRecipients("GM")}) } diff --git a/scripts/bRiFHPC1StKxqNIC.js b/scripts/bRiFHPC1StKxqNIC.js index fd2797b..0879a8c 100644 --- a/scripts/bRiFHPC1StKxqNIC.js +++ b/scripts/bRiFHPC1StKxqNIC.js @@ -1,5 +1,5 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({title : "Sturdy Value", text : "Enter the Sturdy value"}); + let value = await ValueDialog.create("Sturdy Value", "Enter the Sturdy value"); if (value) { this.item.updateSource({"system.specification.value" : value}); } diff --git a/scripts/btPrQkGRKUkhNe3N.js b/scripts/btPrQkGRKUkhNe3N.js index 59219d5..8c320ab 100644 --- a/scripts/btPrQkGRKUkhNe3N.js +++ b/scripts/btPrQkGRKUkhNe3N.js @@ -1 +1 @@ -return args.skill?.name == "Métier (Apothicaire)" \ No newline at end of file +return args.skill?.name == "Trade (Apothecary)" \ No newline at end of file diff --git a/scripts/cJFDnq1HI4gXWcJo.js b/scripts/cJFDnq1HI4gXWcJo.js index 0accb38..427e3a8 100644 --- a/scripts/cJFDnq1HI4gXWcJo.js +++ b/scripts/cJFDnq1HI4gXWcJo.js @@ -1,6 +1,6 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({text: "Enter Ward value", title : this.effect.name}); + let value = await ValueDialog.create("Enter Ward value", this.effect.name); if (value) { this.item.updateSource({"system.specification.value" : value}); diff --git a/scripts/cK1Jysfu5IMUUH0C.js b/scripts/cK1Jysfu5IMUUH0C.js index dde1591..7c148b7 100644 --- a/scripts/cK1Jysfu5IMUUH0C.js +++ b/scripts/cK1Jysfu5IMUUH0C.js @@ -4,7 +4,7 @@ if (!args.ward) if (args.wardRoll >= args.ward && args.ward > 3) { let newWard = Math.max(3, args.ward - 1) - this.script.scriptMessage("Protection améliorée de " + newWard) + this.script.scriptMessage("Ward improved to " + newWard) this.effect.setFlag("wfrp4e", "ward", newWard) } diff --git a/scripts/cTYNaKbepMwqYsZ8.js b/scripts/cTYNaKbepMwqYsZ8.js index 2ad2d51..20d2172 100644 --- a/scripts/cTYNaKbepMwqYsZ8.js +++ b/scripts/cTYNaKbepMwqYsZ8.js @@ -1,14 +1,16 @@ -let difficulty = "" -if (this.effect.name.includes("Moderate")) - difficulty = "easy" -else if (this.effect.name.includes("Severe")) - difficulty = "average" -else - difficulty = "veasy" - -let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), { context: { failure: this.actor.name + " meurt du Fléau" }, fields: { difficulty }, appendTitle: " - Blight" }) -await test.roll(); -if (test.failed) { - this.actor.addCondition("dead"); -} + let difficulty = "" + if (this.effect.name.includes("Moderate")) + difficulty = "easy" + else if (this.effect.name.includes("Severe")) + difficulty = "average" + else + difficulty = "veasy" + + let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {context : {failure : this.actor.name + " dies from Blight"}, fields: {difficulty}, appendTitle : " - Blight"}) + await test.roll(); + if (test.failed) + { + this.actor.addCondition("dead"); + } + \ No newline at end of file diff --git a/scripts/cUnbADgOQ4fMKgrH.js b/scripts/cUnbADgOQ4fMKgrH.js index 93bb499..75b0494 100644 --- a/scripts/cUnbADgOQ4fMKgrH.js +++ b/scripts/cUnbADgOQ4fMKgrH.js @@ -9,7 +9,7 @@ if (this.item.name.includes("(")) else { - group = await ValueDialog.create({text : "Enter Hatred Group", title : "Hatred Group"}) + group = await ValueDialog.create("Enter Hatred Group", "Hatred Group") this.item.updateSource({name : this.item.name + ` (${group})`, "system.tests.value" : this.item.system.tests.value.replace("Group", group)}) this.effect.updateSource({name : this.effect.name + ` (${group})`}) diff --git a/scripts/chUpiI3el8IO8MSs.js b/scripts/chUpiI3el8IO8MSs.js index 94a9fa2..714ea80 100644 --- a/scripts/chUpiI3el8IO8MSs.js +++ b/scripts/chUpiI3el8IO8MSs.js @@ -1,6 +1,6 @@ -if (args.opposedTest.attackerTest.item?.name.includes("Morsure")) +if (args.opposedTest.attackerTest.item?.name.includes("Bite")) { let woundsGained = args.totalWoundLoss; - this.script.scriptMessage(`Récupère ${woundsGained} Blessures`, { whisper: ChatMessage.getWhisperRecipients("GM") }) + this.script.scriptMessage(`Gains ${woundsGained} Wounds`, { whisper: ChatMessage.getWhisperRecipients("GM") }) this.actor.modifyWounds(woundsGained) } \ No newline at end of file diff --git a/scripts/dIxYt421K010eogY.js b/scripts/dIxYt421K010eogY.js index 529ded9..b628745 100644 --- a/scripts/dIxYt421K010eogY.js +++ b/scripts/dIxYt421K010eogY.js @@ -1,6 +1,6 @@ let modifier = 0 - if (this.effect.name.includes("moderat")) + if (this.effect.name.includes("Moderate")) modifier = -20 else modifier = -10 diff --git a/scripts/dM449AU0FQRnOc3l.js b/scripts/dM449AU0FQRnOc3l.js index 6fd5fd9..992c1e4 100644 --- a/scripts/dM449AU0FQRnOc3l.js +++ b/scripts/dM449AU0FQRnOc3l.js @@ -1,4 +1,4 @@ if (args.opposedTest.result.hitloc.value == "head") { - args.abort = "Raté - Sans tête" + args.abort = "Missed - Headless" } \ No newline at end of file diff --git a/scripts/dWr3tkFoIzsAgelu.js b/scripts/dWr3tkFoIzsAgelu.js index b153ae5..d674e39 100644 --- a/scripts/dWr3tkFoIzsAgelu.js +++ b/scripts/dWr3tkFoIzsAgelu.js @@ -1,13 +1,11 @@ let injury = this.effect.itemTargets[0] if (injury && this.effect.sourceTest.result.outcome == "success") { - let roll1 = new Roll(injury.system.duration.value) - await roll1.roll() - let days = roll1.total - let num = 1 + Number(this.effect.sourceTest.result.SL); - let roll = await new Roll(num + 'd10').roll() - await roll.toMessage(this.script.getChatData()) - let newDays = Math.max(days - roll.total, 1) - this.actor.updateEmbeddedDocuments("Item", [{ _id: injury.id, 'system.duration.value': newDays }]) - let message = "Blessures réduites à " + newDays + " (-" + roll.total + ") au lieu de " + days - this.script.scriptMessage(message) + let days = new Roll(injury.system.duration.value).roll( {async: false} ).total + let num = 1 + Number(this.effect.sourceTest.result.SL); + let roll = await new Roll(num+'d10').roll({async: false}) + await roll.toMessage(this.script.getChatData()) + let newDays = Math.max(days - roll.total, 1) + this.actor.updateEmbeddedDocuments("Item", [{_id: injury.id, 'system.duration.value': newDays} ]) + let message = "Injury reduces to "+newDays+" (-" + roll.total + ") instead of "+days + this.script.scriptMessage(message) } diff --git a/scripts/dbOSvpgcPjsc2uvq.js b/scripts/dbOSvpgcPjsc2uvq.js index b591df7..38e71e9 100644 --- a/scripts/dbOSvpgcPjsc2uvq.js +++ b/scripts/dbOSvpgcPjsc2uvq.js @@ -1,7 +1,7 @@ let menacing = (await fromUuid("Compendium.wfrp4e-core.items.Item.0hn6UaKq8CoZP2zD")).toObject(); let sense = (await fromUuid("Compendium.wfrp4e-core.items.Item.9h82z72XGo9tfgQS")).toObject(); -sense.name += " (Vue)"; -sense.system.tests.value = sense.system.tests.value.replace("Sens", "Vue") +sense.name += " (Sight)"; +sense.system.tests.value = sense.system.tests.value.replace("Sense", "Sight") this.actor.createEmbeddedDocuments("Item", [menacing, sense], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/dcwY8dCd3PNCEzk6.js b/scripts/dcwY8dCd3PNCEzk6.js index 4b0b023..bba7d38 100644 --- a/scripts/dcwY8dCd3PNCEzk6.js +++ b/scripts/dcwY8dCd3PNCEzk6.js @@ -2,4 +2,4 @@ let current = this.actor.status.fate.value this.actor.update({"system.status.fate.value" : current + 1}) -this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses Points de Destin augmentés de ${current} à ${current + 1}`) \ No newline at end of file +this.script.scriptMessage(`${this.actor.prototypeToken.name} fate points increased from ${current} to ${current + 1}`) \ No newline at end of file diff --git a/scripts/dfEgat3jz4EtWszH.js b/scripts/dfEgat3jz4EtWszH.js index 9e6bec5..91ff1ee 100644 --- a/scripts/dfEgat3jz4EtWszH.js +++ b/scripts/dfEgat3jz4EtWszH.js @@ -1 +1 @@ -return args.skill?.name == "Discrétion (Urbaine)" \ No newline at end of file +return args.skill?.name == "Stealth (Urban)" \ No newline at end of file diff --git a/scripts/dfnCK8jCPXNLM7Gh.js b/scripts/dfnCK8jCPXNLM7Gh.js index 334949b..a80cc5d 100644 --- a/scripts/dfnCK8jCPXNLM7Gh.js +++ b/scripts/dfnCK8jCPXNLM7Gh.js @@ -2,7 +2,7 @@ let aoeDamage = this.effect.sourceTest.result.damage - 5 // Easily handle magic this.script.scriptMessage(await this.actor.applyBasicDamage(aoeDamage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP, suppressMsg : true})) -let test = await this.actor.setupSkill(game.i18n.localize("NAME.Dodge"), {skipTargets: true, appendTitle : ` - En Flammes`}) +let test = await this.actor.setupSkill(game.i18n.localize("NAME.Dodge"), {skipTargets: true, appendTitle : ` - Ablaze`}) await test.roll(); diff --git a/scripts/dtFvpY96RPzNnphq.js b/scripts/dtFvpY96RPzNnphq.js index 3a5cf96..6e1fb69 100644 --- a/scripts/dtFvpY96RPzNnphq.js +++ b/scripts/dtFvpY96RPzNnphq.js @@ -1 +1 @@ -return !(args.skill?.name.includes("Corps à corps (Base)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) \ No newline at end of file +return !(args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) \ No newline at end of file diff --git a/scripts/dwSgcFxKN3S0hLJL.js b/scripts/dwSgcFxKN3S0hLJL.js index b575b9b..334b361 100644 --- a/scripts/dwSgcFxKN3S0hLJL.js +++ b/scripts/dwSgcFxKN3S0hLJL.js @@ -1 +1 @@ -return args.skill?.name != "Corps à corps (Bagarre)" && args.item?.weaponGroup?.value != "brawling" \ No newline at end of file +return args.skill?.name != "Melee (Brawling)" && args.item?.weaponGroup?.value != "brawling" \ No newline at end of file diff --git a/scripts/e34s1XxHckAWfwHt.js b/scripts/e34s1XxHckAWfwHt.js index 76f2e83..bfcbd7c 100644 --- a/scripts/e34s1XxHckAWfwHt.js +++ b/scripts/e34s1XxHckAWfwHt.js @@ -1,4 +1,4 @@ if (args.test.options.beatBlade && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) { - args.test.result.other.push(`${this.effect.name}: L'opposant perd ${Number(args.test.result.SL) + 1} Avantage`) + args.test.result.other.push(`${this.effect.name}: Opponent loses ${Number(args.test.result.SL) + 1} Advantage`) } \ No newline at end of file diff --git a/scripts/e7IxnxePdXSy6L4E.js b/scripts/e7IxnxePdXSy6L4E.js index 5026e54..59daaf1 100644 --- a/scripts/e7IxnxePdXSy6L4E.js +++ b/scripts/e7IxnxePdXSy6L4E.js @@ -1,4 +1,4 @@ if (args.opposedTest.result.hitloc.value == "head") { - this.script.scriptMessage(`${this.actor.prototypeToken.name} subit une @Table[crithead]{Blessure Critique} si il n'y en avait pas d'autres.`) + this.script.scriptMessage(`${this.actor.prototypeToken.name} receives a @Table[crithead]{Critical Wound} if one was not caused already.`) } \ No newline at end of file diff --git a/scripts/ePPgxQOqL1Uhz2k9.js b/scripts/ePPgxQOqL1Uhz2k9.js index 24a92c5..e0e5035 100644 --- a/scripts/ePPgxQOqL1Uhz2k9.js +++ b/scripts/ePPgxQOqL1Uhz2k9.js @@ -1,7 +1,7 @@ let choice1 = [ { type : "skill", - name : "Projectiles (Arc)", + name : "Ranged (Bow)", diff : { system : { advances : { @@ -26,7 +26,7 @@ let choice = await Dialog.wait({ title : "Option", content : `

- Ajouter une option? + Add Option?

  1. Ranged (Bow) +10 and a Bow with 12 Arrows
  2. @@ -67,18 +67,24 @@ for (let c of choice) let item = await game.wfrp4e.utility.find(c.name, c.type) if (item) { - let equip = item.system.tags.has("equippable"); item = item.toObject() - if (equip) - { - item.system.equipped.value = true; - } - items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + equip(item); + items.push(mergeObject(item, (c.diff || {}))) } else - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/ebDQH0MdGAG02CHl.js b/scripts/ebDQH0MdGAG02CHl.js index 49e36d3..94a3b0e 100644 --- a/scripts/ebDQH0MdGAG02CHl.js +++ b/scripts/ebDQH0MdGAG02CHl.js @@ -3,12 +3,12 @@ let data = item.toObject(); data.system.location.key = this.item.system.location.key if (this.item.system.location.key == "rArm") { - data.system.location.value = "Main Droite" + data.system.location.value = "Right Hand" data.system.location.key = "rHand" } else if (this.item.system.location.key == "lArm") { - data.system.location.value = "Main Gauche" + data.system.location.value = "Left Hand" data.system.location.key = "lHand" } this.actor.createEmbeddedDocuments("Item", [data]) \ No newline at end of file diff --git a/scripts/ed7Sud9HM3uB2j6b.js b/scripts/ed7Sud9HM3uB2j6b.js index 092513b..c2a8e1a 100644 --- a/scripts/ed7Sud9HM3uB2j6b.js +++ b/scripts/ed7Sud9HM3uB2j6b.js @@ -1,7 +1,7 @@ -ChatMessage.create({content : "Céder ou Mourir!", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) +ChatMessage.create({content : "Yield or die!", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) let item = await fromUuid("Compendium.wfrp4e-core.items.pTorrE0l3VybAbtn") let data = item.toObject(); data.system.specification.value = 2; -this.script.scriptNotification("Ajout de " + data.name); +this.script.scriptNotification("Adding " + data.name); await this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}); game.wfrp4e.utility.postFear(2, this.actor.prototypeToken.name) \ No newline at end of file diff --git a/scripts/egDtqMxe3iekc6hv.js b/scripts/egDtqMxe3iekc6hv.js index d73942d..d5db90a 100644 --- a/scripts/egDtqMxe3iekc6hv.js +++ b/scripts/egDtqMxe3iekc6hv.js @@ -1,6 +1,6 @@ let trait = args.opposedTest.attackerTest.item let woundLossEffect = this.item.effects.get("7Amhi75wLv0PvGjd") -if (trait && trait.name.includes("Morsure") && woundLossEffect) +if (trait && trait.name.includes("Bite") && woundLossEffect) { args.actor.applyEffect({effectUuids : woundLossEffect.uuid}) } \ No newline at end of file diff --git a/scripts/eh1J3s0s4A2AxoFp.js b/scripts/eh1J3s0s4A2AxoFp.js index 4d99aad..1ff8cb1 100644 --- a/scripts/eh1J3s0s4A2AxoFp.js +++ b/scripts/eh1J3s0s4A2AxoFp.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.Item.8pVzgPkgWpTJvfhG"); let data = item.toObject(); -data.name += " (Ennemi)"; +data.name += " (Enemy)"; this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) \ No newline at end of file diff --git a/scripts/ekjJQHyMbZT2vqdc.js b/scripts/ekjJQHyMbZT2vqdc.js index 5295446..064db13 100644 --- a/scripts/ekjJQHyMbZT2vqdc.js +++ b/scripts/ekjJQHyMbZT2vqdc.js @@ -1,9 +1,9 @@ let uses = this.item.getFlag("wfrp4e", "uses") || 0; uses++; -this.script.scriptNotification(`Utilisé ${uses} fois`) +this.script.scriptNotification(`Used ${uses} times`) this.item.setFlag("wfrp4e", "uses", uses); if (uses >= 3) { this.effect.update({"flags.wfrp4e.applicationData.type" : "other"}) - this.script.scriptNotification(`Utilisé`); + this.script.scriptNotification(`Used up`); } diff --git a/scripts/eqxE7nBO13yJS7hc.js b/scripts/eqxE7nBO13yJS7hc.js index 39c1e60..f1c6ed6 100644 --- a/scripts/eqxE7nBO13yJS7hc.js +++ b/scripts/eqxE7nBO13yJS7hc.js @@ -1,5 +1,5 @@ let roll = (await new Roll("1d10").roll()) -roll.toMessage({flavor: " Blessures soignées", speaker : {alias : this.actor.name}}) +roll.toMessage({flavor: "Wounds Healed", speaker : {alias : this.actor.name}}) this.actor.modifyWounds(roll.total) diff --git a/scripts/ezGqDoC9hNRBnFTB.js b/scripts/ezGqDoC9hNRBnFTB.js index 465c6c9..9538a95 100644 --- a/scripts/ezGqDoC9hNRBnFTB.js +++ b/scripts/ezGqDoC9hNRBnFTB.js @@ -1,7 +1,17 @@ -let choices = await Promise.all([warhammer.utility.findItemId("1zaqojk0Oq1m8vYv"), warhammer.utility.findItemId("zIuarD5mB0EF0ji0")]) -let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choisissez a Weapon") -items = items.map(i => i.toObject()) - -items.forEach(i => i.system.equipped.value = true); - -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file + let choices = await Promise.all([game.wfrp4e.utility.findItemId("1zaqojk0Oq1m8vYv"), game.wfrp4e.utility.findItemId("zIuarD5mB0EF0ji0")]) + let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choose a Weapon") + items = items.map(i => i.toObject()) + + items.forEach(i => equip(i)) + + this.actor.createEmbeddedDocuments("Item", items); + + function equip(item) + { + if (item.type == "armour") + item.data.worn.value = true + else if (item.type == "weapon") + item.data.equipped = true + else if (item.type == "trapping" && item.data.trappingType.value == "clothingAccessories") + item.data.worn = true + } \ No newline at end of file diff --git a/scripts/f062aa2BNClx08D6.js b/scripts/f062aa2BNClx08D6.js index 892908e..c3cc2c8 100644 --- a/scripts/f062aa2BNClx08D6.js +++ b/scripts/f062aa2BNClx08D6.js @@ -7,7 +7,7 @@ let test = await args.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {sk let currentModifier = this.actor.characteristics.t.modifier await this.actor.update({ "system.characteristics.t.modifier": currentModifier - toughnessLost }) - this.script.scriptMessage(`${this.actor.prototypeToken.name} perd ${toughnessLost} points d'Endurance`) + this.script.scriptMessage(`${this.actor.prototypeToken.name} lost ${toughnessLost} Toughness`) if (this.actor.system.characteristics.t.value <= 0) { this.actor.addCondition("dead"); diff --git a/scripts/f29Pv6TQtgILxt1h.js b/scripts/f29Pv6TQtgILxt1h.js index 036a985..575fef3 100644 --- a/scripts/f29Pv6TQtgILxt1h.js +++ b/scripts/f29Pv6TQtgILxt1h.js @@ -4,8 +4,8 @@ if (args.test.options.healWounds) { if (args.test.options.fieldDressing && args.test.result.reversed) wounds = this.actor.characteristics.int.bonus + Math.min(1, Number(args.test.result.SL)) args.test.result.woundsHealed = wounds - args.test.result.other.push(`${this.actor.name} soigne ${wounds} Blessures du patient.`) + args.test.result.other.push(`${this.actor.name} healed ${wounds} wounds of the patient.`) } else if (this.actor.characteristics.int.bonus + args.test.result.SL < 0) - args.test.result.other.push(`Le patient contracte un @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) } \ No newline at end of file diff --git a/scripts/f5Mp3kXwCFdPkW6N.js b/scripts/f5Mp3kXwCFdPkW6N.js index b50b369..bd4edee 100644 --- a/scripts/f5Mp3kXwCFdPkW6N.js +++ b/scripts/f5Mp3kXwCFdPkW6N.js @@ -1 +1 @@ -return args.skill?.name != "Divertissement (Chant)" && args.skill?.name != "Divertissement (Chanter)" && !args.skill?.name.includes("Langue"); \ No newline at end of file +return args.skill?.name != "Entertain (Sing)" && args.skill?.name != "Entertain (Singing)" && !args.skill?.name.includes("Language"); \ No newline at end of file diff --git a/scripts/fEFfHFeJxkR0aIJK.js b/scripts/fEFfHFeJxkR0aIJK.js index cb4c4d7..7d20696 100644 --- a/scripts/fEFfHFeJxkR0aIJK.js +++ b/scripts/fEFfHFeJxkR0aIJK.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 3 && args.opposedTest.result.winner == "attacker") { - this.script.scriptMessage(`Tous ceux dans un rayon de 7 mètres perde 1 Point de Blessure et doivent faire un Test de Résistance Difficile (-10) ou recevoir l'état gains @Condition[Assourdi]`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Everyone within 20 feet loses 1 Wound and makes a Difficult (-10) Endurance or gains @Condition[Deafened]`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/fP2edYbj6QjPPAjL.js b/scripts/fP2edYbj6QjPPAjL.js index 7578147..e1ac1b8 100644 --- a/scripts/fP2edYbj6QjPPAjL.js +++ b/scripts/fP2edYbj6QjPPAjL.js @@ -1 +1 @@ -return ["Emprise sur les animaux", "Résistance", "Survie en extérieur"].includes(args.skill?.name) \ No newline at end of file +return ["Charm Animal", "Endurance", "Outdoor Survival"].includes(args.skill?.name) \ No newline at end of file diff --git a/scripts/fYLSe6CrYciap5y8.js b/scripts/fYLSe6CrYciap5y8.js index 0f9ec4b..14685bc 100644 --- a/scripts/fYLSe6CrYciap5y8.js +++ b/scripts/fYLSe6CrYciap5y8.js @@ -1,74 +1,84 @@ -let characteristics = { - "ws" : 0, - "bs" : 0, - "s" : 10, - "t" : 10, - "i" : 0, - "ag" : 10, - "dex" : 0, - "int" : 0, - "wp" : 0, - "fel" : 0 -} -let skills = [game.i18n.localize("NAME.ConsumeAlcohol"), game.i18n.localize("NAME.Row"), game.i18n.localize("NAME.Sail"), game.i18n.localize("NAME.Swim")] -let skillAdvancements = [10, 10, 10, 10] -let talents = [] -let trappings = [] -let items = [] + let characteristics = { + "ws" : 0, + "bs" : 0, + "s" : 10, + "t" : 10, + "i" : 0, + "ag" : 10, + "dex" : 0, + "int" : 0, + "wp" : 0, + "fel" : 0 + } + let skills = ["Consume Alcohol", "Row", "Sail", "Swim"] + let skillAdvancements = [10, 10, 10, 10] + let talents = [] + let trappings = [] + let items = [] -let updateObj = this.actor.toObject(); - -for (let ch in characteristics) -{ - updateObj.system.characteristics[ch].modifier += characteristics[ch]; -} - -for (let index = 0; index < skills.length; index++) -{ - let skill = skills[index] - let skillItem; - skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") - if (skillItem) - skillItem.system.advances.value += skillAdvancements[index] - else - { - skillItem = await game.wfrp4e.utility.findSkill(skill) - skillItem = skillItem.toObject(); - skillItem.system.advances.value = skillAdvancements[index]; - items.push(skillItem); - } -} - -for (let talent of talents) -{ - let talentItem = await game.wfrp4e.utility.findTalent(talent) - if (talentItem) - { - items.push(talentItem.toObject()); - } - else - { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) - } -} - -for (let trapping of trappings) -{ - let trappingItem = await game.wfrp4e.utility.findItem(trapping) - if (trappingItem) - { - trappingItem = trappingItem.toObject() - - trappingItem.system.equipped.value = true; - - items.push(trappingItem); - } - else - { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) - } -} - - -await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file + let updateObj = this.actor.toObject(); + + for (let ch in characteristics) + { + updateObj.system.characteristics[ch].modifier += characteristics[ch]; + } + + for (let index = 0; index < skills.length; index++) + { + let skill = skills[index] + let skillItem; + skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") + if (skillItem) + skillItem.system.advances.value += skillAdvancements[index] + else + { + skillItem = await game.wfrp4e.utility.findSkill(skill) + skillItem = skillItem.toObject(); + skillItem.system.advances.value = skillAdvancements[index]; + items.push(skillItem); + } + } + + for (let talent of talents) + { + let talentItem = await game.wfrp4e.utility.findTalent(talent) + if (talentItem) + { + items.push(talentItem.toObject()); + } + else + { + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) + } + } + + for (let trapping of trappings) + { + let trappingItem = await game.wfrp4e.utility.findItem(trapping) + if (trappingItem) + { + trappingItem = trappingItem.toObject() + + equip(trappingItem) + + items.push(trappingItem); + } + else + { + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) + } + } + + + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); + + function equip(item) + { + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true + } \ No newline at end of file diff --git a/scripts/feMPZhhFeXRtKdKY.js b/scripts/feMPZhhFeXRtKdKY.js index 38fff1f..73f5d95 100644 --- a/scripts/feMPZhhFeXRtKdKY.js +++ b/scripts/feMPZhhFeXRtKdKY.js @@ -6,5 +6,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Aucun restant!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/fiF9sM5UpcHMYa33.js b/scripts/fiF9sM5UpcHMYa33.js index fbbe0fa..554998a 100644 --- a/scripts/fiF9sM5UpcHMYa33.js +++ b/scripts/fiF9sM5UpcHMYa33.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.vMYEkrWj0ip6ZOdv"); let data = item.toObject(); -data.name += " (Poison, Maladie, Chaos)" +data.name += " (Poison, Disease, Chaos)" this.actor.createEmbeddedDocuments("Item", Array(this.effect.sourceTest.result.overcast.usage.other.current).fill(data), {fromEffect: this.effect.id}) \ No newline at end of file diff --git a/scripts/4ylzjgUdHY5D0yVh.js b/scripts/französisch/4ylzjgUdHY5D0yVh.js similarity index 100% rename from scripts/4ylzjgUdHY5D0yVh.js rename to scripts/französisch/4ylzjgUdHY5D0yVh.js diff --git a/scripts/ClkT2WG2UjVwQ97T.js b/scripts/französisch/ClkT2WG2UjVwQ97T.js similarity index 100% rename from scripts/ClkT2WG2UjVwQ97T.js rename to scripts/französisch/ClkT2WG2UjVwQ97T.js diff --git a/scripts/HG2fKOfruT5QV3A4.js b/scripts/französisch/HG2fKOfruT5QV3A4.js similarity index 100% rename from scripts/HG2fKOfruT5QV3A4.js rename to scripts/französisch/HG2fKOfruT5QV3A4.js diff --git a/scripts/UQtXuQmUlTyDKqhe.js b/scripts/französisch/UQtXuQmUlTyDKqhe.js similarity index 100% rename from scripts/UQtXuQmUlTyDKqhe.js rename to scripts/französisch/UQtXuQmUlTyDKqhe.js diff --git a/scripts/YJX7WnxzXXIVdH6P.js b/scripts/französisch/YJX7WnxzXXIVdH6P.js similarity index 100% rename from scripts/YJX7WnxzXXIVdH6P.js rename to scripts/französisch/YJX7WnxzXXIVdH6P.js diff --git a/scripts/YN8719gme9AxYtyY.js b/scripts/französisch/YN8719gme9AxYtyY.js similarity index 100% rename from scripts/YN8719gme9AxYtyY.js rename to scripts/französisch/YN8719gme9AxYtyY.js diff --git a/scripts/ZingXNvYyZ2BEvfY.js b/scripts/französisch/ZingXNvYyZ2BEvfY.js similarity index 100% rename from scripts/ZingXNvYyZ2BEvfY.js rename to scripts/französisch/ZingXNvYyZ2BEvfY.js diff --git a/scripts/aeBetniKqq5SD9Ou.js b/scripts/französisch/aeBetniKqq5SD9Ou.js similarity index 100% rename from scripts/aeBetniKqq5SD9Ou.js rename to scripts/französisch/aeBetniKqq5SD9Ou.js diff --git a/scripts/oTXPA6rbPnYOKNmo.js b/scripts/französisch/oTXPA6rbPnYOKNmo.js similarity index 100% rename from scripts/oTXPA6rbPnYOKNmo.js rename to scripts/französisch/oTXPA6rbPnYOKNmo.js diff --git a/scripts/svCqdytEOtqFXCcs.js b/scripts/französisch/svCqdytEOtqFXCcs.js similarity index 100% rename from scripts/svCqdytEOtqFXCcs.js rename to scripts/französisch/svCqdytEOtqFXCcs.js diff --git a/scripts/sz0PqS1kroMOzUZk.js b/scripts/französisch/sz0PqS1kroMOzUZk.js similarity index 100% rename from scripts/sz0PqS1kroMOzUZk.js rename to scripts/französisch/sz0PqS1kroMOzUZk.js diff --git a/scripts/y3F1K1sYBymPZCjz.js b/scripts/französisch/y3F1K1sYBymPZCjz.js similarity index 100% rename from scripts/y3F1K1sYBymPZCjz.js rename to scripts/französisch/y3F1K1sYBymPZCjz.js diff --git a/scripts/z8mwLihZQu0JtUHY.js b/scripts/französisch/z8mwLihZQu0JtUHY.js similarity index 100% rename from scripts/z8mwLihZQu0JtUHY.js rename to scripts/französisch/z8mwLihZQu0JtUHY.js diff --git a/scripts/zIpl3SkWv8zzlr2D.js b/scripts/französisch/zIpl3SkWv8zzlr2D.js similarity index 100% rename from scripts/zIpl3SkWv8zzlr2D.js rename to scripts/französisch/zIpl3SkWv8zzlr2D.js diff --git a/scripts/französisch/zLBLEDl3aGcAxai2.js b/scripts/französisch/zLBLEDl3aGcAxai2.js new file mode 100644 index 0000000..2926bef --- /dev/null +++ b/scripts/französisch/zLBLEDl3aGcAxai2.js @@ -0,0 +1,16 @@ +const hasTraits = args.actor.has("Démoniaque") || args.actor.has("Mort-vivant") || args.actor.has("Lanceur de Sorts"); +const hasSinOrCorruption = args.actor.status.sin.value > 0 || args.actor.status.corruption.value > 0; +const isSpellcaster = args.actor.itemTags.talent.some(i => + i.name.includes(game.i18n.localize("NAME.ArcaneMagic")) || + i.name.includes(game.i18n.localize("NAME.ChaosMagic")) || + i.name.includes(game.i18n.localize("NAME.PettyMagic")) + ); +const shouldDamage = hasTraits || hasSinOrCorruption || isSpellcaster; + +if (shouldDamage) { + const roll = new Roll("1d10"); + await roll.evaluate(); + let damage = roll.total; + await roll.toMessage(); + await this.script.message(await this.actor.applyBasicDamage(damage, {damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, suppressMsg: true})); +} \ No newline at end of file diff --git a/scripts/ft0LaRWZT5WtnptP.js b/scripts/ft0LaRWZT5WtnptP.js index 4549c61..36ac1c9 100644 --- a/scripts/ft0LaRWZT5WtnptP.js +++ b/scripts/ft0LaRWZT5WtnptP.js @@ -2,11 +2,11 @@ let advantage = this.actor.system.status.advantage.value; if (advantage > 0) { await this.actor.setAdvantage(0); - this.script.scriptNotification("Avantage soustrait") + this.script.scriptNotification("Advantage Subtracted") } else { - return this.script.scriptNotification("Pas assez d'Avantages!", "error") + return this.script.scriptNotification("Not enough Advantage!", "error") } let test = await this.actor.setupTrait(this.item, {fields : {slBonus : advantage}}) diff --git a/scripts/fzTB7t3x4bLmAXji.js b/scripts/fzTB7t3x4bLmAXji.js index d46ba03..e5d584e 100644 --- a/scripts/fzTB7t3x4bLmAXji.js +++ b/scripts/fzTB7t3x4bLmAXji.js @@ -1,5 +1,5 @@ let roll = await new Roll("1d10 + 1").roll() await roll.toMessage(this.script.getChatData()); -this.script.scriptNotification(`Soins de ${roll.total} Blessures`) +this.script.scriptNotification(`Healed ${roll.total} Wounds`) this.actor.corruptionDialog("moderate") await this.actor.modifyWounds(roll.total) \ No newline at end of file diff --git a/scripts/g07HI7vyqiFXPB0o.js b/scripts/g07HI7vyqiFXPB0o.js index 4bfe29a..480115f 100644 --- a/scripts/g07HI7vyqiFXPB0o.js +++ b/scripts/g07HI7vyqiFXPB0o.js @@ -5,8 +5,8 @@ await test.roll() if (test.failed) { this.actor.addCondition("poisoned", 2) - this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} reçoit 2 états @Condition[Empoisonné].

    -

    Toute créature avec le Trait Bestial qui le mord et provoque des dégats ne le mordra pas à nouveau durant un combat, la créature pouvant toutefois attaquer avec d'autres méthodes si disponibles..

    `, + this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} has gained 2 @Condition[Poisoned] Conditions.

    +

    Any being with the Bestial Creature Trait that bites them and takes damage will not bite them again during a hostile encounter, though the creature may still attack them in other ways.

    `, { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true @@ -16,7 +16,7 @@ if (test.failed) else if (test.succeeded) { // Don't attempt to add Corrosive Blood if actor already has it - const hasCorrosiveBlood = this.actor.has("Sang corrosif") + const hasCorrosiveBlood = this.actor.has("Corrosive Blood") if (hasCorrosiveBlood !== undefined) return let item = await fromUuid("Compendium.wfrp4e-core.items.M5QSWOYt2Rbv2yxW") @@ -24,6 +24,6 @@ else if (test.succeeded) this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) const duration = 3 + parseInt(test.result.SL) - this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} gagne le Trait Sang Corrosif pour ${duration} rounds.

    `, + this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} gains the Corrosive Blood Trait for ${duration} rounds.

    `, { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) } \ No newline at end of file diff --git a/scripts/g0SzfsLyW7aD2F19.js b/scripts/g0SzfsLyW7aD2F19.js index b68d019..e0ff529 100644 --- a/scripts/g0SzfsLyW7aD2F19.js +++ b/scripts/g0SzfsLyW7aD2F19.js @@ -4,17 +4,17 @@ if (this.item.system.tests.value.includes("(Social Group)")) let name = this.item.name // If name already specifies, make sure tests value reflects that - if (name.includes("(") && !name.toLowerCase().includes("(any)")) + if (name.includes("(")) { let group = name.split("(")[1].split(")")[0] tests = `${tests.split("(")[0].trim()} (${group})` } - else + else if (!name.includes("(")) { - let value = await ValueDialog.create({text : "Enter Etiquette Group", title : this.effect.name}); + let value = await ValueDialog.create("Enter Etiquette Group", this.effect.name); if (value) { - name = `${name.split("(")[0].trim()} (${value})` + name = this.item.name + ` (${value})`; tests = this.item.system.tests.value.replace("Social Group", value); } } diff --git a/scripts/g4t56A09yrpZaJQ2.js b/scripts/g4t56A09yrpZaJQ2.js index 747721d..9d8a90b 100644 --- a/scripts/g4t56A09yrpZaJQ2.js +++ b/scripts/g4t56A09yrpZaJQ2.js @@ -5,11 +5,12 @@ amberTalons.system.equipped = true; amberTalons.system.qualities.value.push({name : "magical"}) amberTalons.effects.push({ - name : "Amber Talons", + label : "Amber Talons", transfer: false, - img : "modules/wfrp4e-core/icons/spells/amber-talons.png" , - system: { - transferData : { + icon : "modules/wfrp4e-core/icons/spells/amber-talons.png" , + flags : { + wfrp4e : { + applicationData : { documentType : "Item" }, scriptData : [{ @@ -17,5 +18,6 @@ script : "if (args.totalWoundLoss >= 1)\n{ \n args.actor.addCondition(\"bleeding\")\n}" }] } + } }) this.actor.createEmbeddedDocuments("Item", [amberTalons], {fromEffect: this.effect.id}) \ No newline at end of file diff --git a/scripts/gKIPujyuFSn0No9v.js b/scripts/gKIPujyuFSn0No9v.js index 977eee5..9359298 100644 --- a/scripts/gKIPujyuFSn0No9v.js +++ b/scripts/gKIPujyuFSn0No9v.js @@ -2,4 +2,4 @@ for(let e of this.item.effects.contents) { e.update({disabled: false}) } -this.script.scriptNotification("Ré-initialiser les pouvoirs") \ No newline at end of file +this.script.scriptNotification("Reset Powers") \ No newline at end of file diff --git a/scripts/gKPL3t4vlZAsvtGr.js b/scripts/gKPL3t4vlZAsvtGr.js index 6e060db..c2422ee 100644 --- a/scripts/gKPL3t4vlZAsvtGr.js +++ b/scripts/gKPL3t4vlZAsvtGr.js @@ -1 +1 @@ -return args.skill?.name == "Discrétion (Souterrains)" \ No newline at end of file +return args.skill?.name == "Stealth (Underground)" \ No newline at end of file diff --git a/scripts/gMIenSmLklAkB2Zm.js b/scripts/gMIenSmLklAkB2Zm.js index b16a793..118f64a 100644 --- a/scripts/gMIenSmLklAkB2Zm.js +++ b/scripts/gMIenSmLklAkB2Zm.js @@ -1,6 +1,6 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({text : "Enter Venom Strength", title : this.effect.name}, "", Object.values(game.wfrp4e.config.difficultyNames)); + let value = await ValueDialog.create("Enter Venom Strength", this.effect.name, "", Object.values(game.wfrp4e.config.difficultyNames)); if (value) { this.item.updateSource({"system.specification.value" : value}); diff --git a/scripts/goz8yTlMozlsz3uY.js b/scripts/goz8yTlMozlsz3uY.js index a10b559..b886e2e 100644 --- a/scripts/goz8yTlMozlsz3uY.js +++ b/scripts/goz8yTlMozlsz3uY.js @@ -1,4 +1,4 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; const test = 'Strength'; const difficulty = 'easy'; const target = 10; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/groEX1wJ9l00PkDF.js b/scripts/groEX1wJ9l00PkDF.js index 1efa688..ebf8cbe 100644 --- a/scripts/groEX1wJ9l00PkDF.js +++ b/scripts/groEX1wJ9l00PkDF.js @@ -9,11 +9,11 @@ const target = canvas.scene.tokens.get(targetId); if (turns > 0) { this.effect.setFlag("wfrp4e", "turns", turns); - return this.script.message(`

    ${speaker.alias} continue de s'enrouler autour ${target.name}. Il pourra commencer à écraser dans ${turns} tours.

    `); + return this.script.scriptMessage(`

    ${speaker.alias} continues wrapping itself around ${target.name}. It will be able to start crushin in ${turns} turns.

    `); } if (this.actor.items.find(i => i.type === "extendedTest" && i.name === this.effect.name)) { - this.script.message(`

    ${speaker.alias} peut reprenre son écrasement ${target.name} avec le Test Etendu.

    `); + this.script.scriptMessage(`

    ${speaker.alias} can resume crushing ${target.name} with the Extended Test.

    `); return; } @@ -42,13 +42,14 @@ const extendedTestData = { const extendedTests = await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); const extendedTest = extendedTests[0]; -this.script.message(`

    ${speaker.alias} a fini de s'enrouler autour de ${target.name}. Il peut maintenant écraser via le Test Etendu @UUID[${extendedTest.uuid}].

    `); +this.script.scriptMessage(`

    ${speaker.alias} finished wrapping itself around ${target.name}. It can now begin crushing via the @UUID[${extendedTest.uuid}] Extended Test.

    `); let effect = { name: extendedTest.name, - img: extendedTest.img, - system: { - transferData : { + icon: extendedTest.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -61,12 +62,13 @@ let effect = { const speaker = ChatMessage.getSpeaker({actor: this.actor}); const targetId = effect.getFlag("wfrp4e", "target"); const target = canvas.scene.tokens.get(targetId); - this.script.message(\`

    ${speaker.alias} écrase ${target.name}. Le bateau et broyé, réduit à une masse de déchets flottants.

    \`); + this.script.scriptMessage(\`

    ${speaker.alias} crushed the ${target.name}. Boat shatters, reduced to a mass of flotsam.

    \`); await effect.delete(); `, trigger: "deleteEffect" } ] + } } } diff --git a/scripts/h766UvswLCsxcMow.js b/scripts/h766UvswLCsxcMow.js index 76dbbae..cc4d0c0 100644 --- a/scripts/h766UvswLCsxcMow.js +++ b/scripts/h766UvswLCsxcMow.js @@ -12,7 +12,7 @@ let characteristics = { } let skills = ["Charm", "Intimidate", "Melee (Basic)"] let skillAdvancements = [7, 60, 7] -let talents = ["Menaçant", "Ombres"] +let talents = ["Menacing", "Shadow"] let traits = ["Distracting"] let trappings = [] let items = []; @@ -50,7 +50,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -68,7 +68,7 @@ for (let trait of traits) } catch { } if (!traitItem) { - ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) } traitItem = traitItem.toObject() @@ -91,13 +91,13 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -112,11 +112,22 @@ for (let spell of spells) } else { - ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) } } updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + + +function equip(item) +{ + if (item.type == "armour") + item.worn = true + else if (item.type == "weapon") + item.equipped = true + else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") + item.worn = true +} \ No newline at end of file diff --git a/scripts/hA8PzeiCsHqqlUZm.js b/scripts/hA8PzeiCsHqqlUZm.js index eadf74b..c8e212a 100644 --- a/scripts/hA8PzeiCsHqqlUZm.js +++ b/scripts/hA8PzeiCsHqqlUZm.js @@ -1,2 +1,2 @@ this.actor.createEmbeddedDocuments("ActiveEffect", [game.wfrp4e.config.symptomEffects["nausea"]]) -this.script.scriptMessage(`Gaine de @Condition[Nausée] pour [[1d10]] heures`, {whisper: ChatMessage.getWhisperRecipients("GM")}) \ No newline at end of file +this.script.scriptMessage(`Gains @Condition[Nausea] for [[1d10]] hours`, {whisper: ChatMessage.getWhisperRecipients("GM")}) \ No newline at end of file diff --git a/scripts/hCzxUyO6mjLNIpaM.js b/scripts/hCzxUyO6mjLNIpaM.js index ec27fb5..1555cce 100644 --- a/scripts/hCzxUyO6mjLNIpaM.js +++ b/scripts/hCzxUyO6mjLNIpaM.js @@ -4,4 +4,4 @@ woundsGained = Math.floor(woundsGained / 2) args.attacker.update({ "system.status.wounds.value": args.attacker.status.wounds.value + woundsGained }) -this.script.scriptMessage(`Récupération de ${woundsGained} Blessures`) \ No newline at end of file +this.script.scriptMessage(`Gains ${woundsGained} Wounds`) \ No newline at end of file diff --git a/scripts/hDC6lroDEPVBituR.js b/scripts/hDC6lroDEPVBituR.js index 712d884..02f66dc 100644 --- a/scripts/hDC6lroDEPVBituR.js +++ b/scripts/hDC6lroDEPVBituR.js @@ -4,9 +4,9 @@ await test.roll(); if (test.failed) { this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) - this.script.scriptMessage("Gagne un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) if (test.result.roll % 11 == 0 || test.result.roll == 100) { - this.script.scriptMessage(`Echec total: gain immédiat de 1 @Table[mutatemental]{Mutation Mentale}, et ne peut plus prendre d'Ambition à court-terme pour les [[1d10]] prochaines weeks.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Fumble: immediately gain 1 @Table[mutatemental]{Mental Mutation}, and may not take a Short-term Ambition for the next [[1d10]] weeks.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) } } \ No newline at end of file diff --git a/scripts/hR1qD2kpFHF8JT8h.js b/scripts/hR1qD2kpFHF8JT8h.js index 88e6c07..1ee0b50 100644 --- a/scripts/hR1qD2kpFHF8JT8h.js +++ b/scripts/hR1qD2kpFHF8JT8h.js @@ -1 +1 @@ -return args.skill?.name == "Langue (Magick)" \ No newline at end of file +return args.skill?.name == "Language (Magick)" \ No newline at end of file diff --git a/scripts/hSImyYjL0CENTvXf.js b/scripts/hSImyYjL0CENTvXf.js index e7f7433..3000ac8 100644 --- a/scripts/hSImyYjL0CENTvXf.js +++ b/scripts/hSImyYjL0CENTvXf.js @@ -1,4 +1,4 @@ -let test = await this.actor.setupSkill("Résistance", {fields : {difficulty : "difficult", appendTitle : ` - ${this.effect.name}`}}); +let test = await this.actor.setupSkill("Endurance", {fields : {difficulty : "difficult", appendTitle : ` - ${this.effect.name}`}}); await test.roll(); if (test.failed) { @@ -15,7 +15,7 @@ for(let item of armour) let damage = Math.floor(AP / 2); await item.system.damageItem(damage, [key]); } - msg += `

    ${item.name} PA divisé par 2

    ` + msg += `

    ${item.name} AP reduced by half

    ` } if (msg) { diff --git a/scripts/hYNWp75ggWSTht55.js b/scripts/hYNWp75ggWSTht55.js index 0fc323a..c867124 100644 --- a/scripts/hYNWp75ggWSTht55.js +++ b/scripts/hYNWp75ggWSTht55.js @@ -1,7 +1,7 @@ if (args.test.result.hitloc.value != "head" && args.test.result.critical) { game.wfrp4e.utility.sleep(200).then(() => { - this.script.scriptMessage("Peut effectuer un jet sur the @Table[crithead]{Coups Critiques à la Tête} au lieu de la localisation normale") + this.script.scriptMessage("Can roll on the @Table[crithead]{Head Critical Hits} instead of the normal hit location") }) } \ No newline at end of file diff --git a/scripts/hhv7PrRdlf9sfC82.js b/scripts/hhv7PrRdlf9sfC82.js index 6b327bb..1941c02 100644 --- a/scripts/hhv7PrRdlf9sfC82.js +++ b/scripts/hhv7PrRdlf9sfC82.js @@ -1,74 +1,84 @@ let characteristics = { - "ws" : 5, - "bs" : 0, - "s" : 5, - "t" : 5, - "i" : 10, - "ag" : 0, - "dex" : 0, - "int" : 0, - "wp" : 0, - "fel" : 0 -} -let skills = ["Calme", "Esquive"] -let skillAdvancements = [10, 10] -let talents = ["Combat Reflexes"] -let trappings = ["Leather Jack", "Leather Skullcap", "Leather Leggings", "Shield"] -let items = [] + "ws" : 5, + "bs" : 0, + "s" : 5, + "t" : 5, + "i" : 10, + "ag" : 0, + "dex" : 0, + "int" : 0, + "wp" : 0, + "fel" : 0 + } + let skills = ["Cool", "Dodge"] + let skillAdvancements = [10, 10] + let talents = ["Combat Reflexes"] + let trappings = ["Leather Jack", "Leather Skullcap", "Leather Leggings", "Shield"] + let items = [] -let updateObj = this.actor.toObject(); - -for (let ch in characteristics) -{ - updateObj.system.characteristics[ch].modifier += characteristics[ch]; -} - -for (let index = 0; index < skills.length; index++) -{ - let skill = skills[index] - let skillItem; - skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") - if (skillItem) - skillItem.system.advances.value += skillAdvancements[index] - else - { - skillItem = await game.wfrp4e.utility.findSkill(skill) - skillItem = skillItem.toObject(); - skillItem.system.advances.value = skillAdvancements[index]; - items.push(skillItem); - } -} - -for (let talent of talents) -{ - let talentItem = await game.wfrp4e.utility.findTalent(talent) - if (talentItem) - { - items.push(talentItem.toObject()); - } - else - { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) - } -} - -for (let trapping of trappings) -{ - let trappingItem = await game.wfrp4e.utility.findItem(trapping) - if (trappingItem) - { - trappingItem = trappingItem.toObject() - - trappingItem.system.equipped.value = true; - - items.push(trappingItem); - } - else - { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) - } -} - - -await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file + let updateObj = this.actor.toObject(); + + for (let ch in characteristics) + { + updateObj.system.characteristics[ch].modifier += characteristics[ch]; + } + + for (let index = 0; index < skills.length; index++) + { + let skill = skills[index] + let skillItem; + skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") + if (skillItem) + skillItem.system.advances.value += skillAdvancements[index] + else + { + skillItem = await game.wfrp4e.utility.findSkill(skill) + skillItem = skillItem.toObject(); + skillItem.system.advances.value = skillAdvancements[index]; + items.push(skillItem); + } + } + + for (let talent of talents) + { + let talentItem = await game.wfrp4e.utility.findTalent(talent) + if (talentItem) + { + items.push(talentItem.toObject()); + } + else + { + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) + } + } + + for (let trapping of trappings) + { + let trappingItem = await game.wfrp4e.utility.findItem(trapping) + if (trappingItem) + { + trappingItem = trappingItem.toObject() + + equip(trappingItem) + + items.push(trappingItem); + } + else + { + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) + } + } + + + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); + + function equip(item) + { + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true + } \ No newline at end of file diff --git a/scripts/hmk8zV1LTElHUI8A.js b/scripts/hmk8zV1LTElHUI8A.js index f08d4c7..00780d6 100644 --- a/scripts/hmk8zV1LTElHUI8A.js +++ b/scripts/hmk8zV1LTElHUI8A.js @@ -1,7 +1,7 @@ -let msg = `${this.actor.prototypeToken.name} perd 1 Blessure.
    ` +let msg = `${this.actor.prototypeToken.name} loses 1 Wound.
    ` if (this.actor.status.wounds.value <= 1) { - msg += `${this.actor.prototypeToken.name} tombe Inconscient.
    ` + msg += `${this.actor.prototypeToken.name} goes unconscious.
    ` await this.actor.addCondition("unconscious") } this.script.scriptMessage(msg) diff --git a/scripts/hnsmzvcuiUYB065I.js b/scripts/hnsmzvcuiUYB065I.js index 2ee0284..e0d3818 100644 --- a/scripts/hnsmzvcuiUYB065I.js +++ b/scripts/hnsmzvcuiUYB065I.js @@ -1 +1 @@ -this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {appendTitle: ` - ${this.effect.name}`, context: { failure : "Ne peut fuir les combats"}}).then(test => test.roll()) \ No newline at end of file +this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {appendTitle: ` - ${this.effect.name}`, context: { failure : "May not flee Combat"}}).then(test => test.roll()) \ No newline at end of file diff --git a/scripts/hpwJRAhCsXTp9bd9.js b/scripts/hpwJRAhCsXTp9bd9.js index c9abff6..5a39770 100644 --- a/scripts/hpwJRAhCsXTp9bd9.js +++ b/scripts/hpwJRAhCsXTp9bd9.js @@ -92,18 +92,24 @@ for (let c of choice) let item = await game.wfrp4e.utility.find(c.name, c.type) if (item) { - let equip = item.system.tags.has("equippable"); item = item.toObject() - if (equip) - { - item.system.equipped.value = true; - } - items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + equip(item); + items.push(mergeObject(item, (c.diff || {}))) } else - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/i5AN97A7IOeygEFA.js b/scripts/i5AN97A7IOeygEFA.js index e94c9dc..e128fbe 100644 --- a/scripts/i5AN97A7IOeygEFA.js +++ b/scripts/i5AN97A7IOeygEFA.js @@ -1,7 +1,7 @@ if (args.applyAP && args.modifiers.ap.metal) { args.modifiers.ap.ignored += args.modifiers.ap.metal - args.modifiers.other.push({value : args.modifiers.ap.metal, label : this.effect.name, details : "Ajout les PA Métalliques aux Dommages" }) - args.modifiers.ap.details.push("" + this.effect.name + ": Ignore le métal (" + args.modifiers.ap.metal + ")"); + args.modifiers.other.push({value : args.modifiers.ap.metal, label : this.effect.name, details : "Add Metal AP to Damage" }) + args.modifiers.ap.details.push("" + this.effect.name + ": Ignore Metal (" + args.modifiers.ap.metal + ")"); args.modifiers.ap.metal = 0 } \ No newline at end of file diff --git a/scripts/iM6JLF8jDXMViReZ.js b/scripts/iM6JLF8jDXMViReZ.js index 5bd9ae9..34e9ba4 100644 --- a/scripts/iM6JLF8jDXMViReZ.js +++ b/scripts/iM6JLF8jDXMViReZ.js @@ -1 +1 @@ -return !["Crochetage", "Escamotage", "Focalisation (Ulgu)"].includes(args.skill?.name) \ No newline at end of file +return !["Pick Lock", "Sleight of Hand", "Channelling (Ulgu)"].includes(args.skill?.name) \ No newline at end of file diff --git a/scripts/iMu8BZ7eHMAbPEO1.js b/scripts/iMu8BZ7eHMAbPEO1.js index 73904f4..46b2e56 100644 --- a/scripts/iMu8BZ7eHMAbPEO1.js +++ b/scripts/iMu8BZ7eHMAbPEO1.js @@ -1,5 +1,5 @@ let healed = args.totalWoundLoss -this.script.scriptMessage(`this.actor.prototypeToken.name Guérison de ${healed} Blessures`); +this.script.scriptMessage(`this.actor.prototypeToken.name healed ${healed} Wounds`); this.actor.modifyWounds(healed) \ No newline at end of file diff --git a/scripts/iNAQJa5HyaEckknX.js b/scripts/iNAQJa5HyaEckknX.js index 34aa1cd..517797d 100644 --- a/scripts/iNAQJa5HyaEckknX.js +++ b/scripts/iNAQJa5HyaEckknX.js @@ -10,7 +10,7 @@ if (opposedResult?.winner == "attacker") if (spells.length) { let chosen = spells[Math.floor(CONFIG.Dice.randomUniform() * spells.length)] - this.script.scriptMessage(`Ne se rappelle plus du sort ${chosen.name}`) + this.script.scriptMessage(`Loses access to ${chosen.name}`) chosen.update({name : chosen.name += " (LOST)"}) } } diff --git a/scripts/iO2hCDwyQ7v4qrOI.js b/scripts/iO2hCDwyQ7v4qrOI.js index 9de633f..ac4be73 100644 --- a/scripts/iO2hCDwyQ7v4qrOI.js +++ b/scripts/iO2hCDwyQ7v4qrOI.js @@ -3,8 +3,8 @@ if (args.test.options.staunchBleeding) { let staunch = ~~args.test.result.SL + 1 if (args.test.options.fieldDressing && args.test.result.reversed) staunch = Math.min(1, Number(args.test.result.SL)) + 1 - args.test.result.other.push(`${this.actor.name} supprime ${staunch} Etats Hémorragiques du patient.`) + args.test.result.other.push(`${this.actor.name} removed ${staunch} Bleeding conditions from the patient.`) } else if (this.actor.characteristics.int.bonus + args.test.result.SL < 0) - args.test.result.other.push(`Le patient contracte une @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) } \ No newline at end of file diff --git a/scripts/iT3C15fMyQrj1RmG.js b/scripts/iT3C15fMyQrj1RmG.js index a818f06..5264fd2 100644 --- a/scripts/iT3C15fMyQrj1RmG.js +++ b/scripts/iT3C15fMyQrj1RmG.js @@ -1,4 +1,4 @@ -if (this.actor.has("Mort-vivant") && this.actor.has("Ethereal")) +if (this.actor.has("Undead") && this.actor.has("Ethereal")) { this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {skipTargets: true, appendTitle : " - " + this.effect.name}).then(async test => { await test.roll(); diff --git a/scripts/id9ZdkERMZnZTWXt.js b/scripts/id9ZdkERMZnZTWXt.js index 9e2f8af..633bb00 100644 --- a/scripts/id9ZdkERMZnZTWXt.js +++ b/scripts/id9ZdkERMZnZTWXt.js @@ -1,6 +1,6 @@ if (args.extendedTest?.getFlag("wfrp4e", "fear")) { - this.script.scriptNotification("Immunisé à la Peur"); + this.script.scriptNotification("Immune to Fear"); args.extendedTest.delete(); args.abort = true; } diff --git a/scripts/imKVsCy8rya2gkwO.js b/scripts/imKVsCy8rya2gkwO.js index 5e2f22d..cfdc4ba 100644 --- a/scripts/imKVsCy8rya2gkwO.js +++ b/scripts/imKVsCy8rya2gkwO.js @@ -11,7 +11,7 @@ await this.actor.removeSystemEffect("stinkingdrunk1") await this.actor.addCondition("fatigued") const duration = 10 - parseInt(this.actor.system.characteristics.t.bonus) this.effect.updateSource({"duration.rounds" : duration}); -this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} ne souffre des pénalités dues à l'alcool et reçoit 1 état Fatigué pour ${duration} heures.

    `, +this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} has lost all alcohol related penalties and gains the Fatigued Condition for ${duration} hours.

    `, { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true diff --git a/scripts/inPxRSx0CDj1nwAm.js b/scripts/inPxRSx0CDj1nwAm.js index 62b3885..6fda683 100644 --- a/scripts/inPxRSx0CDj1nwAm.js +++ b/scripts/inPxRSx0CDj1nwAm.js @@ -1,4 +1,4 @@ -if (args.test.result.fumble && !this.actor.itemTypes.talent.find(i => i.name == "Magie des Arcanes (Feu)")) +if (args.test.result.fumble && !this.actor.itemTypes.talent.find(i => i.name == "Arcane Magic (Fire)")) { this.actor.addCondition("ablaze"); } \ No newline at end of file diff --git a/scripts/iuSoKntfJ4eAPafQ.js b/scripts/iuSoKntfJ4eAPafQ.js index 02bb0d1..9afa777 100644 --- a/scripts/iuSoKntfJ4eAPafQ.js +++ b/scripts/iuSoKntfJ4eAPafQ.js @@ -1,7 +1,7 @@ -let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts"); -spells = spells.filter(s => ["feu", "cieux", "bêtes", "ombres", "lumière", "vie", "mort", "métal"].includes(s.system.lore.value)).sort((a, b) => a.system.lore.value > b.system.lore.value ? 1 : -1) +let spells = await warhammer.utility.findAllItems("spell", "Loading Spells"); +spells = spells.filter(s => ["fire", "heavens", "beasts", "shadow", "light", "life", "death", "metal"].includes(s.system.lore.value)).sort((a, b) => a.system.lore.value > b.system.lore.value ? 1 : -1) -let choice = await ItemDialog.create(spells, 1, "Choisir un sort"); +let choice = await ItemDialog.create(spells, 1, "Choose Spell"); if (choice[0]) { this.actor.createEmbeddedDocuments("Item", choice, {fromEffect: this.effect.id}) diff --git a/scripts/j98hvy6r9G2Vjmid.js b/scripts/j98hvy6r9G2Vjmid.js index 458e65b..e02fdd6 100644 --- a/scripts/j98hvy6r9G2Vjmid.js +++ b/scripts/j98hvy6r9G2Vjmid.js @@ -1,12 +1,12 @@ if (args.totalWoundLoss > 0) { args.opposedTest.result.other.push( - `@Corruption[minor]{Exposition Mineure à la Corruption}` + `@Corruption[minor]{Minor Exposure to Corruption}` ) this.script.scriptMessage( `${this.effect.name}: - @Corruption[minor]{Exposition Mineure à la Corruption}
    - ${args.actor.prototypeToken.name} doit réaliser un Test - Accessible (+20%) de Corruption (Mineur)`, + @Corruption[minor]{Minor Exposure to Corruption}
    + ${args.actor.prototypeToken.name} must take an + Average (+20%) Corruption (Minor) Test`, {whisper: ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/jFwema0iwzBphxie.js b/scripts/jFwema0iwzBphxie.js index b145f1b..adb34c2 100644 --- a/scripts/jFwema0iwzBphxie.js +++ b/scripts/jFwema0iwzBphxie.js @@ -6,4 +6,4 @@ args.attacker.update({"system.status.wounds.value" : args.attacker.system.status args.actor.addCondition("fatigued") args.attacker.hasCondition("fatigued")?.delete(); -this.script.scriptMessage(`${args.attacker.prototypeToken.name} guéri de ${woundsGained} Blessures`); \ No newline at end of file +this.script.scriptMessage(`${args.attacker.prototypeToken.name} gains ${woundsGained} Wounds`); \ No newline at end of file diff --git a/scripts/jGDk7avWFSnyFoql.js b/scripts/jGDk7avWFSnyFoql.js index 1509a3a..a76c522 100644 --- a/scripts/jGDk7avWFSnyFoql.js +++ b/scripts/jGDk7avWFSnyFoql.js @@ -5,5 +5,5 @@ if (broken && !broken.getFlag("wfrp4e", "blasted-mind") && !this.actor.has(item. { await broken.delete(); this.actor.createEmbeddedDocuments("Item", [item], {fromEffect: this.effect.id}) - this.script.scriptNotification(`Suppression de ${broken.name}, ajout de ${item.name} (${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds)`) + this.script.scriptNotification(`Removed ${broken.name}, added ${item.name} (${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds)`) } \ No newline at end of file diff --git a/scripts/jHgxpe6TJDlP3oTn.js b/scripts/jHgxpe6TJDlP3oTn.js index fb88ec0..4a7966b 100644 --- a/scripts/jHgxpe6TJDlP3oTn.js +++ b/scripts/jHgxpe6TJDlP3oTn.js @@ -1,7 +1,7 @@ -let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts"); +let spells = await warhammer.utility.findAllItems("spell", "Loading Spells"); spells = spells.filter(s => ["slaanesh"].includes(s.system.lore.value)) -let choice = await ItemDialog.create(spells, 1, "Choisir un sort"); +let choice = await ItemDialog.create(spells, 1, "Choose Spell"); if (choice[0]) { this.item.updateSource({name : this.item.name + ` (${choice[0].name})`}) diff --git a/scripts/jObJanFoev4N6ZRv.js b/scripts/jObJanFoev4N6ZRv.js index 5697901..4580414 100644 --- a/scripts/jObJanFoev4N6ZRv.js +++ b/scripts/jObJanFoev4N6ZRv.js @@ -1,2 +1,2 @@ if (!args.opposedTest.attackerTest.item?.system?.isMagical) - args.abort = `${this.effect.name}: Ignoré` \ No newline at end of file + args.abort = `${this.effect.name}: Ignored` \ No newline at end of file diff --git a/scripts/jW87rmQLtROdVEhW.js b/scripts/jW87rmQLtROdVEhW.js index 18331f3..6c5e3ca 100644 --- a/scripts/jW87rmQLtROdVEhW.js +++ b/scripts/jW87rmQLtROdVEhW.js @@ -1,5 +1,5 @@ if (["orc", "ork", "goblin", "hobgoblin", "snotling", "greenskin"].includes(args.opposedTest.defender.details.species.value.toLowerCase())) { args.addImpact = true - args.opposedTest.result.other.push("Rune de Banissement de Gobelin: Ajout d'Impact") + args.opposedTest.result.other.push("Rune of Goblin Bane: Impact Added") } \ No newline at end of file diff --git a/scripts/jXbrIGxznqf1SNxZ.js b/scripts/jXbrIGxznqf1SNxZ.js index 131e6cd..270aaff 100644 --- a/scripts/jXbrIGxznqf1SNxZ.js +++ b/scripts/jXbrIGxznqf1SNxZ.js @@ -1,3 +1,3 @@ const speaker = ChatMessage.getSpeaker({actor: this.actor}); -this.script.scriptMessage(`

    ${speaker.alias} est immergé dans la Elémentair de Mer et subit la @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.WCivInLZrqEtZzF4#drowning-and-suffocation]{Suffocation}

    Il peut essayer de s'échapperen s"évadant de l'Etat @Condition[Entravé} comme si il était @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.wmA76Q2zJJ9HrkvA#grappling]{Grappled} par l'Elémentaire de Mer, en réalisant un Test Opposé de Force contre une Force de 59.

    `); \ No newline at end of file +this.script.scriptMessage(`

    ${speaker.alias} is Immersed within a Sea Elemental and suffers from @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.WCivInLZrqEtZzF4#drowning-and-suffocation]{Suffocation}

    They may attempt to escape by freeing themselves from the @Condition[Entangled} Condition as if they were @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.wmA76Q2zJJ9HrkvA#grappling]{Grappled} by the Sea Elemental, making an Opposed Strength Test against its Strength of 59.

    `); \ No newline at end of file diff --git a/scripts/jdS2u1tQPYeO55WI.js b/scripts/jdS2u1tQPYeO55WI.js index 16864c3..a274d28 100644 --- a/scripts/jdS2u1tQPYeO55WI.js +++ b/scripts/jdS2u1tQPYeO55WI.js @@ -39,7 +39,7 @@ if (type == "corrosion") } if (msg) { - this.script.message(msg, {speaker : {alias : args.actor.name}}); + this.script.scriptMessage(msg, {speaker : {alias : args.actor.name}}); } } } @@ -59,8 +59,3 @@ if (type == "poison") await args.actor.addCondition("poisoned"); } -if (type == "warpfire") -{ - await this.actor.corruptionDialog("moderate") - this.actor.applyEffect({effectUuids : this.item.effects.getName("Warpfire").uuid}) -} \ No newline at end of file diff --git a/scripts/jsgLEVYvMieyYT6L.js b/scripts/jsgLEVYvMieyYT6L.js index 061e859..bfcf625 100644 --- a/scripts/jsgLEVYvMieyYT6L.js +++ b/scripts/jsgLEVYvMieyYT6L.js @@ -14,5 +14,5 @@ if (tokenImg) } else { - this.script.scriptNotification("Aucune image de Token configurée. Le chemin du token doit être configuré dans la première ligne de ce script.", "error"); + this.script.scriptNotification("No Token Image path configured. The image path should be set in the first line of this script.", "error"); } \ No newline at end of file diff --git a/scripts/k0AkkBLtE8oZhBwn.js b/scripts/k0AkkBLtE8oZhBwn.js index 3fcc840..fcd0fbe 100644 --- a/scripts/k0AkkBLtE8oZhBwn.js +++ b/scripts/k0AkkBLtE8oZhBwn.js @@ -1,5 +1,5 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({title : "Armoured Value", text : "Enter the Armoured value"}); + let value = await ValueDialog.create("Armoured Value", "Enter the Armoured value"); if (value) { this.item.updateSource({"system.specification.value" : value}); } diff --git a/scripts/kYiDBPRKIokFkr4Z.js b/scripts/kYiDBPRKIokFkr4Z.js index 58d9e24..10222a8 100644 --- a/scripts/kYiDBPRKIokFkr4Z.js +++ b/scripts/kYiDBPRKIokFkr4Z.js @@ -1,4 +1,4 @@ -if (args.item.type == "skill" && args.item.name == "Projectiles (Arc)") +if (args.item.type == "skill" && args.item.name == "Ranged (Bow)") { args.item.system.modifier.value += 20; } \ No newline at end of file diff --git a/scripts/kiJ6AiaYVUjt6aV6.js b/scripts/kiJ6AiaYVUjt6aV6.js index 138718e..2998e2c 100644 --- a/scripts/kiJ6AiaYVUjt6aV6.js +++ b/scripts/kiJ6AiaYVUjt6aV6.js @@ -2,6 +2,6 @@ teeth = await fromUuid("Compendium.wfrp4e-core.items.fBcZhOBn8IpoVqQ1") teeth = teeth.toObject(); let roll = await new Roll("1d10").roll(); -roll.toMessage(this.script.getChatData({flavor : "Dents perdues"})) +roll.toMessage(this.script.getChatData({flavor : "Teeth Lost"})) teeth.system.location.value = `${roll.total} ${teeth.system.location.value}` this.actor.createEmbeddedDocuments("Item", [teeth]) \ No newline at end of file diff --git a/scripts/kvaN100w0nBUlLbj.js b/scripts/kvaN100w0nBUlLbj.js index 127678c..cc524fa 100644 --- a/scripts/kvaN100w0nBUlLbj.js +++ b/scripts/kvaN100w0nBUlLbj.js @@ -1,6 +1,6 @@ let poisoned = this.actor.hasCondition("poisoned") if (poisoned) { - this.script.scriptMessage("Immunisé aux Poisons") + this.script.scriptMessage("Immune to Poisoned") poisoned.delete() } \ No newline at end of file diff --git a/scripts/lII4KMRblqwFBlsV.js b/scripts/lII4KMRblqwFBlsV.js index cbf4a2e..49bd3a7 100644 --- a/scripts/lII4KMRblqwFBlsV.js +++ b/scripts/lII4KMRblqwFBlsV.js @@ -10,7 +10,7 @@ let characteristics = { "wp" : 10, "fel" : 15 } -let skills = ["Focalisation", "Charm", "Perform (Dancing)"] +let skills = ["Channelling", "Charm", "Perform (Dancing)"] let skillAdvancements = [0, 6, 3] let talents = ["Attractive", "Distract", "Mimic"] let traits = ["Distracting", "Flight (6)", "Spellcaster (Petty)"] @@ -50,7 +50,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -68,7 +68,7 @@ for (let trait of traits) } catch { } if (!traitItem) { - ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) } traitItem = traitItem.toObject() @@ -91,13 +91,13 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -112,11 +112,22 @@ for (let spell of spells) } else { - ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) } } updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + + +function equip(item) +{ + if (item.type == "armour") + item.worn = true + else if (item.type == "weapon") + item.equipped = true + else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") + item.worn = true +} \ No newline at end of file diff --git a/scripts/lOIHiAIDtj91kllN.js b/scripts/lOIHiAIDtj91kllN.js index 4442cf2..35b81b2 100644 --- a/scripts/lOIHiAIDtj91kllN.js +++ b/scripts/lOIHiAIDtj91kllN.js @@ -1,5 +1,5 @@ const chanties = await WFRP_Utility.findAll('wfrp4e-soc.chanty'); -let choice = await ItemDialog.create(chanties, 1, "Choisissez Chanty"); +let choice = await ItemDialog.create(chanties, 1, "Choose Chanty"); if (choice.length) { console.log(choice); this.actor.createEmbeddedDocuments("Item", choice, {fromEffect: this.effect.id}); diff --git a/scripts/lOzkngzye4RmvALp.js b/scripts/lOzkngzye4RmvALp.js index 49921a6..4f261d3 100644 --- a/scripts/lOzkngzye4RmvALp.js +++ b/scripts/lOzkngzye4RmvALp.js @@ -1,3 +1,3 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.DrNUTPeodEgpWTnT") this.actor.createEmbeddedDocuments("Item", [item], {fromEffect : this.effect.id}); -this.script.scriptNotification("Ajout de " + item.name) \ No newline at end of file +this.script.scriptNotification("Added " + item.name) \ No newline at end of file diff --git a/scripts/lU4s3UTtBkU38djI.js b/scripts/lU4s3UTtBkU38djI.js index a489fb0..ba1cf91 100644 --- a/scripts/lU4s3UTtBkU38djI.js +++ b/scripts/lU4s3UTtBkU38djI.js @@ -1,4 +1,4 @@ this.actor.addCondition("entangled") -let msg = `${this.actor.prototypeToken.name} perd 1 Blessure et reçoit l'état Empêtré.` +let msg = `${this.actor.prototypeToken.name} loses 1 Wound and gains 1 Entangled Condition.` this.script.scriptMessage(msg) this.actor.modifyWounds(-1) \ No newline at end of file diff --git a/scripts/lZuavewrJzOehrJQ.js b/scripts/lZuavewrJzOehrJQ.js index 2cbb278..64118c4 100644 --- a/scripts/lZuavewrJzOehrJQ.js +++ b/scripts/lZuavewrJzOehrJQ.js @@ -1,4 +1,4 @@ -let test = await this.actor.setupSkill('Résistance', { +let test = await this.actor.setupSkill('Endurance', { appendTitle: ` – ${this.effect.name}`, skipTargets: true, fields: {difficulty: 'easy'}, diff --git a/scripts/laptAldsT0Fm1rDt.js b/scripts/laptAldsT0Fm1rDt.js index 0bce9f6..861ea5e 100644 --- a/scripts/laptAldsT0Fm1rDt.js +++ b/scripts/laptAldsT0Fm1rDt.js @@ -1,6 +1,6 @@ -let blunt = await Dialog.confirm({label : "test", content :`

    Appliquer la réduction des Dégats contondants? (-3)

    `}) +let blunt = await Dialog.confirm({label : "test", content :`

    Apply blunt damage reduction? (-3)

    `}) if (blunt) { - args.modifiers.other.push({label : this.effect.name, details : "Réduction des dégats contondants", value : -3}) + args.modifiers.other.push({label : this.effect.name, details : "Blunt Damage Reduction", value : -3}) } \ No newline at end of file diff --git a/scripts/lhemR8EP5tGNKout.js b/scripts/lhemR8EP5tGNKout.js index cb1f420..a9d9356 100644 --- a/scripts/lhemR8EP5tGNKout.js +++ b/scripts/lhemR8EP5tGNKout.js @@ -1,11 +1,11 @@ -let test = await this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {fields: {difficulty : "average"}, skipTargets: true, appendTitle : ` - ${this.effect.name}`, context : {failure : "Souffre d'Irrationnalité Effrayante"}}) +let test = await this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {fields: {difficulty : "average"}, skipTargets: true, appendTitle : ` - ${this.effect.name}`, context : {failure : "Suffer Creeping Irrationality"}}) await test.roll(); if (test.failed) { - msg = `

    @UUID[${this.effect.sourceItem.uuid}]{Irrationnalité Effrayante} Lancez: ${Math.ceil(CONFIG.Dice.randomUniform() * 10)}

    ` + msg = `

    @UUID[${this.effect.sourceItem.uuid}]{Creeping Irratitonality} Roll: ${Math.ceil(CONFIG.Dice.randomUniform() * 10)}

    ` if (test.result.roll % 11 == 0 || test.result.roll == 100) { - msg += `

    ${this.actor.prototypeToken.name} reçoit également 1 Point de Corruption. Si il subit une mutation, il doit la déterminer sur la table des @Table[mutatemental]{Mutations Mentales}.

    ` + msg += `

    ${this.actor.prototypeToken.name} also gained 1 Corruption Point. If mutating, this results in a @Table[mutatemental]{Mental Corruption}

    ` let newCorruption = Number(this.actor.status.corruption.value) + 1 this.actor.update({"system.status.corruption.value" : newCorruption}) } diff --git a/scripts/lvjcddwRiN9iGruy.js b/scripts/lvjcddwRiN9iGruy.js index 5aea090..1f4ca7b 100644 --- a/scripts/lvjcddwRiN9iGruy.js +++ b/scripts/lvjcddwRiN9iGruy.js @@ -15,17 +15,17 @@ if (test.failed) let inline = `@ROLL` let msg = - `

    ${this.actor.prototypeToken.name} vieilli de ${inline.replace("@ROLL", ageAdded).replace("@TT", "2d10")} et perd

    -

    ${inline.replace("@ROLL", ws).replace("@TT", "1d10")} Capacité de Combat

    -

    ${inline.replace("@ROLL", bs).replace("@TT", "1d10")} Capacité de Tir

    -

    ${inline.replace("@ROLL", s).replace("@TT", "1d10")} Force

    -

    ${inline.replace("@ROLL", t).replace("@TT", "1d10")} Endurance

    -

    ${inline.replace("@ROLL", ag).replace("@TT", "1d10")} Agilité

    -

    ${inline.replace("@ROLL", dex).replace("@TT", "1d10")} Dexterité

    + `

    ${this.actor.prototypeToken.name} ages by ${inline.replace("@ROLL", ageAdded).replace("@TT", "2d10")} and loses

    +

    ${inline.replace("@ROLL", ws).replace("@TT", "1d10")} Weapon Skill

    +

    ${inline.replace("@ROLL", bs).replace("@TT", "1d10")} Ballistic Skill

    +

    ${inline.replace("@ROLL", s).replace("@TT", "1d10")} Strength

    +

    ${inline.replace("@ROLL", t).replace("@TT", "1d10")} Toughness

    +

    ${inline.replace("@ROLL", ag).replace("@TT", "1d10")} Agility

    +

    ${inline.replace("@ROLL", dex).replace("@TT", "1d10")} Dexterity

    ` this.script.scriptMessage(msg); - let characteristics = foundry.utils.duplicate(this.actor.system.characteristics) + let characteristics = duplicate(this.actor.system.characteristics) characteristics.ws.initial -= ws characteristics.bs.initial -= bs diff --git a/scripts/mPxmCsXYirAIT913.js b/scripts/mPxmCsXYirAIT913.js index 4b0ee86..84284a1 100644 --- a/scripts/mPxmCsXYirAIT913.js +++ b/scripts/mPxmCsXYirAIT913.js @@ -1,3 +1,3 @@ -let key = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.characteristics, this.effect.img), 1, "Choisissez Characteristic"); +let key = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.characteristics, this.effect.img), 1, "Choose Characteristic"); this.effect.updateSource({changes : [{key : `system.characteristics.${key[0].id}.modifier`, mode : 2, value : 10}]}) \ No newline at end of file diff --git a/scripts/mRvLsSVxNyt8LVZb.js b/scripts/mRvLsSVxNyt8LVZb.js index 130b10c..f68402d 100644 --- a/scripts/mRvLsSVxNyt8LVZb.js +++ b/scripts/mRvLsSVxNyt8LVZb.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.GRRN3XAKIpEVCY7z") let data = item.toObject(); -data.name += " (A déterminer)" +data.name += " (To Be Determined)" this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/mTnmPcjWmvScIBWY.js b/scripts/mTnmPcjWmvScIBWY.js index 79cf5c7..14c7aaf 100644 --- a/scripts/mTnmPcjWmvScIBWY.js +++ b/scripts/mTnmPcjWmvScIBWY.js @@ -1 +1 @@ -return args.skill?.name.includes("Focalisation") || args.type == "channelling" \ No newline at end of file +return args.skill?.name.includes("Channelling") || args.type == "channelling" \ No newline at end of file diff --git a/scripts/mlulnXQo8XU8vKLD.js b/scripts/mlulnXQo8XU8vKLD.js index 80cf7e7..95f2044 100644 --- a/scripts/mlulnXQo8XU8vKLD.js +++ b/scripts/mlulnXQo8XU8vKLD.js @@ -1,6 +1,6 @@ if (isNaN(parseInt(this.item.system.specification.value))) { - let value = await ValueDialog.create({tetx : "Enter Grim value", title : this.effect.name}); + let value = await ValueDialog.create("Enter Grim value", this.effect.name); if (value) { this.item.updateSource({"system.specification.value" : value}); diff --git a/scripts/mr8qm5Bg6k1idZ6Q.js b/scripts/mr8qm5Bg6k1idZ6Q.js index aedbb90..c28b926 100644 --- a/scripts/mr8qm5Bg6k1idZ6Q.js +++ b/scripts/mr8qm5Bg6k1idZ6Q.js @@ -1 +1 @@ -return args.item?.name == "Musicien (Luth)" \ No newline at end of file +return args.item?.name == "Play (Lute)" \ No newline at end of file diff --git a/scripts/n5RJqJL9fdRIxkuN.js b/scripts/n5RJqJL9fdRIxkuN.js index 8d0d11c..5fa0e06 100644 --- a/scripts/n5RJqJL9fdRIxkuN.js +++ b/scripts/n5RJqJL9fdRIxkuN.js @@ -1,11 +1,11 @@ if (this.actor.system.status.advantage.value > 0) { await this.actor.modifyAdvantage(-1); - this.script.scriptNotification("Avantage soustrait") + this.script.scriptNotification("Advantage Subtracted") } else { - return this.script.scriptNotification("Pas assez d'Avantages!", "error") + return this.script.scriptNotification("Not enough Advantage!", "error") } let test = await this.actor.setupTrait(this.item) diff --git a/scripts/nD2QVg3DrPK3foMf.js b/scripts/nD2QVg3DrPK3foMf.js index 7c32726..0101c82 100644 --- a/scripts/nD2QVg3DrPK3foMf.js +++ b/scripts/nD2QVg3DrPK3foMf.js @@ -1,4 +1,4 @@ -args.actor.setupSkill("Esquive", { fields: { difficulty: "average" } }).then(async test => { +args.actor.setupSkill("Dodge", { fields: { difficulty: "average" } }).then(async test => { await test.roll(); if (test.failed) { await args.actor.addCondition("bleeding") diff --git a/scripts/nGTxNWBUBgTr87wU.js b/scripts/nGTxNWBUBgTr87wU.js index 9c8d755..c078cd8 100644 --- a/scripts/nGTxNWBUBgTr87wU.js +++ b/scripts/nGTxNWBUBgTr87wU.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 2 && args.opposedTest.result.winner == "attacker") { - this.script.scriptMessage(`Becomes lodged in the armour or flesh of the opponent. See @UUID[${this.item.uuid}]{${this.item.name}}.`, {alias : this.item.name}, {blind: true, whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Becomes lodged in the armour or flesh of the opponent. See @UUID[${this.item.uuid}]{${this.item.name}}.`, speaker : {alias : this.item.name}, {blind: true, whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/naF5EWr1CBkYRZTK.js b/scripts/naF5EWr1CBkYRZTK.js index 7ea6e02..ecdafaa 100644 --- a/scripts/naF5EWr1CBkYRZTK.js +++ b/scripts/naF5EWr1CBkYRZTK.js @@ -2,16 +2,16 @@ if (args.opposedTest?.attackerTest?.item?.system?.isRanged) { let choice = await Dialog.wait({ title: this.effect.name, - content: `

    Eviter les dégâts avec ${this.effect.name}?`, + content: `

    Abort damage with ${this.effect.name}?`, buttons: { yes: { - label: "Oui", + label: "Yes", callback: () => { return true; } }, no: { - label: "Non", + label: "No", callback: () => { return false; } @@ -21,6 +21,6 @@ if (args.opposedTest?.attackerTest?.item?.system?.isRanged) if (choice) { - args.abort = `${this.effect.name}: Dégâts annulés` + args.abort = `${this.effect.name}: Damage cancelled` } } \ No newline at end of file diff --git a/scripts/njPP9wDAsdh4WHIj.js b/scripts/njPP9wDAsdh4WHIj.js index 6fb1cd6..be455e6 100644 --- a/scripts/njPP9wDAsdh4WHIj.js +++ b/scripts/njPP9wDAsdh4WHIj.js @@ -1,4 +1,4 @@ if (args.totalWoundLoss > 0 && ["trait", "weapon"].includes(args.opposedTest.attackerTest.item?.type)) { - this.script.scriptMessage(`Infctée: ${args.actor.name} doit réussir un Test Facile (+40) de Résistance ou subir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Infected: ${args.actor.name} must pass an Easy (+40) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/nkSmu7v9WiAaK4vq.js b/scripts/nkSmu7v9WiAaK4vq.js index 307f862..0043a12 100644 --- a/scripts/nkSmu7v9WiAaK4vq.js +++ b/scripts/nkSmu7v9WiAaK4vq.js @@ -1,4 +1,4 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; const test = 'Trade (Tailor)'; const difficulty = 'easy'; const target = 20; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,7 +46,7 @@ const extendedTestData = { ] } } - + } ] }; diff --git a/scripts/nkbTnaeBpthyhw4J.js b/scripts/nkbTnaeBpthyhw4J.js index cf0a3c9..da73508 100644 --- a/scripts/nkbTnaeBpthyhw4J.js +++ b/scripts/nkbTnaeBpthyhw4J.js @@ -3,4 +3,4 @@ let current = this.actor.status.fortune.value this.actor.update({"system.status.fortune.value" : fortunePoints + current}) -this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses Points de Chance augmenter de ${current} à ${fortunePoints + current}`) \ No newline at end of file +this.script.scriptMessage(`${this.actor.prototypeToken.name} fortune points increased from ${current} to ${fortunePoints + current}`) \ No newline at end of file diff --git a/scripts/nkdKBJ8ItqWiRAWL.js b/scripts/nkdKBJ8ItqWiRAWL.js index 2b8dfe3..da8ed4c 100644 --- a/scripts/nkdKBJ8ItqWiRAWL.js +++ b/scripts/nkdKBJ8ItqWiRAWL.js @@ -2,8 +2,10 @@ if (args.equipped) { this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) - this.script.scriptMessage(`${this.actor.name} porte ${this.item.name}.
    - Il bénéficie de +50 aux Tests de Natation et peut respirer sous l'eau.
    Si il porte le masque pendant plus d'une heure ou bénéficie de l'un de ses effets, il est exposé à une @Corruption[moderate]{Corruption moderate}.`, + this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
    + They gain +50 to Swim Tests and can breathe underwater.
    + If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. + `, {whisper: ChatMessage.getWhisperRecipients("GM")}) } @@ -12,7 +14,7 @@ else if (!args.equipped) { await this.item.effects.contents[0].delete(); await this.item.update({name : this.item.name += " (Used)"}) - this.script.scriptMessage(`${this.item.name} porté par ${this.actor.name} a été enlevé et a perdu ses propriétés. Cependant, ses effets perdurent pendant [[1d10+4]] jours, après quoi il faudra les supprimer manuellement.`, + this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, {whisper: ChatMessage.getWhisperRecipients("GM")} ) diff --git a/scripts/o88xuUConwt0vFLw.js b/scripts/o88xuUConwt0vFLw.js index 0eb9a59..ae9e06f 100644 --- a/scripts/o88xuUConwt0vFLw.js +++ b/scripts/o88xuUConwt0vFLw.js @@ -2,4 +2,4 @@ let points = this.effect.sourceTest.result.overcast.usage.other.current; this.actor.update({"system.status.fortune.value" : this.actor.system.status.fortune.value + points}); -this.script.scriptMessage(`Gagne ${points} Points de Chance`) \ No newline at end of file +this.script.scriptMessage(`Gained ${points} Fortune Points`) \ No newline at end of file diff --git a/scripts/oDNfCNyt5KaUYmg2.js b/scripts/oDNfCNyt5KaUYmg2.js index a622328..7efcdf8 100644 --- a/scripts/oDNfCNyt5KaUYmg2.js +++ b/scripts/oDNfCNyt5KaUYmg2.js @@ -1,10 +1,10 @@ if(args.opposedTest.result.winner == "defender") { let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) - let msg = `Résultat ${roll}.` + let msg = `Rolled ${roll}.` if (roll >= 7) { - msg = `L'attaque touche avec un DR de ${roll - 6}.` + msg = `Attack hits with an SL of ${roll - 6}.` } this.script.scriptMessage(msg, {blind: true, whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/oPg4se8iQRD14kmB.js b/scripts/oPg4se8iQRD14kmB.js index aff79ad..a61008d 100644 --- a/scripts/oPg4se8iQRD14kmB.js +++ b/scripts/oPg4se8iQRD14kmB.js @@ -9,9 +9,19 @@ let filters = [ } ] -let items = await ItemDialog.createFromFilters(filters, 1, "Choisissez an appropriate Polearm or Two-Handed Weapon") +let items = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 1, "Choose an appropriate Polearm or Two-Handed Weapon") items = items.map(i => i.toObject()) -items.forEach(i => i.system.equipped.value = true); +items.forEach(i => equip(i)) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/oV81zgbZsuTFG6L2.js b/scripts/oV81zgbZsuTFG6L2.js index 368a83a..c49d598 100644 --- a/scripts/oV81zgbZsuTFG6L2.js +++ b/scripts/oV81zgbZsuTFG6L2.js @@ -2,4 +2,4 @@ let caster = this.effect.sourceActor; this.actor.modifyWounds(caster.system.characteristics.fel.bonus); -this.script.scriptMessage(`Guérison de ${caster.system.characteristics.fel.bonus} Blessures`); \ No newline at end of file +this.script.scriptMessage(`Healed ${caster.system.characteristics.fel.bonus} Wounds`); \ No newline at end of file diff --git a/scripts/oWa7RkScnl6lR5vd.js b/scripts/oWa7RkScnl6lR5vd.js index 4440e93..cba5818 100644 --- a/scripts/oWa7RkScnl6lR5vd.js +++ b/scripts/oWa7RkScnl6lR5vd.js @@ -6,6 +6,6 @@ if (args.test.characteristicKey == "wp") let data = item.toObject(); this.actor.createEmbeddedDocuments("Item", [data]) - this.script.scriptMessage(`Test de Force Mentale échoué, ${this.actor.prototypeToken.name} @UUID[Compendium.wfrp4e-core.items.AGcJl5rHjkyIQBPP] pour [[1d10]] heures`) + this.script.scriptMessage(`Willpower Test failed, ${this.actor.prototypeToken.name} gains @UUID[Compendium.wfrp4e-core.items.AGcJl5rHjkyIQBPP] for [[1d10]] hours`) } } \ No newline at end of file diff --git a/scripts/obIXhQXKFyyQoNNV.js b/scripts/obIXhQXKFyyQoNNV.js index a580ad1..2df4ad3 100644 --- a/scripts/obIXhQXKFyyQoNNV.js +++ b/scripts/obIXhQXKFyyQoNNV.js @@ -2,6 +2,6 @@ this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {appendTitle: ` - ${this. await test.roll() if (test.failed) { this.actor.modifyWounds(-1); - this.script.scriptMessage("Subit 1 Dégat") + this.script.scriptMessage("Takes 1 Damage") } }) \ No newline at end of file diff --git a/scripts/okW06V9UiPC4Vcrn.js b/scripts/okW06V9UiPC4Vcrn.js index 4145903..f8d4264 100644 --- a/scripts/okW06V9UiPC4Vcrn.js +++ b/scripts/okW06V9UiPC4Vcrn.js @@ -10,10 +10,10 @@ let characteristics = { "wp" : 5, "fel" : 5 } -let skills = ["Calme", "Esquive"] +let skills = ["Cool", "Dodge"] let skillAdvancements = [10, 10] let talents = ["Combat Reflexes", "Resolute"] -let trappings = ["Leather Jack", "Leather Leggings", "Leather Skullcap", "Arme simple", "Spear", "Shield"] +let trappings = ["Leather Jack", "Leather Leggings", "Leather Skullcap", "Hand Weapon", "Spear", "Shield"] let items = []; let updateObj = this.actor.toObject(); @@ -48,7 +48,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -59,13 +59,13 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -74,3 +74,13 @@ updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/pNPjXEoQGHLKzq0r.js b/scripts/pNPjXEoQGHLKzq0r.js index f8f8a86..26641f9 100644 --- a/scripts/pNPjXEoQGHLKzq0r.js +++ b/scripts/pNPjXEoQGHLKzq0r.js @@ -1,4 +1,4 @@ -let talent = this.actor.has("Magie des Arcanes (Lumière)", "talent") +let talent = this.actor.has("Arcane Magic (Light)", "talent") let demon = this.actor.has(game.i18n.localize("NAME.Daemonic")) if (!talent) diff --git a/scripts/pR4Q2OnPxXtwRVli.js b/scripts/pR4Q2OnPxXtwRVli.js index 492f95a..31251d6 100644 --- a/scripts/pR4Q2OnPxXtwRVli.js +++ b/scripts/pR4Q2OnPxXtwRVli.js @@ -2,11 +2,11 @@ let criticals = this.actor.itemTypes.critical; if (criticals.length) { - this.script.scriptNotification("Ne peut subir de Blessures Critiques"); + this.script.scriptNotification("Cannot suffer Critical Wounds"); this.actor.deleteEmbeddedDocuments("Item", criticals.map(i => i.id)) } if (getProperty(args.data, "system.status.wounds.value") == 0) { - this.script.scriptNotification(`Endormi pour ${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds`) + this.script.scriptNotification(`Dormant for ${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds`) } \ No newline at end of file diff --git a/scripts/pkKpxVqRHIzywerL.js b/scripts/pkKpxVqRHIzywerL.js index 208a37c..5ed3721 100644 --- a/scripts/pkKpxVqRHIzywerL.js +++ b/scripts/pkKpxVqRHIzywerL.js @@ -2,5 +2,5 @@ const ablaze = this.actor.hasCondition("ablaze"); if (ablaze) { ablaze.delete(); - this.script.scriptNotification("Résiste à En Flammes"); + this.script.scriptNotification("Resisted Ablaze"); } \ No newline at end of file diff --git a/scripts/q0LvphC8RDSyR0oY.js b/scripts/q0LvphC8RDSyR0oY.js index 5141713..3e6ac9e 100644 --- a/scripts/q0LvphC8RDSyR0oY.js +++ b/scripts/q0LvphC8RDSyR0oY.js @@ -3,6 +3,6 @@ let choice = await ItemDialog.create(ItemDialog.objectToArray({ t : game.wfrp4e.config.characteristics.t, ag : game.wfrp4e.config.characteristics.ag, wp : game.wfrp4e.config.characteristics.wp -}, this.effect.img), 1, "Choisir une caractéristique"); +}, this.effect.img), 1, "Choose Characteristic"); this.effect.updateSource({"flags.wfrp4e.characteristic" : choice[0].id}) \ No newline at end of file diff --git a/scripts/q8lOAWr2970sZeTw.js b/scripts/q8lOAWr2970sZeTw.js index 087f192..9ee1f34 100644 --- a/scripts/q8lOAWr2970sZeTw.js +++ b/scripts/q8lOAWr2970sZeTw.js @@ -1,4 +1,4 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; const test = 'Trade (Carpentry)'; const difficulty = 'challenging'; const target = 20; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,14 +38,14 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] } - + } } ] }; diff --git a/scripts/qAEZgtu5CrfUkxhx.js b/scripts/qAEZgtu5CrfUkxhx.js index 2e1e4ea..c5c12b1 100644 --- a/scripts/qAEZgtu5CrfUkxhx.js +++ b/scripts/qAEZgtu5CrfUkxhx.js @@ -7,10 +7,10 @@ if (args.test.options.staunchBleeding) { staunch = Math.min(1, Number(args.test.result.SL)) + 1 } - args.test.result.other.push(`${this.actor.name} guérit ${staunch} états Hémorragiques du patient.`) + args.test.result.other.push(`${this.actor.name} removed ${staunch} Bleeding conditions from the patient.`) } else if (this.actor.characteristics.int.bonus + Number(args.test.result.SL) < 0) { - args.test.result.other.push(`Le patient est victime d'une @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) } } \ No newline at end of file diff --git a/scripts/qT0WBPxLMMO9gvCd.js b/scripts/qT0WBPxLMMO9gvCd.js index 6b7dc68..fd89c3b 100644 --- a/scripts/qT0WBPxLMMO9gvCd.js +++ b/scripts/qT0WBPxLMMO9gvCd.js @@ -1,4 +1,4 @@ -if (!this.actor.has("Vision Nocturne") && !this.actor.has("Vision Nocturne", "talent") && !this.actor.hasCondition("blinded")) +if (!this.actor.has("Night Vision") && !this.actor.has("Night Vision", "talent") && !this.actor.hasCondition("blinded")) { this.actor.addCondition("blinded", 1, {"flags.wfrp4e.nightshroud" : true}) } \ No newline at end of file diff --git a/scripts/qmOt7h17hGAKqQe0.js b/scripts/qmOt7h17hGAKqQe0.js index 9c3eef5..cd2dd07 100644 --- a/scripts/qmOt7h17hGAKqQe0.js +++ b/scripts/qmOt7h17hGAKqQe0.js @@ -1,16 +1,16 @@ let choice = await Dialog.wait({ title: this.effect.name, - content: `

    ${this.effect.name}: Est-ce que l'attaque magique ou à distance provient de l'extérieur du Dome?

    `, + content: `

    ${this.effect.name}: Is this a ranged or magical attack that orignates outside the Dome?

    `, buttons: { yes: { - label: "Oui", + label: "Yes", callback: () => { return true; } }, no: { - label: "Non", + label: "No", callback: () => { return false; } diff --git a/scripts/qnJu82zgnfOsnqZV.js b/scripts/qnJu82zgnfOsnqZV.js index 103cfe4..5677b9a 100644 --- a/scripts/qnJu82zgnfOsnqZV.js +++ b/scripts/qnJu82zgnfOsnqZV.js @@ -1,7 +1,7 @@ let closed = !this.item.getFlag("wfrp4e-soc", "gunport") || false; await this.item.setFlag("wfrp4e-soc", "gunport", closed); -let scriptData = this.effect.system.scriptData; +let scriptData = this.effect.flags.wfrp4e.scriptData; if (closed) { scriptData[0].label = "Open"; @@ -9,4 +9,4 @@ if (closed) { scriptData[0].label = "Close"; } -await this.effect.update({"system.scriptData": scriptData}); \ No newline at end of file +await this.effect.update({"flags.wfrp4e.scriptData": scriptData}); \ No newline at end of file diff --git a/scripts/qu194dVXm9Vx1TGk.js b/scripts/qu194dVXm9Vx1TGk.js index 756fd99..c99393f 100644 --- a/scripts/qu194dVXm9Vx1TGk.js +++ b/scripts/qu194dVXm9Vx1TGk.js @@ -1,10 +1,10 @@ -if (args.test.options.useOnesSupportive && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) { +if (args.test.options.useOnesSupportive && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) +{ - let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) - let ones = Number(args.test.result.roll.toString().split("").pop()) +let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) +let ones = Number(args.test.result.roll.toString().split("").pop()) - if (ones > SL) { - args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) - args.test.result.other.push(`${this.effect.name}: Utilise le dé d'unité comme DR`) - } +if (ones > SL) + args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) + args.test.result.other.push(`${this.effect.name}: Used unit dice as SL`) } \ No newline at end of file diff --git a/scripts/qxzhPtysAjPWspKf.js b/scripts/qxzhPtysAjPWspKf.js index 90bcbd0..934561e 100644 --- a/scripts/qxzhPtysAjPWspKf.js +++ b/scripts/qxzhPtysAjPWspKf.js @@ -1,4 +1,4 @@ -if (this.actor.has("Mort-vivant") || this.actor.has("Démoniaque")) +if (this.actor.has("Undead") || this.actor.has("Daemonic")) { - this.script.scriptNotification(`Ne peut entrer ${this.effect.name}!`); + this.script.scriptNotification(`Cannot enter ${this.effect.name}!`); } \ No newline at end of file diff --git a/scripts/rBAoyhzeU3Q8MVSk.js b/scripts/rBAoyhzeU3Q8MVSk.js index fe9ccf9..3dd08db 100644 --- a/scripts/rBAoyhzeU3Q8MVSk.js +++ b/scripts/rBAoyhzeU3Q8MVSk.js @@ -1,4 +1,4 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; const test = 'Trade (Carpenter)'; const difficulty = 'difficult'; const target = 50; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,13 +38,13 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] - + } } } ] diff --git a/scripts/rCh3ltUrUMovd2Kc.js b/scripts/rCh3ltUrUMovd2Kc.js index 5145c61..4b1b1b1 100644 --- a/scripts/rCh3ltUrUMovd2Kc.js +++ b/scripts/rCh3ltUrUMovd2Kc.js @@ -1,5 +1,5 @@ if (this.actor.hasCondition("surprised")) { - this.script.scriptNotification("Ne peut être surpris"); + this.script.scriptNotification("Cannot be surprised"); this.actor.removeCondition("surprised"); } \ No newline at end of file diff --git a/scripts/ramav4ymrDDkPKK4.js b/scripts/ramav4ymrDDkPKK4.js index f15a01f..639558d 100644 --- a/scripts/ramav4ymrDDkPKK4.js +++ b/scripts/ramav4ymrDDkPKK4.js @@ -1,9 +1,9 @@ if (this.actor.hasCondition("bleeding")) { this.actor.removeCondition("bleeding"); - this.script.scriptNotification("Suppression d'1 état Hémmoragique") + this.script.scriptNotification("Removed 1 Bleeding Condition") } else { - this.script.scriptNotification("Aucun état Hémorragique"); + this.script.scriptNotification("No Bleeding Conditions"); } \ No newline at end of file diff --git a/scripts/red2bt4PGgIWAdTR.js b/scripts/red2bt4PGgIWAdTR.js index 3abf986..c4ba998 100644 --- a/scripts/red2bt4PGgIWAdTR.js +++ b/scripts/red2bt4PGgIWAdTR.js @@ -5,10 +5,10 @@ if (this.item.system.quantity.value) let effectData = this.item.effects.contents[0].convertToApplied(); let minutes = Math.ceil(CONFIG.Dice.randomUniform() * 10) * 10; effectData.duration.seconds = 60 * minutes - this.script.scriptMessage(`Durée: ${minutes} minutes`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Duration: ${minutes} minutes`, {whisper : ChatMessage.getWhisperRecipients("GM")}) actor.applyEffect({effectData : [effectData]}) } else { - this.script.scriptNotification("Aucun disponible!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/rnioLwiJP7ps5Jwy.js b/scripts/rnioLwiJP7ps5Jwy.js index 2a24ede..7163d7f 100644 --- a/scripts/rnioLwiJP7ps5Jwy.js +++ b/scripts/rnioLwiJP7ps5Jwy.js @@ -1,4 +1,4 @@ -if (args.item.type == "skill" && args.item.name == "Corps à corps (Base)") +if (args.item.type == "skill" && args.item.name == "Melee (Basic)") { args.item.system.modifier.value += 30; } \ No newline at end of file diff --git a/scripts/rpxQU26BU7nwjtqY.js b/scripts/rpxQU26BU7nwjtqY.js index 3ed305a..85e811c 100644 --- a/scripts/rpxQU26BU7nwjtqY.js +++ b/scripts/rpxQU26BU7nwjtqY.js @@ -1,5 +1,5 @@ let location = this.item.system.location.key -let test = await this.actor.setupCharacteristic("dex", {context : {failure : `${this.effect.name}: Lâche l'objet!`}, skipTargets: true, appendTitle : " - " + this.effect.name, fields : {difficulty : "average"}}) +let test = await this.actor.setupCharacteristic("dex", {context : {failure : `${this.effect.name}: Drop the item!`}, skipTargets: true, appendTitle : " - " + this.effect.name, fields : {difficulty : "average"}}) await test.roll(); @@ -9,7 +9,7 @@ if (location && test.failed) if (dropped.length) { - this.script.scriptNotification(`Laché ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); diff --git a/scripts/s6eZXfZkC1My6EXl.js b/scripts/s6eZXfZkC1My6EXl.js index 529b249..79d1abc 100644 --- a/scripts/s6eZXfZkC1My6EXl.js +++ b/scripts/s6eZXfZkC1My6EXl.js @@ -1,5 +1,5 @@ let lore = this.effect.name.split(" ")[2].toLowerCase(); -if (args.item.type == "spell" && game.wfrp4e.config.magicLores[args.item.system.lore.value].toLowerCase() == lore) +if (args.item.type == "spell" && args.item.system.lore.value == lore) { args.item.system.cn.value -= 1 -} \ No newline at end of file +} diff --git a/scripts/sB4KB9bT3nQhAoqG.js b/scripts/sB4KB9bT3nQhAoqG.js index 9e83a15..4401b71 100644 --- a/scripts/sB4KB9bT3nQhAoqG.js +++ b/scripts/sB4KB9bT3nQhAoqG.js @@ -3,7 +3,7 @@ let mainEffect = this.item.effects.contents[0]; if (mainEffect.name.includes("")) { - let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choisissez le Savoir"); + let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choose Lore"); if (choice.length) { mainEffect.update({name : mainEffect.name.replace("", choice[0].name)}) diff --git a/scripts/sKO8TcLIkCTnFvXu.js b/scripts/sKO8TcLIkCTnFvXu.js index 3040b9c..d3d0cb5 100644 --- a/scripts/sKO8TcLIkCTnFvXu.js +++ b/scripts/sKO8TcLIkCTnFvXu.js @@ -1,2 +1,2 @@ args.abort = true; -this.script.scriptNotification(`Ne peut utiliser ${this.item.system.location.value}!`, "error") \ No newline at end of file +this.script.scriptNotification(`Cannot use ${this.item.system.location.value}!`, "error") \ No newline at end of file diff --git a/scripts/sNSfDBIA2k17hPYI.js b/scripts/sNSfDBIA2k17hPYI.js index 61f51c7..fd7fc3e 100644 --- a/scripts/sNSfDBIA2k17hPYI.js +++ b/scripts/sNSfDBIA2k17hPYI.js @@ -2,5 +2,5 @@ let ablaze = this.actor.hasCondition("ablaze"); if (ablaze) { ablaze?.delete(); - this.script.scriptNotification("Ignore En Flammes"); + this.script.scriptNotification("Ignore Ablaze"); } diff --git a/scripts/sWyO1DNaqb2EdHoW.js b/scripts/sWyO1DNaqb2EdHoW.js index 61e1c1b..295c7b5 100644 --- a/scripts/sWyO1DNaqb2EdHoW.js +++ b/scripts/sWyO1DNaqb2EdHoW.js @@ -7,5 +7,5 @@ if (!this.actor.items.getName(game.i18n.localize("NAME.Frenzy"))) // Either fren this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) } -this.script.scriptMessage(`

    En buvant cette potion, ${this.actor.prototypeToken.name} est devenu sujet à la Frénesie. Cette Frénésie dure [[1d10]] Rounds, et ne peut pas se terminer avant.

    `, +this.script.scriptMessage(`

    By imbibing this potion, ${this.actor.prototypeToken.name} has becomes subject to Frenzy. This Frenzy lasts [[1d10]] Rounds, and may not be ended sooner.

    `, {whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) \ No newline at end of file diff --git a/scripts/sZwLitzwKBTaFca3.js b/scripts/sZwLitzwKBTaFca3.js index 34341d3..4d00d6e 100644 --- a/scripts/sZwLitzwKBTaFca3.js +++ b/scripts/sZwLitzwKBTaFca3.js @@ -1,4 +1,4 @@ let item = await fromUuid("Compendium.wfrp4e-core.items.Item.5hH73j2NgPdsLCZN") let data = item.toObject(); -data.name = data.name.replace("Cible", "Peaux vertes, Mort-vivant, Chaos") +data.name = data.name.replace("Target", "Greenskins, Undead, Chaos") this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/sbK1a7txpSoXFzyB.js b/scripts/sbK1a7txpSoXFzyB.js index 2396c93..079b4dc 100644 --- a/scripts/sbK1a7txpSoXFzyB.js +++ b/scripts/sbK1a7txpSoXFzyB.js @@ -1,10 +1,10 @@ -if (args.test.options.useOnesArgumentative && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) { +if (args.test.options.useOnesArgumentative && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) +{ - let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) - let ones = Number(args.test.result.roll.toString().split("").pop()) +let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) +let ones = Number(args.test.result.roll.toString().split("").pop()) - if (ones > SL) { - args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) - args.test.result.other.push(`${this.effect.name}: Utilise le dé d'unité comme DR`) - } +if (ones > SL) + args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) + args.test.result.other.push(`${this.effect.name}: Used unit dice as SL`) } \ No newline at end of file diff --git a/scripts/sgS9rblPkQB36C8S.js b/scripts/sgS9rblPkQB36C8S.js index 249616f..49348b1 100644 --- a/scripts/sgS9rblPkQB36C8S.js +++ b/scripts/sgS9rblPkQB36C8S.js @@ -14,11 +14,11 @@ let index = game.packs return i }) -let choice = await ItemDialog.create(index, 1, "Choisissez a Trade Skill") +let choice = await ItemDialog.create(index, 1, "Choose a Trade Skill") let text; if (!choice[0]) { - let custom = await ValueDialog.create({text : "Enter Custom Trade Skill", title : "Custom Trade"}); + let custom = await ValueDialog.create("Enter Custom Trade Skill", "Custom Trade"); text = custom || "" } else diff --git a/scripts/shkBUtUuMPDKvFm7.js b/scripts/shkBUtUuMPDKvFm7.js index 601e774..641a6b6 100644 --- a/scripts/shkBUtUuMPDKvFm7.js +++ b/scripts/shkBUtUuMPDKvFm7.js @@ -1,4 +1,4 @@ -let test = await this.actor.setupSkill("Esquive", {fields : {difficulty : "average"}}) +let test = await this.actor.setupSkill("Dodge", {fields : {difficulty : "average"}}) let caster = this.effect.sourceActor let fallen = this.effect.sourceTest.result.SL + caster.characteristics.wp.bonus @@ -6,5 +6,5 @@ await test.roll(); if (test.failed) { this.actor.addCondition("prone") - this.script.scriptMessage(`${this.actor.prototypeToken.name} tombe de ${fallen} mètres`) + this.script.scriptMessage(`${this.actor.prototypeToken.name} falls ${fallen} yards`) } \ No newline at end of file diff --git a/scripts/sx7Ikn8WW00gBFb4.js b/scripts/sx7Ikn8WW00gBFb4.js index 72ec0cd..d413850 100644 --- a/scripts/sx7Ikn8WW00gBFb4.js +++ b/scripts/sx7Ikn8WW00gBFb4.js @@ -2,11 +2,11 @@ let location = (Math.ceil(CONFIG.Dice.randomUniform() * 2) == 2 ? "r" : "l") + " if (location == "lArm") { - this.script.scriptNotification("Résultat : gauche") + this.script.scriptNotification("Rolled Left") } else if (location == "rArm") { - this.script.scriptNotification("Résultat : Droite") + this.script.scriptNotification("Rolled Right") } this.effect.updateSource({"flags.wfrp4e.location" : location}); @@ -17,7 +17,7 @@ if (location) if (dropped.length) { - this.script.scriptNotification(`Laché ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); @@ -27,6 +27,6 @@ if (location) let roll = await new Roll("1d10").roll() -roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Durée)`})); +roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Duration)`})); this.effect.updateSource({"duration.rounds" : roll.total}) \ No newline at end of file diff --git a/scripts/syqqBkyP5tGqZ78t.js b/scripts/syqqBkyP5tGqZ78t.js index 1aa106f..265c5fd 100644 --- a/scripts/syqqBkyP5tGqZ78t.js +++ b/scripts/syqqBkyP5tGqZ78t.js @@ -1,8 +1,8 @@ -this.actor.has("Immunité Psychologique")?.delete(); +this.actor.has("Immunity to Psychology")?.delete(); let roll = await new Roll("1d10").roll(); roll.toMessage(this.script.getChatData()); -this.script.scriptNotification(`Immunité Psychologique a été supprimé de l'acteur, ajout de ${roll.total} états Brisé`) +this.script.scriptNotification(`Removed Immunity to Psychology, Adding ${roll.total} Broken Conditions`) this.actor.addCondition("broken", roll.total, {"flags.wfrp4e.blasted-mind" : true}) \ No newline at end of file diff --git a/scripts/t56mnblo1kv3gM1M.js b/scripts/t56mnblo1kv3gM1M.js index 906ab3a..ce5fba9 100644 --- a/scripts/t56mnblo1kv3gM1M.js +++ b/scripts/t56mnblo1kv3gM1M.js @@ -1 +1 @@ -return args.skill?.name.includes("Corps à corps (Base)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"); \ No newline at end of file +return args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"); \ No newline at end of file diff --git a/scripts/tCIT1a12Gt6k2ohA.js b/scripts/tCIT1a12Gt6k2ohA.js index 266ca12..e054b71 100644 --- a/scripts/tCIT1a12Gt6k2ohA.js +++ b/scripts/tCIT1a12Gt6k2ohA.js @@ -1,15 +1,15 @@ let resistance -if (this.item.name.includes("(") && !this.item.name.toLowerCase().includes("(any)")) +if (this.item.name.includes("(")) { resistance = this.item.parenthesesText } else { - resistance = await ValueDialog.create({text : "Resistenz eingeben", title : "Resistenz"}) + resistance = await ValueDialog.create("Enter Resistance", "Resistance") if (resistance) { - this.item.updateSource({name : `${this.item.name.split("(")[0].trim()} (${resistance})`}) + this.item.updateSource({name : this.item.name + ` (${resistance})`}) this.effect.updateSource({name : this.effect.name + ` (${resistance})`}) } } diff --git a/scripts/tGVEV6TLl310mFLP.js b/scripts/tGVEV6TLl310mFLP.js index 8ca630f..686b84a 100644 --- a/scripts/tGVEV6TLl310mFLP.js +++ b/scripts/tGVEV6TLl310mFLP.js @@ -3,5 +3,5 @@ if (args.applyAP && nonmagical) { let nonmagical = args.modifiers.ap.value - args.modifiers.ap.magical args.modifiers.ap.ignored += nonmagical - args.modifiers.ap.details.push("" + this.effect.name + ": Ignore les PA non-magiques (" + nonmagical + ")"); + args.modifiers.ap.details.push("" + this.effect.name + ": Ignore Non-Magical AP (" + nonmagical + ")"); } \ No newline at end of file diff --git a/scripts/tNTO1LVN7JqHf4YN.js b/scripts/tNTO1LVN7JqHf4YN.js index b3c20cc..f35b126 100644 --- a/scripts/tNTO1LVN7JqHf4YN.js +++ b/scripts/tNTO1LVN7JqHf4YN.js @@ -3,6 +3,6 @@ if (args.test.characteristicKey == "wp") if (args.test.failed) { this.actor.createEmbeddedDocuments("ActiveEffect", [game.wfrp4e.config.symptomEffects["malaise"]]) - this.script.scriptMessage(`Test de Force Mentale échoué, ${this.actor.prototypeToken.name} subit @Condition[Malaise] pour [[1d10]] heures`, {whisper: ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Willpower Test failed, ${this.actor.prototypeToken.name} gains @Condition[Malaise] for [[1d10]] hours`, {whisper: ChatMessage.getWhisperRecipients("GM")}) } } \ No newline at end of file diff --git a/scripts/tUwP7TjrOOOnaCYJ.js b/scripts/tUwP7TjrOOOnaCYJ.js index 847aba0..c502cf0 100644 --- a/scripts/tUwP7TjrOOOnaCYJ.js +++ b/scripts/tUwP7TjrOOOnaCYJ.js @@ -1,10 +1,10 @@ let fatigued = this.actor.hasCondition("fatigued") if (fatigued) { - this.script.scriptNotification(`Suppression de ${fatigued.conditionValue} états Fatigué`) + this.script.scriptNotification(`Cleared ${fatigued.conditionValue} Fatigued Conditions`) fatigued.delete(); } else { - this.script.scriptNotification(`Aucun état Fatigué`) + this.script.scriptNotification(`No Fatigued Conditions`) } \ No newline at end of file diff --git a/scripts/tcZug8ehU6lyYBd9.js b/scripts/tcZug8ehU6lyYBd9.js index 1b51877..3ac13c4 100644 --- a/scripts/tcZug8ehU6lyYBd9.js +++ b/scripts/tcZug8ehU6lyYBd9.js @@ -1 +1 @@ -return args.skill?.name != "Projectiles (Poudre noire)" \ No newline at end of file +return args.skill?.name != "Ranged (Blackpowder)" \ No newline at end of file diff --git a/scripts/tn6SwmjAuNzqE6dx.js b/scripts/tn6SwmjAuNzqE6dx.js index e3cc68b..a7bacb4 100644 --- a/scripts/tn6SwmjAuNzqE6dx.js +++ b/scripts/tn6SwmjAuNzqE6dx.js @@ -1,5 +1,5 @@ let damage = 0 -let test = await this.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); +let test = await this.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); await test.roll(); if (test.succeeded) diff --git a/scripts/toSrgcvWq9b5eN0K.js b/scripts/toSrgcvWq9b5eN0K.js index 01c486e..f3fabed 100644 --- a/scripts/toSrgcvWq9b5eN0K.js +++ b/scripts/toSrgcvWq9b5eN0K.js @@ -1,4 +1,4 @@ let location = await game.wfrp4e.tables.rollTable("hitloc", {hideDSN: true}) this.item.updateSource({name : `${this.item.name} (${location.description})`}) -this.script.scriptMessage(`Localisation: ${location.description}`, { whisper: ChatMessage.getWhisperRecipients("GM") }) \ No newline at end of file +this.script.scriptMessage(`Location: ${location.description}`, { whisper: ChatMessage.getWhisperRecipients("GM") }) \ No newline at end of file diff --git a/scripts/uACa6u4JLNMRgFlr.js b/scripts/uACa6u4JLNMRgFlr.js index 187f0c5..b4b0244 100644 --- a/scripts/uACa6u4JLNMRgFlr.js +++ b/scripts/uACa6u4JLNMRgFlr.js @@ -1,2 +1,2 @@ -const talents = await Promise.all(["Assaut féroce", "Pied marin"].map(game.wfrp4e.utility.findTalent)) +const talents = await Promise.all(["Furious Assault", "Sea Legs"].map(game.wfrp4e.utility.findTalent)) this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) \ No newline at end of file diff --git a/scripts/uLBDnWC3S0lRitbj.js b/scripts/uLBDnWC3S0lRitbj.js index 7bf367c..a0ef10e 100644 --- a/scripts/uLBDnWC3S0lRitbj.js +++ b/scripts/uLBDnWC3S0lRitbj.js @@ -9,7 +9,7 @@ if (opposedResult?.winner == "attacker") { this.actor.addCondition("unconscious") await this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) - this.script.scriptMessage("Reçoit un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage("Erhält einen Korruptionspunkt", {whisper : ChatMessage.getWhisperRecipients("GM")}) } else { diff --git a/scripts/ucF4aiJ1gpDB333G.js b/scripts/ucF4aiJ1gpDB333G.js index 6c8bb05..7d00add 100644 --- a/scripts/ucF4aiJ1gpDB333G.js +++ b/scripts/ucF4aiJ1gpDB333G.js @@ -1,5 +1,5 @@ if (args.test.options.catfall && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target) && !args.test.result.catfall) { - args.test.result.other.push(`${this.effect.name}: Dommages de chutes réduit de ${Number(args.test.result.SL) + 1} mètres`) + args.test.result.other.push(`${this.effect.name}: Fall distance damage reduced by ${Number(args.test.result.SL) + 1} yards`) args.test.result.catfall = true; // Prevent duplicate messages } \ No newline at end of file diff --git a/scripts/ugL5IBB6R2yWyMWd.js b/scripts/ugL5IBB6R2yWyMWd.js index 97340d8..1616e69 100644 --- a/scripts/ugL5IBB6R2yWyMWd.js +++ b/scripts/ugL5IBB6R2yWyMWd.js @@ -1,6 +1,6 @@ if (args.totalWoundLoss > 0) { - let apply = await Dialog.confirm({title : this.effect.name, content : `

    Appliquer les dégats de ${this.effect.name}? L'attaquant doit avoir utilisé ses mains nues ou une arme de mêlée faite de métal.`}) + let apply = await Dialog.confirm({title : this.effect.name, content : `

    Appy ${this.effect.name} Damage? Attacker must have used bare hands or a melee weapon made of metal.`}) if (apply) { @@ -17,7 +17,7 @@ if (args.totalWoundLoss > 0) damage -= (APused + args.opposedTest.attacker.system.characteristics.t.bonus) let msg = await args.opposedTest.attacker.applyBasicDamage(damage, {suppressMsg : true, damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL}); - msg += ` (${metalAP} PA métalliques ignorés sur ${game.wfrp4e.config.locations[loc]})` + msg += ` (ignored ${metalAP} metal AP on ${game.wfrp4e.config.locations[loc]})` this.script.scriptMessage(msg) } } \ No newline at end of file diff --git a/scripts/uhCq5NwjQ2a2idPn.js b/scripts/uhCq5NwjQ2a2idPn.js index 632deef..c8158a4 100644 --- a/scripts/uhCq5NwjQ2a2idPn.js +++ b/scripts/uhCq5NwjQ2a2idPn.js @@ -1,4 +1,4 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; const test = 'Trade (Tailor)'; const difficulty = 'easy'; const target = 30; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,13 +38,13 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] - + } } } ] diff --git a/scripts/upfK6GM33qZCZjll.js b/scripts/upfK6GM33qZCZjll.js index f2e0c11..91935c0 100644 --- a/scripts/upfK6GM33qZCZjll.js +++ b/scripts/upfK6GM33qZCZjll.js @@ -1 +1 @@ -return args.item?.name != "Musicien (Luth)" \ No newline at end of file +return args.item?.name != "Play (Lute)" \ No newline at end of file diff --git a/scripts/uwdQvZtzy2HVeEzx.js b/scripts/uwdQvZtzy2HVeEzx.js index f181413..685fa84 100644 --- a/scripts/uwdQvZtzy2HVeEzx.js +++ b/scripts/uwdQvZtzy2HVeEzx.js @@ -8,7 +8,7 @@ if (args.totalWoundLoss > 0) await test.roll(); if (test.failed) { - this.script.scriptMessage("" + args.actor.name + " subit un @Table[critbody]{Blessure Critique} au torse", {whisper: ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage("" + args.actor.name + " takes a @Table[critbody]{Critical Hit} to the torse", {whisper: ChatMessage.getWhisperRecipients("GM")}) } }) } diff --git a/scripts/v4CCxVaVGf9i8U7X.js b/scripts/v4CCxVaVGf9i8U7X.js index cd216b9..abab0d3 100644 --- a/scripts/v4CCxVaVGf9i8U7X.js +++ b/scripts/v4CCxVaVGf9i8U7X.js @@ -1,9 +1,9 @@ let cured = await Dialog.wait({ title : this.effect.name, - content : "

    Entrez le nombre de Poisons/Maladies soignés

    ", + content : "

    Enter the number of diseases/poisons cured

    ", buttons : { confirm : { - label : "Confirmer", + label : "Confirm", callback : (dlg) => { let input = dlg.find("input"); value = parseInt(input[0].value); diff --git a/scripts/v5xrDWcrTNFJkyQB.js b/scripts/v5xrDWcrTNFJkyQB.js index aaf860a..da60300 100644 --- a/scripts/v5xrDWcrTNFJkyQB.js +++ b/scripts/v5xrDWcrTNFJkyQB.js @@ -1,7 +1,7 @@ let choice1 = [ { type : "skill", - name : "Projectiles (Arc)", + name : "Ranged (Bow)", diff : { system : { advances : { @@ -26,10 +26,10 @@ let choice = await Dialog.wait({ title : "Option", content : `

    - Ajouter une option? + Add Option?

      -
    1. Projectiles (Arc) +10 et un Arc Long avec 12 flèches
    2. +
    3. Ranged (Bow) +10 and a Longbow with 12 Arrows
    `, buttons : { @@ -67,18 +67,24 @@ for (let c of choice) let item = await game.wfrp4e.utility.find(c.name, c.type) if (item) { - let equip = item.system.tags.has("equippable"); item = item.toObject() - if (equip) - { - item.system.equipped.value = true; - } - items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + equip(item); + items.push(mergeObject(item, (c.diff || {}))) } else - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } await this.actor.update(updateObj) this.actor.createEmbeddedDocuments("Item", items); + +function equip(item) +{ + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true +} \ No newline at end of file diff --git a/scripts/vFUVWZ1l8wpTjLcx.js b/scripts/vFUVWZ1l8wpTjLcx.js index bf87dfe..b33c270 100644 --- a/scripts/vFUVWZ1l8wpTjLcx.js +++ b/scripts/vFUVWZ1l8wpTjLcx.js @@ -7,7 +7,7 @@ if (caster) let wp = caster.system.characteristics.wp if (this.actor.system.characteristics.wp.value >= wp.value) { - this.script.scriptNotification("La cible a une Force Mentale supérieure, aucun effet") + this.script.scriptNotification("Target has higher Willpower, no effect") return } this.actor.applyBasicDamage(wp.bonus, { damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL }) diff --git a/scripts/vSDMygIT9nNvEGWG.js b/scripts/vSDMygIT9nNvEGWG.js index df2b0c4..88b2106 100644 --- a/scripts/vSDMygIT9nNvEGWG.js +++ b/scripts/vSDMygIT9nNvEGWG.js @@ -6,7 +6,7 @@ if (Math.ceil(CONFIG.Dice.randomUniform() * 10) == 1) { this.item.setFlag("wfrp4e", "brittle", true) ChatMessage.create({ content: ` - ${this.item.name} n'a plus de Poison. Il se brisera à sa prochaine utilisation.`, + ${this.item.name} has run out of poison. It will shatter the next time it is used.`, whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) diff --git a/scripts/vc4bELo0cWYoILfB.js b/scripts/vc4bELo0cWYoILfB.js index 0fbbbd9..c8a93da 100644 --- a/scripts/vc4bELo0cWYoILfB.js +++ b/scripts/vc4bELo0cWYoILfB.js @@ -1,4 +1,4 @@ -let choice = await ItemDialog.create(this.actor.itemTypes.disease, 1, "Choisissez une Maladie à soigner (doit avoir été contracté naturellement)") +let choice = await ItemDialog.create(this.actor.itemTypes.disease, 1, "Choose a disease to heal (must be naturally occuring)") -this.script.scriptMessage(`Guérison de ${choice[0]?.name}`); +this.script.scriptMessage(`Cured ${choice[0]?.name}`); choice[0].delete() \ No newline at end of file diff --git a/scripts/vuzRRj5d9XdNYx3o.js b/scripts/vuzRRj5d9XdNYx3o.js index 34bcd89..c5c1635 100644 --- a/scripts/vuzRRj5d9XdNYx3o.js +++ b/scripts/vuzRRj5d9XdNYx3o.js @@ -2,5 +2,5 @@ let broken = this.actor.hasCondition("broken") if (broken) { broken.delete(); - this.script.scriptNotification("Etat Brisé supprimé") + this.script.scriptNotification("Removed Broken") } \ No newline at end of file diff --git a/scripts/vvdo1NxjmGVkmFCT.js b/scripts/vvdo1NxjmGVkmFCT.js index 3ef6cb4..22edf7f 100644 --- a/scripts/vvdo1NxjmGVkmFCT.js +++ b/scripts/vvdo1NxjmGVkmFCT.js @@ -15,7 +15,7 @@ if (location) if (dropped.length) { - this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) for(let weapon of dropped) { await weapon.system.toggleEquip(); diff --git a/scripts/w4RuGIfseGoxXA3k.js b/scripts/w4RuGIfseGoxXA3k.js index 54e601f..55abc51 100644 --- a/scripts/w4RuGIfseGoxXA3k.js +++ b/scripts/w4RuGIfseGoxXA3k.js @@ -1,4 +1,4 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; const test = 'Trade (Carpenter)'; const difficulty = 'challenging'; const target = 20; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,14 +38,14 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] } - + } } ] }; diff --git a/scripts/wbM7tpw4TxvadcWm.js b/scripts/wbM7tpw4TxvadcWm.js index 5358e6e..88dec95 100644 --- a/scripts/wbM7tpw4TxvadcWm.js +++ b/scripts/wbM7tpw4TxvadcWm.js @@ -5,12 +5,12 @@ for(let item of items) if (item.system.properties.qualities.durable) { await item.update({"system.qualities.value" : []}); - msg += `

    ${item.name} per toutes ses Qualités

    ` + msg += `

    ${item.name} loses all Qualities

    ` } else { - msg += `

    ${item.name} tombe en poussière!

    ` - await item.update({name : item.name + " (Poussières)"}) + msg += `

    ${item.name} crumbles into dust!

    ` + await item.update({name : item.name + " (Dust)"}) } } if(msg) diff --git a/scripts/whUSkaR1yem21bXp.js b/scripts/whUSkaR1yem21bXp.js index 284bd24..c2c2f1b 100644 --- a/scripts/whUSkaR1yem21bXp.js +++ b/scripts/whUSkaR1yem21bXp.js @@ -50,7 +50,7 @@ for (let talent of talents) } else { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) } } @@ -68,7 +68,7 @@ for (let trait of traits) } catch { } if (!traitItem) { - ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) } traitItem = traitItem.toObject() @@ -91,13 +91,13 @@ for (let trapping of trappings) { trappingItem = trappingItem.toObject() - trappingItem.system.equipped.value = true; + equip(trappingItem) items.push(trappingItem); } else { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) } } @@ -112,11 +112,22 @@ for (let spell of spells) } else { - ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) } } updateObj.name = updateObj.name += " " + this.effect.name await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file +this.actor.createEmbeddedDocuments("Item", items); + + +function equip(item) +{ + if (item.type == "armour") + item.worn = true + else if (item.type == "weapon") + item.equipped = true + else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") + item.worn = true +} \ No newline at end of file diff --git a/scripts/wsqNM4NHnwaAAQym.js b/scripts/wsqNM4NHnwaAAQym.js index a58738b..a07f054 100644 --- a/scripts/wsqNM4NHnwaAAQym.js +++ b/scripts/wsqNM4NHnwaAAQym.js @@ -1,6 +1,6 @@ args.applyAP = false; - this.script.scriptNotification("Ce test ne s'applique seulement qu'aux criminels. Fermez cette fenêtre si ce n'est pas le cas."); + this.script.scriptNotification("This test only applies to criminals, otherwise close the dialog."); this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields : {difficulty : "average"}, skipTargets: true, appendTitle : ` - ${this.effect.name}`}).then(async test => { await test.roll(); diff --git a/scripts/wyTCozh9qGTx6yK0.js b/scripts/wyTCozh9qGTx6yK0.js index 2bf2400..c2afa63 100644 --- a/scripts/wyTCozh9qGTx6yK0.js +++ b/scripts/wyTCozh9qGTx6yK0.js @@ -1,5 +1,5 @@ if (args.options.terror || args.extendedTest?.getFlag("wfrp4e", "fear")) { args.abort = true; - this.script.scriptNotification("N'a pas besoin de faire de test de Peur ou de Terreur"); + this.script.scriptNotification("Does not need to make Fear or Terror tests"); } \ No newline at end of file diff --git a/scripts/x2RLUUNB7BiIDYCP.js b/scripts/x2RLUUNB7BiIDYCP.js index 5d3ef8d..0ab5fe7 100644 --- a/scripts/x2RLUUNB7BiIDYCP.js +++ b/scripts/x2RLUUNB7BiIDYCP.js @@ -1,8 +1,8 @@ let difficulty = "" - if (this.effect.name.includes("moderat")) + if (this.effect.name.includes("Moderate")) difficulty = "easy" - else if (this.effect.name.includes("schwerwiegend")) + else if (this.effect.name.includes("Severe")) difficulty = "average" else difficulty = "veasy" diff --git a/scripts/x9iKFYYc4Ocy8PTS.js b/scripts/x9iKFYYc4Ocy8PTS.js index 88ca8b1..9f078b6 100644 --- a/scripts/x9iKFYYc4Ocy8PTS.js +++ b/scripts/x9iKFYYc4Ocy8PTS.js @@ -1,11 +1,11 @@ let item = this.effect.getCreatedItems()?.[0]; -ChatMessage.create({content : "La grâce est au delà du style", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) +ChatMessage.create({content : "Grace is beyond style", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) let choice = await ItemDialog.create(ItemDialog.objectToArray({ "nobles" : "Nobles", - "guilders" : "Maitres de Guildes", - "servants" : "Serviteurs" -}), 1, "Choisissez un groupes") + "guilders" : "Guilders", + "servants" : "Servants" +}), 1, "Choose Group") let name = choice[0]?.name diff --git a/scripts/xRd6oA1QWLVpfoBm.js b/scripts/xRd6oA1QWLVpfoBm.js index 9b5f8dd..db785fb 100644 --- a/scripts/xRd6oA1QWLVpfoBm.js +++ b/scripts/xRd6oA1QWLVpfoBm.js @@ -1,4 +1,4 @@ -if (!this.actor.has("Vision Nocturne")) +if (!this.actor.has("Night Vision")) { let item = await fromUuid("Compendium.wfrp4e-core.items.FmHDbCOy3pH8yKhm"); let data = item.toObject(); diff --git a/scripts/xS2su09zcza9du09.js b/scripts/xS2su09zcza9du09.js index 8986241..592e0c2 100644 --- a/scripts/xS2su09zcza9du09.js +++ b/scripts/xS2su09zcza9du09.js @@ -1,8 +1,8 @@ -if ([game.i18n.localize("CORRUPTION.Minor"), game.i18n.localize("CORRUPTION.Moderate"), game.i18n.localize("CORRUPTION.Major")].includes(this.item.system.specification.value)) +if (["Minor", "Moderate", "Major"].includes(this.item.system.specification.value)) { return } -let choice = await ItemDialog.create(ItemDialog.objectToArray({minor : game.i18n.localize("CORRUPTION.Minor"), moderate : game.i18n.localize("CORRUPTION.Moderate"), major : game.i18n.localize("CORRUPTION.Major")}, this.item.img), 1, "Choisissez Corruption Severity"); +let choice = await ItemDialog.create(ItemDialog.objectToArray({minor : "Minor", moderate : "Moderate", major : "Major"}, this.item.img), 1, "Choose Corruption Severity"); this.item.updateSource({"system.specification.value" : choice[0]?.name || ""}) \ No newline at end of file diff --git a/scripts/xUpKYT7BZCSmAfUy.js b/scripts/xUpKYT7BZCSmAfUy.js index 02c1ec7..6e013b0 100644 --- a/scripts/xUpKYT7BZCSmAfUy.js +++ b/scripts/xUpKYT7BZCSmAfUy.js @@ -6,5 +6,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Quantité insuffisante!", "error") + this.script.scriptNotification("None left!", "error") } \ No newline at end of file diff --git a/scripts/xVYVegD692CCv8Yl.js b/scripts/xVYVegD692CCv8Yl.js index 54e7927..91e8707 100644 --- a/scripts/xVYVegD692CCv8Yl.js +++ b/scripts/xVYVegD692CCv8Yl.js @@ -8,5 +8,5 @@ if (test.failed) { let char = this.effect.sourceActor.characteristics; let duration = Math.floor((char.wp.initial + char.wp.advances)/10) ; - this.script.scriptMessage("Voleur du Destin a été appliqué à " + duration + " days"); + this.script.scriptMessage("Fatethief has been applied for " + duration + " days"); } \ No newline at end of file diff --git a/scripts/xWPgIZOQLba5nZ23.js b/scripts/xWPgIZOQLba5nZ23.js index 0e0672c..0023126 100644 --- a/scripts/xWPgIZOQLba5nZ23.js +++ b/scripts/xWPgIZOQLba5nZ23.js @@ -6,7 +6,7 @@ await test.roll(); if (test.succeeded) { - this.script.scriptNotification(this.actor.name + "a résisté !") + this.script.scriptNotification(this.actor.name + "resisted !") } else if (test.failed) { diff --git a/scripts/xgplXZMs459X7XXM.js b/scripts/xgplXZMs459X7XXM.js index 2e4edeb..af8f73d 100644 --- a/scripts/xgplXZMs459X7XXM.js +++ b/scripts/xgplXZMs459X7XXM.js @@ -2,9 +2,10 @@ if (args.equipped) { this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) - this.script.scriptMessage(`${this.actor.name} porte ${this.item.name}.
    - Il subit -20 à tout ses tests pour résister aux maladies.
    - Si il porte le masque pendant plus d'une heure ou bénéficie de l'un de ses effets, il est exposé à une @Corruption[moderate]{Corruption moderate}.`, + this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
    + They suffer –20 to all attempts to resist Disease.
    + If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. + `, {whisper: ChatMessage.getWhisperRecipients("GM")}) } @@ -13,7 +14,7 @@ else if (!args.equipped) { await this.item.effects.contents[0].delete(); await this.item.update({name : this.item.name += " (Used)"}) - this.script.scriptMessage(`${this.item.name} porté par ${this.actor.name} a été enlevé et a perdu ses propriétés. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils devront être supprimés manuellement.`, + this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, {whisper: ChatMessage.getWhisperRecipients("GM")} ) diff --git a/scripts/xihniGjgqOhuaKWc.js b/scripts/xihniGjgqOhuaKWc.js index 823e685..b2990e6 100644 --- a/scripts/xihniGjgqOhuaKWc.js +++ b/scripts/xihniGjgqOhuaKWc.js @@ -1,7 +1,9 @@ - -if (args.test.failed) { - let applicableCharacteristics = ["ws", "bs", "s", "fel", "ag", "t", "dex"]; - if (applicableCharacteristics.includes(args.test.characteristicKey)) { - this.actor.addCondition("stunned"); - } -} \ No newline at end of file + + if (args.test.failed) + { + let applicableCharacteristics = ["ws", "bs", "s", "fel", "ag", "t", "dex"]; + if (applicableCharacteristics.includes(args.test.characteristicKey)) + { + this.actor.addCondition("stunned"); + } + } \ No newline at end of file diff --git a/scripts/xobGBJbgFjQCrwvq.js b/scripts/xobGBJbgFjQCrwvq.js index c1163a2..b6b5f54 100644 --- a/scripts/xobGBJbgFjQCrwvq.js +++ b/scripts/xobGBJbgFjQCrwvq.js @@ -1,5 +1,5 @@ let roll; -if (this.actor.has(game.i18n.localize("NAME.Daemonic")) || this.actor.has(game.i18n.localize("NAME.Undead")) || ["Gobelin", "Orc", "Mort-vivant"].includes(this.actor.system.details.species.value)) +if (this.actor.has(game.i18n.localize("NAME.Daemonic")) || this.actor.has(game.i18n.localize("NAME.Undead")) || ["Goblin", "Orc", "Undead"].includes(this.actor.system.details.species.value)) { roll = await new Roll(`1d10 + ${this.effect.sourceTest.result.overcast.usage.other.current}`).roll() } @@ -11,7 +11,7 @@ else roll.toMessage(this.script.getChatData()) await this.actor.applyBasicDamage(roll.total, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, suppressMsg : true}) -if (this.actor.has("Mort-vivant") || args.actor.has("Démoniaque")) +if (this.actor.has("Undead") || args.actor.has("Daemonic")) { this.actor.addCondition("ablaze") } \ No newline at end of file diff --git a/scripts/xpgXWoK2zDnG1uiF.js b/scripts/xpgXWoK2zDnG1uiF.js index e6416ca..a8a946e 100644 --- a/scripts/xpgXWoK2zDnG1uiF.js +++ b/scripts/xpgXWoK2zDnG1uiF.js @@ -1,72 +1,31 @@ - let stunned = args.actor.hasCondition("stunned") - if (stunned) - { - stunned.system.scriptData = stunned.system.scriptData.filter(s => s.trigger != "dialog") - stunned.system._scripts = null; - } +let stunned = args.actor.hasCondition("stunned") +if (stunned) + setProperty(stunned, "flags.wfrp4e.scriptData", getProperty(stunned, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) +let poisoned= args.actor.hasCondition("poisoned") +if (poisoned) + setProperty(poisoned, "flags.wfrp4e.scriptData", getProperty(poisoned, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) +let deafened = args.actor.hasCondition("deafened") +if (deafened) + setProperty(deafened, "flags.wfrp4e.scriptData", getProperty(deafened, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) - let poisoned = args.actor.hasCondition("poisoned") - if (poisoned) - { - poisoned.system.scriptData = poisoned.system.scriptData.filter(s => s.trigger != "dialog") - poisoned.system._scripts = null; - } +let entangled = args.actor.hasCondition("entangled") +if (entangled) + setProperty(entangled, "flags.wfrp4e.scriptData", getProperty(entangled, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) +let fatigued = args.actor.hasCondition("fatigued") +if (fatigued) + setProperty(fatigued, "flags.wfrp4e.scriptData", getProperty(fatigued, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) +let blinded = args.actor.hasCondition("blinded") +if (blinded) + setProperty(blinded, "flags.wfrp4e.scriptData", getProperty(blinded, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) - let deafened = args.actor.hasCondition("deafened") - if (deafened) - { - deafened.system.scriptData = deafened.system.scriptData.filter(s => s.trigger != "dialog") - deafened.system._scripts = null; - } - - - - - let entangled = args.actor.hasCondition("entangled") - if (entangled) - { - entangled.system.scriptData = entangled.system.scriptData.filter(s => s.trigger != "dialog") - entangled.system._scripts = null; - } - - - - - let fatigued = args.actor.hasCondition("fatigued") - if (fatigued) - { - fatigued.system.scriptData = fatigued.system.scriptData.filter(s => s.trigger != "dialog") - fatigued.system._scripts = null; - } - - - - let blinded = args.actor.hasCondition("blinded") - if (blinded) - { - blinded.system.scriptData = blinded.system.scriptData.filter(s => s.trigger != "dialog") - blinded.system._scripts = null; - } - - - - let broken = args.actor.hasCondition("broken") - if (broken) - { - broken.system.scriptData = broken.system.scriptData.filter(s => s.trigger != "dialog") - broken.system._scripts = null; - } - - - - let prone = args.actor.hasCondition("prone") - if (prone) - { - prone.system.scriptData = prone.system.scriptData.filter(s => s.trigger != "dialog") - prone.system._scripts = null; - } +let broken = args.actor.hasCondition("broken") +if (broken) + setProperty(broken, "flags.wfrp4e.scriptData", getProperty(broken, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) +let prone= args.actor.hasCondition("prone") +if (prone) + setProperty(prone, "flags.wfrp4e.scriptData", getProperty(prone, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) \ No newline at end of file diff --git a/scripts/yAL0YwZWVm8o1nxa.js b/scripts/yAL0YwZWVm8o1nxa.js index 98e23e4..75e6cf8 100644 --- a/scripts/yAL0YwZWVm8o1nxa.js +++ b/scripts/yAL0YwZWVm8o1nxa.js @@ -1,6 +1,6 @@ if (this.actor.hasCondition("dead") && !this.actor.gardenOfCorpses) { - this.script.scriptMessage("[[3d10]] @UUID[Compendium.wfrp4e-core.actors.T79RqnDOAQLn3I1s]{zombies} sortent des décombres.", {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage("[[3d10]] @UUID[Compendium.wfrp4e-core.actors.T79RqnDOAQLn3I1s]{zombies} spring forth from the remains.", {whisper : ChatMessage.getWhisperRecipients("GM")}) this.actor.gardenOfCorpses = true; // local storage is sufficient to prevent multiple messages } \ No newline at end of file diff --git a/scripts/yCgH3N9AurIiAv0i.js b/scripts/yCgH3N9AurIiAv0i.js index 6bb2f03..06aecb3 100644 --- a/scripts/yCgH3N9AurIiAv0i.js +++ b/scripts/yCgH3N9AurIiAv0i.js @@ -1,4 +1,4 @@ -if (!this.item.name.includes("(") || this.item.system.tests.value.includes("(Sinn)")) +if (!this.item.name.includes("(") || this.item.system.tests.value.includes("(Sense)")) { let tests = this.item.system.tests.value let name = this.item.name @@ -12,12 +12,12 @@ if (!this.item.name.includes("(") || this.item.system.tests.value.includes("(Sin else // If no sense specified, provide dialog choice { let choice = await ItemDialog.create(ItemDialog.objectToArray({ - taste : "Geschmack", - sight : "Sehen", - smell : "Geruchs", - hearing : "Gehör", - touch : "Tasten" - }, this.item.img), 1, "Wähle einen Sinn"); + taste : "Taste", + sight : "Sight", + smell : "Smell", + hearing : "Hearing", + touch : "Touch" + }, this.item.img), 1, "Choose Sense"); if (choice[0]) { name = `${name.split("(")[0].trim()} (${choice[0].name})` diff --git a/scripts/yFMvxecXAZ6T2O0S.js b/scripts/yFMvxecXAZ6T2O0S.js index 2a597dd..72cbdc7 100644 --- a/scripts/yFMvxecXAZ6T2O0S.js +++ b/scripts/yFMvxecXAZ6T2O0S.js @@ -4,6 +4,6 @@ if (args.totalWoundLoss >= 1) await roll.toMessage(this.script.getChatData()); if (roll.total == 9) { - this.script.scriptMessage(`Deux @UUID[Compendium.wfrp4e-eis.actors.cLOGeMqUty61nYB9]{Horreurs bleus de Tzeentch} sortent du corps de ${this.actor.name}, le tuant au passage.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage(`Two @UUID[Compendium.wfrp4e-eis.actors.cLOGeMqUty61nYB9]{Blue Horror of Tzeentch} claw their way out of ${this.actor.name}'s screaming flesh, killing them in the process.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) } } \ No newline at end of file diff --git a/scripts/yMMzZ7daCqRlGT3N.js b/scripts/yMMzZ7daCqRlGT3N.js index 98b1232..7dd1c9b 100644 --- a/scripts/yMMzZ7daCqRlGT3N.js +++ b/scripts/yMMzZ7daCqRlGT3N.js @@ -1,5 +1,5 @@ let item = args.opposedTest.attackerTest.item; if (!item.isMagical && (item.type == "weapon" || item.type == "trait")) { - args.modifiers.other.push({label : this.effect.name, details : "Suppression de la valeur de dommages", value : -1 * (args.totalWoundLoss - args.opposedTest.result.differenceSL)}) + args.modifiers.other.push({label : this.effect.name, details : "Remove Damage Rating", value : -1 * (args.totalWoundLoss - args.opposedTest.result.differenceSL)}) } diff --git a/scripts/yTmRoUstxHMso91c.js b/scripts/yTmRoUstxHMso91c.js index b7f2f03..9dcd76f 100644 --- a/scripts/yTmRoUstxHMso91c.js +++ b/scripts/yTmRoUstxHMso91c.js @@ -1,4 +1,4 @@ -if (args.item.name == "Résistance à la Magie" && args.item.type == "trait") +if (args.item.name == "Magic Resistance" && args.item.type == "trait") { args.item.system.specification.value = Number(args.item.system.specification.value) + 1 } \ No newline at end of file diff --git a/scripts/ynoHNXXCGRS6fTqF.js b/scripts/ynoHNXXCGRS6fTqF.js index 901593f..9c5e860 100644 --- a/scripts/ynoHNXXCGRS6fTqF.js +++ b/scripts/ynoHNXXCGRS6fTqF.js @@ -7,7 +7,7 @@ if (args.actor.characteristics.i.value <= 0) i_gain += (await new Roll("2d10").roll()).total } -msg = `${this.actor.prototypeToken.name} gagne ${i_gain} en Initiative` +msg = `${this.actor.prototypeToken.name} gains ${i_gain} Initiative` let newValue = i_gain + args.actor.characteristics.i.modifier diff --git a/scripts/yzN7ZNlgCiSVJqsU.js b/scripts/yzN7ZNlgCiSVJqsU.js index 1e442ba..df02673 100644 --- a/scripts/yzN7ZNlgCiSVJqsU.js +++ b/scripts/yzN7ZNlgCiSVJqsU.js @@ -3,5 +3,5 @@ let sourceItem = this.effect.sourceItem; if (sourceItem) { this.actor.applyEffect({effectUuids : [sourceItem.effects.contents[1].uuid]}) - this.script.scriptNotification("Appliqué après les effets"); + this.script.scriptNotification("Angewandt nach Effekten"); } \ No newline at end of file diff --git a/scripts/z5HfNUrHy5MS3K7a.js b/scripts/z5HfNUrHy5MS3K7a.js index 6abff4e..500167b 100644 --- a/scripts/z5HfNUrHy5MS3K7a.js +++ b/scripts/z5HfNUrHy5MS3K7a.js @@ -3,5 +3,5 @@ await test.roll(); if (test.failed && this.actor.type == "character") { this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) - this.script.scriptMessage("Reçoit un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.script.scriptMessage("Erhält einen Korruptionspunkt", {whisper : ChatMessage.getWhisperRecipients("GM")}) } \ No newline at end of file diff --git a/scripts/zA6TDttpwMSMl7D8.js b/scripts/zA6TDttpwMSMl7D8.js index ab9ff3b..edcf541 100644 --- a/scripts/zA6TDttpwMSMl7D8.js +++ b/scripts/zA6TDttpwMSMl7D8.js @@ -5,7 +5,7 @@ this.actor.setupSkill(game.i18n.localize("NAME.ConsumeAlcohol"), {skipTargets: t // as a result of whatever potential futures they glimpse, // they can spend a Fortune Point within the next hour to reverse the dice of any failed Test. if (test.succeeded) { - this.script.scriptMessage(`En raison des futurs potentiels entrevus, ${this.actor.prototypeToken.name} peut dépenser un Point de Chance durant la prochaine heure pour inverser le résultat d'un test échoué.`, + this.script.scriptMessage(`Als ein Resultat welcher möglichen Zukunft auch immer sie erspähen, kann ${this.actor.prototypeToken.name} in der nächsten Stunde einen Glückspunkt ausgeben um die Würfel eines fehlgeschlagenen Tests umzukehren.`, { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true diff --git a/scripts/zK38Rl5t9zbFi4Se.js b/scripts/zK38Rl5t9zbFi4Se.js index 8638ea5..b74d1bb 100644 --- a/scripts/zK38Rl5t9zbFi4Se.js +++ b/scripts/zK38Rl5t9zbFi4Se.js @@ -1,5 +1,5 @@ if (args.opposedTest.result.hitloc.value == this.item.system.location.key && args.totalWoundLoss > 0) { args.actor.addCondition("bleeding", 1); - this.script.scriptNotification("Ajout d'Hemorragique") + this.script.scriptNotification("Blutend hinzugefügt") } \ No newline at end of file diff --git a/scripts/zR4WAjzXHTZuiu5G.js b/scripts/zR4WAjzXHTZuiu5G.js index 1bdc6d1..a366058 100644 --- a/scripts/zR4WAjzXHTZuiu5G.js +++ b/scripts/zR4WAjzXHTZuiu5G.js @@ -1,44 +1,52 @@ let actor = this.actor; -let effect = this.effect; -let bleedingAmt; -let bleedingRoll; -let msg = "" + let effect = this.effect; + let bleedingAmt; + let bleedingRoll; + let msg = "" -let damage = effect.conditionValue; -let scriptArgs = { msg, damage }; -await Promise.all(actor.runScripts("preApplyCondition", { effect, data: scriptArgs })) -msg = scriptArgs.msg; -damage = scriptArgs.damage; -msg += await actor.applyBasicDamage(damage, { damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne: false, suppressMsg: true }) + let damage = effect.conditionValue; + let scriptArgs = {msg, damage}; + await Promise.all(actor.runScripts("preApplyCondition", {effect, data : scriptArgs})) + msg = scriptArgs.msg; + damage = scriptArgs.damage; + msg += await actor.applyBasicDamage(damage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne : false, suppressMsg : true}) -if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) { - await actor.addCondition("unconscious") - msg += "
    " + game.i18n.format("BleedUnc", { name: actor.prototypeToken.name }) -} + if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) + { + await actor.addCondition("unconscious") + msg += "
    " + game.i18n.format("BleedUnc", {name: actor.prototypeToken.name }) + } -if (actor.hasCondition("unconscious")) { - bleedingAmt = effect.conditionValue; - bleedingRoll = (await new Roll("1d100").roll()).total; - if (bleedingRoll <= bleedingAmt * 10) { - msg += "
    " + game.i18n.format("BleedFail", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; - await actor.addCondition("dead") - } - else if (bleedingRoll % 11 == 0) { - msg += "
    " + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" - await actor.removeCondition("bleeding") - } - else { - msg += "
    " + game.i18n.localize("BleedRoll") + ": " + bleedingRoll; - } -} + if (actor.hasCondition("unconscious")) + { + bleedingAmt = effect.conditionValue; + bleedingRoll = (await new Roll("1d100").roll()).total; + if (bleedingRoll <= bleedingAmt * 10) + { + msg += "
    " + game.i18n.format("BleedFail", {name: actor.prototypeToken.name}) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; + await actor.addCondition("dead") + } + else if (bleedingRoll % 11 == 0) + { + msg += "
    " + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name } ) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" + await actor.removeCondition("bleeding") + } + else + { + msg += "
    " + game.i18n.localize("BleedRoll") + ": " + bleedingRoll; + } + } -await Promise.all(actor.runScripts("applyCondition", { effect, data: { bleedingRoll } })) -if (args.suppressMessage) { - let messageData = game.wfrp4e.utility.chatDataSetup(msg); - messageData.speaker = { alias: this.effect.name } - messageData.flavor = this.effect.name; - return messageData -} -else { - return this.script.scriptMessage(msg) -} + await Promise.all(actor.runScripts("applyCondition", {effect, data : {bleedingRoll}})) + if (args.suppressMessage) + { + let messageData = game.wfrp4e.utility.chatDataSetup(msg); + messageData.speaker = {alias: this.effect.name} + messageData.flavor = this.effect.name; + return messageData + } + else + { + return this.script.scriptMessage(msg) + } + \ No newline at end of file diff --git a/scripts/zXh8rgMxWoCLTxVd.js b/scripts/zXh8rgMxWoCLTxVd.js index 8878ffc..6cb2243 100644 --- a/scripts/zXh8rgMxWoCLTxVd.js +++ b/scripts/zXh8rgMxWoCLTxVd.js @@ -1,5 +1,5 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; -const test = 'Voile'; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; +const test = 'Sail'; const difficulty = 'challenging'; const target = 40; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,7 +38,7 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" @@ -45,6 +46,7 @@ const extendedTestData = { ] } } + } ] }; diff --git a/scripts/zadppy7FEbXvgUON.js b/scripts/zadppy7FEbXvgUON.js index a19fe6f..8b87ec9 100644 --- a/scripts/zadppy7FEbXvgUON.js +++ b/scripts/zadppy7FEbXvgUON.js @@ -1,74 +1,84 @@ let characteristics = { - "ws" : 5, - "bs" : 0, - "s" : 0, - "t" : 0, - "i" : 0, - "ag" : 10, - "dex" : 10, - "int" : 0, - "wp" : 0, - "fel" : 5 -} -let skills = ["Perception", "Escamotage", "Discrétion (Urbaine)"] -let skillAdvancements = [10, 10, 10] -let talents = ["Criminel", "Etiquette (Criminels)"] -let trappings = ["Corde, 10 mètres", "Outils de crochetage", "Masque"] -let items = [] - -let updateObj = this.actor.toObject(); - -for (let ch in characteristics) -{ - updateObj.system.characteristics[ch].modifier += characteristics[ch]; -} - -for (let index = 0; index < skills.length; index++) -{ - let skill = skills[index] - let skillItem; - skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") - if (skillItem) - skillItem.system.advances.value += skillAdvancements[index] - else - { - skillItem = await game.wfrp4e.utility.findSkill(skill) - skillItem = skillItem.toObject(); - skillItem.system.advances.value = skillAdvancements[index]; - items.push(skillItem); - } -} - -for (let talent of talents) -{ - let talentItem = await game.wfrp4e.utility.findTalent(talent) - if (talentItem) - { - items.push(talentItem.toObject()); - } - else - { - ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) - } -} - -for (let trapping of trappings) -{ - let trappingItem = await game.wfrp4e.utility.findItem(trapping) - if (trappingItem) - { - trappingItem = trappingItem.toObject() - - trappingItem.system.equipped.value = true; - - items.push(trappingItem); - } - else - { - ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) - } -} - - -await this.actor.update(updateObj) -this.actor.createEmbeddedDocuments("Item", items); \ No newline at end of file + "ws" : 5, + "bs" : 0, + "s" : 0, + "t" : 0, + "i" : 0, + "ag" : 10, + "dex" : 10, + "int" : 0, + "wp" : 0, + "fel" : 5 + } + let skills = ["Perception", "Sleight of Hand", "Stealth (Urban)"] + let skillAdvancements = [10, 10, 10] + let talents = ["Criminal", "Etiquette (Criminals)"] + let trappings = ["Rope, 10 yards", "Lockpick", "Mask"] + let items = [] + + let updateObj = this.actor.toObject(); + + for (let ch in characteristics) + { + updateObj.system.characteristics[ch].modifier += characteristics[ch]; + } + + for (let index = 0; index < skills.length; index++) + { + let skill = skills[index] + let skillItem; + skillItem = updateObj.items.find(i => i.name == skill && i.type == "skill") + if (skillItem) + skillItem.system.advances.value += skillAdvancements[index] + else + { + skillItem = await game.wfrp4e.utility.findSkill(skill) + skillItem = skillItem.toObject(); + skillItem.system.advances.value = skillAdvancements[index]; + items.push(skillItem); + } + } + + for (let talent of talents) + { + let talentItem = await game.wfrp4e.utility.findTalent(talent) + if (talentItem) + { + items.push(talentItem.toObject()); + } + else + { + ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) + } + } + + for (let trapping of trappings) + { + let trappingItem = await game.wfrp4e.utility.findItem(trapping) + if (trappingItem) + { + trappingItem = trappingItem.toObject() + + equip(trappingItem) + + items.push(trappingItem); + } + else + { + ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) + } + } + + + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); + + function equip(item) + { + if (item.type == "armour") + item.system.worn.value = true + else if (item.type == "weapon") + item.system.equipped = true + else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") + item.system.worn = true + } \ No newline at end of file diff --git a/scripts/zdGAvfL7zJ7wpYxG.js b/scripts/zdGAvfL7zJ7wpYxG.js index 26d2e20..8865d25 100644 --- a/scripts/zdGAvfL7zJ7wpYxG.js +++ b/scripts/zdGAvfL7zJ7wpYxG.js @@ -1,4 +1,4 @@ -const repaired_message = `

    Réparation finie ${this.item.name}.

    `; +const repaired_message = `

    Finished repairing ${this.item.name}.

    `; const test = 'Trade (Carpenter)'; const difficulty = 'easy'; const target = 40; @@ -24,10 +24,11 @@ const extendedTestData = { }, effects: [ { - name: `Réparer ${this.item.name}`, - img: this.item.img, - system: { - transferData : { + name: `Repair the ${this.item.name}`, + icon: this.item.img, + flags: { + wfrp4e: { + applicationData: { type: "document", documentType: "Item" }, @@ -37,14 +38,14 @@ const extendedTestData = { script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.appliedEffects.find(e => e.id === id); - this.script.message("${repaired_message}"); + this.script.scriptMessage("${repaired_message}"); await effect.item.delete(); `, trigger: "deleteEffect" } ] } - + } } ] }; diff --git a/scripts/zi8Z3NlwVj3IfgAW.js b/scripts/zi8Z3NlwVj3IfgAW.js index cfd8a70..410a9a7 100644 --- a/scripts/zi8Z3NlwVj3IfgAW.js +++ b/scripts/zi8Z3NlwVj3IfgAW.js @@ -6,5 +6,5 @@ if (this.item.system.quantity.value) } else { - this.script.scriptNotification("Quantité insuffisante!", "error") + this.script.scriptNotification("Nichts übrig!", "error") } \ No newline at end of file diff --git a/scripts/zxG5KbliWE9xWNQD.js b/scripts/zxG5KbliWE9xWNQD.js index 2fb7824..d8d2982 100644 --- a/scripts/zxG5KbliWE9xWNQD.js +++ b/scripts/zxG5KbliWE9xWNQD.js @@ -1,2 +1,2 @@ -this.script.message("Passe automatiquement n'importe quel " + this.script.label); +this.script.message("Überspring automatisch jede " + this.script.label); args.abort = true; \ No newline at end of file diff --git a/scripts/zzk2uRSFjFHB5kjw.js b/scripts/zzk2uRSFjFHB5kjw.js index b9b36c2..df8f9a1 100644 --- a/scripts/zzk2uRSFjFHB5kjw.js +++ b/scripts/zzk2uRSFjFHB5kjw.js @@ -1,8 +1,9 @@ -let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) -if (args.test.isFumble && roll == 1 && !args.test.result.misfire) { - args.test.result.misfire = game.i18n.localize("Misfire") + " (Résultat 1)" - args.test.result.misfireDamage = eval(parseInt(args.test.result.roll.toString().split('').pop()) + args.test.item.Damage) -} -else if (args.test.isFumble && roll != 1) - args.test.result.other.push("Misfire Roll: " + roll) \ No newline at end of file + let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) + if (args.test.isFumble && roll == 1 && !args.test.result.misfire) + { + args.test.result.misfire = game.i18n.localize("Misfire") + " (Rolled 1)" + args.test.result.misfireDamage = eval(parseInt(args.test.result.roll.toString().split('').pop()) + args.test.item.Damage) + } + else if (args.test.isFumble && roll != 1) + args.test.result.other.push("Misfire Roll: " + roll) \ No newline at end of file diff --git a/scripts_with_translation.md b/scripts_with_translation.md new file mode 100644 index 0000000..fd94f01 --- /dev/null +++ b/scripts_with_translation.md @@ -0,0 +1,8592 @@ + +📝 Unterschiede in [1BT0MWM2cbhlEnrn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1BT0MWM2cbhlEnrn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1BT0MWM2cbhlEnrn.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/1BT0MWM2cbhlEnrn.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/1BT0MWM2cbhlEnrn.js +@@ -26,7 +26,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + +📝 Unterschiede in [1ZArMNUI8qqH6zkX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1ZArMNUI8qqH6zkX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1ZArMNUI8qqH6zkX.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/1ZArMNUI8qqH6zkX.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/1ZArMNUI8qqH6zkX.js +@@ -1,4 +1,4 @@ +-let test = await args.actor.setupCharacteristic("wp", {skipTargets: true, appendTitle : " - " + this.effect.name, context : {failure: "Gained a Stunned Condition"}}) ++let test = await args.actor.setupCharacteristic("wp", {skipTargets: true, appendTitle : " - " + this.effect.name, context : {failure: "Gain d'un état Assomé"}}) + await test.roll(); + if (test.failed) + { + +📝 Unterschiede in [1exiWlVUHsXDLLAH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1exiWlVUHsXDLLAH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1exiWlVUHsXDLLAH.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/1exiWlVUHsXDLLAH.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/1exiWlVUHsXDLLAH.js +@@ -1 +1 @@ +-this.script.scriptNotification(`Cannot enter ${this.effect.name}!`); ++this.script.scriptNotification(`Ne peut saisir ${this.effect.name}!`); + +📝 Unterschiede in [1fQr1Dg7DX0vfz3r.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1fQr1Dg7DX0vfz3r.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1fQr1Dg7DX0vfz3r.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/1fQr1Dg7DX0vfz3r.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/1fQr1Dg7DX0vfz3r.js +@@ -1,3 +1,3 @@ + let healed = parseInt(this.effect.sourceTest.result.SL) + this.actor.modifyWounds(healed) +-this.script.scriptMessage(`Healed ${healed} Wounds`) ++this.script.scriptMessage(`Soins de ${healed} Blessures`) + +📝 Unterschiede in [1jQq9v8fXK8zuEBU.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1jQq9v8fXK8zuEBU.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1jQq9v8fXK8zuEBU.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/1jQq9v8fXK8zuEBU.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/1jQq9v8fXK8zuEBU.js +@@ -5,9 +5,9 @@ + let APused = Math.max(0, APatLoc.value - metalAP); // remove metal AP at location; + damage -= (APused + this.actor.system.characteristics.t.bonus) + let msg = await this.actor.applyBasicDamage(damage, {suppressMsg : true, damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL}); +-msg += ` (ignored ${metalAP} metal AP on ${game.wfrp4e.config.locations[loc]})` ++msg += ` (ignore ${metalAP} PA de métal sur ${game.wfrp4e.config.locations[loc]})` + this.script.scriptMessage(msg) +-let test = await this.actor.setupSkill("Endurance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); ++let test = await this.actor.setupSkill("Résistance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); + await test.roll(); + if (test.failed) + this.actor.addCondition("stunned"); + +📝 Unterschiede in [1kB2su7hLRYDhZ2H.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1kB2su7hLRYDhZ2H.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1kB2su7hLRYDhZ2H.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/1kB2su7hLRYDhZ2H.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/1kB2su7hLRYDhZ2H.js +@@ -6,12 +6,12 @@ + let data = item.toObject(); + if (this.item.system.location.key == "rLeg") + { +-data.system.location.value = "Right Toe" ++data.system.location.value = "Pied droit" + data.system.location.key = "rToe"; + } + else if (this.item.system.location.key == "lLeg") + { +-data.system.location.value = "Left Toe" ++data.system.location.value = "Pied gauche" + data.system.location.key = "lToe"; + } + this.actor.createEmbeddedDocuments("Item", [data]) + +📝 Unterschiede in [1wrPvP6lJwIAfmsl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1wrPvP6lJwIAfmsl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1wrPvP6lJwIAfmsl.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/1wrPvP6lJwIAfmsl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/1wrPvP6lJwIAfmsl.js +@@ -1,4 +1,4 @@ +-let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations), 1, "Choose Location"); ++let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations), 1, "Choisir une localisation"); + let location = choice[0].id; + let itemTargeted = this.actor.items.get(this.effect.getFlag("wfrp4e", "itemTargets")[0]) + if (itemTargeted) + +📝 Unterschiede in [23vWiHUjxtRQ3Efz.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/23vWiHUjxtRQ3Efz.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/23vWiHUjxtRQ3Efz.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/23vWiHUjxtRQ3Efz.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/23vWiHUjxtRQ3Efz.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.eWPN3CV2Eddwz8aM") + let data = item.toObject(); +-data.system.location.value = "Back" ++data.system.location.value = "Dos" + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) + +📝 Unterschiede in [2QB0LjueuJcIaHaC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2QB0LjueuJcIaHaC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2QB0LjueuJcIaHaC.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2QB0LjueuJcIaHaC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2QB0LjueuJcIaHaC.js +@@ -1,8 +1,12 @@ + if (isNaN(parseInt(this.item.system.specification.value))) + { +-let value = await ValueDialog.create("Enter Armour value", this.effect.name); ++let value = this.item.specifier; ++if (!value) ++{ ++value = await ValueDialog.create({text : "Enter Armour value", title : this.effect.name}); ++} + if (value) + { +-this.item.updateSource({"system.specification.value" : value}); ++this.item.updateSource({"system.specification.value" : value, name : this.item.baseName}); + } + } + +📝 Unterschiede in [2Qi1hwLYhdE6v6Hs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2Qi1hwLYhdE6v6Hs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2Qi1hwLYhdE6v6Hs.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2Qi1hwLYhdE6v6Hs.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2Qi1hwLYhdE6v6Hs.js +@@ -3,6 +3,6 @@ + if (args.options.dodge) + { + args.abort = true; +-this.script.scriptNotification("Cannot Dodge!") ++this.script.scriptNotification("Impossible d'Esquiver!") + } + return ["t", "int", "wp", "fel"].includes(args.characteristic) + +📝 Unterschiede in [2W9uMTT6iJhfQ044.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2W9uMTT6iJhfQ044.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2W9uMTT6iJhfQ044.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2W9uMTT6iJhfQ044.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2W9uMTT6iJhfQ044.js +@@ -1,8 +1,8 @@ +-let skill = `Trade (${this.item.parenthesesText})` ++let skill = `${game.i18n.localize("NAME.Trade")} (${this.item.parenthesesText})` + let currentCareer = this.actor.system.currentCareer; + let existingSkill = this.actor.itemTypes.skill.find(i => i.name == skill); + if (!currentCareer) return +-let inCurrentCareer = currentCareer.system.skills.includes(skill); ++let inCurrentCareer = currentCareer.system.skills.concat(currentCareer.system.addedSkills).includes(skill); + let craftsmanAdded = this.actor.getFlag("wfrp4e", "craftsmanAdded") || {}; + if (existingSkill && inCurrentCareer && !craftsmanAdded[existingSkill.name]) + { +@@ -11,6 +11,6 @@ + else + { + craftsmanAdded[skill] = true; +-currentCareer.system.skills.push(skill); +-setProperty(this.actor, "flags.wfrp4e.craftsmanAdded", craftsmanAdded) ++currentCareer.system.addedSkills.push(skill); ++foundry.utils.setProperty(this.actor, "flags.wfrp4e.craftsmanAdded", craftsmanAdded) + } + +📝 Unterschiede in [2WSN306tL4apjRtD.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2WSN306tL4apjRtD.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2WSN306tL4apjRtD.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2WSN306tL4apjRtD.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2WSN306tL4apjRtD.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.9h82z72XGo9tfgQS") + let data = item.toObject(); +-data.name = data.name += " (Hearing)" ++data.name = data.name += " (Ou√Øe)" + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [2cKarG9ToyW2ptCd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2cKarG9ToyW2ptCd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2cKarG9ToyW2ptCd.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2cKarG9ToyW2ptCd.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2cKarG9ToyW2ptCd.js +@@ -6,5 +6,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Vide !", "error") + } + +📝 Unterschiede in [2rzxQlL7A9ujZ9uK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2rzxQlL7A9ujZ9uK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2rzxQlL7A9ujZ9uK.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2rzxQlL7A9ujZ9uK.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2rzxQlL7A9ujZ9uK.js +@@ -1,6 +1,6 @@ + if (args.opposedTest.result.winner == "attacker") { + if (args.opposedTest.defenderTest.weapon && args.opposedTest.defenderTest.item.properties.qualities.shield) { +-ui.notifications.notify(`${this.effect.name}: Gained ${this.item.Advances} Advantage`) ++ui.notifications.notify(`${this.effect.name}: Gain de ${this.item.Advances} Avantages`) + this.actor.setAdvantage(this.item.Advances) + } + } + +📝 Unterschiede in [2vTVR0quRZQtjNfQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2vTVR0quRZQtjNfQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2vTVR0quRZQtjNfQ.js:0) (20 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2vTVR0quRZQtjNfQ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2vTVR0quRZQtjNfQ.js +@@ -3,14 +3,14 @@ + { + return; + } +-let talents = ["Aethyric Attunement", +-"Arcane Magic (Any)", +-"Chaos Magic (Tzeentch)", +-"Fast Hands", +-"Instinctive Diction", +-"Magical Sense", +-"Petty Magic", +-"Second Sight", +-"War Wizard", +-"Witch!"].filter(t => !currentCareer.system.talents.includes(t)) ++let talents = ["Harmonisation Aethyrique", ++"Magie des Arcanes (Domaine)", ++"Magie du Chaos (Tzeentch)", ++"Mains agiles", ++"Diction Instinctive", ++"Sens de la Magie", ++"Magie Mineure", ++"Seconde Vue", ++"Mage de guerre", ++"Sorcier!"].filter(t => !currentCareer.system.talents.includes(t)) + currentCareer.system.talents = currentCareer.system.talents.concat(talents) + +📝 Unterschiede in [2zeP2nMSURjxrqYz.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2zeP2nMSURjxrqYz.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2zeP2nMSURjxrqYz.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/2zeP2nMSURjxrqYz.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/2zeP2nMSURjxrqYz.js +@@ -1,5 +1,5 @@ + let wounds = this.actor.system.status.wounds + if (wounds.value == 0) +-return this.script.scriptNotification("No effect at 0 Wounds", "error") +-this.script.scriptNotification(`Healed ${this.actor.characteristics.t.bonus} Wounds`) ++return this.script.scriptNotification("Aucun effet à 0 Blessures", "error") ++this.script.scriptNotification(`Soin de ${this.actor.characteristics.t.bonus} Blessures`) + await this.actor.modifyWounds(this.actor.characteristics.t.bonus) + +📝 Unterschiede in [3D5ImpMgpOTPucvv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/3D5ImpMgpOTPucvv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/3D5ImpMgpOTPucvv.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/3D5ImpMgpOTPucvv.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/3D5ImpMgpOTPucvv.js +@@ -3,5 +3,5 @@ + let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) + let ones = Number(args.test.result.roll.toString().split("").pop()) + if (ones > SL) +-args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} SL`) ++args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} DR`) + } + +📝 Unterschiede in [3IGO7xEjRjat937X.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/3IGO7xEjRjat937X.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/3IGO7xEjRjat937X.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/3IGO7xEjRjat937X.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/3IGO7xEjRjat937X.js +@@ -1,7 +1,7 @@ + let fatigue = this.actor.hasCondition("fatigued") + if (fatigue) + { +-this.script.scriptNotification("Removing Fatigued Condition, disabled effect") ++this.script.scriptNotification("Suppression de l'état Fatigué, effet désactivé.") + this.effect.update({disabled : true}) + await this.actor.removeCondition("fatigued") + } + +📝 Unterschiede in [3JEzEzF1SeYA9lsV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/3JEzEzF1SeYA9lsV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/3JEzEzF1SeYA9lsV.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/3JEzEzF1SeYA9lsV.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/3JEzEzF1SeYA9lsV.js +@@ -1,4 +1,4 @@ +-let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations, this.effect.img), 1, "Choose Location"); ++let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.locations, this.effect.img), 1, "Choisissez Location"); + if (choice[0]) + { + this.effect.updateSource({name : `${this.effect.name} (${choice[0].name})`}) +@@ -10,7 +10,7 @@ + let dropped = this.actor.itemTypes.weapon.filter(i => i.isEquipped & i.system.usesHands.includes(location)); + if (dropped.length) + { +-this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) ++this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + for(let weapon of dropped) + { + await weapon.system.toggleEquip(); + +📝 Unterschiede in [4MQ7u4INxp51oyyR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/4MQ7u4INxp51oyyR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/4MQ7u4INxp51oyyR.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/4MQ7u4INxp51oyyR.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/4MQ7u4INxp51oyyR.js +@@ -10,10 +10,10 @@ + "wp" : 25, + "fel" : 10 + } +-let skills = ["Cool", "Dodge", "Intimidate", "Intuition", "Leadership", "Lore (Warfare)", "Perception"] ++let skills = ["Calme", "Esquive", "Intimidate", "Intuition", "Commandement" , "Lore (Warfare)", "Perception"] + let skillAdvancements = [15, 15, 15, 15, 15, 10, 10] + let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Inspiring", "Resolute", "War Leader"] +-let trappings = ["Hand Weapon", "Shield"] ++let trappings = ["Arme simple", "Shield"] + let items = []; + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,23 +53,14 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [4fnTKgl0HW9ZrWyJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/4fnTKgl0HW9ZrWyJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/4fnTKgl0HW9ZrWyJ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/4fnTKgl0HW9ZrWyJ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/4fnTKgl0HW9ZrWyJ.js +@@ -4,7 +4,7 @@ + if (test.failed) + { + let char = Math.ceil(CONFIG.Dice.randomUniform() * 2) == 2 ? "s" : "t"; +-this.script.scriptMessage(`${this.actor.name} lost 1 point of ${game.wfrp4e.config.characteristics[char]}`) ++this.script.scriptMessage(`${this.actor.name} perd 1 point de ${game.wfrp4e.config.characteristics[char]}`) + this.actor.update({[`system.characteristics.${char}.initial`] : this.actor.system.characteristics[char].initial - 1}) + } + }) + +📝 Unterschiede in [4pQW4WLyhjbZR85k.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/4pQW4WLyhjbZR85k.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/4pQW4WLyhjbZR85k.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/4pQW4WLyhjbZR85k.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/4pQW4WLyhjbZR85k.js +@@ -3,5 +3,5 @@ + if (test.failed && this.actor.type == "character") + { + this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) +-this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage("Gain d'un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [58rFc9HiBoX66J6p.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/58rFc9HiBoX66J6p.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/58rFc9HiBoX66J6p.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/58rFc9HiBoX66J6p.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/58rFc9HiBoX66J6p.js +@@ -1,7 +1,7 @@ + let sourceActor = this.effect.sourceActor; + let damage = args.totalWoundLoss; + let tb = sourceActor.system.characteristics.t.bonus +-args.abort = `${this.effect.name}: Damage applied to ${sourceActor.name}`; ++args.abort = `${this.effect.name}: Dommages appliqués à ${sourceActor.name}`; + let message = await sourceActor.applyBasicDamage(damage - tb, {damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP, suppressMsg : true}) +-this.script.scriptMessage(message.replace(`${tb} TB`, `${tb} × 2 TB`)) ++this.script.scriptMessage(message.replace(`${tb} TB`, `${tb} × 2 TB`)) + args.abort = true; + +📝 Unterschiede in [5DI6cHAg1LHo54Yv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5DI6cHAg1LHo54Yv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5DI6cHAg1LHo54Yv.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5DI6cHAg1LHo54Yv.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5DI6cHAg1LHo54Yv.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 2 && args.opposedTest.result.winner == "attacker") + { + this.actor.update({"system.status.fortune.value" : Math.max(0, (this.actor.system.status.fortune?.value - 1) || 0)}) +-this.script.scriptMessage(`Fortune point stolen from ${this.actor.name}`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`1 Point de Fortune volé à ${this.actor.name}`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [5Fe1ELaS6Gnvy0Cj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5Fe1ELaS6Gnvy0Cj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5Fe1ELaS6Gnvy0Cj.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5Fe1ELaS6Gnvy0Cj.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5Fe1ELaS6Gnvy0Cj.js +@@ -1 +1 @@ +-return args.skill?.name.includes("Channelling") || args.type == "channelling" || args.skill?.name == game.i18n.localize("NAME.Charm") || args.skill?.name.includes("Language (Magick)") || args.type == "cast" ++return args.skill?.name.includes("Focalisation") || args.type == "channelling" || args.skill?.name == game.i18n.localize("NAME.Charm") || args.skill?.name.includes("Langue (Magick)") || args.type == "cast" + +📝 Unterschiede in [5JWC0l3JEpOsqbR9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5JWC0l3JEpOsqbR9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5JWC0l3JEpOsqbR9.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5JWC0l3JEpOsqbR9.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5JWC0l3JEpOsqbR9.js +@@ -10,10 +10,10 @@ + "wp" : 5, + "fel" : 0 + } +-let skills = ["Dodge", "Perception"] ++let skills = ["Esquive", "Perception"] + let skillAdvancements = [10, 10] + let talents = ["Flee!", "Marksman"] +-let trappings = ["Hand Weapon"] ++let trappings = ["Arme simple"] + let items = []; + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,23 +53,14 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [5JvKJZPcd6Hz5zvn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5JvKJZPcd6Hz5zvn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5JvKJZPcd6Hz5zvn.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5JvKJZPcd6Hz5zvn.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5JvKJZPcd6Hz5zvn.js +@@ -10,10 +10,10 @@ + "wp" : 15, + "fel" : 0 + } +-let skills = ["Cool", "Dodge", "Intimidate", "Leadership"] ++let skills = ["Calme", "Esquive", "Intimidate", "Commandement" ] + let skillAdvancements = [15, 15, 10, 5] + let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Resolute"] +-let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Hand Weapon", "Shield"] ++let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Arme simple", "Shield"] + let items = []; + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,23 +53,14 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + updateObj.name = this.effect.name + " " + updateObj.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [5M6IgCUncCwyxHok.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5M6IgCUncCwyxHok.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5M6IgCUncCwyxHok.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5M6IgCUncCwyxHok.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5M6IgCUncCwyxHok.js +@@ -1,11 +1,11 @@ + let etiquette = (await fromUuid("Compendium.wfrp4e-core.items.Item.sYbgpSnRqSZWgwFP")).toObject(); +-etiquette.name += ` (Followers of Tzeentch)`; ++etiquette.name += ` (Suivants de Tzeentch)`; + let animosity = (await fromUuid("Compendium.wfrp4e-core.items.Item.0VpT5yubw4UL7j6f")).toObject(); +-animosity.system.specification.value = "Followers of Nurgle"; ++animosity.system.specification.value = "Suivants de Nurgle"; + let roll = await new Roll("ceil(1d10 / 3)").roll(); + roll.toMessage(this.script.getChatData()); + let mutations = []; +-let msg = `

    Mutations Gained

    ` ++let msg = `

    Mutations acquises

    ` + for(let i = 0; i < roll.total; i++) + { + let item; + +📝 Unterschiede in [5ScjIdRUOxblHdWS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5ScjIdRUOxblHdWS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5ScjIdRUOxblHdWS.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5ScjIdRUOxblHdWS.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5ScjIdRUOxblHdWS.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpenter)'; + const difficulty = 'challenging'; + const target = 40; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [5dR7Erj3nwsxLAV7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5dR7Erj3nwsxLAV7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5dR7Erj3nwsxLAV7.js:0) (21 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5dR7Erj3nwsxLAV7.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5dR7Erj3nwsxLAV7.js +@@ -10,10 +10,10 @@ + "wp" : 35, + "fel" : 15 + } +-let skills = ["Cool", "Dodge", "Intimidate", "Intuition", "Leadership", "Lore (Warfare)", "Perception"] ++let skills = ["Calme", "Esquive", "Intimidate", "Intuition", "Commandement" , "Lore (Warfare)", "Perception"] + let skillAdvancements = [25, 15, 25, 25, 30, 20, 20] +-let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Inspiring", "Luck", "Resolute", "Unshakable", "War Leader"] +-let trappings = ["Hand Weapon", "Shield"] ++let talents = ["Combat Aware", "Combat Reflexes", "Feint", "Inspiring", "Chance", "Resolute", "Unshakable", "War Leader"] ++let trappings = ["Arme simple", "Shield"] + let items = []; + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,23 +53,14 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [5sI9iYh5j2nx2XyT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5sI9iYh5j2nx2XyT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5sI9iYh5j2nx2XyT.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/5sI9iYh5j2nx2XyT.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/5sI9iYh5j2nx2XyT.js +@@ -1 +1 @@ +-return !(["Animal Care", "Charm Animal"].includes(args.item?.name) || args.item?.name.includes("Ride") || args.item?.name.includes("Animal Training")) ++return !(["Soin aux animaux", "Emprise sur les animaux"].includes(args.item?.name) || args.item?.name.includes("Chevaucher") || args.item?.name.includes("Dressage")) + +📝 Unterschiede in [65xE9OV5sA1ZWT7j.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/65xE9OV5sA1ZWT7j.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/65xE9OV5sA1ZWT7j.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/65xE9OV5sA1ZWT7j.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/65xE9OV5sA1ZWT7j.js +@@ -3,5 +3,5 @@ + let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) + let ones = Number(args.test.result.roll.toString().split("").pop()) + if (ones > SL) +-args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} SL`) ++args.test.result.other.push(`${this.effect.name}: ${ones + args.test.successBonus + args.test.slBonus} DR`) + } + +📝 Unterschiede in [6Aqq4F4Xui923sc6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6Aqq4F4Xui923sc6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6Aqq4F4Xui923sc6.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6Aqq4F4Xui923sc6.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6Aqq4F4Xui923sc6.js +@@ -1,11 +1,11 @@ + // Imbibing this substance grants the user the Painless Creature Trait. +-const hasColdBlooded = this.actor.has("Cold Blooded") ++const hasColdBlooded = this.actor.has("A Sang Froid") + if (hasColdBlooded === undefined) + { + let item = await fromUuid("Compendium.wfrp4e-core.items.mCh1KK9jomwFZcLB") + let data = item.toObject() + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) +-this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} has gained the Cold Blooded Creature Trait and may reverse any failed Willpower based Tests.

    +-

    If they gain a Surprised Condition, this Condition is not lost the first time it should be (which is typically at the end of the Round or if they victim is attacked).

    `, ++this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} reçoit le Trait de Créatuer A Sang Froid et peut inverser n'importe quel test de Force Mentale échoué.

    ++

    Si il reçoit un état Surpris, cet état n'est pas perdu la première fois (typiquement à la fin du Round ou si il est attaqué).

    `, + {whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) + } + +📝 Unterschiede in [6BmvV9c03FkfisnE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6BmvV9c03FkfisnE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6BmvV9c03FkfisnE.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6BmvV9c03FkfisnE.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6BmvV9c03FkfisnE.js +@@ -1,8 +1,8 @@ + // Apply changes when the mask is worn + if (args.equipped) { + this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) +-this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
    +-They gain +1 Corruption point if an exposure Test is failed, which will need to be manually applied.
    If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption} ++this.script.scriptMessage(`${this.actor.name} porte le ${this.item.name}.
    ++Il gagne +1 Point de Corruption point si un Test de Corruption est échoué, à appliquer manuellement.
    Si le personnage porte le masque pendant plus d'une heure ou utilise les effets du masque, il est exposé à une @Corruption[moderate]{Corruption moderate} + `, + {whisper: ChatMessage.getWhisperRecipients("GM")}) + } +@@ -10,8 +10,8 @@ + else if (!args.equipped) + { + await this.item.effects.contents[0].delete(); +-await this.item.update({name : this.item.name += " (Used)"}) +-this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, ++await this.item.update({name : this.item.name += " (Utilisé)"}) ++this.script.scriptMessage(`${this.item.name} de ${this.actor.name} a été enlevé et a perdu ses propriétés. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils devront être manuellement supprimés.`, + {whisper: ChatMessage.getWhisperRecipients("GM")} + ) + } + +📝 Unterschiede in [6H6vNjzvMGl2ZqCR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6H6vNjzvMGl2ZqCR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6H6vNjzvMGl2ZqCR.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6H6vNjzvMGl2ZqCR.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6H6vNjzvMGl2ZqCR.js +@@ -1,2 +1,2 @@ + if (args.totalWoundLoss > 0) +-this.script.scriptMessage(`Blade of Nurglitch: ${args.actor.name} must pass an Difficult (-10) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) ++this.script.scriptMessage(`Lame de Nurglitch: ${args.actor.name} doit r√©ussir un Test d'Endurance Difficile (-10) ou recevoir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) + +📝 Unterschiede in [6JrUjs3g5x6bFnj3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6JrUjs3g5x6bFnj3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6JrUjs3g5x6bFnj3.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6JrUjs3g5x6bFnj3.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6JrUjs3g5x6bFnj3.js +@@ -3,5 +3,5 @@ + let biteData = bite.toObject(); + let senseData = sense.toObject(); + biteData.system.specification.value = 6 - this.actor.characteristics.s.bonus; +-senseData.name = senseData.name += " (Smell)" ++senseData.name = senseData.name += " (Odorat)" + this.actor.createEmbeddedDocuments("Item", [biteData, senseData], {fromEffect : this.effect.id}) + +📝 Unterschiede in [6QZUX7ZrFxOzqI0b.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6QZUX7ZrFxOzqI0b.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6QZUX7ZrFxOzqI0b.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6QZUX7ZrFxOzqI0b.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6QZUX7ZrFxOzqI0b.js +@@ -1,4 +1,4 @@ +-let regenerate = this.actor.items.getName('Regenerate') ++let regenerate = this.actor.items.getName('Régénération') + if (regenerate) + { + let effect = regenerate.effects.contents[0] + +📝 Unterschiede in [6Ws3ieQ7pG5poUyT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6Ws3ieQ7pG5poUyT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6Ws3ieQ7pG5poUyT.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6Ws3ieQ7pG5poUyT.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6Ws3ieQ7pG5poUyT.js +@@ -1,6 +1,6 @@ + if (isNaN(parseInt(this.item.system.specification.value))) + { +-let value = await ValueDialog.create("Enter Spellcasting Lore", this.effect.name, "", Object.values(game.wfrp4e.config.magicLores)); ++let value = await ValueDialog.create({text : "Enter Spellcasting Lore", title : this.effect.name}, "", Object.values(game.wfrp4e.config.magicLores)); + if (value) + { + this.item.updateSource({"system.specification.value" : value}); + +📝 Unterschiede in [6ZS1rQLkNvMDO0Fp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6ZS1rQLkNvMDO0Fp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6ZS1rQLkNvMDO0Fp.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6ZS1rQLkNvMDO0Fp.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6ZS1rQLkNvMDO0Fp.js +@@ -1,10 +1,10 @@ + let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) + if (args.test.isFumble && roll == 1 && !args.test.result.misfire) + { +-args.test.result.misfire = game.i18n.localize("Misfire") + " (Rolled 1)" ++args.test.result.misfire = game.i18n.localize("Misfire") + " (Résultat 1)" + args.test.result.misfireDamage = eval(parseInt(args.test.result.roll.toString().split('').pop()) + args.test.item.Damage) + } + else if (args.test.isFumble && roll != 1) + { +-args.test.result.other.push("Misfire Roll: " + roll) ++args.test.result.other.push("Résultat du Raté: " + roll) + } + +📝 Unterschiede in [6hAgggYpNR3r4QWC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6hAgggYpNR3r4QWC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6hAgggYpNR3r4QWC.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6hAgggYpNR3r4QWC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6hAgggYpNR3r4QWC.js +@@ -1,5 +1,5 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.Q2MCUrG2HppMcvN0") + item = item.toObject() +-let species = args.actor.Species || " of your species" +-item.name = `Animosity (all not ${species})` ++let species = args.actor.Species || " de votre espèce" ++item.name = `Animosité (tous sauf ${species})` + this.actor.createEmbeddedDocuments("Item", [item], {fromEffect : this.effect.id}) + +📝 Unterschiede in [6jcTzK1XEuWqAacN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6jcTzK1XEuWqAacN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6jcTzK1XEuWqAacN.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6jcTzK1XEuWqAacN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6jcTzK1XEuWqAacN.js +@@ -1,2 +1,2 @@ + args.abort = true; +-this.script.scriptNotification(`Cannot use ${game.wfrp4e.config.locations[this.effect.getFlag("wfrp4e", "location")]}!`, "error") ++this.script.scriptNotification(`Impossible d'utiliser ${game.wfrp4e.config.locations[this.effect.getFlag("wfrp4e", "location")]}!`, "error") + +📝 Unterschiede in [6kifXp2jXEaQVJsg.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6kifXp2jXEaQVJsg.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6kifXp2jXEaQVJsg.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6kifXp2jXEaQVJsg.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6kifXp2jXEaQVJsg.js +@@ -1,6 +1,6 @@ + let useWard = await Dialog.wait({ + title : this.effect.name, +-content : `

    Use Ward provided by ${this.effect.name}?`, ++content : `

    Utiliser Ward fourni par ${this.effect.name}?`, + buttons : { + yes : { + label : "Yes", + +📝 Unterschiede in [6mpw9cGseG4W4eyd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6mpw9cGseG4W4eyd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6mpw9cGseG4W4eyd.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6mpw9cGseG4W4eyd.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6mpw9cGseG4W4eyd.js +@@ -1,11 +1,11 @@ + if (this.actor.system.status.advantage.value >= 2) + { + await this.actor.modifyAdvantage(-2); +-this.script.scriptNotification("Advantage Subtracted") ++this.script.scriptNotification("Avvantage soustrait") + } + else + { +-return this.script.scriptNotification("Not enough Advantage!", "error") ++return this.script.scriptNotification("Pas assez d'Avantages!", "error") + } + let test = await this.actor.setupTrait(this.item) + await test.roll(); + +📝 Unterschiede in [6qJP0hpShEM43ohx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6qJP0hpShEM43ohx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6qJP0hpShEM43ohx.js:0) (10 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6qJP0hpShEM43ohx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6qJP0hpShEM43ohx.js +@@ -1,6 +1,6 @@ + const actor = args.actor; +-if (actor.itemTypes.skill.find(s => s.name === "Lore (Oceans)")) { +-const loreTest = await actor.setupSkill('Lore (Oceans)', { ++if (actor.itemTypes.skill.find(s => s.name === "Savoir (Océans)")) { ++const loreTest = await actor.setupSkill('Savoir (Océans)', { + appendTitle: ` – ${this.effect.name}`, + skipTargets: true, + fields: {difficulty: 'hard'}, +@@ -8,12 +8,12 @@ + }); + await loreTest.roll(); + if (loreTest.succeeded) { +-loreTest.result.other.push(`${actor.name} recognizes lure of the Leviathan.`); ++loreTest.result.other.push(`${actor.name} reconnaît l'attrait du Léviathan.`); + loreTest.renderRollCard(); + return; + } + } +-let test = await actor.setupSkill('Cool', { ++let test = await actor.setupSkill('Calme', { + appendTitle: ` – ${this.effect.name}`, + skipTargets: true, + fields: {difficulty: 'easy'}, +@@ -21,7 +21,7 @@ + }); + await test.roll(); + if (!test.succeeded) { +-test.result.other.push(`${actor.name} became @Condition[Stunned] by the sight.`); ++test.result.other.push(`${actor.name} devien @Condition[Assommé] par cette vision.`); + test.renderRollCard(); + actor.addCondition("stunned"); + } + +📝 Unterschiede in [6uldpFvKOCoW92cC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6uldpFvKOCoW92cC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6uldpFvKOCoW92cC.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6uldpFvKOCoW92cC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6uldpFvKOCoW92cC.js +@@ -1,6 +1,6 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.uqGxFOEqeurwkAO3") + item = item.toObject() + item.system.specification.value = 10; +-item.name += " (Fire)" ++item.name += " (Feu)" + setProperty(item, "flags.wfrp4e.breath", "fire") + Item.create(item, {parent : this.actor, fromEffect: this.effect.id}) + +📝 Unterschiede in [6xTtJEhRc4OjcDTf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6xTtJEhRc4OjcDTf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6xTtJEhRc4OjcDTf.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/6xTtJEhRc4OjcDTf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/6xTtJEhRc4OjcDTf.js +@@ -1,5 +1,5 @@ + if (getProperty(args.data, "system.status.fortune.value")) + { +-this.script.scriptNotification("Cannot update Fortune"); ++this.script.scriptNotification("Impossible de mettre à jour la Fortune"); + delete args.data.system.status.wounds.value; + } + +📝 Unterschiede in [7Ck0fkzE4WQ62qVe.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7Ck0fkzE4WQ62qVe.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7Ck0fkzE4WQ62qVe.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/7Ck0fkzE4WQ62qVe.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/7Ck0fkzE4WQ62qVe.js +@@ -1,4 +1,4 @@ +-if (args.item.type == "skill" && args.item.name == "Melee (Basic)") ++if (args.item.type == "skill" && args.item.name == "Corps à corps (Base)") + { + args.item.system.modifier.value += 20; + } + +📝 Unterschiede in [7F6aGxZJjwxm5e5P.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7F6aGxZJjwxm5e5P.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7F6aGxZJjwxm5e5P.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/7F6aGxZJjwxm5e5P.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/7F6aGxZJjwxm5e5P.js +@@ -1,6 +1,6 @@ + if (args.test.result.castOutcome == "failure") + { +-ValueDialog.create("Enter Wounds Lost to gain SL", this.effect.name, "0").then(async value => { ++ValueDialog.create({text : "Enter Wounds Lost to gain SL", title : this.effect.name}, "0").then(async value => { + value = Math.clamped(value, 0, 3) + if (value == 0) + { +@@ -8,7 +8,7 @@ + } + else if (Number.isNumeric(value)) + { +-this.script.scriptNotification(`Lost ${value} Wounds`) ++this.script.notification(`Lost ${value} Wounds`) + this.actor.modifyWounds(-1 * value) + await this.item.system.toggleEquip(); + args.test.addSL(value); + +📝 Unterschiede in [7JW9t8AYSDkkzG2V.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7JW9t8AYSDkkzG2V.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7JW9t8AYSDkkzG2V.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/7JW9t8AYSDkkzG2V.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/7JW9t8AYSDkkzG2V.js +@@ -2,8 +2,8 @@ + if (args.equipped) + { + this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) +-this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
    +-If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. ++this.script.scriptMessage(`${this.actor.name} porte le ${this.item.name}.
    ++Si le personnage porte le masque pendant plus d'une heure ou bénéficie de ses effets, il s'espose à une @Corruption[moderate]{Corruption moderate}. + `, + {whisper: ChatMessage.getWhisperRecipients("GM")}) + } +@@ -11,8 +11,8 @@ + else if (!args.equipped) + { + await this.item.effects.contents[0].delete(); +-await this.item.update({name : this.item.name += " (Used)"}) +-this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, ++await this.item.update({name : this.item.name += " (Utilisé)"}) ++this.script.scriptMessage(`${this.item.name} porté par ${this.actor.name} a été enlevé et a perdu ses capacités. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils doivent être retirés manuellement.`, + {whisper: ChatMessage.getWhisperRecipients("GM")} + ) + } + +📝 Unterschiede in [7WR2hJjHPhHhHxAq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7WR2hJjHPhHhHxAq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7WR2hJjHPhHhHxAq.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/7WR2hJjHPhHhHxAq.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/7WR2hJjHPhHhHxAq.js +@@ -1,8 +1,8 @@ + let poisoned = args.actor.hasCondition("poisoned") + if (poisoned) + { +-this.script.scriptNotification(`Removed ${poisoned.conditionValue} Poisoned Conditions`) ++this.script.scriptNotification(`Suppression de ${poisoned.conditionValue} états Empoisonné`) + poisoned.delete(); + } + else +-this.script.scriptNotification(`No Poisoned Conditions`) ++this.script.scriptNotification(`Aucun état Empoisonné`) + +📝 Unterschiede in [7ZoFUMDG2WJd8RMg.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7ZoFUMDG2WJd8RMg.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7ZoFUMDG2WJd8RMg.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/7ZoFUMDG2WJd8RMg.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/7ZoFUMDG2WJd8RMg.js +@@ -1 +1 @@ +-this.script.scriptMessage(`Claimed ${this.effect.name} Bonus`); ++this.script.scriptMessage(`Revendiquer le Bonus de ${this.effect.name} `); + +📝 Unterschiede in [7e8FgQUF2oANANmx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7e8FgQUF2oANANmx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7e8FgQUF2oANANmx.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/7e8FgQUF2oANANmx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/7e8FgQUF2oANANmx.js +@@ -1 +1 @@ +-return args.skill?.name == "Melee (Brawling)" || args.item?.weaponGroup?.value == "brawling" ++return args.skill?.name == "Corps à corps (Bagarre)" || args.item?.weaponGroup?.value == "brawling" + +📝 Unterschiede in [7wBWUw05q0igh508.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7wBWUw05q0igh508.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7wBWUw05q0igh508.js:0) (10 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/7wBWUw05q0igh508.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/7wBWUw05q0igh508.js +@@ -1,16 +1,12 @@ + // Imbibing this substance grants the user the Painless Creature Trait. +-const hasPainless = this.actor.has("Painless"); ++const hasPainless = this.actor.has("Insensible à la douleur"); + if (hasPainless === undefined) + { + let item = await fromUuid("Compendium.wfrp4e-core.items.wMwSRDmgiF2IdCJr"); + let data = item.toObject() + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) + this.script.scriptMessage( +-`

    ${this.actor.prototypeToken.name} has gained the Painless Creature Trait. This +-effect lasts for one hour, after which it dissipates and the full effect +-of all the imbiber's wounds come crashing down at once.

    +-

    Note that this does not prevent the user from acquiring a Critical +-Wound or dying from one. It merely allows them to ignore most +-of their effects.

    `, ++`

    ${this.actor.prototypeToken.name} gagne le Trait de Creature Insensible à la Douleur. Cet effet dure 1 heure, après quoi il disparait et le total des Blessures encaissés par le buveur sont encaissés d'un coup.

    ++

    Notez que cela n'empêche pas le buveur de recevoir une Blessure Critique ou de mourrir. Cela permet par contre d'éviter la majorité de leur effets.

    `, + { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true}) + } + +📝 Unterschiede in [84IB8CWa55XzoAkv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/84IB8CWa55XzoAkv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/84IB8CWa55XzoAkv.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/84IB8CWa55XzoAkv.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/84IB8CWa55XzoAkv.js +@@ -1 +1 @@ +-return (["Animal Care", "Charm Animal"].includes(args.item?.name) || args.item?.name.includes("Ride") || args.item?.name.includes("Animal Training")) ++return (["Soin aux animaux", "Emprise sur les animaux"].includes(args.item?.name) || args.item?.name.includes("Chevaucher") || args.item?.name.includes("Dressage")) + +📝 Unterschiede in [8ByuHnUZ4RNTdGVv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8ByuHnUZ4RNTdGVv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8ByuHnUZ4RNTdGVv.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/8ByuHnUZ4RNTdGVv.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/8ByuHnUZ4RNTdGVv.js +@@ -1,8 +1,8 @@ + let strLoss = Math.ceil(CONFIG.Dice.randomUniform() * 10) + let tghLoss = Math.ceil(CONFIG.Dice.randomUniform() * 10) +-if (!this.actor.has("Undead") && !this.actor.has("Daemonic")) ++if (!this.actor.has("Mort-vivant") && !this.actor.has("Démoniaque")) + { +-this.actor.setupSkill(game.i18n.localize("NAME.Cool"), { appendTitle: " - " + this.effect.name, fields: { difficulty: "average" }, context: { failure: `Lost ${strLoss} Strength and ${tghLoss} Toughness` } }).then(async test => { ++this.actor.setupSkill(game.i18n.localize("NAME.Cool"), { appendTitle: " - " + this.effect.name, fields: { difficulty: "average" }, context: { failure: `Pert de ${strLoss} en Force et ${tghLoss} en Endurance` } }).then(async test => { + await test.roll(); + if (test.failed) { + this.actor.update({ "system.characteristics.s.initial": this.actor.system.characteristics.s.initial - strLoss, "system.characteristics.t.initial": this.actor.system.characteristics.t.initial - tghLoss }) +@@ -10,5 +10,5 @@ + }) + } + else { +-this.script.scriptNotification(`${this.actor.name} is immune to ${this.effect.name}`) ++this.script.scriptNotification(`${this.actor.name} est immunisé à ${this.effect.name}`) + } + +📝 Unterschiede in [8GyJgdHVBaLrHCY8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8GyJgdHVBaLrHCY8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8GyJgdHVBaLrHCY8.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/8GyJgdHVBaLrHCY8.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/8GyJgdHVBaLrHCY8.js +@@ -1,17 +1,17 @@ + let type = this.item.getFlag("wfrp4e", "breath") + let types = { +-none : "None", +-cold : "Cold", ++none : "Aucun", ++cold : "Froid", + corrosion : "Corrosion", +-fire : "Fire", +-electricity : "Electricity", ++fire : "Feu", ++electricity : "Electricité", + poison : "Poison", +-smoke : "Smoke", +-various : "Various" ++smoke : "Fumée", ++various : "Divers" + } + if (!type) + { +-type = (await ItemDialog.create(ItemDialog.objectToArray(types, this.item.img), 1, "Choose Breath"))[0]?.id; ++type = (await ItemDialog.create(ItemDialog.objectToArray(types, this.item.img), 1, "Choisir le Souffle"))[0]?.id; + this.item.updateSource({"flags.wfrp4e.breath" : type}) + } + if (!this.item.name.includes("(") && types[type] && type != "none") + +📝 Unterschiede in [8araLuwmBq8GKEw3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8araLuwmBq8GKEw3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8araLuwmBq8GKEw3.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/8araLuwmBq8GKEw3.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/8araLuwmBq8GKEw3.js +@@ -2,5 +2,5 @@ + if (APIgnored) + { + args.modifiers.ap.ignored += APIgnored +-args.modifiers.ap.details.push(`${this.effect.name}: Ignore AP with Weakpoints (${APIgnored})`) ++args.modifiers.ap.details.push(`${this.effect.name}: Ignorer les PA avec des Points Faibles (${APIgnored})`) + } + +📝 Unterschiede in [8rq4GL5d5nCn4kO7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8rq4GL5d5nCn4kO7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8rq4GL5d5nCn4kO7.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/8rq4GL5d5nCn4kO7.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/8rq4GL5d5nCn4kO7.js +@@ -3,5 +3,5 @@ + { + let healed= caster.characteristics.wp.bonus + this.actor.modifyWounds(healed); +-this.script.scriptMessage(`${this.actor.prototypeToken.name} regains ${healed} Wounds`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} regagne ${healed} Blessures`) + } + +📝 Unterschiede in [8tyMXDfHR8AJBdDu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8tyMXDfHR8AJBdDu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8tyMXDfHR8AJBdDu.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/8tyMXDfHR8AJBdDu.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/8tyMXDfHR8AJBdDu.js +@@ -2,5 +2,5 @@ + if (weakpointsAP > 0) + { + args.modifiers.ap.ignored += weakpointsAP; +-args.modifiers.ap.details.push(`${this.effect.name} - Ignore Weakpoints (${weakpointsAP})`); ++args.modifiers.ap.details.push(`${this.effect.name} - Ignore les Points Faibles (${weakpointsAP})`); + } + +📝 Unterschiede in [8xqYrBIf1Zhlwizg.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8xqYrBIf1Zhlwizg.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8xqYrBIf1Zhlwizg.js:0) (12 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/8xqYrBIf1Zhlwizg.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/8xqYrBIf1Zhlwizg.js +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [8zTkDVziBPaNbMQX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8zTkDVziBPaNbMQX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8zTkDVziBPaNbMQX.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/8zTkDVziBPaNbMQX.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/8zTkDVziBPaNbMQX.js +@@ -8,7 +8,7 @@ + value : "petty" + } + ] +-let petty = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 6, "Choose 6 Petty Spells") ++let petty = await ItemDialog.createFromFilters(filters, 6, "Choisissez 6 Sorts de Magie Mineure") + filters = [ + { + property : "type", +@@ -19,6 +19,6 @@ + value : "" + } + ] +-let arcane = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 9, "Choose 9 Arcane Spells") ++let arcane = await ItemDialog.createFromFilters(filters, 9, "Choisissez 9 Sorts de Magie d'Arcane") + let items = petty.concat(arcane).map(i => i.toObject()) + this.actor.createEmbeddedDocuments("Item", items); + +📝 Unterschiede in [9A7rYY3FKi5XLihG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9A7rYY3FKi5XLihG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9A7rYY3FKi5XLihG.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/9A7rYY3FKi5XLihG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/9A7rYY3FKi5XLihG.js +@@ -1,6 +1,6 @@ + fromUuid("Compendium.wfrp4e-core.items.5QcrpLQWWrsbKR79").then(item => { + let data = item.toObject(); + data.system.tests.value = data.system.tests.value.replace("coins", "metal objects"); +-data.system.description.value += "

    This Talent also extends to any metal object because of Metallic Affinity

    " ++data.system.description.value += "

    Ce Talent s'applique également à tout objet métallique à cause de l'Affinité Metallique

    " + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + }) + +📝 Unterschiede in [9JnPK1jNUEso7Pv8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9JnPK1jNUEso7Pv8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9JnPK1jNUEso7Pv8.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/9JnPK1jNUEso7Pv8.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/9JnPK1jNUEso7Pv8.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.9h82z72XGo9tfgQS") + let data = item.toObject(); +-data.name += ` (Smell)` ++data.name += ` (Odorat)` + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [9VfeubiCV83LN9iY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9VfeubiCV83LN9iY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9VfeubiCV83LN9iY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/9VfeubiCV83LN9iY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/9VfeubiCV83LN9iY.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.AtpAudHA4ybXVlWM") + let data = item.toObject(); +-data.name += ` (When Charging)` ++data.name += ` (Si Charge)` + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [9WZa63lr0K3SsP4G.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9WZa63lr0K3SsP4G.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9WZa63lr0K3SsP4G.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/9WZa63lr0K3SsP4G.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/9WZa63lr0K3SsP4G.js +@@ -2,5 +2,5 @@ + if (sourceItem) + { + this.actor.applyEffect({effectUuids : [sourceItem.effects.contents[2].uuid]}) +-this.script.scriptNotification("Applied after effects"); ++this.script.scriptNotification("Applique apr√®s les effets"); + } + +📝 Unterschiede in [9Yn9uViEjcuaESJ2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9Yn9uViEjcuaESJ2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9Yn9uViEjcuaESJ2.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/9Yn9uViEjcuaESJ2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/9Yn9uViEjcuaESJ2.js +@@ -1,6 +1,6 @@ + if (this.item.getFlag("wfrp4e", "failedCool")) + { +-this.item.name += " (No AP)" ++this.item.name += " (Aucun PA)" + this.item.system.AP = { + "head": 0, + "lArm": 0, + +📝 Unterschiede in [9fK07tqqZyPg7dpx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9fK07tqqZyPg7dpx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9fK07tqqZyPg7dpx.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/9fK07tqqZyPg7dpx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/9fK07tqqZyPg7dpx.js +@@ -2,11 +2,11 @@ + await test.roll(); + if (test.failed) + { +-this.script.scriptNotification("Gained a Festering Wound") ++this.script.scriptNotification("Subi une Blessure Purulente") + let item = await fromUuid("Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb") + this.actor.createEmbeddedDocuments("Item", [item.toObject()]) + } + else + { +-this.script.scriptNotification("Avoided a Festering Wound") ++this.script.scriptNotification("Evite une Blessure Purulente") + } + +📝 Unterschiede in [A0OK0qAMmnf8iNJf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/A0OK0qAMmnf8iNJf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/A0OK0qAMmnf8iNJf.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/A0OK0qAMmnf8iNJf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/A0OK0qAMmnf8iNJf.js +@@ -1,6 +1,6 @@ + if (args.test.result.SL < 0) + { +-this.script.scriptMessage(`Gained ${Math.abs(args.test.result.SL)} Corruption points`, {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Reçoit ${Math.abs(args.test.result.SL)} Points de Corruption`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + if (args.test.failed && this.actor.type == "character") + { + this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + Math.abs(args.test.result.SL)}) + +📝 Unterschiede in [A1odAcuRbq9797ZB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/A1odAcuRbq9797ZB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/A1odAcuRbq9797ZB.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/A1odAcuRbq9797ZB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/A1odAcuRbq9797ZB.js +@@ -68,22 +68,17 @@ + let item = await game.wfrp4e.utility.find(c.name, c.type) + if (item) + { ++let equip = item.system.tags.has("equippable"); + item = item.toObject() +-equip(item); +-items.push(mergeObject(item, (c.diff || {}))) ++if (equip) ++{ ++item.system.equipped.value = true; ++} ++items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + } + else +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [A6DcKPzAGntzSCil.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/A6DcKPzAGntzSCil.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/A6DcKPzAGntzSCil.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/A6DcKPzAGntzSCil.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/A6DcKPzAGntzSCil.js +@@ -1,3 +1,3 @@ + let roll = await new Roll("1d10").roll() +-roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Duration)`})); ++roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Dur√©e)`})); + this.effect.updateSource({"duration.rounds" : roll.total}) + +📝 Unterschiede in [ACgKpKrEEHoNGG0h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ACgKpKrEEHoNGG0h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ACgKpKrEEHoNGG0h.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ACgKpKrEEHoNGG0h.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ACgKpKrEEHoNGG0h.js +@@ -1 +1 @@ +-return !args.skill?.name.includes("Channelling") && args.type != "channelling" ++return !args.skill?.name.includes("Focalisation") && args.type != "channelling" + +📝 Unterschiede in [ACtDCTLZXmd5uXjX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ACtDCTLZXmd5uXjX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ACtDCTLZXmd5uXjX.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ACtDCTLZXmd5uXjX.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ACtDCTLZXmd5uXjX.js +@@ -1,7 +1,7 @@ + let halve; + if (args.opposedTest.attackerTest.item?.type != "spell") + { +-halve = await Dialog.confirm({title : this.effect.name, content : "Halve Damage? (Halves all damage other than fire, cold, and magic)"}) ++halve = await Dialog.confirm({title : this.effect.name, content : "Diviser les dommages? (Divise par 2 tout les dommages autre que ceux causés par le feu, le froid et magiques)"}) + } + else + { +@@ -10,5 +10,5 @@ + if (halve) + { + args.totalWoundLoss /= 2; +-args.modifiers.other.push({label : this.effect.name, details : "Halved", value : "× 0.5"}) ++args.modifiers.other.push({label : this.effect.name, details : "Divisé par 2", value : "× 0.5"}) + } + +📝 Unterschiede in [AGD7zCyV4zruvnWu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AGD7zCyV4zruvnWu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AGD7zCyV4zruvnWu.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/AGD7zCyV4zruvnWu.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/AGD7zCyV4zruvnWu.js +@@ -1 +1 @@ +-return args.type != "cast" || !["death", "necromancy", "life", "light", "heavens"].includes(args.spell?.system.lore.value) ++return args.type != "cast" || !["mort", "nécromancie", "vie", "lumière", "cieux"].includes(args.spell?.system.lore.value) + +📝 Unterschiede in [AMI2wDJqsIZsoq1e.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AMI2wDJqsIZsoq1e.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AMI2wDJqsIZsoq1e.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/AMI2wDJqsIZsoq1e.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/AMI2wDJqsIZsoq1e.js +@@ -1,4 +1,4 @@ + if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 2 && args.opposedTest.result.winner == "attacker") + { +-this.script.scriptMessage(`Emits a cloud of foul-smelling blackpowder. Enable the Fellowship Penalty Active Effect on @UUID[${this.actor.uuid}].`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Émet un nuage de poudre noire nauséabonde. Active l'effet Fellowship Penalty sur @UUID[${this.actor.uuid}].`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [AMxezwtYnWCF6Oza.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AMxezwtYnWCF6Oza.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AMxezwtYnWCF6Oza.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/AMxezwtYnWCF6Oza.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/AMxezwtYnWCF6Oza.js +@@ -1 +1 @@ +-return args.skill?.name == "Ranged (Blackpowder)" ++return args.skill?.name == "Projectiles (Poudre noire)" + +📝 Unterschiede in [Adgs6Zs0FdefO6qx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Adgs6Zs0FdefO6qx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Adgs6Zs0FdefO6qx.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Adgs6Zs0FdefO6qx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Adgs6Zs0FdefO6qx.js +@@ -1,5 +1,5 @@ + if (args.test.options.pilot && args.test.result.reversed) + { + args.test.data.result.SL = "+" + Math.min(1, Number(args.test.data.result.SL)) +-args.test.result.other.push(`${this.effect.name}: SL limited to 1`) ++args.test.result.other.push(`${this.effect.name}: DR limité à 1`) + } + +📝 Unterschiede in [ApaLcUhuty3EzJoP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ApaLcUhuty3EzJoP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ApaLcUhuty3EzJoP.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ApaLcUhuty3EzJoP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ApaLcUhuty3EzJoP.js +@@ -1,4 +1,4 @@ + let fortunePoints = this.effect.sourceTest.result.overcast.usage.other.current + let current = this.actor.status.fortune.value + this.actor.update({"system.status.fortune.value" : fortunePoints + current}) +-this.script.scriptMessage(`${this.actor.prototypeToken.name} fortune points increased from ${current} to ${fortunePoints + current}`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses points de Destin augmentés de ${current} à ${fortunePoints + current}`) + +📝 Unterschiede in [AqHLHp4kH6KULk3e.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AqHLHp4kH6KULk3e.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AqHLHp4kH6KULk3e.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/AqHLHp4kH6KULk3e.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/AqHLHp4kH6KULk3e.js +@@ -8,5 +8,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Aucun disponible!", "error") + } + +📝 Unterschiede in [B950b0XnIUYCdVwu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/B950b0XnIUYCdVwu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/B950b0XnIUYCdVwu.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/B950b0XnIUYCdVwu.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/B950b0XnIUYCdVwu.js +@@ -4,7 +4,7 @@ + { + if (args.totalWoundLoss <= parseInt(test.result.SL)) + { +-args.abort = `${this.effect.name}: Attack deflected and reflected` ++args.abort = `${this.effect.name}: Attaque détournée et renvoyée` + } + args.modifiers.other.push({label : this.effect.name, value : -1 * parseInt(test.result.SL)}) + } + +📝 Unterschiede in [BD7bVTU2pVoRSRBe.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BD7bVTU2pVoRSRBe.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BD7bVTU2pVoRSRBe.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/BD7bVTU2pVoRSRBe.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/BD7bVTU2pVoRSRBe.js +@@ -3,14 +3,14 @@ + coughsandsneezes : "Coughs and Sneezes", + fever : "Fever", + flux : "Flux", +-nausea : "Nausea" ++nausea : "Naus√©e" + } + let roll = await (new Roll(`max(0, 1d10 - ${this.actor.characteristics.wp.bonus})`).roll()) + roll.toMessage(this.script.getChatData()); +-let choices = await ItemDialog.create(ItemDialog.objectToArray(symptoms), roll.total, "Choose Symptoms"); ++let choices = await ItemDialog.create(ItemDialog.objectToArray(symptoms), roll.total, "Choisissez les Symptomes"); + if (choices.length) + { +-let symptomEffects = duplicate(game.wfrp4e.config.symptomEffects) ++let symptomEffects = foundry.utils.duplicate(game.wfrp4e.config.symptomEffects) + let added = [] + for(let choice of choices) + { + +📝 Unterschiede in [BHbFqhJPzZI2txLs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BHbFqhJPzZI2txLs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BHbFqhJPzZI2txLs.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/BHbFqhJPzZI2txLs.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/BHbFqhJPzZI2txLs.js +@@ -1,7 +1,8 @@ + let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); ++let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); + // If channelling corresponding lore +-if (args.type == "channelling" && args.spell.system.lore.value == lore) ++if (args.type == "channelling" && spellLore == lore) + args.prefillModifiers.slBonus += 2 + // If channelling or casting different lore +-else if (args.spell.system.lore.value != lore && args.spell.system.lore.value != "petty") ++else if (spellLore != lore && args.spell.system.lore.value != "petty") + args.prefillModifiers.slBonus -= 1 + +📝 Unterschiede in [BVNKF9omCppWPLys.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BVNKF9omCppWPLys.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BVNKF9omCppWPLys.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/BVNKF9omCppWPLys.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/BVNKF9omCppWPLys.js +@@ -19,7 +19,7 @@ + } + let rating = parseInt(this.effect.name.match(/\d+/)?.[0]); + if (rating <= 1) { +-const scriptData = this.effect.flags.wfrp4e.scriptData; ++const scriptData = this.effect.system.scriptData + scriptData[2].trigger = ''; +-await this.effect.update({disabled: true, "flags.wfrp4e.scriptData": scriptData}); ++await this.effect.update({disabled: true, "system.scriptData": scriptData}); + } + +📝 Unterschiede in [BtyFhdGMKiMamGhM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BtyFhdGMKiMamGhM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BtyFhdGMKiMamGhM.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/BtyFhdGMKiMamGhM.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/BtyFhdGMKiMamGhM.js +@@ -1,4 +1,4 @@ +-let test = await args.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) ++let test = await args.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) + await test.roll(); + let damage = parseInt(this.effect.sourceTest.result.SL) + if (test.succeded) + +📝 Unterschiede in [CHnaBPHk6HdFS512.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CHnaBPHk6HdFS512.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CHnaBPHk6HdFS512.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/CHnaBPHk6HdFS512.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/CHnaBPHk6HdFS512.js +@@ -1,4 +1,4 @@ + let arm = await fromUuid("Compendium.wfrp4e-core.items.MnMZv7ZXoRqoH9dS"); + let leg = await fromUuid("Compendium.wfrp4e-core.items.k00PimCWkff11IA0"); +-let choice = await ItemDialog.create([arm, leg], 1, "Choose Limb") ++let choice = await ItemDialog.create([arm, leg], 1, "Choisir le Membre") + this.actor.createEmbeddedDocuments("Item", choice, {fromEffect: this.effect.id}) + +📝 Unterschiede in [CIxZYkHggBQ6EsHP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CIxZYkHggBQ6EsHP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CIxZYkHggBQ6EsHP.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/CIxZYkHggBQ6EsHP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/CIxZYkHggBQ6EsHP.js +@@ -1,2 +1,2 @@ +-this.script.scriptNotification("Effect Used"); ++this.script.scriptNotification("Effet utilis√©"); + this.effect.delete(); + +📝 Unterschiede in [CS6O7UUjQcUJoOUP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CS6O7UUjQcUJoOUP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CS6O7UUjQcUJoOUP.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/CS6O7UUjQcUJoOUP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/CS6O7UUjQcUJoOUP.js +@@ -1,10 +1,9 @@ +-if (args.test.failed) +-{ ++if (args.test.failed) { + let SL = Number(args.test.result.SL) + if (SL <= -2 && SL > -4) + this.actor.addCondition("stunned") + else if (SL <= -4 && SL > -6) +-this.script.scriptMessage(this.actor.prototypeToken.name + " must make a Willpower Test or fall @Condition[Prone].") ++this.script.scriptMessage(this.actor.prototypeToken.name + " doit r√©aliser un Test de Force Mentale= 3) + { + this.actor.modifyAdvantage(-3); +-this.script.scriptNotification("Advantage Subtracted") ++this.script.scriptNotification("Avantage soustrait") + } + else + { +-return this.script.scriptNotification("Not enough Advantage!", "error") ++return this.script.scriptNotification("Pas assez d'Avantages!", "error") + } + let test = await this.actor.setupTrait(this.item) + await test.roll(); + +📝 Unterschiede in [CWNGrg7se91RC95g.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CWNGrg7se91RC95g.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CWNGrg7se91RC95g.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/CWNGrg7se91RC95g.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/CWNGrg7se91RC95g.js +@@ -1,11 +1,11 @@ + if (args.totalWoundLoss > 0) { + args.opposedTest.result.other.push( +-`@Corruption[minor]{Moderate Exposure to Corruption}` ++`@Corruption[minor]{Exposition Mineure à la Corruption}` + ) + this.script.scriptMessage(`${this.effect.name}: +-@Corruption[moderate]{Moderate Exposure to Corruption}
    +-${args.actor.prototypeToken.name} must take an +-Corruption (Moderate) Test`, ++@Corruption[moderate]{Exposition moderate à la Corruption}
    ++${args.actor.prototypeToken.name} doit réussir un ++Test de Corruption (moderat)`, + {whisper: ChatMessage.getWhisperRecipients("GM")} + ) + } + +📝 Unterschiede in [CiFeduksZJ6PRulx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CiFeduksZJ6PRulx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CiFeduksZJ6PRulx.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/CiFeduksZJ6PRulx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/CiFeduksZJ6PRulx.js +@@ -1 +1 @@ +-return args.skill?.name == "Ride (Horse)" || (args.options.dodge && this.actor.isMounted); ++return args.skill?.name == "Chevaucher (Cheval)" || (args.options.dodge && this.actor.isMounted); + +📝 Unterschiede in [Cjj4iLkdY1NaZRCi.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Cjj4iLkdY1NaZRCi.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Cjj4iLkdY1NaZRCi.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Cjj4iLkdY1NaZRCi.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Cjj4iLkdY1NaZRCi.js +@@ -1,17 +1,17 @@ +-if ((args.opposedTest.attackerTest.item && args.opposedTest.attackerTest.item.isMelee) || (args.opposedTest.attackerTest.item && !args.opposedTest.attackerTest.item.name.includes("Ranged"))) ++if ((args.opposedTest.attackerTest.item && args.opposedTest.attackerTest.item.isMelee) || (args.opposedTest.attackerTest.item && !args.opposedTest.attackerTest.item.name.includes("Projectiles"))) + { + let choice = await Dialog.wait({ + title: this.effect.name, +-content: `

    Apply damage with ${this.effect.name} to attacker?`, ++content: `

    Appliquer les dommages de ${this.effect.name} à l'attquant?`, + buttons: { + yes: { +-label: "Yes", ++label: "Oui", + callback: () => { + return true; + } + }, + no: { +-label: "No", ++label: "Non", + callback: () => { + return false; + } + +📝 Unterschiede in [DHxUKY9LMyifFgCi.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DHxUKY9LMyifFgCi.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DHxUKY9LMyifFgCi.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/DHxUKY9LMyifFgCi.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/DHxUKY9LMyifFgCi.js +@@ -1 +1 @@ +-return args.skill?.name == "Trade (Apothecary)" || args.skill?.name == "Trade (Alchemist)" ++return args.skill?.name == "Métier (Apothicaire)" || args.skill?.name == "Métier (Alchimiste)" + +📝 Unterschiede in [DVlZGbiuMIHEQOnM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DVlZGbiuMIHEQOnM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DVlZGbiuMIHEQOnM.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/DVlZGbiuMIHEQOnM.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/DVlZGbiuMIHEQOnM.js +@@ -4,7 +4,7 @@ + await roll.toMessage(this.script.getChatData()); + if (roll.total == 9 || roll.total == 10) + { +-this.script.scriptMessage(`${this.actor.name} attached to ${this.actor.getFlag("wfrp4e", "isAttached")} gorges and falls off.`) ++this.script.scriptMessage(`${this.actor.name} attaché à ${this.actor.getFlag("wfrp4e", "isAttached")} tombe.`) + await this.actor.unsetFlag("wfrp4e", "isAttached") + } + } + +📝 Unterschiede in [DWBxvzfWGcG7PVNP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DWBxvzfWGcG7PVNP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DWBxvzfWGcG7PVNP.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/DWBxvzfWGcG7PVNP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/DWBxvzfWGcG7PVNP.js +@@ -1,3 +1,3 @@ + let letter = this.item.system.location.key[0]; // "l" or "r"; +-this.item.updateSource({"system.location.key" : letter + "Finger"}) ++this.item.updateSource({"system.location.key" : letter + "Doigt"}) + // We want the location to be Right or Left Hand, but the key to be rFinger or lFinger + +📝 Unterschiede in [DmbWR9s5I8LHBwxB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DmbWR9s5I8LHBwxB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DmbWR9s5I8LHBwxB.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/DmbWR9s5I8LHBwxB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/DmbWR9s5I8LHBwxB.js +@@ -1,8 +1,8 @@ +-let column = await ValueDialog.create("Select the column to roll on to determine Beast Head", "Select Column", "", ["Undivided", "Khorne", "Nurgle", "Slaanesh", "Tzeentch"]); ++let column = await ValueDialog.create({text : "Select the column to roll on to determine Beast Head", title : "Select Column"}, "", ["Undivided", "Khorne", "Nurgle", "Slaanesh", "Tzeentch"]); + if (column) + { + let result = await game.wfrp4e.tables.rollTable("beasthead", {}, column); +-this.script.scriptMessage(`${result.title}
    ${result.result}`); ++this.script.message(`${result.title}
    ${result.result}`); + let uuid = `Compendium.${result.object.documentCollection}.${result.object.documentId}`; + let item = await fromUuid(uuid); + if (item) + +📝 Unterschiede in [DqJFo74trI916qXN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DqJFo74trI916qXN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DqJFo74trI916qXN.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/DqJFo74trI916qXN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/DqJFo74trI916qXN.js +@@ -1,3 +1,6 @@ + let fatigued = args.actor.hasCondition("fatigued") + if (fatigued) +-setProperty(fatigued, "flags.wfrp4e.scriptData", getProperty(fatigued, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) ++{ ++fatigued.system.scriptData = fatigued.system.scriptData.filter(s => s.trigger != "dialog") ++fatigued.system._scripts = null; ++} + +📝 Unterschiede in [DuM5l2Yb4bdvDeaG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DuM5l2Yb4bdvDeaG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DuM5l2Yb4bdvDeaG.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/DuM5l2Yb4bdvDeaG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/DuM5l2Yb4bdvDeaG.js +@@ -1 +1 @@ +-return args.skill?.name != "Athletics" ++return args.skill?.name != "Athlétisme" + +📝 Unterschiede in [E1vUepgop09FF5wy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/E1vUepgop09FF5wy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/E1vUepgop09FF5wy.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/E1vUepgop09FF5wy.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/E1vUepgop09FF5wy.js +@@ -1,20 +1,20 @@ + if (this.actor.system.status.advantage.value == 0) + { +-return this.script.scriptNotification("Not enough Advantage!", "error") ++return this.script.scriptNotification("Pas assez d'Avantages!", "error") + } + let hatred = await fromUuid("Compendium.wfrp4e-core.items.Item.aE3pyW20Orvdjzj0") + let frenzy = await fromUuid("Compendium.wfrp4e-core.items.Item.yRhhOlt18COq4e1q"); + if (this.actor.system.status.advantage.value >= 3) + { +-this.script.scriptNotification(`Adding ${frenzy.name}`) ++this.script.scriptNotification(`Ajout de ${frenzy.name}`) + this.actor.setAdvantage(0) + this.actor.createEmbeddedDocuments("Item", [frenzy]) + } + else if (this.actor.system.status.advantage.value >= 1) + { + let data = hatred.toObject(); +-data.system.specification.value = "Close Combat opponents" +-this.script.scriptNotification(`Adding ${hatred.name}`) ++data.system.specification.value = "Combatants au corps à corps" ++this.script.scriptNotification(`Ajout de ${hatred.name}`) + this.actor.setAdvantage(0) + this.actor.createEmbeddedDocuments("Item", [data]) + } + +📝 Unterschiede in [E3om295BMQojnM2F.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/E3om295BMQojnM2F.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/E3om295BMQojnM2F.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/E3om295BMQojnM2F.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/E3om295BMQojnM2F.js +@@ -2,5 +2,5 @@ + if (fatigued) + { + fatigued.delete(); +-this.script.scriptNotification("Removed Fatigued") ++this.script.scriptNotification("Fatigue supprim√©e") + } + +📝 Unterschiede in [EC8cZmqrE095cDc2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EC8cZmqrE095cDc2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EC8cZmqrE095cDc2.js:0) (10 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/EC8cZmqrE095cDc2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/EC8cZmqrE095cDc2.js +@@ -1,6 +1,6 @@ + const actor = args.actor; +-if (actor.itemTypes.skill.find(s => s.name === "Lore (Riverways)")) { +-const loreTest = await actor.setupSkill('Lore (Riverways)', { ++if (actor.itemTypes.skill.find(s => s.name === "Savoir (Savoir)")) { ++const loreTest = await actor.setupSkill('Savoir (Savoir)', { + appendTitle: ` – ${this.effect.name}`, + skipTargets: true, + fields: {difficulty: 'hard'}, +@@ -8,12 +8,12 @@ + }); + await loreTest.roll(); + if (loreTest.succeeded) { +-loreTest.result.other.push(`${actor.name} recognizes lures of Lurkerfish.`); ++loreTest.result.other.push(`${actor.name} reconnaît les leurres de Lurkerfis.`); + loreTest.renderRollCard(); + return; + } + } +-let test = await actor.setupSkill('Cool', { ++let test = await actor.setupSkill('Calme', { + appendTitle: ` – ${this.effect.name}`, + skipTargets: true, + fields: {difficulty: 'easy'}, +@@ -21,7 +21,7 @@ + }); + await test.roll(); + if (!test.succeeded) { +-test.result.other.push(`${actor.name} became beguiled by the sight and unable to perform any action except moving towards the light.`); ++test.result.other.push(`${actor.name} est devenu séduit par la vue et incapable d'effectuer aucune action sauf se diriger vers la lumière`); + test.renderRollCard(); + actor.addCondition("unconscious"); + } + +📝 Unterschiede in [EJObiSth3WdcJOXN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EJObiSth3WdcJOXN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EJObiSth3WdcJOXN.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/EJObiSth3WdcJOXN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/EJObiSth3WdcJOXN.js +@@ -1,5 +1,5 @@ + if (args.test.characteristicKey == "wp" && args.test.failed && args.test.result.SL <= -3) + { +-this.script.scriptNotification("Adding Prone"); ++this.script.scriptNotification("Ajout de A Terre"); + this.actor.addCondition("prone") + } + +📝 Unterschiede in [EJaBfqADqlo92Fx6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EJaBfqADqlo92Fx6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EJaBfqADqlo92Fx6.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/EJaBfqADqlo92Fx6.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/EJaBfqADqlo92Fx6.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.oGbDwnLOn3isPJpO") + let data = item.toObject(); +-data.name += " (To Be Determined)" ++data.name += " (A d√©terminer)" + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [ENGmwaItRXO5s0XY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ENGmwaItRXO5s0XY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ENGmwaItRXO5s0XY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ENGmwaItRXO5s0XY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ENGmwaItRXO5s0XY.js +@@ -1,4 +1,4 @@ + await this.actor.modifyWounds(this.actor.system.characteristics.t.bonus * 3) +-this.script.scriptMessage(`Heals ${this.actor.system.characteristics.t.bonus * 3} Wounds`) ++this.script.scriptMessage(`Soigne ${this.actor.system.characteristics.t.bonus * 3} Blessures`) + this.actor.hasCondition("bleeding")?.delete() + this.actor.hasCondition("fatigued")?.delete() + +📝 Unterschiede in [ERxrWzSpw8qwxFVi.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ERxrWzSpw8qwxFVi.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ERxrWzSpw8qwxFVi.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ERxrWzSpw8qwxFVi.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ERxrWzSpw8qwxFVi.js +@@ -1 +1 @@ +-this.script.scriptNotification(`Cannot enter ${this.effect.name}!`); this.actor.addCondition("broken"); ++this.script.scriptNotification(`Ne peut entrer ${this.effect.name}!`); this.actor.addCondition("broken"); + +📝 Unterschiede in [EdTChmSouS0MSmk5.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EdTChmSouS0MSmk5.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EdTChmSouS0MSmk5.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/EdTChmSouS0MSmk5.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/EdTChmSouS0MSmk5.js +@@ -2,9 +2,9 @@ + await test.roll(); + if (test.succeeded) + { +-this.script.scriptMessage("Can perform an Action or Move (choose one)") ++this.script.scriptMessage("Peut effectuer une Action ou un Mouvement (en choisir un)") + } + else + { +-this.script.scriptMessage("Cannot perform an Action or Move this round") ++this.script.scriptMessage("Ne peut pas effectuer d'Action ou de Mouvement ce round") + } + +📝 Unterschiede in [EmmG49pMOPHRwDzR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EmmG49pMOPHRwDzR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EmmG49pMOPHRwDzR.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/EmmG49pMOPHRwDzR.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/EmmG49pMOPHRwDzR.js +@@ -1,8 +1,8 @@ + let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) + if (args.test.isFumble && roll == 1 && !args.test.result.misfire) + { +-args.test.result.misfire = game.i18n.localize("Misfire") + " (Rolled 1)" ++args.test.result.misfire = game.i18n.localize("Misfire") + " (Résultat 1)" + args.test.result.misfireDamage = eval(parseInt(args.test.result.roll.toString().split('').pop()) + args.test.item.Damage) + } + else if (args.test.isFumble && roll != 1) +-args.test.result.other.push("Misfire Roll: " + roll) ++args.test.result.other.push("Raté résultat: " + roll) + +📝 Unterschiede in [F2u4L4o0r1LTWeWK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/F2u4L4o0r1LTWeWK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/F2u4L4o0r1LTWeWK.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/F2u4L4o0r1LTWeWK.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/F2u4L4o0r1LTWeWK.js +@@ -1,6 +1,6 @@ + if (isNaN(parseInt(this.item.system.specification.value))) + { +-let value = await ValueDialog.create("Enter Terror value", this.effect.name); ++let value = await ValueDialog.create({text : "Enter Terror value", title : this.effect.name}); + if (value) + { + this.item.updateSource({"system.specification.value" : value}); + +📝 Unterschiede in [FPYNcxm21678boLT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FPYNcxm21678boLT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FPYNcxm21678boLT.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/FPYNcxm21678boLT.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/FPYNcxm21678boLT.js +@@ -4,11 +4,11 @@ + const targetId = this.effect.getFlag("wfrp4e", "target"); + const target = canvas.scene.tokens.get(targetId); + if (SL > 4) { +-args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} was forced to let go of ${target.name}.`); ++args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} a été obligé de lâcher çà ${target.name}.`); + return await this.effect.delete(); + } + if (SL > 0) { +-args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} was prevented from squeezing ${target.name} for one turn.`); ++args.opposedTest.data.opposeResult.other.push(`${args.defenderTest.actor.name} a été empêché de presser ${target.name} pour un tour.`); + let turns = this.effect.getFlag("wfrp4e", "turns"); + this.effect.setFlag("wfrp4e", "turns", turns + 1); + } + +📝 Unterschiede in [FSqUqSByMiztYOQM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FSqUqSByMiztYOQM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FSqUqSByMiztYOQM.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/FSqUqSByMiztYOQM.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/FSqUqSByMiztYOQM.js +@@ -1,2 +1,2 @@ + if (args.totalWoundLoss > 0) +-this.script.scriptMessage(`Infected: ${args.actor.name} must pass an Easy (+40) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) ++this.script.scriptMessage(`Infecté: ${args.actor.name} doit réussir un Test de Résistance Facile (+40) ou recevoir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM") }) + +📝 Unterschiede in [FXuyiJoXdAh6WhRK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FXuyiJoXdAh6WhRK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FXuyiJoXdAh6WhRK.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/FXuyiJoXdAh6WhRK.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/FXuyiJoXdAh6WhRK.js +@@ -1 +1 @@ +-return args.skill?.name == "Ride (Horse)" && game.combat?.active ++return args.skill?.name == "Chevaucher (Cheval)" && game.combat?.active + +📝 Unterschiede in [FZFOC7bip0oiWEzk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FZFOC7bip0oiWEzk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FZFOC7bip0oiWEzk.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/FZFOC7bip0oiWEzk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/FZFOC7bip0oiWEzk.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.hitloc.value == this.item.system.location.key && args.totalWoundLoss > 0) + { + args.actor.addCondition("bleeding", 2); +-this.script.scriptNotification("Added Bleeding") ++this.script.scriptNotification("Ajout d'Hémorragie") + } + +📝 Unterschiede in [FiD3mvWIBHNNIuO9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FiD3mvWIBHNNIuO9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FiD3mvWIBHNNIuO9.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/FiD3mvWIBHNNIuO9.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/FiD3mvWIBHNNIuO9.js +@@ -3,6 +3,6 @@ + if ((await new Roll("1d2").roll()).total == 1) + { + args.opposedTest.result.hitloc.value = "head" +-this.script.scriptMessage(`Hit location changed to Head`) ++this.script.scriptMessage(`Localisation changée : Tête`) + } + } + +📝 Unterschiede in [FqevMs0ukQ9WuUHl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FqevMs0ukQ9WuUHl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FqevMs0ukQ9WuUHl.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/FqevMs0ukQ9WuUHl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/FqevMs0ukQ9WuUHl.js +@@ -4,5 +4,5 @@ + if (this.item.getFlag("wfrp4e", "brittle")) + { + ChatMessage.create({content: `${this.item.name} shatters!`}) +-this.item.update({name : `${this.item.name} (Shattered)`}) ++this.item.update({name : `${this.item.name} (Bris√©)`}) + } + +📝 Unterschiede in [FtZf56VI6Qsspu0D.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FtZf56VI6Qsspu0D.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FtZf56VI6Qsspu0D.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/FtZf56VI6Qsspu0D.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/FtZf56VI6Qsspu0D.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpenter)'; + const difficulty = 'difficult'; + const target = 20; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [Fvlc4RkeF4dHjW3m.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Fvlc4RkeF4dHjW3m.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Fvlc4RkeF4dHjW3m.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Fvlc4RkeF4dHjW3m.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Fvlc4RkeF4dHjW3m.js +@@ -9,7 +9,7 @@ + else { + fromUuid("Compendium.wfrp4e-core.items.D0ImWEIMSDgElsnl").then(item => { + this.actor.createEmbeddedDocuments("Item", [item.toObject()], { fromEffect: this.effect.id }) +-ChatMessage.create({ content: `Added Unstable to ${this.actor.prototypeToken.name}`, speaker: { alias: caster.name } }) ++ChatMessage.create({ content: `Ajout de Instable à ${this.actor.prototypeToken.name}`, speaker: { alias: caster.name } }) + }) + } + } + +📝 Unterschiede in [Fwk8WA8NfRivLFWJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Fwk8WA8NfRivLFWJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Fwk8WA8NfRivLFWJ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Fwk8WA8NfRivLFWJ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Fwk8WA8NfRivLFWJ.js +@@ -1 +1 @@ +-return args.skill?.name === "Entertain (Singing)"; ++return args.skill?.name === "Divertissement (Chant)"; + +📝 Unterschiede in [G7sFEnJlXZvfXL3V.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/G7sFEnJlXZvfXL3V.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/G7sFEnJlXZvfXL3V.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/G7sFEnJlXZvfXL3V.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/G7sFEnJlXZvfXL3V.js +@@ -8,5 +8,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Aucun restant!", "error") + } + +📝 Unterschiede in [GOq4TcnWbfyfCo2V.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GOq4TcnWbfyfCo2V.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GOq4TcnWbfyfCo2V.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/GOq4TcnWbfyfCo2V.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/GOq4TcnWbfyfCo2V.js +@@ -1,6 +1,6 @@ + this.script.scriptNotification(`Healed ${this.actor.characteristics.t.bonus * 2} Wounds`) + await this.actor.modifyWounds(this.actor.characteristics.t.bonus * 2) +-let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - Side Effects`,fields : {difficulty : "difficult"}}) ++let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - Effets secondaires`,fields : {difficulty : "difficult"}}) + await test.roll(); + if (test.failed) + { + +📝 Unterschiede in [GRfCxtYzmEx2LYU7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GRfCxtYzmEx2LYU7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GRfCxtYzmEx2LYU7.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/GRfCxtYzmEx2LYU7.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/GRfCxtYzmEx2LYU7.js +@@ -4,6 +4,6 @@ + await roll.toMessage(this.script.getChatData()); + if (roll.total == 9) + { +-this.script.scriptMessage(`Two @UUID[Compendium.wfrp4e-eis.actors.iDy8SDTwJSlCzZMl]{Blue Horror of Tzeentch} claw their way out of ${this.actor.name}'s screaming flesh, killing them in the process.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Deux @UUID[Compendium.wfrp4e-eis.actors.iDy8SDTwJSlCzZMl]{Horreurs Bleues de Tzeentch} sortent de la chair hurlante de ${this.actor.name}, le tuant au passage.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + } + +📝 Unterschiede in [GjkxWj9wCAclM9WA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GjkxWj9wCAclM9WA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GjkxWj9wCAclM9WA.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/GjkxWj9wCAclM9WA.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/GjkxWj9wCAclM9WA.js +@@ -2,9 +2,9 @@ + effects.splice(effects.length - 1); + if (effects.length == 0) + { +-return this.script.scriptNotification("All Effects have been used. Reset to select them again") ++return this.script.scriptNotification("Tous les effets ont été utilisés. Les remettre à 0 pour les utiliser à nouveau") + } +-let choice = await ItemDialog.create(effects, 1, "Choose Power to Gain"); ++let choice = await ItemDialog.create(effects, 1, "Choisissez le Pouvoir à gagner"); + if (choice[0]) + { + choice[0].update({disabled : true}) + +📝 Unterschiede in [GsAyB5xnK3ASeoah.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GsAyB5xnK3ASeoah.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GsAyB5xnK3ASeoah.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/GsAyB5xnK3ASeoah.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/GsAyB5xnK3ASeoah.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpentry)'; + const difficulty = 'easy'; + const target = 20; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [GzSFlqL1YrIK1dxh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GzSFlqL1YrIK1dxh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GzSFlqL1YrIK1dxh.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/GzSFlqL1YrIK1dxh.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/GzSFlqL1YrIK1dxh.js +@@ -6,7 +6,7 @@ + "Compendium.wfrp4e-wom.items.Item.K9FPtiDLwTkC7FuO", + "Compendium.wfrp4e-wom.items.Item.CkMYRYCLrkMnyVm5", + "Compendium.wfrp4e-wom.items.Item.0Xdm4r7l2EwC4fcg"].map(fromUuid)); +-let choice = await game.wfrp4e.apps.ItemDialog.create(items, 1, "Select Wind") ++let choice = await game.wfrp4e.apps.ItemDialog.create(items, 1, "Sélectionner le Vent") + //this.actor.createEmbeddedDocuments("Item", items); + this.item.update(choice[0]?.toObject(), {diff: false, recursive : false}); + //this.actor.items.getName(this.effect.item.name).delete() // For some reason this.effect.item.delete() throws an error + +📝 Unterschiede in [GzsuEg7gZy1f0ljy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GzsuEg7gZy1f0ljy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GzsuEg7gZy1f0ljy.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/GzsuEg7gZy1f0ljy.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/GzsuEg7gZy1f0ljy.js +@@ -1,10 +1,10 @@ + let bleeding = this.actor.hasCondition("bleeding") + if (bleeding) + { +-this.script.scriptNotification(`Cleared ${bleeding.conditionValue} Bleeding Conditions`) ++this.script.scriptNotification(`Suppression de ${bleeding.conditionValue} états Hémorragiques`) + bleeding.delete(); + } + else + { +-this.script.scriptNotification(`No Bleeding Conditions`) ++this.script.scriptNotification(`Aucune Hémorragie`) + } + +📝 Unterschiede in [H06Ysj7oPiemW7S6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H06Ysj7oPiemW7S6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H06Ysj7oPiemW7S6.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/H06Ysj7oPiemW7S6.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/H06Ysj7oPiemW7S6.js +@@ -13,5 +13,5 @@ + let moneyEarned = (await new Roll(dieAmount.toString()).roll()).total; + let moneyString = `${moneyEarned}${coin}` + let transactionString = `${moneyEarned}${term}` +-this.script.scriptMessage(`Earned an additional ${game.wfrp4e.market.amountToString(game.wfrp4e.market.parseMoneyTransactionString(transactionString))}`, {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Gain d'un suppl√©ment de ${game.wfrp4e.market.amountToString(game.wfrp4e.market.parseMoneyTransactionString(transactionString))}`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [H2CJvApKMnfGNNoo.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H2CJvApKMnfGNNoo.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H2CJvApKMnfGNNoo.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/H2CJvApKMnfGNNoo.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/H2CJvApKMnfGNNoo.js +@@ -1,6 +1,6 @@ + if (args.test.item?.type == "skill" && args.test.item.name.includes(game.i18n.localize("NAME.Stealth"))) + { +-args.test.result.description = "Astounding Failure"; ++args.test.result.description = "Echech Stup√©fiant"; + args.test.result.outcome = "failure"; + ChatMessage.create({content : "SQUEAK", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) + AudioHelper.play({ src: `${game.settings.get("wfrp4e", "soundPath")}squeek.wav` }, true); + +📝 Unterschiede in [H3pZ9UeIzIz3luKh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H3pZ9UeIzIz3luKh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H3pZ9UeIzIz3luKh.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/H3pZ9UeIzIz3luKh.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/H3pZ9UeIzIz3luKh.js +@@ -1,3 +1,3 @@ + args.actor.addCondition("bleeding") + this.actor.setFlag("wfrp4e", "isAttached", args.actor.name) +-this.script.scriptMessage(`Attaches to ${args.actor.name}`) ++this.script.scriptMessage(`Affecté à ${args.actor.name}`) + +📝 Unterschiede in [H85k4L3yICm7cfIk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H85k4L3yICm7cfIk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H85k4L3yICm7cfIk.js:0) (16 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/H85k4L3yICm7cfIk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/H85k4L3yICm7cfIk.js +@@ -1,5 +1,5 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; +-const test = 'Sail'; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; ++const test = 'Voile'; + const difficulty = 'easy'; + const target = 10; + const extendedTestData = { +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [HASsi6wYHVALExWq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HASsi6wYHVALExWq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HASsi6wYHVALExWq.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/HASsi6wYHVALExWq.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/HASsi6wYHVALExWq.js +@@ -1,12 +1,12 @@ +-let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "1 Corruption Point Gained" } }) ++let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "1 Point de Corruption Point gagn√©" } }) + await test.roll(); + if (test.failed && args.actor.type == "character") + { + let msg = "" +-msg += `

    ${this.actor.prototypeToken.name} gained a Corruption point

    ` ++msg += `

    ${this.actor.prototypeToken.name} gagne 1 Point de Corruption

    ` + if (test.result.roll % 11 == 0 || test.result.roll == 100) + { +-msg += `${args.actor.prototypeToken.name} gains a mutation (@Table[expandedmutatephys]{Physical} or @Table[expandedmutatemental]{Mental}) and gains @UUID[Compendium.wfrp4e-core.items.hiU7vhBOVpVI8c7C]{Chaos Magic (Tzeentch)}` ++msg += `${args.actor.prototypeToken.name} gagne une mutation (@Table[expandedmutatephys]{Physique} ou @Table[expandedmutatemental]{Mentale}) et gagne @UUID[Compendium.wfrp4e-core.items.hiU7vhBOVpVI8c7C]{Magie du Chaos (Tzeentch)}` + } + this.script.scriptMessage(msg, {whisper : ChatMessage.getWhisperRecipients("GM")}) + await this.actor.update({ "system.status.corruption.value": parseInt(args.actor.status.corruption.value) + 1 }) + +📝 Unterschiede in [HJ2X4ZtXei0BXbxf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HJ2X4ZtXei0BXbxf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HJ2X4ZtXei0BXbxf.js:0) (15 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/HJ2X4ZtXei0BXbxf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/HJ2X4ZtXei0BXbxf.js +@@ -1,15 +1,6 @@ +-let choices = await Promise.all([game.wfrp4e.utility.findItemId("PzimjNx9Ojq4g6mV"), game.wfrp4e.utility.findItemId("rOPmyLWa37e7s9v6")]) +-let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choose a Skill") ++let choices = await Promise.all([warhammer.utility.findItemId("PzimjNx9Ojq4g6mV"), warhammer.utility.findItemId("rOPmyLWa37e7s9v6")]) ++let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choisissez a Skill") + items = items.map(i => i.toObject()) + items.forEach(i => i.system.advances.value = 20) +-items.forEach(i => equip(i)) ++items.forEach(i => i.system.equipped.value = true;) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.data.worn.value = true +-else if (item.type == "weapon") +-item.data.equipped = true +-else if (item.type == "trapping" && item.data.trappingType.value == "clothingAccessories") +-item.data.worn = true +-} + +📝 Unterschiede in [HMC6hPND9DWLFfZE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HMC6hPND9DWLFfZE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HMC6hPND9DWLFfZE.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/HMC6hPND9DWLFfZE.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/HMC6hPND9DWLFfZE.js +@@ -10,16 +10,16 @@ + i.id = i._id + return i + }) +-let choice = await ItemDialog.create(index, 1, "Choose a Lore") ++let choice = await ItemDialog.create(index, 1, "Choisir un Savoir") + let text; + if (!choice[0]) + { + let custom = await Dialog.wait({ +-title : "Enter Lore", ++title : "Saisir le savoir", + content : "", + buttons : { + confirm : { +-label : game.i18n.localize("Confirm"), ++label : game.i18n.localize("Confirmer"), + callback : (dlg) => { + return dlg.find("input")[0].value + } + +📝 Unterschiede in [HUKzssLxeQo1wbx9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HUKzssLxeQo1wbx9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HUKzssLxeQo1wbx9.js:0) (7 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/HUKzssLxeQo1wbx9.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/HUKzssLxeQo1wbx9.js +@@ -1,9 +1,8 @@ +-let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields: {difficulty : "average"}, appendTitle : " - Wounded"}) ++let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), { fields: { difficulty: "average" }, appendTitle: " - - Blessé" }) + await test.roll(); +-if (test.failed) +-{ ++if (test.failed) { + fromUuid("Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb").then(disease => { + this.actor.createEmbeddedDocuments("Item", [disease.toObject()]) +-this.script.scriptNotification("Gained " + disease.name) ++this.script.scriptNotification("Gain de " + disease.name) + }) + } + +📝 Unterschiede in [Hcpn1gU58DIKIhty.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Hcpn1gU58DIKIhty.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Hcpn1gU58DIKIhty.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Hcpn1gU58DIKIhty.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Hcpn1gU58DIKIhty.js +@@ -1,4 +1,4 @@ +-if (args.item.type == "skill" && args.item.name == "Melee (Flail)") ++if (args.item.type == "skill" && args.item.name == "Corps à corps (Fléau)") + { + args.item.system.modifier.value += 10; + } + +📝 Unterschiede in [HmImVzvw6ecBy99l.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HmImVzvw6ecBy99l.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HmImVzvw6ecBy99l.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/HmImVzvw6ecBy99l.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/HmImVzvw6ecBy99l.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.hitloc.value == "body" && args.totalWoundLoss > 0) + { + args.actor.addCondition("bleeding", 2) +-this.script.scriptNotification("Added Bleeding") ++this.script.scriptNotification("Ajout Hémorragique") + } + +📝 Unterschiede in [HoNTnPphrJISSQr1.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HoNTnPphrJISSQr1.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HoNTnPphrJISSQr1.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/HoNTnPphrJISSQr1.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/HoNTnPphrJISSQr1.js +@@ -1 +1 @@ +-ChatMessage.create({content : "Speak and be known to me", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) ++ChatMessage.create({content : "Parle et fais toi conna√Ætre", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) + +📝 Unterschiede in [HrOBAXsEX073ReKl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HrOBAXsEX073ReKl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HrOBAXsEX073ReKl.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/HrOBAXsEX073ReKl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/HrOBAXsEX073ReKl.js +@@ -1,8 +1,8 @@ +-let skill = `Entertain (Singing)` ++let skill = `${game.i18n.localize("NAME.Entertain")} (${game.i18n.localize("SPEC.Singing")})`; + let currentCareer = this.actor.system.currentCareer; + let existingSkill = this.actor.itemTypes.skill.find(i => i.name == skill); + if (!currentCareer) return +-let inCurrentCareer = currentCareer.system.skills.includes(skill); ++let inCurrentCareer = currentCareer.system.skills.concat(currentCareer.system.addedSkills).includes(skill); + let perfectPitchAdded = this.actor.getFlag("wfrp4e", "perfectPitchAdded") || {}; + if (existingSkill && inCurrentCareer && !perfectPitchAdded[existingSkill.name]) + { +@@ -11,6 +11,6 @@ + else + { + perfectPitchAdded[skill] = true; +-currentCareer.system.skills.push(skill); +-setProperty(this.actor, "flags.wfrp4e.perfectPitchAdded", perfectPitchAdded) ++currentCareer.system.addedSkills.push(skill); ++foundry.utils.setProperty(this.actor, "flags.wfrp4e.perfectPitchAdded", perfectPitchAdded) + } + +📝 Unterschiede in [I1J2m5uud84N50Lk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/I1J2m5uud84N50Lk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/I1J2m5uud84N50Lk.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/I1J2m5uud84N50Lk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/I1J2m5uud84N50Lk.js +@@ -1,6 +1,6 @@ + if (["cast", "channelling", "pray"].includes(args.type)) + { + args.abort = true; +-this.script.scriptNotification("Cannot cast Spells or use Prayers"); ++this.script.scriptNotification("Impossible d'incanter un Sort ou d'utiliser un Pri√®re"); + } + else return true; + +📝 Unterschiede in [IAGla7HJlYN0wa4H.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IAGla7HJlYN0wa4H.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IAGla7HJlYN0wa4H.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/IAGla7HJlYN0wa4H.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/IAGla7HJlYN0wa4H.js +@@ -3,6 +3,6 @@ + if (args.test.failed) + { + this.actor.addSystemEffect("convulsions") +-this.script.scriptMessage(`Willpower Test failed, ${this.actor.prototypeToken.name} gains @Symptom[Convulsions] for [[1d10]] hours`) ++this.script.scriptMessage(`Test de Force Mentale échoué, ${this.actor.prototypeToken.name} subit des @Symptom[Convulsions] pour [[1d10]] heures`) + } + } + +📝 Unterschiede in [IPPDvZdE8kn3H9z7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IPPDvZdE8kn3H9z7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IPPDvZdE8kn3H9z7.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/IPPDvZdE8kn3H9z7.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/IPPDvZdE8kn3H9z7.js +@@ -1,4 +1,4 @@ +-let test = await this.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); ++let test = await this.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); + await test.roll(); + if (test.failed) + { + +📝 Unterschiede in [IR5URcjnCuWBFMoN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IR5URcjnCuWBFMoN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IR5URcjnCuWBFMoN.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/IR5URcjnCuWBFMoN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/IR5URcjnCuWBFMoN.js +@@ -4,8 +4,8 @@ + await test.roll() + if (test.failed) + { +-this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} notices nothing amiss save that they become tired a little earlier than usual. At this point it is still possible to save the victim via a powerful antidote or magical means.

    +-

    Once they fall asleep however, it is almost impossible. At this point the victim must make a Hard (-20) Endurance Test. If they fail, they never awaken.

    `, ++this.script.scriptMessage(`

    ${this.actor.prototypeToken.name} Jo ne remarque rien d'anormal si ce n'est qu'ils se fatiguent un peu plus tôt que d'habitude. À ce stade, il est encore possible de sauver la victime via un antidote puissant ou des moyens magiques.

    ++

    Cependant, une fois qu’ils s’endorment, c’est presque impossible. À ce stade, la victime doit effectuer un test d'Endurance difficile (-20). S'il échoue, il ne se réveille jamais.

    `, + { + whisper: ChatMessage.getWhisperRecipients("GM"), + blind: true + +📝 Unterschiede in [IrkWq7IiFS65bTvC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IrkWq7IiFS65bTvC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IrkWq7IiFS65bTvC.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/IrkWq7IiFS65bTvC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/IrkWq7IiFS65bTvC.js +@@ -1,5 +1,5 @@ + if (this.actor.flags.holed.half !== true) return; + if (this.actor.flags.holed.reminded === true) return; + const speaker = ChatMessage.getSpeaker({actor: this.actor}); +-this.script.scriptMessage(`

    ${speaker.alias} sits heavily in the water. Unless the cargo is waterproof, it loses [[d10]]% of its value.

    `); ++this.script.scriptMessage(`

    ${speaker.alias} tombe lourdements dans l'eau. A moins que la cargaison soit étanche, elle perd [[d10]]% de sa valeur.

    `); + this.actor.flags.holed.reminded = true; + +📝 Unterschiede in [IslMfFgpgQq2brpu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IslMfFgpgQq2brpu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IslMfFgpgQq2brpu.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/IslMfFgpgQq2brpu.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/IslMfFgpgQq2brpu.js +@@ -1,5 +1,5 @@ + if (this.actor.hasCondition("broken")) + { + this.actor.removeCondition("broken") +-this.script.scriptNotification(`Cannot have Broken`); ++this.script.scriptNotification(`Impossible de supprimer l'état Brisé`); + } + +📝 Unterschiede in [IupskvzvoGyD2H5o.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IupskvzvoGyD2H5o.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IupskvzvoGyD2H5o.js:0) (15 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/IupskvzvoGyD2H5o.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/IupskvzvoGyD2H5o.js +@@ -2,19 +2,28 @@ + { + return; + } +-let god = await ValueDialog.create("Enter a Deity", "Blessed") ++let god = await ValueDialog.create({text : "Enter a Deity", title : "Blessed"}) + if (god) + { + let prayers = await warhammer.utility.findAllItems("prayer", "Loading Prayers") + let blessings = prayers.filter(p => p.system.god.value.split(",").map(i => i.trim().toLowerCase()).includes(god.toLowerCase()) && p.system.type.value == "blessing") ++let godBlessings = game.wfrp4e.config.godBlessings[god.toLowerCase()] || []; ++if (god == "Old Faith") ++{ ++blessings = await ItemDialog.create(prayers.filter(i => i.system.type.value == "blessing"), 6, {text : "Select any 6 Blessings", title : "Blessed"}) ++} ++if (godBlessings.length) ++{ ++blessings = blessings.concat(await Promise.all(godBlessings.filter(bls => !(blessings.map(i => i.uuid).includes(bls.uuid))).map(fromUuid))); ++} + if (blessings.length) + { +-this.script.scriptNotification("Adding " + blessings.map(i => i.name).join(", ")) ++this.script.notification("Adding " + blessings.map(i => i.name).join(", ")) + await this.actor.createEmbeddedDocuments("Item", blessings, {fromEffect : this.effect.id}) + } + else + { +-this.script.scriptNotification(`Could not find any Blessings associated with ${god}.`) ++this.script.notification(`Impossible de trouver any Blessings associated with ${god}.`) + } + this.item.updateSource({name : this.item.name.replace("Any", god)}) + await this.actor.update({"system.details.god.value": god}) + +📝 Unterschiede in [IzoOmDywGLqLNljN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IzoOmDywGLqLNljN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IzoOmDywGLqLNljN.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/IzoOmDywGLqLNljN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/IzoOmDywGLqLNljN.js +@@ -2,7 +2,7 @@ + let currentCareer = this.actor.system.currentCareer; + let existingSkill = this.actor.itemTypes.skill.find(i => i.name == skill); + if (!currentCareer) return +-let inCurrentCareer = currentCareer.system.skills.includes(skill); ++let inCurrentCareer = currentCareer.system.skills.concat(currentCareer.system.addedSkills).includes(skill); + let witchAdded = actor.getFlag("wfrp4e", "witchAdded") || {}; + if (existingSkill && inCurrentCareer && !witchAdded[existingSkill.name]) + { +@@ -11,6 +11,6 @@ + else + { + witchAdded[skill] = true; +-currentCareer.system.skills.push(skill); +-setProperty(this.actor, "flags.wfrp4e.witchAdded", witchAdded) ++currentCareer.system.addedSkills.push(skill); ++foundry.utils.setProperty(this.actor, "flags.wfrp4e.witchAdded", witchAdded) + } + +📝 Unterschiede in [J0IWUhxada2ONowP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/J0IWUhxada2ONowP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/J0IWUhxada2ONowP.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/J0IWUhxada2ONowP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/J0IWUhxada2ONowP.js +@@ -1 +1 @@ +-return args.skill?.name == "Entertain (Sing)" || args.skill?.name == "Entertain (Singing)" || (args.skill?.name.includes("Language") && (args.skill?.name.includes("Magick") || args.skill?.name.includes("Elth√°rin") || args.skill?.name.includes("Cathayan"))) ++return args.skill?.name == "Divertissement (Chant)" || args.skill?.name == "Divertissement (Chanter)" || (args.skill?.name.includes("Langue") && (args.skill?.name.includes("Magick") || args.skill?.name.includes("Elth√°rin") || args.skill?.name.includes("Cathayan"))) + +📝 Unterschiede in [JQruHprM5R5vZ9DA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JQruHprM5R5vZ9DA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JQruHprM5R5vZ9DA.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/JQruHprM5R5vZ9DA.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/JQruHprM5R5vZ9DA.js +@@ -3,7 +3,7 @@ + { + let healed= caster.system.characteristics.wp.bonus + caster.system.characteristics.int.bonus + await this.actor.modifyWounds(healed); +-this.script.scriptMessage(`${this.actor.prototypeToken.name} regains ${healed} Wounds`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} guéri ${healed} Blessures`) + } +-let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields : {difficulty : "vhard"}, context : {success : "1 Corruption point that was gained within the last hour is removed.", failure: "Nothing happens"}}) ++let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields : {difficulty : "vhard"}, context : {success : "1 Point de Corruption gagné durant la dernière heure doit être supprimé.", failure: "Rien ne se passe"}}) + await test.roll(); + +📝 Unterschiede in [JXBUE0XuJOJNG7zE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JXBUE0XuJOJNG7zE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JXBUE0XuJOJNG7zE.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/JXBUE0XuJOJNG7zE.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/JXBUE0XuJOJNG7zE.js +@@ -1,15 +1,15 @@ + if (args.totalWoundLoss <= 7) return; + let options = { +-appendTitle : " – " + this.effect.name, ++appendTitle : " – " + this.effect.name, + skipTargets: true, + fields: {difficulty: 'average'}, + characteristic: 'wp', + } +-let test = await args.actor.setupSkill('Cool', options); ++let test = await args.actor.setupSkill('Calme', options); + await test.roll(); + if (!test.succeeded) { + const targetId = this.effect.getFlag("wfrp4e", "target"); + const target = canvas.scene.tokens.get(targetId); + await this.effect.delete(); +-args.extraMessages.push(`${args.actor.name} lost ${args.totalWoundLoss} Wounds to an attack, which caused it to let go of ${target.name}.`); ++args.extraMessages.push(`${args.actor.name} perd ${args.totalWoundLoss} Blessures de l'attaque, ce qui l'a amené à lâcher prise ${target.name}.`); + } + +📝 Unterschiede in [JeThJbOf6Xmbtgo1.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JeThJbOf6Xmbtgo1.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JeThJbOf6Xmbtgo1.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/JeThJbOf6Xmbtgo1.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/JeThJbOf6Xmbtgo1.js +@@ -1,5 +1,5 @@ + this.script.scriptMessage(await this.actor.applyBasicDamage(8 + parseInt(this.effect.sourceTest.result.SL), {suppressMsg : true})) +-let test = await this.actor.setupSkill("Athletics", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) ++let test = await this.actor.setupSkill("Athl√©tisme", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}) + await test.roll(); + if (test.failed) + { + +📝 Unterschiede in [JhbZWZhOJ23yOBmG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JhbZWZhOJ23yOBmG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JhbZWZhOJ23yOBmG.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/JhbZWZhOJ23yOBmG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/JhbZWZhOJ23yOBmG.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpentry)'; + const difficulty = 'hard'; + const target = 30; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [Jjq3oPYbI26zjxME.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jjq3oPYbI26zjxME.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Jjq3oPYbI26zjxME.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jjq3oPYbI26zjxME.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Jjq3oPYbI26zjxME.js +@@ -4,7 +4,7 @@ + let dropped = this.item.system.weaponsAtLocation; + if (dropped.length) + { +-this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) ++this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + for(let weapon of dropped) + { + await weapon.system.toggleEquip(); +@@ -12,5 +12,5 @@ + } + } + let roll = await new Roll("1d10").roll() +-roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Duration)`})); ++roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Dur√©e)`})); + this.effect.updateSource({"duration.rounds" : roll.total}) + +📝 Unterschiede in [Jk7OHqx06oCUVAzb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jk7OHqx06oCUVAzb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Jk7OHqx06oCUVAzb.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jk7OHqx06oCUVAzb.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Jk7OHqx06oCUVAzb.js +@@ -1 +1 @@ +-return !["Language (Magick)", "Channelling (Hysh)"].includes(args.skill?.name) ++return !["Langue (Magick)", "Focalisation (Hysh)"].includes(args.skill?.name) + +📝 Unterschiede in [JmZQRvdWjm9ykYfn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JmZQRvdWjm9ykYfn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JmZQRvdWjm9ykYfn.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/JmZQRvdWjm9ykYfn.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/JmZQRvdWjm9ykYfn.js +@@ -1,5 +1,5 @@ + if (this.actor.hasCondition("surprised")) + { + this.actor.removeCondition("surprised") +-this.script.scriptMessage(`Cannot be Surprised`); ++this.script.scriptMessage(`Ne peut être surpris`); + } + +📝 Unterschiede in [Jnp5c09sPzDD61EK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jnp5c09sPzDD61EK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Jnp5c09sPzDD61EK.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jnp5c09sPzDD61EK.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Jnp5c09sPzDD61EK.js +@@ -1,2 +1,2 @@ +-this.script.scriptNotification(`${args.actor.prototypeToken.name} must pass an Average (+20) Willpower Test to attack this target!`) ++this.script.scriptNotification(`${args.actor.prototypeToken.name} doit r√©ussir un Test Accessible (+20) de Force Mentale pour attaquer cette cible!`) + return true; // No need to show this in the dialog + +📝 Unterschiede in [KGK9vL1Yl0qmCeCN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KGK9vL1Yl0qmCeCN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KGK9vL1Yl0qmCeCN.js:0) (22 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/KGK9vL1Yl0qmCeCN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/KGK9vL1Yl0qmCeCN.js +@@ -1,18 +1,18 @@ + let specification = this.item.system.specification.value; + let choice = []; +-if (!specification || specification == "Trained Skills") ++if (!specification || specification == "Compétences entraînées") + { + choice = await ItemDialog.create(ItemDialog.objectToArray({ +-broken: "Broken", +-drive: "Drive", +-entertain: "Entertain", +-fetch: "Fetch", +-guard: "Guard", +-home: "Home", +-magic: "Magic", +-mount: "Mount", +-war: "War" +-}, this.effect.img), "unlimited", "Choose Training"); ++broken: "Dompté", ++drive: "Trait", ++entertain: "Divertir", ++fetch: "Rapporter", ++guard: "Garder", ++home: "Revenir à la maison", ++magic: "Magie", ++mount: "Monture", ++war: "Guerre" ++}, this.effect.img), "unlimited", "Choisissez un Dressage"); + } + else + { + +📝 Unterschiede in [KICZPwLvbUSxbDrE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KICZPwLvbUSxbDrE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KICZPwLvbUSxbDrE.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/KICZPwLvbUSxbDrE.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/KICZPwLvbUSxbDrE.js +@@ -1,7 +1,7 @@ + let table = game.wfrp4e.tables.findTable("mutatemental"); + if (!table) + { +-ui.notifications.error("Cannot find table with key: mutatemental") ++ui.notifications.error("Impossible de trouver la table des Mutations Mentales") + } + let result = (await table.roll()).results[0]; + let uuid = `Compendium.${result.documentCollection}.${result.documentId}` +@@ -13,5 +13,5 @@ + } + else + { +-ui.notifications.error("Item could not be found: " + uuid) ++ui.notifications.error("Impossible de trouver l'item: " + uuid) + } + +📝 Unterschiede in [KIoVBinAZK8sMOqD.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KIoVBinAZK8sMOqD.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KIoVBinAZK8sMOqD.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/KIoVBinAZK8sMOqD.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/KIoVBinAZK8sMOqD.js +@@ -4,6 +4,6 @@ + { + fromUuid("Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb").then(disease => { + this.actor.createEmbeddedDocuments("Item", [disease.toObject()]) +-this.script.scriptNotification("Gained " + disease.name) ++this.script.scriptNotification("Gain de " + disease.name) + }) + } + +📝 Unterschiede in [KPQfupKuaf4LCv4R.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KPQfupKuaf4LCv4R.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KPQfupKuaf4LCv4R.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/KPQfupKuaf4LCv4R.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/KPQfupKuaf4LCv4R.js +@@ -1,2 +1,2 @@ +-const talents = await Promise.all(["Schemer", "Second Sight"].map(game.wfrp4e.utility.findTalent)) ++const talents = await Promise.all(["Intrigant", "Seconde Vue"].map(game.wfrp4e.utility.findTalent)) + this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) + +📝 Unterschiede in [KQzbrpb0T5a7it4k.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KQzbrpb0T5a7it4k.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KQzbrpb0T5a7it4k.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/KQzbrpb0T5a7it4k.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/KQzbrpb0T5a7it4k.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.Item.vMYEkrWj0ip6ZOdv"); + let data = item.toObject(); +-data.name += ` (Disease)`; ++data.name += ` (Maladie)`; + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) + +📝 Unterschiede in [KkjkYAGI9Em1NgiQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KkjkYAGI9Em1NgiQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KkjkYAGI9Em1NgiQ.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/KkjkYAGI9Em1NgiQ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/KkjkYAGI9Em1NgiQ.js +@@ -10,10 +10,10 @@ + } + else + { +-this.script.scriptNotification("Heal Test failed!", "error") ++this.script.scriptNotification("Test de Guérison échoué!", "error") + } + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Quantité insuffisante!", "error") + } + +📝 Unterschiede in [KmngDrPD72xn22kZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KmngDrPD72xn22kZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KmngDrPD72xn22kZ.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/KmngDrPD72xn22kZ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/KmngDrPD72xn22kZ.js +@@ -1,11 +1,11 @@ + if (this.actor.Species.toLowerCase() != "skaven") { +-this.actor.setupCharacteristic("t", {skipTargets: true, appendTitle : ` - Used ${this.effect.name}`, fields: { difficulty: "difficult" } }).then(async test => { ++this.actor.setupCharacteristic("t", {skipTargets: true, appendTitle : ` - Utilise ${this.effect.name}`, fields: { difficulty: "difficult" } }).then(async test => { + await test.roll() + if (test.failed) + { + let toughnessLost = Math.ceil(CONFIG.Dice.randomUniform() * 10) + this.actor.update({ "system.characteristics.t.initial": this.actor.characteristics.t.initial - toughnessLost }) +-this.script.scriptMessage(`${this.actor.prototypeToken.name} lost ${toughnessLost} Toughness`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} perd ${toughnessLost} points d'Endurance`) + } + }) + } + +📝 Unterschiede in [LQEWSN5KnHHATPsf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/LQEWSN5KnHHATPsf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/LQEWSN5KnHHATPsf.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/LQEWSN5KnHHATPsf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/LQEWSN5KnHHATPsf.js +@@ -1,4 +1,4 @@ + if (args.totalWoundLoss > 0) + { +-this.script.scriptMessage(`${args.actor.name} must pass an Easy (+40) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`${args.actor.name} doit r√©ussir un Test Facile (+40) d'Endurance ou subir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [LyAK0dVDS5L09yq2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/LyAK0dVDS5L09yq2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/LyAK0dVDS5L09yq2.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/LyAK0dVDS5L09yq2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/LyAK0dVDS5L09yq2.js +@@ -3,5 +3,5 @@ + { + let bonus = caster.system.characteristics.wp.bonus + this.actor.modifyWounds(bonus) +-this.script.scriptMessage(`${this.actor.prototypeToken.name} regains ${bonus} Wounds`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} récupère ${bonus} Blessures`) + } + +📝 Unterschiede in [M0XhKnWjG14pk3iH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/M0XhKnWjG14pk3iH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/M0XhKnWjG14pk3iH.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/M0XhKnWjG14pk3iH.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/M0XhKnWjG14pk3iH.js +@@ -1 +1 @@ +-return !args.skill?.name.includes("Channelling") && args.type != "channelling" && args.skill?.name != game.i18n.localize("NAME.Charm") && !args.skill?.name.includes("Language (Magick)") && args.type != "cast" ++return !args.skill?.name.includes("Focalisation") && args.type != "channelling" && args.skill?.name != game.i18n.localize("NAME.Charm") && !args.skill?.name.includes("Langue (Magick)") && args.type != "cast" + +📝 Unterschiede in [M5bh0heeafA2fQQ8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/M5bh0heeafA2fQQ8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/M5bh0heeafA2fQQ8.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/M5bh0heeafA2fQQ8.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/M5bh0heeafA2fQQ8.js +@@ -2,7 +2,7 @@ + { + if (args.test.result.minormis || args.test.result.majormis || args.test.result.catastrophicmis) + { +-this.script.scriptMessage(`${this.effect.name} quits your mind in disgust and erases itself from your grimoire!`) ++this.script.scriptMessage(`${this.effect.name} s'efface de votre esprit et s'efface de votre grimoire !`) + this.effect.sourceItem.delete(); + } + } + +📝 Unterschiede in [MDLttXplnNthncGr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MDLttXplnNthncGr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MDLttXplnNthncGr.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/MDLttXplnNthncGr.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/MDLttXplnNthncGr.js +@@ -1 +1 @@ +-return args.type == "cast" && ["death", "necromancy", "life", "light", "heavens"].includes(args.spell?.system.lore.value) ++return args.type == "cast" && ["mort", "nécromancie", "vie", "lumière", "cieux"].includes(args.spell?.system.lore.value) + +📝 Unterschiede in [MMv2B8TH7jxNCtdl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MMv2B8TH7jxNCtdl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MMv2B8TH7jxNCtdl.js:0) (37 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/MMv2B8TH7jxNCtdl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/MMv2B8TH7jxNCtdl.js +@@ -4,44 +4,37 @@ + let bleedingRoll; + let msg = "" + let damage = effect.conditionValue; +-let scriptArgs = {msg, damage}; +-await Promise.all(actor.runScripts("preApplyCondition", {effect, data : scriptArgs})) ++let scriptArgs = { msg, damage }; ++await Promise.all(actor.runScripts("preApplyCondition", { effect, data: scriptArgs })) + msg = scriptArgs.msg; + damage = scriptArgs.damage; +-msg += await actor.applyBasicDamage(damage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne : false, suppressMsg : true}) +-if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) +-{ ++msg += await actor.applyBasicDamage(damage, { damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne: false, suppressMsg: true }) ++if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) { + await actor.addCondition("unconscious") +-msg += "
    " + game.i18n.format("BleedUnc", {name: actor.prototypeToken.name }) ++msg += "
    " + game.i18n.format("BleedUnc", { name: actor.prototypeToken.name }) + } +-if (actor.hasCondition("unconscious")) +-{ ++if (actor.hasCondition("unconscious")) { + bleedingAmt = effect.conditionValue; + bleedingRoll = (await new Roll("1d100").roll()).total; +-if (bleedingRoll <= bleedingAmt * 10) +-{ +-msg += "
    " + game.i18n.format("BleedFail", {name: actor.prototypeToken.name}) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; ++if (bleedingRoll <= bleedingAmt * 10) { ++msg += "
    " + game.i18n.format("BleedFail", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; + await actor.addCondition("dead") + } +-else if (bleedingRoll % 11 == 0) +-{ +-msg += "
    " + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name } ) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" ++else if (bleedingRoll % 11 == 0) { ++msg += "
    " + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" + await actor.removeCondition("bleeding") + } +-else +-{ ++else { + msg += "
    " + game.i18n.localize("BleedRoll") + ": " + bleedingRoll; + } + } +-await Promise.all(actor.runScripts("applyCondition", {effect, data : {bleedingRoll}})) +-if (args.suppressMessage) +-{ ++await Promise.all(actor.runScripts("applyCondition", { effect, data: { bleedingRoll } })) ++if (args.suppressMessage) { + let messageData = game.wfrp4e.utility.chatDataSetup(msg); +-messageData.speaker = {alias: this.effect.name} ++messageData.speaker = { alias: this.effect.name } + messageData.flavor = this.effect.name; + return messageData + } +-else +-{ ++else { + return this.script.scriptMessage(msg) + } + +📝 Unterschiede in [Me1wS5XdqUEy7OGt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Me1wS5XdqUEy7OGt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Me1wS5XdqUEy7OGt.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Me1wS5XdqUEy7OGt.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Me1wS5XdqUEy7OGt.js +@@ -1,4 +1,4 @@ + let loc = (await game.wfrp4e.tables.rollTable("hitloc")).result; + let critTable = `crit${this.generalizeTable(loc)`; + let crit = (await game.wfrp4e.tables.rollTable(critTable)).result; +-this.script.scriptMessage(`{this.actor.name} suffers a ${crit} (location : ${loc}). Do not apply bleeding or any additonnal wounds.`); ++this.script.scriptMessage(`{this.actor.name} subit un ${crit} (localisation : ${loc}). Ne pas appliquer d'Hemmoragie ou de Blessures additionnelles.`); + +📝 Unterschiede in [MfxWXZwaZUjGSBqw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MfxWXZwaZUjGSBqw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MfxWXZwaZUjGSBqw.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/MfxWXZwaZUjGSBqw.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/MfxWXZwaZUjGSBqw.js +@@ -1,5 +1,5 @@ + if (this.actor.hasCondition("ablaze")) + { +-this.script.scriptNotification("Immune to Ablaze") ++this.script.scriptNotification("Immunisé à En Flammes") + await this.actor.hasCondition("ablaze")?.delete() + } + +📝 Unterschiede in [MfxzwJz2o9ho2hOM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MfxzwJz2o9ho2hOM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MfxzwJz2o9ho2hOM.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/MfxzwJz2o9ho2hOM.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/MfxzwJz2o9ho2hOM.js +@@ -1 +1 @@ +-return args.skill?.name == "Lore (Apothecary)" ++return args.skill?.name == "Savoir (Apothicaire)" + +📝 Unterschiede in [MgMMoC4Umpg7fmNI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MgMMoC4Umpg7fmNI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MgMMoC4Umpg7fmNI.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/MgMMoC4Umpg7fmNI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/MgMMoC4Umpg7fmNI.js +@@ -1,9 +1,9 @@ + // Apply changes when the mask is worn + if (args.equipped) { + this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) +-this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
    +-They cannot cast Spells or pray for Blessings and Miracles.
    +-If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. ++this.script.scriptMessage(`${this.actor.name} porte ${this.item.name}.
    ++Il ne peut plus lancer de Sorts ni effectuer de Prières ni Miracles.
    ++S'il porte le masque pendant plus d'1 heure ou bénéficie de l'un de ses effets, il est exposé à un @Corruption[moderate]{Corruption moderate}. + `, + {whisper: ChatMessage.getWhisperRecipients("GM")}) + } +@@ -12,7 +12,7 @@ + { + await this.item.effects.contents[0].delete(); + await this.item.update({name : this.item.name += " (Used)"}) +-this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, ++this.script.scriptMessage(`${this.item.name} sur ${this.actor.name} a été enlevé et à perdu ses propriétés. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils devront être supprimés manuellement.`, + {whisper: ChatMessage.getWhisperRecipients("GM")} + ) + } + +📝 Unterschiede in [Mhb67xufvA9uWO21.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Mhb67xufvA9uWO21.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Mhb67xufvA9uWO21.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Mhb67xufvA9uWO21.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Mhb67xufvA9uWO21.js +@@ -3,5 +3,5 @@ + if (attackerSize > actorSize) + { + args.actor.addCondition("prone") +-this.script.scriptMessage(`Tail Attack: ${args.actor.prototypeToken.name} is now Prone`) ++this.script.scriptMessage(`Attaque Caudale: ${args.actor.prototypeToken.name} est d√©sormais A Terre`) + } + +📝 Unterschiede in [Mir4FMHQRdVqazAF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Mir4FMHQRdVqazAF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Mir4FMHQRdVqazAF.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Mir4FMHQRdVqazAF.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Mir4FMHQRdVqazAF.js +@@ -2,11 +2,11 @@ + let attackerSize = game.wfrp4e.config.actorSizeNums[args.attacker.details.size.value] + if (attackerSize > actorSize) + { +-let msg = `Tongue Attack: ${args.actor.prototypeToken.name} is now @Condition[Entangled]`; ++let msg = `Attaque de Langue préhensile: ${args.actor.prototypeToken.name} est désormais @Condition[Empêtré]`; + await args.actor.addCondition("entangled"); + if (actorSize <= 2) + { +-msg += `and @Condition[Engaged]` ++msg += `et @Condition[Engagé]` + } + this.script.scriptMessage(msg, {speaker : {alias: args.attacker.prototypeToken.name}}) + } + +📝 Unterschiede in [Msygc7oQQPB5fw0b.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Msygc7oQQPB5fw0b.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Msygc7oQQPB5fw0b.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Msygc7oQQPB5fw0b.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Msygc7oQQPB5fw0b.js +@@ -4,11 +4,11 @@ + let points = await new Roll("1d10").roll(); + game.dice3d?.showForRoll(points) + this.actor.update({"system.status.corruption.value" : this.actor.system.status.corruption.value + points.total}) +-this.script.scriptMessage(`Gains ${points.total} Corruption`) ++this.script.scriptMessage(`Re√ßoit ${points.total} Point de Corruption`) + } + else + { + let points = this.effect.sourceTest.result.overcast.usage.other.current; + this.actor.update({"system.status.corruption.value" : this.actor.system.status.corruption.value - points}) +-this.script.scriptMessage(`Loses ${points} Corruption`) ++this.script.scriptMessage(`Perd ${points} Point de Corruption`) + } + +📝 Unterschiede in [MwUzyAgd0yPnmZCH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MwUzyAgd0yPnmZCH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MwUzyAgd0yPnmZCH.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/MwUzyAgd0yPnmZCH.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/MwUzyAgd0yPnmZCH.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.klCJX0mNpXYH5AIx") + let data = item.toObject(); +-data.name = data.name.replace("Target", "Strangers"); ++data.name = data.name.replace("Cible", "Strangers"); + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}); + +📝 Unterschiede in [N2MeOlf0GjPiRcSb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/N2MeOlf0GjPiRcSb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/N2MeOlf0GjPiRcSb.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/N2MeOlf0GjPiRcSb.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/N2MeOlf0GjPiRcSb.js +@@ -1,2 +1,2 @@ +-let test = await this.actor.setupCharacteristic("dex", {context : {failure : "Drops the item"}}) ++let test = await this.actor.setupCharacteristic("dex", {context : {failure : "Lâche l'objet"}}) + await test.roll(); + +📝 Unterschiede in [N8hA6ysHCTlLd8Kj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/N8hA6ysHCTlLd8Kj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/N8hA6ysHCTlLd8Kj.js:0) (21 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/N8hA6ysHCTlLd8Kj.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/N8hA6ysHCTlLd8Kj.js +@@ -10,10 +10,10 @@ + "wp" : 15, + "fel" : 0 + } +-let skills = ["Channelling", "Cool", "Dodge", "Entertain (Storytelling)", "Intuition", "Language (Magick)", "Lore (Magic)", "Perception"] ++let skills = ["Focalisation", "Calme", "Esquive", "Divertissement (Narration)", "Intuition", "Langue (Magick)", "Savoir (Magie)" , "Perception"] + let skillAdvancements = [5, 15, 10, 10, 15, 10, 10, 20] +-let talents = ["Arcane Magic", "Petty Magic", "Second Sight"] +-let trappings = ["Hand Weapon", "Quarterstaff", "Ritual Dress incorporating many ingredients and fetishes"] ++let talents = ["Magie des Arcanes", "Magie Mineure", "Seconde Vue"] ++let trappings = ["Arme simple", "(2M) Bâton de combat", "Ritual Dress incorporating many ingredients and fetishes"] + let items = []; + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,24 +53,15 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { + items.push({name : trapping, type : "trapping", "system.trappingType.value" : "clothingAccessories"}) +-//ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++//ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [NDvNGATDM2xPFJK0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NDvNGATDM2xPFJK0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NDvNGATDM2xPFJK0.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/NDvNGATDM2xPFJK0.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/NDvNGATDM2xPFJK0.js +@@ -5,7 +5,7 @@ + teeth = teeth.toObject(); + tongue = tongue.toObject(); + let roll = await new Roll("1d10").roll(); +-roll.toMessage(this.script.getChatData({flavor : "Teeth Lost"})) ++roll.toMessage(this.script.getChatData({flavor : "Dents perdues"})) + teeth.system.location.value = `${roll.total} ${teeth.system.location.value}` + brokenbone.system.location.value = "Jaw" + this.actor.createEmbeddedDocuments("Item", [brokenbone, teeth, tongue]) + +📝 Unterschiede in [NI3ZzIAlpQfVSjvf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NI3ZzIAlpQfVSjvf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NI3ZzIAlpQfVSjvf.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/NI3ZzIAlpQfVSjvf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/NI3ZzIAlpQfVSjvf.js +@@ -1,6 +1,6 @@ + if (isNaN(parseInt(this.item.system.specification.value))) + { +-let value = await ValueDialog.create("Enter Fear value", this.item.name); ++let value = await ValueDialog.create({text : "Enter Fear value", title : this.effect.name}); + if (value) + { + this.item.updateSource({"system.specification.value" : value}); + +📝 Unterschiede in [NdquQqyuOkGCj8Uo.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NdquQqyuOkGCj8Uo.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NdquQqyuOkGCj8Uo.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/NdquQqyuOkGCj8Uo.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/NdquQqyuOkGCj8Uo.js +@@ -4,5 +4,5 @@ + fear = fear.toObject(); + fear.system.specification.value = 1; + acutesense = acutesense.toObject(); +-acutesense.name += " (Smell)"; ++acutesense.name += " (Odorat)"; + this.actor.createEmbeddedDocuments("Item", [darkvision, fear, acutesense], {fromEffect : this.effect.id}) + +📝 Unterschiede in [NkqtQaLEGYst0PUO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NkqtQaLEGYst0PUO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NkqtQaLEGYst0PUO.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/NkqtQaLEGYst0PUO.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/NkqtQaLEGYst0PUO.js +@@ -1,4 +1,4 @@ +-if (this.actor.has("Magic Resistance", "talent")) ++if (this.actor.has("Résistance à la Magie", "talent")) + return + let item = await fromUuid("Compendium.wfrp4e-core.items.Item.eowbsW6oHGSNJmxV") + this.actor.createEmbeddedDocuments("Item", [item], {fromEffect : this.effect.id}) + +📝 Unterschiede in [O45vpR4jDbQQnmvJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/O45vpR4jDbQQnmvJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/O45vpR4jDbQQnmvJ.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/O45vpR4jDbQQnmvJ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/O45vpR4jDbQQnmvJ.js +@@ -1,8 +1,8 @@ + let items = []; + let etiquette = (await fromUuid("Compendium.wfrp4e-core.items.Item.sYbgpSnRqSZWgwFP")).toObject(); +-etiquette.name += " (Followers of Khorne)"; ++etiquette.name += " (Suivants de Khorne)"; + items.push(etiquette); + let animosity = (await fromUuid("Compendium.wfrp4e-core.items.Item.Q2MCUrG2HppMcvN0")).toObject(); +-animosity.name = animosity.name.replace("(Target)", "(Followers of Slaanesh)"); ++animosity.name = animosity.name.replace("(Cible)", "(Suivants de Slaanesh)"); + items.push(animosity); + await this.actor.createEmbeddedDocuments("Item", items, {fromEffect : this.effect.id}); + +📝 Unterschiede in [OEy2lxvic37dRBEt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OEy2lxvic37dRBEt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OEy2lxvic37dRBEt.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OEy2lxvic37dRBEt.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OEy2lxvic37dRBEt.js +@@ -8,7 +8,7 @@ + value : "petty" + } + ] +-let petty = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 3, "Choose 3 Petty Spells") ++let petty = await ItemDialog.createFromFilters(filters, 3, "Choisissez 3 Sorts de Magie Mineure") + filters = [ + { + property : "type", +@@ -19,6 +19,6 @@ + value : "" + } + ] +-let arcane = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 3, "Choose 3 Arcane Spells") ++let arcane = await ItemDialog.createFromFilters(filters, 3, "Choisissez 3 Sorts de Magie d'Arcane") + let items = petty.concat(arcane).map(i => i.toObject()) + this.actor.createEmbeddedDocuments("Item", items); + +📝 Unterschiede in [OGX4BneaYAnV25TO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OGX4BneaYAnV25TO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OGX4BneaYAnV25TO.js:0) (12 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OGX4BneaYAnV25TO.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OGX4BneaYAnV25TO.js +@@ -1,6 +1,6 @@ + let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") } + let message = "" +-let wounds = duplicate(this.actor.status.wounds) ++let wounds = foundry.utils.duplicate(this.actor.status.wounds) + let regenRoll = await new Roll("1d10").roll(); + let regen = regenRoll.total; + if (wounds.value >= wounds.max) +@@ -12,24 +12,24 @@ + { + wounds.value = wounds.max + } +-message += `${this.actor.name} regains ${regen} Wounds.` ++message += `${this.actor.name} regagne ${regen} Blessures.` + if (regen == 10) + { +-message += `
    Additionally, they regenerate a Critical Wound.` ++message += `
    Et guéri une Blessure Critique.` + } + } + else if (regen >= 8) + { +-message += `${this.actor.name} rolled a ${regen} and regains 1 Wound.` ++message += `${this.actor.name} a obtenu ${regen} et récupère 1 Blessure.` + wounds.value += 1 + if (regen == 10) + { +-message += `
    Additionally, they regenerate a Critical Wound.` ++message += `
    Et guéri une Blessure Critique.` + } + } + else + { +-message += `${this.actor.name} Regenerate roll of ${regen} - No effect.` ++message += `${this.actor.name} Résultat de régénération de ${regen} - Aucun effet.` + } + await this.actor.update({ "system.status.wounds": wounds }) + this.script.scriptMessage(message, { whisper: ChatMessage.getWhisperRecipients("GM") }) + +📝 Unterschiede in [OeKeQAAcJhdI4Qky.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OeKeQAAcJhdI4Qky.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OeKeQAAcJhdI4Qky.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OeKeQAAcJhdI4Qky.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OeKeQAAcJhdI4Qky.js +@@ -1,5 +1,5 @@ + if (this.actor.hasCondition("stunned") || this.actor.hasCondition("unconscious")) + { +-this.script.scriptNotification("Disabled!"); ++this.script.scriptNotification("Désactivé!"); + await this.effect.update({"disabled" : true}) + } + +📝 Unterschiede in [OgSI0Z6SHjYuqKIz.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OgSI0Z6SHjYuqKIz.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OgSI0Z6SHjYuqKIz.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OgSI0Z6SHjYuqKIz.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OgSI0Z6SHjYuqKIz.js +@@ -8,7 +8,7 @@ + await test.roll(); + if (test.failed) + { +-this.script.scriptMessage(`${this.actor.name} must break from combat and flee until they pass a Challenging (+0) Willpower Test`); ++this.script.scriptMessage(`${this.actor.name} doit cesser le combat et fuir à moins de réussir un jet Intermédiaire (+0) de Force Mentale`); + this.item.setFlag("wfrp4e", "failedCool", true); + } + }) + +📝 Unterschiede in [OicQSEVZBbqLtrcf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OicQSEVZBbqLtrcf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OicQSEVZBbqLtrcf.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OicQSEVZBbqLtrcf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OicQSEVZBbqLtrcf.js +@@ -1,3 +1,3 @@ +-let choice = await ItemDialog.create(this.actor.itemTypes.critical, (this.effect.sourceTest.result.overcast.usage.other.current || 1), "Choose the Critical Wounds to heal (cannot reattach body parts)") +-this.script.scriptMessage(`Healed ${choice.map(i => i.name).join(`, `)}`); ++let choice = await ItemDialog.create(this.actor.itemTypes.critical, (this.effect.sourceTest.result.overcast.usage.other.current || 1), "Choisissez la Blessure Critique à soigner (ne peut guérir les membres perdus)") ++this.script.scriptMessage(`Guéri de ${choice.map(i => i.name).join(`, `)}`); + this.actor.deleteEmbeddedDocuments("Item", choice.map(i => i.id)) + +📝 Unterschiede in [Op88kMtimSEWlY2h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Op88kMtimSEWlY2h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Op88kMtimSEWlY2h.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Op88kMtimSEWlY2h.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Op88kMtimSEWlY2h.js +@@ -6,5 +6,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Aucun disponible!", "error") + } + +📝 Unterschiede in [OqLKL0PiCvYH2QxW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OqLKL0PiCvYH2QxW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OqLKL0PiCvYH2QxW.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OqLKL0PiCvYH2QxW.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OqLKL0PiCvYH2QxW.js +@@ -8,6 +8,6 @@ + args.test.result.description = game.i18n.localize("ROLL.MarginalSuccess"); + } + args.test.result.outcome = "success" +-args.test.result.other.push(`${this.effect.name}: Minimum +0 SL`) ++args.test.result.other.push(`${this.effect.name}: Minimum +0 DR`) + } + } + +📝 Unterschiede in [OsLXutfXyQCAkhAf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OsLXutfXyQCAkhAf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OsLXutfXyQCAkhAf.js:0) (16 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OsLXutfXyQCAkhAf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OsLXutfXyQCAkhAf.js +@@ -1,5 +1,5 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; +-const test = 'Sail'; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; ++const test = 'Voile'; + const difficulty = 'average'; + const target = 30; + const extendedTestData = { +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [OxsBnnVI3Smpknpb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OxsBnnVI3Smpknpb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OxsBnnVI3Smpknpb.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/OxsBnnVI3Smpknpb.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/OxsBnnVI3Smpknpb.js +@@ -1,5 +1,5 @@ + if (this.actor.status.advantage.value && !this.actor.sameSideAs(this.effect.sourceActor)) + { + this.actor.modifyAdvantage(-1); +-this.script.scriptNotification(`${this.actor.name} loses 1 Advantage`); ++this.script.scriptNotification(`${this.actor.name} perd 1 Avantage`); + } + +📝 Unterschiede in [PMISUsaEDBA7D3od.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PMISUsaEDBA7D3od.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PMISUsaEDBA7D3od.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/PMISUsaEDBA7D3od.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/PMISUsaEDBA7D3od.js +@@ -1,7 +1,7 @@ + // After consumption, the user gains the Magic Resistance 3 Creature Trait, + // reducing the SL of any spell affecting it by 3. + // This effect lasts for one hour. +-const hasMagicResistance = this.actor.has("Magic Resistance") ++const hasMagicResistance = this.actor.has("Résistance à la Magie") || this.actor.has("Magieresistenz") || this.actor.has("Magic Resistance") + if (hasMagicResistance === undefined) { + fromUuid("Compendium.wfrp4e-core.items.yrkI7ATjqLPDTFmZ").then(trait => { + let traitItem = trait.toObject() + +📝 Unterschiede in [PVjaKAHTKDA0rA9J.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PVjaKAHTKDA0rA9J.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PVjaKAHTKDA0rA9J.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/PVjaKAHTKDA0rA9J.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/PVjaKAHTKDA0rA9J.js +@@ -1,2 +1,2 @@ +-let test = await this.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); ++let test = await this.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); + await test.roll(); + +📝 Unterschiede in [PeZYj8b0vedyJj00.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PeZYj8b0vedyJj00.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PeZYj8b0vedyJj00.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/PeZYj8b0vedyJj00.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/PeZYj8b0vedyJj00.js +@@ -2,7 +2,7 @@ + let mainEffect = this.item.effects.contents[0]; + if (mainEffect.name.includes("(Lore)")) + { +-let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choose Lore"); ++let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choisissez le Savoir"); + if (choice.length) + { + mainEffect.update({name : mainEffect.name.replace("Lore", choice[0].name)}) + +📝 Unterschiede in [Ph3TdQw1lGiFr049.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Ph3TdQw1lGiFr049.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Ph3TdQw1lGiFr049.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Ph3TdQw1lGiFr049.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Ph3TdQw1lGiFr049.js +@@ -2,10 +2,10 @@ + (this.actor.isOpposing || args.test.context.defending) && + args.test.result.roll % 11 == 0 && + args.test.succeeded && +-["Language (Magick)", "Dodge"].includes(args.test.item?.name)) ++["Langue (Magick)", "Esquive"].includes(args.test.item?.name)) + { + args.test.context.phantasmal = true; // Flag so items aren't readded if test is edited +-let text = `${this.effect.name}: Adding Unstable and Ward` ++let text = `${this.effect.name}: Ajout de Instable et Protection` + args.test.result.other.push(text) + this.script.scriptNotification(text); + let ward = await fromUuid("Compendium.wfrp4e-core.items.Bvd2aZ0gQUXHfCTh") + +📝 Unterschiede in [PmELrzD3RmF9qKkO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PmELrzD3RmF9qKkO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PmELrzD3RmF9qKkO.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/PmELrzD3RmF9qKkO.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/PmELrzD3RmF9qKkO.js +@@ -1,6 +1,6 @@ + if (this.item.system.specification.value == "Size") + { +-let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.actorSizes, this.item.img), 1, "Choose Size"); ++let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.actorSizes, this.item.img), 1, "Choisissez Size"); + if (choice[0]) + { + this.item.updateSource({"system.specification.value" : choice[0].name}) + +📝 Unterschiede in [Pn5fekTbkwlr61XU.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Pn5fekTbkwlr61XU.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Pn5fekTbkwlr61XU.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Pn5fekTbkwlr61XU.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Pn5fekTbkwlr61XU.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Engineer)'; + const difficulty = 'easy'; + const target = 10; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [PwqTmw7rsG8hzqCS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PwqTmw7rsG8hzqCS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PwqTmw7rsG8hzqCS.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/PwqTmw7rsG8hzqCS.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/PwqTmw7rsG8hzqCS.js +@@ -2,6 +2,6 @@ + { + game.wfrp4e.tables.findTable("knuckleduster-diseases").roll().then(roll => { + let results = roll.results[0] +-this.script.scriptMessage(`${this.actor.name} contracts @UUID[Compendium.${results.documentCollection}.${results.documentId}]{${results.text}}`, {blind : true, whisper: ChatMessage.getWhisperRecipients("GM") }) ++this.script.scriptMessage(`${this.actor.name} subit @UUID[Compendium.${results.documentCollection}.${results.documentId}]{${results.text}}`, {blind : true, whisper: ChatMessage.getWhisperRecipients("GM") }) + }) + } + +📝 Unterschiede in [Q4EQgP4gZR8TTm7S.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q4EQgP4gZR8TTm7S.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Q4EQgP4gZR8TTm7S.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q4EQgP4gZR8TTm7S.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Q4EQgP4gZR8TTm7S.js +@@ -3,6 +3,6 @@ + { + penalty -= 30 + } +-if (args.actor.has("Second Sight", "talent")) ++if (args.actor.has("Seconde Vue", "talent")) + penalty += 10 + args.prefillModifiers.modifier += penalty + +📝 Unterschiede in [Q68WiUWY7GxiXBbT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q68WiUWY7GxiXBbT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Q68WiUWY7GxiXBbT.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q68WiUWY7GxiXBbT.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Q68WiUWY7GxiXBbT.js +@@ -1,5 +1,5 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.9GNpAqgsKzxZKJpp") + let data = item.toObject(); +-data.system.specification.value = "When Alone"; ++data.system.specification.value = "Lorsque seul"; + data.effects[0].disabled = true; + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [Q7eULXQ9AfDRmUGO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q7eULXQ9AfDRmUGO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Q7eULXQ9AfDRmUGO.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q7eULXQ9AfDRmUGO.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Q7eULXQ9AfDRmUGO.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpenter)'; + const difficulty = 'difficult'; + const target = 40; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [QNxmImpLTou6WdMQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QNxmImpLTou6WdMQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QNxmImpLTou6WdMQ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/QNxmImpLTou6WdMQ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/QNxmImpLTou6WdMQ.js +@@ -1,3 +1,3 @@ + let test = args.test + if (test.result.minormis || test.result.majormis || test.result.catastrophicmis) +-test.result.other.push("Can make a Difficult (-10) Willpower Test to prevent the Miscast") ++test.result.other.push("Peut faire un Test de Force Mentale Difficile (-10) pour éviter l'Incantation Imparfaite") + +📝 Unterschiede in [QRSACifDrvojIXHB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QRSACifDrvojIXHB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QRSACifDrvojIXHB.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/QRSACifDrvojIXHB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/QRSACifDrvojIXHB.js +@@ -1,8 +1,8 @@ + if (!this.actor.effects.find(e => e.isCondition)) + { +-return this.script.scriptNotification("No Conditions on this Actor") ++return this.script.scriptNotification("Aucun état sur cet Acteur") + } +-let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choose a Condition") ++let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choisissez un état") + if (choice[0]) + { + this.actor.removeCondition(choice[0].conditionId) + +📝 Unterschiede in [QfTBRGXVfwQSghmd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QfTBRGXVfwQSghmd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QfTBRGXVfwQSghmd.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/QfTBRGXVfwQSghmd.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/QfTBRGXVfwQSghmd.js +@@ -2,14 +2,14 @@ + if (caster) { + if (actor.items.find(it => it.name == game.i18n.localize("Bestial"))) { + let healed = caster.characteristics.wp.bonus +-let wounds = duplicate(args.actor.status.wounds) ++let wounds = foundry.utils.duplicate(args.actor.status.wounds) + wounds.value += healed + if (wounds.value > wounds.max) + wounds.value = wounds.max + args.actor.update({ "system.status.wounds": wounds }) +-ChatMessage.create({ content: `${this.actor.prototypeToken.name} regains ${healed} Wounds`, speaker: { alias: this.effect.name } }) ++ChatMessage.create({ content: `${this.actor.prototypeToken.name} regagne ${healed} Blessures`, speaker: { alias: this.effect.name } }) + } else { +-ui.notifications.warn("Target actor has no Bestial trait") ++ui.notifications.warn("L'Acteur cibl√© n'a pas le Trait Bestial") + } + } + }) + +📝 Unterschiede in [Qgn92fZyc3Psn8QJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Qgn92fZyc3Psn8QJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Qgn92fZyc3Psn8QJ.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Qgn92fZyc3Psn8QJ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Qgn92fZyc3Psn8QJ.js +@@ -2,7 +2,8 @@ + { + let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) + let ones = Number(args.test.result.roll.toString().split("").pop()) +-if (ones > SL) ++if (ones > SL) { + args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) +-args.test.result.other.push(`${this.effect.name}: Used unit dice as SL`) ++args.test.result.other.push(`${this.effect.name}: Utilise le dé d'unité comme DR`) + } ++} + +📝 Unterschiede in [QoEOxRruQXYrZrv3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QoEOxRruQXYrZrv3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QoEOxRruQXYrZrv3.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/QoEOxRruQXYrZrv3.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/QoEOxRruQXYrZrv3.js +@@ -9,7 +9,7 @@ + regex: true + } + ] +-let items = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 2, "Choose 2 Skills to add +20") ++let items = await ItemDialog.createFromFilters(filters, 2, "Choisissez 2 Skills to add +20") + items = items.map(i => i.toObject()) + items.forEach(i => i.system.advances.value = 20) + this.actor.createEmbeddedDocuments("Item", items); + +📝 Unterschiede in [QwHoqu2oO8QO8Mad.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QwHoqu2oO8QO8Mad.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QwHoqu2oO8QO8Mad.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/QwHoqu2oO8QO8Mad.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/QwHoqu2oO8QO8Mad.js +@@ -1,2 +1,2 @@ +-let content = `${this.effect.name}: All targets engaged with ${this.actor.prototypeToken.name} take [[/r 1d10]] Damage, modified by TB and AP.` ++let content = `${this.effect.name}: Toute les cibles au contact abec ${this.actor.prototypeToken.name} subissent [[/r 1d10]] dégats, modifiés par le BE et les PA.` + this.script.scriptMessage(content) + +📝 Unterschiede in [R32U01LBjBrK1pns.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R32U01LBjBrK1pns.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R32U01LBjBrK1pns.js:0) (10 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/R32U01LBjBrK1pns.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/R32U01LBjBrK1pns.js +@@ -11,15 +11,15 @@ + let physicalQuirk = (await game.wfrp4e.tables.rollTable("physical-quirks", {hideDSN: true})).text; + let workEthic = (await game.wfrp4e.tables.rollTable("work-ethic", {hideDSN: true})).text; + let personalityQuirk = (await game.wfrp4e.tables.rollTable("personality-quirks", {hideDSN: true})).text; +-let templateItem = await game.wfrp4e.utility.findItemId(templateMap[template._id]); ++let templateItem = await warhammer.utility.findItemId(templateMap[template._id]); + let bio = + ` +

    Template: ${template.text}

    +-

    Phsyical Quirk: ${physicalQuirk}

    +-

    Work Ethic: ${workEthic}

    +-

    Personality Quirk: ${personalityQuirk}

    ++

    Trait physique: ${physicalQuirk}

    ++

    Ethique: ${workEthic}

    ++

    Trait de personnalité: ${personalityQuirk}

    + ` +-this.script.scriptMessage(bio, {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.message(bio, {whisper : ChatMessage.getWhisperRecipients("GM")}) + await this.actor.update({"system.details.gmnotes.value" : bio}) + if (templateItem) + { + +📝 Unterschiede in [R6SnyF3y4Vsq6oga.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R6SnyF3y4Vsq6oga.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R6SnyF3y4Vsq6oga.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/R6SnyF3y4Vsq6oga.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/R6SnyF3y4Vsq6oga.js +@@ -1,7 +1,8 @@ + let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); ++let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); + // If channelling corresponding lore +-if (args.type == "channelling" && args.spell.system.lore.value == lore) ++if (args.type == "channelling" && spellLore == lore) + args.prefillModifiers.slBonus += 1 + // If channelling or casting different lore +-else if (args.spell.system.lore.value != lore && args.spell.system.lore.value != "petty") ++else if (spellLore != lore && args.spell.system.lore.value != "petty") + args.prefillModifiers.slBonus -= 1 + +📝 Unterschiede in [R8FBHZaaARA3z9pB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R8FBHZaaARA3z9pB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R8FBHZaaARA3z9pB.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/R8FBHZaaARA3z9pB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/R8FBHZaaARA3z9pB.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpenter)'; + const difficulty = 'hard'; + const target = 40; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [R8ecKGRzOr4ThvVa.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R8ecKGRzOr4ThvVa.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R8ecKGRzOr4ThvVa.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/R8ecKGRzOr4ThvVa.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/R8ecKGRzOr4ThvVa.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Maintenance Crew Test'; + const difficulty = 'hard'; + const target = 80; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [RDtJXji3hgcKnEBk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RDtJXji3hgcKnEBk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RDtJXji3hgcKnEBk.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RDtJXji3hgcKnEBk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RDtJXji3hgcKnEBk.js +@@ -2,7 +2,7 @@ + let hv = (await fromUuid("Compendium.wfrp4e-core.items.Item.Nj3tC8A5fZ3zEdMR")).toObject(); + let ms = (await fromUuid("Compendium.wfrp4e-core.items.Item.6w30u0VPsAicrqb5")).toObject(); + let ss = (await fromUuid("Compendium.wfrp4e-core.items.Item.OEjUvJKi0xmBwbS2")).toObject(); +-as.name += " (Sight)"; ++as.name += " (Vue)"; + let roll = (await new Roll("1d10").roll()); + roll.toMessage(this.script.getChatData()) + let items = [] + +📝 Unterschiede in [RHyBLYT5oHf7EPnG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RHyBLYT5oHf7EPnG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RHyBLYT5oHf7EPnG.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RHyBLYT5oHf7EPnG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RHyBLYT5oHf7EPnG.js +@@ -1,5 +1,5 @@ + let skills = this.actor.itemTypes.skill.filter(i => i.name.includes(game.i18n.localize("NAME.Melee"))) +-let skill = await ItemDialog.create(skills, 1, "Select the skill used by the weapon") ++let skill = await ItemDialog.create(skills, 1, "Sélectionnez la compétence à utiliser avec l'arme") + let group = game.wfrp4e.utility.extractParenthesesText(skill[0]?.name) + let groupKey = game.wfrp4e.utility.findKey(group, game.wfrp4e.config.weaponGroups) + let weapon = { +@@ -15,4 +15,4 @@ + }, + } + Item.implementation.create(foundry.utils.expandObject(weapon), {parent : this.actor, fromEffect : this.effect.id}) +-this.script.scriptNotification("Item created. Further customization must be done manually within the Item's sheet"); ++this.script.scriptNotification("Item créé. Les modifications supplémentaires doivent être réalisées manuellement sur la fiche de l'objet."); + +📝 Unterschiede in [RKIFGN583PQnqHGk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RKIFGN583PQnqHGk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RKIFGN583PQnqHGk.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RKIFGN583PQnqHGk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RKIFGN583PQnqHGk.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.hitloc.value == "body" && args.totalWoundLoss > 0) + { + args.actor.addCondition("bleeding", 2) +-this.script.scriptMessage("Gained 2 Bleeding Conditions") ++this.script.scriptMessage("Ajout de 2 état Hémorragiques") + } + +📝 Unterschiede in [ROXCqAFSTLouJniL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ROXCqAFSTLouJniL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ROXCqAFSTLouJniL.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ROXCqAFSTLouJniL.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ROXCqAFSTLouJniL.js +@@ -2,6 +2,6 @@ + { + if (args.test.result.minormis || args.test.result.majormis || args.test.result.catastrophicmis) + { +-this.script.scriptMessage(`${this.item.name} Overloads!`) ++this.script.scriptMessage(`${this.item.name} Surcharge!`) + } + } + +📝 Unterschiede in [RPqgRUkiLY5thVbC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RPqgRUkiLY5thVbC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RPqgRUkiLY5thVbC.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RPqgRUkiLY5thVbC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RPqgRUkiLY5thVbC.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Strength'; + const difficulty = 'average'; + const target = 10; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [RSsGiDFibuqg3sHr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RSsGiDFibuqg3sHr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RSsGiDFibuqg3sHr.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RSsGiDFibuqg3sHr.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RSsGiDFibuqg3sHr.js +@@ -6,7 +6,7 @@ + i.id = i._id + return i + }) +-let choice = await ItemDialog.create(diseaseIndex , 1, "Choose a Disease") ++let choice = await ItemDialog.create(diseaseIndex , 1, "Choisissez une maladie") + if (choice[0]) + { + await this.item.updateSource({"system.specification.value" : choice[0].name}) + +📝 Unterschiede in [RrchOMpEdIvceJxl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RrchOMpEdIvceJxl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RrchOMpEdIvceJxl.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RrchOMpEdIvceJxl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RrchOMpEdIvceJxl.js +@@ -1 +1 @@ +-return args.skill?.name == "Stealth (Rural)" ++return args.skill?.name == "Discr√©tion (Rurale)" + +📝 Unterschiede in [RvipIYj9H7n4UDMe.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RvipIYj9H7n4UDMe.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RvipIYj9H7n4UDMe.js:0) (15 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RvipIYj9H7n4UDMe.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RvipIYj9H7n4UDMe.js +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,22 +53,13 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [RwMw848y13Jq2L4f.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RwMw848y13Jq2L4f.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RwMw848y13Jq2L4f.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/RwMw848y13Jq2L4f.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/RwMw848y13Jq2L4f.js +@@ -1,4 +1,4 @@ +-let test = await this.actor.setupSkill("Endurance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); ++let test = await this.actor.setupSkill("Résistance", {fields : {difficulty : "difficult"}, appendTitle : ` - ${this.effect.name}`}); + await test.roll(); + if (test.failed) + { +@@ -14,7 +14,7 @@ + let damage = Math.floor(AP / 2); + await item.system.damageItem(damage, [key]); + } +-msg += `

    ${item.name} AP reduced by half

    ` ++msg += `

    ${item.name} PA divisé par 2

    ` + } + if (msg) + { + +📝 Unterschiede in [S1QihXuvdEVzeRtB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/S1QihXuvdEVzeRtB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/S1QihXuvdEVzeRtB.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/S1QihXuvdEVzeRtB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/S1QihXuvdEVzeRtB.js +@@ -22,9 +22,9 @@ + item = await fromUuid("Compendium.wfrp4e-core.items.qdMbxW09FUoYBzmB") + modifier = -5 + } +-message = `${roll} Rolled, gain ${item.name}, ${modifier} Strength` ++message = `Résultat de ${roll}, gagnez ${item.name}, ${modifier} en Force` + dice.toMessage(this.script.getChatData()) +-let changes = duplicate(this.effect.changes) ++let changes = foundry.utils.duplicate(this.effect.changes) + changes[0].value = modifier + this.effect.updateSource({changes}) + await this.actor.createEmbeddedDocuments("Item", [item.toObject()], {fromEffect : this.effect.id}) + +📝 Unterschiede in [S3Dev4hleOYqDNe9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/S3Dev4hleOYqDNe9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/S3Dev4hleOYqDNe9.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/S3Dev4hleOYqDNe9.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/S3Dev4hleOYqDNe9.js +@@ -7,10 +7,10 @@ + wounds = this.actor.characteristics.int.bonus + Math.min(1, Number(args.test.result.SL)) + } + args.test.result.woundsHealed = wounds +-args.test.result.other.push(`${this.actor.name} healed ${wounds} wounds of the patient.`) ++args.test.result.other.push(`${this.actor.name} gu√©rit ${wounds} Points de Blessures du patient.`) + } + else if (this.actor.characteristics.int.bonus + Number(args.test.result.SL) < 0) + { +-args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) ++args.test.result.other.push(`Le patient subit une @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + } + } + +📝 Unterschiede in [SGr50Hq1AHIEzIFN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/SGr50Hq1AHIEzIFN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/SGr50Hq1AHIEzIFN.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/SGr50Hq1AHIEzIFN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/SGr50Hq1AHIEzIFN.js +@@ -1,5 +1,5 @@ + let choice = await ItemDialog.create(ItemDialog.objectToArray({ + int : game.wfrp4e.config.characteristics.int, + fel : game.wfrp4e.config.characteristics.fel +-}, this.effect.img), 1, "Choose Characteristic"); ++}, this.effect.img), 1, "Choisissez une caract√©ristique"); + this.effect.updateSource({"flags.wfrp4e.characteristic" : choice[0].id}) + +📝 Unterschiede in [SWIJjM2RCmzfr64u.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/SWIJjM2RCmzfr64u.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/SWIJjM2RCmzfr64u.js:0) (3 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/SWIJjM2RCmzfr64u.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/SWIJjM2RCmzfr64u.js +@@ -1,5 +1,4 @@ +-if (args.test.result.hitloc.result == "head" && args.test.result.critical) +-{ ++if (args.test.result.hitloc.result == "head" && args.test.result.critical){ + args.test.result.critModifier = args.test.result.critModifier ? args.test.result.critModifier + 40 : 40 + args.test.result.critical += ` (+${args.test.result.critModifier})` + } + +📝 Unterschiede in [T5fiTzhXEQAv9Drf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/T5fiTzhXEQAv9Drf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/T5fiTzhXEQAv9Drf.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/T5fiTzhXEQAv9Drf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/T5fiTzhXEQAv9Drf.js +@@ -8,7 +8,7 @@ + let dropped = this.item.system.weaponsAtLocation; + if (dropped.length) + { +-this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) ++this.script.scriptNotification(`Laché ${dropped.map(i => i.name).join(", ")}!`) + for(let weapon of dropped) + { + await weapon.system.toggleEquip(); + +📝 Unterschiede in [TAw9vXnfyIAl5DGs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TAw9vXnfyIAl5DGs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TAw9vXnfyIAl5DGs.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/TAw9vXnfyIAl5DGs.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/TAw9vXnfyIAl5DGs.js +@@ -7,5 +7,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Quantit√© insuffisante!", "error") + } + +📝 Unterschiede in [TBpNFRL5uehs0fze.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TBpNFRL5uehs0fze.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TBpNFRL5uehs0fze.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/TBpNFRL5uehs0fze.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/TBpNFRL5uehs0fze.js +@@ -6,5 +6,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Quantit√© insuffisante!", "error") + } + +📝 Unterschiede in [TGN070HeJLl3gSMY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TGN070HeJLl3gSMY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TGN070HeJLl3gSMY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/TGN070HeJLl3gSMY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/TGN070HeJLl3gSMY.js +@@ -1,4 +1,4 @@ +-let test = await this.actor.setupCharacteristic("ag", {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "Goes Prone" }}) ++let test = await this.actor.setupCharacteristic("ag", {skipTargets: true, appendTitle : ` - ${this.effect.name}`, context: { failure: "A Terre" }}) + await test.roll(); + if (test.failed) + { + +📝 Unterschiede in [TwgdEucxcHloc4cX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TwgdEucxcHloc4cX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TwgdEucxcHloc4cX.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/TwgdEucxcHloc4cX.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/TwgdEucxcHloc4cX.js +@@ -109,22 +109,17 @@ + let item = await game.wfrp4e.utility.find(c.name, c.type) + if (item) + { ++let equip = item.system.tags.has("equippable"); + item = item.toObject() +-equip(item); +-items.push(mergeObject(item, (c.diff || {}))) ++if (equip) ++{ ++item.system.equipped.value = true; ++} ++items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + } + else +-ui.notifications.warn(`Could not find ${c.name}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${c.name}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [U1UpSRJOSjPpO4HS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U1UpSRJOSjPpO4HS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U1UpSRJOSjPpO4HS.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/U1UpSRJOSjPpO4HS.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/U1UpSRJOSjPpO4HS.js +@@ -1,4 +1,4 @@ +-let mutations = await warhammer.utility.findAllItems("mutation", "Loading Mutations") ++let mutations = await warhammer.utility.findAllItems("mutation", "Chargement des mutations") + let roll = Math.floor(CONFIG.Dice.randomUniform() * mutations.length); + this.actor.createEmbeddedDocuments("Item", [mutations[roll]]); +-this.script.scriptNotification(`Added ${mutations[roll].name}`) ++this.script.scriptNotification(`Ajout ${mutations[roll].name}`) + +📝 Unterschiede in [U26XMie3Kjoddisj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U26XMie3Kjoddisj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U26XMie3Kjoddisj.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/U26XMie3Kjoddisj.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/U26XMie3Kjoddisj.js +@@ -1,10 +1,10 @@ + let stunned = this.actor.hasCondition("stunned") + if (stunned) + { +-this.script.scriptNotification(`Cleared 1 Stunned Condition`) ++this.script.scriptNotification(`Suppression de 1 état Assomé`) + this.actor.removeCondition("stunned"); + } + else + { +-this.script.scriptNotification(`No Stunned Conditions`) ++this.script.scriptNotification(`Aucun état Assomé`) + } + +📝 Unterschiede in [U4A8FDNmwBGTuQZO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U4A8FDNmwBGTuQZO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U4A8FDNmwBGTuQZO.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/U4A8FDNmwBGTuQZO.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/U4A8FDNmwBGTuQZO.js +@@ -1,5 +1,5 @@ +-if (args.attacker.has("Undead") && !args.attacker.has("Ethereal")) ++if (args.attacker.has("Mort-vivant") && !args.attacker.has("Ethéré")) + { + args.totalWoundLoss = Math.floor(args.totalWoundLoss / 2) +-args.modifiers.other.push({label : this.effect.name, details : "Halved", value : "× 0.5"}) ++args.modifiers.other.push({label : this.effect.name, details : "Divisé par deux", value : "× 0.5"}) + } + +📝 Unterschiede in [U9xh2wriSqCosugW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U9xh2wriSqCosugW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U9xh2wriSqCosugW.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/U9xh2wriSqCosugW.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/U9xh2wriSqCosugW.js +@@ -8,6 +8,6 @@ + args.test.result.description = game.i18n.localize("ROLL.MarginalSuccess"); + } + args.test.result.outcome = "success" +-args.test.result.other.push(`${this.effect.name}: Minimum +0 SL`) ++args.test.result.other.push(`${this.effect.name}: Minimum +0 DR`) + } + } + +📝 Unterschiede in [UDPsaymtZf39UsMk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UDPsaymtZf39UsMk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UDPsaymtZf39UsMk.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/UDPsaymtZf39UsMk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/UDPsaymtZf39UsMk.js +@@ -1,6 +1,5 @@ + let fatigued = this.actor.hasCondition("fatigued") +-if (!fatigued) +-{ ++if (!fatigued) { + this.actor.addCondition("fatigued") +-ui.notifications.notify("Fatigued added to " + this.actor.name + " which cannot be removed until the Malaise symptom is gone.") ++ui.notifications.notify("Fatigue ajouté à " + this.actor.name + " qui ne peut être supprimé tant que le symptôme Malaise est présent.") + } + +📝 Unterschiede in [ULmZMLezDamerN04.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ULmZMLezDamerN04.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ULmZMLezDamerN04.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ULmZMLezDamerN04.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ULmZMLezDamerN04.js +@@ -1,13 +1,13 @@ +-let spells = await warhammer.utility.findAllItems("spell", "Loading Spells") ++let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts") + let lore = (await game.wfrp4e.tables.rollTable("random-caster", {hideDSN: true})).text + this.script.scriptNotification(lore) +-if (lore == "GM's Choice") { ++if (lore == "Au choix") { + return + } +-else if (lore == "Arcane Magic") { ++else if (lore == "Magie des Arcanes") { + lore = "Arcane" + } +-else if (lore == "Petty Magic") { ++else if (lore == "Magie Mineure ") { + lore = "petty" + } + else { + +📝 Unterschiede in [UTlgF4azrGQZsoDv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UTlgF4azrGQZsoDv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UTlgF4azrGQZsoDv.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/UTlgF4azrGQZsoDv.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/UTlgF4azrGQZsoDv.js +@@ -1,2 +1,2 @@ +-const talents = await Promise.all(["Ambidextrous", "Distract"].map(game.wfrp4e.utility.findTalent)) ++const talents = await Promise.all(["Ambidextre", "Distraire"].map(game.wfrp4e.utility.findTalent)) + this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) + +📝 Unterschiede in [UaImulhbPURkLJg2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UaImulhbPURkLJg2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UaImulhbPURkLJg2.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/UaImulhbPURkLJg2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/UaImulhbPURkLJg2.js +@@ -1 +1 @@ +-return this.actor.attacker && (args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) ++return this.actor.attacker && (args.skill?.name.includes("Corps à corps (Bas)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) + +📝 Unterschiede in [UgQW0UMPOZ0jwfVJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UgQW0UMPOZ0jwfVJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UgQW0UMPOZ0jwfVJ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/UgQW0UMPOZ0jwfVJ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/UgQW0UMPOZ0jwfVJ.js +@@ -1,3 +1,3 @@ + let current = this.actor.status.fortune.value + this.actor.update({"system.status.fortune.value" : 1 + current}) +-this.script.scriptMessage(`${this.actor.prototypeToken.name} fortune points increased from ${current} to ${1 + current}`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses Points de Chance augmenter de ${current} à ${1 + current}`) + +📝 Unterschiede in [UlRSaZG4ZUU6fMND.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UlRSaZG4ZUU6fMND.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UlRSaZG4ZUU6fMND.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/UlRSaZG4ZUU6fMND.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/UlRSaZG4ZUU6fMND.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpenter)'; + const difficulty = 'challenging'; + const target = 10; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [UnqnWi0dZYLf5fTT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UnqnWi0dZYLf5fTT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UnqnWi0dZYLf5fTT.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/UnqnWi0dZYLf5fTT.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/UnqnWi0dZYLf5fTT.js +@@ -107,22 +107,17 @@ + let item = await game.wfrp4e.utility.find(c.name, c.type) + if (item) + { ++let equip = item.system.tags.has("equippable"); + item = item.toObject() +-equip(item); +-items.push(mergeObject(item, (c.diff || {}))) ++if (equip) ++{ ++item.system.equipped.value = true; ++} ++items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + } + else +-ui.notifications.warn(`Could not find ${c.name}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${c.name}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [UsuwsmU1TUQLQVM2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UsuwsmU1TUQLQVM2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UsuwsmU1TUQLQVM2.js:0) (3 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/UsuwsmU1TUQLQVM2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/UsuwsmU1TUQLQVM2.js +@@ -1,2 +1,3 @@ + let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); +-return !args.spell || (args.type == "cast" && ["petty", lore].includes(args.spell.system.lore.value)); ++let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); ++return !args.spell || (args.type == "cast" && [game.wfrp4e.config.magicLores["petty"].toLowerCase(), lore].includes(spellLore)); + +📝 Unterschiede in [V1D2Uo3WDKYQePU3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V1D2Uo3WDKYQePU3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V1D2Uo3WDKYQePU3.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/V1D2Uo3WDKYQePU3.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/V1D2Uo3WDKYQePU3.js +@@ -5,5 +5,5 @@ + let APused = Math.max(0, APatLoc.value - metalAP); // remove metal AP at location; + damage -= (APused + this.actor.system.characteristics.t.bonus) + let msg = await this.actor.applyBasicDamage(damage, {suppressMsg : true, damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL}); +-msg += ` (ignored ${metalAP} metal AP on ${game.wfrp4e.config.locations[loc]})` ++msg += ` (ignore ${metalAP} PA m√©talliques sur ${game.wfrp4e.config.locations[loc]})` + this.script.scriptMessage(msg) + +📝 Unterschiede in [V9wD9FWHWxZUOGSI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9wD9FWHWxZUOGSI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V9wD9FWHWxZUOGSI.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9wD9FWHWxZUOGSI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/V9wD9FWHWxZUOGSI.js +@@ -4,12 +4,12 @@ + if (fatigued > this.actor.characteristics.wp.bonus) + { + this.actor.addCondition("unconscious") +-this.script.scriptNotification(`Fell Unconscious`) ++this.script.scriptNotification(`Tombe Incoscient`) + } + else + { + fatigued = Math.max(0, fatigued) + if (fatigued) + this.actor.addCondition("fatigued", fatigued) +-this.script.scriptNotification(`Gained ${fatigued} conditions`) ++this.script.scriptNotification(`Subit ${fatigued} état Fatigué`) + } + +📝 Unterschiede in [V9xm4X1x3lPYTQaI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9xm4X1x3lPYTQaI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V9xm4X1x3lPYTQaI.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9xm4X1x3lPYTQaI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/V9xm4X1x3lPYTQaI.js +@@ -1,6 +1,6 @@ + if (args.extendedTest?.getFlag("wfrp4e", "fear")) + { +-this.script.scriptNotification("Immune to Fear"); ++this.script.scriptNotification("Immunisé à la Peur"); + args.extendedTest.delete(); + args.abort = true; + } + +📝 Unterschiede in [V9zm2hKUVLVZtAcN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9zm2hKUVLVZtAcN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V9zm2hKUVLVZtAcN.js:0) (23 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9zm2hKUVLVZtAcN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/V9zm2hKUVLVZtAcN.js +@@ -10,9 +10,9 @@ + "wp" : 10, + "fel" : 10 + } +-let skills = ["Charm", "Channelling", "Entertain (Prophecy)", "Intuition"] ++let skills = ["Charm", "Focalisation", "Entertain (Prophecy)", "Intuition"] + let skillAdvancements = [0, 0, 20, 10] +-let talents = ["Detect Artefact", "Menacing", "Sixth Sense"] ++let talents = ["Detect Artefact", "Menaçant", "Sixième Sens"] + let traits = ["Dooming", "Spellcaster (Lore of Life)", "Ward"] + let trappings = [] + let items = []; +@@ -46,7 +46,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + const traitRegex = /(?:,?(.+?)(\+?\d{1,2}\+?)?\s*?(?:\((.+?)\)\s*(\+?\d{1,2})?|,|$))/gm +@@ -62,7 +62,7 @@ + } + catch { } + if (!traitItem) { +-ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + } + traitItem = traitItem.toObject() + if (Number.isNumeric(traitVal)) +@@ -80,12 +80,12 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + for (let spell of spells) +@@ -98,18 +98,9 @@ + } + else + { +-ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.worn = true +-else if (item.type == "weapon") +-item.equipped = true +-else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") +-item.worn = true +-} + +📝 Unterschiede in [VINX6TBAJQznhVcN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VINX6TBAJQznhVcN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VINX6TBAJQznhVcN.js:0) (12 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/VINX6TBAJQznhVcN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/VINX6TBAJQznhVcN.js +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [VLdF2HPnCrNIgp7a.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VLdF2HPnCrNIgp7a.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VLdF2HPnCrNIgp7a.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/VLdF2HPnCrNIgp7a.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/VLdF2HPnCrNIgp7a.js +@@ -1,8 +1,8 @@ + let items = []; + let etiquette = (await fromUuid("Compendium.wfrp4e-core.items.Item.sYbgpSnRqSZWgwFP")).toObject(); +-etiquette.name += " (Followers of Khorne)"; ++etiquette.name += " (Suivants de Khorne)"; + items.push(etiquette); + let animosity = (await fromUuid("Compendium.wfrp4e-core.items.Item.0VpT5yubw4UL7j6f")).toObject(); +-animosity.system.specification.value = "Followers of Slaanesh"; ++animosity.system.specification.value = "Suivants de Slaanesh"; + items.push(animosity); + await this.actor.createEmbeddedDocuments("Item", items, {fromEffect : this.effect.id}); + +📝 Unterschiede in [VNOKTzCrFbZ6PJUj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VNOKTzCrFbZ6PJUj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VNOKTzCrFbZ6PJUj.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/VNOKTzCrFbZ6PJUj.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/VNOKTzCrFbZ6PJUj.js +@@ -1 +1 @@ +-return !["Charm Animal", "Endurance", "Outdoor Survival"].includes(args.skill?.name) ++return !["Emprise sur les animaux", "Résistance", "Survie en extérieur"].includes(args.skill?.name) + +📝 Unterschiede in [VbL0TgaBAmYjrezZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VbL0TgaBAmYjrezZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VbL0TgaBAmYjrezZ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/VbL0TgaBAmYjrezZ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/VbL0TgaBAmYjrezZ.js +@@ -1,2 +1,2 @@ +-const talents = await Promise.all(["Hardy"].map(game.wfrp4e.utility.findTalent)) ++const talents = await Promise.all(["Dur à cuire"].map(game.wfrp4e.utility.findTalent)) + this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) + +📝 Unterschiede in [VlFUDaKUYoBYKYn0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VlFUDaKUYoBYKYn0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VlFUDaKUYoBYKYn0.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/VlFUDaKUYoBYKYn0.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/VlFUDaKUYoBYKYn0.js +@@ -3,5 +3,5 @@ + if (test.failed && this.actor.type == "character") + { + this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) +-this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage("Gain d'1 Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [VqTrKPtxv9hpn0Hr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VqTrKPtxv9hpn0Hr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VqTrKPtxv9hpn0Hr.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/VqTrKPtxv9hpn0Hr.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/VqTrKPtxv9hpn0Hr.js +@@ -1 +1 @@ +-return args.skill?.name != "Language (Magick)" ++return args.skill?.name != "Langue (Magick)" + +📝 Unterschiede in [VzO0ZDcTWvaBn4vm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VzO0ZDcTWvaBn4vm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VzO0ZDcTWvaBn4vm.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/VzO0ZDcTWvaBn4vm.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/VzO0ZDcTWvaBn4vm.js +@@ -8,6 +8,6 @@ + args.test.result.description = game.i18n.localize("ROLL.MarginalFailure"); + } + args.test.result.outcome = "failure" +-args.test.result.other.push(`${this.effect.name}: Maximum -0 SL`) ++args.test.result.other.push(`${this.effect.name}: Maximum -0 DR`) + } + } + +📝 Unterschiede in [W9nyUNQStMr1pUHJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/W9nyUNQStMr1pUHJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/W9nyUNQStMr1pUHJ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/W9nyUNQStMr1pUHJ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/W9nyUNQStMr1pUHJ.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.hitloc.value == this.item.system.location.key) + { + args.actor.addCondition("bleeding", 1); +-this.script.scriptNotification("Added Bleeding") ++this.script.scriptNotification("Ajout de Hémorragique"); + } + +📝 Unterschiede in [WB6sIpLEPC8YPX67.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WB6sIpLEPC8YPX67.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WB6sIpLEPC8YPX67.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/WB6sIpLEPC8YPX67.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/WB6sIpLEPC8YPX67.js +@@ -1,6 +1,6 @@ + if (args.options.dodge) + { + args.abort = true; +-this.script.scriptNotification("Cannot Dodge!") ++this.script.scriptNotification("Ne peut pas esquiver!") + } + return ["t", "int", "wp", "fel"].includes(args.characteristic) + +📝 Unterschiede in [WO5n7Vbx8AgoVrwC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WO5n7Vbx8AgoVrwC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WO5n7Vbx8AgoVrwC.js:0) (17 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/WO5n7Vbx8AgoVrwC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/WO5n7Vbx8AgoVrwC.js +@@ -13,7 +13,7 @@ + let skills = ["Intuition", "Lore (Local)", "Perception"] + let skillAdvancements = [10, 10, 10] + let talents = [] +-let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Hand Weapon"] ++let trappings = ["Mail Coat", "Mail Chausses", "Mail Coif", "Arme simple"] + let items = [] + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,22 +53,13 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [WR0Kqn8CF5iwToak.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WR0Kqn8CF5iwToak.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WR0Kqn8CF5iwToak.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/WR0Kqn8CF5iwToak.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/WR0Kqn8CF5iwToak.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Tailor)'; + const difficulty = 'difficult'; + const target = 40; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [WiYtNU2Y5BJfIpeM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WiYtNU2Y5BJfIpeM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WiYtNU2Y5BJfIpeM.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/WiYtNU2Y5BJfIpeM.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/WiYtNU2Y5BJfIpeM.js +@@ -4,7 +4,7 @@ + let dropped = this.item.system.weaponsAtLocation; + if (dropped.length) + { +-this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) ++this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + for(let weapon of dropped) + { + await weapon.system.toggleEquip(); + +📝 Unterschiede in [Wo4wQKUxSItAhRzZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Wo4wQKUxSItAhRzZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Wo4wQKUxSItAhRzZ.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Wo4wQKUxSItAhRzZ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Wo4wQKUxSItAhRzZ.js +@@ -1,7 +1,8 @@ + let lore = this.effect.name.split("(")[1].split(")")[0].toLowerCase(); ++let spellLore = game.wfrp4e.config.magicLores[args.spell.system.lore.value].toLowerCase(); + // If channelling corresponding lore +-if (args.type == "channelling" && args.spell.system.lore.value == lore) ++if (args.type == "channelling" && spellLore == lore) + args.prefillModifiers.slBonus += 3 + // If channelling or casting different lore +-else if (args.spell.system.lore.value != lore && args.spell.system.lore.value != "petty") ++else if (spellLore != lore && args.spell.system.lore.value != "petty") + args.prefillModifiers.slBonus -= 1 + +📝 Unterschiede in [X3vpmNUj9SL2CDnF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/X3vpmNUj9SL2CDnF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/X3vpmNUj9SL2CDnF.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/X3vpmNUj9SL2CDnF.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/X3vpmNUj9SL2CDnF.js +@@ -1,2 +1,2 @@ + let item = args.actor.items.find(i => i.name.includes("Flying Jib")); +-item.name += ` (Disabled by ${this.item.name})`; ++item.name += ` (Désactivé par ${this.item.name})`; + +📝 Unterschiede in [XO9m2AvFRAAeEuty.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/XO9m2AvFRAAeEuty.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/XO9m2AvFRAAeEuty.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/XO9m2AvFRAAeEuty.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/XO9m2AvFRAAeEuty.js +@@ -1,5 +1,5 @@ + if (args.test.options.fieldDressing && args.test.result.reversed) + { + args.test.data.result.SL = "+" + Math.min(1, Number(args.test.data.result.SL)) +-args.test.result.other.push(`${this.effect.name}: SL limited to 1`) ++args.test.result.other.push(`${this.effect.name}: DR limité à 1`) + } + +📝 Unterschiede in [XcvDYNZgJ2rpAdDV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/XcvDYNZgJ2rpAdDV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/XcvDYNZgJ2rpAdDV.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/XcvDYNZgJ2rpAdDV.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/XcvDYNZgJ2rpAdDV.js +@@ -1,6 +1,5 @@ + let fatigued = this.actor.hasCondition("fatigued") +-if (!fatigued) +-{ ++if (!fatigued) { + this.actor.addCondition("fatigued") +-ui.notifications.notify("Fatigued added to " + this.actor.name + " which cannot be removed until the Malaise symptom is gone.") ++ui.notifications.notify("Etat Fatigué ajouté à " + this.actor.name + " qui ne peut être enlevé tant que le symptôme de Malaise est présent.") + } + +📝 Unterschiede in [Xe8ijqWU3bbtq7ZY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Xe8ijqWU3bbtq7ZY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Xe8ijqWU3bbtq7ZY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Xe8ijqWU3bbtq7ZY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Xe8ijqWU3bbtq7ZY.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.defenderTest.actor.Species.toLowerCase().includes("skaven")) + { + args.addImpact = true; +-args.opposedTest.result.other.push("Impact against Skaven") ++args.opposedTest.result.other.push("Impact contre les Skavens") + } + +📝 Unterschiede in [Y8J66v8VTKUASGuK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Y8J66v8VTKUASGuK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Y8J66v8VTKUASGuK.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Y8J66v8VTKUASGuK.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Y8J66v8VTKUASGuK.js +@@ -1,8 +1,8 @@ + if (!this.actor.effects.find(e => e.isCondition)) + { +-return this.script.scriptNotification("No Conditions on this Actor") ++return this.script.scriptNotification("Aucun état sur cet acteur") + } +-let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choose a Condition") ++let choice = await ItemDialog.create(this.actor.effects.filter(i => i.isCondition), 1, "Choisissez un état") + if (choice[0]) + { + await this.actor.removeCondition(choice[0].conditionId) + +📝 Unterschiede in [YDqpKJVy8ijEKdLX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YDqpKJVy8ijEKdLX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YDqpKJVy8ijEKdLX.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/YDqpKJVy8ijEKdLX.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/YDqpKJVy8ijEKdLX.js +@@ -1 +1 @@ +-return !(this.actor.attacker && (args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"))) ++return !(this.actor.attacker && (args.skill?.name.includes("Corps à corps (Base)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"))) + +📝 Unterschiede in [YQ2LnLxp0xgy3meI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YQ2LnLxp0xgy3meI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YQ2LnLxp0xgy3meI.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/YQ2LnLxp0xgy3meI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/YQ2LnLxp0xgy3meI.js +@@ -1,3 +1,3 @@ + if (args.test.preData.options?.corruption && args.test.failed) { +-args.test?.result?.other.push("Gain additional +1 Corruption from " + this.effect.name) ++args.test?.result?.other.push("Re√ßoit 1 Point de Corruption de " + this.effect.name) + } + +📝 Unterschiede in [YRUTliBzAQvncGNX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YRUTliBzAQvncGNX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YRUTliBzAQvncGNX.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/YRUTliBzAQvncGNX.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/YRUTliBzAQvncGNX.js +@@ -1,2 +1,2 @@ + this.actor.addCondition("fatigued"); +-this.script.scriptNotification("Added Fatigued") ++this.script.scriptNotification("Ajout de Fatigu√©") + +📝 Unterschiede in [YaKnYEbmmZZtByJc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YaKnYEbmmZZtByJc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YaKnYEbmmZZtByJc.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/YaKnYEbmmZZtByJc.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/YaKnYEbmmZZtByJc.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.attackerTest.options.ballockKnife) + { + args.weaponProperties.impale = true; +-args.extraMessages.push(`${this.item.name}: Impale Added`) ++args.extraMessages.push(`${this.item.name}: Ajout de Empalement`) + } + +📝 Unterschiede in [YwLEw4BiKq4EMy57.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YwLEw4BiKq4EMy57.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YwLEw4BiKq4EMy57.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/YwLEw4BiKq4EMy57.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/YwLEw4BiKq4EMy57.js +@@ -4,9 +4,9 @@ + { + fel_gain += (await new Roll("2d10").roll()).total + } +-let msg = `${this.actor.prototypeToken.name} gains ${i_gain} Intelligence` ++let msg = `${this.actor.prototypeToken.name} gagne ${i_gain} en Intelligence` + if (fel_gain) +-msg += ` and ${fel_gain} Fellowship` ++msg += ` et ${fel_gain} en Sociabilit√©` + let newInt = i_gain + args.actor.characteristics.int.modifier + let newFel = fel_gain + args.actor.characteristics.fel.modifier + args.actor.update({"system.characteristics.int.modifier" : newInt, "system.characteristics.fel.modifier" : newFel}) + +📝 Unterschiede in [YySjPfSAPdMAfjsh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YySjPfSAPdMAfjsh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YySjPfSAPdMAfjsh.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/YySjPfSAPdMAfjsh.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/YySjPfSAPdMAfjsh.js +@@ -1,4 +1,4 @@ +-let talents = ["Berserk Charge", "Combat Aware", "Combat Reflexes", "Furious Assault", "Implacable", "Magic Resistance", "Resistance (Magic)", "Resolute", "Strike Mighty Blow", "Warrior Born"]; ++let talents = ["Charge Berserk", "Vigilance", "Combat Instinctif", "Assaut féroce", "Endurci", "Résistance à la Magie", "Résistant (Magie)", "Déterminé", "Coup puissant", "Guerrier né"]; + let currentCareer = this.actor.system.currentCareer; + if (!currentCareer) return; + for (let talent of talents) { + +📝 Unterschiede in [Z52yZDm6lP6fOP3O.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z52yZDm6lP6fOP3O.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Z52yZDm6lP6fOP3O.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z52yZDm6lP6fOP3O.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Z52yZDm6lP6fOP3O.js +@@ -1,6 +1,6 @@ + let ablaze = this.actor.hasCondition("ablaze") + if (ablaze) + { +-this.script.scriptNotification("Immune to Ablaze"); ++this.script.scriptNotification("Immunisé à En Flammes"); + ablaze.delete() + } + +📝 Unterschiede in [Z6OmmC0irJzxSnMH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z6OmmC0irJzxSnMH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Z6OmmC0irJzxSnMH.js:0) (10 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z6OmmC0irJzxSnMH.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Z6OmmC0irJzxSnMH.js +@@ -1,6 +1,6 @@ + let chatData = { whisper: ChatMessage.getWhisperRecipients("GM") } + let message = "" +-let wounds = duplicate(this.actor.status.wounds) ++let wounds = foundry.utils.duplicate(this.actor.status.wounds) + let regenRoll = await new Roll("1d10").roll(); + let regen = regenRoll.total; + if (wounds.value >= wounds.max) +@@ -12,19 +12,19 @@ + { + wounds.value = wounds.max + } +-message += `${this.actor.name} regains ${regen} Wounds.` ++message += `${this.actor.name} guérit de ${regen} Points de Blessure.` + if (regen == 10) + { +-message += `
    Additionally, they regenerate a Critical Wound.` ++message += `
    De plus, il guérit d'une Blessure Critique.` + } + } + else if (regen >= 8) + { +-message += `${this.actor.name} rolled a ${regen} and regains 1 Wound.` ++message += `${this.actor.name} a obtenu un ${regen} et guérit 1 Point de Blessure.` + wounds.value += 1 + if (regen == 10) + { +-message += `
    Additionally, they regenerate a Critical Wound.` ++message += `
    De plus, il guérit d'une Blessure Critique.` + } + } + else + +📝 Unterschiede in [Z6jNlyZMECkW4Hon.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z6jNlyZMECkW4Hon.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Z6jNlyZMECkW4Hon.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z6jNlyZMECkW4Hon.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Z6jNlyZMECkW4Hon.js +@@ -1,11 +1,11 @@ +-let spells = await warhammer.utility.findAllItems("spell", "Loading Spells", true); ++let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts", true); + let choice = await ItemDialog.create(spells, 1); + if (choice[0]) + { +-this.script.scriptMessage(`Chose @UUID[${choice[0].uuid}]{${choice[0].name}}`) ++this.script.scriptMessage(`Choisir @UUID[${choice[0].uuid}]{${choice[0].name}}`) + let spell = (await fromUuid(choice[0].uuid)).toObject(); // Might be an index so retrieve item object for sure + setProperty(spell, "flags.wfrp4e.boonOfTzeentch", true); +-spell.system.wind.value = "Channelling (Dhar)"; ++spell.system.wind.value = "Focalisation (Dhar)"; + spell.system.memorized.value = true; + this.actor.createEmbeddedDocuments("Item", [spell], {fromEffect: this.effect.id}) + } + +📝 Unterschiede in [ZCBcwbVFHFTFRntb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZCBcwbVFHFTFRntb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZCBcwbVFHFTFRntb.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZCBcwbVFHFTFRntb.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ZCBcwbVFHFTFRntb.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpentry)'; + const difficulty = 'easy'; + const target = 10; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [ZCuOjLAeENKN1Q4L.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZCuOjLAeENKN1Q4L.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZCuOjLAeENKN1Q4L.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZCuOjLAeENKN1Q4L.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ZCuOjLAeENKN1Q4L.js +@@ -1,7 +1,7 @@ + let halve; + if (args.opposedTest.attackerTest.item?.type != "spell") + { +-halve = await Dialog.confirm({title : this.effect.name, content : "Halve Damage? (Halves Damage from all fire)"}) ++halve = await Dialog.confirm({title : this.effect.name, content : "Diviser les Dégâts? (Divise les dégats de Feu)"}) + } + else + { +@@ -10,5 +10,5 @@ + if (halve) + { + args.totalWoundLoss /= 2; +-args.modifiers.other.push({label : this.effect.name, details : "Halved", value : "× 0.5"}) ++args.modifiers.other.push({label : this.effect.name, details : "Divisé", value : "× 0.5"}) + } + +📝 Unterschiede in [ZNW3ubbKIYXAyE48.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZNW3ubbKIYXAyE48.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZNW3ubbKIYXAyE48.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZNW3ubbKIYXAyE48.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ZNW3ubbKIYXAyE48.js +@@ -1,8 +1,8 @@ +-let wounds = this.actor.itemTypes.disease.filter(i => i.name == "Festering Wound" && i.system.duration.active); ++let wounds = this.actor.itemTypes.disease.filter(i => i.name == "Blessure Purulente" && i.system.duration.active); + let selected; + if (wounds.length == 0) + { +-return this.script.scriptNotification("No Festering Wounds!"); ++return this.script.scriptNotification("Aucune Blessure Purulente!"); + } + else if (wounds.length == 1) + { +@@ -22,7 +22,7 @@ + if (SL >= 0) + { + selected.update({"system.duration.value" : selected.system.duration.value - SL}) +-this.script.scriptMessage(`${selected.name} duration reduced by ${SL}!`) ++this.script.scriptMessage(`${selected.name} durée réduite de ${SL}!`) + } + } + } + +📝 Unterschiede in [ZNu4B0OdjkM9lmtu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZNu4B0OdjkM9lmtu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZNu4B0OdjkM9lmtu.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZNu4B0OdjkM9lmtu.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ZNu4B0OdjkM9lmtu.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.9h82z72XGo9tfgQS") + let data = item.toObject(); +-data.name = data.name += " (Vision)" ++data.name = data.name += " (Vue)" + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [ZRoG7GiMDQWso6gN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZRoG7GiMDQWso6gN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZRoG7GiMDQWso6gN.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZRoG7GiMDQWso6gN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ZRoG7GiMDQWso6gN.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

    Finished repairing ${this.item.name}.

    `; ++const repaired_message = `

    Réparation finie ${this.item.name}.

    `; + const test = 'Trade (Carpentry)'; + const difficulty = 'difficult'; + const target = 30; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [Ze9E2zR1GFGWGMVH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Ze9E2zR1GFGWGMVH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Ze9E2zR1GFGWGMVH.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/Ze9E2zR1GFGWGMVH.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/Ze9E2zR1GFGWGMVH.js +@@ -1 +1 @@ +-return ["Pick Lock", "Sleight of Hand", "Channelling (Ulgu)"].includes(args.skill?.name) ++return ["Crochetage", "Escamotage", "Focalisation (Ulgu)"].includes(args.skill?.name) + +📝 Unterschiede in [a02tlRCXpaoaDjSN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a02tlRCXpaoaDjSN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a02tlRCXpaoaDjSN.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/a02tlRCXpaoaDjSN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/a02tlRCXpaoaDjSN.js +@@ -5,7 +5,7 @@ + c.id = c._id; + } + }); +-let choice = await ItemDialog.create(careers, 1, "Choose Double Life Career"); ++let choice = await ItemDialog.create(careers, 1, "Choisissez la carrière de votre double identité"); + if (choice[0]) + { + let career = await fromUuid(choice[0].uuid); + +📝 Unterschiede in [a4Aza4a9v8JMU8dC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a4Aza4a9v8JMU8dC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a4Aza4a9v8JMU8dC.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/a4Aza4a9v8JMU8dC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/a4Aza4a9v8JMU8dC.js +@@ -1,2 +1,2 @@ +-const talents = await Promise.all(["Frenzy", "Magic Resistance"].map(game.wfrp4e.utility.findTalent)) ++const talents = await Promise.all(["Frénésie", "Résistance à la Magie"].map(game.wfrp4e.utility.findTalent)) + this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) + +📝 Unterschiede in [a7pEvCycVnFBXGAQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a7pEvCycVnFBXGAQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a7pEvCycVnFBXGAQ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/a7pEvCycVnFBXGAQ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/a7pEvCycVnFBXGAQ.js +@@ -1,4 +1,4 @@ +-let test = await this.actor.setupCharacteristic("i", {skipTargets: true, appendTitle : " - Stunned", fields : {difficulty : "easy"}}) ++let test = await this.actor.setupCharacteristic("i", {skipTargets: true, appendTitle : " - Assom√©", fields : {difficulty : "easy"}}) + await test.roll(); + if (!test.succeeded) + { + +📝 Unterschiede in [a8i0sA1RBnD8nHZt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a8i0sA1RBnD8nHZt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a8i0sA1RBnD8nHZt.js:0) (35 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/a8i0sA1RBnD8nHZt.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/a8i0sA1RBnD8nHZt.js +@@ -2,36 +2,29 @@ + let targetedItem = this.actor.items.get(this.effect.flags.wfrp4e.itemTargets[0]) + let qualities = foundry.utils.deepClone(game.wfrp4e.config.itemQualities); + let flaws = foundry.utils.deepClone(game.wfrp4e.config.itemFlaws); +-if (targetedItem.type == "weapon") +-{ +-mergeObject(qualities, game.wfrp4e.config.weaponQualities) +-mergeObject(flaws, game.wfrp4e.config.weaponFlaws) ++if (targetedItem.type == "weapon") { ++foundry.utils.mergeObject(qualities, game.wfrp4e.config.weaponQualities) ++foundry.utils.mergeObject(flaws, game.wfrp4e.config.weaponFlaws) + } +-else if (targetedItem.type == "armour") +-{ +-mergeObject(qualities, game.wfrp4e.config.armorQualities) +-mergeObject(flaws, game.wfrp4e.config.armorFlaws) ++else if (targetedItem.type == "armour") { ++foundry.utils.mergeObject(qualities, game.wfrp4e.config.armorQualities) ++foundry.utils.mergeObject(flaws, game.wfrp4e.config.armorFlaws) + } +-for(let q in qualities) +-{ ++for (let q in qualities) { + // If the weapon already has a flaw, don't put it in the dialog +-if (targetedItem.system.properties.qualities[q]) +-{ ++if (targetedItem.system.properties.qualities[q]) { + delete qualities[q] + } + } +-for(let f in flaws) +-{ ++for (let f in flaws) { + // If a weapon doesn't have a flaw, don't put it in the dialog +-if (!targetedItem.system.properties.flaws[f]) +-{ ++if (!targetedItem.system.properties.flaws[f]) { + delete flaws[f] + } + } +-let added = await ItemDialog.create(ItemDialog.objectToArray(qualities), "unlimited", "Choose Qualities to add"); ++let added = await ItemDialog.create(ItemDialog.objectToArray(qualities), "unlimited", "Choisissez la Qualité à ajouter"); + let removed = [] +-if (!foundry.utils.isEmpty(flaws)) +-{ +-removed = await ItemDialog.create(ItemDialog.objectToArray(flaws), "unlimited", "Choose Flaws to remove"); ++if (!foundry.utils.isEmpty(flaws)) { ++removed = await ItemDialog.create(ItemDialog.objectToArray(flaws), "unlimited", "Choisissez le Défaut à enlever"); + } +-this.effect.updateSource({"flags.wfrp4e.propertiesChanged" : {added : added.map(i => i.id), removed : removed.map(i => i.id)}}) ++this.effect.updateSource({ "flags.wfrp4e.propertiesChanged": { added: added.map(i => i.id), removed: removed.map(i => i.id) } }) + +📝 Unterschiede in [aCVtaW8ag1WibcAr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/aCVtaW8ag1WibcAr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/aCVtaW8ag1WibcAr.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/aCVtaW8ag1WibcAr.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/aCVtaW8ag1WibcAr.js +@@ -1,2 +1,2 @@ + args.attacker.modifyWounds(1) +-this.script.scriptMessage(`${args.attacker.prototypeToken.name} recovers 1 Wound.`) ++this.script.scriptMessage(`${args.attacker.prototypeToken.name} récupère 1 Blessure.`) + +📝 Unterschiede in [abLWYtNTu1UVDQAs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/abLWYtNTu1UVDQAs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/abLWYtNTu1UVDQAs.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/abLWYtNTu1UVDQAs.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/abLWYtNTu1UVDQAs.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.hitloc.value == this.effect.flags.wfrp4e.location) // e.g. 'head', rLeg, 'lArm' + { +-this.scriptMessage(`Gains a @Condition[Blinded] condition as their ${this.item.name} was hit`); ++this.scriptMessage(`Reçoit l'état @Condition[Aveuglé] comme ${this.item.name} a été touché`); + this.actor.addCondition("blinded"); + } + +📝 Unterschiede in [b2Kb4IuD22RhKhR0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/b2Kb4IuD22RhKhR0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/b2Kb4IuD22RhKhR0.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/b2Kb4IuD22RhKhR0.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/b2Kb4IuD22RhKhR0.js +@@ -5,5 +5,5 @@ + } + else + { +-this.script.scriptNotification("No target!", "error") ++this.script.scriptNotification("Aucune cible!", "error") + } + +📝 Unterschiede in [bEVlJOOA1kLlzpWx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bEVlJOOA1kLlzpWx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bEVlJOOA1kLlzpWx.js:0) (21 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/bEVlJOOA1kLlzpWx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/bEVlJOOA1kLlzpWx.js +@@ -10,10 +10,10 @@ + "wp" : 30, + "fel" : 10 + } +-let skills = ["Channelling", "Cool", "Dodge", "Entertain (Storytelling)", "Intuition", "Language (Magick)", "Leadership", "Lore (Magic)", "Lore (Theology)", "Perception"] ++let skills = ["Focalisation", "Calme", "Esquive", "Divertissement (Narration)", "Intuition", "Langue (Magick)", "Commandement" , "Savoir (Magie)" , "Savoir (Théologie)", "Perception"] + let skillAdvancements = [20, 25, 20, 25, 30, 25, 15, 20, 10, 30] +-let talents = ["Aethyric Attunement", "Arcane Magic", "Instinctive Diction", "Instinctive Diction", "Luck", "Magical Sense", "Menacing", "Petty Magic", "Second Sight", "Sixth Sense"] +-let trappings = ["Hand Weapon", "Quarterstaff", "Ritual Dress incorporating many ingredients and fetishes"] ++let talents = ["Harmonisation Aethyrique", "Magie des Arcanes", "Diction Instinctive", "Diction Instinctive", "Chance", "Sens de la Magie", "Menaçant", "Magie Mineure", "Seconde Vue", "Sixième Sens"] ++let trappings = ["Arme simple", "(2M) Bâton de combat", "Ritual Dress incorporating many ingredients and fetishes"] + let items = []; + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,24 +53,15 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { + items.push({name : trapping, type : "trapping", "system.trappingType.value" : "clothingAccessories"}) +-//ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++//ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [bLkt8VpTTPoTxW0W.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bLkt8VpTTPoTxW0W.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bLkt8VpTTPoTxW0W.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/bLkt8VpTTPoTxW0W.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/bLkt8VpTTPoTxW0W.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.hitloc.value == "body" && args.totalWoundLoss > 0) + { + args.actor.addCondition("bleeding", 1); +-this.script.scriptNotification("Added Bleeding") ++this.script.scriptNotification("Ajout d'Hémorragie") + } + +📝 Unterschiede in [bMEFHPCei2evnZZw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bMEFHPCei2evnZZw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bMEFHPCei2evnZZw.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/bMEFHPCei2evnZZw.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/bMEFHPCei2evnZZw.js +@@ -7,6 +7,6 @@ + args.actor.addCondition("poisoned") + this.script.scriptMessage(` + ${this.effect.name}:
    +-${args.actor.name} has been given a @Condition[Poisoned] Condition, which can be resisted with a Difficult (-10) Endurance Test.`, ++${args.actor.name} reçoit un état @Condition[Empoisonné], qui peut être résisté avec un Test de Résistance Difficile (-10).`, + {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [bRiFHPC1StKxqNIC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bRiFHPC1StKxqNIC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bRiFHPC1StKxqNIC.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/bRiFHPC1StKxqNIC.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/bRiFHPC1StKxqNIC.js +@@ -1,5 +1,5 @@ + if (isNaN(parseInt(this.item.system.specification.value))) { +-let value = await ValueDialog.create("Sturdy Value", "Enter the Sturdy value"); ++let value = await ValueDialog.create({title : "Sturdy Value", text : "Enter the Sturdy value"}); + if (value) { + this.item.updateSource({"system.specification.value" : value}); + } + +📝 Unterschiede in [btPrQkGRKUkhNe3N.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/btPrQkGRKUkhNe3N.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/btPrQkGRKUkhNe3N.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/btPrQkGRKUkhNe3N.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/btPrQkGRKUkhNe3N.js +@@ -1 +1 @@ +-return args.skill?.name == "Trade (Apothecary)" ++return args.skill?.name == "Métier (Apothicaire)" + +📝 Unterschiede in [cJFDnq1HI4gXWcJo.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cJFDnq1HI4gXWcJo.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cJFDnq1HI4gXWcJo.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/cJFDnq1HI4gXWcJo.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/cJFDnq1HI4gXWcJo.js +@@ -1,6 +1,6 @@ + if (isNaN(parseInt(this.item.system.specification.value))) + { +-let value = await ValueDialog.create("Enter Ward value", this.effect.name); ++let value = await ValueDialog.create({text: "Enter Ward value", title : this.effect.name}); + if (value) + { + this.item.updateSource({"system.specification.value" : value}); + +📝 Unterschiede in [cK1Jysfu5IMUUH0C.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cK1Jysfu5IMUUH0C.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cK1Jysfu5IMUUH0C.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/cK1Jysfu5IMUUH0C.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/cK1Jysfu5IMUUH0C.js +@@ -4,7 +4,7 @@ + if (args.wardRoll >= args.ward && args.ward > 3) + { + let newWard = Math.max(3, args.ward - 1) +-this.script.scriptMessage("Ward improved to " + newWard) ++this.script.scriptMessage("Protection améliorée de " + newWard) + this.effect.setFlag("wfrp4e", "ward", newWard) + } + } + +📝 Unterschiede in [cTYNaKbepMwqYsZ8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cTYNaKbepMwqYsZ8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cTYNaKbepMwqYsZ8.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/cTYNaKbepMwqYsZ8.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/cTYNaKbepMwqYsZ8.js +@@ -5,9 +5,8 @@ + difficulty = "average" + else + difficulty = "veasy" +-let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {context : {failure : this.actor.name + " dies from Blight"}, fields: {difficulty}, appendTitle : " - Blight"}) ++let test = await this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), { context: { failure: this.actor.name + " meurt du Fl√©au" }, fields: { difficulty }, appendTitle: " - Blight" }) + await test.roll(); +-if (test.failed) +-{ ++if (test.failed) { + this.actor.addCondition("dead"); + } + +📝 Unterschiede in [cUnbADgOQ4fMKgrH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cUnbADgOQ4fMKgrH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cUnbADgOQ4fMKgrH.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/cUnbADgOQ4fMKgrH.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/cUnbADgOQ4fMKgrH.js +@@ -7,7 +7,7 @@ + } + else + { +-group = await ValueDialog.create("Enter Hatred Group", "Hatred Group") ++group = await ValueDialog.create({text : "Enter Hatred Group", title : "Hatred Group"}) + this.item.updateSource({name : this.item.name + ` (${group})`, "system.tests.value" : this.item.system.tests.value.replace("Group", group)}) + this.effect.updateSource({name : this.effect.name + ` (${group})`}) + } + +📝 Unterschiede in [chUpiI3el8IO8MSs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/chUpiI3el8IO8MSs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/chUpiI3el8IO8MSs.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/chUpiI3el8IO8MSs.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/chUpiI3el8IO8MSs.js +@@ -1,6 +1,6 @@ +-if (args.opposedTest.attackerTest.item?.name.includes("Bite")) ++if (args.opposedTest.attackerTest.item?.name.includes("Morsure")) + { + let woundsGained = args.totalWoundLoss; +-this.script.scriptMessage(`Gains ${woundsGained} Wounds`, { whisper: ChatMessage.getWhisperRecipients("GM") }) ++this.script.scriptMessage(`Récupère ${woundsGained} Blessures`, { whisper: ChatMessage.getWhisperRecipients("GM") }) + this.actor.modifyWounds(woundsGained) + } + +📝 Unterschiede in [dIxYt421K010eogY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dIxYt421K010eogY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dIxYt421K010eogY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dIxYt421K010eogY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dIxYt421K010eogY.js +@@ -1,5 +1,5 @@ + let modifier = 0 +-if (this.effect.name.includes("Moderate")) ++if (this.effect.name.includes("moderat")) + modifier = -20 + else + modifier = -10 + +📝 Unterschiede in [dM449AU0FQRnOc3l.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dM449AU0FQRnOc3l.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dM449AU0FQRnOc3l.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dM449AU0FQRnOc3l.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dM449AU0FQRnOc3l.js +@@ -1,4 +1,4 @@ + if (args.opposedTest.result.hitloc.value == "head") + { +-args.abort = "Missed - Headless" ++args.abort = "Raté - Sans tête" + } + +📝 Unterschiede in [dWr3tkFoIzsAgelu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dWr3tkFoIzsAgelu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dWr3tkFoIzsAgelu.js:0) (10 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dWr3tkFoIzsAgelu.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dWr3tkFoIzsAgelu.js +@@ -1,11 +1,13 @@ + let injury = this.effect.itemTargets[0] + if (injury && this.effect.sourceTest.result.outcome == "success") { +-let days = new Roll(injury.system.duration.value).roll( {async: false} ).total ++let roll1 = new Roll(injury.system.duration.value) ++await roll1.roll() ++let days = roll1.total + let num = 1 + Number(this.effect.sourceTest.result.SL); +-let roll = await new Roll(num+'d10').roll({async: false}) ++let roll = await new Roll(num + 'd10').roll() + await roll.toMessage(this.script.getChatData()) + let newDays = Math.max(days - roll.total, 1) +-this.actor.updateEmbeddedDocuments("Item", [{_id: injury.id, 'system.duration.value': newDays} ]) +-let message = "Injury reduces to "+newDays+" (-" + roll.total + ") instead of "+days ++this.actor.updateEmbeddedDocuments("Item", [{ _id: injury.id, 'system.duration.value': newDays }]) ++let message = "Blessures réduites à " + newDays + " (-" + roll.total + ") au lieu de " + days + this.script.scriptMessage(message) + } + +📝 Unterschiede in [dbOSvpgcPjsc2uvq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dbOSvpgcPjsc2uvq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dbOSvpgcPjsc2uvq.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dbOSvpgcPjsc2uvq.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dbOSvpgcPjsc2uvq.js +@@ -1,5 +1,5 @@ + let menacing = (await fromUuid("Compendium.wfrp4e-core.items.Item.0hn6UaKq8CoZP2zD")).toObject(); + let sense = (await fromUuid("Compendium.wfrp4e-core.items.Item.9h82z72XGo9tfgQS")).toObject(); +-sense.name += " (Sight)"; +-sense.system.tests.value = sense.system.tests.value.replace("Sense", "Sight") ++sense.name += " (Vue)"; ++sense.system.tests.value = sense.system.tests.value.replace("Sens", "Vue") + this.actor.createEmbeddedDocuments("Item", [menacing, sense], {fromEffect : this.effect.id}) + +📝 Unterschiede in [dcwY8dCd3PNCEzk6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dcwY8dCd3PNCEzk6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dcwY8dCd3PNCEzk6.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dcwY8dCd3PNCEzk6.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dcwY8dCd3PNCEzk6.js +@@ -1,3 +1,3 @@ + let current = this.actor.status.fate.value + this.actor.update({"system.status.fate.value" : current + 1}) +-this.script.scriptMessage(`${this.actor.prototypeToken.name} fate points increased from ${current} to ${current + 1}`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses Points de Destin augmentés de ${current} à ${current + 1}`) + +📝 Unterschiede in [dfEgat3jz4EtWszH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dfEgat3jz4EtWszH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dfEgat3jz4EtWszH.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dfEgat3jz4EtWszH.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dfEgat3jz4EtWszH.js +@@ -1 +1 @@ +-return args.skill?.name == "Stealth (Urban)" ++return args.skill?.name == "Discrétion (Urbaine)" + +📝 Unterschiede in [dfnCK8jCPXNLM7Gh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dfnCK8jCPXNLM7Gh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dfnCK8jCPXNLM7Gh.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dfnCK8jCPXNLM7Gh.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dfnCK8jCPXNLM7Gh.js +@@ -1,6 +1,6 @@ + let aoeDamage = this.effect.sourceTest.result.damage - 5 // Easily handle magic missile damage by just subtracting 5 from the item's (which has +10 base) + this.script.scriptMessage(await this.actor.applyBasicDamage(aoeDamage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP, suppressMsg : true})) +-let test = await this.actor.setupSkill(game.i18n.localize("NAME.Dodge"), {skipTargets: true, appendTitle : ` - Ablaze`}) ++let test = await this.actor.setupSkill(game.i18n.localize("NAME.Dodge"), {skipTargets: true, appendTitle : ` - En Flammes`}) + await test.roll(); + if (!test.succeeded) + { + +📝 Unterschiede in [dtFvpY96RPzNnphq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dtFvpY96RPzNnphq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dtFvpY96RPzNnphq.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dtFvpY96RPzNnphq.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dtFvpY96RPzNnphq.js +@@ -1 +1 @@ +-return !(args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) ++return !(args.skill?.name.includes("Corps à corps (Base)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic")) + +📝 Unterschiede in [dwSgcFxKN3S0hLJL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dwSgcFxKN3S0hLJL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dwSgcFxKN3S0hLJL.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/dwSgcFxKN3S0hLJL.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/dwSgcFxKN3S0hLJL.js +@@ -1 +1 @@ +-return args.skill?.name != "Melee (Brawling)" && args.item?.weaponGroup?.value != "brawling" ++return args.skill?.name != "Corps à corps (Bagarre)" && args.item?.weaponGroup?.value != "brawling" + +📝 Unterschiede in [e34s1XxHckAWfwHt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/e34s1XxHckAWfwHt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/e34s1XxHckAWfwHt.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/e34s1XxHckAWfwHt.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/e34s1XxHckAWfwHt.js +@@ -1,4 +1,4 @@ + if (args.test.options.beatBlade && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) + { +-args.test.result.other.push(`${this.effect.name}: Opponent loses ${Number(args.test.result.SL) + 1} Advantage`) ++args.test.result.other.push(`${this.effect.name}: L'opposant perd ${Number(args.test.result.SL) + 1} Avantage`) + } + +📝 Unterschiede in [e7IxnxePdXSy6L4E.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/e7IxnxePdXSy6L4E.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/e7IxnxePdXSy6L4E.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/e7IxnxePdXSy6L4E.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/e7IxnxePdXSy6L4E.js +@@ -1,4 +1,4 @@ + if (args.opposedTest.result.hitloc.value == "head") + { +-this.script.scriptMessage(`${this.actor.prototypeToken.name} receives a @Table[crithead]{Critical Wound} if one was not caused already.`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} subit une @Table[crithead]{Blessure Critique} si il n'y en avait pas d'autres.`) + } + +📝 Unterschiede in [ePPgxQOqL1Uhz2k9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ePPgxQOqL1Uhz2k9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ePPgxQOqL1Uhz2k9.js:0) (23 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ePPgxQOqL1Uhz2k9.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ePPgxQOqL1Uhz2k9.js +@@ -1,7 +1,7 @@ + let choice1 = [ + { + type : "skill", +-name : "Ranged (Bow)", ++name : "Projectiles (Arc)", + diff : { + system : { + advances : { +@@ -25,7 +25,7 @@ + title : "Option", + content : + `

    +-Add Option? ++Ajouter une option? +

    +
      +
    1. Ranged (Bow) +10 and a Bow with 12 Arrows
    2. +@@ -64,22 +64,17 @@ + let item = await game.wfrp4e.utility.find(c.name, c.type) + if (item) + { ++let equip = item.system.tags.has("equippable"); + item = item.toObject() +-equip(item); +-items.push(mergeObject(item, (c.diff || {}))) ++if (equip) ++{ ++item.system.equipped.value = true; ++} ++items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + } + else +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [ebDQH0MdGAG02CHl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ebDQH0MdGAG02CHl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ebDQH0MdGAG02CHl.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ebDQH0MdGAG02CHl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ebDQH0MdGAG02CHl.js +@@ -3,12 +3,12 @@ + data.system.location.key = this.item.system.location.key + if (this.item.system.location.key == "rArm") + { +-data.system.location.value = "Right Hand" ++data.system.location.value = "Main Droite" + data.system.location.key = "rHand" + } + else if (this.item.system.location.key == "lArm") + { +-data.system.location.value = "Left Hand" ++data.system.location.value = "Main Gauche" + data.system.location.key = "lHand" + } + this.actor.createEmbeddedDocuments("Item", [data]) + +📝 Unterschiede in [ed7Sud9HM3uB2j6b.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ed7Sud9HM3uB2j6b.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ed7Sud9HM3uB2j6b.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ed7Sud9HM3uB2j6b.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ed7Sud9HM3uB2j6b.js +@@ -1,7 +1,7 @@ +-ChatMessage.create({content : "Yield or die!", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) ++ChatMessage.create({content : "Céder ou Mourir!", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) + let item = await fromUuid("Compendium.wfrp4e-core.items.pTorrE0l3VybAbtn") + let data = item.toObject(); + data.system.specification.value = 2; +-this.script.scriptNotification("Adding " + data.name); ++this.script.scriptNotification("Ajout de " + data.name); + await this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}); + game.wfrp4e.utility.postFear(2, this.actor.prototypeToken.name) + +📝 Unterschiede in [egDtqMxe3iekc6hv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/egDtqMxe3iekc6hv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/egDtqMxe3iekc6hv.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/egDtqMxe3iekc6hv.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/egDtqMxe3iekc6hv.js +@@ -1,6 +1,6 @@ + let trait = args.opposedTest.attackerTest.item + let woundLossEffect = this.item.effects.get("7Amhi75wLv0PvGjd") +-if (trait && trait.name.includes("Bite") && woundLossEffect) ++if (trait && trait.name.includes("Morsure") && woundLossEffect) + { + args.actor.applyEffect({effectUuids : woundLossEffect.uuid}) + } + +📝 Unterschiede in [eh1J3s0s4A2AxoFp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/eh1J3s0s4A2AxoFp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/eh1J3s0s4A2AxoFp.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/eh1J3s0s4A2AxoFp.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/eh1J3s0s4A2AxoFp.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.Item.8pVzgPkgWpTJvfhG"); + let data = item.toObject(); +-data.name += " (Enemy)"; ++data.name += " (Ennemi)"; + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) + +📝 Unterschiede in [ekjJQHyMbZT2vqdc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ekjJQHyMbZT2vqdc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ekjJQHyMbZT2vqdc.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ekjJQHyMbZT2vqdc.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ekjJQHyMbZT2vqdc.js +@@ -1,9 +1,9 @@ + let uses = this.item.getFlag("wfrp4e", "uses") || 0; + uses++; +-this.script.scriptNotification(`Used ${uses} times`) ++this.script.scriptNotification(`Utilisé ${uses} fois`) + this.item.setFlag("wfrp4e", "uses", uses); + if (uses >= 3) + { + this.effect.update({"flags.wfrp4e.applicationData.type" : "other"}) +-this.script.scriptNotification(`Used up`); ++this.script.scriptNotification(`Utilisé`); + } + +📝 Unterschiede in [eqxE7nBO13yJS7hc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/eqxE7nBO13yJS7hc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/eqxE7nBO13yJS7hc.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/eqxE7nBO13yJS7hc.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/eqxE7nBO13yJS7hc.js +@@ -1,4 +1,4 @@ + let roll = (await new Roll("1d10").roll()) +-roll.toMessage({flavor: "Wounds Healed", speaker : {alias : this.actor.name}}) ++roll.toMessage({flavor: " Blessures soign√©es", speaker : {alias : this.actor.name}}) + this.actor.modifyWounds(roll.total) + this.actor.hasCondition("bleeding")?.delete(); + +📝 Unterschiede in [ezGqDoC9hNRBnFTB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ezGqDoC9hNRBnFTB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ezGqDoC9hNRBnFTB.js:0) (15 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ezGqDoC9hNRBnFTB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ezGqDoC9hNRBnFTB.js +@@ -1,14 +1,5 @@ +-let choices = await Promise.all([game.wfrp4e.utility.findItemId("1zaqojk0Oq1m8vYv"), game.wfrp4e.utility.findItemId("zIuarD5mB0EF0ji0")]) +-let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choose a Weapon") ++let choices = await Promise.all([warhammer.utility.findItemId("1zaqojk0Oq1m8vYv"), warhammer.utility.findItemId("zIuarD5mB0EF0ji0")]) ++let items = await game.wfrp4e.apps.ItemDialog.create(choices, 1, "Choisissez a Weapon") + items = items.map(i => i.toObject()) +-items.forEach(i => equip(i)) ++items.forEach(i => i.system.equipped.value = true); + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.data.worn.value = true +-else if (item.type == "weapon") +-item.data.equipped = true +-else if (item.type == "trapping" && item.data.trappingType.value == "clothingAccessories") +-item.data.worn = true +-} + +📝 Unterschiede in [f062aa2BNClx08D6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/f062aa2BNClx08D6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/f062aa2BNClx08D6.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/f062aa2BNClx08D6.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/f062aa2BNClx08D6.js +@@ -5,7 +5,7 @@ + let toughnessLost = parseInt(this.effect.sourceTest.result.SL) + let currentModifier = this.actor.characteristics.t.modifier + await this.actor.update({ "system.characteristics.t.modifier": currentModifier - toughnessLost }) +-this.script.scriptMessage(`${this.actor.prototypeToken.name} lost ${toughnessLost} Toughness`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} perd ${toughnessLost} points d'Endurance`) + if (this.actor.system.characteristics.t.value <= 0) + { + this.actor.addCondition("dead"); + +📝 Unterschiede in [f29Pv6TQtgILxt1h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/f29Pv6TQtgILxt1h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/f29Pv6TQtgILxt1h.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/f29Pv6TQtgILxt1h.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/f29Pv6TQtgILxt1h.js +@@ -4,8 +4,8 @@ + if (args.test.options.fieldDressing && args.test.result.reversed) + wounds = this.actor.characteristics.int.bonus + Math.min(1, Number(args.test.result.SL)) + args.test.result.woundsHealed = wounds +-args.test.result.other.push(`${this.actor.name} healed ${wounds} wounds of the patient.`) ++args.test.result.other.push(`${this.actor.name} soigne ${wounds} Blessures du patient.`) + } + else if (this.actor.characteristics.int.bonus + args.test.result.SL < 0) +-args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) ++args.test.result.other.push(`Le patient contracte un @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + } + +📝 Unterschiede in [f5Mp3kXwCFdPkW6N.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/f5Mp3kXwCFdPkW6N.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/f5Mp3kXwCFdPkW6N.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/f5Mp3kXwCFdPkW6N.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/f5Mp3kXwCFdPkW6N.js +@@ -1 +1 @@ +-return args.skill?.name != "Entertain (Sing)" && args.skill?.name != "Entertain (Singing)" && !args.skill?.name.includes("Language"); ++return args.skill?.name != "Divertissement (Chant)" && args.skill?.name != "Divertissement (Chanter)" && !args.skill?.name.includes("Langue"); + +📝 Unterschiede in [fEFfHFeJxkR0aIJK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fEFfHFeJxkR0aIJK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fEFfHFeJxkR0aIJK.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/fEFfHFeJxkR0aIJK.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/fEFfHFeJxkR0aIJK.js +@@ -1,4 +1,4 @@ + if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 3 && args.opposedTest.result.winner == "attacker") + { +-this.script.scriptMessage(`Everyone within 20 feet loses 1 Wound and makes a Difficult (-10) Endurance or gains @Condition[Deafened]`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Tous ceux dans un rayon de 7 mètres perde 1 Point de Blessure et doivent faire un Test de Résistance Difficile (-10) ou recevoir l'état gains @Condition[Assourdi]`, {blind : true, whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [fP2edYbj6QjPPAjL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fP2edYbj6QjPPAjL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fP2edYbj6QjPPAjL.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/fP2edYbj6QjPPAjL.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/fP2edYbj6QjPPAjL.js +@@ -1 +1 @@ +-return ["Charm Animal", "Endurance", "Outdoor Survival"].includes(args.skill?.name) ++return ["Emprise sur les animaux", "Résistance", "Survie en extérieur"].includes(args.skill?.name) + +📝 Unterschiede in [fYLSe6CrYciap5y8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fYLSe6CrYciap5y8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fYLSe6CrYciap5y8.js:0) (17 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/fYLSe6CrYciap5y8.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/fYLSe6CrYciap5y8.js +@@ -10,7 +10,7 @@ + "wp" : 0, + "fel" : 0 + } +-let skills = ["Consume Alcohol", "Row", "Sail", "Swim"] ++let skills = [game.i18n.localize("NAME.ConsumeAlcohol"), game.i18n.localize("NAME.Row"), game.i18n.localize("NAME.Sail"), game.i18n.localize("NAME.Swim")] + let skillAdvancements = [10, 10, 10, 10] + let talents = [] + let trappings = [] +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,22 +53,13 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [feMPZhhFeXRtKdKY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/feMPZhhFeXRtKdKY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/feMPZhhFeXRtKdKY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/feMPZhhFeXRtKdKY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/feMPZhhFeXRtKdKY.js +@@ -6,5 +6,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Aucun restant!", "error") + } + +📝 Unterschiede in [fiF9sM5UpcHMYa33.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fiF9sM5UpcHMYa33.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fiF9sM5UpcHMYa33.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/fiF9sM5UpcHMYa33.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/fiF9sM5UpcHMYa33.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.vMYEkrWj0ip6ZOdv"); + let data = item.toObject(); +-data.name += " (Poison, Disease, Chaos)" ++data.name += " (Poison, Maladie, Chaos)" + this.actor.createEmbeddedDocuments("Item", Array(this.effect.sourceTest.result.overcast.usage.other.current).fill(data), {fromEffect: this.effect.id}) + +📝 Unterschiede in [ft0LaRWZT5WtnptP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ft0LaRWZT5WtnptP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ft0LaRWZT5WtnptP.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ft0LaRWZT5WtnptP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ft0LaRWZT5WtnptP.js +@@ -2,11 +2,11 @@ + if (advantage > 0) + { + await this.actor.setAdvantage(0); +-this.script.scriptNotification("Advantage Subtracted") ++this.script.scriptNotification("Avantage soustrait") + } + else + { +-return this.script.scriptNotification("Not enough Advantage!", "error") ++return this.script.scriptNotification("Pas assez d'Avantages!", "error") + } + let test = await this.actor.setupTrait(this.item, {fields : {slBonus : advantage}}) + await test.roll(); + +📝 Unterschiede in [fzTB7t3x4bLmAXji.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fzTB7t3x4bLmAXji.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fzTB7t3x4bLmAXji.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/fzTB7t3x4bLmAXji.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/fzTB7t3x4bLmAXji.js +@@ -1,5 +1,5 @@ + let roll = await new Roll("1d10 + 1").roll() + await roll.toMessage(this.script.getChatData()); +-this.script.scriptNotification(`Healed ${roll.total} Wounds`) ++this.script.scriptNotification(`Soins de ${roll.total} Blessures`) + this.actor.corruptionDialog("moderate") + await this.actor.modifyWounds(roll.total) + +📝 Unterschiede in [g07HI7vyqiFXPB0o.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/g07HI7vyqiFXPB0o.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/g07HI7vyqiFXPB0o.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/g07HI7vyqiFXPB0o.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/g07HI7vyqiFXPB0o.js +@@ -5,8 +5,8 @@ + if (test.failed) + { + this.actor.addCondition("poisoned", 2) +-this.script.scriptMessage(`

      ${this.actor.prototypeToken.name} has gained 2 @Condition[Poisoned] Conditions.

      +-

      Any being with the Bestial Creature Trait that bites them and takes damage will not bite them again during a hostile encounter, though the creature may still attack them in other ways.

      `, ++this.script.scriptMessage(`

      ${this.actor.prototypeToken.name} reçoit 2 états @Condition[Empoisonné].

      ++

      Toute créature avec le Trait Bestial qui le mord et provoque des dégats ne le mordra pas à nouveau durant un combat, la créature pouvant toutefois attaquer avec d'autres méthodes si disponibles..

      `, + { + whisper: ChatMessage.getWhisperRecipients("GM"), + blind: true +@@ -16,12 +16,12 @@ + else if (test.succeeded) + { + // Don't attempt to add Corrosive Blood if actor already has it +-const hasCorrosiveBlood = this.actor.has("Corrosive Blood") ++const hasCorrosiveBlood = this.actor.has("Sang corrosif") + if (hasCorrosiveBlood !== undefined) return + let item = await fromUuid("Compendium.wfrp4e-core.items.M5QSWOYt2Rbv2yxW") + let data = item.toObject() + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) + const duration = 3 + parseInt(test.result.SL) +-this.script.scriptMessage(`

      ${this.actor.prototypeToken.name} gains the Corrosive Blood Trait for ${duration} rounds.

      `, ++this.script.scriptMessage(`

      ${this.actor.prototypeToken.name} gagne le Trait Sang Corrosif pour ${duration} rounds.

      `, + { whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) + } + +📝 Unterschiede in [g0SzfsLyW7aD2F19.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/g0SzfsLyW7aD2F19.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/g0SzfsLyW7aD2F19.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/g0SzfsLyW7aD2F19.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/g0SzfsLyW7aD2F19.js +@@ -3,17 +3,17 @@ + let tests = this.item.system.tests.value + let name = this.item.name + // If name already specifies, make sure tests value reflects that +-if (name.includes("(")) ++if (name.includes("(") && !name.toLowerCase().includes("(any)")) + { + let group = name.split("(")[1].split(")")[0] + tests = `${tests.split("(")[0].trim()} (${group})` + } +-else if (!name.includes("(")) ++else + { +-let value = await ValueDialog.create("Enter Etiquette Group", this.effect.name); ++let value = await ValueDialog.create({text : "Enter Etiquette Group", title : this.effect.name}); + if (value) + { +-name = this.item.name + ` (${value})`; ++name = `${name.split("(")[0].trim()} (${value})` + tests = this.item.system.tests.value.replace("Social Group", value); + } + } + +📝 Unterschiede in [g4t56A09yrpZaJQ2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/g4t56A09yrpZaJQ2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/g4t56A09yrpZaJQ2.js:0) (10 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/g4t56A09yrpZaJQ2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/g4t56A09yrpZaJQ2.js +@@ -5,12 +5,11 @@ + amberTalons.system.equipped = true; + amberTalons.system.qualities.value.push({name : "magical"}) + amberTalons.effects.push({ +-label : "Amber Talons", ++name : "Amber Talons", + transfer: false, +-icon : "modules/wfrp4e-core/icons/spells/amber-talons.png" , +-flags : { +-wfrp4e : { +-applicationData : { ++img : "modules/wfrp4e-core/icons/spells/amber-talons.png" , ++system: { ++transferData : { + documentType : "Item" + }, + scriptData : [{ +@@ -18,6 +17,5 @@ + script : "if (args.totalWoundLoss >= 1)\n{ \n args.actor.addCondition(\"bleeding\")\n}" + }] + } +-} + }) + this.actor.createEmbeddedDocuments("Item", [amberTalons], {fromEffect: this.effect.id}) + +📝 Unterschiede in [gKIPujyuFSn0No9v.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/gKIPujyuFSn0No9v.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/gKIPujyuFSn0No9v.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/gKIPujyuFSn0No9v.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/gKIPujyuFSn0No9v.js +@@ -2,4 +2,4 @@ + { + e.update({disabled: false}) + } +-this.script.scriptNotification("Reset Powers") ++this.script.scriptNotification("Ré-initialiser les pouvoirs") + +📝 Unterschiede in [gKPL3t4vlZAsvtGr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/gKPL3t4vlZAsvtGr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/gKPL3t4vlZAsvtGr.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/gKPL3t4vlZAsvtGr.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/gKPL3t4vlZAsvtGr.js +@@ -1 +1 @@ +-return args.skill?.name == "Stealth (Underground)" ++return args.skill?.name == "Discrétion (Souterrains)" + +📝 Unterschiede in [gMIenSmLklAkB2Zm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/gMIenSmLklAkB2Zm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/gMIenSmLklAkB2Zm.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/gMIenSmLklAkB2Zm.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/gMIenSmLklAkB2Zm.js +@@ -1,6 +1,6 @@ + if (isNaN(parseInt(this.item.system.specification.value))) + { +-let value = await ValueDialog.create("Enter Venom Strength", this.effect.name, "", Object.values(game.wfrp4e.config.difficultyNames)); ++let value = await ValueDialog.create({text : "Enter Venom Strength", title : this.effect.name}, "", Object.values(game.wfrp4e.config.difficultyNames)); + if (value) + { + this.item.updateSource({"system.specification.value" : value}); + +📝 Unterschiede in [goz8yTlMozlsz3uY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/goz8yTlMozlsz3uY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/goz8yTlMozlsz3uY.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/goz8yTlMozlsz3uY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/goz8yTlMozlsz3uY.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; + const test = 'Strength'; + const difficulty = 'easy'; + const target = 10; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [groEX1wJ9l00PkDF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/groEX1wJ9l00PkDF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/groEX1wJ9l00PkDF.js:0) (16 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/groEX1wJ9l00PkDF.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/groEX1wJ9l00PkDF.js +@@ -6,10 +6,10 @@ + const target = canvas.scene.tokens.get(targetId); + if (turns > 0) { + this.effect.setFlag("wfrp4e", "turns", turns); +-return this.script.scriptMessage(`

      ${speaker.alias} continues wrapping itself around ${target.name}. It will be able to start crushin in ${turns} turns.

      `); ++return this.script.message(`

      ${speaker.alias} continue de s'enrouler autour ${target.name}. Il pourra commencer à écraser dans ${turns} tours.

      `); + } + if (this.actor.items.find(i => i.type === "extendedTest" && i.name === this.effect.name)) { +-this.script.scriptMessage(`

      ${speaker.alias} can resume crushing ${target.name} with the Extended Test.

      `); ++this.script.message(`

      ${speaker.alias} peut reprenre son écrasement ${target.name} avec le Test Etendu.

      `); + return; + } + const extendedTestData = { +@@ -34,13 +34,12 @@ + }; + const extendedTests = await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + const extendedTest = extendedTests[0]; +-this.script.scriptMessage(`

      ${speaker.alias} finished wrapping itself around ${target.name}. It can now begin crushing via the @UUID[${extendedTest.uuid}] Extended Test.

      `); ++this.script.message(`

      ${speaker.alias} a fini de s'enrouler autour de ${target.name}. Il peut maintenant écraser via le Test Etendu @UUID[${extendedTest.uuid}].

      `); + let effect = { + name: extendedTest.name, +-icon: extendedTest.img, +-flags: { +-wfrp4e: { +-applicationData: { ++img: extendedTest.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -53,7 +52,7 @@ + const speaker = ChatMessage.getSpeaker({actor: this.actor}); + const targetId = effect.getFlag("wfrp4e", "target"); + const target = canvas.scene.tokens.get(targetId); +-this.script.scriptMessage(\`

      ${speaker.alias} crushed the ${target.name}. Boat shatters, reduced to a mass of flotsam.

      \`); ++this.script.message(\`

      ${speaker.alias} écrase ${target.name}. Le bateau et broyé, réduit à une masse de déchets flottants.

      \`); + await effect.delete(); + `, + trigger: "deleteEffect" +@@ -61,5 +60,4 @@ + ] + } + } +-} + await extendedTests[0].createEmbeddedDocuments("ActiveEffect", [effect]); + +📝 Unterschiede in [h766UvswLCsxcMow.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/h766UvswLCsxcMow.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/h766UvswLCsxcMow.js:0) (21 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/h766UvswLCsxcMow.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/h766UvswLCsxcMow.js +@@ -12,7 +12,7 @@ + } + let skills = ["Charm", "Intimidate", "Melee (Basic)"] + let skillAdvancements = [7, 60, 7] +-let talents = ["Menacing", "Shadow"] ++let talents = ["Mena√ßant", "Ombres"] + let traits = ["Distracting"] + let trappings = [] + let items = []; +@@ -46,7 +46,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + const traitRegex = /(?:,?(.+?)(\+?\d{1,2}\+?)?\s*?(?:\((.+?)\)\s*(\+?\d{1,2})?|,|$))/gm +@@ -62,7 +62,7 @@ + } + catch { } + if (!traitItem) { +-ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + } + traitItem = traitItem.toObject() + if (Number.isNumeric(traitVal)) +@@ -80,12 +80,12 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + for (let spell of spells) +@@ -98,18 +98,9 @@ + } + else + { +-ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.worn = true +-else if (item.type == "weapon") +-item.equipped = true +-else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") +-item.worn = true +-} + +📝 Unterschiede in [hA8PzeiCsHqqlUZm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hA8PzeiCsHqqlUZm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hA8PzeiCsHqqlUZm.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hA8PzeiCsHqqlUZm.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hA8PzeiCsHqqlUZm.js +@@ -1,2 +1,2 @@ + this.actor.createEmbeddedDocuments("ActiveEffect", [game.wfrp4e.config.symptomEffects["nausea"]]) +-this.script.scriptMessage(`Gains @Condition[Nausea] for [[1d10]] hours`, {whisper: ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Gaine de @Condition[Naus√©e] pour [[1d10]] heures`, {whisper: ChatMessage.getWhisperRecipients("GM")}) + +📝 Unterschiede in [hCzxUyO6mjLNIpaM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hCzxUyO6mjLNIpaM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hCzxUyO6mjLNIpaM.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hCzxUyO6mjLNIpaM.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hCzxUyO6mjLNIpaM.js +@@ -1,4 +1,4 @@ + let woundsGained = Math.min(args.totalWoundLoss, args.actor.status.wounds.value) + woundsGained = Math.floor(woundsGained / 2) + args.attacker.update({ "system.status.wounds.value": args.attacker.status.wounds.value + woundsGained }) +-this.script.scriptMessage(`Gains ${woundsGained} Wounds`) ++this.script.scriptMessage(`Récupération de ${woundsGained} Blessures`) + +📝 Unterschiede in [hDC6lroDEPVBituR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hDC6lroDEPVBituR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hDC6lroDEPVBituR.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hDC6lroDEPVBituR.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hDC6lroDEPVBituR.js +@@ -3,9 +3,9 @@ + if (test.failed) + { + this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) +-this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage("Gagne un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + if (test.result.roll % 11 == 0 || test.result.roll == 100) + { +-this.script.scriptMessage(`Fumble: immediately gain 1 @Table[mutatemental]{Mental Mutation}, and may not take a Short-term Ambition for the next [[1d10]] weeks.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Echec total: gain immédiat de 1 @Table[mutatemental]{Mutation Mentale}, et ne peut plus prendre d'Ambition à court-terme pour les [[1d10]] prochaines weeks.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + } + +📝 Unterschiede in [hR1qD2kpFHF8JT8h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hR1qD2kpFHF8JT8h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hR1qD2kpFHF8JT8h.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hR1qD2kpFHF8JT8h.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hR1qD2kpFHF8JT8h.js +@@ -1 +1 @@ +-return args.skill?.name == "Language (Magick)" ++return args.skill?.name == "Langue (Magick)" + +📝 Unterschiede in [hSImyYjL0CENTvXf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hSImyYjL0CENTvXf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hSImyYjL0CENTvXf.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hSImyYjL0CENTvXf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hSImyYjL0CENTvXf.js +@@ -1,4 +1,4 @@ +-let test = await this.actor.setupSkill("Endurance", {fields : {difficulty : "difficult", appendTitle : ` - ${this.effect.name}`}}); ++let test = await this.actor.setupSkill("Résistance", {fields : {difficulty : "difficult", appendTitle : ` - ${this.effect.name}`}}); + await test.roll(); + if (test.failed) + { +@@ -14,7 +14,7 @@ + let damage = Math.floor(AP / 2); + await item.system.damageItem(damage, [key]); + } +-msg += `

      ${item.name} AP reduced by half

      ` ++msg += `

      ${item.name} PA divisé par 2

      ` + } + if (msg) + { + +📝 Unterschiede in [hYNWp75ggWSTht55.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hYNWp75ggWSTht55.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hYNWp75ggWSTht55.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hYNWp75ggWSTht55.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hYNWp75ggWSTht55.js +@@ -1,6 +1,6 @@ + if (args.test.result.hitloc.value != "head" && args.test.result.critical) + { + game.wfrp4e.utility.sleep(200).then(() => { +-this.script.scriptMessage("Can roll on the @Table[crithead]{Head Critical Hits} instead of the normal hit location") ++this.script.scriptMessage("Peut effectuer un jet sur the @Table[crithead]{Coups Critiques à la Tête} au lieu de la localisation normale") + }) + } + +📝 Unterschiede in [hhv7PrRdlf9sfC82.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hhv7PrRdlf9sfC82.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hhv7PrRdlf9sfC82.js:0) (17 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hhv7PrRdlf9sfC82.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hhv7PrRdlf9sfC82.js +@@ -10,7 +10,7 @@ + "wp" : 0, + "fel" : 0 + } +-let skills = ["Cool", "Dodge"] ++let skills = ["Calme", "Esquive"] + let skillAdvancements = [10, 10] + let talents = ["Combat Reflexes"] + let trappings = ["Leather Jack", "Leather Skullcap", "Leather Leggings", "Shield"] +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,22 +53,13 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [hmk8zV1LTElHUI8A.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hmk8zV1LTElHUI8A.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hmk8zV1LTElHUI8A.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hmk8zV1LTElHUI8A.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hmk8zV1LTElHUI8A.js +@@ -1,7 +1,7 @@ +-let msg = `${this.actor.prototypeToken.name} loses 1 Wound.
      ` ++let msg = `${this.actor.prototypeToken.name} perd 1 Blessure.
      ` + if (this.actor.status.wounds.value <= 1) + { +-msg += `${this.actor.prototypeToken.name} goes unconscious.
      ` ++msg += `${this.actor.prototypeToken.name} tombe Inconscient.
      ` + await this.actor.addCondition("unconscious") + } + this.script.scriptMessage(msg) + +📝 Unterschiede in [hnsmzvcuiUYB065I.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hnsmzvcuiUYB065I.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hnsmzvcuiUYB065I.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hnsmzvcuiUYB065I.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hnsmzvcuiUYB065I.js +@@ -1 +1 @@ +-this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {appendTitle: ` - ${this.effect.name}`, context: { failure : "May not flee Combat"}}).then(test => test.roll()) ++this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {appendTitle: ` - ${this.effect.name}`, context: { failure : "Ne peut fuir les combats"}}).then(test => test.roll()) + +📝 Unterschiede in [hpwJRAhCsXTp9bd9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hpwJRAhCsXTp9bd9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hpwJRAhCsXTp9bd9.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/hpwJRAhCsXTp9bd9.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/hpwJRAhCsXTp9bd9.js +@@ -88,22 +88,17 @@ + let item = await game.wfrp4e.utility.find(c.name, c.type) + if (item) + { ++let equip = item.system.tags.has("equippable"); + item = item.toObject() +-equip(item); +-items.push(mergeObject(item, (c.diff || {}))) ++if (equip) ++{ ++item.system.equipped.value = true; ++} ++items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + } + else +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [i5AN97A7IOeygEFA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/i5AN97A7IOeygEFA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/i5AN97A7IOeygEFA.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/i5AN97A7IOeygEFA.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/i5AN97A7IOeygEFA.js +@@ -1,7 +1,7 @@ + if (args.applyAP && args.modifiers.ap.metal) + { + args.modifiers.ap.ignored += args.modifiers.ap.metal +-args.modifiers.other.push({value : args.modifiers.ap.metal, label : this.effect.name, details : "Add Metal AP to Damage" }) +-args.modifiers.ap.details.push("" + this.effect.name + ": Ignore Metal (" + args.modifiers.ap.metal + ")"); ++args.modifiers.other.push({value : args.modifiers.ap.metal, label : this.effect.name, details : "Ajout les PA Métalliques aux Dommages" }) ++args.modifiers.ap.details.push("" + this.effect.name + ": Ignore le métal (" + args.modifiers.ap.metal + ")"); + args.modifiers.ap.metal = 0 + } + +📝 Unterschiede in [iM6JLF8jDXMViReZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iM6JLF8jDXMViReZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iM6JLF8jDXMViReZ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/iM6JLF8jDXMViReZ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/iM6JLF8jDXMViReZ.js +@@ -1 +1 @@ +-return !["Pick Lock", "Sleight of Hand", "Channelling (Ulgu)"].includes(args.skill?.name) ++return !["Crochetage", "Escamotage", "Focalisation (Ulgu)"].includes(args.skill?.name) + +📝 Unterschiede in [iMu8BZ7eHMAbPEO1.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iMu8BZ7eHMAbPEO1.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iMu8BZ7eHMAbPEO1.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/iMu8BZ7eHMAbPEO1.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/iMu8BZ7eHMAbPEO1.js +@@ -1,3 +1,3 @@ + let healed = args.totalWoundLoss +-this.script.scriptMessage(`this.actor.prototypeToken.name healed ${healed} Wounds`); ++this.script.scriptMessage(`this.actor.prototypeToken.name Gu√©rison de ${healed} Blessures`); + this.actor.modifyWounds(healed) + +📝 Unterschiede in [iNAQJa5HyaEckknX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iNAQJa5HyaEckknX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iNAQJa5HyaEckknX.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/iNAQJa5HyaEckknX.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/iNAQJa5HyaEckknX.js +@@ -7,7 +7,7 @@ + if (spells.length) + { + let chosen = spells[Math.floor(CONFIG.Dice.randomUniform() * spells.length)] +-this.script.scriptMessage(`Loses access to ${chosen.name}`) ++this.script.scriptMessage(`Ne se rappelle plus du sort ${chosen.name}`) + chosen.update({name : chosen.name += " (LOST)"}) + } + } + +📝 Unterschiede in [iO2hCDwyQ7v4qrOI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iO2hCDwyQ7v4qrOI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iO2hCDwyQ7v4qrOI.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/iO2hCDwyQ7v4qrOI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/iO2hCDwyQ7v4qrOI.js +@@ -3,8 +3,8 @@ + let staunch = ~~args.test.result.SL + 1 + if (args.test.options.fieldDressing && args.test.result.reversed) + staunch = Math.min(1, Number(args.test.result.SL)) + 1 +-args.test.result.other.push(`${this.actor.name} removed ${staunch} Bleeding conditions from the patient.`) ++args.test.result.other.push(`${this.actor.name} supprime ${staunch} Etats Hémorragiques du patient.`) + } + else if (this.actor.characteristics.int.bonus + args.test.result.SL < 0) +-args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) ++args.test.result.other.push(`Le patient contracte une @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + } + +📝 Unterschiede in [iT3C15fMyQrj1RmG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iT3C15fMyQrj1RmG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iT3C15fMyQrj1RmG.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/iT3C15fMyQrj1RmG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/iT3C15fMyQrj1RmG.js +@@ -1,4 +1,4 @@ +-if (this.actor.has("Undead") && this.actor.has("Ethereal")) ++if (this.actor.has("Mort-vivant") && this.actor.has("Ethereal")) + { + this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {skipTargets: true, appendTitle : " - " + this.effect.name}).then(async test => { + await test.roll(); + +📝 Unterschiede in [id9ZdkERMZnZTWXt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/id9ZdkERMZnZTWXt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/id9ZdkERMZnZTWXt.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/id9ZdkERMZnZTWXt.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/id9ZdkERMZnZTWXt.js +@@ -1,6 +1,6 @@ + if (args.extendedTest?.getFlag("wfrp4e", "fear")) + { +-this.script.scriptNotification("Immune to Fear"); ++this.script.scriptNotification("Immunisé à la Peur"); + args.extendedTest.delete(); + args.abort = true; + } + +📝 Unterschiede in [imKVsCy8rya2gkwO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/imKVsCy8rya2gkwO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/imKVsCy8rya2gkwO.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/imKVsCy8rya2gkwO.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/imKVsCy8rya2gkwO.js +@@ -5,12 +5,12 @@ + await this.actor.removeSystemEffect("consumealcohol3") + await this.actor.removeSystemEffect("stinkingdrunk1") + // The drinker is thereafter Fatigued +-// for a number of hours equal to 10 minus their Toughness Bonus — ++// for a number of hours equal to 10 minus their Toughness Bonus — + // nothing but time and rest can eliminate this penalty. + await this.actor.addCondition("fatigued") + const duration = 10 - parseInt(this.actor.system.characteristics.t.bonus) + this.effect.updateSource({"duration.rounds" : duration}); +-this.script.scriptMessage(`

      ${this.actor.prototypeToken.name} has lost all alcohol related penalties and gains the Fatigued Condition for ${duration} hours.

      `, ++this.script.scriptMessage(`

      ${this.actor.prototypeToken.name} ne souffre des pénalités dues à l'alcool et reçoit 1 état Fatigué pour ${duration} heures.

      `, + { + whisper: ChatMessage.getWhisperRecipients("GM"), + blind: true + +📝 Unterschiede in [inPxRSx0CDj1nwAm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/inPxRSx0CDj1nwAm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/inPxRSx0CDj1nwAm.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/inPxRSx0CDj1nwAm.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/inPxRSx0CDj1nwAm.js +@@ -1,4 +1,4 @@ +-if (args.test.result.fumble && !this.actor.itemTypes.talent.find(i => i.name == "Arcane Magic (Fire)")) ++if (args.test.result.fumble && !this.actor.itemTypes.talent.find(i => i.name == "Magie des Arcanes (Feu)")) + { + this.actor.addCondition("ablaze"); + } + +📝 Unterschiede in [iuSoKntfJ4eAPafQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iuSoKntfJ4eAPafQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iuSoKntfJ4eAPafQ.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/iuSoKntfJ4eAPafQ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/iuSoKntfJ4eAPafQ.js +@@ -1,6 +1,6 @@ +-let spells = await warhammer.utility.findAllItems("spell", "Loading Spells"); +-spells = spells.filter(s => ["fire", "heavens", "beasts", "shadow", "light", "life", "death", "metal"].includes(s.system.lore.value)).sort((a, b) => a.system.lore.value > b.system.lore.value ? 1 : -1) +-let choice = await ItemDialog.create(spells, 1, "Choose Spell"); ++let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts"); ++spells = spells.filter(s => ["feu", "cieux", "bêtes", "ombres", "lumière", "vie", "mort", "métal"].includes(s.system.lore.value)).sort((a, b) => a.system.lore.value > b.system.lore.value ? 1 : -1) ++let choice = await ItemDialog.create(spells, 1, "Choisir un sort"); + if (choice[0]) + { + this.actor.createEmbeddedDocuments("Item", choice, {fromEffect: this.effect.id}) + +📝 Unterschiede in [j98hvy6r9G2Vjmid.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/j98hvy6r9G2Vjmid.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/j98hvy6r9G2Vjmid.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/j98hvy6r9G2Vjmid.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/j98hvy6r9G2Vjmid.js +@@ -1,12 +1,12 @@ + if (args.totalWoundLoss > 0) + { + args.opposedTest.result.other.push( +-`@Corruption[minor]{Minor Exposure to Corruption}` ++`@Corruption[minor]{Exposition Mineure à la Corruption}` + ) + this.script.scriptMessage( + `${this.effect.name}: +-@Corruption[minor]{Minor Exposure to Corruption}
      +-${args.actor.prototypeToken.name} must take an +-Average (+20%) Corruption (Minor) Test`, ++@Corruption[minor]{Exposition Mineure à la Corruption}
      ++${args.actor.prototypeToken.name} doit réaliser un Test ++Accessible (+20%) de Corruption (Mineur)`, + {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [jFwema0iwzBphxie.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jFwema0iwzBphxie.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jFwema0iwzBphxie.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jFwema0iwzBphxie.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jFwema0iwzBphxie.js +@@ -3,4 +3,4 @@ + args.attacker.update({"system.status.wounds.value" : args.attacker.system.status.wounds.value + woundsGained}) + args.actor.addCondition("fatigued") + args.attacker.hasCondition("fatigued")?.delete(); +-this.script.scriptMessage(`${args.attacker.prototypeToken.name} gains ${woundsGained} Wounds`); ++this.script.scriptMessage(`${args.attacker.prototypeToken.name} gu√©ri de ${woundsGained} Blessures`); + +📝 Unterschiede in [jGDk7avWFSnyFoql.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jGDk7avWFSnyFoql.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jGDk7avWFSnyFoql.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jGDk7avWFSnyFoql.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jGDk7avWFSnyFoql.js +@@ -4,5 +4,5 @@ + { + await broken.delete(); + this.actor.createEmbeddedDocuments("Item", [item], {fromEffect: this.effect.id}) +-this.script.scriptNotification(`Removed ${broken.name}, added ${item.name} (${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds)`) ++this.script.scriptNotification(`Suppression de ${broken.name}, ajout de ${item.name} (${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds)`) + } + +📝 Unterschiede in [jHgxpe6TJDlP3oTn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jHgxpe6TJDlP3oTn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jHgxpe6TJDlP3oTn.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jHgxpe6TJDlP3oTn.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jHgxpe6TJDlP3oTn.js +@@ -1,6 +1,6 @@ +-let spells = await warhammer.utility.findAllItems("spell", "Loading Spells"); ++let spells = await warhammer.utility.findAllItems("spell", "Chargement des sorts"); + spells = spells.filter(s => ["slaanesh"].includes(s.system.lore.value)) +-let choice = await ItemDialog.create(spells, 1, "Choose Spell"); ++let choice = await ItemDialog.create(spells, 1, "Choisir un sort"); + if (choice[0]) + { + this.item.updateSource({name : this.item.name + ` (${choice[0].name})`}) + +📝 Unterschiede in [jObJanFoev4N6ZRv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jObJanFoev4N6ZRv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jObJanFoev4N6ZRv.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jObJanFoev4N6ZRv.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jObJanFoev4N6ZRv.js +@@ -1,2 +1,2 @@ + if (!args.opposedTest.attackerTest.item?.system?.isMagical) +-args.abort = `${this.effect.name}: Ignored` ++args.abort = `${this.effect.name}: Ignor√©` + +📝 Unterschiede in [jW87rmQLtROdVEhW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jW87rmQLtROdVEhW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jW87rmQLtROdVEhW.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jW87rmQLtROdVEhW.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jW87rmQLtROdVEhW.js +@@ -1,5 +1,5 @@ + if (["orc", "ork", "goblin", "hobgoblin", "snotling", "greenskin"].includes(args.opposedTest.defender.details.species.value.toLowerCase())) + { + args.addImpact = true +-args.opposedTest.result.other.push("Rune of Goblin Bane: Impact Added") ++args.opposedTest.result.other.push("Rune de Banissement de Gobelin: Ajout d'Impact") + } + +📝 Unterschiede in [jXbrIGxznqf1SNxZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jXbrIGxznqf1SNxZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jXbrIGxznqf1SNxZ.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jXbrIGxznqf1SNxZ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jXbrIGxznqf1SNxZ.js +@@ -1,2 +1,2 @@ + const speaker = ChatMessage.getSpeaker({actor: this.actor}); +-this.script.scriptMessage(`

      ${speaker.alias} is Immersed within a Sea Elemental and suffers from @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.WCivInLZrqEtZzF4#drowning-and-suffocation]{Suffocation}

      They may attempt to escape by freeing themselves from the @Condition[Entangled} Condition as if they were @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.wmA76Q2zJJ9HrkvA#grappling]{Grappled} by the Sea Elemental, making an Opposed Strength Test against its Strength of 59.

      `); ++this.script.scriptMessage(`

      ${speaker.alias} est immergé dans la Elémentair de Mer et subit la @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.WCivInLZrqEtZzF4#drowning-and-suffocation]{Suffocation}

      Il peut essayer de s'échapperen s"évadant de l'Etat @Condition[Entravé} comme si il était @UUID[Compendium.wfrp4e-core.journals.JournalEntry.NS3YGlJQxwTggjRX.JournalEntryPage.wmA76Q2zJJ9HrkvA#grappling]{Grappled} par l'Elémentaire de Mer, en réalisant un Test Opposé de Force contre une Force de 59.

      `); + +📝 Unterschiede in [jdS2u1tQPYeO55WI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jdS2u1tQPYeO55WI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jdS2u1tQPYeO55WI.js:0) (7 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jdS2u1tQPYeO55WI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jdS2u1tQPYeO55WI.js +@@ -37,7 +37,7 @@ + } + if (msg) + { +-this.script.scriptMessage(msg, {speaker : {alias : args.actor.name}}); ++this.script.message(msg, {speaker : {alias : args.actor.name}}); + } + } + } +@@ -53,3 +53,8 @@ + { + await args.actor.addCondition("poisoned"); + } ++if (type == "warpfire") ++{ ++await this.actor.corruptionDialog("moderate") ++this.actor.applyEffect({effectUuids : this.item.effects.getName("Warpfire").uuid}) ++} + +📝 Unterschiede in [jsgLEVYvMieyYT6L.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jsgLEVYvMieyYT6L.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jsgLEVYvMieyYT6L.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/jsgLEVYvMieyYT6L.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/jsgLEVYvMieyYT6L.js +@@ -14,5 +14,5 @@ + } + else + { +-this.script.scriptNotification("No Token Image path configured. The image path should be set in the first line of this script.", "error"); ++this.script.scriptNotification("Aucune image de Token configurée. Le chemin du token doit être configuré dans la première ligne de ce script.", "error"); + } + +📝 Unterschiede in [k0AkkBLtE8oZhBwn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/k0AkkBLtE8oZhBwn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/k0AkkBLtE8oZhBwn.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/k0AkkBLtE8oZhBwn.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/k0AkkBLtE8oZhBwn.js +@@ -1,5 +1,5 @@ + if (isNaN(parseInt(this.item.system.specification.value))) { +-let value = await ValueDialog.create("Armoured Value", "Enter the Armoured value"); ++let value = await ValueDialog.create({title : "Armoured Value", text : "Enter the Armoured value"}); + if (value) { + this.item.updateSource({"system.specification.value" : value}); + } + +📝 Unterschiede in [kYiDBPRKIokFkr4Z.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/kYiDBPRKIokFkr4Z.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/kYiDBPRKIokFkr4Z.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/kYiDBPRKIokFkr4Z.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/kYiDBPRKIokFkr4Z.js +@@ -1,4 +1,4 @@ +-if (args.item.type == "skill" && args.item.name == "Ranged (Bow)") ++if (args.item.type == "skill" && args.item.name == "Projectiles (Arc)") + { + args.item.system.modifier.value += 20; + } + +📝 Unterschiede in [kiJ6AiaYVUjt6aV6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/kiJ6AiaYVUjt6aV6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/kiJ6AiaYVUjt6aV6.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/kiJ6AiaYVUjt6aV6.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/kiJ6AiaYVUjt6aV6.js +@@ -1,6 +1,6 @@ + teeth = await fromUuid("Compendium.wfrp4e-core.items.fBcZhOBn8IpoVqQ1") + teeth = teeth.toObject(); + let roll = await new Roll("1d10").roll(); +-roll.toMessage(this.script.getChatData({flavor : "Teeth Lost"})) ++roll.toMessage(this.script.getChatData({flavor : "Dents perdues"})) + teeth.system.location.value = `${roll.total} ${teeth.system.location.value}` + this.actor.createEmbeddedDocuments("Item", [teeth]) + +📝 Unterschiede in [kvaN100w0nBUlLbj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/kvaN100w0nBUlLbj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/kvaN100w0nBUlLbj.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/kvaN100w0nBUlLbj.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/kvaN100w0nBUlLbj.js +@@ -1,6 +1,6 @@ + let poisoned = this.actor.hasCondition("poisoned") + if (poisoned) + { +-this.script.scriptMessage("Immune to Poisoned") ++this.script.scriptMessage("Immunis√© aux Poisons") + poisoned.delete() + } + +📝 Unterschiede in [lII4KMRblqwFBlsV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lII4KMRblqwFBlsV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lII4KMRblqwFBlsV.js:0) (21 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/lII4KMRblqwFBlsV.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/lII4KMRblqwFBlsV.js +@@ -10,7 +10,7 @@ + "wp" : 10, + "fel" : 15 + } +-let skills = ["Channelling", "Charm", "Perform (Dancing)"] ++let skills = ["Focalisation", "Charm", "Perform (Dancing)"] + let skillAdvancements = [0, 6, 3] + let talents = ["Attractive", "Distract", "Mimic"] + let traits = ["Distracting", "Flight (6)", "Spellcaster (Petty)"] +@@ -46,7 +46,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + const traitRegex = /(?:,?(.+?)(\+?\d{1,2}\+?)?\s*?(?:\((.+?)\)\s*(\+?\d{1,2})?|,|$))/gm +@@ -62,7 +62,7 @@ + } + catch { } + if (!traitItem) { +-ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + } + traitItem = traitItem.toObject() + if (Number.isNumeric(traitVal)) +@@ -80,12 +80,12 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + for (let spell of spells) +@@ -98,18 +98,9 @@ + } + else + { +-ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.worn = true +-else if (item.type == "weapon") +-item.equipped = true +-else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") +-item.worn = true +-} + +📝 Unterschiede in [lOIHiAIDtj91kllN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lOIHiAIDtj91kllN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lOIHiAIDtj91kllN.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/lOIHiAIDtj91kllN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/lOIHiAIDtj91kllN.js +@@ -1,5 +1,5 @@ + const chanties = await WFRP_Utility.findAll('wfrp4e-soc.chanty'); +-let choice = await ItemDialog.create(chanties, 1, "Choose Chanty"); ++let choice = await ItemDialog.create(chanties, 1, "Choisissez Chanty"); + if (choice.length) { + console.log(choice); + this.actor.createEmbeddedDocuments("Item", choice, {fromEffect: this.effect.id}); + +📝 Unterschiede in [lOzkngzye4RmvALp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lOzkngzye4RmvALp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lOzkngzye4RmvALp.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/lOzkngzye4RmvALp.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/lOzkngzye4RmvALp.js +@@ -1,3 +1,3 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.DrNUTPeodEgpWTnT") + this.actor.createEmbeddedDocuments("Item", [item], {fromEffect : this.effect.id}); +-this.script.scriptNotification("Added " + item.name) ++this.script.scriptNotification("Ajout de " + item.name) + +📝 Unterschiede in [lU4s3UTtBkU38djI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lU4s3UTtBkU38djI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lU4s3UTtBkU38djI.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/lU4s3UTtBkU38djI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/lU4s3UTtBkU38djI.js +@@ -1,4 +1,4 @@ + this.actor.addCondition("entangled") +-let msg = `${this.actor.prototypeToken.name} loses 1 Wound and gains 1 Entangled Condition.` ++let msg = `${this.actor.prototypeToken.name} perd 1 Blessure et reçoit l'état Empêtré.` + this.script.scriptMessage(msg) + this.actor.modifyWounds(-1) + +📝 Unterschiede in [lZuavewrJzOehrJQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lZuavewrJzOehrJQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lZuavewrJzOehrJQ.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/lZuavewrJzOehrJQ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/lZuavewrJzOehrJQ.js +@@ -1,5 +1,5 @@ +-let test = await this.actor.setupSkill('Endurance', { +-appendTitle: ` – ${this.effect.name}`, ++let test = await this.actor.setupSkill('Résistance', { ++appendTitle: ` – ${this.effect.name}`, + skipTargets: true, + fields: {difficulty: 'easy'}, + characteristic: 't', + +📝 Unterschiede in [laptAldsT0Fm1rDt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/laptAldsT0Fm1rDt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/laptAldsT0Fm1rDt.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/laptAldsT0Fm1rDt.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/laptAldsT0Fm1rDt.js +@@ -1,5 +1,5 @@ +-let blunt = await Dialog.confirm({label : "test", content :`

      Apply blunt damage reduction? (-3)

      `}) ++let blunt = await Dialog.confirm({label : "test", content :`

      Appliquer la réduction des Dégats contondants? (-3)

      `}) + if (blunt) + { +-args.modifiers.other.push({label : this.effect.name, details : "Blunt Damage Reduction", value : -3}) ++args.modifiers.other.push({label : this.effect.name, details : "Réduction des dégats contondants", value : -3}) + } + +📝 Unterschiede in [lhemR8EP5tGNKout.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lhemR8EP5tGNKout.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lhemR8EP5tGNKout.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/lhemR8EP5tGNKout.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/lhemR8EP5tGNKout.js +@@ -1,11 +1,11 @@ +-let test = await this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {fields: {difficulty : "average"}, skipTargets: true, appendTitle : ` - ${this.effect.name}`, context : {failure : "Suffer Creeping Irrationality"}}) ++let test = await this.actor.setupSkill(game.i18n.localize("NAME.Cool"), {fields: {difficulty : "average"}, skipTargets: true, appendTitle : ` - ${this.effect.name}`, context : {failure : "Souffre d'Irrationnalité Effrayante"}}) + await test.roll(); + if (test.failed) + { +-msg = `

      @UUID[${this.effect.sourceItem.uuid}]{Creeping Irratitonality} Roll: ${Math.ceil(CONFIG.Dice.randomUniform() * 10)}

      ` ++msg = `

      @UUID[${this.effect.sourceItem.uuid}]{Irrationnalité Effrayante} Lancez: ${Math.ceil(CONFIG.Dice.randomUniform() * 10)}

      ` + if (test.result.roll % 11 == 0 || test.result.roll == 100) + { +-msg += `

      ${this.actor.prototypeToken.name} also gained 1 Corruption Point. If mutating, this results in a @Table[mutatemental]{Mental Corruption}

      ` ++msg += `

      ${this.actor.prototypeToken.name} reçoit également 1 Point de Corruption. Si il subit une mutation, il doit la déterminer sur la table des @Table[mutatemental]{Mutations Mentales}.

      ` + let newCorruption = Number(this.actor.status.corruption.value) + 1 + this.actor.update({"system.status.corruption.value" : newCorruption}) + } + +📝 Unterschiede in [lvjcddwRiN9iGruy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lvjcddwRiN9iGruy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lvjcddwRiN9iGruy.js:0) (16 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/lvjcddwRiN9iGruy.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/lvjcddwRiN9iGruy.js +@@ -12,16 +12,16 @@ + let currentAge = parseInt(this.actor.system.details.age.value) + let inline = `@ROLL` + let msg = +-`

      ${this.actor.prototypeToken.name} ages by ${inline.replace("@ROLL", ageAdded).replace("@TT", "2d10")} and loses

      +-

      ${inline.replace("@ROLL", ws).replace("@TT", "1d10")} Weapon Skill

      +-

      ${inline.replace("@ROLL", bs).replace("@TT", "1d10")} Ballistic Skill

      +-

      ${inline.replace("@ROLL", s).replace("@TT", "1d10")} Strength

      +-

      ${inline.replace("@ROLL", t).replace("@TT", "1d10")} Toughness

      +-

      ${inline.replace("@ROLL", ag).replace("@TT", "1d10")} Agility

      +-

      ${inline.replace("@ROLL", dex).replace("@TT", "1d10")} Dexterity

      ++`

      ${this.actor.prototypeToken.name} vieilli de ${inline.replace("@ROLL", ageAdded).replace("@TT", "2d10")} et perd

      ++

      ${inline.replace("@ROLL", ws).replace("@TT", "1d10")} Capacité de Combat

      ++

      ${inline.replace("@ROLL", bs).replace("@TT", "1d10")} Capacité de Tir

      ++

      ${inline.replace("@ROLL", s).replace("@TT", "1d10")} Force

      ++

      ${inline.replace("@ROLL", t).replace("@TT", "1d10")} Endurance

      ++

      ${inline.replace("@ROLL", ag).replace("@TT", "1d10")} Agilité

      ++

      ${inline.replace("@ROLL", dex).replace("@TT", "1d10")} Dexterité

      + ` + this.script.scriptMessage(msg); +-let characteristics = duplicate(this.actor.system.characteristics) ++let characteristics = foundry.utils.duplicate(this.actor.system.characteristics) + characteristics.ws.initial -= ws + characteristics.bs.initial -= bs + characteristics.s.initial -= s + +📝 Unterschiede in [mPxmCsXYirAIT913.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mPxmCsXYirAIT913.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mPxmCsXYirAIT913.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/mPxmCsXYirAIT913.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/mPxmCsXYirAIT913.js +@@ -1,2 +1,2 @@ +-let key = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.characteristics, this.effect.img), 1, "Choose Characteristic"); ++let key = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.characteristics, this.effect.img), 1, "Choisissez Characteristic"); + this.effect.updateSource({changes : [{key : `system.characteristics.${key[0].id}.modifier`, mode : 2, value : 10}]}) + +📝 Unterschiede in [mRvLsSVxNyt8LVZb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mRvLsSVxNyt8LVZb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mRvLsSVxNyt8LVZb.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/mRvLsSVxNyt8LVZb.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/mRvLsSVxNyt8LVZb.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.GRRN3XAKIpEVCY7z") + let data = item.toObject(); +-data.name += " (To Be Determined)" ++data.name += " (A d√©terminer)" + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [mTnmPcjWmvScIBWY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mTnmPcjWmvScIBWY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mTnmPcjWmvScIBWY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/mTnmPcjWmvScIBWY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/mTnmPcjWmvScIBWY.js +@@ -1 +1 @@ +-return args.skill?.name.includes("Channelling") || args.type == "channelling" ++return args.skill?.name.includes("Focalisation") || args.type == "channelling" + +📝 Unterschiede in [mlulnXQo8XU8vKLD.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mlulnXQo8XU8vKLD.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mlulnXQo8XU8vKLD.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/mlulnXQo8XU8vKLD.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/mlulnXQo8XU8vKLD.js +@@ -1,6 +1,6 @@ + if (isNaN(parseInt(this.item.system.specification.value))) + { +-let value = await ValueDialog.create("Enter Grim value", this.effect.name); ++let value = await ValueDialog.create({tetx : "Enter Grim value", title : this.effect.name}); + if (value) + { + this.item.updateSource({"system.specification.value" : value}); + +📝 Unterschiede in [mr8qm5Bg6k1idZ6Q.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mr8qm5Bg6k1idZ6Q.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mr8qm5Bg6k1idZ6Q.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/mr8qm5Bg6k1idZ6Q.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/mr8qm5Bg6k1idZ6Q.js +@@ -1 +1 @@ +-return args.item?.name == "Play (Lute)" ++return args.item?.name == "Musicien (Luth)" + +📝 Unterschiede in [n5RJqJL9fdRIxkuN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/n5RJqJL9fdRIxkuN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/n5RJqJL9fdRIxkuN.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/n5RJqJL9fdRIxkuN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/n5RJqJL9fdRIxkuN.js +@@ -1,11 +1,11 @@ + if (this.actor.system.status.advantage.value > 0) + { + await this.actor.modifyAdvantage(-1); +-this.script.scriptNotification("Advantage Subtracted") ++this.script.scriptNotification("Avantage soustrait") + } + else + { +-return this.script.scriptNotification("Not enough Advantage!", "error") ++return this.script.scriptNotification("Pas assez d'Avantages!", "error") + } + let test = await this.actor.setupTrait(this.item) + await test.roll(); + +📝 Unterschiede in [nD2QVg3DrPK3foMf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nD2QVg3DrPK3foMf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nD2QVg3DrPK3foMf.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/nD2QVg3DrPK3foMf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/nD2QVg3DrPK3foMf.js +@@ -1,4 +1,4 @@ +-args.actor.setupSkill("Dodge", { fields: { difficulty: "average" } }).then(async test => { ++args.actor.setupSkill("Esquive", { fields: { difficulty: "average" } }).then(async test => { + await test.roll(); + if (test.failed) { + await args.actor.addCondition("bleeding") + +📝 Unterschiede in [nGTxNWBUBgTr87wU.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nGTxNWBUBgTr87wU.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nGTxNWBUBgTr87wU.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/nGTxNWBUBgTr87wU.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/nGTxNWBUBgTr87wU.js +@@ -1,4 +1,4 @@ + if (args.opposedTest.result.differenceSL >= 0 && args.opposedTest.result.differenceSL <= 2 && args.opposedTest.result.winner == "attacker") + { +-this.script.scriptMessage(`Becomes lodged in the armour or flesh of the opponent. See @UUID[${this.item.uuid}]{${this.item.name}}.`, speaker : {alias : this.item.name}, {blind: true, whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Becomes lodged in the armour or flesh of the opponent. See @UUID[${this.item.uuid}]{${this.item.name}}.`, {alias : this.item.name}, {blind: true, whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [naF5EWr1CBkYRZTK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/naF5EWr1CBkYRZTK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/naF5EWr1CBkYRZTK.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/naF5EWr1CBkYRZTK.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/naF5EWr1CBkYRZTK.js +@@ -2,16 +2,16 @@ + { + let choice = await Dialog.wait({ + title: this.effect.name, +-content: `

      Abort damage with ${this.effect.name}?`, ++content: `

      Eviter les dégâts avec ${this.effect.name}?`, + buttons: { + yes: { +-label: "Yes", ++label: "Oui", + callback: () => { + return true; + } + }, + no: { +-label: "No", ++label: "Non", + callback: () => { + return false; + } +@@ -20,6 +20,6 @@ + }) + if (choice) + { +-args.abort = `${this.effect.name}: Damage cancelled` ++args.abort = `${this.effect.name}: Dégâts annulés` + } + } + +📝 Unterschiede in [njPP9wDAsdh4WHIj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/njPP9wDAsdh4WHIj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/njPP9wDAsdh4WHIj.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/njPP9wDAsdh4WHIj.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/njPP9wDAsdh4WHIj.js +@@ -1,4 +1,4 @@ + if (args.totalWoundLoss > 0 && ["trait", "weapon"].includes(args.opposedTest.attackerTest.item?.type)) + { +-this.script.scriptMessage(`Infected: ${args.actor.name} must pass an Easy (+40) Endurance Test or gain a @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Festering Wound}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Infctée: ${args.actor.name} doit réussir un Test Facile (+40) de Résistance ou subir une @UUID[Compendium.wfrp4e-core.items.kKccDTGzWzSXCBOb]{Blessure Purulente}`, {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [nkSmu7v9WiAaK4vq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkSmu7v9WiAaK4vq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nkSmu7v9WiAaK4vq.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkSmu7v9WiAaK4vq.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/nkSmu7v9WiAaK4vq.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; + const test = 'Trade (Tailor)'; + const difficulty = 'easy'; + const target = 20; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [nkbTnaeBpthyhw4J.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkbTnaeBpthyhw4J.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nkbTnaeBpthyhw4J.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkbTnaeBpthyhw4J.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/nkbTnaeBpthyhw4J.js +@@ -1,4 +1,4 @@ + let fortunePoints = this.effect.sourceTest.result.overcast.usage.other.current + let current = this.actor.status.fortune.value + this.actor.update({"system.status.fortune.value" : fortunePoints + current}) +-this.script.scriptMessage(`${this.actor.prototypeToken.name} fortune points increased from ${current} to ${fortunePoints + current}`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} voit ses Points de Chance augmenter de ${current} à ${fortunePoints + current}`) + +📝 Unterschiede in [nkdKBJ8ItqWiRAWL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkdKBJ8ItqWiRAWL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nkdKBJ8ItqWiRAWL.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkdKBJ8ItqWiRAWL.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/nkdKBJ8ItqWiRAWL.js +@@ -1,10 +1,8 @@ + // Apply changes when the mask is worn + if (args.equipped) { + this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) +-this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
      +-They gain +50 to Swim Tests and can breathe underwater.
      +-If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. +-`, ++this.script.scriptMessage(`${this.actor.name} porte ${this.item.name}.
      ++Il bénéficie de +50 aux Tests de Natation et peut respirer sous l'eau.
      Si il porte le masque pendant plus d'une heure ou bénéficie de l'un de ses effets, il est exposé à une @Corruption[moderate]{Corruption moderate}.`, + {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + // Notify of lingering effects when mask is removed +@@ -12,7 +10,7 @@ + { + await this.item.effects.contents[0].delete(); + await this.item.update({name : this.item.name += " (Used)"}) +-this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, ++this.script.scriptMessage(`${this.item.name} porté par ${this.actor.name} a été enlevé et a perdu ses propriétés. Cependant, ses effets perdurent pendant [[1d10+4]] jours, après quoi il faudra les supprimer manuellement.`, + {whisper: ChatMessage.getWhisperRecipients("GM")} + ) + } + +📝 Unterschiede in [o88xuUConwt0vFLw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/o88xuUConwt0vFLw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/o88xuUConwt0vFLw.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/o88xuUConwt0vFLw.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/o88xuUConwt0vFLw.js +@@ -1,3 +1,3 @@ + let points = this.effect.sourceTest.result.overcast.usage.other.current; + this.actor.update({"system.status.fortune.value" : this.actor.system.status.fortune.value + points}); +-this.script.scriptMessage(`Gained ${points} Fortune Points`) ++this.script.scriptMessage(`Gagne ${points} Points de Chance`) + +📝 Unterschiede in [oDNfCNyt5KaUYmg2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oDNfCNyt5KaUYmg2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oDNfCNyt5KaUYmg2.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/oDNfCNyt5KaUYmg2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/oDNfCNyt5KaUYmg2.js +@@ -1,10 +1,10 @@ + if(args.opposedTest.result.winner == "defender") + { + let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) +-let msg = `Rolled ${roll}.` ++let msg = `Résultat ${roll}.` + if (roll >= 7) + { +-msg = `Attack hits with an SL of ${roll - 6}.` ++msg = `L'attaque touche avec un DR de ${roll - 6}.` + } + this.script.scriptMessage(msg, {blind: true, whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [oPg4se8iQRD14kmB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oPg4se8iQRD14kmB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oPg4se8iQRD14kmB.js:0) (13 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/oPg4se8iQRD14kmB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/oPg4se8iQRD14kmB.js +@@ -8,16 +8,7 @@ + value : ["twohanded", "polearm"] + } + ] +-let items = await game.wfrp4e.apps.ItemDialog.createFromFilters(filters, 1, "Choose an appropriate Polearm or Two-Handed Weapon") ++let items = await ItemDialog.createFromFilters(filters, 1, "Choisissez an appropriate Polearm or Two-Handed Weapon") + items = items.map(i => i.toObject()) +-items.forEach(i => equip(i)) ++items.forEach(i => i.system.equipped.value = true); + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [oV81zgbZsuTFG6L2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oV81zgbZsuTFG6L2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oV81zgbZsuTFG6L2.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/oV81zgbZsuTFG6L2.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/oV81zgbZsuTFG6L2.js +@@ -1,3 +1,3 @@ + let caster = this.effect.sourceActor; + this.actor.modifyWounds(caster.system.characteristics.fel.bonus); +-this.script.scriptMessage(`Healed ${caster.system.characteristics.fel.bonus} Wounds`); ++this.script.scriptMessage(`Gu√©rison de ${caster.system.characteristics.fel.bonus} Blessures`); + +📝 Unterschiede in [oWa7RkScnl6lR5vd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oWa7RkScnl6lR5vd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oWa7RkScnl6lR5vd.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/oWa7RkScnl6lR5vd.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/oWa7RkScnl6lR5vd.js +@@ -5,6 +5,6 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.AGcJl5rHjkyIQBPP") + let data = item.toObject(); + this.actor.createEmbeddedDocuments("Item", [data]) +-this.script.scriptMessage(`Willpower Test failed, ${this.actor.prototypeToken.name} gains @UUID[Compendium.wfrp4e-core.items.AGcJl5rHjkyIQBPP] for [[1d10]] hours`) ++this.script.scriptMessage(`Test de Force Mentale échoué, ${this.actor.prototypeToken.name} @UUID[Compendium.wfrp4e-core.items.AGcJl5rHjkyIQBPP] pour [[1d10]] heures`) + } + } + +📝 Unterschiede in [obIXhQXKFyyQoNNV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/obIXhQXKFyyQoNNV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/obIXhQXKFyyQoNNV.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/obIXhQXKFyyQoNNV.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/obIXhQXKFyyQoNNV.js +@@ -2,6 +2,6 @@ + await test.roll() + if (test.failed) { + this.actor.modifyWounds(-1); +-this.script.scriptMessage("Takes 1 Damage") ++this.script.scriptMessage("Subit 1 Dégat") + } + }) + +📝 Unterschiede in [okW06V9UiPC4Vcrn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/okW06V9UiPC4Vcrn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/okW06V9UiPC4Vcrn.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/okW06V9UiPC4Vcrn.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/okW06V9UiPC4Vcrn.js +@@ -10,10 +10,10 @@ + "wp" : 5, + "fel" : 5 + } +-let skills = ["Cool", "Dodge"] ++let skills = ["Calme", "Esquive"] + let skillAdvancements = [10, 10] + let talents = ["Combat Reflexes", "Resolute"] +-let trappings = ["Leather Jack", "Leather Leggings", "Leather Skullcap", "Hand Weapon", "Spear", "Shield"] ++let trappings = ["Leather Jack", "Leather Leggings", "Leather Skullcap", "Arme simple", "Spear", "Shield"] + let items = []; + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,23 +53,14 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [pNPjXEoQGHLKzq0r.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/pNPjXEoQGHLKzq0r.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/pNPjXEoQGHLKzq0r.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/pNPjXEoQGHLKzq0r.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/pNPjXEoQGHLKzq0r.js +@@ -1,4 +1,4 @@ +-let talent = this.actor.has("Arcane Magic (Light)", "talent") ++let talent = this.actor.has("Magie des Arcanes (Lumi√®re)", "talent") + let demon = this.actor.has(game.i18n.localize("NAME.Daemonic")) + if (!talent) + { + +📝 Unterschiede in [pR4Q2OnPxXtwRVli.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/pR4Q2OnPxXtwRVli.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/pR4Q2OnPxXtwRVli.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/pR4Q2OnPxXtwRVli.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/pR4Q2OnPxXtwRVli.js +@@ -1,10 +1,10 @@ + let criticals = this.actor.itemTypes.critical; + if (criticals.length) + { +-this.script.scriptNotification("Cannot suffer Critical Wounds"); ++this.script.scriptNotification("Ne peut subir de Blessures Critiques"); + this.actor.deleteEmbeddedDocuments("Item", criticals.map(i => i.id)) + } + if (getProperty(args.data, "system.status.wounds.value") == 0) + { +-this.script.scriptNotification(`Dormant for ${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds`) ++this.script.scriptNotification(`Endormi pour ${Math.ceil(CONFIG.Dice.randomUniform() * 10)} Rounds`) + } + +📝 Unterschiede in [pkKpxVqRHIzywerL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/pkKpxVqRHIzywerL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/pkKpxVqRHIzywerL.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/pkKpxVqRHIzywerL.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/pkKpxVqRHIzywerL.js +@@ -1,5 +1,5 @@ + const ablaze = this.actor.hasCondition("ablaze"); + if (ablaze) { + ablaze.delete(); +-this.script.scriptNotification("Resisted Ablaze"); ++this.script.scriptNotification("Résiste à En Flammes"); + } + +📝 Unterschiede in [q0LvphC8RDSyR0oY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/q0LvphC8RDSyR0oY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/q0LvphC8RDSyR0oY.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/q0LvphC8RDSyR0oY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/q0LvphC8RDSyR0oY.js +@@ -3,5 +3,5 @@ + t : game.wfrp4e.config.characteristics.t, + ag : game.wfrp4e.config.characteristics.ag, + wp : game.wfrp4e.config.characteristics.wp +-}, this.effect.img), 1, "Choose Characteristic"); ++}, this.effect.img), 1, "Choisir une caract√©ristique"); + this.effect.updateSource({"flags.wfrp4e.characteristic" : choice[0].id}) + +📝 Unterschiede in [q8lOAWr2970sZeTw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/q8lOAWr2970sZeTw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/q8lOAWr2970sZeTw.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/q8lOAWr2970sZeTw.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/q8lOAWr2970sZeTw.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; + const test = 'Trade (Carpentry)'; + const difficulty = 'challenging'; + const target = 20; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [qAEZgtu5CrfUkxhx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qAEZgtu5CrfUkxhx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qAEZgtu5CrfUkxhx.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/qAEZgtu5CrfUkxhx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/qAEZgtu5CrfUkxhx.js +@@ -7,10 +7,10 @@ + { + staunch = Math.min(1, Number(args.test.result.SL)) + 1 + } +-args.test.result.other.push(`${this.actor.name} removed ${staunch} Bleeding conditions from the patient.`) ++args.test.result.other.push(`${this.actor.name} guérit ${staunch} états Hémorragiques du patient.`) + } + else if (this.actor.characteristics.int.bonus + Number(args.test.result.SL) < 0) + { +-args.test.result.other.push(`The patient contracts a @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Minor Infection}.`) ++args.test.result.other.push(`Le patient est victime d'une @UUID[Compendium.wfrp4e-core.items.Item.1hQuVFZt9QnnbWzg]{Infection Mineure}.`) + } + } + +📝 Unterschiede in [qT0WBPxLMMO9gvCd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qT0WBPxLMMO9gvCd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qT0WBPxLMMO9gvCd.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/qT0WBPxLMMO9gvCd.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/qT0WBPxLMMO9gvCd.js +@@ -1,4 +1,4 @@ +-if (!this.actor.has("Night Vision") && !this.actor.has("Night Vision", "talent") && !this.actor.hasCondition("blinded")) ++if (!this.actor.has("Vision Nocturne") && !this.actor.has("Vision Nocturne", "talent") && !this.actor.hasCondition("blinded")) + { + this.actor.addCondition("blinded", 1, {"flags.wfrp4e.nightshroud" : true}) + } + +📝 Unterschiede in [qmOt7h17hGAKqQe0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qmOt7h17hGAKqQe0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qmOt7h17hGAKqQe0.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/qmOt7h17hGAKqQe0.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/qmOt7h17hGAKqQe0.js +@@ -1,15 +1,15 @@ + let choice = await Dialog.wait({ + title: this.effect.name, +-content: `

      ${this.effect.name}: Is this a ranged or magical attack that orignates outside the Dome?

      `, ++content: `

      ${this.effect.name}: Est-ce que l'attaque magique ou à distance provient de l'extérieur du Dome?

      `, + buttons: { + yes: { +-label: "Yes", ++label: "Oui", + callback: () => { + return true; + } + }, + no: { +-label: "No", ++label: "Non", + callback: () => { + return false; + } + +📝 Unterschiede in [qnJu82zgnfOsnqZV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qnJu82zgnfOsnqZV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qnJu82zgnfOsnqZV.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/qnJu82zgnfOsnqZV.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/qnJu82zgnfOsnqZV.js +@@ -1,9 +1,9 @@ + let closed = !this.item.getFlag("wfrp4e-soc", "gunport") || false; + await this.item.setFlag("wfrp4e-soc", "gunport", closed); +-let scriptData = this.effect.flags.wfrp4e.scriptData; ++let scriptData = this.effect.system.scriptData; + if (closed) { + scriptData[0].label = "Open"; + } else { + scriptData[0].label = "Close"; + } +-await this.effect.update({"flags.wfrp4e.scriptData": scriptData}); ++await this.effect.update({"system.scriptData": scriptData}); + +📝 Unterschiede in [qu194dVXm9Vx1TGk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qu194dVXm9Vx1TGk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qu194dVXm9Vx1TGk.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/qu194dVXm9Vx1TGk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/qu194dVXm9Vx1TGk.js +@@ -1,8 +1,8 @@ +-if (args.test.options.useOnesSupportive && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) +-{ ++if (args.test.options.useOnesSupportive && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) { + let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) + let ones = Number(args.test.result.roll.toString().split("").pop()) +-if (ones > SL) ++if (ones > SL) { + args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) +-args.test.result.other.push(`${this.effect.name}: Used unit dice as SL`) ++args.test.result.other.push(`${this.effect.name}: Utilise le dé d'unité comme DR`) + } ++} + +📝 Unterschiede in [qxzhPtysAjPWspKf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qxzhPtysAjPWspKf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qxzhPtysAjPWspKf.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/qxzhPtysAjPWspKf.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/qxzhPtysAjPWspKf.js +@@ -1,4 +1,4 @@ +-if (this.actor.has("Undead") || this.actor.has("Daemonic")) ++if (this.actor.has("Mort-vivant") || this.actor.has("Démoniaque")) + { +-this.script.scriptNotification(`Cannot enter ${this.effect.name}!`); ++this.script.scriptNotification(`Ne peut entrer ${this.effect.name}!`); + } + +📝 Unterschiede in [rBAoyhzeU3Q8MVSk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rBAoyhzeU3Q8MVSk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rBAoyhzeU3Q8MVSk.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/rBAoyhzeU3Q8MVSk.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/rBAoyhzeU3Q8MVSk.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; + const test = 'Trade (Carpenter)'; + const difficulty = 'difficult'; + const target = 50; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [rCh3ltUrUMovd2Kc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rCh3ltUrUMovd2Kc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rCh3ltUrUMovd2Kc.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/rCh3ltUrUMovd2Kc.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/rCh3ltUrUMovd2Kc.js +@@ -1,5 +1,5 @@ + if (this.actor.hasCondition("surprised")) + { +-this.script.scriptNotification("Cannot be surprised"); ++this.script.scriptNotification("Ne peut être surpris"); + this.actor.removeCondition("surprised"); + } + +📝 Unterschiede in [ramav4ymrDDkPKK4.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ramav4ymrDDkPKK4.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ramav4ymrDDkPKK4.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ramav4ymrDDkPKK4.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ramav4ymrDDkPKK4.js +@@ -1,9 +1,9 @@ + if (this.actor.hasCondition("bleeding")) + { + this.actor.removeCondition("bleeding"); +-this.script.scriptNotification("Removed 1 Bleeding Condition") ++this.script.scriptNotification("Suppression d'1 état Hémmoragique") + } + else + { +-this.script.scriptNotification("No Bleeding Conditions"); ++this.script.scriptNotification("Aucun état Hémorragique"); + } + +📝 Unterschiede in [red2bt4PGgIWAdTR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/red2bt4PGgIWAdTR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/red2bt4PGgIWAdTR.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/red2bt4PGgIWAdTR.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/red2bt4PGgIWAdTR.js +@@ -5,10 +5,10 @@ + let effectData = this.item.effects.contents[0].convertToApplied(); + let minutes = Math.ceil(CONFIG.Dice.randomUniform() * 10) * 10; + effectData.duration.seconds = 60 * minutes +-this.script.scriptMessage(`Duration: ${minutes} minutes`, {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Dur√©e: ${minutes} minutes`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + actor.applyEffect({effectData : [effectData]}) + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Aucun disponible!", "error") + } + +📝 Unterschiede in [rnioLwiJP7ps5Jwy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rnioLwiJP7ps5Jwy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rnioLwiJP7ps5Jwy.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/rnioLwiJP7ps5Jwy.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/rnioLwiJP7ps5Jwy.js +@@ -1,4 +1,4 @@ +-if (args.item.type == "skill" && args.item.name == "Melee (Basic)") ++if (args.item.type == "skill" && args.item.name == "Corps à corps (Base)") + { + args.item.system.modifier.value += 30; + } + +📝 Unterschiede in [rpxQU26BU7nwjtqY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rpxQU26BU7nwjtqY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rpxQU26BU7nwjtqY.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/rpxQU26BU7nwjtqY.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/rpxQU26BU7nwjtqY.js +@@ -1,12 +1,12 @@ + let location = this.item.system.location.key +-let test = await this.actor.setupCharacteristic("dex", {context : {failure : `${this.effect.name}: Drop the item!`}, skipTargets: true, appendTitle : " - " + this.effect.name, fields : {difficulty : "average"}}) ++let test = await this.actor.setupCharacteristic("dex", {context : {failure : `${this.effect.name}: Lâche l'objet!`}, skipTargets: true, appendTitle : " - " + this.effect.name, fields : {difficulty : "average"}}) + await test.roll(); + if (location && test.failed) + { + let dropped = this.item.system.weaponsAtLocation; + if (dropped.length) + { +-this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) ++this.script.scriptNotification(`Laché ${dropped.map(i => i.name).join(", ")}!`) + for(let weapon of dropped) + { + await weapon.system.toggleEquip(); + +📝 Unterschiede in [s6eZXfZkC1My6EXl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/s6eZXfZkC1My6EXl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/s6eZXfZkC1My6EXl.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/s6eZXfZkC1My6EXl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/s6eZXfZkC1My6EXl.js +@@ -1,5 +1,5 @@ + let lore = this.effect.name.split(" ")[2].toLowerCase(); +-if (args.item.type == "spell" && args.item.system.lore.value == lore) ++if (args.item.type == "spell" && game.wfrp4e.config.magicLores[args.item.system.lore.value].toLowerCase() == lore) + { + args.item.system.cn.value -= 1 + } + +📝 Unterschiede in [sB4KB9bT3nQhAoqG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sB4KB9bT3nQhAoqG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sB4KB9bT3nQhAoqG.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sB4KB9bT3nQhAoqG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sB4KB9bT3nQhAoqG.js +@@ -2,7 +2,7 @@ + let mainEffect = this.item.effects.contents[0]; + if (mainEffect.name.includes("")) + { +-let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choose Lore"); ++let choice = await ItemDialog.create(ItemDialog.objectToArray(game.wfrp4e.config.magicLores, this.item.img), 1, "Choisissez le Savoir"); + if (choice.length) + { + mainEffect.update({name : mainEffect.name.replace("", choice[0].name)}) + +📝 Unterschiede in [sKO8TcLIkCTnFvXu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sKO8TcLIkCTnFvXu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sKO8TcLIkCTnFvXu.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sKO8TcLIkCTnFvXu.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sKO8TcLIkCTnFvXu.js +@@ -1,2 +1,2 @@ + args.abort = true; +-this.script.scriptNotification(`Cannot use ${this.item.system.location.value}!`, "error") ++this.script.scriptNotification(`Ne peut utiliser ${this.item.system.location.value}!`, "error") + +📝 Unterschiede in [sNSfDBIA2k17hPYI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sNSfDBIA2k17hPYI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sNSfDBIA2k17hPYI.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sNSfDBIA2k17hPYI.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sNSfDBIA2k17hPYI.js +@@ -2,5 +2,5 @@ + if (ablaze) + { + ablaze?.delete(); +-this.script.scriptNotification("Ignore Ablaze"); ++this.script.scriptNotification("Ignore En Flammes"); + } + +📝 Unterschiede in [sWyO1DNaqb2EdHoW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sWyO1DNaqb2EdHoW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sWyO1DNaqb2EdHoW.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sWyO1DNaqb2EdHoW.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sWyO1DNaqb2EdHoW.js +@@ -6,5 +6,5 @@ + data.effects[0].disabled = false; + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect: this.effect.id}) + } +-this.script.scriptMessage(`

      By imbibing this potion, ${this.actor.prototypeToken.name} has becomes subject to Frenzy. This Frenzy lasts [[1d10]] Rounds, and may not be ended sooner.

      `, ++this.script.scriptMessage(`

      En buvant cette potion, ${this.actor.prototypeToken.name} est devenu sujet à la Frénesie. Cette Frénésie dure [[1d10]] Rounds, et ne peut pas se terminer avant.

      `, + {whisper: ChatMessage.getWhisperRecipients("GM"), blind: true }) + +📝 Unterschiede in [sZwLitzwKBTaFca3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sZwLitzwKBTaFca3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sZwLitzwKBTaFca3.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sZwLitzwKBTaFca3.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sZwLitzwKBTaFca3.js +@@ -1,4 +1,4 @@ + let item = await fromUuid("Compendium.wfrp4e-core.items.Item.5hH73j2NgPdsLCZN") + let data = item.toObject(); +-data.name = data.name.replace("Target", "Greenskins, Undead, Chaos") ++data.name = data.name.replace("Cible", "Peaux vertes, Mort-vivant, Chaos") + this.actor.createEmbeddedDocuments("Item", [data], {fromEffect : this.effect.id}) + +📝 Unterschiede in [sbK1a7txpSoXFzyB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sbK1a7txpSoXFzyB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sbK1a7txpSoXFzyB.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sbK1a7txpSoXFzyB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sbK1a7txpSoXFzyB.js +@@ -1,8 +1,8 @@ +-if (args.test.options.useOnesArgumentative && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) +-{ ++if (args.test.options.useOnesArgumentative && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target)) { + let SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10) + let ones = Number(args.test.result.roll.toString().split("").pop()) +-if (ones > SL) ++if (ones > SL) { + args.test.data.result.SL = "+" + (ones + args.test.successBonus + args.test.slBonus) +-args.test.result.other.push(`${this.effect.name}: Used unit dice as SL`) ++args.test.result.other.push(`${this.effect.name}: Utilise le dé d'unité comme DR`) + } ++} + +📝 Unterschiede in [sgS9rblPkQB36C8S.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sgS9rblPkQB36C8S.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sgS9rblPkQB36C8S.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sgS9rblPkQB36C8S.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sgS9rblPkQB36C8S.js +@@ -12,11 +12,11 @@ + i.id = i._id + return i + }) +-let choice = await ItemDialog.create(index, 1, "Choose a Trade Skill") ++let choice = await ItemDialog.create(index, 1, "Choisissez a Trade Skill") + let text; + if (!choice[0]) + { +-let custom = await ValueDialog.create("Enter Custom Trade Skill", "Custom Trade"); ++let custom = await ValueDialog.create({text : "Enter Custom Trade Skill", title : "Custom Trade"}); + text = custom || "" + } + else + +📝 Unterschiede in [shkBUtUuMPDKvFm7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/shkBUtUuMPDKvFm7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/shkBUtUuMPDKvFm7.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/shkBUtUuMPDKvFm7.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/shkBUtUuMPDKvFm7.js +@@ -1,9 +1,9 @@ +-let test = await this.actor.setupSkill("Dodge", {fields : {difficulty : "average"}}) ++let test = await this.actor.setupSkill("Esquive", {fields : {difficulty : "average"}}) + let caster = this.effect.sourceActor + let fallen = this.effect.sourceTest.result.SL + caster.characteristics.wp.bonus + await test.roll(); + if (test.failed) + { + this.actor.addCondition("prone") +-this.script.scriptMessage(`${this.actor.prototypeToken.name} falls ${fallen} yards`) ++this.script.scriptMessage(`${this.actor.prototypeToken.name} tombe de ${fallen} m√®tres`) + } + +📝 Unterschiede in [sx7Ikn8WW00gBFb4.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sx7Ikn8WW00gBFb4.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sx7Ikn8WW00gBFb4.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/sx7Ikn8WW00gBFb4.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/sx7Ikn8WW00gBFb4.js +@@ -1,11 +1,11 @@ + let location = (Math.ceil(CONFIG.Dice.randomUniform() * 2) == 2 ? "r" : "l") + "Arm" + if (location == "lArm") + { +-this.script.scriptNotification("Rolled Left") ++this.script.scriptNotification("Résultat : gauche") + } + else if (location == "rArm") + { +-this.script.scriptNotification("Rolled Right") ++this.script.scriptNotification("Résultat : Droite") + } + this.effect.updateSource({"flags.wfrp4e.location" : location}); + if (location) +@@ -13,7 +13,7 @@ + let dropped = this.actor.itemTypes.weapon.filter(i => i.isEquipped & i.system.usesHands.includes(location)); + if (dropped.length) + { +-this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) ++this.script.scriptNotification(`Laché ${dropped.map(i => i.name).join(", ")}!`) + for(let weapon of dropped) + { + await weapon.system.toggleEquip(); +@@ -21,5 +21,5 @@ + } + } + let roll = await new Roll("1d10").roll() +-roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Duration)`})); ++roll.toMessage(this.script.getChatData({flavor : `${this.effect.name} (Durée)`})); + this.effect.updateSource({"duration.rounds" : roll.total}) + +📝 Unterschiede in [syqqBkyP5tGqZ78t.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/syqqBkyP5tGqZ78t.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/syqqBkyP5tGqZ78t.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/syqqBkyP5tGqZ78t.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/syqqBkyP5tGqZ78t.js +@@ -1,5 +1,5 @@ +-this.actor.has("Immunity to Psychology")?.delete(); ++this.actor.has("Immunité Psychologique")?.delete(); + let roll = await new Roll("1d10").roll(); + roll.toMessage(this.script.getChatData()); +-this.script.scriptNotification(`Removed Immunity to Psychology, Adding ${roll.total} Broken Conditions`) ++this.script.scriptNotification(`Immunité Psychologique a été supprimé de l'acteur, ajout de ${roll.total} états Brisé`) + this.actor.addCondition("broken", roll.total, {"flags.wfrp4e.blasted-mind" : true}) + +📝 Unterschiede in [t56mnblo1kv3gM1M.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/t56mnblo1kv3gM1M.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/t56mnblo1kv3gM1M.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/t56mnblo1kv3gM1M.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/t56mnblo1kv3gM1M.js +@@ -1 +1 @@ +-return args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"); ++return args.skill?.name.includes("Corps à corps (Base)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"); + +📝 Unterschiede in [tCIT1a12Gt6k2ohA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tCIT1a12Gt6k2ohA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tCIT1a12Gt6k2ohA.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/tCIT1a12Gt6k2ohA.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/tCIT1a12Gt6k2ohA.js +@@ -1,14 +1,14 @@ + let resistance +-if (this.item.name.includes("(")) ++if (this.item.name.includes("(") && !this.item.name.toLowerCase().includes("(any)")) + { + resistance = this.item.parenthesesText + } + else + { +-resistance = await ValueDialog.create("Enter Resistance", "Resistance") ++resistance = await ValueDialog.create({text : "Resistenz eingeben", title : "Resistenz"}) + if (resistance) + { +-this.item.updateSource({name : this.item.name + ` (${resistance})`}) ++this.item.updateSource({name : `${this.item.name.split("(")[0].trim()} (${resistance})`}) + this.effect.updateSource({name : this.effect.name + ` (${resistance})`}) + } + } + +📝 Unterschiede in [tGVEV6TLl310mFLP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tGVEV6TLl310mFLP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tGVEV6TLl310mFLP.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/tGVEV6TLl310mFLP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/tGVEV6TLl310mFLP.js +@@ -3,5 +3,5 @@ + { + let nonmagical = args.modifiers.ap.value - args.modifiers.ap.magical + args.modifiers.ap.ignored += nonmagical +-args.modifiers.ap.details.push("" + this.effect.name + ": Ignore Non-Magical AP (" + nonmagical + ")"); ++args.modifiers.ap.details.push("" + this.effect.name + ": Ignore les PA non-magiques (" + nonmagical + ")"); + } + +📝 Unterschiede in [tNTO1LVN7JqHf4YN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tNTO1LVN7JqHf4YN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tNTO1LVN7JqHf4YN.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/tNTO1LVN7JqHf4YN.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/tNTO1LVN7JqHf4YN.js +@@ -3,6 +3,6 @@ + if (args.test.failed) + { + this.actor.createEmbeddedDocuments("ActiveEffect", [game.wfrp4e.config.symptomEffects["malaise"]]) +-this.script.scriptMessage(`Willpower Test failed, ${this.actor.prototypeToken.name} gains @Condition[Malaise] for [[1d10]] hours`, {whisper: ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Test de Force Mentale échoué, ${this.actor.prototypeToken.name} subit @Condition[Malaise] pour [[1d10]] heures`, {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + } + +📝 Unterschiede in [tUwP7TjrOOOnaCYJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tUwP7TjrOOOnaCYJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tUwP7TjrOOOnaCYJ.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/tUwP7TjrOOOnaCYJ.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/tUwP7TjrOOOnaCYJ.js +@@ -1,10 +1,10 @@ + let fatigued = this.actor.hasCondition("fatigued") + if (fatigued) + { +-this.script.scriptNotification(`Cleared ${fatigued.conditionValue} Fatigued Conditions`) ++this.script.scriptNotification(`Suppression de ${fatigued.conditionValue} états Fatigué`) + fatigued.delete(); + } + else + { +-this.script.scriptNotification(`No Fatigued Conditions`) ++this.script.scriptNotification(`Aucun état Fatigué`) + } + +📝 Unterschiede in [tcZug8ehU6lyYBd9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tcZug8ehU6lyYBd9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tcZug8ehU6lyYBd9.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/tcZug8ehU6lyYBd9.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/tcZug8ehU6lyYBd9.js +@@ -1 +1 @@ +-return args.skill?.name != "Ranged (Blackpowder)" ++return args.skill?.name != "Projectiles (Poudre noire)" + +📝 Unterschiede in [tn6SwmjAuNzqE6dx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tn6SwmjAuNzqE6dx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tn6SwmjAuNzqE6dx.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/tn6SwmjAuNzqE6dx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/tn6SwmjAuNzqE6dx.js +@@ -1,5 +1,5 @@ + let damage = 0 +-let test = await this.actor.setupSkill("Dodge", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); ++let test = await this.actor.setupSkill("Esquive", {skipTargets: true, appendTitle : ` - ${this.effect.name}`}); + await test.roll(); + if (test.succeeded) + { + +📝 Unterschiede in [toSrgcvWq9b5eN0K.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/toSrgcvWq9b5eN0K.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/toSrgcvWq9b5eN0K.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/toSrgcvWq9b5eN0K.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/toSrgcvWq9b5eN0K.js +@@ -1,3 +1,3 @@ + let location = await game.wfrp4e.tables.rollTable("hitloc", {hideDSN: true}) + this.item.updateSource({name : `${this.item.name} (${location.description})`}) +-this.script.scriptMessage(`Location: ${location.description}`, { whisper: ChatMessage.getWhisperRecipients("GM") }) ++this.script.scriptMessage(`Localisation: ${location.description}`, { whisper: ChatMessage.getWhisperRecipients("GM") }) + +📝 Unterschiede in [uACa6u4JLNMRgFlr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uACa6u4JLNMRgFlr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uACa6u4JLNMRgFlr.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/uACa6u4JLNMRgFlr.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/uACa6u4JLNMRgFlr.js +@@ -1,2 +1,2 @@ +-const talents = await Promise.all(["Furious Assault", "Sea Legs"].map(game.wfrp4e.utility.findTalent)) ++const talents = await Promise.all(["Assaut f√©roce", "Pied marin"].map(game.wfrp4e.utility.findTalent)) + this.actor.createEmbeddedDocuments("Item", talents, {fromEffect : this.effect.id}) + +📝 Unterschiede in [uLBDnWC3S0lRitbj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uLBDnWC3S0lRitbj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uLBDnWC3S0lRitbj.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/uLBDnWC3S0lRitbj.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/uLBDnWC3S0lRitbj.js +@@ -7,7 +7,7 @@ + { + this.actor.addCondition("unconscious") + await this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) +-this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage("Re√ßoit un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + else + { + +📝 Unterschiede in [ucF4aiJ1gpDB333G.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ucF4aiJ1gpDB333G.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ucF4aiJ1gpDB333G.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ucF4aiJ1gpDB333G.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ucF4aiJ1gpDB333G.js +@@ -1,5 +1,5 @@ + if (args.test.options.catfall && (args.test.result.roll <= game.settings.get("wfrp4e", "automaticSuccess") || args.test.result.roll <= args.test.target) && !args.test.result.catfall) + { +-args.test.result.other.push(`${this.effect.name}: Fall distance damage reduced by ${Number(args.test.result.SL) + 1} yards`) ++args.test.result.other.push(`${this.effect.name}: Dommages de chutes réduit de ${Number(args.test.result.SL) + 1} mètres`) + args.test.result.catfall = true; // Prevent duplicate messages + } + +📝 Unterschiede in [ugL5IBB6R2yWyMWd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ugL5IBB6R2yWyMWd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ugL5IBB6R2yWyMWd.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ugL5IBB6R2yWyMWd.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ugL5IBB6R2yWyMWd.js +@@ -1,6 +1,6 @@ + if (args.totalWoundLoss > 0) + { +-let apply = await Dialog.confirm({title : this.effect.name, content : `

      Appy ${this.effect.name} Damage? Attacker must have used bare hands or a melee weapon made of metal.`}) ++let apply = await Dialog.confirm({title : this.effect.name, content : `

      Appliquer les dégats de ${this.effect.name}? L'attaquant doit avoir utilisé ses mains nues ou une arme de mêlée faite de métal.`}) + if (apply) + { + let damage = 5 + this.actor.characteristics.wp.bonus; +@@ -10,7 +10,7 @@ + let APused = Math.max(0, APatLoc.value - metalAP); // remove metal AP at location; + damage -= (APused + args.opposedTest.attacker.system.characteristics.t.bonus) + let msg = await args.opposedTest.attacker.applyBasicDamage(damage, {suppressMsg : true, damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL}); +-msg += ` (ignored ${metalAP} metal AP on ${game.wfrp4e.config.locations[loc]})` ++msg += ` (${metalAP} PA métalliques ignorés sur ${game.wfrp4e.config.locations[loc]})` + this.script.scriptMessage(msg) + } + } + +📝 Unterschiede in [uhCq5NwjQ2a2idPn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uhCq5NwjQ2a2idPn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uhCq5NwjQ2a2idPn.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/uhCq5NwjQ2a2idPn.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/uhCq5NwjQ2a2idPn.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; + const test = 'Trade (Tailor)'; + const difficulty = 'easy'; + const target = 30; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [upfK6GM33qZCZjll.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/upfK6GM33qZCZjll.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/upfK6GM33qZCZjll.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/upfK6GM33qZCZjll.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/upfK6GM33qZCZjll.js +@@ -1 +1 @@ +-return args.item?.name != "Play (Lute)" ++return args.item?.name != "Musicien (Luth)" + +📝 Unterschiede in [uwdQvZtzy2HVeEzx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uwdQvZtzy2HVeEzx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uwdQvZtzy2HVeEzx.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/uwdQvZtzy2HVeEzx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/uwdQvZtzy2HVeEzx.js +@@ -7,7 +7,7 @@ + await test.roll(); + if (test.failed) + { +-this.script.scriptMessage("" + args.actor.name + " takes a @Table[critbody]{Critical Hit} to the torse", {whisper: ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage("" + args.actor.name + " subit un @Table[critbody]{Blessure Critique} au torse", {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + }) + } + +📝 Unterschiede in [v4CCxVaVGf9i8U7X.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/v4CCxVaVGf9i8U7X.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/v4CCxVaVGf9i8U7X.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/v4CCxVaVGf9i8U7X.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/v4CCxVaVGf9i8U7X.js +@@ -1,9 +1,9 @@ + let cured = await Dialog.wait({ + title : this.effect.name, +-content : "

      Enter the number of diseases/poisons cured

      ", ++content : "

      Entrez le nombre de Poisons/Maladies soignés

      ", + buttons : { + confirm : { +-label : "Confirm", ++label : "Confirmer", + callback : (dlg) => { + let input = dlg.find("input"); + value = parseInt(input[0].value); + +📝 Unterschiede in [v5xrDWcrTNFJkyQB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/v5xrDWcrTNFJkyQB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/v5xrDWcrTNFJkyQB.js:0) (25 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/v5xrDWcrTNFJkyQB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/v5xrDWcrTNFJkyQB.js +@@ -1,7 +1,7 @@ + let choice1 = [ + { + type : "skill", +-name : "Ranged (Bow)", ++name : "Projectiles (Arc)", + diff : { + system : { + advances : { +@@ -25,10 +25,10 @@ + title : "Option", + content : + `

      +-Add Option? ++Ajouter une option? +

      +
        +-
      1. Ranged (Bow) +10 and a Longbow with 12 Arrows
      2. ++
      3. Projectiles (Arc) +10 et un Arc Long avec 12 flèches
      4. +
      + `, + buttons : { +@@ -64,22 +64,17 @@ + let item = await game.wfrp4e.utility.find(c.name, c.type) + if (item) + { ++let equip = item.system.tags.has("equippable"); + item = item.toObject() +-equip(item); +-items.push(mergeObject(item, (c.diff || {}))) ++if (equip) ++{ ++item.system.equipped.value = true; ++} ++items.push(foundry.utils.mergeObject(item, (c.diff || {}))) + } + else +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [vFUVWZ1l8wpTjLcx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vFUVWZ1l8wpTjLcx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vFUVWZ1l8wpTjLcx.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/vFUVWZ1l8wpTjLcx.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/vFUVWZ1l8wpTjLcx.js +@@ -6,7 +6,7 @@ + let wp = caster.system.characteristics.wp + if (this.actor.system.characteristics.wp.value >= wp.value) + { +-this.script.scriptNotification("Target has higher Willpower, no effect") ++this.script.scriptNotification("La cible a une Force Mentale sup√©rieure, aucun effet") + return + } + this.actor.applyBasicDamage(wp.bonus, { damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL }) + +📝 Unterschiede in [vSDMygIT9nNvEGWG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vSDMygIT9nNvEGWG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vSDMygIT9nNvEGWG.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/vSDMygIT9nNvEGWG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/vSDMygIT9nNvEGWG.js +@@ -5,7 +5,7 @@ + this.item.setFlag("wfrp4e", "brittle", true) + ChatMessage.create({ + content: ` +-${this.item.name} has run out of poison. It will shatter the next time it is used.`, ++${this.item.name} n'a plus de Poison. Il se brisera à sa prochaine utilisation.`, + whisper: ChatMessage.getWhisperRecipients("GM"), + blind: true + }) + +📝 Unterschiede in [vc4bELo0cWYoILfB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vc4bELo0cWYoILfB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vc4bELo0cWYoILfB.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/vc4bELo0cWYoILfB.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/vc4bELo0cWYoILfB.js +@@ -1,3 +1,3 @@ +-let choice = await ItemDialog.create(this.actor.itemTypes.disease, 1, "Choose a disease to heal (must be naturally occuring)") +-this.script.scriptMessage(`Cured ${choice[0]?.name}`); ++let choice = await ItemDialog.create(this.actor.itemTypes.disease, 1, "Choisissez une Maladie à soigner (doit avoir été contracté naturellement)") ++this.script.scriptMessage(`Guérison de ${choice[0]?.name}`); + choice[0].delete() + +📝 Unterschiede in [vuzRRj5d9XdNYx3o.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vuzRRj5d9XdNYx3o.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vuzRRj5d9XdNYx3o.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/vuzRRj5d9XdNYx3o.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/vuzRRj5d9XdNYx3o.js +@@ -2,5 +2,5 @@ + if (broken) + { + broken.delete(); +-this.script.scriptNotification("Removed Broken") ++this.script.scriptNotification("Etat Brisé supprimé") + } + +📝 Unterschiede in [vvdo1NxjmGVkmFCT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vvdo1NxjmGVkmFCT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vvdo1NxjmGVkmFCT.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/vvdo1NxjmGVkmFCT.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/vvdo1NxjmGVkmFCT.js +@@ -12,7 +12,7 @@ + let dropped = this.item.system.weaponsAtLocation; + if (dropped.length) + { +-this.script.scriptNotification(`Dropped ${dropped.map(i => i.name).join(", ")}!`) ++this.script.scriptNotification(`Lache ${dropped.map(i => i.name).join(", ")}!`) + for(let weapon of dropped) + { + await weapon.system.toggleEquip(); + +📝 Unterschiede in [w4RuGIfseGoxXA3k.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/w4RuGIfseGoxXA3k.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/w4RuGIfseGoxXA3k.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/w4RuGIfseGoxXA3k.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/w4RuGIfseGoxXA3k.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; + const test = 'Trade (Carpenter)'; + const difficulty = 'challenging'; + const target = 20; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [wbM7tpw4TxvadcWm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/wbM7tpw4TxvadcWm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/wbM7tpw4TxvadcWm.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/wbM7tpw4TxvadcWm.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/wbM7tpw4TxvadcWm.js +@@ -5,12 +5,12 @@ + if (item.system.properties.qualities.durable) + { + await item.update({"system.qualities.value" : []}); +-msg += `

      ${item.name} loses all Qualities

      ` ++msg += `

      ${item.name} per toutes ses Qualités

      ` + } + else + { +-msg += `

      ${item.name} crumbles into dust!

      ` +-await item.update({name : item.name + " (Dust)"}) ++msg += `

      ${item.name} tombe en poussière!

      ` ++await item.update({name : item.name + " (Poussières)"}) + } + } + if(msg) + +📝 Unterschiede in [whUSkaR1yem21bXp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/whUSkaR1yem21bXp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/whUSkaR1yem21bXp.js:0) (19 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/whUSkaR1yem21bXp.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/whUSkaR1yem21bXp.js +@@ -46,7 +46,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + const traitRegex = /(?:,?(.+?)(\+?\d{1,2}\+?)?\s*?(?:\((.+?)\)\s*(\+?\d{1,2})?|,|$))/gm +@@ -62,7 +62,7 @@ + } + catch { } + if (!traitItem) { +-ui.notifications.warn(`Could not find ${trait}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trait}`, {permanent : true}) + } + traitItem = traitItem.toObject() + if (Number.isNumeric(traitVal)) +@@ -80,12 +80,12 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + for (let spell of spells) +@@ -98,18 +98,9 @@ + } + else + { +-ui.notifications.warn(`Could not find ${spell}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${spell}`, {permanent : true}) + } + } + updateObj.name = updateObj.name += " " + this.effect.name + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.worn = true +-else if (item.type == "weapon") +-item.equipped = true +-else if (item.type == "trapping" && item.trappingType?.value == "clothingAccessories") +-item.worn = true +-} + +📝 Unterschiede in [wsqNM4NHnwaAAQym.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/wsqNM4NHnwaAAQym.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/wsqNM4NHnwaAAQym.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/wsqNM4NHnwaAAQym.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/wsqNM4NHnwaAAQym.js +@@ -1,5 +1,5 @@ + args.applyAP = false; +-this.script.scriptNotification("This test only applies to criminals, otherwise close the dialog."); ++this.script.scriptNotification("Ce test ne s'applique seulement qu'aux criminels. Fermez cette fenêtre si ce n'est pas le cas."); + this.actor.setupSkill(game.i18n.localize("NAME.Endurance"), {fields : {difficulty : "average"}, skipTargets: true, appendTitle : ` - ${this.effect.name}`}).then(async test => + { + await test.roll(); + +📝 Unterschiede in [wyTCozh9qGTx6yK0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/wyTCozh9qGTx6yK0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/wyTCozh9qGTx6yK0.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/wyTCozh9qGTx6yK0.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/wyTCozh9qGTx6yK0.js +@@ -1,5 +1,5 @@ + if (args.options.terror || args.extendedTest?.getFlag("wfrp4e", "fear")) + { + args.abort = true; +-this.script.scriptNotification("Does not need to make Fear or Terror tests"); ++this.script.scriptNotification("N'a pas besoin de faire de test de Peur ou de Terreur"); + } + +📝 Unterschiede in [x2RLUUNB7BiIDYCP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/x2RLUUNB7BiIDYCP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/x2RLUUNB7BiIDYCP.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/x2RLUUNB7BiIDYCP.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/x2RLUUNB7BiIDYCP.js +@@ -1,7 +1,7 @@ + let difficulty = "" +-if (this.effect.name.includes("Moderate")) ++if (this.effect.name.includes("moderat")) + difficulty = "easy" +-else if (this.effect.name.includes("Severe")) ++else if (this.effect.name.includes("schwerwiegend")) + difficulty = "average" + else + difficulty = "veasy" + +📝 Unterschiede in [x9iKFYYc4Ocy8PTS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/x9iKFYYc4Ocy8PTS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/x9iKFYYc4Ocy8PTS.js:0) (8 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/x9iKFYYc4Ocy8PTS.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/x9iKFYYc4Ocy8PTS.js +@@ -1,10 +1,10 @@ + let item = this.effect.getCreatedItems()?.[0]; +-ChatMessage.create({content : "Grace is beyond style", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) ++ChatMessage.create({content : "La grâce est au delà du style", speaker : ChatMessage.getSpeaker({token: this.actor.getActiveTokens()[0]?.document, actor: this.actor})}, {chatBubble : true}) + let choice = await ItemDialog.create(ItemDialog.objectToArray({ + "nobles" : "Nobles", +-"guilders" : "Guilders", +-"servants" : "Servants" +-}), 1, "Choose Group") ++"guilders" : "Maitres de Guildes", ++"servants" : "Serviteurs" ++}), 1, "Choisissez un groupes") + let name = choice[0]?.name + if (!name) + { + +📝 Unterschiede in [xRd6oA1QWLVpfoBm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xRd6oA1QWLVpfoBm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xRd6oA1QWLVpfoBm.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xRd6oA1QWLVpfoBm.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xRd6oA1QWLVpfoBm.js +@@ -1,4 +1,4 @@ +-if (!this.actor.has("Night Vision")) ++if (!this.actor.has("Vision Nocturne")) + { + let item = await fromUuid("Compendium.wfrp4e-core.items.FmHDbCOy3pH8yKhm"); + let data = item.toObject(); + +📝 Unterschiede in [xS2su09zcza9du09.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xS2su09zcza9du09.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xS2su09zcza9du09.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xS2su09zcza9du09.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xS2su09zcza9du09.js +@@ -1,6 +1,6 @@ +-if (["Minor", "Moderate", "Major"].includes(this.item.system.specification.value)) ++if ([game.i18n.localize("CORRUPTION.Minor"), game.i18n.localize("CORRUPTION.Moderate"), game.i18n.localize("CORRUPTION.Major")].includes(this.item.system.specification.value)) + { + return + } +-let choice = await ItemDialog.create(ItemDialog.objectToArray({minor : "Minor", moderate : "Moderate", major : "Major"}, this.item.img), 1, "Choose Corruption Severity"); ++let choice = await ItemDialog.create(ItemDialog.objectToArray({minor : game.i18n.localize("CORRUPTION.Minor"), moderate : game.i18n.localize("CORRUPTION.Moderate"), major : game.i18n.localize("CORRUPTION.Major")}, this.item.img), 1, "Choisissez Corruption Severity"); + this.item.updateSource({"system.specification.value" : choice[0]?.name || ""}) + +📝 Unterschiede in [xUpKYT7BZCSmAfUy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xUpKYT7BZCSmAfUy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xUpKYT7BZCSmAfUy.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xUpKYT7BZCSmAfUy.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xUpKYT7BZCSmAfUy.js +@@ -6,5 +6,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Quantit√© insuffisante!", "error") + } + +📝 Unterschiede in [xVYVegD692CCv8Yl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xVYVegD692CCv8Yl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xVYVegD692CCv8Yl.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xVYVegD692CCv8Yl.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xVYVegD692CCv8Yl.js +@@ -6,5 +6,5 @@ + { + let char = this.effect.sourceActor.characteristics; + let duration = Math.floor((char.wp.initial + char.wp.advances)/10) ; +-this.script.scriptMessage("Fatethief has been applied for " + duration + " days"); ++this.script.scriptMessage("Voleur du Destin a été appliqué à " + duration + " days"); + } + +📝 Unterschiede in [xWPgIZOQLba5nZ23.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xWPgIZOQLba5nZ23.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xWPgIZOQLba5nZ23.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xWPgIZOQLba5nZ23.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xWPgIZOQLba5nZ23.js +@@ -4,7 +4,7 @@ + await test.roll(); + if (test.succeeded) + { +-this.script.scriptNotification(this.actor.name + "resisted !") ++this.script.scriptNotification(this.actor.name + "a résisté !") + } + else if (test.failed) + { + +📝 Unterschiede in [xgplXZMs459X7XXM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xgplXZMs459X7XXM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xgplXZMs459X7XXM.js:0) (9 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xgplXZMs459X7XXM.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xgplXZMs459X7XXM.js +@@ -1,10 +1,9 @@ + // Apply changes when the mask is worn + if (args.equipped) { + this.actor.createEmbeddedDocuments("ActiveEffect", [this.item.effects.contents[1]?.convertToApplied()]) +-this.script.scriptMessage(`${this.actor.name} dons the ${this.item.name}.
      +-They suffer –20 to all attempts to resist Disease.
      +-If they wear the mask for more than an hour or benefit from any of its effects, they are exposed to @Corruption[moderate]{Moderate Corruption}. +-`, ++this.script.scriptMessage(`${this.actor.name} porte ${this.item.name}.
      ++Il subit -20 à tout ses tests pour résister aux maladies.
      ++Si il porte le masque pendant plus d'une heure ou bénéficie de l'un de ses effets, il est exposé à une @Corruption[moderate]{Corruption moderate}.`, + {whisper: ChatMessage.getWhisperRecipients("GM")}) + } + // Notify of lingering effects when mask is removed +@@ -12,7 +11,7 @@ + { + await this.item.effects.contents[0].delete(); + await this.item.update({name : this.item.name += " (Used)"}) +-this.script.scriptMessage(`${this.item.name} on ${this.actor.name} has been taken off and loses its properties. However, the effects last for [[1d10+4]] days, after which they should be manually removed.`, ++this.script.scriptMessage(`${this.item.name} porté par ${this.actor.name} a été enlevé et a perdu ses propriétés. Cependant, les effets perdurent pendant [[1d10+4]] jours, après quoi ils devront être supprimés manuellement.`, + {whisper: ChatMessage.getWhisperRecipients("GM")} + ) + } + +📝 Unterschiede in [xihniGjgqOhuaKWc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xihniGjgqOhuaKWc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xihniGjgqOhuaKWc.js:0) (6 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xihniGjgqOhuaKWc.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xihniGjgqOhuaKWc.js +@@ -1,8 +1,6 @@ +-if (args.test.failed) +-{ ++if (args.test.failed) { + let applicableCharacteristics = ["ws", "bs", "s", "fel", "ag", "t", "dex"]; +-if (applicableCharacteristics.includes(args.test.characteristicKey)) +-{ ++if (applicableCharacteristics.includes(args.test.characteristicKey)) { + this.actor.addCondition("stunned"); + } + } + +📝 Unterschiede in [xobGBJbgFjQCrwvq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xobGBJbgFjQCrwvq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xobGBJbgFjQCrwvq.js:0) (4 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xobGBJbgFjQCrwvq.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xobGBJbgFjQCrwvq.js +@@ -1,5 +1,5 @@ + let roll; +-if (this.actor.has(game.i18n.localize("NAME.Daemonic")) || this.actor.has(game.i18n.localize("NAME.Undead")) || ["Goblin", "Orc", "Undead"].includes(this.actor.system.details.species.value)) ++if (this.actor.has(game.i18n.localize("NAME.Daemonic")) || this.actor.has(game.i18n.localize("NAME.Undead")) || ["Gobelin", "Orc", "Mort-vivant"].includes(this.actor.system.details.species.value)) + { + roll = await new Roll(`1d10 + ${this.effect.sourceTest.result.overcast.usage.other.current}`).roll() + } +@@ -9,7 +9,7 @@ + } + roll.toMessage(this.script.getChatData()) + await this.actor.applyBasicDamage(roll.total, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, suppressMsg : true}) +-if (this.actor.has("Undead") || args.actor.has("Daemonic")) ++if (this.actor.has("Mort-vivant") || args.actor.has("Démoniaque")) + { + this.actor.addCondition("ablaze") + } + +📝 Unterschiede in [xpgXWoK2zDnG1uiF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xpgXWoK2zDnG1uiF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xpgXWoK2zDnG1uiF.js:0) (44 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/xpgXWoK2zDnG1uiF.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/xpgXWoK2zDnG1uiF.js +@@ -1,24 +1,48 @@ + let stunned = args.actor.hasCondition("stunned") + if (stunned) +-setProperty(stunned, "flags.wfrp4e.scriptData", getProperty(stunned, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) +-let poisoned= args.actor.hasCondition("poisoned") ++{ ++stunned.system.scriptData = stunned.system.scriptData.filter(s => s.trigger != "dialog") ++stunned.system._scripts = null; ++} ++let poisoned = args.actor.hasCondition("poisoned") + if (poisoned) +-setProperty(poisoned, "flags.wfrp4e.scriptData", getProperty(poisoned, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) ++{ ++poisoned.system.scriptData = poisoned.system.scriptData.filter(s => s.trigger != "dialog") ++poisoned.system._scripts = null; ++} + let deafened = args.actor.hasCondition("deafened") + if (deafened) +-setProperty(deafened, "flags.wfrp4e.scriptData", getProperty(deafened, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) ++{ ++deafened.system.scriptData = deafened.system.scriptData.filter(s => s.trigger != "dialog") ++deafened.system._scripts = null; ++} + let entangled = args.actor.hasCondition("entangled") + if (entangled) +-setProperty(entangled, "flags.wfrp4e.scriptData", getProperty(entangled, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) ++{ ++entangled.system.scriptData = entangled.system.scriptData.filter(s => s.trigger != "dialog") ++entangled.system._scripts = null; ++} + let fatigued = args.actor.hasCondition("fatigued") + if (fatigued) +-setProperty(fatigued, "flags.wfrp4e.scriptData", getProperty(fatigued, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) ++{ ++fatigued.system.scriptData = fatigued.system.scriptData.filter(s => s.trigger != "dialog") ++fatigued.system._scripts = null; ++} + let blinded = args.actor.hasCondition("blinded") + if (blinded) +-setProperty(blinded, "flags.wfrp4e.scriptData", getProperty(blinded, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) ++{ ++blinded.system.scriptData = blinded.system.scriptData.filter(s => s.trigger != "dialog") ++blinded.system._scripts = null; ++} + let broken = args.actor.hasCondition("broken") + if (broken) +-setProperty(broken, "flags.wfrp4e.scriptData", getProperty(broken, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) +-let prone= args.actor.hasCondition("prone") ++{ ++broken.system.scriptData = broken.system.scriptData.filter(s => s.trigger != "dialog") ++broken.system._scripts = null; ++} ++let prone = args.actor.hasCondition("prone") + if (prone) +-setProperty(prone, "flags.wfrp4e.scriptData", getProperty(prone, "flags.wfrp4e.scriptData").filter(s => s.trigger != "dialog")) ++{ ++prone.system.scriptData = prone.system.scriptData.filter(s => s.trigger != "dialog") ++prone.system._scripts = null; ++} + +📝 Unterschiede in [yAL0YwZWVm8o1nxa.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yAL0YwZWVm8o1nxa.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yAL0YwZWVm8o1nxa.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/yAL0YwZWVm8o1nxa.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/yAL0YwZWVm8o1nxa.js +@@ -1,6 +1,6 @@ + if (this.actor.hasCondition("dead") && !this.actor.gardenOfCorpses) + { +-this.script.scriptMessage("[[3d10]] @UUID[Compendium.wfrp4e-core.actors.T79RqnDOAQLn3I1s]{zombies} spring forth from the remains.", {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage("[[3d10]] @UUID[Compendium.wfrp4e-core.actors.T79RqnDOAQLn3I1s]{zombies} sortent des d√©combres.", {whisper : ChatMessage.getWhisperRecipients("GM")}) + this.actor.gardenOfCorpses = true; + // local storage is sufficient to prevent multiple messages + } + +📝 Unterschiede in [yCgH3N9AurIiAv0i.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yCgH3N9AurIiAv0i.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yCgH3N9AurIiAv0i.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/yCgH3N9AurIiAv0i.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/yCgH3N9AurIiAv0i.js +@@ -1,4 +1,4 @@ +-if (!this.item.name.includes("(") || this.item.system.tests.value.includes("(Sense)")) ++if (!this.item.name.includes("(") || this.item.system.tests.value.includes("(Sinn)")) + { + let tests = this.item.system.tests.value + let name = this.item.name +@@ -11,12 +11,12 @@ + else // If no sense specified, provide dialog choice + { + let choice = await ItemDialog.create(ItemDialog.objectToArray({ +-taste : "Taste", +-sight : "Sight", +-smell : "Smell", +-hearing : "Hearing", +-touch : "Touch" +-}, this.item.img), 1, "Choose Sense"); ++taste : "Geschmack", ++sight : "Sehen", ++smell : "Geruchs", ++hearing : "Gehör", ++touch : "Tasten" ++}, this.item.img), 1, "Wähle einen Sinn"); + if (choice[0]) + { + name = `${name.split("(")[0].trim()} (${choice[0].name})` + +📝 Unterschiede in [yFMvxecXAZ6T2O0S.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yFMvxecXAZ6T2O0S.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yFMvxecXAZ6T2O0S.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/yFMvxecXAZ6T2O0S.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/yFMvxecXAZ6T2O0S.js +@@ -4,6 +4,6 @@ + await roll.toMessage(this.script.getChatData()); + if (roll.total == 9) + { +-this.script.scriptMessage(`Two @UUID[Compendium.wfrp4e-eis.actors.cLOGeMqUty61nYB9]{Blue Horror of Tzeentch} claw their way out of ${this.actor.name}'s screaming flesh, killing them in the process.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage(`Deux @UUID[Compendium.wfrp4e-eis.actors.cLOGeMqUty61nYB9]{Horreurs bleus de Tzeentch} sortent du corps de ${this.actor.name}, le tuant au passage.`, {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + } + +📝 Unterschiede in [yMMzZ7daCqRlGT3N.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yMMzZ7daCqRlGT3N.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yMMzZ7daCqRlGT3N.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/yMMzZ7daCqRlGT3N.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/yMMzZ7daCqRlGT3N.js +@@ -1,5 +1,5 @@ + let item = args.opposedTest.attackerTest.item; + if (!item.isMagical && (item.type == "weapon" || item.type == "trait")) + { +-args.modifiers.other.push({label : this.effect.name, details : "Remove Damage Rating", value : -1 * (args.totalWoundLoss - args.opposedTest.result.differenceSL)}) ++args.modifiers.other.push({label : this.effect.name, details : "Suppression de la valeur de dommages", value : -1 * (args.totalWoundLoss - args.opposedTest.result.differenceSL)}) + } + +📝 Unterschiede in [yTmRoUstxHMso91c.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yTmRoUstxHMso91c.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yTmRoUstxHMso91c.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/yTmRoUstxHMso91c.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/yTmRoUstxHMso91c.js +@@ -1,4 +1,4 @@ +-if (args.item.name == "Magic Resistance" && args.item.type == "trait") ++if (args.item.name == "Résistance à la Magie" && args.item.type == "trait") + { + args.item.system.specification.value = Number(args.item.system.specification.value) + 1 + } + +📝 Unterschiede in [ynoHNXXCGRS6fTqF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ynoHNXXCGRS6fTqF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ynoHNXXCGRS6fTqF.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/ynoHNXXCGRS6fTqF.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/ynoHNXXCGRS6fTqF.js +@@ -4,7 +4,7 @@ + { + i_gain += (await new Roll("2d10").roll()).total + } +-msg = `${this.actor.prototypeToken.name} gains ${i_gain} Initiative` ++msg = `${this.actor.prototypeToken.name} gagne ${i_gain} en Initiative` + let newValue = i_gain + args.actor.characteristics.i.modifier + this.actor.update({"system.characteristics.i.modifier" : newValue}) + let hitloc = await game.wfrp4e.tables.rollTable("hitloc") + +📝 Unterschiede in [yzN7ZNlgCiSVJqsU.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yzN7ZNlgCiSVJqsU.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yzN7ZNlgCiSVJqsU.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/yzN7ZNlgCiSVJqsU.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/yzN7ZNlgCiSVJqsU.js +@@ -2,5 +2,5 @@ + if (sourceItem) + { + this.actor.applyEffect({effectUuids : [sourceItem.effects.contents[1].uuid]}) +-this.script.scriptNotification("Applied after effects"); ++this.script.scriptNotification("Appliqué après les effets"); + } + +📝 Unterschiede in [z5HfNUrHy5MS3K7a.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/z5HfNUrHy5MS3K7a.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/z5HfNUrHy5MS3K7a.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/z5HfNUrHy5MS3K7a.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/z5HfNUrHy5MS3K7a.js +@@ -3,5 +3,5 @@ + if (test.failed && this.actor.type == "character") + { + this.actor.update({"system.status.corruption.value" : parseInt(this.actor.status.corruption.value) + 1}) +-this.script.scriptMessage("Gained a Corruption point", {whisper : ChatMessage.getWhisperRecipients("GM")}) ++this.script.scriptMessage("Re√ßoit un Point de Corruption", {whisper : ChatMessage.getWhisperRecipients("GM")}) + } + +📝 Unterschiede in [zA6TDttpwMSMl7D8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zA6TDttpwMSMl7D8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zA6TDttpwMSMl7D8.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zA6TDttpwMSMl7D8.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zA6TDttpwMSMl7D8.js +@@ -5,7 +5,7 @@ + // as a result of whatever potential futures they glimpse, + // they can spend a Fortune Point within the next hour to reverse the dice of any failed Test. + if (test.succeeded) { +-this.script.scriptMessage(`As a result of whatever potential futures they glimpse, ${this.actor.prototypeToken.name} can spend a Fortune Point within the next hour to reverse the dice of any failed Test.`, ++this.script.scriptMessage(`En raison des futurs potentiels entrevus, ${this.actor.prototypeToken.name} peut dépenser un Point de Chance durant la prochaine heure pour inverser le résultat d'un test échoué.`, + { + whisper: ChatMessage.getWhisperRecipients("GM"), + blind: true + +📝 Unterschiede in [zK38Rl5t9zbFi4Se.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zK38Rl5t9zbFi4Se.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zK38Rl5t9zbFi4Se.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zK38Rl5t9zbFi4Se.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zK38Rl5t9zbFi4Se.js +@@ -1,5 +1,5 @@ + if (args.opposedTest.result.hitloc.value == this.item.system.location.key && args.totalWoundLoss > 0) + { + args.actor.addCondition("bleeding", 1); +-this.script.scriptNotification("Added Bleeding") ++this.script.scriptNotification("Ajout d'Hemorragique") + } + +📝 Unterschiede in [zR4WAjzXHTZuiu5G.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zR4WAjzXHTZuiu5G.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zR4WAjzXHTZuiu5G.js:0) (37 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zR4WAjzXHTZuiu5G.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zR4WAjzXHTZuiu5G.js +@@ -4,44 +4,37 @@ + let bleedingRoll; + let msg = "" + let damage = effect.conditionValue; +-let scriptArgs = {msg, damage}; +-await Promise.all(actor.runScripts("preApplyCondition", {effect, data : scriptArgs})) ++let scriptArgs = { msg, damage }; ++await Promise.all(actor.runScripts("preApplyCondition", { effect, data: scriptArgs })) + msg = scriptArgs.msg; + damage = scriptArgs.damage; +-msg += await actor.applyBasicDamage(damage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne : false, suppressMsg : true}) +-if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) +-{ ++msg += await actor.applyBasicDamage(damage, { damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, minimumOne: false, suppressMsg: true }) ++if (actor.status.wounds.value == 0 && !actor.hasCondition("unconscious")) { + await actor.addCondition("unconscious") +-msg += "
      " + game.i18n.format("BleedUnc", {name: actor.prototypeToken.name }) ++msg += "
      " + game.i18n.format("BleedUnc", { name: actor.prototypeToken.name }) + } +-if (actor.hasCondition("unconscious")) +-{ ++if (actor.hasCondition("unconscious")) { + bleedingAmt = effect.conditionValue; + bleedingRoll = (await new Roll("1d100").roll()).total; +-if (bleedingRoll <= bleedingAmt * 10) +-{ +-msg += "
      " + game.i18n.format("BleedFail", {name: actor.prototypeToken.name}) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; ++if (bleedingRoll <= bleedingAmt * 10) { ++msg += "
      " + game.i18n.format("BleedFail", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + " " + bleedingRoll + ")"; + await actor.addCondition("dead") + } +-else if (bleedingRoll % 11 == 0) +-{ +-msg += "
      " + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name } ) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" ++else if (bleedingRoll % 11 == 0) { ++msg += "
      " + game.i18n.format("BleedCrit", { name: actor.prototypeToken.name }) + " (" + game.i18n.localize("Rolled") + bleedingRoll + ")" + await actor.removeCondition("bleeding") + } +-else +-{ ++else { + msg += "
      " + game.i18n.localize("BleedRoll") + ": " + bleedingRoll; + } + } +-await Promise.all(actor.runScripts("applyCondition", {effect, data : {bleedingRoll}})) +-if (args.suppressMessage) +-{ ++await Promise.all(actor.runScripts("applyCondition", { effect, data: { bleedingRoll } })) ++if (args.suppressMessage) { + let messageData = game.wfrp4e.utility.chatDataSetup(msg); +-messageData.speaker = {alias: this.effect.name} ++messageData.speaker = { alias: this.effect.name } + messageData.flavor = this.effect.name; + return messageData + } +-else +-{ ++else { + return this.script.scriptMessage(msg) + } + +📝 Unterschiede in [zXh8rgMxWoCLTxVd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zXh8rgMxWoCLTxVd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zXh8rgMxWoCLTxVd.js:0) (16 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zXh8rgMxWoCLTxVd.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zXh8rgMxWoCLTxVd.js +@@ -1,5 +1,5 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; +-const test = 'Sail'; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; ++const test = 'Voile'; + const difficulty = 'challenging'; + const target = 40; + const extendedTestData = { +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [zadppy7FEbXvgUON.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zadppy7FEbXvgUON.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zadppy7FEbXvgUON.js:0) (21 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zadppy7FEbXvgUON.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zadppy7FEbXvgUON.js +@@ -10,10 +10,10 @@ + "wp" : 0, + "fel" : 5 + } +-let skills = ["Perception", "Sleight of Hand", "Stealth (Urban)"] ++let skills = ["Perception", "Escamotage", "Discrétion (Urbaine)"] + let skillAdvancements = [10, 10, 10] +-let talents = ["Criminal", "Etiquette (Criminals)"] +-let trappings = ["Rope, 10 yards", "Lockpick", "Mask"] ++let talents = ["Criminel", "Etiquette (Criminels)"] ++let trappings = ["Corde, 10 mètres", "Outils de crochetage", "Masque"] + let items = [] + let updateObj = this.actor.toObject(); + for (let ch in characteristics) +@@ -44,7 +44,7 @@ + } + else + { +-ui.notifications.warn(`Could not find ${talent}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${talent}`, {permanent : true}) + } + } + for (let trapping of trappings) +@@ -53,22 +53,13 @@ + if (trappingItem) + { + trappingItem = trappingItem.toObject() +-equip(trappingItem) ++trappingItem.system.equipped.value = true; + items.push(trappingItem); + } + else + { +-ui.notifications.warn(`Could not find ${trapping}`, {permanent : true}) ++ui.notifications.warn(`Impossible de trouver ${trapping}`, {permanent : true}) + } + } + await this.actor.update(updateObj) + this.actor.createEmbeddedDocuments("Item", items); +-function equip(item) +-{ +-if (item.type == "armour") +-item.system.worn.value = true +-else if (item.type == "weapon") +-item.system.equipped = true +-else if (item.type == "trapping" && item.system.trappingType.value == "clothingAccessories") +-item.system.worn = true +-} + +📝 Unterschiede in [zdGAvfL7zJ7wpYxG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zdGAvfL7zJ7wpYxG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zdGAvfL7zJ7wpYxG.js:0) (14 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zdGAvfL7zJ7wpYxG.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zdGAvfL7zJ7wpYxG.js +@@ -1,4 +1,4 @@ +-const repaired_message = `

      Finished repairing ${this.item.name}.

      `; ++const repaired_message = `

      Réparation finie ${this.item.name}.

      `; + const test = 'Trade (Carpenter)'; + const difficulty = 'easy'; + const target = 40; +@@ -23,11 +23,10 @@ + }, + effects: [ + { +-name: `Repair the ${this.item.name}`, +-icon: this.item.img, +-flags: { +-wfrp4e: { +-applicationData: { ++name: `Réparer ${this.item.name}`, ++img: this.item.img, ++system: { ++transferData : { + type: "document", + documentType: "Item" + }, +@@ -37,7 +36,7 @@ + script: ` + let id = this.item.flags.wfrp4e.fromEffect; + let effect = this.actor.appliedEffects.find(e => e.id === id); +-this.script.scriptMessage("${repaired_message}"); ++this.script.message("${repaired_message}"); + await effect.item.delete(); + `, + trigger: "deleteEffect" +@@ -45,7 +44,6 @@ + ] + } + } +-} + ] + }; + await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); + +📝 Unterschiede in [zi8Z3NlwVj3IfgAW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zi8Z3NlwVj3IfgAW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zi8Z3NlwVj3IfgAW.js:0) (2 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zi8Z3NlwVj3IfgAW.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zi8Z3NlwVj3IfgAW.js +@@ -6,5 +6,5 @@ + } + else + { +-this.script.scriptNotification("None left!", "error") ++this.script.scriptNotification("Quantit√© insuffisante!", "error") + } + +📝 Unterschiede in [zzk2uRSFjFHB5kjw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zzk2uRSFjFHB5kjw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zzk2uRSFjFHB5kjw.js:0) (5 Änderungen): +--- /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/reference_scripts/zzk2uRSFjFHB5kjw.js ++++ /Users/Alzer/Documents/Übersetzung/Deutsch/wfrp-4e-de/scripts/zzk2uRSFjFHB5kjw.js +@@ -1,7 +1,6 @@ + let roll = Math.ceil(CONFIG.Dice.randomUniform() * 10) +-if (args.test.isFumble && roll == 1 && !args.test.result.misfire) +-{ +-args.test.result.misfire = game.i18n.localize("Misfire") + " (Rolled 1)" ++if (args.test.isFumble && roll == 1 && !args.test.result.misfire) { ++args.test.result.misfire = game.i18n.localize("Misfire") + " (Résultat 1)" + args.test.result.misfireDamage = eval(parseInt(args.test.result.roll.toString().split('').pop()) + args.test.item.Damage) + } + else if (args.test.isFumble && roll != 1) + + +🔎 Zusammenfassung der Unterschiede (nach Anzahl der Änderungen sortiert): +- [zR4WAjzXHTZuiu5G.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zR4WAjzXHTZuiu5G.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zR4WAjzXHTZuiu5G.js:0): 37 Änderungen +- [a8i0sA1RBnD8nHZt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a8i0sA1RBnD8nHZt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a8i0sA1RBnD8nHZt.js:0): 35 Änderungen +- [v5xrDWcrTNFJkyQB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/v5xrDWcrTNFJkyQB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/v5xrDWcrTNFJkyQB.js:0): 25 Änderungen +- [V9zm2hKUVLVZtAcN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9zm2hKUVLVZtAcN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V9zm2hKUVLVZtAcN.js:0): 23 Änderungen +- [ePPgxQOqL1Uhz2k9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ePPgxQOqL1Uhz2k9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ePPgxQOqL1Uhz2k9.js:0): 23 Änderungen +- [KGK9vL1Yl0qmCeCN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KGK9vL1Yl0qmCeCN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KGK9vL1Yl0qmCeCN.js:0): 22 Änderungen +- [5dR7Erj3nwsxLAV7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5dR7Erj3nwsxLAV7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5dR7Erj3nwsxLAV7.js:0): 21 Änderungen +- [N8hA6ysHCTlLd8Kj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/N8hA6ysHCTlLd8Kj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/N8hA6ysHCTlLd8Kj.js:0): 21 Änderungen +- [bEVlJOOA1kLlzpWx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bEVlJOOA1kLlzpWx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bEVlJOOA1kLlzpWx.js:0): 21 Änderungen +- [h766UvswLCsxcMow.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/h766UvswLCsxcMow.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/h766UvswLCsxcMow.js:0): 21 Änderungen +- [lII4KMRblqwFBlsV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lII4KMRblqwFBlsV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lII4KMRblqwFBlsV.js:0): 21 Änderungen +- [zadppy7FEbXvgUON.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zadppy7FEbXvgUON.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zadppy7FEbXvgUON.js:0): 21 Änderungen +- [2vTVR0quRZQtjNfQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2vTVR0quRZQtjNfQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2vTVR0quRZQtjNfQ.js:0): 20 Änderungen +- [4MQ7u4INxp51oyyR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/4MQ7u4INxp51oyyR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/4MQ7u4INxp51oyyR.js:0): 19 Änderungen +- [5JWC0l3JEpOsqbR9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5JWC0l3JEpOsqbR9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5JWC0l3JEpOsqbR9.js:0): 19 Änderungen +- [5JvKJZPcd6Hz5zvn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5JvKJZPcd6Hz5zvn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5JvKJZPcd6Hz5zvn.js:0): 19 Änderungen +- [A1odAcuRbq9797ZB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/A1odAcuRbq9797ZB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/A1odAcuRbq9797ZB.js:0): 19 Änderungen +- [TwgdEucxcHloc4cX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TwgdEucxcHloc4cX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TwgdEucxcHloc4cX.js:0): 19 Änderungen +- [UnqnWi0dZYLf5fTT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UnqnWi0dZYLf5fTT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UnqnWi0dZYLf5fTT.js:0): 19 Änderungen +- [hpwJRAhCsXTp9bd9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hpwJRAhCsXTp9bd9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hpwJRAhCsXTp9bd9.js:0): 19 Änderungen +- [okW06V9UiPC4Vcrn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/okW06V9UiPC4Vcrn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/okW06V9UiPC4Vcrn.js:0): 19 Änderungen +- [whUSkaR1yem21bXp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/whUSkaR1yem21bXp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/whUSkaR1yem21bXp.js:0): 19 Änderungen +- [WO5n7Vbx8AgoVrwC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WO5n7Vbx8AgoVrwC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WO5n7Vbx8AgoVrwC.js:0): 17 Änderungen +- [fYLSe6CrYciap5y8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fYLSe6CrYciap5y8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fYLSe6CrYciap5y8.js:0): 17 Änderungen +- [hhv7PrRdlf9sfC82.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hhv7PrRdlf9sfC82.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hhv7PrRdlf9sfC82.js:0): 17 Änderungen +- [190PHSHKGaJ74wsR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/190PHSHKGaJ74wsR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/190PHSHKGaJ74wsR.js:0): 16 Änderungen +- [H85k4L3yICm7cfIk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H85k4L3yICm7cfIk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H85k4L3yICm7cfIk.js:0): 16 Änderungen +- [OsLXutfXyQCAkhAf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OsLXutfXyQCAkhAf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OsLXutfXyQCAkhAf.js:0): 16 Änderungen +- [groEX1wJ9l00PkDF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/groEX1wJ9l00PkDF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/groEX1wJ9l00PkDF.js:0): 16 Änderungen +- [lvjcddwRiN9iGruy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lvjcddwRiN9iGruy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lvjcddwRiN9iGruy.js:0): 16 Änderungen +- [zXh8rgMxWoCLTxVd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zXh8rgMxWoCLTxVd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zXh8rgMxWoCLTxVd.js:0): 16 Änderungen +- [HJ2X4ZtXei0BXbxf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HJ2X4ZtXei0BXbxf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HJ2X4ZtXei0BXbxf.js:0): 15 Änderungen +- [IupskvzvoGyD2H5o.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IupskvzvoGyD2H5o.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IupskvzvoGyD2H5o.js:0): 15 Änderungen +- [RvipIYj9H7n4UDMe.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RvipIYj9H7n4UDMe.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RvipIYj9H7n4UDMe.js:0): 15 Änderungen +- [ezGqDoC9hNRBnFTB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ezGqDoC9hNRBnFTB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ezGqDoC9hNRBnFTB.js:0): 15 Änderungen +- [03mJu59V4iByWlsO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/03mJu59V4iByWlsO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/03mJu59V4iByWlsO.js:0): 14 Änderungen +- [5ScjIdRUOxblHdWS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5ScjIdRUOxblHdWS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5ScjIdRUOxblHdWS.js:0): 14 Änderungen +- [8GyJgdHVBaLrHCY8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8GyJgdHVBaLrHCY8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8GyJgdHVBaLrHCY8.js:0): 14 Änderungen +- [FtZf56VI6Qsspu0D.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FtZf56VI6Qsspu0D.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FtZf56VI6Qsspu0D.js:0): 14 Änderungen +- [GsAyB5xnK3ASeoah.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GsAyB5xnK3ASeoah.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GsAyB5xnK3ASeoah.js:0): 14 Änderungen +- [JhbZWZhOJ23yOBmG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JhbZWZhOJ23yOBmG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JhbZWZhOJ23yOBmG.js:0): 14 Änderungen +- [Pn5fekTbkwlr61XU.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Pn5fekTbkwlr61XU.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Pn5fekTbkwlr61XU.js:0): 14 Änderungen +- [Q7eULXQ9AfDRmUGO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q7eULXQ9AfDRmUGO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Q7eULXQ9AfDRmUGO.js:0): 14 Änderungen +- [R8FBHZaaARA3z9pB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R8FBHZaaARA3z9pB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R8FBHZaaARA3z9pB.js:0): 14 Änderungen +- [R8ecKGRzOr4ThvVa.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R8ecKGRzOr4ThvVa.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R8ecKGRzOr4ThvVa.js:0): 14 Änderungen +- [RPqgRUkiLY5thVbC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RPqgRUkiLY5thVbC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RPqgRUkiLY5thVbC.js:0): 14 Änderungen +- [UlRSaZG4ZUU6fMND.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UlRSaZG4ZUU6fMND.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UlRSaZG4ZUU6fMND.js:0): 14 Änderungen +- [WR0Kqn8CF5iwToak.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WR0Kqn8CF5iwToak.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WR0Kqn8CF5iwToak.js:0): 14 Änderungen +- [ZCBcwbVFHFTFRntb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZCBcwbVFHFTFRntb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZCBcwbVFHFTFRntb.js:0): 14 Änderungen +- [ZRoG7GiMDQWso6gN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZRoG7GiMDQWso6gN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZRoG7GiMDQWso6gN.js:0): 14 Änderungen +- [goz8yTlMozlsz3uY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/goz8yTlMozlsz3uY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/goz8yTlMozlsz3uY.js:0): 14 Änderungen +- [nkSmu7v9WiAaK4vq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkSmu7v9WiAaK4vq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nkSmu7v9WiAaK4vq.js:0): 14 Änderungen +- [q8lOAWr2970sZeTw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/q8lOAWr2970sZeTw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/q8lOAWr2970sZeTw.js:0): 14 Änderungen +- [rBAoyhzeU3Q8MVSk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rBAoyhzeU3Q8MVSk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rBAoyhzeU3Q8MVSk.js:0): 14 Änderungen +- [uhCq5NwjQ2a2idPn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uhCq5NwjQ2a2idPn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uhCq5NwjQ2a2idPn.js:0): 14 Änderungen +- [w4RuGIfseGoxXA3k.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/w4RuGIfseGoxXA3k.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/w4RuGIfseGoxXA3k.js:0): 14 Änderungen +- [yCgH3N9AurIiAv0i.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yCgH3N9AurIiAv0i.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yCgH3N9AurIiAv0i.js:0): 14 Änderungen +- [zdGAvfL7zJ7wpYxG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zdGAvfL7zJ7wpYxG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zdGAvfL7zJ7wpYxG.js:0): 14 Änderungen +- [oPg4se8iQRD14kmB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oPg4se8iQRD14kmB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oPg4se8iQRD14kmB.js:0): 13 Änderungen +- [8xqYrBIf1Zhlwizg.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8xqYrBIf1Zhlwizg.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8xqYrBIf1Zhlwizg.js:0): 12 Änderungen +- [OGX4BneaYAnV25TO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OGX4BneaYAnV25TO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OGX4BneaYAnV25TO.js:0): 12 Änderungen +- [VINX6TBAJQznhVcN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VINX6TBAJQznhVcN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VINX6TBAJQznhVcN.js:0): 12 Änderungen +- [6qJP0hpShEM43ohx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6qJP0hpShEM43ohx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6qJP0hpShEM43ohx.js:0): 10 Änderungen +- [7wBWUw05q0igh508.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7wBWUw05q0igh508.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7wBWUw05q0igh508.js:0): 10 Änderungen +- [EC8cZmqrE095cDc2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EC8cZmqrE095cDc2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EC8cZmqrE095cDc2.js:0): 10 Änderungen +- [R32U01LBjBrK1pns.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R32U01LBjBrK1pns.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R32U01LBjBrK1pns.js:0): 10 Änderungen +- [Z6OmmC0irJzxSnMH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z6OmmC0irJzxSnMH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Z6OmmC0irJzxSnMH.js:0): 10 Änderungen +- [dWr3tkFoIzsAgelu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dWr3tkFoIzsAgelu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dWr3tkFoIzsAgelu.js:0): 10 Änderungen +- [g4t56A09yrpZaJQ2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/g4t56A09yrpZaJQ2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/g4t56A09yrpZaJQ2.js:0): 10 Änderungen +- [xgplXZMs459X7XXM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xgplXZMs459X7XXM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xgplXZMs459X7XXM.js:0): 9 Änderungen +- [2QB0LjueuJcIaHaC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2QB0LjueuJcIaHaC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2QB0LjueuJcIaHaC.js:0): 8 Änderungen +- [2W9uMTT6iJhfQ044.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2W9uMTT6iJhfQ044.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2W9uMTT6iJhfQ044.js:0): 8 Änderungen +- [6BmvV9c03FkfisnE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6BmvV9c03FkfisnE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6BmvV9c03FkfisnE.js:0): 8 Änderungen +- [7JW9t8AYSDkkzG2V.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7JW9t8AYSDkkzG2V.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7JW9t8AYSDkkzG2V.js:0): 8 Änderungen +- [CWNGrg7se91RC95g.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CWNGrg7se91RC95g.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CWNGrg7se91RC95g.js:0): 8 Änderungen +- [Cjj4iLkdY1NaZRCi.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Cjj4iLkdY1NaZRCi.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Cjj4iLkdY1NaZRCi.js:0): 8 Änderungen +- [E1vUepgop09FF5wy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/E1vUepgop09FF5wy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/E1vUepgop09FF5wy.js:0): 8 Änderungen +- [HrOBAXsEX073ReKl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HrOBAXsEX073ReKl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HrOBAXsEX073ReKl.js:0): 8 Änderungen +- [MgMMoC4Umpg7fmNI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MgMMoC4Umpg7fmNI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MgMMoC4Umpg7fmNI.js:0): 8 Änderungen +- [ULmZMLezDamerN04.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ULmZMLezDamerN04.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ULmZMLezDamerN04.js:0): 8 Änderungen +- [g07HI7vyqiFXPB0o.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/g07HI7vyqiFXPB0o.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/g07HI7vyqiFXPB0o.js:0): 8 Änderungen +- [g0SzfsLyW7aD2F19.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/g0SzfsLyW7aD2F19.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/g0SzfsLyW7aD2F19.js:0): 8 Änderungen +- [j98hvy6r9G2Vjmid.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/j98hvy6r9G2Vjmid.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/j98hvy6r9G2Vjmid.js:0): 8 Änderungen +- [naF5EWr1CBkYRZTK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/naF5EWr1CBkYRZTK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/naF5EWr1CBkYRZTK.js:0): 8 Änderungen +- [nkdKBJ8ItqWiRAWL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkdKBJ8ItqWiRAWL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nkdKBJ8ItqWiRAWL.js:0): 8 Änderungen +- [qu194dVXm9Vx1TGk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qu194dVXm9Vx1TGk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qu194dVXm9Vx1TGk.js:0): 8 Änderungen +- [sbK1a7txpSoXFzyB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sbK1a7txpSoXFzyB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sbK1a7txpSoXFzyB.js:0): 8 Änderungen +- [sx7Ikn8WW00gBFb4.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sx7Ikn8WW00gBFb4.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sx7Ikn8WW00gBFb4.js:0): 8 Änderungen +- [x9iKFYYc4Ocy8PTS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/x9iKFYYc4Ocy8PTS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/x9iKFYYc4Ocy8PTS.js:0): 8 Änderungen +- [HUKzssLxeQo1wbx9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HUKzssLxeQo1wbx9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HUKzssLxeQo1wbx9.js:0): 7 Änderungen +- [jdS2u1tQPYeO55WI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jdS2u1tQPYeO55WI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jdS2u1tQPYeO55WI.js:0): 7 Änderungen +- [5M6IgCUncCwyxHok.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5M6IgCUncCwyxHok.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5M6IgCUncCwyxHok.js:0): 6 Änderungen +- [6Aqq4F4Xui923sc6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6Aqq4F4Xui923sc6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6Aqq4F4Xui923sc6.js:0): 6 Änderungen +- [8ByuHnUZ4RNTdGVv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8ByuHnUZ4RNTdGVv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8ByuHnUZ4RNTdGVv.js:0): 6 Änderungen +- [BD7bVTU2pVoRSRBe.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BD7bVTU2pVoRSRBe.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BD7bVTU2pVoRSRBe.js:0): 6 Änderungen +- [HASsi6wYHVALExWq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HASsi6wYHVALExWq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HASsi6wYHVALExWq.js:0): 6 Änderungen +- [HMC6hPND9DWLFfZE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HMC6hPND9DWLFfZE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HMC6hPND9DWLFfZE.js:0): 6 Änderungen +- [IzoOmDywGLqLNljN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IzoOmDywGLqLNljN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IzoOmDywGLqLNljN.js:0): 6 Änderungen +- [JXBUE0XuJOJNG7zE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JXBUE0XuJOJNG7zE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JXBUE0XuJOJNG7zE.js:0): 6 Änderungen +- [QfTBRGXVfwQSghmd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QfTBRGXVfwQSghmd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QfTBRGXVfwQSghmd.js:0): 6 Änderungen +- [Z6jNlyZMECkW4Hon.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z6jNlyZMECkW4Hon.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Z6jNlyZMECkW4Hon.js:0): 6 Änderungen +- [ZNW3ubbKIYXAyE48.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZNW3ubbKIYXAyE48.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZNW3ubbKIYXAyE48.js:0): 6 Änderungen +- [iuSoKntfJ4eAPafQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iuSoKntfJ4eAPafQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iuSoKntfJ4eAPafQ.js:0): 6 Änderungen +- [lhemR8EP5tGNKout.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lhemR8EP5tGNKout.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lhemR8EP5tGNKout.js:0): 6 Änderungen +- [qmOt7h17hGAKqQe0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qmOt7h17hGAKqQe0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qmOt7h17hGAKqQe0.js:0): 6 Änderungen +- [tCIT1a12Gt6k2ohA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tCIT1a12Gt6k2ohA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tCIT1a12Gt6k2ohA.js:0): 6 Änderungen +- [wbM7tpw4TxvadcWm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/wbM7tpw4TxvadcWm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/wbM7tpw4TxvadcWm.js:0): 6 Änderungen +- [xihniGjgqOhuaKWc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xihniGjgqOhuaKWc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xihniGjgqOhuaKWc.js:0): 6 Änderungen +- [BHbFqhJPzZI2txLs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BHbFqhJPzZI2txLs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BHbFqhJPzZI2txLs.js:0): 5 Änderungen +- [CS6O7UUjQcUJoOUP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CS6O7UUjQcUJoOUP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CS6O7UUjQcUJoOUP.js:0): 5 Änderungen +- [DqJFo74trI916qXN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DqJFo74trI916qXN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DqJFo74trI916qXN.js:0): 5 Änderungen +- [Qgn92fZyc3Psn8QJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Qgn92fZyc3Psn8QJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Qgn92fZyc3Psn8QJ.js:0): 5 Änderungen +- [R6SnyF3y4Vsq6oga.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/R6SnyF3y4Vsq6oga.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/R6SnyF3y4Vsq6oga.js:0): 5 Änderungen +- [UDPsaymtZf39UsMk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UDPsaymtZf39UsMk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UDPsaymtZf39UsMk.js:0): 5 Änderungen +- [Wo4wQKUxSItAhRzZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Wo4wQKUxSItAhRzZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Wo4wQKUxSItAhRzZ.js:0): 5 Änderungen +- [XcvDYNZgJ2rpAdDV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/XcvDYNZgJ2rpAdDV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/XcvDYNZgJ2rpAdDV.js:0): 5 Änderungen +- [cTYNaKbepMwqYsZ8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cTYNaKbepMwqYsZ8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cTYNaKbepMwqYsZ8.js:0): 5 Änderungen +- [zzk2uRSFjFHB5kjw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/zzk2uRSFjFHB5kjw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/zzk2uRSFjFHB5kjw.js:0): 5 Änderungen +- [0FWto1oEr3jbWggw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/0FWto1oEr3jbWggw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/0FWto1oEr3jbWggw.js:0): 4 Änderungen +- [0R0QAr3D024kWPfo.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/0R0QAr3D024kWPfo.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/0R0QAr3D024kWPfo.js:0): 4 Änderungen +- [0Uly7OmkH0zqYbxQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/0Uly7OmkH0zqYbxQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/0Uly7OmkH0zqYbxQ.js:0): 4 Änderungen +- [1jQq9v8fXK8zuEBU.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1jQq9v8fXK8zuEBU.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1jQq9v8fXK8zuEBU.js:0): 4 Änderungen +- [1kB2su7hLRYDhZ2H.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1kB2su7hLRYDhZ2H.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1kB2su7hLRYDhZ2H.js:0): 4 Änderungen +- [2zeP2nMSURjxrqYz.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2zeP2nMSURjxrqYz.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2zeP2nMSURjxrqYz.js:0): 4 Änderungen +- [3JEzEzF1SeYA9lsV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/3JEzEzF1SeYA9lsV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/3JEzEzF1SeYA9lsV.js:0): 4 Änderungen +- [58rFc9HiBoX66J6p.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/58rFc9HiBoX66J6p.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/58rFc9HiBoX66J6p.js:0): 4 Änderungen +- [6ZS1rQLkNvMDO0Fp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6ZS1rQLkNvMDO0Fp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6ZS1rQLkNvMDO0Fp.js:0): 4 Änderungen +- [6hAgggYpNR3r4QWC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6hAgggYpNR3r4QWC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6hAgggYpNR3r4QWC.js:0): 4 Änderungen +- [6mpw9cGseG4W4eyd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6mpw9cGseG4W4eyd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6mpw9cGseG4W4eyd.js:0): 4 Änderungen +- [7F6aGxZJjwxm5e5P.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7F6aGxZJjwxm5e5P.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7F6aGxZJjwxm5e5P.js:0): 4 Änderungen +- [7WR2hJjHPhHhHxAq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7WR2hJjHPhHhHxAq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7WR2hJjHPhHhHxAq.js:0): 4 Änderungen +- [8zTkDVziBPaNbMQX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8zTkDVziBPaNbMQX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8zTkDVziBPaNbMQX.js:0): 4 Änderungen +- [9fK07tqqZyPg7dpx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9fK07tqqZyPg7dpx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9fK07tqqZyPg7dpx.js:0): 4 Änderungen +- [ACtDCTLZXmd5uXjX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ACtDCTLZXmd5uXjX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ACtDCTLZXmd5uXjX.js:0): 4 Änderungen +- [BVNKF9omCppWPLys.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BVNKF9omCppWPLys.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BVNKF9omCppWPLys.js:0): 4 Änderungen +- [CW5Vlr57OaMkKJ8Q.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CW5Vlr57OaMkKJ8Q.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CW5Vlr57OaMkKJ8Q.js:0): 4 Änderungen +- [DmbWR9s5I8LHBwxB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DmbWR9s5I8LHBwxB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DmbWR9s5I8LHBwxB.js:0): 4 Änderungen +- [EdTChmSouS0MSmk5.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EdTChmSouS0MSmk5.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EdTChmSouS0MSmk5.js:0): 4 Änderungen +- [EmmG49pMOPHRwDzR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EmmG49pMOPHRwDzR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EmmG49pMOPHRwDzR.js:0): 4 Änderungen +- [FPYNcxm21678boLT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FPYNcxm21678boLT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FPYNcxm21678boLT.js:0): 4 Änderungen +- [GjkxWj9wCAclM9WA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GjkxWj9wCAclM9WA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GjkxWj9wCAclM9WA.js:0): 4 Änderungen +- [GzsuEg7gZy1f0ljy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GzsuEg7gZy1f0ljy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GzsuEg7gZy1f0ljy.js:0): 4 Änderungen +- [IR5URcjnCuWBFMoN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IR5URcjnCuWBFMoN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IR5URcjnCuWBFMoN.js:0): 4 Änderungen +- [JQruHprM5R5vZ9DA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JQruHprM5R5vZ9DA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JQruHprM5R5vZ9DA.js:0): 4 Änderungen +- [Jjq3oPYbI26zjxME.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jjq3oPYbI26zjxME.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Jjq3oPYbI26zjxME.js:0): 4 Änderungen +- [KICZPwLvbUSxbDrE.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KICZPwLvbUSxbDrE.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KICZPwLvbUSxbDrE.js:0): 4 Änderungen +- [KkjkYAGI9Em1NgiQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KkjkYAGI9Em1NgiQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KkjkYAGI9Em1NgiQ.js:0): 4 Änderungen +- [KmngDrPD72xn22kZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KmngDrPD72xn22kZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KmngDrPD72xn22kZ.js:0): 4 Änderungen +- [Mir4FMHQRdVqazAF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Mir4FMHQRdVqazAF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Mir4FMHQRdVqazAF.js:0): 4 Änderungen +- [Msygc7oQQPB5fw0b.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Msygc7oQQPB5fw0b.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Msygc7oQQPB5fw0b.js:0): 4 Änderungen +- [O45vpR4jDbQQnmvJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/O45vpR4jDbQQnmvJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/O45vpR4jDbQQnmvJ.js:0): 4 Änderungen +- [OEy2lxvic37dRBEt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OEy2lxvic37dRBEt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OEy2lxvic37dRBEt.js:0): 4 Änderungen +- [OicQSEVZBbqLtrcf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OicQSEVZBbqLtrcf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OicQSEVZBbqLtrcf.js:0): 4 Änderungen +- [Ph3TdQw1lGiFr049.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Ph3TdQw1lGiFr049.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Ph3TdQw1lGiFr049.js:0): 4 Änderungen +- [QRSACifDrvojIXHB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QRSACifDrvojIXHB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QRSACifDrvojIXHB.js:0): 4 Änderungen +- [RHyBLYT5oHf7EPnG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RHyBLYT5oHf7EPnG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RHyBLYT5oHf7EPnG.js:0): 4 Änderungen +- [RwMw848y13Jq2L4f.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RwMw848y13Jq2L4f.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RwMw848y13Jq2L4f.js:0): 4 Änderungen +- [S1QihXuvdEVzeRtB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/S1QihXuvdEVzeRtB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/S1QihXuvdEVzeRtB.js:0): 4 Änderungen +- [S3Dev4hleOYqDNe9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/S3Dev4hleOYqDNe9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/S3Dev4hleOYqDNe9.js:0): 4 Änderungen +- [U1UpSRJOSjPpO4HS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U1UpSRJOSjPpO4HS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U1UpSRJOSjPpO4HS.js:0): 4 Änderungen +- [U26XMie3Kjoddisj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U26XMie3Kjoddisj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U26XMie3Kjoddisj.js:0): 4 Änderungen +- [U4A8FDNmwBGTuQZO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U4A8FDNmwBGTuQZO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U4A8FDNmwBGTuQZO.js:0): 4 Änderungen +- [V9wD9FWHWxZUOGSI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9wD9FWHWxZUOGSI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V9wD9FWHWxZUOGSI.js:0): 4 Änderungen +- [VLdF2HPnCrNIgp7a.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VLdF2HPnCrNIgp7a.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VLdF2HPnCrNIgp7a.js:0): 4 Änderungen +- [Y8J66v8VTKUASGuK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Y8J66v8VTKUASGuK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Y8J66v8VTKUASGuK.js:0): 4 Änderungen +- [YwLEw4BiKq4EMy57.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YwLEw4BiKq4EMy57.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YwLEw4BiKq4EMy57.js:0): 4 Änderungen +- [ZCuOjLAeENKN1Q4L.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZCuOjLAeENKN1Q4L.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZCuOjLAeENKN1Q4L.js:0): 4 Änderungen +- [chUpiI3el8IO8MSs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/chUpiI3el8IO8MSs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/chUpiI3el8IO8MSs.js:0): 4 Änderungen +- [dbOSvpgcPjsc2uvq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dbOSvpgcPjsc2uvq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dbOSvpgcPjsc2uvq.js:0): 4 Änderungen +- [ebDQH0MdGAG02CHl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ebDQH0MdGAG02CHl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ebDQH0MdGAG02CHl.js:0): 4 Änderungen +- [ed7Sud9HM3uB2j6b.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ed7Sud9HM3uB2j6b.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ed7Sud9HM3uB2j6b.js:0): 4 Änderungen +- [ekjJQHyMbZT2vqdc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ekjJQHyMbZT2vqdc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ekjJQHyMbZT2vqdc.js:0): 4 Änderungen +- [f29Pv6TQtgILxt1h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/f29Pv6TQtgILxt1h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/f29Pv6TQtgILxt1h.js:0): 4 Änderungen +- [ft0LaRWZT5WtnptP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ft0LaRWZT5WtnptP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ft0LaRWZT5WtnptP.js:0): 4 Änderungen +- [hDC6lroDEPVBituR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hDC6lroDEPVBituR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hDC6lroDEPVBituR.js:0): 4 Änderungen +- [hSImyYjL0CENTvXf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hSImyYjL0CENTvXf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hSImyYjL0CENTvXf.js:0): 4 Änderungen +- [hmk8zV1LTElHUI8A.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hmk8zV1LTElHUI8A.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hmk8zV1LTElHUI8A.js:0): 4 Änderungen +- [i5AN97A7IOeygEFA.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/i5AN97A7IOeygEFA.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/i5AN97A7IOeygEFA.js:0): 4 Änderungen +- [iO2hCDwyQ7v4qrOI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iO2hCDwyQ7v4qrOI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iO2hCDwyQ7v4qrOI.js:0): 4 Änderungen +- [imKVsCy8rya2gkwO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/imKVsCy8rya2gkwO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/imKVsCy8rya2gkwO.js:0): 4 Änderungen +- [jHgxpe6TJDlP3oTn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jHgxpe6TJDlP3oTn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jHgxpe6TJDlP3oTn.js:0): 4 Änderungen +- [lZuavewrJzOehrJQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lZuavewrJzOehrJQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lZuavewrJzOehrJQ.js:0): 4 Änderungen +- [laptAldsT0Fm1rDt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/laptAldsT0Fm1rDt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/laptAldsT0Fm1rDt.js:0): 4 Änderungen +- [n5RJqJL9fdRIxkuN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/n5RJqJL9fdRIxkuN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/n5RJqJL9fdRIxkuN.js:0): 4 Änderungen +- [oDNfCNyt5KaUYmg2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oDNfCNyt5KaUYmg2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oDNfCNyt5KaUYmg2.js:0): 4 Änderungen +- [pR4Q2OnPxXtwRVli.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/pR4Q2OnPxXtwRVli.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/pR4Q2OnPxXtwRVli.js:0): 4 Änderungen +- [qAEZgtu5CrfUkxhx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qAEZgtu5CrfUkxhx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qAEZgtu5CrfUkxhx.js:0): 4 Änderungen +- [qnJu82zgnfOsnqZV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qnJu82zgnfOsnqZV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qnJu82zgnfOsnqZV.js:0): 4 Änderungen +- [qxzhPtysAjPWspKf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qxzhPtysAjPWspKf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qxzhPtysAjPWspKf.js:0): 4 Änderungen +- [ramav4ymrDDkPKK4.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ramav4ymrDDkPKK4.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ramav4ymrDDkPKK4.js:0): 4 Änderungen +- [red2bt4PGgIWAdTR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/red2bt4PGgIWAdTR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/red2bt4PGgIWAdTR.js:0): 4 Änderungen +- [rpxQU26BU7nwjtqY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rpxQU26BU7nwjtqY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rpxQU26BU7nwjtqY.js:0): 4 Änderungen +- [sgS9rblPkQB36C8S.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sgS9rblPkQB36C8S.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sgS9rblPkQB36C8S.js:0): 4 Änderungen +- [shkBUtUuMPDKvFm7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/shkBUtUuMPDKvFm7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/shkBUtUuMPDKvFm7.js:0): 4 Änderungen +- [syqqBkyP5tGqZ78t.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/syqqBkyP5tGqZ78t.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/syqqBkyP5tGqZ78t.js:0): 4 Änderungen +- [tUwP7TjrOOOnaCYJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tUwP7TjrOOOnaCYJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tUwP7TjrOOOnaCYJ.js:0): 4 Änderungen +- [ugL5IBB6R2yWyMWd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ugL5IBB6R2yWyMWd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ugL5IBB6R2yWyMWd.js:0): 4 Änderungen +- [v4CCxVaVGf9i8U7X.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/v4CCxVaVGf9i8U7X.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/v4CCxVaVGf9i8U7X.js:0): 4 Änderungen +- [vc4bELo0cWYoILfB.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vc4bELo0cWYoILfB.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vc4bELo0cWYoILfB.js:0): 4 Änderungen +- [x2RLUUNB7BiIDYCP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/x2RLUUNB7BiIDYCP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/x2RLUUNB7BiIDYCP.js:0): 4 Änderungen +- [xS2su09zcza9du09.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xS2su09zcza9du09.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xS2su09zcza9du09.js:0): 4 Änderungen +- [xobGBJbgFjQCrwvq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xobGBJbgFjQCrwvq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xobGBJbgFjQCrwvq.js:0): 4 Änderungen +- [SWIJjM2RCmzfr64u.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/SWIJjM2RCmzfr64u.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/SWIJjM2RCmzfr64u.js:0): 3 Änderungen +- [UsuwsmU1TUQLQVM2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UsuwsmU1TUQLQVM2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UsuwsmU1TUQLQVM2.js:0): 3 Änderungen +- [0abwNjpzo3SbEOeO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/0abwNjpzo3SbEOeO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/0abwNjpzo3SbEOeO.js:0): 2 Änderungen +- [11uCC0mK2uL783al.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/11uCC0mK2uL783al.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/11uCC0mK2uL783al.js:0): 2 Änderungen +- [1BT0MWM2cbhlEnrn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1BT0MWM2cbhlEnrn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1BT0MWM2cbhlEnrn.js:0): 2 Änderungen +- [1ZArMNUI8qqH6zkX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1ZArMNUI8qqH6zkX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1ZArMNUI8qqH6zkX.js:0): 2 Änderungen +- [1exiWlVUHsXDLLAH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1exiWlVUHsXDLLAH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1exiWlVUHsXDLLAH.js:0): 2 Änderungen +- [1fQr1Dg7DX0vfz3r.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1fQr1Dg7DX0vfz3r.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1fQr1Dg7DX0vfz3r.js:0): 2 Änderungen +- [1wrPvP6lJwIAfmsl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/1wrPvP6lJwIAfmsl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/1wrPvP6lJwIAfmsl.js:0): 2 Änderungen +- [23vWiHUjxtRQ3Efz.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/23vWiHUjxtRQ3Efz.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/23vWiHUjxtRQ3Efz.js:0): 2 Änderungen +- [2Qi1hwLYhdE6v6Hs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2Qi1hwLYhdE6v6Hs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2Qi1hwLYhdE6v6Hs.js:0): 2 Änderungen +- [2WSN306tL4apjRtD.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2WSN306tL4apjRtD.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2WSN306tL4apjRtD.js:0): 2 Änderungen +- [2cKarG9ToyW2ptCd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2cKarG9ToyW2ptCd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2cKarG9ToyW2ptCd.js:0): 2 Änderungen +- [2rzxQlL7A9ujZ9uK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/2rzxQlL7A9ujZ9uK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/2rzxQlL7A9ujZ9uK.js:0): 2 Änderungen +- [3D5ImpMgpOTPucvv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/3D5ImpMgpOTPucvv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/3D5ImpMgpOTPucvv.js:0): 2 Änderungen +- [3IGO7xEjRjat937X.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/3IGO7xEjRjat937X.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/3IGO7xEjRjat937X.js:0): 2 Änderungen +- [4fnTKgl0HW9ZrWyJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/4fnTKgl0HW9ZrWyJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/4fnTKgl0HW9ZrWyJ.js:0): 2 Änderungen +- [4pQW4WLyhjbZR85k.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/4pQW4WLyhjbZR85k.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/4pQW4WLyhjbZR85k.js:0): 2 Änderungen +- [5DI6cHAg1LHo54Yv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5DI6cHAg1LHo54Yv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5DI6cHAg1LHo54Yv.js:0): 2 Änderungen +- [5Fe1ELaS6Gnvy0Cj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5Fe1ELaS6Gnvy0Cj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5Fe1ELaS6Gnvy0Cj.js:0): 2 Änderungen +- [5sI9iYh5j2nx2XyT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/5sI9iYh5j2nx2XyT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/5sI9iYh5j2nx2XyT.js:0): 2 Änderungen +- [65xE9OV5sA1ZWT7j.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/65xE9OV5sA1ZWT7j.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/65xE9OV5sA1ZWT7j.js:0): 2 Änderungen +- [6H6vNjzvMGl2ZqCR.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6H6vNjzvMGl2ZqCR.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6H6vNjzvMGl2ZqCR.js:0): 2 Änderungen +- [6JrUjs3g5x6bFnj3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6JrUjs3g5x6bFnj3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6JrUjs3g5x6bFnj3.js:0): 2 Änderungen +- [6QZUX7ZrFxOzqI0b.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6QZUX7ZrFxOzqI0b.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6QZUX7ZrFxOzqI0b.js:0): 2 Änderungen +- [6Ws3ieQ7pG5poUyT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6Ws3ieQ7pG5poUyT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6Ws3ieQ7pG5poUyT.js:0): 2 Änderungen +- [6jcTzK1XEuWqAacN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6jcTzK1XEuWqAacN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6jcTzK1XEuWqAacN.js:0): 2 Änderungen +- [6kifXp2jXEaQVJsg.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6kifXp2jXEaQVJsg.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6kifXp2jXEaQVJsg.js:0): 2 Änderungen +- [6uldpFvKOCoW92cC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6uldpFvKOCoW92cC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6uldpFvKOCoW92cC.js:0): 2 Änderungen +- [6xTtJEhRc4OjcDTf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/6xTtJEhRc4OjcDTf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/6xTtJEhRc4OjcDTf.js:0): 2 Änderungen +- [7Ck0fkzE4WQ62qVe.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7Ck0fkzE4WQ62qVe.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7Ck0fkzE4WQ62qVe.js:0): 2 Änderungen +- [7ZoFUMDG2WJd8RMg.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7ZoFUMDG2WJd8RMg.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7ZoFUMDG2WJd8RMg.js:0): 2 Änderungen +- [7e8FgQUF2oANANmx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/7e8FgQUF2oANANmx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/7e8FgQUF2oANANmx.js:0): 2 Änderungen +- [84IB8CWa55XzoAkv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/84IB8CWa55XzoAkv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/84IB8CWa55XzoAkv.js:0): 2 Änderungen +- [8araLuwmBq8GKEw3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8araLuwmBq8GKEw3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8araLuwmBq8GKEw3.js:0): 2 Änderungen +- [8rq4GL5d5nCn4kO7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8rq4GL5d5nCn4kO7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8rq4GL5d5nCn4kO7.js:0): 2 Änderungen +- [8tyMXDfHR8AJBdDu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/8tyMXDfHR8AJBdDu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/8tyMXDfHR8AJBdDu.js:0): 2 Änderungen +- [9A7rYY3FKi5XLihG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9A7rYY3FKi5XLihG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9A7rYY3FKi5XLihG.js:0): 2 Änderungen +- [9JnPK1jNUEso7Pv8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9JnPK1jNUEso7Pv8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9JnPK1jNUEso7Pv8.js:0): 2 Änderungen +- [9VfeubiCV83LN9iY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9VfeubiCV83LN9iY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9VfeubiCV83LN9iY.js:0): 2 Änderungen +- [9WZa63lr0K3SsP4G.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9WZa63lr0K3SsP4G.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9WZa63lr0K3SsP4G.js:0): 2 Änderungen +- [9Yn9uViEjcuaESJ2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/9Yn9uViEjcuaESJ2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/9Yn9uViEjcuaESJ2.js:0): 2 Änderungen +- [A0OK0qAMmnf8iNJf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/A0OK0qAMmnf8iNJf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/A0OK0qAMmnf8iNJf.js:0): 2 Änderungen +- [A6DcKPzAGntzSCil.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/A6DcKPzAGntzSCil.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/A6DcKPzAGntzSCil.js:0): 2 Änderungen +- [ACgKpKrEEHoNGG0h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ACgKpKrEEHoNGG0h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ACgKpKrEEHoNGG0h.js:0): 2 Änderungen +- [AGD7zCyV4zruvnWu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AGD7zCyV4zruvnWu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AGD7zCyV4zruvnWu.js:0): 2 Änderungen +- [AMI2wDJqsIZsoq1e.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AMI2wDJqsIZsoq1e.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AMI2wDJqsIZsoq1e.js:0): 2 Änderungen +- [AMxezwtYnWCF6Oza.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AMxezwtYnWCF6Oza.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AMxezwtYnWCF6Oza.js:0): 2 Änderungen +- [Adgs6Zs0FdefO6qx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Adgs6Zs0FdefO6qx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Adgs6Zs0FdefO6qx.js:0): 2 Änderungen +- [ApaLcUhuty3EzJoP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ApaLcUhuty3EzJoP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ApaLcUhuty3EzJoP.js:0): 2 Änderungen +- [AqHLHp4kH6KULk3e.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/AqHLHp4kH6KULk3e.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/AqHLHp4kH6KULk3e.js:0): 2 Änderungen +- [B950b0XnIUYCdVwu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/B950b0XnIUYCdVwu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/B950b0XnIUYCdVwu.js:0): 2 Änderungen +- [BtyFhdGMKiMamGhM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/BtyFhdGMKiMamGhM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/BtyFhdGMKiMamGhM.js:0): 2 Änderungen +- [CHnaBPHk6HdFS512.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CHnaBPHk6HdFS512.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CHnaBPHk6HdFS512.js:0): 2 Änderungen +- [CIxZYkHggBQ6EsHP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CIxZYkHggBQ6EsHP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CIxZYkHggBQ6EsHP.js:0): 2 Änderungen +- [CiFeduksZJ6PRulx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/CiFeduksZJ6PRulx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/CiFeduksZJ6PRulx.js:0): 2 Änderungen +- [DHxUKY9LMyifFgCi.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DHxUKY9LMyifFgCi.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DHxUKY9LMyifFgCi.js:0): 2 Änderungen +- [DVlZGbiuMIHEQOnM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DVlZGbiuMIHEQOnM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DVlZGbiuMIHEQOnM.js:0): 2 Änderungen +- [DWBxvzfWGcG7PVNP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DWBxvzfWGcG7PVNP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DWBxvzfWGcG7PVNP.js:0): 2 Änderungen +- [DuM5l2Yb4bdvDeaG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/DuM5l2Yb4bdvDeaG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/DuM5l2Yb4bdvDeaG.js:0): 2 Änderungen +- [E3om295BMQojnM2F.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/E3om295BMQojnM2F.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/E3om295BMQojnM2F.js:0): 2 Änderungen +- [EJObiSth3WdcJOXN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EJObiSth3WdcJOXN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EJObiSth3WdcJOXN.js:0): 2 Änderungen +- [EJaBfqADqlo92Fx6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/EJaBfqADqlo92Fx6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/EJaBfqADqlo92Fx6.js:0): 2 Änderungen +- [ENGmwaItRXO5s0XY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ENGmwaItRXO5s0XY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ENGmwaItRXO5s0XY.js:0): 2 Änderungen +- [ERxrWzSpw8qwxFVi.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ERxrWzSpw8qwxFVi.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ERxrWzSpw8qwxFVi.js:0): 2 Änderungen +- [F2u4L4o0r1LTWeWK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/F2u4L4o0r1LTWeWK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/F2u4L4o0r1LTWeWK.js:0): 2 Änderungen +- [FSqUqSByMiztYOQM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FSqUqSByMiztYOQM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FSqUqSByMiztYOQM.js:0): 2 Änderungen +- [FXuyiJoXdAh6WhRK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FXuyiJoXdAh6WhRK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FXuyiJoXdAh6WhRK.js:0): 2 Änderungen +- [FZFOC7bip0oiWEzk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FZFOC7bip0oiWEzk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FZFOC7bip0oiWEzk.js:0): 2 Änderungen +- [FiD3mvWIBHNNIuO9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FiD3mvWIBHNNIuO9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FiD3mvWIBHNNIuO9.js:0): 2 Änderungen +- [FqevMs0ukQ9WuUHl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/FqevMs0ukQ9WuUHl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/FqevMs0ukQ9WuUHl.js:0): 2 Änderungen +- [Fvlc4RkeF4dHjW3m.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Fvlc4RkeF4dHjW3m.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Fvlc4RkeF4dHjW3m.js:0): 2 Änderungen +- [Fwk8WA8NfRivLFWJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Fwk8WA8NfRivLFWJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Fwk8WA8NfRivLFWJ.js:0): 2 Änderungen +- [G7sFEnJlXZvfXL3V.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/G7sFEnJlXZvfXL3V.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/G7sFEnJlXZvfXL3V.js:0): 2 Änderungen +- [GOq4TcnWbfyfCo2V.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GOq4TcnWbfyfCo2V.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GOq4TcnWbfyfCo2V.js:0): 2 Änderungen +- [GRfCxtYzmEx2LYU7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GRfCxtYzmEx2LYU7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GRfCxtYzmEx2LYU7.js:0): 2 Änderungen +- [GzSFlqL1YrIK1dxh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/GzSFlqL1YrIK1dxh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/GzSFlqL1YrIK1dxh.js:0): 2 Änderungen +- [H06Ysj7oPiemW7S6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H06Ysj7oPiemW7S6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H06Ysj7oPiemW7S6.js:0): 2 Änderungen +- [H2CJvApKMnfGNNoo.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H2CJvApKMnfGNNoo.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H2CJvApKMnfGNNoo.js:0): 2 Änderungen +- [H3pZ9UeIzIz3luKh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/H3pZ9UeIzIz3luKh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/H3pZ9UeIzIz3luKh.js:0): 2 Änderungen +- [Hcpn1gU58DIKIhty.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Hcpn1gU58DIKIhty.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Hcpn1gU58DIKIhty.js:0): 2 Änderungen +- [HmImVzvw6ecBy99l.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HmImVzvw6ecBy99l.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HmImVzvw6ecBy99l.js:0): 2 Änderungen +- [HoNTnPphrJISSQr1.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/HoNTnPphrJISSQr1.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/HoNTnPphrJISSQr1.js:0): 2 Änderungen +- [I1J2m5uud84N50Lk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/I1J2m5uud84N50Lk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/I1J2m5uud84N50Lk.js:0): 2 Änderungen +- [IAGla7HJlYN0wa4H.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IAGla7HJlYN0wa4H.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IAGla7HJlYN0wa4H.js:0): 2 Änderungen +- [IPPDvZdE8kn3H9z7.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IPPDvZdE8kn3H9z7.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IPPDvZdE8kn3H9z7.js:0): 2 Änderungen +- [IrkWq7IiFS65bTvC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IrkWq7IiFS65bTvC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IrkWq7IiFS65bTvC.js:0): 2 Änderungen +- [IslMfFgpgQq2brpu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/IslMfFgpgQq2brpu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/IslMfFgpgQq2brpu.js:0): 2 Änderungen +- [J0IWUhxada2ONowP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/J0IWUhxada2ONowP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/J0IWUhxada2ONowP.js:0): 2 Änderungen +- [JeThJbOf6Xmbtgo1.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JeThJbOf6Xmbtgo1.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JeThJbOf6Xmbtgo1.js:0): 2 Änderungen +- [Jk7OHqx06oCUVAzb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jk7OHqx06oCUVAzb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Jk7OHqx06oCUVAzb.js:0): 2 Änderungen +- [JmZQRvdWjm9ykYfn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/JmZQRvdWjm9ykYfn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/JmZQRvdWjm9ykYfn.js:0): 2 Änderungen +- [Jnp5c09sPzDD61EK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Jnp5c09sPzDD61EK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Jnp5c09sPzDD61EK.js:0): 2 Änderungen +- [KIoVBinAZK8sMOqD.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KIoVBinAZK8sMOqD.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KIoVBinAZK8sMOqD.js:0): 2 Änderungen +- [KPQfupKuaf4LCv4R.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KPQfupKuaf4LCv4R.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KPQfupKuaf4LCv4R.js:0): 2 Änderungen +- [KQzbrpb0T5a7it4k.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/KQzbrpb0T5a7it4k.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/KQzbrpb0T5a7it4k.js:0): 2 Änderungen +- [LQEWSN5KnHHATPsf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/LQEWSN5KnHHATPsf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/LQEWSN5KnHHATPsf.js:0): 2 Änderungen +- [LyAK0dVDS5L09yq2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/LyAK0dVDS5L09yq2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/LyAK0dVDS5L09yq2.js:0): 2 Änderungen +- [M0XhKnWjG14pk3iH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/M0XhKnWjG14pk3iH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/M0XhKnWjG14pk3iH.js:0): 2 Änderungen +- [M5bh0heeafA2fQQ8.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/M5bh0heeafA2fQQ8.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/M5bh0heeafA2fQQ8.js:0): 2 Änderungen +- [MDLttXplnNthncGr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MDLttXplnNthncGr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MDLttXplnNthncGr.js:0): 2 Änderungen +- [Me1wS5XdqUEy7OGt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Me1wS5XdqUEy7OGt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Me1wS5XdqUEy7OGt.js:0): 2 Änderungen +- [MfxWXZwaZUjGSBqw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MfxWXZwaZUjGSBqw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MfxWXZwaZUjGSBqw.js:0): 2 Änderungen +- [MfxzwJz2o9ho2hOM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MfxzwJz2o9ho2hOM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MfxzwJz2o9ho2hOM.js:0): 2 Änderungen +- [Mhb67xufvA9uWO21.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Mhb67xufvA9uWO21.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Mhb67xufvA9uWO21.js:0): 2 Änderungen +- [MwUzyAgd0yPnmZCH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/MwUzyAgd0yPnmZCH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/MwUzyAgd0yPnmZCH.js:0): 2 Änderungen +- [N2MeOlf0GjPiRcSb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/N2MeOlf0GjPiRcSb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/N2MeOlf0GjPiRcSb.js:0): 2 Änderungen +- [NDvNGATDM2xPFJK0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NDvNGATDM2xPFJK0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NDvNGATDM2xPFJK0.js:0): 2 Änderungen +- [NI3ZzIAlpQfVSjvf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NI3ZzIAlpQfVSjvf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NI3ZzIAlpQfVSjvf.js:0): 2 Änderungen +- [NdquQqyuOkGCj8Uo.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NdquQqyuOkGCj8Uo.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NdquQqyuOkGCj8Uo.js:0): 2 Änderungen +- [NkqtQaLEGYst0PUO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/NkqtQaLEGYst0PUO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/NkqtQaLEGYst0PUO.js:0): 2 Änderungen +- [OeKeQAAcJhdI4Qky.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OeKeQAAcJhdI4Qky.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OeKeQAAcJhdI4Qky.js:0): 2 Änderungen +- [OgSI0Z6SHjYuqKIz.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OgSI0Z6SHjYuqKIz.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OgSI0Z6SHjYuqKIz.js:0): 2 Änderungen +- [Op88kMtimSEWlY2h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Op88kMtimSEWlY2h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Op88kMtimSEWlY2h.js:0): 2 Änderungen +- [OqLKL0PiCvYH2QxW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OqLKL0PiCvYH2QxW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OqLKL0PiCvYH2QxW.js:0): 2 Änderungen +- [OxsBnnVI3Smpknpb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/OxsBnnVI3Smpknpb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/OxsBnnVI3Smpknpb.js:0): 2 Änderungen +- [PMISUsaEDBA7D3od.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PMISUsaEDBA7D3od.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PMISUsaEDBA7D3od.js:0): 2 Änderungen +- [PVjaKAHTKDA0rA9J.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PVjaKAHTKDA0rA9J.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PVjaKAHTKDA0rA9J.js:0): 2 Änderungen +- [PeZYj8b0vedyJj00.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PeZYj8b0vedyJj00.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PeZYj8b0vedyJj00.js:0): 2 Änderungen +- [PmELrzD3RmF9qKkO.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PmELrzD3RmF9qKkO.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PmELrzD3RmF9qKkO.js:0): 2 Änderungen +- [PwqTmw7rsG8hzqCS.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/PwqTmw7rsG8hzqCS.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/PwqTmw7rsG8hzqCS.js:0): 2 Änderungen +- [Q4EQgP4gZR8TTm7S.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q4EQgP4gZR8TTm7S.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Q4EQgP4gZR8TTm7S.js:0): 2 Änderungen +- [Q68WiUWY7GxiXBbT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Q68WiUWY7GxiXBbT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Q68WiUWY7GxiXBbT.js:0): 2 Änderungen +- [QNxmImpLTou6WdMQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QNxmImpLTou6WdMQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QNxmImpLTou6WdMQ.js:0): 2 Änderungen +- [QoEOxRruQXYrZrv3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QoEOxRruQXYrZrv3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QoEOxRruQXYrZrv3.js:0): 2 Änderungen +- [QwHoqu2oO8QO8Mad.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/QwHoqu2oO8QO8Mad.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/QwHoqu2oO8QO8Mad.js:0): 2 Änderungen +- [RDtJXji3hgcKnEBk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RDtJXji3hgcKnEBk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RDtJXji3hgcKnEBk.js:0): 2 Änderungen +- [RKIFGN583PQnqHGk.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RKIFGN583PQnqHGk.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RKIFGN583PQnqHGk.js:0): 2 Änderungen +- [ROXCqAFSTLouJniL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ROXCqAFSTLouJniL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ROXCqAFSTLouJniL.js:0): 2 Änderungen +- [RSsGiDFibuqg3sHr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RSsGiDFibuqg3sHr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RSsGiDFibuqg3sHr.js:0): 2 Änderungen +- [RrchOMpEdIvceJxl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/RrchOMpEdIvceJxl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/RrchOMpEdIvceJxl.js:0): 2 Änderungen +- [SGr50Hq1AHIEzIFN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/SGr50Hq1AHIEzIFN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/SGr50Hq1AHIEzIFN.js:0): 2 Änderungen +- [T5fiTzhXEQAv9Drf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/T5fiTzhXEQAv9Drf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/T5fiTzhXEQAv9Drf.js:0): 2 Änderungen +- [TAw9vXnfyIAl5DGs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TAw9vXnfyIAl5DGs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TAw9vXnfyIAl5DGs.js:0): 2 Änderungen +- [TBpNFRL5uehs0fze.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TBpNFRL5uehs0fze.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TBpNFRL5uehs0fze.js:0): 2 Änderungen +- [TGN070HeJLl3gSMY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/TGN070HeJLl3gSMY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/TGN070HeJLl3gSMY.js:0): 2 Änderungen +- [U9xh2wriSqCosugW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/U9xh2wriSqCosugW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/U9xh2wriSqCosugW.js:0): 2 Änderungen +- [UTlgF4azrGQZsoDv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UTlgF4azrGQZsoDv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UTlgF4azrGQZsoDv.js:0): 2 Änderungen +- [UaImulhbPURkLJg2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UaImulhbPURkLJg2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UaImulhbPURkLJg2.js:0): 2 Änderungen +- [UgQW0UMPOZ0jwfVJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/UgQW0UMPOZ0jwfVJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/UgQW0UMPOZ0jwfVJ.js:0): 2 Änderungen +- [V1D2Uo3WDKYQePU3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V1D2Uo3WDKYQePU3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V1D2Uo3WDKYQePU3.js:0): 2 Änderungen +- [V9xm4X1x3lPYTQaI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/V9xm4X1x3lPYTQaI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/V9xm4X1x3lPYTQaI.js:0): 2 Änderungen +- [VNOKTzCrFbZ6PJUj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VNOKTzCrFbZ6PJUj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VNOKTzCrFbZ6PJUj.js:0): 2 Änderungen +- [VbL0TgaBAmYjrezZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VbL0TgaBAmYjrezZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VbL0TgaBAmYjrezZ.js:0): 2 Änderungen +- [VlFUDaKUYoBYKYn0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VlFUDaKUYoBYKYn0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VlFUDaKUYoBYKYn0.js:0): 2 Änderungen +- [VqTrKPtxv9hpn0Hr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VqTrKPtxv9hpn0Hr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VqTrKPtxv9hpn0Hr.js:0): 2 Änderungen +- [VzO0ZDcTWvaBn4vm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/VzO0ZDcTWvaBn4vm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/VzO0ZDcTWvaBn4vm.js:0): 2 Änderungen +- [W9nyUNQStMr1pUHJ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/W9nyUNQStMr1pUHJ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/W9nyUNQStMr1pUHJ.js:0): 2 Änderungen +- [WB6sIpLEPC8YPX67.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WB6sIpLEPC8YPX67.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WB6sIpLEPC8YPX67.js:0): 2 Änderungen +- [WiYtNU2Y5BJfIpeM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/WiYtNU2Y5BJfIpeM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/WiYtNU2Y5BJfIpeM.js:0): 2 Änderungen +- [X3vpmNUj9SL2CDnF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/X3vpmNUj9SL2CDnF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/X3vpmNUj9SL2CDnF.js:0): 2 Änderungen +- [XO9m2AvFRAAeEuty.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/XO9m2AvFRAAeEuty.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/XO9m2AvFRAAeEuty.js:0): 2 Änderungen +- [Xe8ijqWU3bbtq7ZY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Xe8ijqWU3bbtq7ZY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Xe8ijqWU3bbtq7ZY.js:0): 2 Änderungen +- [YDqpKJVy8ijEKdLX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YDqpKJVy8ijEKdLX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YDqpKJVy8ijEKdLX.js:0): 2 Änderungen +- [YQ2LnLxp0xgy3meI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YQ2LnLxp0xgy3meI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YQ2LnLxp0xgy3meI.js:0): 2 Änderungen +- [YRUTliBzAQvncGNX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YRUTliBzAQvncGNX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YRUTliBzAQvncGNX.js:0): 2 Änderungen +- [YaKnYEbmmZZtByJc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YaKnYEbmmZZtByJc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YaKnYEbmmZZtByJc.js:0): 2 Änderungen +- [YySjPfSAPdMAfjsh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/YySjPfSAPdMAfjsh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/YySjPfSAPdMAfjsh.js:0): 2 Änderungen +- [Z52yZDm6lP6fOP3O.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Z52yZDm6lP6fOP3O.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Z52yZDm6lP6fOP3O.js:0): 2 Änderungen +- [ZNu4B0OdjkM9lmtu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ZNu4B0OdjkM9lmtu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ZNu4B0OdjkM9lmtu.js:0): 2 Änderungen +- [Ze9E2zR1GFGWGMVH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/Ze9E2zR1GFGWGMVH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/Ze9E2zR1GFGWGMVH.js:0): 2 Änderungen +- [a02tlRCXpaoaDjSN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a02tlRCXpaoaDjSN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a02tlRCXpaoaDjSN.js:0): 2 Änderungen +- [a4Aza4a9v8JMU8dC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a4Aza4a9v8JMU8dC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a4Aza4a9v8JMU8dC.js:0): 2 Änderungen +- [a7pEvCycVnFBXGAQ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/a7pEvCycVnFBXGAQ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/a7pEvCycVnFBXGAQ.js:0): 2 Änderungen +- [aCVtaW8ag1WibcAr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/aCVtaW8ag1WibcAr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/aCVtaW8ag1WibcAr.js:0): 2 Änderungen +- [abLWYtNTu1UVDQAs.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/abLWYtNTu1UVDQAs.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/abLWYtNTu1UVDQAs.js:0): 2 Änderungen +- [b2Kb4IuD22RhKhR0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/b2Kb4IuD22RhKhR0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/b2Kb4IuD22RhKhR0.js:0): 2 Änderungen +- [bLkt8VpTTPoTxW0W.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bLkt8VpTTPoTxW0W.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bLkt8VpTTPoTxW0W.js:0): 2 Änderungen +- [bMEFHPCei2evnZZw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bMEFHPCei2evnZZw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bMEFHPCei2evnZZw.js:0): 2 Änderungen +- [bRiFHPC1StKxqNIC.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/bRiFHPC1StKxqNIC.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/bRiFHPC1StKxqNIC.js:0): 2 Änderungen +- [btPrQkGRKUkhNe3N.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/btPrQkGRKUkhNe3N.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/btPrQkGRKUkhNe3N.js:0): 2 Änderungen +- [cJFDnq1HI4gXWcJo.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cJFDnq1HI4gXWcJo.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cJFDnq1HI4gXWcJo.js:0): 2 Änderungen +- [cK1Jysfu5IMUUH0C.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cK1Jysfu5IMUUH0C.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cK1Jysfu5IMUUH0C.js:0): 2 Änderungen +- [cUnbADgOQ4fMKgrH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/cUnbADgOQ4fMKgrH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/cUnbADgOQ4fMKgrH.js:0): 2 Änderungen +- [dIxYt421K010eogY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dIxYt421K010eogY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dIxYt421K010eogY.js:0): 2 Änderungen +- [dM449AU0FQRnOc3l.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dM449AU0FQRnOc3l.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dM449AU0FQRnOc3l.js:0): 2 Änderungen +- [dcwY8dCd3PNCEzk6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dcwY8dCd3PNCEzk6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dcwY8dCd3PNCEzk6.js:0): 2 Änderungen +- [dfEgat3jz4EtWszH.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dfEgat3jz4EtWszH.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dfEgat3jz4EtWszH.js:0): 2 Änderungen +- [dfnCK8jCPXNLM7Gh.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dfnCK8jCPXNLM7Gh.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dfnCK8jCPXNLM7Gh.js:0): 2 Änderungen +- [dtFvpY96RPzNnphq.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dtFvpY96RPzNnphq.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dtFvpY96RPzNnphq.js:0): 2 Änderungen +- [dwSgcFxKN3S0hLJL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/dwSgcFxKN3S0hLJL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/dwSgcFxKN3S0hLJL.js:0): 2 Änderungen +- [e34s1XxHckAWfwHt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/e34s1XxHckAWfwHt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/e34s1XxHckAWfwHt.js:0): 2 Änderungen +- [e7IxnxePdXSy6L4E.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/e7IxnxePdXSy6L4E.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/e7IxnxePdXSy6L4E.js:0): 2 Änderungen +- [egDtqMxe3iekc6hv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/egDtqMxe3iekc6hv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/egDtqMxe3iekc6hv.js:0): 2 Änderungen +- [eh1J3s0s4A2AxoFp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/eh1J3s0s4A2AxoFp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/eh1J3s0s4A2AxoFp.js:0): 2 Änderungen +- [eqxE7nBO13yJS7hc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/eqxE7nBO13yJS7hc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/eqxE7nBO13yJS7hc.js:0): 2 Änderungen +- [f062aa2BNClx08D6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/f062aa2BNClx08D6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/f062aa2BNClx08D6.js:0): 2 Änderungen +- [f5Mp3kXwCFdPkW6N.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/f5Mp3kXwCFdPkW6N.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/f5Mp3kXwCFdPkW6N.js:0): 2 Änderungen +- [fEFfHFeJxkR0aIJK.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fEFfHFeJxkR0aIJK.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fEFfHFeJxkR0aIJK.js:0): 2 Änderungen +- [fP2edYbj6QjPPAjL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fP2edYbj6QjPPAjL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fP2edYbj6QjPPAjL.js:0): 2 Änderungen +- [feMPZhhFeXRtKdKY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/feMPZhhFeXRtKdKY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/feMPZhhFeXRtKdKY.js:0): 2 Änderungen +- [fiF9sM5UpcHMYa33.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fiF9sM5UpcHMYa33.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fiF9sM5UpcHMYa33.js:0): 2 Änderungen +- [fzTB7t3x4bLmAXji.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/fzTB7t3x4bLmAXji.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/fzTB7t3x4bLmAXji.js:0): 2 Änderungen +- [gKIPujyuFSn0No9v.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/gKIPujyuFSn0No9v.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/gKIPujyuFSn0No9v.js:0): 2 Änderungen +- [gKPL3t4vlZAsvtGr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/gKPL3t4vlZAsvtGr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/gKPL3t4vlZAsvtGr.js:0): 2 Änderungen +- [gMIenSmLklAkB2Zm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/gMIenSmLklAkB2Zm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/gMIenSmLklAkB2Zm.js:0): 2 Änderungen +- [hA8PzeiCsHqqlUZm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hA8PzeiCsHqqlUZm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hA8PzeiCsHqqlUZm.js:0): 2 Änderungen +- [hCzxUyO6mjLNIpaM.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hCzxUyO6mjLNIpaM.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hCzxUyO6mjLNIpaM.js:0): 2 Änderungen +- [hR1qD2kpFHF8JT8h.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hR1qD2kpFHF8JT8h.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hR1qD2kpFHF8JT8h.js:0): 2 Änderungen +- [hYNWp75ggWSTht55.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hYNWp75ggWSTht55.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hYNWp75ggWSTht55.js:0): 2 Änderungen +- [hnsmzvcuiUYB065I.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/hnsmzvcuiUYB065I.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/hnsmzvcuiUYB065I.js:0): 2 Änderungen +- [iM6JLF8jDXMViReZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iM6JLF8jDXMViReZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iM6JLF8jDXMViReZ.js:0): 2 Änderungen +- [iMu8BZ7eHMAbPEO1.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iMu8BZ7eHMAbPEO1.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iMu8BZ7eHMAbPEO1.js:0): 2 Änderungen +- [iNAQJa5HyaEckknX.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iNAQJa5HyaEckknX.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iNAQJa5HyaEckknX.js:0): 2 Änderungen +- [iT3C15fMyQrj1RmG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/iT3C15fMyQrj1RmG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/iT3C15fMyQrj1RmG.js:0): 2 Änderungen +- [id9ZdkERMZnZTWXt.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/id9ZdkERMZnZTWXt.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/id9ZdkERMZnZTWXt.js:0): 2 Änderungen +- [inPxRSx0CDj1nwAm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/inPxRSx0CDj1nwAm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/inPxRSx0CDj1nwAm.js:0): 2 Änderungen +- [jFwema0iwzBphxie.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jFwema0iwzBphxie.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jFwema0iwzBphxie.js:0): 2 Änderungen +- [jGDk7avWFSnyFoql.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jGDk7avWFSnyFoql.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jGDk7avWFSnyFoql.js:0): 2 Änderungen +- [jObJanFoev4N6ZRv.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jObJanFoev4N6ZRv.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jObJanFoev4N6ZRv.js:0): 2 Änderungen +- [jW87rmQLtROdVEhW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jW87rmQLtROdVEhW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jW87rmQLtROdVEhW.js:0): 2 Änderungen +- [jXbrIGxznqf1SNxZ.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jXbrIGxznqf1SNxZ.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jXbrIGxznqf1SNxZ.js:0): 2 Änderungen +- [jsgLEVYvMieyYT6L.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/jsgLEVYvMieyYT6L.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/jsgLEVYvMieyYT6L.js:0): 2 Änderungen +- [k0AkkBLtE8oZhBwn.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/k0AkkBLtE8oZhBwn.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/k0AkkBLtE8oZhBwn.js:0): 2 Änderungen +- [kYiDBPRKIokFkr4Z.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/kYiDBPRKIokFkr4Z.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/kYiDBPRKIokFkr4Z.js:0): 2 Änderungen +- [kiJ6AiaYVUjt6aV6.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/kiJ6AiaYVUjt6aV6.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/kiJ6AiaYVUjt6aV6.js:0): 2 Änderungen +- [kvaN100w0nBUlLbj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/kvaN100w0nBUlLbj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/kvaN100w0nBUlLbj.js:0): 2 Änderungen +- [lOIHiAIDtj91kllN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lOIHiAIDtj91kllN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lOIHiAIDtj91kllN.js:0): 2 Änderungen +- [lOzkngzye4RmvALp.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lOzkngzye4RmvALp.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lOzkngzye4RmvALp.js:0): 2 Änderungen +- [lU4s3UTtBkU38djI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/lU4s3UTtBkU38djI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/lU4s3UTtBkU38djI.js:0): 2 Änderungen +- [mPxmCsXYirAIT913.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mPxmCsXYirAIT913.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mPxmCsXYirAIT913.js:0): 2 Änderungen +- [mRvLsSVxNyt8LVZb.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mRvLsSVxNyt8LVZb.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mRvLsSVxNyt8LVZb.js:0): 2 Änderungen +- [mTnmPcjWmvScIBWY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mTnmPcjWmvScIBWY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mTnmPcjWmvScIBWY.js:0): 2 Änderungen +- [mlulnXQo8XU8vKLD.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mlulnXQo8XU8vKLD.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mlulnXQo8XU8vKLD.js:0): 2 Änderungen +- [mr8qm5Bg6k1idZ6Q.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/mr8qm5Bg6k1idZ6Q.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/mr8qm5Bg6k1idZ6Q.js:0): 2 Änderungen +- [nD2QVg3DrPK3foMf.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nD2QVg3DrPK3foMf.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nD2QVg3DrPK3foMf.js:0): 2 Änderungen +- [nGTxNWBUBgTr87wU.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nGTxNWBUBgTr87wU.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nGTxNWBUBgTr87wU.js:0): 2 Änderungen +- [njPP9wDAsdh4WHIj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/njPP9wDAsdh4WHIj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/njPP9wDAsdh4WHIj.js:0): 2 Änderungen +- [nkbTnaeBpthyhw4J.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/nkbTnaeBpthyhw4J.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/nkbTnaeBpthyhw4J.js:0): 2 Änderungen +- [o88xuUConwt0vFLw.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/o88xuUConwt0vFLw.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/o88xuUConwt0vFLw.js:0): 2 Änderungen +- [oV81zgbZsuTFG6L2.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oV81zgbZsuTFG6L2.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oV81zgbZsuTFG6L2.js:0): 2 Änderungen +- [oWa7RkScnl6lR5vd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/oWa7RkScnl6lR5vd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/oWa7RkScnl6lR5vd.js:0): 2 Änderungen +- [obIXhQXKFyyQoNNV.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/obIXhQXKFyyQoNNV.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/obIXhQXKFyyQoNNV.js:0): 2 Änderungen +- [pNPjXEoQGHLKzq0r.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/pNPjXEoQGHLKzq0r.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/pNPjXEoQGHLKzq0r.js:0): 2 Änderungen +- [pkKpxVqRHIzywerL.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/pkKpxVqRHIzywerL.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/pkKpxVqRHIzywerL.js:0): 2 Änderungen +- [q0LvphC8RDSyR0oY.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/q0LvphC8RDSyR0oY.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/q0LvphC8RDSyR0oY.js:0): 2 Änderungen +- [qT0WBPxLMMO9gvCd.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/qT0WBPxLMMO9gvCd.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/qT0WBPxLMMO9gvCd.js:0): 2 Änderungen +- [rCh3ltUrUMovd2Kc.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rCh3ltUrUMovd2Kc.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rCh3ltUrUMovd2Kc.js:0): 2 Änderungen +- [rnioLwiJP7ps5Jwy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/rnioLwiJP7ps5Jwy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/rnioLwiJP7ps5Jwy.js:0): 2 Änderungen +- [s6eZXfZkC1My6EXl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/s6eZXfZkC1My6EXl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/s6eZXfZkC1My6EXl.js:0): 2 Änderungen +- [sB4KB9bT3nQhAoqG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sB4KB9bT3nQhAoqG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sB4KB9bT3nQhAoqG.js:0): 2 Änderungen +- [sKO8TcLIkCTnFvXu.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sKO8TcLIkCTnFvXu.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sKO8TcLIkCTnFvXu.js:0): 2 Änderungen +- [sNSfDBIA2k17hPYI.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sNSfDBIA2k17hPYI.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sNSfDBIA2k17hPYI.js:0): 2 Änderungen +- [sWyO1DNaqb2EdHoW.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sWyO1DNaqb2EdHoW.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sWyO1DNaqb2EdHoW.js:0): 2 Änderungen +- [sZwLitzwKBTaFca3.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/sZwLitzwKBTaFca3.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/sZwLitzwKBTaFca3.js:0): 2 Änderungen +- [t56mnblo1kv3gM1M.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/t56mnblo1kv3gM1M.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/t56mnblo1kv3gM1M.js:0): 2 Änderungen +- [tGVEV6TLl310mFLP.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tGVEV6TLl310mFLP.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tGVEV6TLl310mFLP.js:0): 2 Änderungen +- [tNTO1LVN7JqHf4YN.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tNTO1LVN7JqHf4YN.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tNTO1LVN7JqHf4YN.js:0): 2 Änderungen +- [tcZug8ehU6lyYBd9.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tcZug8ehU6lyYBd9.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tcZug8ehU6lyYBd9.js:0): 2 Änderungen +- [tn6SwmjAuNzqE6dx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/tn6SwmjAuNzqE6dx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/tn6SwmjAuNzqE6dx.js:0): 2 Änderungen +- [toSrgcvWq9b5eN0K.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/toSrgcvWq9b5eN0K.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/toSrgcvWq9b5eN0K.js:0): 2 Änderungen +- [uACa6u4JLNMRgFlr.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uACa6u4JLNMRgFlr.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uACa6u4JLNMRgFlr.js:0): 2 Änderungen +- [uLBDnWC3S0lRitbj.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uLBDnWC3S0lRitbj.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uLBDnWC3S0lRitbj.js:0): 2 Änderungen +- [ucF4aiJ1gpDB333G.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ucF4aiJ1gpDB333G.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ucF4aiJ1gpDB333G.js:0): 2 Änderungen +- [upfK6GM33qZCZjll.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/upfK6GM33qZCZjll.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/upfK6GM33qZCZjll.js:0): 2 Änderungen +- [uwdQvZtzy2HVeEzx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/uwdQvZtzy2HVeEzx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/uwdQvZtzy2HVeEzx.js:0): 2 Änderungen +- [vFUVWZ1l8wpTjLcx.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vFUVWZ1l8wpTjLcx.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vFUVWZ1l8wpTjLcx.js:0): 2 Änderungen +- [vSDMygIT9nNvEGWG.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vSDMygIT9nNvEGWG.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vSDMygIT9nNvEGWG.js:0): 2 Änderungen +- [vuzRRj5d9XdNYx3o.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vuzRRj5d9XdNYx3o.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vuzRRj5d9XdNYx3o.js:0): 2 Änderungen +- [vvdo1NxjmGVkmFCT.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/vvdo1NxjmGVkmFCT.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/vvdo1NxjmGVkmFCT.js:0): 2 Änderungen +- [wsqNM4NHnwaAAQym.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/wsqNM4NHnwaAAQym.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/wsqNM4NHnwaAAQym.js:0): 2 Änderungen +- [wyTCozh9qGTx6yK0.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/wyTCozh9qGTx6yK0.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/wyTCozh9qGTx6yK0.js:0): 2 Änderungen +- [xRd6oA1QWLVpfoBm.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xRd6oA1QWLVpfoBm.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xRd6oA1QWLVpfoBm.js:0): 2 Änderungen +- [xUpKYT7BZCSmAfUy.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xUpKYT7BZCSmAfUy.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xUpKYT7BZCSmAfUy.js:0): 2 Änderungen +- [xVYVegD692CCv8Yl.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xVYVegD692CCv8Yl.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xVYVegD692CCv8Yl.js:0): 2 Änderungen +- [xWPgIZOQLba5nZ23.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/xWPgIZOQLba5nZ23.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/xWPgIZOQLba5nZ23.js:0): 2 Änderungen +- [yAL0YwZWVm8o1nxa.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yAL0YwZWVm8o1nxa.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yAL0YwZWVm8o1nxa.js:0): 2 Änderungen +- [yFMvxecXAZ6T2O0S.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yFMvxecXAZ6T2O0S.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yFMvxecXAZ6T2O0S.js:0): 2 Änderungen +- [yMMzZ7daCqRlGT3N.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yMMzZ7daCqRlGT3N.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yMMzZ7daCqRlGT3N.js:0): 2 Änderungen +- [yTmRoUstxHMso91c.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/yTmRoUstxHMso91c.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/yTmRoUstxHMso91c.js:0): 2 Änderungen +- [ynoHNXXCGRS6fTqF.js](vscode://file//Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/reference_scripts/ynoHNXXCGRS6fTqF.js:0?diff=/Users/Alzer/Documents/U%CC%88bersetzung/Deutsch/wfrp-4e-de/scripts/ynoHNXXCGRS6fTqF.js:0): 2 Änderungen + +📊 Gesamtanzahl der Änderungen: 2428