v2.4.4 : affichage des bonus phys/mag clarifie (plus de faux double comptage)
fmtStatLine affichait a la fois le +X agrege ET (phy +X . mag +X) quand les deux saveurs etaient egales -> illusion d'un triple comptage. On n'affiche plus le detail phys/mag QUE lorsqu'ils different reellement, sinon un seul +X. degBonus reporte des deux cotes. Le combat etait deja juste (pickFlat choisit une seule saveur). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -234,6 +234,13 @@ non affilié au jeu original de Mountyhall SARL.
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
- **2.4.4** (2026-06-13) — Affichage des bonus fixes clarifié : quand le bonus
|
||||||
|
physique et le bonus magique sont **identiques**, on n'affiche plus qu'un
|
||||||
|
seul `+X` (avant : `+1 (phy +1 · mag +1)`, qui donnait l'illusion d'un triple
|
||||||
|
comptage). Le détail `(phy +X · mag +Y)` n'apparaît plus que lorsque les deux
|
||||||
|
saveurs **diffèrent réellement** (équipement magique, etc.), et le bonus de
|
||||||
|
dégâts fixe (`degBonus`) est correctement reporté des deux côtés. Le calcul de
|
||||||
|
combat lui-même était déjà correct (`pickFlat` choisit une seule saveur).
|
||||||
- **2.4.3** (2026-06-13) — Fin de l'harmonisation de la fiche : les règles
|
- **2.4.3** (2026-06-13) — Fin de l'harmonisation de la fiche : les règles
|
||||||
CSS de mise en page des caractéristiques (libellé à gauche, valeur alignée
|
CSS de mise en page des caractéristiques (libellé à gauche, valeur alignée
|
||||||
à droite en chasse fixe, indice phys/mag) ne ciblaient que le solo (`#stats`)
|
à droite en chasse fixe, indice phys/mag) ne ciblaient que le solo (`#stats`)
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const APP_VERSION = "2.4.3";
|
const APP_VERSION = "2.4.4";
|
||||||
|
|
||||||
/* Alpha : maîtrise initiale haute pour les tests. Remettre 15 % / 15 % à la v1.0 officielle. */
|
/* Alpha : maîtrise initiale haute pour les tests. Remettre 15 % / 15 % à la v1.0 officielle. */
|
||||||
const START_COMP_PCT = 90;
|
const START_COMP_PCT = 90;
|
||||||
|
|||||||
+13
-9
@@ -405,18 +405,22 @@ function sumPotionMods(effects) {
|
|||||||
* (équipement), M = magique (potions, parchemins). */
|
* (équipement), M = magique (potions, parchemins). */
|
||||||
function fmtStatLine(base, eff, faces, flat = 0, extra = 0, split = null) {
|
function fmtStatLine(base, eff, faces, flat = 0, extra = 0, split = null) {
|
||||||
const diceDelta = eff - base;
|
const diceDelta = eff - base;
|
||||||
const jetBonus = (flat || 0) + (extra || 0);
|
const f = v => `${v > 0 ? "+" : ""}${v}`;
|
||||||
let main = `${eff}D${faces}`;
|
let main = `${eff}D${faces}`;
|
||||||
if (jetBonus) main += jetBonus > 0 ? ` +${jetBonus}` : ` ${jetBonus}`;
|
|
||||||
const hints = [];
|
const hints = [];
|
||||||
if (split && (split.phys || split.mag)) {
|
// `extra` (degBonus) s'applique quel que soit le type d'attaque ; il s'ajoute
|
||||||
const f = v => `${(v || 0) > 0 ? "+" : ""}${v || 0}`;
|
// donc aux deux saveurs. On ne détaille « phy/mag » QUE si les deux diffèrent
|
||||||
hints.push(`phy ${f(split.phys)} · mag ${f(split.mag)}`);
|
// réellement — sinon un seul « +X » suffit (un bonus identique des deux côtés
|
||||||
}
|
// affiché en double laisse croire à tort à un cumul).
|
||||||
if (diceDelta !== 0) {
|
if (split && split.phys !== split.mag) {
|
||||||
const sign = diceDelta > 0 ? "+" : "";
|
// bonus fixe différent selon le type d'attaque → on détaille les deux
|
||||||
hints.push(`${base}D${faces} ${sign}${diceDelta}`);
|
hints.push(`phy ${f((split.phys || 0) + (extra || 0))} · mag ${f((split.mag || 0) + (extra || 0))}`);
|
||||||
|
} else {
|
||||||
|
// bonus identique quelle que soit la saveur → une seule valeur
|
||||||
|
const jetBonus = (flat || 0) + (extra || 0);
|
||||||
|
if (jetBonus) main += ` ${f(jetBonus)}`;
|
||||||
}
|
}
|
||||||
|
if (diceDelta !== 0) hints.push(`${base}D${faces} ${diceDelta > 0 ? "+" : ""}${diceDelta}`);
|
||||||
if (hints.length) return `${main} <small class="stat-hint">(${hints.join(" · ")})</small>`;
|
if (hints.length) return `${main} <small class="stat-hint">(${hints.join(" · ")})</small>`;
|
||||||
return main;
|
return main;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user