diff --git a/module/rdd-combat.js b/module/rdd-combat.js index 9616299a..c5317551 100644 --- a/module/rdd-combat.js +++ b/module/rdd-combat.js @@ -136,7 +136,6 @@ export class RdDCombat { } const defenderTokenId = event.currentTarget.attributes['data-defenderTokenId'].value; - let defenderRoll = this._getDefense(attackerRoll.passeArme); const armeParadeId = event.currentTarget.attributes['data-armeid']?.value; switch (button) { @@ -150,13 +149,13 @@ export class RdDCombat { () => this.attaqueChanceuse(attackerRoll), () => this._onEchecTotal(attackerRoll)); case '#appel-chance-defense': return this.defender.rollAppelChance( - () => this.defenseChanceuse(attackerRoll, defenderRoll), + () => this.defenseChanceuse(attackerRoll), () => this.afficherOptionsDefense(attackerRoll, { defenseChance: true })); case '#appel-destinee-attaque': return this.attacker.appelDestinee( () => this.attaqueSignificative(attackerRoll), () => { }); case '#appel-destinee-defense': return this.defender.appelDestinee( - () => this.defenseDestinee(defenderRoll), + () => this.defenseDestinee(attackerRoll), () => { }); } } @@ -194,7 +193,7 @@ export class RdDCombat { } /* -------------------------------------------- */ - defenseChanceuse(attackerRoll, defenderRoll) { + defenseChanceuse(attackerRoll) { ui.notifications.info("La défense est rejouée grâce à la chance") attackerRoll.essais.defenseChance = true; attackerRoll.essais.defense = false; @@ -203,15 +202,21 @@ export class RdDCombat { } /* -------------------------------------------- */ - defenseDestinee(defenderRoll) { - ui.notifications.info('Défense significative grâce à la destinée') - RdDResolutionTable.forceSignificative(defenderRoll.rolled); - this.removeChatMessageActionsPasseArme(defenderRoll.passeArme); - if (defenderRoll.arme) { - this._onParadeNormale(defenderRoll); + defenseDestinee(attackerRoll) { + let defenderRoll = this._getDefense(attackerRoll.passeArme); + if (defenderRoll) { + ui.notifications.info('Défense significative grâce à la destinée') + RdDResolutionTable.forceSignificative(defenderRoll.rolled); + this.removeChatMessageActionsPasseArme(defenderRoll.passeArme); + if (defenderRoll.arme) { + this._onParadeNormale(defenderRoll); + } + else { + this._onEsquiveNormale(defenderRoll); + } } else { - this._onEsquiveNormale(defenderRoll); + ui.notifications.warn("Appel à la destinée impossible, la passe d'armes est déjà terminée!") } } diff --git a/templates/chat-demande-defense.html b/templates/chat-demande-defense.html index 2fdfdd8d..b3117441 100644 --- a/templates/chat-demande-defense.html +++ b/templates/chat-demande-defense.html @@ -2,7 +2,7 @@ {{#if (eq surprise 'totale')}} {{defender.name}} est totalement surpris {{else if essais.defense}} - {{defender.name}} doit + {{defender.name}} doit : {{else}} {{defender.name}} doit se défendre {{#if (eq surprise 'demi')}} avec une significative {{/if}} : @@ -12,7 +12,6 @@
{{#unless (eq surprise 'totale')}} {{#if essais.defense}} -
{{#unless essais.defenseChance}} {{#if (eq defender.data.type 'personnage')}}
{{/if}} - {{/unless}} - {{#if (eq defender.data.type 'personnage')}} + {{#if (eq defender.data.type 'personnage')}} {{#if (gt defender.data.data.compteurs.destinee.value 0)}}
Utiliser la destinée
{{/if}} - {{/if}} + {{/if}} + {{/unless}} {{else}} {{#each armes as |arme key|}}