Nouveau roll-dialog: mode attaque
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import { RdDCarac } from "./rdd-carac.js";
|
||||
import { RdDPossession } from "./rdd-possession.js";
|
||||
|
||||
const conditionsTactiques = [
|
||||
@@ -32,7 +31,7 @@ export class RdDBonus {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static dmg(rollData, actor, isEntiteIncarnee = false) {
|
||||
const dmgArme = RdDBonus.dmgArme(rollData.arme)
|
||||
const dmgArme = RdDBonus.dmgArme(rollData.arme, rollData.arme?.system.dommagesReels)
|
||||
let dmg = {
|
||||
total: 0,
|
||||
dmgArme: dmgArme,
|
||||
@@ -64,16 +63,20 @@ export class RdDBonus {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _calculMortalite(rollData, isEntiteIncarnee) {
|
||||
return RdDBonus.mortalite(rollData.dmg?.mortalite, rollData.arme?.system.mortalite, isEntiteIncarnee)
|
||||
}
|
||||
|
||||
static mortalite( mortaliteSelect, mortaliteArme, isEntiteIncarnee) {
|
||||
return isEntiteIncarnee ? "entiteincarnee"
|
||||
: rollData.dmg?.mortalite
|
||||
?? rollData.arme?.system.mortalite
|
||||
: mortaliteSelect
|
||||
?? mortaliteArme
|
||||
?? "mortel";
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static dmgArme(arme) {
|
||||
static dmgArme(arme, dommagesMain) {
|
||||
if (arme) {
|
||||
let dmgBase = arme.system.dommagesReels ?? Number(arme.system.dommages ?? 0);
|
||||
let dmgBase = dommagesMain ?? Number(arme.system.dommages ?? 0);
|
||||
//Le bonus dégats magiques ne peut pas faire dépasser le bonus de l'arme (cf p.278)
|
||||
return dmgBase + Math.min(dmgBase, arme.system.magique ? arme.system.ecaille_efficacite : 0);
|
||||
}
|
||||
@@ -92,8 +95,8 @@ export class RdDBonus {
|
||||
return 0
|
||||
}
|
||||
switch (categorie) {
|
||||
case "tir": return 0;
|
||||
case "lancer": return Math.max(0, Math.min(dmgArme, dmgActor));
|
||||
case "(tir)": case "tir": return 0
|
||||
case "(lancer)": case "lancer": return Math.max(0, Math.min(dmgArme, dmgActor));
|
||||
}
|
||||
return dmgActor;
|
||||
}
|
||||
|
Reference in New Issue
Block a user