Fix affichage sur perte d'endurance
décaller l'ajout d'effets après l'update permet d'éviter les résultats "invisibles"
This commit is contained in:
@@ -130,7 +130,7 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
|
||||
let result = {
|
||||
sonne: false,
|
||||
};
|
||||
|
||||
let perteEndurance = 0
|
||||
let minValue = name == "vie" ? -this.getSConst() - 1 : 0;
|
||||
|
||||
result.newValue = Math.max(minValue, Math.min(compteur.value + inc, compteur.max));
|
||||
@@ -145,16 +145,10 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
|
||||
if (inc > 0) { // le max d'endurance s'applique seulement à la récupération
|
||||
result.newValue = Math.min(result.newValue, this._computeEnduranceMax())
|
||||
}
|
||||
const perte = compteur.value - result.newValue;
|
||||
result.perte = perte;
|
||||
if (perte > 1) {
|
||||
// Peut-être sonné si 2 points d'endurance perdus d'un coup
|
||||
foundry.utils.mergeObject(result, await this.jetEndurance(result.newValue));
|
||||
} else if (inc > 0) {
|
||||
await this.setSonne(false);
|
||||
}
|
||||
perteEndurance = compteur.value - result.newValue;
|
||||
result.perte = perteEndurance
|
||||
if (sante.fatigue && inc < 0) { // Each endurance lost -> fatigue lost
|
||||
fatigue = perte;
|
||||
fatigue = perteEndurance;
|
||||
}
|
||||
}
|
||||
compteur.value = result.newValue;
|
||||
@@ -163,6 +157,14 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
|
||||
sante.fatigue.value = Math.max(sante.fatigue.value + fatigue, this.getFatigueMin());
|
||||
}
|
||||
await this.update({ "system.sante": sante }, { render: true })
|
||||
|
||||
if (perteEndurance > 1) {
|
||||
// Peut-être sonné si 2 points d'endurance perdus d'un coup
|
||||
foundry.utils.mergeObject(result, await this.jetEndurance(result.newValue));
|
||||
} else if (name == "endurance" && inc > 0) {
|
||||
await this.setSonne(false);
|
||||
}
|
||||
|
||||
if (this.isDead()) {
|
||||
await this.setEffect(STATUSES.StatusComma, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user