forked from public/foundryvtt-reve-de-dragon
Corrections sur les ajustements
- le malus de sur-encombrement est correctement calculé (dans la zone d'état) - par défaut, le sur-encombrement est appliqué - le sur-encombrement est affiché sur les actions physiques - l'encombrement s'applique à agilité/dérobée, avec natation/acrobatie (par défaut) - le moral est géré dans le noeud 'use' du rollData - le moral est associé aux actions physiques
This commit is contained in:
@ -1292,7 +1292,7 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
|
||||
isSurenc() {
|
||||
return this.isPersonnage() ? (this.system.compteurs.surenc.value < 0) : false
|
||||
return this.isPersonnage() ? (this.computeMalusSurEncombrement() < 0) : false
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -1303,6 +1303,7 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
return Math.min(0, this.getEncombrementMax() - Math.ceil(Number(this.getEncTotal())));
|
||||
}
|
||||
|
||||
getMessageSurEncombrement() {
|
||||
return this.computeMalusSurEncombrement() < 0 ? "Sur-Encombrement!" : "";
|
||||
}
|
||||
@ -1337,17 +1338,15 @@ export class RdDActor extends Actor {
|
||||
async computeEncombrementTotalEtMalusArmure() {
|
||||
if (!this.pack) {
|
||||
await this.computeMalusArmure();
|
||||
return this.computeEncombrement();
|
||||
this.encTotal = this.items.map(it => it.getEncTotal()).reduce(Misc.sum(), 0);
|
||||
if (!this.isVehicule()) {
|
||||
this.system.compteurs.surenc.value = this.computeMalusSurEncombrement();
|
||||
}
|
||||
return this.encTotal;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
computeEncombrement() {
|
||||
this.encTotal = this.items.map(it => it.getEncTotal()).reduce(Misc.sum(), 0);
|
||||
return this.encTotal;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async computeMalusArmure() {
|
||||
if (this.isPersonnage()) {
|
||||
@ -1419,9 +1418,6 @@ export class RdDActor extends Actor {
|
||||
state += Math.min(0, (compteurs.ethylisme?.value ?? 0));
|
||||
|
||||
compteurs.etat.value = state;
|
||||
if (compteurs?.surenc) {
|
||||
compteurs.surenc.value = this.computeMalusSurEncombrement();
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -2273,7 +2269,7 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async _appliquerAppelMoral(rollData) {
|
||||
if (!this.isPersonnage()) return;
|
||||
if (!rollData.useMoral) return;
|
||||
if (!rollData.use.moral) return;
|
||||
if (rollData.rolled.isEchec ||
|
||||
(rollData.ajustements.diviseurSignificative && (rollData.rolled.roll * rollData.ajustements.diviseurSignificative > rollData.score))) {
|
||||
rollData.perteMoralEchec = rollData.moral <= -3 ? 'dissolution' : 'perte';
|
||||
|
Reference in New Issue
Block a user