Various fixes

This commit is contained in:
sladecraven 2020-12-02 22:15:26 +01:00
parent 28fe5a9658
commit 3363a82394
11 changed files with 815 additions and 38 deletions

View File

@ -87,12 +87,13 @@ Hooks.once('init', () => {
formula = formula.replace('yds', "m." ); formula = formula.replace('yds', "m." );
// To evaluate multiplication, replace x with * // To evaluate multiplication, replace x with *
formula = formula.replace('x', '*'); formula = formula.replace('x', '*');
console.log("FOEM", formula);
return eval(formula); return eval(formula);
} }
catch catch
{ {
return formula console.log("FOEM2", formula);
return formula;
} }
} }
@ -325,10 +326,10 @@ Hooks.once('init', () => {
if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value ) { if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value ) {
trait_en.data.description.value = trait_fr.data.description.value; trait_en.data.description.value = trait_fr.data.description.value;
} else if ( eisitems ) { // No description in the FR compendium -> test other compendium if presenr } else if ( eisitems ) { // No description in the FR compendium -> test other compendium if presenr
trait_fr = eisitems.translate( { name: name_en } ); trait_fr = eisitems.translate( { name: name_en } );
trait_en.name = nbt + trait_fr.name + special; trait_en.name = nbt + trait_fr.name + special;
if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value ) if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value )
trait_en.data.description.value = trait_fr.data.description.value; trait_en.data.description.value = trait_fr.data.description.value;
} }
if ( trait_en.data && trait_en.data.specification && isNaN(trait_en.data.specification.value) ) { // This is a string, so translate it if ( trait_en.data && trait_en.data.specification && isNaN(trait_en.data.specification.value) ) { // This is a string, so translate it
//console.log("Translating : ", trait_en.data.specification.value); //console.log("Translating : ", trait_en.data.specification.value);

90
compendium/CarriereFR.db Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1608,7 +1608,7 @@
{ {
"id": "Steal Life", "id": "Steal Life",
"name": "Vol de vie", "name": "Vol de vie",
"description": "<p>De fines vultes de brume violette vous connectant brièvement à votre cible, qui dépérit sous vos yeux. C'est considéré comme un projectile magique avec Dégâts +6 qui ignore les PA et inflige +1 État <em>Exténué</em>. De plus, vous retirez tous les États <em>Exténué</em>&nbsp;dont vous souffrez actuellement, et vous pouvez vous guérir un nombre de Points de Blessure égal à la moitié des Blessures subies par la cible, arrondi à l'entier supérieur.</p>" "description": "<p>De fines volutes de brume violette vous connectant brièvement à votre cible, qui dépérit sous vos yeux. C'est considéré comme un projectile magique avec Dégâts +6 qui ignore les PA et inflige +1 État <em>Exténué</em>. De plus, vous retirez tous les États <em>Exténué</em>&nbsp;dont vous souffrez actuellement, et vous pouvez vous guérir un nombre de Points de Blessure égal à la moitié des Blessures subies par la cible, arrondi à l'entier supérieur.</p>"
}, },
{ {
"id": "Stream of Corruption", "id": "Stream of Corruption",

View File

@ -209,7 +209,7 @@
{ {
"id": "Hungry", "id": "Hungry",
"name": "Affamé", "name": "Affamé",
"description": "The creature is always hungry for fresh meat. If it kills or incapacitates a living opponent (or encounters a fresh body), it must pass a Average (+20) Willpower Test or feast, losing its next Action and Move." "description": "La créature est toujours avide de chair fraîche. Si elle tue ou neutralise un adversaire (ou quelle tombe sur un cadavre récent), elle doit réussir un Test de FM Accessible (+20) ou festoyer, perdant sa prochaine Action et son prochain Mouvement."
}, },
{ {
"id": "Immunity", "id": "Immunity",

Binary file not shown.

View File

@ -3,7 +3,7 @@
"name": "WH4-fr-translation", "name": "WH4-fr-translation",
"title": "Traduction du module WH4 en Français.", "title": "Traduction du module WH4 en Français.",
"description": "La traduction du module WH4.", "description": "La traduction du module WH4.",
"version": "1.3.25", "version": "1.3.26",
"minimumCoreVersion" : "0.6.6", "minimumCoreVersion" : "0.6.6",
"compatibleCoreVersion": "0.7.6", "compatibleCoreVersion": "0.7.6",
"author": "LeRatierBretonnien", "author": "LeRatierBretonnien",

View File

@ -32,7 +32,7 @@ Trappings: Dagger, Hand Weapon (Sword)
import "./xregexp-all.js"; import "./xregexp-all.js";
const us_carac = 'm\\s+ws\\s+bs\\s+s\\s+t\\s+i\\s+agi?\\s+dex\\s+int\\s+\\wp\\s+fel\\s+w'; const us_carac = 'm\\s+ws\\s+bs\\s+s\\s+t\\s+i\\s+agi?\\s+dex\\s+int\\s+\\wp\\s+fel\\s+w';
const fr_carac = 'm\\s+ws\\s+bs\\s+s\\s+t\\s+i\\s+agi?\\s+dex\\s+int\\s+\\wp\\s+fel\\s+w'; const fr_carac = 'm\\s+ws\\s+bs\\s+s\\s+t\\s+i\\s+agi?\\s+dex\\s+int\\s+\\wp\\s+fel\\s+w';
const carac_val = '(?<m>[0-9-]+)\\s+(?<ws>[0-9-]+)\\s+(?<bs>[0-9-]+)\\s+(?<s>[0-9-]+)\\s+(?<t>[0-9-]+)\\s+(?<i>[0-9-]+)\\s+(?<ag>[0-9-]+)\\s+(?<dex>[0-9-]+)\\s+(?<int>[0-9-]+)\\s+(?<wp>[0-9-]+)\\s+(?<fel>[0-9-]+)\\s+(?<w>[0-9-]+)'; const carac_val = '(?<m>[0-9-]+)\\s+(?<ws>[0-9-]+)\\s+(?<bs>[0-9-]+)\\s+(?<s>[0-9-]+)\\s+(?<t>[0-9-]+)\\s+(?<i>[0-9-]+)\\s+(?<ag>[0-9-]+)\\s+(?<dex>[0-9-]+)\\s+(?<int>[0-9-]+)\\s+(?<wp>[0-9-]+)\\s+(?<fel>[0-9-]+)\\s+(?<w>[0-9-\*]+)';
const name_val = '(?<name>[a-zA-Z\\s\\-,]*)[\\s\\r\\na-zA-Z]*(?<tiers>.*|[\\(\\)a-z0-9]+)'; const name_val = '(?<name>[a-zA-Z\\s\\-,]*)[\\s\\r\\na-zA-Z]*(?<tiers>.*|[\\(\\)a-z0-9]+)';
let sectionData = [ let sectionData = [
{ name: "trait", toFind:"Traits\\s*:", secondParse: '(?<name>[a-z\\s]*)[\\s\\+]*(?<value>.*|[0-9]+)', index:-1 }, { name: "trait", toFind:"Traits\\s*:", secondParse: '(?<name>[a-z\\s]*)[\\s\\+]*(?<value>.*|[0-9]+)', index:-1 },
@ -95,6 +95,7 @@ async function __findSkill(skillName) {
let skillList = []; let skillList = [];
let packs = game.packs.filter(p => p.metadata.tags && p.metadata.tags.includes("skill")) let packs = game.packs.filter(p => p.metadata.tags && p.metadata.tags.includes("skill"))
for (let pack of packs) { for (let pack of packs) {
//console.log("SEARCH : ", skillName, pack);
if ( pack.translations[skillName] ) { if ( pack.translations[skillName] ) {
let translSkillName = pack.translations[skillName].name; let translSkillName = pack.translations[skillName].name;
skillList = await pack.getIndex() skillList = await pack.getIndex()
@ -151,6 +152,7 @@ export default async function statParserFR( statString, type = "npc") {
if (res) { //stat block identified go on if (res) { //stat block identified go on
// Extract the name // Extract the name
let res1 = XRegExp.exec(statString, reg1); let res1 = XRegExp.exec(statString, reg1);
console.log("REG", res1);
let pnjStr = statString.substring(0, res1.index); let pnjStr = statString.substring(0, res1.index);
let nameRes = XRegExp.exec(pnjStr, regName ); let nameRes = XRegExp.exec(pnjStr, regName );
console.log(nameRes); console.log(nameRes);

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,7 @@
"description": "Vous ne tenez pas votre arme correctement, ou vous laissez tomber vos munitions. Vous perdez votre prochaine Action", "description": "Vous ne tenez pas votre arme correctement, ou vous laissez tomber vos munitions. Vous perdez votre prochaine Action",
"range": [71, 80] "range": [71, 80]
}, { }, {
"description": "Vous effectuez un mouvement trop ample, ou vous trébuchez et vous tordez la cheville. Subissez le traumatisme @Compendium[wfrp4e.injuries.rlXUw5Bgz2xUjVbU]{Déchirure Musculaire (Mineur)} (voir p179). Ce dernier compte comme une Blessure Critique.", "description": "Vous effectuez un mouvement trop ample, ou vous trébuchez et vous tordez la cheville. Subissez le traumatisme @Compendium[wfrp4e-core.injuries.rlXUw5Bgz2xUjVbU]{Déchirure Musculaire (Mineur)} (voir p179). Ce dernier compte comme une Blessure Critique.",
"range": [81, 90] "range": [81, 90]
}, { }, {
"description": "Vous manquez complètement votre attaque et touchez 1 Allié au hasard à distance en utilisant le chiffre des unités de votre lancer de dés pour déterminer le DR.SI personne n'est à distance, vous vous frappez tout seul et obtenez l'état @Condition[Assommé] (voir p 167).", "description": "Vous manquez complètement votre attaque et touchez 1 Allié au hasard à distance en utilisant le chiffre des unités de votre lancer de dés pour déterminer le DR.SI personne n'est à distance, vous vous frappez tout seul et obtenez l'état @Condition[Assommé] (voir p 167).",