From 15ce2588b8028cff9f46073b80190dffa0e34486 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Thu, 11 Dec 2025 03:26:38 +0100 Subject: [PATCH] =?UTF-8?q?Correction=20sur=20d=C3=A9fense?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module/roll/roll-dialog.mjs | 15 +++++++++------ module/roll/roll-part-defense.mjs | 6 +++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/module/roll/roll-dialog.mjs b/module/roll/roll-dialog.mjs index 6076d4e9..bbc2c373 100644 --- a/module/roll/roll-dialog.mjs +++ b/module/roll/roll-dialog.mjs @@ -327,6 +327,7 @@ export default class RollDialog extends HandlebarsApplicationMixin(ApplicationV2 function saveBasics(from, to) { if (from) { + to.ids = from.ids to.passeArme = from.passeArme to.rolled = from.rolled to.particuliere = from.particuliere @@ -337,15 +338,14 @@ export default class RollDialog extends HandlebarsApplicationMixin(ApplicationV2 to.attackerRoll = {} saveBasics(from.attackerRoll, to.attackerRoll) } + if (from.current) { + // stockage de current + ROLL_PARTS.filter(p => p.isActive(from)) + .forEach(p => p.storeClean(from, target)) + } } } - const target = RollBasicParts.initFrom(rollData) - if (rollData.current) { - // stockage de current - ROLL_PARTS.filter(p => p.isActive(rollData)) - .forEach(p => p.storeClean(rollData, target)) - } saveBasics(rollData, target) if (impacts) { target.reverse = { @@ -540,6 +540,9 @@ export default class RollDialog extends HandlebarsApplicationMixin(ApplicationV2 static loadRollData(roll) { RollDialog.$prepareRollData(roll) + if (roll.attackerRoll){ + RollDialog.$prepareRollData(roll.attackerRoll) + } RollDialog.calculAjustement(roll) roll.v2 = true return roll diff --git a/module/roll/roll-part-defense.mjs b/module/roll/roll-part-defense.mjs index 48614d19..9221aefc 100644 --- a/module/roll/roll-part-defense.mjs +++ b/module/roll/roll-part-defense.mjs @@ -24,7 +24,7 @@ export class RollPartDefense extends RollPartSelect { const refs = this.getRefs(rollData) const attackerRoll = rollData.attackerRoll const defenseur = rollData.active.actor - refs.distance = rollData.attackerRoll.current.attaque.distance + refs.distance = rollData.attackerRoll.current?.attaque?.distance const isEmpoignade = attackerRoll.dmg.isEmpoignade const isEmpoignadeEnCours = isEmpoignade && defenseur.itemTypes[ITEM_TYPES.empoignade].find(it => [it.system.empoigneurid, it.system.empoigneid].includes(rollData.ids.opponentId) && @@ -55,7 +55,7 @@ export class RollPartDefense extends RollPartSelect { comp: esquive, isEsquive: true } - if (attackerRoll.current.attaque.distance) { + if (attackerRoll.current?.attaque?.distance) { defense.distance = { ajustementDefense: Distance.ajustementDefense(attackerRoll.current.attaque), } @@ -81,7 +81,7 @@ export class RollPartDefense extends RollPartSelect { typeParade: armeAttaque ? RdDItemArme.defenseArmeParade(armeDefense, armeAttaque) : 'norm', isEsquive: false } - if (attackerRoll.current.attaque.distance) { + if (attackerRoll.current?.attaque?.distance) { defense.distance = { ajustementBouclier: Distance.ajustementBouclier(armeDefense), ajustementDefense: Distance.ajustementDefense(attackerRoll.current.attaque),