Fix: jet d'appréciation sans compétence

This commit is contained in:
Vincent Vandemeulebrouck 2023-11-10 23:23:28 +01:00
parent 43bcf1c336
commit 1047720c24
2 changed files with 9 additions and 9 deletions

View File

@ -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

View File

@ -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),