Endurance limitée en cas d'insomnie
This commit is contained in:
parent
a43ceb3188
commit
3001ae44de
@ -621,14 +621,14 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
||||||
content: this.name + ': '
|
content: this.name + ': '
|
||||||
};
|
};
|
||||||
await this.recupereEndurance(message);
|
const insomnie = this.system.sommeil?.insomnie || heures == 0;
|
||||||
if (this.system.sommeil?.insomnie || heures == 0) {
|
await this.recupereEndurance({message:message, demi:insomnie});
|
||||||
|
if (insomnie) {
|
||||||
message.content += 'Vous ne trouvez pas le sommeil';
|
message.content += 'Vous ne trouvez pas le sommeil';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
let jetsReve = [];
|
let jetsReve = [];
|
||||||
let dormi = await this.dormirDesHeures(jetsReve, message, heures, options);
|
let dormi = await this.dormirDesHeures(jetsReve, message, heures, options);
|
||||||
message.content += `Vous dormez ${dormi.heures <= 1 ? 'une heure' : (dormi.heures + ' heures')}. `;
|
|
||||||
if (jetsReve.length > 0) {
|
if (jetsReve.length > 0) {
|
||||||
message.content += `Vous récupérez ${jetsReve.filter(it => it >= 0).reduce(Misc.joining("+"))} Points de rêve. `;
|
message.content += `Vous récupérez ${jetsReve.filter(it => it >= 0).reduce(Misc.joining("+"))} Points de rêve. `;
|
||||||
}
|
}
|
||||||
@ -636,6 +636,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
message.content += 'Vous êtes réveillé par un Rêve de Dragon.'
|
message.content += 'Vous êtes réveillé par un Rêve de Dragon.'
|
||||||
}
|
}
|
||||||
options.chateauDormant = options.chateauDormant && dormi.heures >= heures;
|
options.chateauDormant = options.chateauDormant && dormi.heures >= heures;
|
||||||
|
message.content += `Vous avez dormi ${dormi.heures <= 1 ? 'une heure' : (dormi.heures + ' heures')}. `;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!options.grisReve) {
|
if (!options.grisReve) {
|
||||||
@ -702,8 +703,13 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async recupereEndurance(message) {
|
async recupereEndurance({message, demi}) {
|
||||||
const manquant = this._computeEnduranceMax() - this.system.sante.endurance.value;
|
let max = this._computeEnduranceMax();
|
||||||
|
if (demi) {
|
||||||
|
max = Math.floor(max/2);
|
||||||
|
}
|
||||||
|
const manquant = max - this.system.sante.endurance.value;
|
||||||
|
|
||||||
if (manquant > 0) {
|
if (manquant > 0) {
|
||||||
await this.santeIncDec("endurance", manquant);
|
await this.santeIncDec("endurance", manquant);
|
||||||
message.content += `Vous récuperez ${manquant} points d'endurance. `;
|
message.content += `Vous récuperez ${manquant} points d'endurance. `;
|
||||||
@ -1706,6 +1712,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
await this.rollTache(tache.id);
|
await this.rollTache(tache.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async actionHerbe(item, onActionItem = async () => { }) {
|
async actionHerbe(item, onActionItem = async () => { }) {
|
||||||
if (item.isHerbeAPotion()) {
|
if (item.isHerbeAPotion()) {
|
||||||
return DialogFabriquerPotion.create(this, item, onActionItem);
|
return DialogFabriquerPotion.create(this, item, onActionItem);
|
||||||
|
Loading…
Reference in New Issue
Block a user