Corrections sur factions, aspects, degats et fiches PNJs
This commit is contained in:
@@ -1,3 +1,16 @@
|
||||
/**
|
||||
* Célestopol 1922 — Système FoundryVTT
|
||||
*
|
||||
* Célestopol 1922 est un jeu de rôle édité par Antre-Monde Éditions.
|
||||
* Ce système FoundryVTT est une implémentation indépendante et n'est pas
|
||||
* affilié à Antre-Monde Éditions,
|
||||
* mais a été réalisé avec l'autorisation d'Antre-Monde Éditions.
|
||||
*
|
||||
* @author LeRatierBretonnien
|
||||
* @copyright 2025–2026 LeRatierBretonnien
|
||||
* @license CC BY-NC-SA 4.0 – https://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
import { SYSTEM } from "../config/system.mjs"
|
||||
|
||||
export default class CelestopolNPC extends foundry.abstract.TypeDataModel {
|
||||
@@ -66,7 +79,20 @@ export default class CelestopolNPC extends foundry.abstract.TypeDataModel {
|
||||
const armures = this.parent?.itemTypes?.armure ?? []
|
||||
return armures
|
||||
.filter(a => a.system.equipped)
|
||||
.reduce((sum, a) => sum + (a.system.malus ? -Math.abs(a.system.malus) : 0), 0)
|
||||
.reduce((sum, a) => {
|
||||
const value = a.system.protection ?? a.system.malus
|
||||
return sum + (value ? -Math.abs(value) : 0)
|
||||
}, 0)
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le malus d'armure applicable pour un jet PNJ.
|
||||
* Règle : sur tous les jets de Corps uniquement.
|
||||
* @param {string} statId
|
||||
* @returns {number}
|
||||
*/
|
||||
getArmorMalusForRoll(statId) {
|
||||
return statId === "corps" ? this.getArmorMalus() : 0
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -91,7 +117,7 @@ export default class CelestopolNPC extends foundry.abstract.TypeDataModel {
|
||||
skillLabel,
|
||||
skillValue: statData.res,
|
||||
woundMalus: this.getWoundMalus(),
|
||||
armorMalus: this.getArmorMalus(),
|
||||
armorMalus: this.getArmorMalusForRoll(statId),
|
||||
woundLevel: this.blessures.lvl,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user