SUpression bonus degats, gestion armes à 2mains

This commit is contained in:
2026-05-31 23:23:55 +02:00
parent 8718cfff05
commit 2c73108f63
7 changed files with 24 additions and 18 deletions
+13 -3
View File
@@ -372,11 +372,15 @@ export class DonjonEtCieRolls {
}
if (!isUsageDie && !item.system.degats) return null;
// Arme à 2 mains de corps à corps : avantage automatique
const isMeleeTwoHanded = item.type === "arme" && item.system.categorie === "melee" && Number(item.system.mains ?? 1) > 1;
if (isMeleeTwoHanded && mode === "normal") {
mode = "avantage";
}
const damageContext = DonjonEtCieUtility.getMartialDamageContext(actor, item);
const actorBonus = Number(actor?.system?.combat?.degatsBonus ?? 0);
const totalBonus = actorBonus;
const effectiveDamage = damageContext.effectiveFormula || (isUsageDie ? `1d${degatsDelta}` : item.system.degats);
const formula = totalBonus ? `${effectiveDamage} + ${totalBonus}` : effectiveDamage;
const formula = effectiveDamage;
const result = await this.#resolveFormulaRoll(formula, {}, { mode, favorable: "high" });
const targets = DonjonEtCieUtility.getSceneDamageTargets();
const rollDieLabels = result.rolls.map((roll) => {
@@ -427,6 +431,12 @@ export class DonjonEtCieRolls {
return null;
}
// Arme à 2 mains de corps à corps : avantage automatique
const isMeleeTwoHanded = item.type === "arme" && item.system.categorie === "melee" && Number(item.system.mains ?? 1) > 1;
if (isMeleeTwoHanded && mode === "normal") {
mode = "avantage";
}
const resolved = await this.#resolveFormulaRoll(`1d${before}`, {}, { mode, favorable: "high" });
const result = resolved.kept;
const degraded = result <= 3;