From 90565149518606bf489825ea1a4b01219e9027f2 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Fri, 10 Nov 2023 23:23:58 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20un=20plat=20rat=C3=A9=20est=20mauvais,?= =?UTF-8?q?=20pas=20exotique?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 1 + module/actor.js | 13 ++++++++----- module/rdd-utility.js | 3 ++- templates/dialog-item-achat.html | 9 ++++++--- templates/dialog-item-consommer.html | 9 ++++++--- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/changelog.md b/changelog.md index 7cd9190d..eb76b648 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,7 @@ - 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 +- Fix: la qualité négative n'est pas exotique, elle est juste mauvaise: on n'utilise pas la cuisine pour se retenir de jeter l'assiette ## 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 ba065a6a..a51c6ddf 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1303,10 +1303,13 @@ export class RdDActor extends RdDBaseActorSang { /* -------------------------------------------- */ async _surmonterExotisme(item) { - const exotisme = Math.min(item.system.exotisme, item.system.qualite, 0); - if (exotisme < 0) { - const rolled = await this.doRollCaracCompetence('volonte', 'cuisine', exotisme, { title: `tente de surmonter l'exotisme de ${item.name}` }); - return rolled.isSuccess; + const qualite = Math.min(item.system.qualite, 0) + const exotisme = item.system.exotisme + if (exotisme < 0 || qualite < 0) { + const competence = qualite > 0 ? 'cuisine' : undefined + const difficulte = Math.min(exotisme, qualite) + const rolled = await this.doRollCaracCompetence('volonte', competence, difficulte, { title: `tente de surmonter l'exotisme de ${item.name}` }) + return rolled.isSuccess } return true; } @@ -1319,7 +1322,7 @@ export class RdDActor extends RdDBaseActorSang { 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 }); + const rolled = await this.doRollCaracCompetence(carac, undefined, 0, { title }); if (rolled?.isSuccess) { await this.jetDeMoral('heureux'); } diff --git a/module/rdd-utility.js b/module/rdd-utility.js index 0f8880e3..362744b9 100644 --- a/module/rdd-utility.js +++ b/module/rdd-utility.js @@ -289,7 +289,8 @@ export class RdDUtility { Handlebars.registerHelper('uniteQuantite', (itemId, actorId) => RdDUtility.getItem(itemId, actorId)?.getUniteQuantite()); Handlebars.registerHelper('isFieldInventaireModifiable', (type, field) => RdDItem.isFieldInventaireModifiable(type, field)); Handlebars.registerHelper('rarete-getChamp', (rarete, field) => RdDRaretes.getChamp(rarete, field)); - + + Handlebars.registerHelper('plusMoins', diff => (diff > 0 ? '+' : '') + Math.round(diff)) Handlebars.registerHelper('experienceLog-topic', topic => ExperienceLog.labelTopic(topic)); return loadTemplates(templatePaths); diff --git a/templates/dialog-item-achat.html b/templates/dialog-item-achat.html index f6ecffb2..baae0bfb 100644 --- a/templates/dialog-item-achat.html +++ b/templates/dialog-item-achat.html @@ -64,14 +64,17 @@ {{/if}} {{#if (gt item.system.qualite 0)}} {{#if (gt item.system.qualite cuisine.system.niveau)}} -

La qualité du plat est telle qu'un jet de Goût/Cuisine à {{numberFormat item.system.qualite decimals=0 sign=true}} - vous permettra un jet de moral heureux.

+

La qualité du plat est telle qu'un jet de Goût réussi vous permettra un jet de moral heureux.

{{/if}} {{/if}} {{#if (or (lt item.system.qualite 0) (lt item.system.exotisme 0))}}

- Pour surmonter {{#if (lt item.system.qualite 0)}}le mauvais goût{{else}}l'exotisme{{/if}}, vous devez effectuer un jet de Volonté/Cuisine à {{numberFormat (min item.system.exotisme item.system.qualite) decimals=0 sign=true}}. + {{#if (lt item.system.qualite 0)}} + Pour surmonter le mauvais goût, vous devez effectuer un jet de Volonté à {{plusMoins (min item.system.exotisme item.system.qualite)}}. + {{else}} + Pour surmonter l'exotisme, vous devez effectuer un jet de Volonté/Cuisine à {{plusMoins (min item.system.exotisme)}}. + {{/if}}
diff --git a/templates/dialog-item-consommer.html b/templates/dialog-item-consommer.html index 48cd286f..c59f8dbc 100644 --- a/templates/dialog-item-consommer.html +++ b/templates/dialog-item-consommer.html @@ -19,14 +19,17 @@ {{/if}} {{#if (gt item.system.qualite 0)}} {{#if (gt item.system.qualite cuisine.system.niveau)}} -

La qualité du plat est telle qu'un jet de Goût/Cuisine à {{numberFormat item.system.qualite decimals=0 sign=true}} - vous permettra un jet de moral heureux.

+

La qualité du plat est telle qu'un jet de Goût vous permettra un jet de moral heureux.

{{/if}} {{/if}} {{#if (or (lt item.system.qualite 0) (lt item.system.exotisme 0))}}

- Pour surmonter {{#if (lt item.system.qualite 0)}}le mauvais goût{{else}}l'exotisme{{/if}}, vous devez effectuer un jet de Volonté/Cuisine à {{numberFormat (min item.system.exotisme item.system.qualite) decimals=0 sign=true}}. + {{#if (lt item.system.qualite 0)}} + Pour surmonter le mauvais goût, vous devez effectuer un jet de Volonté à {{plusMoins (min item.system.exotisme item.system.qualite)}}. + {{else}} + Pour surmonter l'exotisme, vous devez effectuer un jet de Volonté/Cuisine à {{plusMoins (min item.system.exotisme)}}. + {{/if}}