diff --git a/module/item-sort.js b/module/item-sort.js index 189f2fba..2ceed69f 100644 --- a/module/item-sort.js +++ b/module/item-sort.js @@ -56,6 +56,10 @@ export class RdDItemSort extends Item { return voies.map(voie => RdDItemCompetence.getVoieDraconic(competencesDraconic, voie)) } + static getBestDraconicSort(competencesDraconic, sort) { + return RdDItemSort.getDraconicsSort(competencesDraconic, sort).sort(Misc.descending(it => it.system.niveau)).find(it=>true) + } + static getOrdreCode(code) { return (VOIES_DRACONIC.find(it => it.code == code)?.ordre ?? '?') } @@ -92,7 +96,7 @@ export class RdDItemSort extends Item { /* -------------------------------------------- */ static isCoutVariable(sort) { - return sort && (sort.system.ptreve.toLowerCase() == "variable" || sort.system.ptreve.indexOf("+") >= 0); + return sort && !Number.isInteger(sort.system.ptreve) && (sort.system.ptreve.toLowerCase() == "variable" || sort.system.ptreve.indexOf("+") >= 0); } /* -------------------------------------------- */ diff --git a/module/rdd-roll.js b/module/rdd-roll.js index 128a7a8e..d220c8c7 100644 --- a/module/rdd-roll.js +++ b/module/rdd-roll.js @@ -279,7 +279,7 @@ export class RdDRoll extends Dialog { async setSelectedSort(sort) { this.rollData.selectedSort = sort; // Update the selectedCarac - this.rollData.competence = RdDItemCompetence.getVoieDraconic(this.rollData.draconicList, sort.system.draconic); + this.rollData.competence = RdDItemSort.getBestDraconicSort(this.rollData.draconicList, sort) this.rollData.bonus = RdDItemSort.getCaseBonus(sort, this.rollData.tmr.coord); this.rollData.diffLibre = RdDItemSort.getDifficulte(sort, -7); RdDItemSort.setCoutReveReel(sort);