Fix: messages et insomnie

Amélioration des messages de sommeil (nombre d'heure, seulement les
récupérations de rêve effectives, ...)

Les insomnies ne durent bien que 12h draconique à partir du prochain
chateau dormant (elles pouvaient durer 3 jours par erreur).
This commit is contained in:
2023-02-10 02:01:43 +01:00
parent 0c1b70f3f0
commit 4cf428f630
6 changed files with 162 additions and 173 deletions

View File

@ -1,4 +1,5 @@
import { ReglesOptionelles } from "../settings/regles-optionelles.js";
import { EffetsDraconiques } from "../tmr/effets-draconiques.js";
export class DialogRepos extends Dialog {
@ -6,7 +7,7 @@ export class DialogRepos extends Dialog {
if (!ReglesOptionelles.isUsing("chateau-dormant-gardien")) {
actor.system.sommeil = {
"nouveaujour": true,
"insomnie": false,
"insomnie": EffetsDraconiques.isSujetInsomnie(actor),
"moral": "neutre",
"heures": 4
}
@ -58,7 +59,8 @@ export class DialogRepos extends Dialog {
async nuit() {
await this.html.find("[name='sommeil.heures']").change();
const sommeilHeures = Number.parseInt(await this.html.find("[name='sommeil.heures']").val());
const val = await this.html.find("[name='sommeil.heures']").val();
const sommeilHeures = Number.parseInt(val ?? '0');
await this.actor.dormir(sommeilHeures, { chateauDormant: true });
}
@ -72,7 +74,7 @@ export class DialogRepos extends Dialog {
const selected = this.html.find(event.currentTarget);
const parentDiv = selected.parents().find('.sommeil-actor-moral');
const situationMoral = selected.data('moral');
await this.actor.update({"system.sommeil.moral": situationMoral});
await this.actor.setInfoSommeilMoral(situationMoral);
const htmlMoral = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/sommeil/sommeil-actor-moral.hbs', {
moral: situationMoral
});