Correction sur défense

This commit is contained in:
2025-12-11 03:26:38 +01:00
parent 30090872d4
commit 15ce2588b8
2 changed files with 12 additions and 9 deletions

View File

@@ -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

View File

@@ -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),