diff --git a/module/actor.js b/module/actor.js index 71a82c8a..354bb2e4 100644 --- a/module/actor.js +++ b/module/actor.js @@ -964,11 +964,15 @@ export class RdDActor extends Actor { async updateCompetence(idOrName, compValue) { let competence = this.getCompetence(idOrName); if (competence) { - let troncList = RdDItemCompetence.isTronc(competence.name); let nouveauNiveau = compValue ?? RdDItemCompetence.getNiveauBase(Misc.data(competence).data.categorie); - if (troncList) { + const tronc = RdDItemCompetence.getListTronc(competence.name).filter(it => { + const comp = this.getCompetence(it); + const niveauTr = comp? Misc.data(comp).data.niveau : 0; + return niveauTr < 0 && niveauTr < nouveauNiveau; + }); + if (tronc.length > 0) { 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) { + for (let troncName of tronc) { message += "
" + troncName; } ChatMessage.create({ diff --git a/module/item-competence.js b/module/item-competence.js index 268e4116..5c7f3156 100644 --- a/module/item-competence.js +++ b/module/item-competence.js @@ -113,14 +113,14 @@ export class RdDItemCompetence extends Item { } /* -------------------------------------------- */ - static isTronc(compName) { + static getListTronc(compName) { for (let troncList of competenceTroncs) { for (let troncName of troncList) { if (troncName == compName) return troncList; } } - return false; + return []; } /* -------------------------------------------- */