Gestion des signes draconiques #455

Closed
vincent.vandeme wants to merge 233 commits from v1.4-signes-draconiques into master
Showing only changes of commit 5e654bdfa4 - Show all commits

View File

@ -2566,7 +2566,8 @@ export class RdDActor extends Actor {
let dmg = (attackerRoll.dmg.dmgArme ?? 0) + (attackerRoll.dmg.dmgActor ?? 0); let dmg = (attackerRoll.dmg.dmgArme ?? 0) + (attackerRoll.dmg.dmgActor ?? 0);
let armeData = attackerRoll.arme; let armeData = attackerRoll.arme;
let protection = 0; let protection = 0;
const armures = this.data.items.filter(it => it.type == "armure" && it.data.equipe); const armures = this.items.map(it => Misc.data(it))
.filter(it => it.type == "armure" && it.data.equipe);
for (const itemData of armures) { for (const itemData of armures) {
protection += new Roll(itemData.data.protection.toString()).roll().total; protection += new Roll(itemData.data.protection.toString()).roll().total;
if (dmg > 0) { if (dmg > 0) {
@ -2574,7 +2575,7 @@ export class RdDActor extends Actor {
dmg = 0; dmg = 0;
} }
} }
const penetration = armeData ? Misc.toInt(armeData.data.penetration) : 0; const penetration = Misc.toInt(armeData?.data.penetration ?? 0);
protection = Math.max(protection - penetration, 0); protection = Math.max(protection - penetration, 0);
protection += this.getProtectionNaturelle(); protection += this.getProtectionNaturelle();
// Gestion des cas particuliers sur la fenêtre d'encaissement // Gestion des cas particuliers sur la fenêtre d'encaissement
@ -2864,7 +2865,7 @@ export class RdDActor extends Actor {
} }
let updates = [] let updates = []
for (const [valeur, nombre] of Object.entries(fortune)) { for (const [valeur, nombre] of Object.entries(fortune)) {
updates.push( { _id: parValeur[valeur]._id, 'data.quantite': nombre }); updates.push({ _id: parValeur[valeur]._id, 'data.quantite': nombre });
} }
await this.updateEmbeddedDocuments('Item', updates); await this.updateEmbeddedDocuments('Item', updates);
} }
@ -3148,7 +3149,7 @@ export class RdDActor extends Actor {
} }
} }
async onPreUpdateItem(item, change, options, id) { async onPreUpdateItem(item, change, options, id) {
const itemData = Misc.data(item); const itemData = Misc.data(item);
if (itemData.type == 'competence' && itemData.data.defaut_carac && itemData.data.xp) { if (itemData.type == 'competence' && itemData.data.defaut_carac && itemData.data.xp) {
await this.checkCompetenceXP(itemData.name, itemData.data.xp); await this.checkCompetenceXP(itemData.name, itemData.data.xp);