Corrections sur attaque, equipement et compétences à 7

This commit is contained in:
2026-03-27 14:26:41 +01:00
parent e7504d0ecb
commit 896fa512b5
11 changed files with 69 additions and 36 deletions

View File

@@ -597,18 +597,19 @@ export class YggdrasillActor extends Actor {
let attackData = foundry.utils.duplicate(attackMode[mode]);
if ( attackData){
attackData.mode = mode;
attackData.carac = foundry.utils.duplicate(this.system.carac[attackData.categName].carac[attackData.caracName]);
const categ = this.system.carac[attackData.categName];
attackData.carac = foundry.utils.duplicate(categ?.carac[attackData.caracName] ?? {});
if ( attackData.malus != 0) {
let malusTab = attackData.malus.split(';');
attackData.malus = this.system.carac[attackData.categName].carac[malusTab[0]].value * Number(malusTab[1])
attackData.malus = (categ?.carac[malusTab[0]]?.value ?? 0) * Number(malusTab[1]);
}
if ( attackData.protection != 0) {
let malusTab = attackData.protection.split(';');
attackData.protection = this.system.carac[attackData.categName].carac[malusTab[0]].value * Number(malusTab[1])
attackData.protection = (categ?.carac[malusTab[0]]?.value ?? 0) * Number(malusTab[1]);
}
if ( attackData.bonusdegats != 0) {
let malusTab = attackData.bonusdegats.split(';');
attackData.bonusdegats = this.system.carac[attackData.categName].carac[malusTab[0]].value * Number(malusTab[1])
attackData.bonusdegats = (categ?.carac[malusTab[0]]?.value ?? 0) * Number(malusTab[1]);
}
}
return attackData;
@@ -619,18 +620,19 @@ export class YggdrasillActor extends Actor {
let attackData = foundry.utils.duplicate( tirMode[mode] );
if ( attackData){
attackData.mode = mode;
attackData.carac = foundry.utils.duplicate(this.system.carac[attackData.categName].carac[attackData.caracName]);
const categ = this.system.carac[attackData.categName];
attackData.carac = foundry.utils.duplicate(categ?.carac[attackData.caracName] ?? {});
if ( attackData.malus != 0) {
let malusTab = attackData.malus.split(';');
attackData.malus = this.system.carac[attackData.categName].carac[malusTab[0]].value * Number(malusTab[1])
attackData.malus = (categ?.carac[malusTab[0]]?.value ?? 0) * Number(malusTab[1]);
}
if ( attackData.protection != 0) {
let malusTab = attackData.protection.split(';');
attackData.protection = this.system.carac[attackData.categName].carac[malusTab[0]].value * Number(malusTab[1])
attackData.protection = (categ?.carac[malusTab[0]]?.value ?? 0) * Number(malusTab[1]);
}
if ( attackData.bonusdegats != 0) {
let malusTab = attackData.bonusdegats.split(';');
attackData.bonusdegats = this.system.carac[attackData.categName].carac[malusTab[0]].value * Number(malusTab[1])
attackData.bonusdegats = (categ?.carac[malusTab[0]]?.value ?? 0) * Number(malusTab[1]);
}
}
return attackData;
@@ -730,13 +732,13 @@ export class YggdrasillActor extends Actor {
for( let item of this.items) {
if (item.type == "equipement" || item.type == "armecc"
|| item.type == "armedist" || item.type == "armure" || item.type == "monnaie" || item.type == "bouclier") {
encTotal += (item.system.enc * item.system.quantite);
encTotal += (item.system.enc * (item.system.quantite || 1));
}
}
for( let item of this.items) {
if (item.type == "bouclier" && item.system.equipe) {
encTotal -= (item.system.enc * item.system.quantite);
encTotal += (item.system.enccomb * item.system.quantite);
encTotal -= (item.system.enc * (item.system.quantite || 1));
encTotal += (item.system.enccomb * (item.system.quantite || 1));
}
}
return encTotal;