Nettoyage feuilles acteurs

- template partial pour les compétences
- séparation des options/calculs/données
- extraction de méthodes pour les calculs (total xp, total carac, ...)

- déplacement de code de RdDUtility vers RdDItemCompetence / RdDCarac
This commit is contained in:
Vincent Vandemeulebrouck
2021-03-17 01:21:37 +01:00
parent 5207df0223
commit f26ae24d13
16 changed files with 376 additions and 471 deletions

View File

@ -25,6 +25,7 @@ import { TMRRencontres } from "./tmr-rencontres.js";
import { Poetique } from "./poetique.js";
import { EffetsDraconiques } from "./tmr/effets-draconiques.js";
import { Draconique } from "./tmr/draconique.js";
import { RdDCarac } from "./rdd-carac.js";
/* -------------------------------------------- */
@ -139,7 +140,7 @@ export class RdDActor extends Actor {
*/
async _prepareCharacterData(actorData) {
// Initialize empty items
RdDUtility.computeCarac(actorData.data);
RdDCarac.computeCarac(actorData.data);
this.computeEncombrementTotalEtMalusArmure();
this.computePrixTotalEquipement();
this.computeEtatGeneral();
@ -736,7 +737,7 @@ export class RdDActor extends Actor {
let comp = this.getCompetence(compName);
if (comp) {
let troncList = RdDItemCompetence.isTronc(compName);
let nouveauNiveau = compValue ?? RdDItemCompetence.getLevelCategory(comp.data.categorie);
let nouveauNiveau = compValue ?? RdDItemCompetence.getNiveauBase(comp.data.categorie);
if (troncList) {
let message = "Vous avez modifié une compétence 'tronc'. Vérifiez que les compétences suivantes évoluent ensemble jusqu'au niveau 0 : ";
for (let troncName of troncList) {
@ -1015,6 +1016,7 @@ export class RdDActor extends Actor {
malusArmureData.value = newMalusArmure;
await this.update({ "data.attributs.malusarmure": malusArmureData });
}
return this.encTotal;
}
/* -------------------------------------------- */
@ -1032,6 +1034,7 @@ export class RdDActor extends Actor {
}
// Mise à jour valeur totale de l'équipement
this.prixTotalEquipement = prixTotalEquipement;
return prixTotalEquipement;
}
/* -------------------------------------------- */
@ -1310,7 +1313,7 @@ export class RdDActor extends Actor {
if (this.isEntiteCauchemar()) {
return 0;
}
return RdDUtility.calculSConst(this.data.data.carac.constitution.value);
return RdDCarac.calculSConst(this.data.data.carac.constitution.value);
}
/* -------------------------------------------- */
@ -1716,7 +1719,7 @@ export class RdDActor extends Actor {
async checkCaracXP(caracName) {
let carac = this.data.data.carac[caracName];
if (carac && carac.xp > 0) {
let xpNeeded = RdDUtility.getCaracNextXp(carac.value + 1);
let xpNeeded = RdDCarac.getCaracNextXp(carac.value + 1);
if (carac.xp >= xpNeeded) {
carac = duplicate(carac);
carac.value = Number(carac.value) + 1;