From 6aba92900ce85e5b3eef148d11ec64b102cbcd77 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Tue, 4 Mar 2025 23:01:04 +0100 Subject: [PATCH] Fix erreurs sorts variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - correction de la sélection de la voie de draconique pour sort à voie variable - en cas de sort avec un coût en rêve numérique, ce n'est pas variable --- module/item-sort.js | 6 +++++- module/rdd-roll.js | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) 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);