Corrections sur focus
Release Creation / build (release) Successful in 1m4s

This commit is contained in:
2026-05-07 00:14:20 +02:00
parent 755c349078
commit 820a7d61cf
6 changed files with 28 additions and 9 deletions
+10 -4
View File
@@ -393,6 +393,7 @@ export class DonjonEtCieRolls {
static async rollSpell(actor, item, { mode = "normal", favorKey = "" } = {}) {
const characteristicKey = item.system.caracteristique || "intelligence";
const focus = await this.#ensureFocus(actor);
const currentSceneId = DonjonEtCieUtility.getCurrentSceneId();
const rank = Number(actor.system.anciennete?.rang ?? actor.system.sante?.dv ?? 0);
const cost = Number(item.system.coutPv ?? 0);
const autoDisadvantage = cost > rank;
@@ -403,8 +404,13 @@ export class DonjonEtCieRolls {
if (!result) return null;
const currentPv = Number(actor.system.sante?.pv?.value ?? 0);
const availableMagicHp = currentPv + focus.activeValue;
const liveActor = game.actors.get(actor.id) ?? actor;
const currentPv = Number(liveActor.system.sante?.pv?.value ?? 0);
const currentFocusSceneId = liveActor.system.magie?.focus?.sceneId ?? "";
const currentFocusValue = currentFocusSceneId === currentSceneId
? Number(liveActor.system.magie?.focus?.resultat ?? 0)
: 0;
const availableMagicHp = currentPv + currentFocusValue;
if (cost > availableMagicHp) {
ui.notifications.warn(game.i18n.localize("DNC.Warn.SpellInsufficientResources"));
@@ -413,8 +419,8 @@ export class DonjonEtCieRolls {
const characteristicShort = DONJON_ET_CIE.characteristics[characteristicKey]?.short ?? characteristicKey;
const success = result.isNaturalTwenty ? false : result.success;
const focusSpent = result.isNaturalOne ? 0 : Math.min(cost, focus.activeValue);
const focusRemaining = Math.max(focus.activeValue - focusSpent, 0);
const focusSpent = result.isNaturalOne ? 0 : Math.min(cost, currentFocusValue);
const focusRemaining = Math.max(currentFocusValue - focusSpent, 0);
const spentPv = result.isNaturalOne ? 0 : Math.max(cost - focusSpent, 0);
const remainingPv = Math.max(currentPv - spentPv, 0);
const updateData = {};