Better spells handling
This commit is contained in:
@ -11,7 +11,7 @@ Hooks.once('init', () => {
|
||||
|
||||
Babele.get().registerConverters({
|
||||
"career_skills": (skills_list) => {
|
||||
console.log( game.i18n.localize( "Any" ) );
|
||||
console.log( "Thru here ..." );
|
||||
var compendium = game.packs.find(p => p.collection === 'wfrp4e.skills');
|
||||
var i;
|
||||
var len = skills_list.length;
|
||||
@ -24,8 +24,8 @@ Hooks.once('init', () => {
|
||||
//console.log("Matched/split:", res[1], res[2]);
|
||||
var subword = game.i18n.localize(res[2].trim() );
|
||||
var s1 = res[1].trim() + " ()";
|
||||
var translw = compendium.i18nName( s1 );
|
||||
if (translw != transl) {
|
||||
var translw = compendium.i18nName( s1 );
|
||||
if (translw != s1) {
|
||||
var res2 = re.exec(translw);
|
||||
transl = res2[1] + "(" + subword + ")";
|
||||
} else {
|
||||
@ -54,7 +54,7 @@ Hooks.once('init', () => {
|
||||
var subword = game.i18n.localize(res[2].trim() );
|
||||
var s1 = res[1].trim(); // No () in talents table
|
||||
var translw = compendium.i18nName( s1 );
|
||||
if (translw != transl) {
|
||||
if (translw != s1) {
|
||||
transl = translw + "(" + subword + ")";
|
||||
} else {
|
||||
s1 = res[1].trim() + " ( )";
|
||||
@ -72,7 +72,7 @@ Hooks.once('init', () => {
|
||||
"generic_localization": (value) => {
|
||||
if ( value )
|
||||
return game.i18n.localize( value.trim() );
|
||||
},
|
||||
},
|
||||
"trapping_qualities_flaws": (value) => {
|
||||
if ( value ) {
|
||||
var list = value.split( "," );
|
||||
@ -94,6 +94,45 @@ Hooks.once('init', () => {
|
||||
"career_careergroup": (value) => {
|
||||
var compendium = game.packs.find(p => p.collection === 'wfrp4e.careers');
|
||||
return compendium.i18nName( value );
|
||||
},
|
||||
// Auto-translate duration
|
||||
"spells_duration_range_target_damage": (value) => {
|
||||
--console.log("Spell duration/range/damage/target :", value);
|
||||
if ( value == "" ) return ""; // Hop !
|
||||
if ( value == "Touch" ) return "Contact"; // Hop !
|
||||
if ( value == "You" ) return "Vous"; // Hop !
|
||||
if ( value == "Instant" ) return "Instantané"; // Hop !
|
||||
var translw = value;
|
||||
var re = /(.*) Bonus (\w*)/i;
|
||||
var res = re.exec( value );
|
||||
var unit = "";
|
||||
if ( res ) { // Test "<charac> Bonus <unit>" pattern
|
||||
if ( res[1] ) { // We have char name, then convert it
|
||||
translw = "Bonus de " + game.i18n.localize( res[1].trim() );
|
||||
}
|
||||
unit = res[2];
|
||||
} else {
|
||||
re = /(\d+) (\w+)/i;
|
||||
res = re.exec( value );
|
||||
if (res) { // Test : "<number> <unit>" pattern
|
||||
translw = res[1];
|
||||
unit = res[2];
|
||||
} else { // Test
|
||||
re = /(\w+) (\w+)/i;
|
||||
res = re.exec( value );
|
||||
if (res) { // Test : "<charac> <unit>" pattern
|
||||
translw = game.i18n.localize( res[1].trim() );
|
||||
unit = res[2];
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( unit == "hour") unit = "heure";
|
||||
if ( unit == "hours") unit = "heures";
|
||||
if ( unit == "days") unit = "jours";
|
||||
if ( unit == "yard") unit = "mètre";
|
||||
if ( unit == "yards") unit = "mètres";
|
||||
translw += " " + unit;
|
||||
return translw;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user