Gestion des signes draconiques #455

Closed
vincent.vandeme wants to merge 233 commits from v1.4-signes-draconiques into master
8 changed files with 26 additions and 20 deletions
Showing only changes of commit 693e3eb6d0 - Show all commits

View File

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

View File

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

View File

@ -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),
[`<b>Qualité</b>: ${tplData.qualité}`],
[`<b>Encombrement</b>: ${tplData.encombrement}`],
);
return properties;

View File

@ -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": [
{

View File

@ -863,6 +863,7 @@
"alcoolise": false,
"force": 0,
"qualite": 0,
"exotisme": 0,
"encombrement": 0,
"quantite": 1,
"cout": 0

View File

@ -9,9 +9,10 @@
<br>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)}}

View File

@ -16,15 +16,16 @@
Cette boisson vous apportera <span class="total-desaltere">{{totalDesaltere}}</span> unités d'eau.
</p>
{{/if}}
{{#if (gt item.data.qualite 0)}}
{{#if (gt item.data.qualite cuisine.data.niveau)}}
<p>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.</p>
{{/if}}
{{/if}}
{{#if (lt item.data.qualite 0)}}
{{#if (lt item.data.exotisme 0)}}
<p>
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}}.
</p>
<p>
<label>En cas d'échec, voulez-vous vous forcer à manger (et subir un jet de moral en situation

View File

@ -33,13 +33,13 @@
{{/if}}
{{/if}}
<div class="form-group">
{{#if (lt data.qualite 0)}}
<label>Exotisme</label>
{{else}}
<label>Qualité</label>
{{/if}}
<input class="attribute-value" type="text" name="data.qualite" value="{{data.qualite}}" data-dtype="Number" />
</div>
<div class="form-group">
<label>Exotisme</label>
<input class="attribute-value" type="text" name="data.exotisme" value="{{data.exotisme}}" data-dtype="Number" />
</div>
<div class="form-group">
<label>Encombrement </label>
<input class="attribute-value" type="text" name="data.encombrement" value="{{data.encombrement}}"