Correction: qualité des improvisations de cuisine

This commit is contained in:
2026-04-03 22:16:50 +02:00
parent 956fecdd82
commit e6c4f7990a
3 changed files with 20 additions and 12 deletions
+4
View File
@@ -1,5 +1,9 @@
# 13.0 # 13.0
## 13.0.34 - La saumuche d'Illysis
- la qualité des "improvisations du moment" se base sur le niveau du cuisinier
## 13.0.33 - L'ébriété d'Illysis ## 13.0.33 - L'ébriété d'Illysis
- le stade éméché ne cause plus de perte d'endurance - le stade éméché ne cause plus de perte d'endurance
+14 -9
View File
@@ -39,18 +39,17 @@ export class RollPartCuisine extends RollPartSelect {
loadRefs(rollData) { loadRefs(rollData) {
const refs = this.getRefs(rollData) const refs = this.getRefs(rollData)
const actor = rollData.active.actor const actor = rollData.active.actor
refs.cuisine = actor.getCompetence('Cuisine') const cuisine = actor.getCompetence('Cuisine')
const recettes = actor.items const recettes = actor.items
.filter(it => it.type == ITEM_TYPES.recettecuisine) .filter(it => it.type == ITEM_TYPES.recettecuisine)
.map(RollPartCuisine.$extractPreparationRecette) .map(it => RollPartCuisine.$extractPreparationRecette(cuisine, it))
const ingredientsBruts = actor.items const ingredientsBruts = actor.items
.filter(it => it.getUtilisationCuisine() == 'brut') .filter(it => it.getUtilisationCuisine() == 'brut')
.map(RollPartCuisine.$extractPreparationBrut) .map(it => RollPartCuisine.$extractPreparationBrut(cuisine, it))
refs.preparations = [RollPartCuisine.$preparationBasique(), ...recettes, ...ingredientsBruts] refs.preparations = [RollPartCuisine.$preparationBasique(cuisine), ...recettes, ...ingredientsBruts]
refs.preparations.forEach(p => p.comp = refs.cuisine)
if (refs.preparations.length > 0) { if (refs.preparations.length > 0) {
this.$selectPreparation(rollData) this.$selectPreparation(rollData)
this.$restoreSavedOptions(rollData) this.$restoreSavedOptions(rollData)
@@ -73,7 +72,7 @@ export class RollPartCuisine extends RollPartSelect {
choices(refs) { return refs.preparations } choices(refs) { return refs.preparations }
static $preparationBasique() { static $preparationBasique(cuisine) {
return { return {
key: '', key: '',
label: "Improvisation du moment", label: "Improvisation du moment",
@@ -85,10 +84,12 @@ export class RollPartCuisine extends RollPartSelect {
proportionsMax: 50, proportionsMax: 50,
value: 0, value: 0,
fabriquer: false, fabriquer: false,
qualite: cuisine.system.niveau,
comp: cuisine,
} }
} }
static $extractPreparationRecette(recette) { static $extractPreparationRecette(cuisine, recette) {
const proportions = recette.system.sust ?? 1 const proportions = recette.system.sust ?? 1
return { return {
key: recette.id, key: recette.id,
@@ -102,10 +103,12 @@ export class RollPartCuisine extends RollPartSelect {
value: -recette.system.niveau, value: -recette.system.niveau,
recette: recette, recette: recette,
fabriquer: true, fabriquer: true,
qualite: recette.system.niveau,
comp: cuisine,
} }
} }
static $extractPreparationBrut(ingredient) { static $extractPreparationBrut(cuisine, ingredient) {
return { return {
key: ingredient.id, key: ingredient.id,
label: ingredient.name + ' cuisiné', label: ingredient.name + ' cuisiné',
@@ -118,6 +121,8 @@ export class RollPartCuisine extends RollPartSelect {
value: 0, value: 0,
ingredient: ingredient, ingredient: ingredient,
fabriquer: true, fabriquer: true,
qualite: cuisine.system.niveau,
comp: cuisine,
} }
} }
@@ -150,7 +155,7 @@ export class RollPartCuisine extends RollPartSelect {
this.$selectPreparation(rollDialog.rollData, selectOptions[index]?.value) this.$selectPreparation(rollDialog.rollData, selectOptions[index]?.value)
rollDialog.render() rollDialog.render()
}) })
checkboxFabriquer?.addEventListener("change", e => { checkboxFabriquer?.addEventListener("change", e => {
current.fabriquer = e.currentTarget.checked current.fabriquer = e.currentTarget.checked
}) })
+2 -3
View File
@@ -21,9 +21,7 @@ export class RollTypeCuisine extends RollType {
getResult(rollData, impacts) { getResult(rollData, impacts) {
const current = rollData.current[PART_CUISINE] const current = rollData.current[PART_CUISINE]
const diff = -current.value const qualite = rollData.rolled.ptQualite + current.qualite
const cuisine = rollData.refs[PART_CUISINE].cuisine
const qualite = rollData.rolled.ptQualite + (rollData.rolled.isSuccess ? diff : Math.min(diff, cuisine.system.niveau))
const result = { const result = {
qualite: qualite, qualite: qualite,
@@ -49,6 +47,7 @@ export class RollTypeCuisine extends RollType {
} }
return result return result
} }
onApplyImpacts(roll, impacts) { onApplyImpacts(roll, impacts) {
if (roll.result.plat) { if (roll.result.plat) {
// le plat n'est pas créé immédiatement, il faut donc retrouver l'id // le plat n'est pas créé immédiatement, il faut donc retrouver l'id