From 2de9ea49c8b9b577af2eda35df733a915e583b22 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Sun, 27 Oct 2024 00:02:03 +0200 Subject: [PATCH] PNJ: ajout mains nues et empoignade --- module/actor/export-scriptarium/mapping.js | 39 +++++++++++++--------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/module/actor/export-scriptarium/mapping.js b/module/actor/export-scriptarium/mapping.js index 6aaee07e..c9161dba 100644 --- a/module/actor/export-scriptarium/mapping.js +++ b/module/actor/export-scriptarium/mapping.js @@ -140,16 +140,15 @@ export class Mapping { static prepareArmes(actor) { const armes = actor.items.filter(it => it.type == ITEM_TYPES.arme) - return armes.map(arme => - [ - arme.system.unemain ? Mapping.prepareArme(actor, arme, 'unemain') : undefined, - arme.system.deuxmains ? Mapping.prepareArme(actor, arme, 'deuxmains') : undefined, - !(arme.system.unemain || arme.system.deuxmains) ? Mapping.prepareArme(actor, arme, 'competence') : undefined, - arme.system.lancer != "" ? Mapping.prepareArme(actor, arme, 'lancer') : undefined, - arme.system.tir != "" ? Mapping.prepareArme(actor, arme, 'tir') : undefined - ] - .filter(it => it != undefined) - ).reduce((a, b) => a.concat(b), []) + RdDItemArme.ajoutCorpsACorps(armes, actor) + return armes.map(arme => [ + arme.system.unemain ? Mapping.prepareArme(actor, arme, 'unemain') : undefined, + arme.system.deuxmains ? Mapping.prepareArme(actor, arme, 'deuxmains') : undefined, + !(arme.system.unemain || arme.system.deuxmains) ? Mapping.prepareArme(actor, arme, 'competence') : undefined, + arme.system.lancer != "" ? Mapping.prepareArme(actor, arme, 'lancer') : undefined, + arme.system.tir != "" ? Mapping.prepareArme(actor, arme, 'tir') : undefined] + .filter(it => it != undefined)) + .reduce((a, b) => a.concat(b), []) } static prepareArme(actor, arme, maniement) { @@ -158,27 +157,35 @@ export class Mapping { if (RdDItemCompetence.isNiveauBase(competence)) { return undefined } - const dmgArme = RdDItemArme.dommagesReels(arme, maniement) - const dommages = dmgArme + RdDBonus.bonusDmg(actor, maniement, dmgArme) const categorie = Mapping.complementCategorie(arme, maniement) + const dommages = Mapping.dommagesArme(actor, arme, maniement) return { name: arme.name + categorie, niveau: Misc.toSignedString(competence.system.niveau), init: Mapping.calculBaseInit(actor, competence.system.categorie) + competence.system.niveau, - dommages: Misc.toSignedString(dommages), + dommages: dommages, competence: competence, arme: arme } } + static dommagesArme(actor, arme, maniement){ + const dmgArme = RdDItemArme.dommagesReels(arme, maniement) + const dommages = Misc.toSignedString(dmgArme + RdDBonus.bonusDmg(actor, maniement, dmgArme)) + switch(arme.system.mortalite) { + case 'non-mortel': return `(${dommages})` + case 'empoignade': return '-' + } + return dommages + } static complementCategorie(arme, maniement) { switch (maniement) { - case 'unemain': return (arme.system.deuxmains) ? ' 1 main' : (arme.system.lancer||arme.system.tir) ? ' mêlée': '' - case 'deuxmains': return (arme.system.unemain) ? ' 2 mains' : (arme.system.lancer||arme.system.tir) ? ' mêlée': '' + case 'unemain': return (arme.system.deuxmains) ? ' 1 main' : (arme.system.lancer || arme.system.tir) ? ' mêlée' : '' + case 'deuxmains': return (arme.system.unemain) ? ' 2 mains' : (arme.system.lancer || arme.system.tir) ? ' mêlée' : '' case 'lancer': return (arme.system.unemain || arme.system.deuxmains || arme.system.tir) ? ' jet' : '' case 'tir': return (arme.system.unemain || arme.system.deuxmains || arme.system.lancer) ? ' tir' : '' } - return '' + return '' } static calculBaseInit(actor, categorie) {