diff --git a/module/actor.js b/module/actor.js index fc90154b..e6172a13 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1676,6 +1676,7 @@ export class RdDActor extends Actor { const dialog = await DialogConsommer.create(this, item); dialog.render(true); } + async actionPotion(item) { return await this.consommerPotion(item) } @@ -1766,9 +1767,9 @@ export class RdDActor extends Actor { async surmonterExotisme(item, choix = {}) { const itemData = Misc.data(item); - const qualite = itemData.data.qualite; - if (qualite < 0) { - const rolled = await this.rollCaracCompetence('volonte', 'cuisine', qualite, { title: `surmonte l'exotisme de ${itemData.name}` }); + const exotisme = Math.min(itemData.data.exotisme, itemData.data.qualite, 0); + if (exotisme < 0) { + const rolled = await this.rollCaracCompetence('volonte', 'cuisine', exotisme, { title: `surmonte l'exotisme de ${itemData.name}` }); if (rolled.isEchec) { if (!choix.seForcer) { return false; @@ -2416,7 +2417,7 @@ export class RdDActor extends Actor { const baseQualite = (artData.rolled.isSuccess ? artData.oeuvre.data.niveau : artData.competence.data.niveau); const sust = artData.oeuvre.data.sust * artData.proportions; artData.qualiteFinale = Math.min(baseQualite, artData.oeuvre.data.niveau) + artData.rolled.ptQualite; - artData.exotismeFinal = Math.min(Math.min(artData.qualiteFinale, -Math.abs(artData.oeuvre.data.exotisme ?? 0)), 0); + artData.exotismeFinal = Math.min(Math.min(artData.qualiteFinale, artData.oeuvre.data.exotisme ?? 0), 0); console.log("OEUVRE", artData.art, artData) const platCuisine = { name: artData.oeuvre.name, @@ -2425,10 +2426,11 @@ export class RdDActor extends Actor { data: { "description": artData.oeuvre.data.description, "sust": Math.min(sust, 1), - "qualite": artData.exotismeFinal < 0 ? artData.exotismeFinal : artData.qualiteFinale, + "qualite": artData.qualiteFinale, + "exotisme": artData.exotismeFinal, "encombrement": 0.1, "quantite": Math.max(1, Math.floor(sust)), - "cout": artData.exotismeFinal < 0 ? 0 : artData.qualiteFinale * 0.01 + "cout": Math.max(artData.qualiteFinale) * 0.01 } }; if (artData.ajouterEquipement) { diff --git a/module/dialog-consommer.js b/module/dialog-consommer.js index 03002f63..ce18fe09 100644 --- a/module/dialog-consommer.js +++ b/module/dialog-consommer.js @@ -36,6 +36,7 @@ export class DialogConsommer extends Dialog { const itemData = duplicate(Misc.data(item)); let consommerData = { item: itemData, + cuisine: Misc.data(actor.getCompetence('cuisine')), choix: { doses: options.doses ?? 1, seForcer: options.seForcer ?? false, diff --git a/module/item.js b/module/item.js index 9fbbb961..8c78388c 100644 --- a/module/item.js +++ b/module/item.js @@ -253,8 +253,8 @@ export class RdDItem extends Item { RdDItem.propertyIfDefined('Sustentation', tplData.sust, tplData.sust > 0), RdDItem.propertyIfDefined('Désaltère', tplData.desaltere, tplData.boisson), RdDItem.propertyIfDefined('Force alcool', tplData.force, tplData.boisson && tplData.alcoolise), - RdDItem.propertyIfDefined('Exotisme', tplData.qualite, tplData.qualite < 0), - RdDItem.propertyIfDefined('Qualité', tplData.qualite, tplData.qualite > 0), + RdDItem.propertyIfDefined('Exotisme', tplData.exotisme, tplData.exotisme < 0), + [`Qualité: ${tplData.qualité}`], [`Encombrement: ${tplData.encombrement}`], ); return properties; diff --git a/system.json b/system.json index e4df8d80..dacf2e41 100644 --- a/system.json +++ b/system.json @@ -2,11 +2,11 @@ "name": "foundryvtt-reve-de-dragon", "title": "Rêve de Dragon", "description": "Rêve de Dragon RPG for FoundryVTT", - "version": "1.4.3", + "version": "1.4.4", "manifestPlusVersion": "1.0.0", "minimumCoreVersion": "0.8.0", "compatibleCoreVersion": "0.8.1", - "templateVersion": 113, + "templateVersion": 114, "author": "LeRatierBretonnien", "authors": [ { diff --git a/template.json b/template.json index 6a4da18b..63b76488 100644 --- a/template.json +++ b/template.json @@ -863,6 +863,7 @@ "alcoolise": false, "force": 0, "qualite": 0, + "exotisme": 0, "encombrement": 0, "quantite": 1, "cout": 0 diff --git a/templates/chat-resultat-recettecuisine.html b/templates/chat-resultat-recettecuisine.html index b67d5328..b22c9d4e 100644 --- a/templates/chat-resultat-recettecuisine.html +++ b/templates/chat-resultat-recettecuisine.html @@ -9,9 +9,10 @@
Vous avez préparé {{platCuisine.data.quantite}} portions de {{platCuisine.name}} {{~#if ajouterEquipement}}, qui ont été ajoutées à votre équipement{{/if}}. {{#if rolled.isSuccess}} - Vous avez réussi la recette, pour un plat de qualité {{qualiteFinale}}. + Vous avez réussi la recette, pour un plat de qualité {{qualiteFinale}} + {{~#if (lt exotismeFinal 0)}} et d'exotisme {{exotismeFinal}}{{/if}}. {{else}} - Vous faites un piètre cuisinier, et obtenez un plat {{#if (lt exotismeFinal 0)}}à l'exotisme certain{{else}}de qualité {{qualiteFinale}}{{/if}}. + Vous faites un piètre cuisinier, et obtenez un plat{{#if (lt exotismeFinal 0)}} à l'exotisme certain ({{exotismeFinal}}){{/if}} de qualité {{qualiteFinale}}. {{/if}} Pensez à faire goûter vos compagnons! {{#if (lt exotismeFinal 0)}} diff --git a/templates/consommer/dialog-nourritureboisson.html b/templates/consommer/dialog-nourritureboisson.html index 758daa29..9ab9cab7 100644 --- a/templates/consommer/dialog-nourritureboisson.html +++ b/templates/consommer/dialog-nourritureboisson.html @@ -16,15 +16,16 @@ Cette boisson vous apportera {{totalDesaltere}} unités d'eau.

{{/if}} + {{#if (gt item.data.qualite 0)}} {{#if (gt item.data.qualite cuisine.data.niveau)}}

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

{{/if}} + {{/if}} - {{#if (lt item.data.qualite 0)}} + {{#if (lt item.data.exotisme 0)}}

- Pour surmonter l'exotisme, vous devez effectuer un jet de Volonté/Cuisine à - {{numberFormat item.data.qualite decimals=0 sign=true}}. + Pour surmonter l'exotisme, vous devez effectuer un jet de Volonté/Cuisine à {{numberFormat item.data.exotisme decimals=0 sign=true}}.

- {{#if (lt data.qualite 0)}} - - {{else}} - {{/if}} - + +
+
+ +