Fix: sur-encombrement

Le sur-encombrement apparaissait dès 11.1 sur 12
This commit is contained in:
Vincent Vandemeulebrouck 2021-11-04 23:33:52 +01:00
parent 3e14b646c5
commit 738c0737ca

View File

@ -1246,8 +1246,8 @@ export class RdDActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
detectSurEncombrement() { computeMalusSurEncombrement() {
return Math.max(0, Math.ceil(Number(this.encTotal) - this.getEncombrementMax())); return Math.min(0, this.getEncombrementMax() - Math.ceil(Number(this.getEncTotal())));
} }
getEncombrementMax() { getEncombrementMax() {
@ -1335,23 +1335,24 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
computeEtatGeneral() { computeEtatGeneral() {
const actorData = Misc.data(this); const actorData = Misc.data(this);
const tplData = Misc.templateData(this);
// Pas d'état général pour les entités forçage à 0 // Pas d'état général pour les entités forçage à 0
if (this.data.type == 'entite') { if (this.data.type == 'entite') {
actorData.data.compteurs.etat.value = 0; tplData.compteurs.etat.value = 0;
return; return;
} }
// Pour les autres // Pour les autres
let state = - (actorData.data.sante.vie.max - actorData.data.sante.vie.value); let state = Math.min(tplData.sante.vie.value - tplData.sante.vie.max, 0);
if (ReglesOptionelles.isUsing("appliquer-fatigue") && actorData.data.sante.fatigue) { if (ReglesOptionelles.isUsing("appliquer-fatigue") && tplData.sante.fatigue) {
state += RdDUtility.currentFatigueMalus(actorData.data.sante.fatigue.value, actorData.data.sante.endurance.max); state += RdDUtility.currentFatigueMalus(tplData.sante.fatigue.value, tplData.sante.endurance.max);
} }
// Ajout de l'éthylisme // Ajout de l'éthylisme
state += Math.min(0, (actorData.data.compteurs.ethylisme?.value ?? 0)); state += Math.min(0, (tplData.compteurs.ethylisme?.value ?? 0));
actorData.data.compteurs.etat.value = state; tplData.compteurs.etat.value = state;
if (actorData.data.compteurs?.surenc) { if (tplData.compteurs?.surenc) {
actorData.data.compteurs.surenc.value = - this.detectSurEncombrement(); tplData.compteurs.surenc.value = this.computeMalusSurEncombrement();
} }
} }