diff --git a/module/rdd-combat.js b/module/rdd-combat.js
index eb4f1819..296f8638 100644
--- a/module/rdd-combat.js
+++ b/module/rdd-combat.js
@@ -141,10 +141,10 @@ export class RdDCombat {
label: 'Attaque: ' + (arme ? arme.name : competence.name),
callbacks: [
this.attacker.createCallbackExperience(),
- { condition: RdDCombat.isParticuliere, action: r => this._onAttaqueParticuliere(r) },
{ condition: r => (RdDCombat.isReussite(r) && !RdDCombat.isParticuliere(r)), action: r => this._onAttaqueNormale(r) },
+ { condition: RdDCombat.isParticuliere, action: r => this._onAttaqueParticuliere(r) },
+ { condition: RdDCombat.isEchec, action: r => this._onAttaqueEchec(r) },
{ condition: RdDCombat.isEchecTotal, action: r => this._onAttaqueEchecTotal(r) },
- { condition: RdDCombat.isEchec, action: r => this._onAttaqueEchec(r) }
]
} );
dialog.render(true);
@@ -186,11 +186,6 @@ export class RdDCombat {
dommagesReels: competence.data.dommages
}
};
-
- // rollData.dmg = {
- // dmgArme: competence.data.dommages,
- // total: competence.data.dommages
- // };
}
/* -------------------------------------------- */
@@ -217,31 +212,30 @@ export class RdDCombat {
let explications = "";
- // Message spécial pour la rapidité, qui reste difficile à gérer automatiquement
- if (rollData.particuliereAttaque == 'rapidite') {
- ChatMessage.create({
- content: "Vous avez attaqué en Rapidité. Vous pourrez faire une deuxième attaque, ou utiliser votre arme pour vous défendre.",
- whisper: ChatMessage.getWhisperRecipients(this.attacker.name)
- });
- }
rollData.dmg = RdDBonus.dmg(rollData, this.attacker.getBonusDegat(), this.defender.isEntiteCauchemar());
-
+
if (this.target) {
explications += "
Cible : " + this.defender.data.name;
}
explications += "
Encaissement à " + Misc.toSignedString(rollData.dmg.total) + " (" + rollData.dmg.loc.label + ")";
-
+
// Save rollData for defender
game.system.rdd.rollDataHandler[this.attackerId] = duplicate(rollData);
+
+ // Message spécial pour la rapidité, qui reste difficile à gérer automatiquement
+ if (rollData.particuliereAttaque == 'rapidite') {
+ explications += "
Vous avez attaqué en Rapidité. Vous pourrez faire une deuxième attaque, ou utiliser votre arme pour vous défendre.";
+ }
// Final chat message
let chatOptions = {
content: "Test : " + rollData.selectedCarac.label + " / " + rollData.competence.name + ""
- + "
Difficultés libre : " + rollData.diffLibre + " / conditions : " + Misc.toSignedString(rollData.diffConditions) + " / état : " + rollData.etat
- + RdDResolutionTable.explain(rollData.rolled)
- + explications
+ + "
Difficultés libre : " + rollData.diffLibre + " / conditions : " + Misc.toSignedString(rollData.diffConditions) + " / état : " + rollData.etat
+ + RdDResolutionTable.explain(rollData.rolled)
+ + explications
}
ChatUtility.chatWithRollMode(chatOptions, this.attacker.name)
+
if (this.target) {
this._messageDefenseur(rollData);
}
@@ -359,10 +353,10 @@ export class RdDCombat {
label: 'Parade: ' + (arme ? arme.name : rollData.competence.name),
callbacks: [
this.defender.createCallbackExperience(),
- { condition: RdDCombat.isParticuliere, action: r => this._onParadeParticuliere(r) },
{ condition: RdDCombat.isReussite, action: r => this._onParadeNormale(r) },
+ { condition: RdDCombat.isParticuliere, action: r => this._onParadeParticuliere(r) },
+ { condition: RdDCombat.isEchec, action: r => this._onParadeEchec(r) },
{ condition: RdDCombat.isEchecTotal, action: r => this._onParadeEchecTotal(r) },
- { condition: RdDCombat.isEchec, action: r => this._onParadeEchec(r) }
]
} );
dialog.render(true);
@@ -435,17 +429,16 @@ export class RdDCombat {
/* -------------------------------------------- */
async _onParadeNormale(rollData) {
console.log("RdDCombat._onParadeNormale >>>", rollData);
- await this.computeDeteriorationArme(rollData);
- await this.computeRecul(rollData, false);
-
+
let chatOptions = {
content: "Test : " + rollData.selectedCarac.label + " / " + rollData.competence.name + ""
- + "
Difficultés libre : " + rollData.diffLibre + " / conditions : " + Misc.toSignedString(rollData.diffConditions) + " / état : " + rollData.etat
- + RdDResolutionTable.explain(rollData.rolled)
- + "
Attaque parée!"
+ + "
Difficultés libre : " + rollData.diffLibre + " / conditions : " + Misc.toSignedString(rollData.diffConditions) + " / état : " + rollData.etat
+ + RdDResolutionTable.explain(rollData.rolled)
+ + "
Attaque parée!"
}
-
ChatUtility.chatWithRollMode(chatOptions, this.defender.name)
+ await this.computeRecul(rollData, false);
+ await this.computeDeteriorationArme(rollData);
}
/* -------------------------------------------- */
@@ -498,10 +491,10 @@ export class RdDCombat {
label: 'Esquiver',
callbacks: [
this.defender.createCallbackExperience(),
- { condition: RdDCombat.isParticuliere, action: r => this._onEsquiveParticuliere(r) },
{ condition: RdDCombat.isReussite, action: r => this._onEsquiveNormale(r) },
- { condition: RdDCombat.isEchecTotal, action: r => this._onEsquiveEchecTotal(r) },
+ { condition: RdDCombat.isParticuliere, action: r => this._onEsquiveParticuliere(r) },
{ condition: RdDCombat.isEchec, action: r => this._onEsquiveEchec(r) },
+ { condition: RdDCombat.isEchecTotal, action: r => this._onEsquiveEchecTotal(r) },
]
});
dialog.render(true);