fix(combat): re-render tracker après suppression + initiative par Réaction + lisibilité + malus PNJ
Release Creation / build (release) Failing after 1m41s
Release Creation / build (release) Failing after 1m41s
- fight.mjs : _onDelete appelle super._onDelete() → le tracker se vide immédiatement après « Terminer » (plus de F5) - fight.mjs : _getInitiativeFormula type-dépendante — PNJ/Créature roulent leur pool de Réaction (computed.reaction + reactionBonus) au lieu de 0D → classement par Réaction correct - dialogs.less : total des dés (.total-value) en blanc au lieu du vert sombre (illisible sur fond foncé) - npc-roll-dialog : champ « Malus temporaires » + logique pool (dés malus dans le dialogue PNJ/Créature)
This commit is contained in:
+22
-8
@@ -210,14 +210,16 @@ export class VermineCombat extends Combat {
|
||||
}
|
||||
|
||||
/************************************************************************************/
|
||||
_onDelete() {
|
||||
/*let combatants = this.combatants.contents
|
||||
for (let c of combatants) {
|
||||
let actor = game.actors.get(c.actorId)
|
||||
actor.clearInitiative()
|
||||
actor.displayRecuperation()
|
||||
}
|
||||
super._onDelete()*/
|
||||
/**
|
||||
* Nettoyage lors de la suppression du combat (bouton « Terminer » / suppression).
|
||||
* Doit appeler le handler de base : c'est lui qui re-rend le CombatTracker
|
||||
* (`ui.combat.render({combat: null})`) — sans cela le tracker reste figé sur
|
||||
* l'ancien ordre de tour jusqu'au rechargement de la page (F5).
|
||||
* @param {object} options
|
||||
* @param {string} userId
|
||||
*/
|
||||
_onDelete(options, userId) {
|
||||
super._onDelete(options, userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,6 +378,18 @@ export class VermineCombatant extends Combatant {
|
||||
}
|
||||
}
|
||||
_getInitiativeFormula() {
|
||||
// Personnage : jet de Réaction (Réflexes + Vigilance) contre la
|
||||
// Difficulté du statut de combat — les Réussites = valeur de Réaction.
|
||||
// PNJ et Créature : n'ont pas de caractéristiques/compétences — ils
|
||||
// roulent leur pool de Réaction (computed.reaction) contre la même
|
||||
// Difficulté, majoré de leur bonus de Réaction.
|
||||
const actor = this.actor
|
||||
if ( actor?.type === 'npc' || actor?.type === 'creature' ) {
|
||||
const reaction = parseInt(actor.system?.computed?.reaction, 10) || 0
|
||||
const difficulty = parseInt(actor.system?.combatStatus?.difficulty, 10) || 7
|
||||
const bonus = parseInt(actor.system?.computed?.reactionBonus, 10) || 0
|
||||
return `${reaction}d10cs>=${difficulty}+${bonus}`
|
||||
}
|
||||
return String(CONFIG.Combat.initiative.formula || game.system.initiative)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user