Compare commits
4 Commits
foundryvtt
...
foundryvtt
| Author | SHA1 | Date | |
|---|---|---|---|
| 07928acb48 | |||
| 9860535f5f | |||
| fc560ddee7 | |||
| 47454b30f1 |
@@ -2841,6 +2841,12 @@
|
|||||||
"name": "Combattant au contact",
|
"name": "Combattant au contact",
|
||||||
"tests": "Corps à corps quand vous combattez au contact ou que vous allez au contact"
|
"tests": "Corps à corps quand vous combattez au contact ou que vous allez au contact"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"description": "<p>Vous êtes entraîné à vous placer très près d’un adversaire. Vous ne subissez aucune pénalité pour vous battre contre un adversaire avec une arme plus longue que la vôtre. De plus, si vous utilisez les règles optionnelles de Combat au contact (voir page 297), gagnez un bonus de +10 pour toucher votre adversaire.</p>",
|
||||||
|
"id": "In–fighter",
|
||||||
|
"name": "Combattant au contact",
|
||||||
|
"tests": "Corps à corps quand vous combattez au contact ou que vous allez au contact"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"description": "<p>Vos appels exaltants peuvent renverser le cours d'une bataille. Référez-vous au tableau suivant pour voir combien de personnes vous pouvez à présent influencer avec votre Compétence @Compendium[wfrp4e-core.items.oMaJZ5cvCJeOUq9H] lors d'une guerre.</p>\n<p> </p>\n<div>\n<table title=\"\" border=\"1\" summary=\"\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<p>Talent pris</p>\n</td>\n<td>\n<p>Nombre de soldats influencés</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>1</p>\n</td>\n<td>\n<p>Normal × 5</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>2</p>\n</td>\n<td>\n<p>Normal × 10</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>3</p>\n</td>\n<td>\n<p> Normal × 20</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>4</p>\n</td>\n<td>\n<p> Normal × 50</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>5</p>\n</td>\n<td>\n<p> Normal × 100</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>6</p>\n</td>\n<td>\n<p> Normal × 200</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>7</p>\n</td>\n<td>\n<p> Normal × 500</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>8</p>\n</td>\n<td>\n<p> Normal × 1000</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>9</p>\n</td>\n<td>\n<p> Tous ceux qui peuvent entendre votre voix inspirante</p>\n</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Exemple</strong> : <em>Le monastère de l’abbesse Brigitte van der Hoogenband est pris d’assaut par les peaux-vertes, et les choses vont mal. De fait, elle décide de renforcer l’esprit de ses soldats avec un Test de Commandement, leur octroyant +10 à tous les Tests de Psychologie. Elle obtient 3 DR à son Test de Commandement. Étant donné qu’elle possède un Bonus de Sociabilité de 6, et qu’elle peut influencer un nombre de soldats, égal à son Bonus de Sociabilité + DR en utilisant Commandement, elle renforce 9 soldats. Cependant, comme elle possède Exaltant 3, ce nombre est multiplié par 20, ce qui signifie que 180 de ses soldats sont inspirés par ses cris d’encouragement « MAINTENEZ LES RANGS ! »</em>",
|
"description": "<p>Vos appels exaltants peuvent renverser le cours d'une bataille. Référez-vous au tableau suivant pour voir combien de personnes vous pouvez à présent influencer avec votre Compétence @Compendium[wfrp4e-core.items.oMaJZ5cvCJeOUq9H] lors d'une guerre.</p>\n<p> </p>\n<div>\n<table title=\"\" border=\"1\" summary=\"\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<p>Talent pris</p>\n</td>\n<td>\n<p>Nombre de soldats influencés</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>1</p>\n</td>\n<td>\n<p>Normal × 5</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>2</p>\n</td>\n<td>\n<p>Normal × 10</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>3</p>\n</td>\n<td>\n<p> Normal × 20</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>4</p>\n</td>\n<td>\n<p> Normal × 50</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>5</p>\n</td>\n<td>\n<p> Normal × 100</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>6</p>\n</td>\n<td>\n<p> Normal × 200</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>7</p>\n</td>\n<td>\n<p> Normal × 500</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>8</p>\n</td>\n<td>\n<p> Normal × 1000</p>\n</td>\n</tr>\n<tr>\n<td>\n<p>9</p>\n</td>\n<td>\n<p> Tous ceux qui peuvent entendre votre voix inspirante</p>\n</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Exemple</strong> : <em>Le monastère de l’abbesse Brigitte van der Hoogenband est pris d’assaut par les peaux-vertes, et les choses vont mal. De fait, elle décide de renforcer l’esprit de ses soldats avec un Test de Commandement, leur octroyant +10 à tous les Tests de Psychologie. Elle obtient 3 DR à son Test de Commandement. Étant donné qu’elle possède un Bonus de Sociabilité de 6, et qu’elle peut influencer un nombre de soldats, égal à son Bonus de Sociabilité + DR en utilisant Commandement, elle renforce 9 soldats. Cependant, comme elle possède Exaltant 3, ce nombre est multiplié par 20, ce qui signifie que 180 de ses soldats sont inspirés par ses cris d’encouragement « MAINTENEZ LES RANGS ! »</em>",
|
||||||
"id": "WCXnFSV4WOSmzzc4",
|
"id": "WCXnFSV4WOSmzzc4",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
5
fr.json
5
fr.json
@@ -433,6 +433,7 @@
|
|||||||
"ITEM.Roles":"Roles",
|
"ITEM.Roles":"Roles",
|
||||||
"ITEM.VitalRoles":"Roles vitaux",
|
"ITEM.VitalRoles":"Roles vitaux",
|
||||||
"ITEM.LearningXP":"XP d'Apprentissage",
|
"ITEM.LearningXP":"XP d'Apprentissage",
|
||||||
|
"ITEM.Custom":"Personnalisé",
|
||||||
|
|
||||||
"TOKEN.MOVEMENT.Status.immobile":"Immobile",
|
"TOKEN.MOVEMENT.Status.immobile":"Immobile",
|
||||||
"TOKEN.MOVEMENT.Status.restricted":"Restreint",
|
"TOKEN.MOVEMENT.Status.restricted":"Restreint",
|
||||||
@@ -1024,6 +1025,7 @@
|
|||||||
"DIALOG.LinkCareerContent":"Relier {new} avec {old}? Les compétences de {old} seront ajoutées à {new}, tout en préservant toutes les spécialisations effectuées avec la carrière précédente.",
|
"DIALOG.LinkCareerContent":"Relier {new} avec {old}? Les compétences de {old} seront ajoutées à {new}, tout en préservant toutes les spécialisations effectuées avec la carrière précédente.",
|
||||||
"DIALOG.ChoosePassenger":"Choisissez un passager",
|
"DIALOG.ChoosePassenger":"Choisissez un passager",
|
||||||
"DIALOG.PostQuantityContent":"Combien de fois cet item peut être récupéré? Laissez vide pour illimité.",
|
"DIALOG.PostQuantityContent":"Combien de fois cet item peut être récupéré? Laissez vide pour illimité.",
|
||||||
|
"DIALOG.ChooseArmour":"Choisissez une armure à endommager",
|
||||||
|
|
||||||
"CHAT.CareerChoose" : "Choisissez votre carrière",
|
"CHAT.CareerChoose" : "Choisissez votre carrière",
|
||||||
"CHAT.DamageError" : "Erreur de calcul des dégâts:",
|
"CHAT.DamageError" : "Erreur de calcul des dégâts:",
|
||||||
@@ -1189,6 +1191,7 @@
|
|||||||
"CHAT.DiseaseRollError":"Une erreur s'est produite lors du jet d'incubation ou de durée de la maladie.",
|
"CHAT.DiseaseRollError":"Une erreur s'est produite lors du jet d'incubation ou de durée de la maladie.",
|
||||||
"CHAT.ExpReceivedNoReason":"Vous avez reçu <b>{amount}</b> points d'expérience",
|
"CHAT.ExpReceivedNoReason":"Vous avez reçu <b>{amount}</b> points d'expérience",
|
||||||
"CHAT.CriticalDeflection":"Déviation de Critique",
|
"CHAT.CriticalDeflection":"Déviation de Critique",
|
||||||
|
"CHAT.DamageToArmour":"1 Dommages appliqués à {item} ({type})",
|
||||||
|
|
||||||
"Error.SpeciesSkills" : "Impossible d'ajouter des compétences pour les races",
|
"Error.SpeciesSkills" : "Impossible d'ajouter des compétences pour les races",
|
||||||
"Error.SpeciesTalents" : "Impossible d'ajouter des talents pour les races",
|
"Error.SpeciesTalents" : "Impossible d'ajouter des talents pour les races",
|
||||||
@@ -2704,6 +2707,7 @@
|
|||||||
"DurationPlaceholder":"Texte concernant a durée",
|
"DurationPlaceholder":"Texte concernant a durée",
|
||||||
"ErrorArmourDamagePermission":"Vous n'avez pas les droits pour endommager l'armure de cet acteur.",
|
"ErrorArmourDamagePermission":"Vous n'avez pas les droits pour endommager l'armure de cet acteur.",
|
||||||
"IncubationPlaceholder":"Texte concernant l'incubation",
|
"IncubationPlaceholder":"Texte concernant l'incubation",
|
||||||
|
"Required Trappings":"Equipement requis",
|
||||||
|
|
||||||
"WH":{
|
"WH":{
|
||||||
"TransferType":{
|
"TransferType":{
|
||||||
@@ -2724,5 +2728,6 @@
|
|||||||
"SHEET.ExperienceLog":"Journal d'Expérince",
|
"SHEET.ExperienceLog":"Journal d'Expérince",
|
||||||
"SHEET.Attacker":"Attaquant",
|
"SHEET.Attacker":"Attaquant",
|
||||||
"SHEET.Randomize":"Aléatoire",
|
"SHEET.Randomize":"Aléatoire",
|
||||||
|
"SHEET.RequiredTrappingsError":"Impossible de lancer les revenus sans avoir tous les équipements requis dans cette carrière !",
|
||||||
"Sheet.RollIncome":"Revenu"
|
"Sheet.RollIncome":"Revenu"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
||||||
"version": "9.2.1",
|
"version": "9.3.2",
|
||||||
"esmodules": [
|
"esmodules": [
|
||||||
"modules/babele-register.js",
|
"modules/babele-register.js",
|
||||||
"modules/addon-register.js",
|
"modules/addon-register.js",
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json",
|
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json",
|
||||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-9-2-1.zip",
|
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-9-3-2.zip",
|
||||||
"id": "wh4-fr-translation",
|
"id": "wh4-fr-translation",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "13",
|
"minimum": "13",
|
||||||
|
|||||||
@@ -2,29 +2,37 @@
|
|||||||
export class WH4FRPatchConfig {
|
export class WH4FRPatchConfig {
|
||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
static translateSkillList( skillList) {
|
static translateSkillList(skillList) {
|
||||||
|
|
||||||
let compendiumName = 'wfrp4e-core.items'
|
let compendiumName = 'wfrp4e-core.items'
|
||||||
|
|
||||||
let newList = [];
|
let newList = [];
|
||||||
for( let compName of skillList) {
|
for (let compName of skillList) {
|
||||||
|
if (!compName) {
|
||||||
|
newList.push(compName);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!isNaN(compName)) { // If numeric, keep as is (for skill levels)
|
||||||
|
newList.push(compName);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// Trim compName
|
// Trim compName
|
||||||
compName = compName.trim();
|
compName = compName.trim();
|
||||||
let special = "";
|
let special = "";
|
||||||
let newName = compName;
|
let newName = compName;
|
||||||
let baseName = compName
|
let baseName = compName
|
||||||
if ( compName.includes("(") && compName.includes(")") ) { // Then process specific skills name with (xxxx) inside
|
if (compName.includes("(") && compName.includes(")")) { // Then process specific skills name with (xxxx) inside
|
||||||
let re = /(.*) +\((.*)\)/i;
|
let re = /(.*) +\((.*)\)/i;
|
||||||
let res = re.exec( compName );
|
let res = re.exec(compName);
|
||||||
compName = res[1].trim(); // Get the root skill name
|
compName = res[1].trim(); // Get the root skill name
|
||||||
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
|
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
|
||||||
}
|
}
|
||||||
let compNameFR = game.babele.translate( compendiumName, { name: compName }, true );
|
let compNameFR = game.babele.translate(compendiumName, { name: compName }, true);
|
||||||
if (compNameFR.name != compName) { // Translation OK
|
if (compNameFR.name != compName) { // Translation OK
|
||||||
newName = compNameFR.name + special;
|
newName = compNameFR.name + special;
|
||||||
}
|
}
|
||||||
// DEBUG console.log("Translating skill ", compName, baseName, " to ", newName, special);
|
// DEBUG console.log("Translating skill ", compName, baseName, " to ", newName, special);
|
||||||
if ( !newName || newName == "" || newName === undefined || newName === "undefined" ) { // If no translation, keep the original name
|
if (!newName || newName == "" || newName === undefined || newName === "undefined") { // If no translation, keep the original name
|
||||||
newName = baseName; // If no translation, keep the original name
|
newName = baseName; // If no translation, keep the original name
|
||||||
}
|
}
|
||||||
newList.push(newName);
|
newList.push(newName);
|
||||||
@@ -33,27 +41,27 @@ export class WH4FRPatchConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
static translateTalentList( talentList) {
|
static translateTalentList(talentList) {
|
||||||
|
|
||||||
let compendiumName = 'wfrp4e-core.items'
|
let compendiumName = 'wfrp4e-core.items'
|
||||||
|
|
||||||
let newList = [];
|
let newList = [];
|
||||||
for( let talentLine of talentList) {
|
for (let talentLine of talentList) {
|
||||||
let special = "";
|
let special = "";
|
||||||
let newName = talentLine;
|
let newName = talentLine;
|
||||||
if ( isNaN(talentLine) ) {
|
if (isNaN(talentLine)) {
|
||||||
let subList = talentLine.split(',');
|
let subList = talentLine.split(',');
|
||||||
let newSubList = [];
|
let newSubList = [];
|
||||||
for (let talentName of subList ) {
|
for (let talentName of subList) {
|
||||||
talentName = talentName.trim();
|
talentName = talentName.trim();
|
||||||
let newName2 = talentName;
|
let newName2 = talentName;
|
||||||
if ( talentName.includes("(") && talentName.includes(")") ) { // Then process specific skills name with (xxxx) inside
|
if (talentName.includes("(") && talentName.includes(")")) { // Then process specific skills name with (xxxx) inside
|
||||||
let re = /(.*) +\((.*)\)/i;
|
let re = /(.*) +\((.*)\)/i;
|
||||||
let res = re.exec( talentName );
|
let res = re.exec(talentName);
|
||||||
talentName = res[1].trim(); // Get the root skill name
|
talentName = res[1].trim(); // Get the root skill name
|
||||||
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
|
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
|
||||||
}
|
}
|
||||||
let talentNameFR = game.babele.translate( compendiumName, { name: talentName }, true );
|
let talentNameFR = game.babele.translate(compendiumName, { name: talentName }, true);
|
||||||
if (talentNameFR.name != talentName) { // Translation OK
|
if (talentNameFR.name != talentName) { // Translation OK
|
||||||
newName2 = talentNameFR.name + special;
|
newName2 = talentNameFR.name + special;
|
||||||
}
|
}
|
||||||
@@ -67,15 +75,15 @@ export class WH4FRPatchConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
static patch_subspecies( ) {
|
static patch_subspecies() {
|
||||||
for ( let speciesName in game.wfrp4e.config.subspecies) {
|
for (let speciesName in game.wfrp4e.config.subspecies) {
|
||||||
let subspeciesList = game.wfrp4e.config.subspecies[speciesName];
|
let subspeciesList = game.wfrp4e.config.subspecies[speciesName];
|
||||||
for ( let subspeciesName in subspeciesList) {
|
for (let subspeciesName in subspeciesList) {
|
||||||
let subspecies = subspeciesList[subspeciesName];
|
let subspecies = subspeciesList[subspeciesName];
|
||||||
if ( subspecies.skills) {
|
if (subspecies.skills) {
|
||||||
subspecies.skills = this.translateSkillList(subspecies.skills);
|
subspecies.skills = this.translateSkillList(subspecies.skills);
|
||||||
}
|
}
|
||||||
if ( subspecies.talents) {
|
if (subspecies.talents) {
|
||||||
subspecies.talents = this.translateTalentList(subspecies.talents);
|
subspecies.talents = this.translateTalentList(subspecies.talents);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -83,20 +91,20 @@ export class WH4FRPatchConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
static patch_species_skills( ) {
|
static patch_species_skills() {
|
||||||
console.log("Patching species skills....");
|
console.log("Patching species skills....");
|
||||||
for (let speciesName in game.wfrp4e.config.speciesSkills) {
|
for (let speciesName in game.wfrp4e.config.speciesSkills) {
|
||||||
let speciesComp = game.wfrp4e.config.speciesSkills[speciesName];
|
let speciesComp = game.wfrp4e.config.speciesSkills[speciesName];
|
||||||
console.log("SpeciesName", speciesName, speciesComp);
|
console.log("SpeciesName", speciesName, speciesComp);
|
||||||
game.wfrp4e.config.speciesSkills[speciesName] = this.translateSkillList( speciesComp )
|
game.wfrp4e.config.speciesSkills[speciesName] = this.translateSkillList(speciesComp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
static patch_species_talents( ) {
|
static patch_species_talents() {
|
||||||
for (let speciesName in game.wfrp4e.config.speciesTalents) {
|
for (let speciesName in game.wfrp4e.config.speciesTalents) {
|
||||||
let speciesTalents = game.wfrp4e.config.speciesTalents[speciesName];
|
let speciesTalents = game.wfrp4e.config.speciesTalents[speciesName];
|
||||||
game.wfrp4e.config.speciesTalents[speciesName] = this.translateTalentList( speciesTalents);
|
game.wfrp4e.config.speciesTalents[speciesName] = this.translateTalentList(speciesTalents);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,16 +112,16 @@ export class WH4FRPatchConfig {
|
|||||||
static patch_career() {
|
static patch_career() {
|
||||||
let compendiumName = 'wfrp4e-core.items'
|
let compendiumName = 'wfrp4e-core.items'
|
||||||
|
|
||||||
if ( game.wfrp4e.tables.career) {
|
if (game.wfrp4e.tables.career) {
|
||||||
for( let row of game.wfrp4e.tables.career.rows) {
|
for (let row of game.wfrp4e.tables.career.rows) {
|
||||||
for ( let key in row) {
|
for (let key in row) {
|
||||||
if (key != "range") {
|
if (key != "range") {
|
||||||
if ( row[key].name == 'Slayer' ) {
|
if (row[key].name == 'Slayer') {
|
||||||
row[key].name = "Tueur Nains";
|
row[key].name = "Tueur Nains";
|
||||||
} else if ( row[key].name == 'Duelist' ) {
|
} else if (row[key].name == 'Duelist') {
|
||||||
row[key].name = "Duelliste";
|
row[key].name = "Duelliste";
|
||||||
} else {
|
} else {
|
||||||
let career_fr = game.babele.translate( compendiumName, {name: row[key].name}, true );
|
let career_fr = game.babele.translate(compendiumName, { name: row[key].name }, true);
|
||||||
row[key].name = career_fr.name;
|
row[key].name = career_fr.name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,7 +138,7 @@ export class WH4FRPatchConfig {
|
|||||||
for (let result of newResults) {
|
for (let result of newResults) {
|
||||||
result.name = game.i18n.localize(result.name);
|
result.name = game.i18n.localize(result.name);
|
||||||
}
|
}
|
||||||
speciesTable.update({results: newResults } )
|
speciesTable.update({ results: newResults })
|
||||||
console.log("Species table patched to use 'Humain' instead of 'Human'", speciesTable);
|
console.log("Species table patched to use 'Humain' instead of 'Human'", speciesTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,7 +154,7 @@ export class WH4FRPatchConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Detect and patch as necessary
|
// Detect and patch as necessary
|
||||||
if (game.wfrp4e.config?.talentBonuses ) {
|
if (game.wfrp4e.config?.talentBonuses) {
|
||||||
|
|
||||||
this.fixSpeciesTable() // Force 'name' field replacement
|
this.fixSpeciesTable() // Force 'name' field replacement
|
||||||
|
|
||||||
@@ -188,22 +196,22 @@ export class WH4FRPatchConfig {
|
|||||||
|
|
||||||
if (game.wfrp4e.config.characteristicsBonus) {
|
if (game.wfrp4e.config.characteristicsBonus) {
|
||||||
game.wfrp4e.config.characteristicsBonus =
|
game.wfrp4e.config.characteristicsBonus =
|
||||||
{
|
{
|
||||||
"ws": "Bonus de Capacité de Combat",
|
"ws": "Bonus de Capacité de Combat",
|
||||||
"bs": "Bonus de Capacité de Tir",
|
"bs": "Bonus de Capacité de Tir",
|
||||||
"s": "Bonus de Force",
|
"s": "Bonus de Force",
|
||||||
"t": "Bonus d'Endurance",
|
"t": "Bonus d'Endurance",
|
||||||
"i": "Bonus d'Initiative",
|
"i": "Bonus d'Initiative",
|
||||||
"ag": "Bonus d'Agilité",
|
"ag": "Bonus d'Agilité",
|
||||||
"dex": "Bonus de Dexterité",
|
"dex": "Bonus de Dexterité",
|
||||||
"int": "Bonus d'Intelligence",
|
"int": "Bonus d'Intelligence",
|
||||||
"wp": "Bonus de Force Mentale",
|
"wp": "Bonus de Force Mentale",
|
||||||
"fel": "Bonus de Sociabilité"
|
"fel": "Bonus de Sociabilité"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (game.wfrp4e.config.classTrappings) {
|
if (game.wfrp4e.config.classTrappings) {
|
||||||
for(const c of Object.keys(game.wfrp4e.config.classTrappings)) {
|
for (const c of Object.keys(game.wfrp4e.config.classTrappings)) {
|
||||||
game.wfrp4e.config.classTrappings[game.i18n.localize(c)] = game.wfrp4e.config.classTrappings[c];
|
game.wfrp4e.config.classTrappings[game.i18n.localize(c)] = game.wfrp4e.config.classTrappings[c];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user