forked from public/foundryvtt-wh4-lang-fr-fr
Auto-translat careers/skills.comp
This commit is contained in:
@ -1,6 +1,112 @@
|
||||
|
||||
export class WH4FRPatchConfig {
|
||||
|
||||
/************************************************************************************/
|
||||
static translateSkillList( skillList) {
|
||||
let newList = [];
|
||||
for( let compName of skillList) {
|
||||
let special = "";
|
||||
let newName = compName;
|
||||
if ( compName.includes("(") && compName.includes(")") ) { // Then process specific skills name with (xxxx) inside
|
||||
var re = /(.*) +\((.*)\)/i;
|
||||
var res = re.exec( compName );
|
||||
compName = res[1].trim(); // Get the root skill name
|
||||
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
|
||||
}
|
||||
var compNameFR = game.babele.translate( 'wfrp4e-core.skills', { name: compName }, true );
|
||||
//console.log(">>>>> Skill ?", compName, special, compNameFR);
|
||||
if (compNameFR.name != compName) { // Translation OK
|
||||
newName = compNameFR.name + special;
|
||||
}
|
||||
newList.push(newName);
|
||||
}
|
||||
return newList;
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
static translateTalentList( talentList) {
|
||||
let newList = [];
|
||||
for( let talentLine of talentList) {
|
||||
let special = "";
|
||||
let newName = talentLine;
|
||||
if ( isNaN(talentLine) ) {
|
||||
let subList = talentLine.split(',');
|
||||
let newSubList = [];
|
||||
for (let talentName of subList ) {
|
||||
talentName = talentName.trim();
|
||||
let newName2 = talentName;
|
||||
if ( talentName.includes("(") && talentName.includes(")") ) { // Then process specific skills name with (xxxx) inside
|
||||
var re = /(.*) +\((.*)\)/i;
|
||||
var res = re.exec( talentName );
|
||||
talentName = res[1].trim(); // Get the root skill name
|
||||
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
|
||||
}
|
||||
var talentNameFR = game.babele.translate( 'wfrp4e-core.talents', { name: talentName }, true );
|
||||
//console.log(">>>>> Talent ?", talentName, special, talentNameFR);
|
||||
if (talentNameFR.name != talentName) { // Translation OK
|
||||
newName2 = talentNameFR.name + special;
|
||||
}
|
||||
newSubList.push(newName2);
|
||||
}
|
||||
newName = newSubList.join(', ');
|
||||
}
|
||||
newList.push(newName);
|
||||
}
|
||||
return newList;
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
static patch_subspecies( ) {
|
||||
for ( let speciesName in game.wfrp4e.config.subspecies) {
|
||||
let subspeciesList = game.wfrp4e.config.subspecies[speciesName];
|
||||
for ( let subspeciesName in subspeciesList) {
|
||||
let subspecies = subspeciesList[subspeciesName];
|
||||
//console.log("Subpecies translate....", subspecies);
|
||||
if ( subspecies.skills) {
|
||||
subspecies.skills = this.translateSkillList(subspecies.skills);
|
||||
}
|
||||
if ( subspecies.talents) {
|
||||
subspecies.talents = this.translateTalentList(subspecies.talents);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
static patch_species_skills( ) {
|
||||
for (let speciesName in game.wfrp4e.config.speciesSkills) {
|
||||
let speciesComp = game.wfrp4e.config.speciesSkills[speciesName];
|
||||
game.wfrp4e.config.speciesSkills[speciesName] = this.translateSkillList( speciesComp )
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
static patch_species_talents( ) {
|
||||
for (let speciesName in game.wfrp4e.config.speciesTalents) {
|
||||
let speciesTalents = game.wfrp4e.config.speciesTalents[speciesName];
|
||||
game.wfrp4e.config.speciesTalents[speciesName] = this.translateTalentList( speciesTalents);
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
static patch_career() {
|
||||
for( let row of game.wfrp4e.tables.career.rows) {
|
||||
for ( let key in row) {
|
||||
if (key != "range") {
|
||||
if ( row[key].name == 'Slayer' ) {
|
||||
row[key].name = "Tueur Nains";
|
||||
} else if ( row[key].name == 'Duelist' ) {
|
||||
row[key].name = "Duelliste";
|
||||
//console.log(">>>>> Career ?", key, row[key].name, career_fr.name );
|
||||
} else {
|
||||
var career_fr = game.babele.translate( 'wfrp4e-core.careers', {name: row[key].name}, true );
|
||||
row[key].name = career_fr.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
static perform_patch() {
|
||||
|
||||
@ -21,301 +127,18 @@ export class WH4FRPatchConfig {
|
||||
"doigts de fée": "dex",
|
||||
"guerrier né": "ws"
|
||||
}
|
||||
game.wfrp4e.config.speciesSkills["human"] = [
|
||||
"Soins aux animaux",
|
||||
"Charme",
|
||||
"Calme",
|
||||
"Evaluation",
|
||||
"Ragot",
|
||||
"Marchandage",
|
||||
"Langue (Bretonnien)",
|
||||
"Langue (Wastelander)",
|
||||
"Commandement",
|
||||
"Savoir (Reikland)",
|
||||
"Corps à corps (Base)",
|
||||
"Projectiles (Arc)"
|
||||
];
|
||||
game.wfrp4e.config.speciesSkills["dwarf"] = [
|
||||
"Résistance à l'alcool",
|
||||
"Calme",
|
||||
"Résistance",
|
||||
"Divertissement (Raconter)",
|
||||
"Evaluation",
|
||||
"Intimidation",
|
||||
"Langue (Khazalid)",
|
||||
"Savoir (Nains)",
|
||||
"Savoir (Geologie)",
|
||||
"Savoir (Metallurgie)",
|
||||
"Corps à corps (Base)",
|
||||
"Métier (Au choix)"
|
||||
];
|
||||
game.wfrp4e.config.speciesSkills["halfling"] = [
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Esquive",
|
||||
"Pari",
|
||||
"Marchandage",
|
||||
"Intuition",
|
||||
"Langue (Mootland)",
|
||||
"Savoir (Reikland)",
|
||||
"Perception",
|
||||
"Escamotage",
|
||||
"Discrétion (Au choix)",
|
||||
"Métier (Cuisinier)"
|
||||
];
|
||||
game.wfrp4e.config.speciesSkills["helf"] = [
|
||||
"Calme",
|
||||
"Divertissement (Chant)",
|
||||
"Evaluation",
|
||||
"Langue (Eltharin)",
|
||||
"Commandement",
|
||||
"Corps à corps (Base)",
|
||||
"Orientation",
|
||||
"Perception",
|
||||
"Musicien (Au choix)",
|
||||
"Projectiles (Arc)",
|
||||
"Voile",
|
||||
"Natation"
|
||||
];
|
||||
|
||||
game.wfrp4e.config.speciesSkills["welf"] = [
|
||||
"Athlétisme",
|
||||
"Escalade",
|
||||
"Résistance",
|
||||
"Divertissement (Chant)",
|
||||
"Intimidation",
|
||||
"Langue (Eltharin)",
|
||||
"Corps à corps (Base)",
|
||||
"Survie en extérieur",
|
||||
"Perception",
|
||||
"Projectiles (Arc)",
|
||||
"Discrétion (Rural)",
|
||||
"Pistage"
|
||||
];
|
||||
game.wfrp4e.config.speciesTalents["human"] = [
|
||||
"Destinée",
|
||||
"Affable, Perspicace",
|
||||
3
|
||||
]
|
||||
game.wfrp4e.config.speciesTalents["dwarf"] = [
|
||||
"Résistance à la Magie",
|
||||
"Vision Nocturne",
|
||||
"Lire/Ecrire, Impitoyable",
|
||||
"Déterminé, Obstiné",
|
||||
"Costaud",
|
||||
0
|
||||
]
|
||||
game.wfrp4e.config.speciesTalents["halfling"] = [
|
||||
"Sens Aiguisé (Gout)",
|
||||
"Vision Nocturne",
|
||||
"Résistant (Chaos)",
|
||||
"Petit",
|
||||
2
|
||||
];
|
||||
game.wfrp4e.config.speciesTalents["helf"] = [
|
||||
"Sens Aiguisé (Vue)",
|
||||
"Imperturbable, Perspicace",
|
||||
"Vision Nocturne",
|
||||
"Seconde Vue, Sixième Sens",
|
||||
"Lire/Ecrire",
|
||||
0
|
||||
]
|
||||
game.wfrp4e.config.speciesTalents["welf"] = [
|
||||
"Sens Aiguisé (Vue)",
|
||||
"Dur à cuire, Seconde Vue",
|
||||
"Vision Nocturne",
|
||||
"Nomade",
|
||||
"Lire/Ecrire, Très Résistant",
|
||||
0
|
||||
]
|
||||
|
||||
|
||||
game.wfrp4e.config.species["human"] = "Humain";
|
||||
game.wfrp4e.config.species["dwarf"] = "Nain";
|
||||
game.wfrp4e.config.species["halfling"] = "Halfling";
|
||||
game.wfrp4e.config.species["helf"] = "Haut Elfe";
|
||||
game.wfrp4e.config.species["welf"] = "Elfe Sylvain";
|
||||
|
||||
game.wfrp4e.config.subspecies["human"]["reiklander"] = {
|
||||
name: "Reiklander",
|
||||
skills: [
|
||||
"Soins aux animaux",
|
||||
"Charme",
|
||||
"Calme",
|
||||
"Evaluation",
|
||||
"Ragot",
|
||||
"Marchandage",
|
||||
"Langue (Bretonnien)",
|
||||
"Langue (Wastelander)",
|
||||
"Commandement",
|
||||
"Savoir (Reikland)",
|
||||
"Corps à corps (Base)",
|
||||
"Projectiles (Arc)"
|
||||
],
|
||||
talents: [
|
||||
"Destinée",
|
||||
"Affable, Perspicace",
|
||||
3
|
||||
]
|
||||
}
|
||||
|
||||
if (game.wfrp4e.config.subspecies["welf"]["harioth"]) { // Archives Empire
|
||||
game.wfrp4e.config.subspecies["welf"]["harioth"] = {
|
||||
name: "Harioth",
|
||||
talents: [
|
||||
"Sens Aiguisé (Vue)",
|
||||
"Dur à cuire, Seconde Vue",
|
||||
"Vision Nocturne",
|
||||
"Lire/Ecrire, Très Résistant",
|
||||
"Nomade",
|
||||
"Youngblood",
|
||||
0
|
||||
]
|
||||
}
|
||||
game.wfrp4e.config.subspecies["halfling"]["ashfield"] = {
|
||||
name: "Ashfield",
|
||||
skills: [
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Marchandage",
|
||||
"Savoir (Reikland)",
|
||||
"Escamotage",
|
||||
"Discrétion (Au choix)",
|
||||
"Métier (Cuisinier)",
|
||||
"Calme",
|
||||
"Intuition",
|
||||
"Langue (Mootish)",
|
||||
"Projectiles (Au choix)"
|
||||
],
|
||||
talents: [
|
||||
"Sens Aiguisé (Goût)",
|
||||
"Vision Nocturne",
|
||||
"Résistant (Chaos)",
|
||||
"Petit",
|
||||
"Sens Aiguisé (Vue), Etiquette (Soldats)",
|
||||
1
|
||||
]
|
||||
}
|
||||
game.wfrp4e.config.subspecies.halfling["brambledown"] = {
|
||||
name: "Brambledown",
|
||||
skills: [
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Marchandage",
|
||||
"Savoir (Reikland)",
|
||||
"Escamotage",
|
||||
"Discrétion (Au choix)",
|
||||
"Métier (Cuisinier)",
|
||||
"Langue (Mootish) ",
|
||||
"Orientation",
|
||||
"Survie en extérieur ",
|
||||
"Natation"
|
||||
],
|
||||
talents: [
|
||||
"Sens Aiguisé (Goût)",
|
||||
"Vision Nocturne",
|
||||
"Résistant (Chaos)",
|
||||
"Petit",
|
||||
"Sociable, Voyageur aguerri",
|
||||
1
|
||||
]
|
||||
}
|
||||
game.wfrp4e.config.subspecies.halfling["brandysnap"] = {
|
||||
name: "Brandysnap",
|
||||
skills: [
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Marchandage",
|
||||
"Savoir (Reikland)",
|
||||
"Escamotage",
|
||||
"Discrétion (Au choix)",
|
||||
"Métier (Cuisinier)",
|
||||
"Soins aux animaux",
|
||||
"Pari",
|
||||
"Langue (Mootish)",
|
||||
"Métier (Herboriste)"
|
||||
],
|
||||
talents: [
|
||||
"Sens Aiguisé (Goût)",
|
||||
"Vision Nocturne",
|
||||
"Résistant (Chaos)",
|
||||
"Petit",
|
||||
"Maître Artisan (Fermier), Costaud",
|
||||
1
|
||||
]
|
||||
}
|
||||
game.wfrp4e.config.subspecies.halfling["hayfoot"] = {
|
||||
name: "Hayfoot",
|
||||
skills: [
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Marchandage",
|
||||
"Savoir (Reikland)",
|
||||
"Escamotage",
|
||||
"Discrétion (Au choix)",
|
||||
"Métier (Cuisinier)",
|
||||
"Gamble",
|
||||
"Pari",
|
||||
"Evaluation",
|
||||
"Langue (Mootish)"
|
||||
],
|
||||
talents: [
|
||||
"Sens Aiguisé (Goût)",
|
||||
"Vision Nocturne",
|
||||
"Résistant (Chaos)",
|
||||
"Petit",
|
||||
"Négociateur, Etiquette (Guildes)",
|
||||
1
|
||||
]
|
||||
}
|
||||
game.wfrp4e.config.subspecies.halfling["hollyfoot"] = {
|
||||
name: "Hollyfoot",
|
||||
skills: [
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Marchandage",
|
||||
"Savoir (Reikland)",
|
||||
"Escamotage",
|
||||
"Discrétion (Au choix)",
|
||||
"Métier (Cuisinier)",
|
||||
"Subornation",
|
||||
"Marchandage",
|
||||
"Ragot",
|
||||
"Langue (Mootish)"
|
||||
],
|
||||
talents: [
|
||||
"Sens Aiguisé (Goût)",
|
||||
"Vision Nocturne",
|
||||
"Résistant (Chaos)",
|
||||
"Petit",
|
||||
"Maître Artisan (Au choix), Doigts de fée",
|
||||
1
|
||||
]
|
||||
}
|
||||
game.wfrp4e.config.subspecies.halfling["hayfoot—hollyfoot"] = {
|
||||
name: "Hayfoot—Hollyfoot",
|
||||
skills: [
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Marchandage",
|
||||
"Savoir (Reikland)",
|
||||
"Escamotage",
|
||||
"Discrétion (Au choix)",
|
||||
"Métier (Cuisinier)",
|
||||
"Subornation",
|
||||
"Marchandage",
|
||||
"Ragot",
|
||||
"Langue (Mootish)"
|
||||
],
|
||||
talents: [
|
||||
"Sens Aiguisé (Goût)",
|
||||
"Vision Nocturne",
|
||||
"Résistant (Chaos)",
|
||||
"Petit",
|
||||
"Ergoteur, Numismate",
|
||||
1
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
this.patch_species_skills();
|
||||
this.patch_species_talents();
|
||||
this.patch_subspecies();
|
||||
this.patch_career();
|
||||
|
||||
game.wfrp4e.config.conditionScripts = {
|
||||
"ablaze": async function (actor) {
|
||||
@ -1852,32 +1675,4 @@ export class WH4FRPatchConfig {
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
static perform_rnhd_patch() {
|
||||
game.wfrp4e.config.species['gnome'] = 'Gnome';
|
||||
game.wfrp4e.config.speciesSkills["gnome"] = [
|
||||
"Focalisation (Ulgu)",
|
||||
"Charme",
|
||||
"Résistance à l'alcool",
|
||||
"Esquive",
|
||||
"Divertissement (Au choix)",
|
||||
"Ragot",
|
||||
"Marchandage",
|
||||
"Langue (Ghassally)",
|
||||
"Langue (Magick)",
|
||||
"Langue (Wastelander)",
|
||||
"Survie en extérieur",
|
||||
"Discrétion (Au choix)"
|
||||
];
|
||||
game.wfrp4e.config.speciesTalents["gnome"] = [
|
||||
"Insignifiant, Imprégné avec Uglu",
|
||||
"Chanceux, Imitation",
|
||||
"Vision Nocturne",
|
||||
"Pêcheur, Lire/Ecrire",
|
||||
"Seconde Vue, Sixième Sens",
|
||||
"Petit",
|
||||
0
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user