Correction sur combat des PNJs
All checks were successful
Release Creation / build (release) Successful in 51s

This commit is contained in:
2026-03-16 23:04:21 +01:00
parent 25b6e30aa8
commit 038aa37838
31 changed files with 1148 additions and 36 deletions

View File

@@ -680,6 +680,14 @@ export class HeritiersActor extends Actor {
this.update({ 'system.rang.tricherie': tricherie })
return true
}
/* -------------------------------------------- */
/* -------------------------------------------- */
// Returns the combattant root competence formatted for rollData, used for PNJ attacks
_getCombattantCompetence() {
const combattant = this.system.competences.combattant
return { name: combattant.label, system: { niveau: combattant.niveau } }
}
/* -------------------------------------------- */
getPireCompetence(compName1, compName2) {
let comp1 = this.items.find(it => it.name == compName1)
@@ -856,13 +864,15 @@ export class HeritiersActor extends Actor {
if (arme) {
arme = foundry.utils.duplicate(arme)
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
let competenceName = "Tir"
let key = "prec"
if (arme.system.isMelee) {
competenceName = "Mêlée"
key = "agi"
let key = arme.system.isMelee ? "agi" : "prec"
let rollData
if (this.type == 'pnj') {
rollData = this.getCommonRollData()
rollData.competence = this._getCombattantCompetence()
} else {
let competenceName = arme.system.isMelee ? "Mêlée" : "Tir"
rollData = this.getCommonRollData(undefined, competenceName)
}
let rollData = this.getCommonRollData(undefined, competenceName)
rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key
rollData.arme = arme
@@ -882,9 +892,14 @@ export class HeritiersActor extends Actor {
let arme = this.items.get(armeId)
if (arme) {
let key = "for"
let competenceName = "Mêlée"
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
let rollData = this.getCommonRollData(undefined, competenceName)
let rollData
if (this.type == 'pnj') {
rollData = this.getCommonRollData()
rollData.competence = this._getCombattantCompetence()
} else {
rollData = this.getCommonRollData(undefined, "Mêlée")
}
rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key
rollData.arme = foundry.utils.duplicate(arme)
@@ -901,8 +916,14 @@ export class HeritiersActor extends Actor {
if (arme) {
let key = "agi"
arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
let pireCompetence = this.getPireCompetence("Mêlée", "Mouvement")
let rollData = this.getCommonRollData(undefined, pireCompetence.name)
let rollData
if (this.type == 'pnj') {
rollData = this.getCommonRollData()
rollData.competence = this._getCombattantCompetence()
} else {
let pireCompetence = this.getPireCompetence("Mêlée", "Mouvement")
rollData = this.getCommonRollData(undefined, pireCompetence.name)
}
rollData.carac = this.system.caracteristiques[key]
rollData.caracKey = key
rollData.arme = foundry.utils.duplicate(arme)
@@ -917,9 +938,13 @@ export class HeritiersActor extends Actor {
async rollAssomerArme(armeId) {
let arme = this.items.get(armeId)
if (arme) {
let competenceName = "Mêlée"
//arme.system.isMelee = HeritiersUtility.isArmeMelee(arme)
let rollData = this.getCommonRollData(undefined, competenceName)
let rollData
if (this.type == 'pnj') {
rollData = this.getCommonRollData()
rollData.competence = this._getCombattantCompetence()
} else {
rollData = this.getCommonRollData(undefined, "Mêlée")
}
rollData.carac = this.system.caracteristiques["agi"]
rollData.caracKey = "agi"
rollData.arme = foundry.utils.duplicate(arme)