From 5a5b5cdbb3598e45c8922e68cf99f47e2adda6b2 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Tue, 17 Dec 2024 01:32:29 +0100 Subject: [PATCH] =?UTF-8?q?Ajustement=20dommages=20cr=C3=A9atures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les bonus aux dommages des créatures et entitées sont intégrés dans les données importées, il faut donc retirer le plusdom de l'acteur après création --- module/apps/rdd-import-stats.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/module/apps/rdd-import-stats.js b/module/apps/rdd-import-stats.js index 5c1b69a2..c501d06c 100644 --- a/module/apps/rdd-import-stats.js +++ b/module/apps/rdd-import-stats.js @@ -6,6 +6,7 @@ import { Grammar } from "../grammar.js"; import { Misc } from "../misc.js"; import { ENTITE_INCARNE, ENTITE_NONINCARNE } from "../constants.js"; import { RdDItemTete } from "../item/tete.js"; +import { ITEM_TYPES } from "../item.js"; const WHITESPACES = "\\s+" const NUMERIC = "[\\+\\-]?\\d+" @@ -193,6 +194,7 @@ export class RdDStatBlockParser { let newActor = await RdDBaseActorReve.create({ name, type, system: actorData, items }); await newActor.remiseANeuf() + await RdDStatBlockParser.adjustAttacks(newActor) await RdDStatBlockParser.setValeursActuelles(newActor, statString) await newActor?.sheet.render(true) } @@ -296,6 +298,21 @@ export class RdDStatBlockParser { } } + static async adjustAttacks(newActor) { + if (["creature", "entite"].includes(newActor.type)) { + const bonusDommages = newActor.getBonusDegat() + const ajustementAttaques = newActor.itemTypes[ITEM_TYPES.competencecreature].filter(it => it.system.iscombat) + .map(it => { + return { + _id: it.id, + 'system.categorie': 'melee', + 'system.dommages': it.system.dommages - bonusDommages + } + }) + await newActor.updateEmbeddedDocuments('Item', ajustementAttaques) + } + } + static async setValeursActuelles(newActor, statString) { const updates = { }