forked from public/foundryvtt-reve-de-dragon
		
	Créer des plats cuisinés
Lors de l'exécution d'une recette de cuisine, permettre l'ajout d'un plat à l'équipement
This commit is contained in:
		| @@ -29,6 +29,7 @@ import { RdDCarac } from "./rdd-carac.js"; | ||||
| import { Monnaie } from "./item-monnaie.js"; | ||||
| import { RdDHerbes } from "./rdd-herbes.js"; | ||||
| import { DialogConsommer } from "./dialog-consommer.js"; | ||||
| import { RdDItem } from "./item.js"; | ||||
|  | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
| @@ -2264,7 +2265,12 @@ export class RdDActor extends Actor { | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   async rollRecetteCuisine(id) { | ||||
|     const artData = { art: 'cuisine', verbe: 'Cuisiner' }; | ||||
|     const artData = { | ||||
|       art: 'cuisine', | ||||
|       verbe: 'Cuisiner', | ||||
|       proportions: 1, | ||||
|       ajouterEquipement: false | ||||
|     }; | ||||
|     const oeuvre = duplicate(this.getRecetteCuisine(id)); | ||||
|     await this._rollArt(artData, 'odoratgout', oeuvre, r => this._resultRecetteCuisine(r)); | ||||
|   } | ||||
| @@ -2272,9 +2278,28 @@ export class RdDActor extends Actor { | ||||
|   /* -------------------------------------------- */ | ||||
|   async _resultRecetteCuisine(artData) { | ||||
|     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); | ||||
|     console.log("OEUVRE", artData.art, artData) | ||||
|     const platCuisine = { | ||||
|       name: artData.oeuvre.name, | ||||
|       type: 'nourritureboisson', | ||||
|       img: 'systems/foundryvtt-reve-de-dragon/icons/objets/provision_cuite.webp', | ||||
|       data: { | ||||
|         "description": artData.oeuvre.data.description, | ||||
|         "sust": Math.min(sust, 1), | ||||
|         "qualite": artData.exotismeFinal < 0 ? artData.exotismeFinal : artData.qualiteFinale, | ||||
|         "encombrement": 0.1, | ||||
|         "quantite": Math.max(1, Math.floor(sust)), | ||||
|         "cout": artData.exotismeFinal < 0 ? 0 : artData.qualiteFinale * 0.01 | ||||
|       } | ||||
|     }; | ||||
|     if (artData.ajouterEquipement){ | ||||
|       await this.createEmbeddedDocuments('Item', [platCuisine]); | ||||
|       ui.notifications.info(`${platCuisine.data.quantite} rations de ${platCuisine.name} ont été ajoutés à votre équipement`); | ||||
|     } | ||||
|     artData.platCuisine = platCuisine; | ||||
|     RdDResolutionTable.displayRollData(artData, this.name, `chat-resultat-${artData.art}.html`); | ||||
|   } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user