forked from public/foundryvtt-wh4-lang-fr-fr
		
	Prepare for official content
This commit is contained in:
		| @@ -174,7 +174,7 @@ const _manage_inn_roll = async (content, msg) => { | |||||||
|     let command = content.split(" ").map(function(item) { |     let command = content.split(" ").map(function(item) { | ||||||
|       return item.trim(); |       return item.trim(); | ||||||
|     }) |     }) | ||||||
|     console.log(WFRP_Tables["talents"]); |     console.log(game.wfrp4e.tables["talents"]); | ||||||
|      |      | ||||||
|     if (command[0] == "/auberge" && command[1] ) |     if (command[0] == "/auberge" && command[1] ) | ||||||
|     { |     { | ||||||
| @@ -307,7 +307,7 @@ const __check_fix_wrong_modules = ( chatFlag, patchFinished ) => { | |||||||
|         } |         } | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|       WFRP4E.speciesSkills["gnome"] =  [ |       game.wfrp4e.config.speciesSkills["gnome"] =  [ | ||||||
|           "Focalisation (Ulgu)", |           "Focalisation (Ulgu)", | ||||||
|           "Charme", |           "Charme", | ||||||
|           "Résistance à l'alcool", |           "Résistance à l'alcool", | ||||||
| @@ -321,7 +321,7 @@ const __check_fix_wrong_modules = ( chatFlag, patchFinished ) => { | |||||||
|           "Survie en extérieur", |           "Survie en extérieur", | ||||||
|           "Discrétion (Au choix)" |           "Discrétion (Au choix)" | ||||||
|         ]; |         ]; | ||||||
|       WFRP4E.speciesTalents["gnome"] = [ |         game.wfrp4e.config.speciesTalents["gnome"] = [ | ||||||
|         "Insignifiant, Imprégné avec Uglu", |         "Insignifiant, Imprégné avec Uglu", | ||||||
|         "Chance, Imitation", |         "Chance, Imitation", | ||||||
|         "Vision Nocturne", |         "Vision Nocturne", | ||||||
| @@ -421,6 +421,9 @@ Hooks.once('ready', () => { | |||||||
|     if ( name == "wfrp4e-content" && module.active) { |     if ( name == "wfrp4e-content" && module.active) { | ||||||
|       compmod = "wfrp4e-content"; |       compmod = "wfrp4e-content"; | ||||||
|     } |     } | ||||||
|  |     if ( name == "wfrp4e-core" && module.active) { | ||||||
|  |       compmod = "wfrp4e-core"; | ||||||
|  |     } | ||||||
|   } ); |   } ); | ||||||
|   __auto_patch_translation_journal_compendium( compmod ) |   __auto_patch_translation_journal_compendium( compmod ) | ||||||
|   /* Uncomment this to auto-create the translation tables  |   /* Uncomment this to auto-create the translation tables  | ||||||
|   | |||||||
							
								
								
									
										155
									
								
								babele-register-orig.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								babele-register-orig.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,155 @@ | |||||||
|  | /************************************************************************************/ | ||||||
|  | /* Override some methods of the WFRP4 actor class, mainly to compute spells/weapons */ | ||||||
|  | class ActorWfrp4e_fr extends ActorWfrp4e { | ||||||
|  |   | ||||||
|  |   /** | ||||||
|  |    * Calculates a weapon's range or damage formula. | ||||||
|  |    *  | ||||||
|  |    * Takes a weapon formula for Damage or Range (SB + 4 or SBx3) and converts to a numeric value. | ||||||
|  |    *  | ||||||
|  |    * @param {String} formula formula to be processed (SBx3 => 9). | ||||||
|  |    *  | ||||||
|  |    * @return {Number} Numeric formula evaluation | ||||||
|  |    */ | ||||||
|  |   calculateRangeOrDamage(formula) | ||||||
|  |   { | ||||||
|  |     //console.log("FR function calculateRangeOrDamage !", formula); | ||||||
|  |     let actorData = this.data | ||||||
|  |     try  | ||||||
|  |     { | ||||||
|  |       formula = formula.toLowerCase(); | ||||||
|  |       // Iterate through characteristics | ||||||
|  |       for(let ch in actorData.data.characteristics) | ||||||
|  |       { | ||||||
|  |         // Determine if the formula includes the characteristic's abbreviation + B (SB, WPB, etc.) | ||||||
|  |         if (formula.includes(ch.concat('b'))) | ||||||
|  |         { | ||||||
|  |           // Replace that abbreviation with the Bonus value | ||||||
|  |           formula = formula.replace(ch.concat('b'), actorData.data.characteristics[ch].bonus.toString()); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |       if (formula.includes("yard") ) | ||||||
|  |         formula = formula.replace('yard', "mètre" ); | ||||||
|  |       if (formula.includes("yds") ) | ||||||
|  |         formula = formula.replace('yds', "m." ); | ||||||
|  |       // To evaluate multiplication, replace x with * | ||||||
|  |       formula = formula.replace('x', '*'); | ||||||
|  |  | ||||||
|  |       return eval(formula); | ||||||
|  |     } | ||||||
|  |     catch  | ||||||
|  |     { | ||||||
|  |       return formula | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |    | ||||||
|  | /** | ||||||
|  |    * Turns a formula into a processed string for display | ||||||
|  |    *  | ||||||
|  |    * Processes damage formula based - same as calculateSpellAttributes, but with additional | ||||||
|  |    * consideration to whether its a magic missile or not | ||||||
|  |    *  | ||||||
|  |    * @param   {String}  formula         Formula to process - "Willpower Bonus + 4"  | ||||||
|  |    * @param   {boolean} isMagicMissile  Whether or not it's a magic missile - used in calculating additional damage | ||||||
|  |    * @returns {String}  Processed formula | ||||||
|  |    */ | ||||||
|  |   calculateSpellDamage(formula, isMagicMissile) | ||||||
|  |   { | ||||||
|  |     let actorData = this.data | ||||||
|  |     formula = formula.toLowerCase(); | ||||||
|  |  | ||||||
|  |     if (isMagicMissile) // If it's a magic missile, damage includes willpower bonus | ||||||
|  |     { | ||||||
|  |       formula += "+ " + actorData.data.characteristics["wp"].bonus | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // Specific case, to avoid wrong matching with "Force" | ||||||
|  |     if (formula.includes("force mentale"))  | ||||||
|  |     { | ||||||
|  |       // Determine if it's looking for the bonus or the value | ||||||
|  |       if (formula.includes('bonus')) { | ||||||
|  |         formula = formula.replace( "bonus de force mentale", actorData.data.characteristics["wp"].bonus); | ||||||
|  |         formula = formula.replace( "force mentale bonus", actorData.data.characteristics["wp"].bonus); | ||||||
|  |       } else | ||||||
|  |         formula = formula.replace("force mentale",  actorData.data.characteristics["wp"].value); | ||||||
|  |     } | ||||||
|  |    | ||||||
|  |     // Iterate through characteristics | ||||||
|  |     for(let ch in actorData.data.characteristics) | ||||||
|  |     {  | ||||||
|  |       // If formula includes characteristic name | ||||||
|  |       while (formula.includes(actorData.data.characteristics[ch].label.toLowerCase())) | ||||||
|  |       { | ||||||
|  |         // Determine if it's looking for the bonus or the value | ||||||
|  |         if (formula.includes('bonus')) { | ||||||
|  |           formula = formula.replace("bonus de " + WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].bonus); | ||||||
|  |           formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase() + " bonus",  actorData.data.characteristics[ch].bonus); | ||||||
|  |         } | ||||||
|  |         else | ||||||
|  |           formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].value); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     //console.log("calculateSpellDamage -> " + formula ); | ||||||
|  |     return eval(formula); | ||||||
|  |   }   | ||||||
|  |    | ||||||
|  |   /** | ||||||
|  |    * Turns a formula into a processed string for display | ||||||
|  |    *  | ||||||
|  |    * Turns a spell attribute such as "Willpower Bonus Rounds" into a more user friendly, processed value | ||||||
|  |    * such as "4 Rounds". If the aoe is checked, it wraps the result in AoE (Result). | ||||||
|  |    *  | ||||||
|  |    * @param   {String}  formula   Formula to process - "Willpower Bonus Rounds"  | ||||||
|  |    * @param   {boolean} aoe       Whether or not it's calculating AoE (changes string return) | ||||||
|  |    * @returns {String}  formula   processed formula | ||||||
|  |    */ | ||||||
|  |   calculateSpellAttributes(formula, aoe=false) | ||||||
|  |   { | ||||||
|  |     let actorData = this.data | ||||||
|  |     formula = formula.toLowerCase(); | ||||||
|  |  | ||||||
|  |     // Do not process these special values | ||||||
|  |     if (formula != game.i18n.localize("Vous").toLowerCase() && formula != game.i18n.localize("Special").toLowerCase() && formula != game.i18n.localize("Instantané").toLowerCase()) | ||||||
|  |     { | ||||||
|  |       // Specific case, to avoid wrong matching with "Force" | ||||||
|  |       if (formula.includes("force mentale"))  | ||||||
|  |       { | ||||||
|  |         // Determine if it's looking for the bonus or the value | ||||||
|  |         if (formula.includes('bonus')) { | ||||||
|  |           formula = formula.replace( "bonus de force mentale",  actorData.data.characteristics["wp"].bonus); | ||||||
|  |           formula = formula.replace( "force mentale bonus",  actorData.data.characteristics["wp"].bonus); | ||||||
|  |         } | ||||||
|  |         else | ||||||
|  |           formula = formula.replace("force mentale",  actorData.data.characteristics["wp"].value); | ||||||
|  |       } | ||||||
|  |       if (formula.includes("yard") ) | ||||||
|  |         formula = formula.replace('yard', "mètre" ); | ||||||
|  |       if (formula.includes("yds") ) | ||||||
|  |         formula = formula.replace('yds', "m." ); | ||||||
|  |       // Iterate through remaining characteristics | ||||||
|  |       for(let ch in actorData.data.characteristics) | ||||||
|  |       { | ||||||
|  |         // If formula includes characteristic name | ||||||
|  |         //console.log("Testing :", ch, WFRP4E.characteristics[ch].toLowerCase()); | ||||||
|  |         if (formula.includes(WFRP4E.characteristics[ch].toLowerCase())) | ||||||
|  |         { | ||||||
|  |           // Determine if it's looking for the bonus or the value | ||||||
|  |           if (formula.includes('bonus')) { | ||||||
|  |             formula = formula.replace("bonus de " + WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].bonus); | ||||||
|  |             formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase() + " bonus",  actorData.data.characteristics[ch].bonus); | ||||||
|  |           } | ||||||
|  |           else | ||||||
|  |             formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].value); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // If AoE - wrap with AoE ( ) | ||||||
|  |     if (aoe) | ||||||
|  |       formula = "AoE (" + formula.capitalize() + ")"; | ||||||
|  |      | ||||||
|  |     //console.log("calculateSpellAttributes -> " + formula ); | ||||||
|  |     return formula.capitalize(); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -1,3 +1,6 @@ | |||||||
|  | /************************************************************************************/ | ||||||
|  | import ActorWfrp4e from "/systems/wfrp4e//modules/actor/actor-wfrp4e.js"; | ||||||
|  |  | ||||||
| /************************************************************************************/ | /************************************************************************************/ | ||||||
| /* Override some methods of the WFRP4 actor class, mainly to compute spells/weapons */ | /* Override some methods of the WFRP4 actor class, mainly to compute spells/weapons */ | ||||||
| class ActorWfrp4e_fr extends ActorWfrp4e { | class ActorWfrp4e_fr extends ActorWfrp4e { | ||||||
| @@ -83,10 +86,10 @@ class ActorWfrp4e_fr extends ActorWfrp4e { | |||||||
|         // Determine if it's looking for the bonus or the value |         // Determine if it's looking for the bonus or the value | ||||||
|         if (formula.includes('bonus')) { |         if (formula.includes('bonus')) { | ||||||
|           formula = formula.replace("bonus de " + WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].bonus); |           formula = formula.replace("bonus de " + WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].bonus); | ||||||
|           formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase() + " bonus",  actorData.data.characteristics[ch].bonus); |           formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase() + " bonus",  actorData.data.characteristics[ch].bonus); | ||||||
|         } |         } | ||||||
|         else |         else | ||||||
|           formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].value); |           formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].value); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|      |      | ||||||
| @@ -132,15 +135,15 @@ class ActorWfrp4e_fr extends ActorWfrp4e { | |||||||
|       { |       { | ||||||
|         // If formula includes characteristic name |         // If formula includes characteristic name | ||||||
|         //console.log("Testing :", ch, WFRP4E.characteristics[ch].toLowerCase()); |         //console.log("Testing :", ch, WFRP4E.characteristics[ch].toLowerCase()); | ||||||
|         if (formula.includes(WFRP4E.characteristics[ch].toLowerCase())) |         if (formula.includes(game.wfrp4e.config.characteristics[ch].toLowerCase())) | ||||||
|         { |         { | ||||||
|           // Determine if it's looking for the bonus or the value |           // Determine if it's looking for the bonus or the value | ||||||
|           if (formula.includes('bonus')) { |           if (formula.includes('bonus')) { | ||||||
|             formula = formula.replace("bonus de " + WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].bonus); |             formula = formula.replace("bonus de " + game.wfrp4e.config.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].bonus); | ||||||
|             formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase() + " bonus",  actorData.data.characteristics[ch].bonus); |             formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase() + " bonus",  actorData.data.characteristics[ch].bonus); | ||||||
|           } |           } | ||||||
|           else |           else | ||||||
|             formula = formula.replace(WFRP4E.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].value); |             formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase(),  actorData.data.characteristics[ch].value); | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| @@ -168,6 +171,9 @@ Hooks.once('init', () => { | |||||||
|     if ( name == "wfrp4e-content" && module.active) { |     if ( name == "wfrp4e-content" && module.active) { | ||||||
|       compmod = "wfrp4e-content"; |       compmod = "wfrp4e-content"; | ||||||
|     } |     } | ||||||
|  |     if ( name == "wfrp4e-core" && module.active) { | ||||||
|  |       compmod = "wfrp4e-core"; | ||||||
|  |     } | ||||||
|   } ); |   } ); | ||||||
|    |    | ||||||
|   // Babele stuff |   // Babele stuff | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user