From 1047720c2403e91baf9dcba37fef48eeadf119bd Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Fri, 10 Nov 2023 23:23:28 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20jet=20d'appr=C3=A9ciation=20sans=20comp?= =?UTF-8?q?=C3=A9tence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 1 + module/actor.js | 17 ++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/changelog.md b/changelog.md index 6d2d4daf..7cd9190d 100644 --- a/changelog.md +++ b/changelog.md @@ -3,6 +3,7 @@ - Fix: dans les TMRs, les tooltips affichent bien les informations de tous les effets sur la case - Fix: la fatigue et l'éthylisme sont de nouveau pris en compte dans le calcul de l'éthylisme - Fix: Le MJ peut correctement masquer les points de tâche requis +- Fix: le jet d'appréciation n'utilise pas la compétence ## v11.1.2 - Les vertèbres de Werther de Zloth - Fix: les jets d'encaissement fonctionnent de nouveau normalement diff --git a/module/actor.js b/module/actor.js index e5e35b1b..ba065a6a 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1313,7 +1313,13 @@ export class RdDActor extends RdDBaseActorSang { /* -------------------------------------------- */ async apprecier(carac, compName, qualite, title) { - const rolled = await this.doRollCaracCompetence(carac, compName, qualite, { title: title, apprecier: true }); + const competence = this.getCompetence(compName); + const minQualite = Math.max(1, competence?.system.niveau ?? 0); + if (qualite <= minQualite) { + ui.notifications.info(`${this.name} a un niveau ${competence.system.niveau} en ${competence.name}, trop élevé pour apprécier la qualité de ${qualite}`) + return; + } + const rolled = await this.doRollCaracCompetence(carac, undefined, qualite, { title }); if (rolled?.isSuccess) { await this.jetDeMoral('heureux'); } @@ -1790,20 +1796,13 @@ export class RdDActor extends RdDBaseActorSang { * @param {*} options * @returns */ - async doRollCaracCompetence(caracName, compName, diff, options = { title: "", apprecier: false }) { + async doRollCaracCompetence(caracName, compName, diff, options = { title: "" }) { const carac = this.getCaracByName(caracName); if (!carac) { ui.notifications.warn(`${this.name} n'a pas de caractéristique correspondant à ${caracName}`) return; } const competence = this.getCompetence(compName); - if (options.apprecier && competence) { - const minQualite = Math.max(0, competence.system.niveau); - if (diff <= minQualite) { - ui.notifications.info(`${this.name} a un niveau ${competence.system.niveau} en ${competence.name}, trop élevé pour apprécier la qualité de ${diff}`) - return; - } - } let rollData = { alias: this.name, caracValue: Number(carac.value),