FIx pour Babele 2.8.X

This commit is contained in:
2026-04-27 23:58:55 +02:00
parent df1e0b9952
commit 0d20d76db0
53 changed files with 9322 additions and 9028 deletions
+27 -27
View File
@@ -247,9 +247,9 @@ Hooks.once('init', () => {
dir: 'compendium'
})
game.babele.registerConverters({
"career_skills": (skills_list) => {
// Pre-define functions for cross-converter calls (Babele 2.8+ wraps converters
// as objects, so game.babele.converters.X() no longer works as a plain call)
const career_skills_fn = (skills_list) => {
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("skill")
//DEBUG: console.log( "Thru here ...", compendium, skills_list);
if (skills_list) {
@@ -292,10 +292,27 @@ Hooks.once('init', () => {
}
}
return skills_list
},
};
const career_careergroup_fn = (value) => {
if (value == 'Slayer') return "Tueur";
if (value == 'Druidic Priest') return "Druide";
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("career");
for (let compData of validCompendiums) {
let newName = game.babele.translate(compData.metadata.id, { name: value }).name;
if (!newName) newName = value;
return newName;
}
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true });
return value;
};
game.babele.registerConverters({
"career_skills": career_skills_fn,
"role_skills": (skills) => {
let skills_list = skills.split(',');
let skillsFR = game.babele.converters.career_skills(skills_list);
let skillsFR = career_skills_fn(skills_list);
return skillsFR.join(', ')
},
"process_effects": (effectsData, translations, data, tc, tc_translations) => {
@@ -358,13 +375,14 @@ Hooks.once('init', () => {
let career = data.description.match(/{(.*)}/)
//console.log(">>>>>", career)
if (career?.[1]) {
let careerFR = game.babele.converters.career_careergroup(career[1])
let careerFR = career_careergroup_fn(career[1])
data.description = data.description.replace(career[1], careerFR)
}
}
}
if (results?.[0].documentUuid) {
return game.babele.converters.tableResults(results)
// Babele 2.8+ handles documentUuid resolution via its own mapping system
return results
}
return results
},
@@ -642,25 +660,7 @@ Hooks.once('init', () => {
}
},
// Search back in careers the translated name of the groupe (as it is the name of the level career itself)
"career_careergroup": (value) => {
// Manage exception - Dirty hack
if (value == 'Slayer') {
return "Tueur";
}
if (value == 'Druidic Priest') {
return "Druide";
}
//console.log("Carre groupe : ", value )
// Per default
let validCompendiums = game.wfrp4e.tags.getPacksWithTag("career")
for (let compData of validCompendiums) {
let newName = game.babele.translate(compData.metadata.id, { name: value }).name
if (!newName) newName = value
return newName
}
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true })
return value
},
"career_careergroup": career_careergroup_fn,
"mutations_modifier": (value) => { // This is really UGLYYYY i know, but i started like this and discovered afterward that many strings were not easy to automate... Sorry :)
//console.log("Parsing mutation :", value);
@@ -699,7 +699,7 @@ Hooks.once('init', () => {
if (!translations) return;
for (let i = 0; i < effects.length; i++) {
let effect = effects[i];
effect.label = translations['label' + i];
effect.name = translations['label' + i];
}
return effects
},