1.7.1 : bonus d'équipement fixes sur les jets, jamais en dés

ATT/ESQ/DEG/REG d'équipement alimentent attFlat/esqFlat/degFlat/regFlat
dans effTroll (Gourdin = DEG +5 sur le jet, pas +5D3).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
perco
2026-06-12 00:02:27 +02:00
co-authored by Claude Fable 5
parent 2f21f867a5
commit 61a8cee0fc
6 changed files with 32 additions and 22 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
"use strict";
const APP_VERSION = "1.7.0";
const APP_VERSION = "1.7.1";
/* Alpha : maîtrise initiale haute pour les tests. Remettre 15 % / 15 % à la v1.0 officielle. */
const START_COMP_PCT = 90;
+5 -4
View File
@@ -1,7 +1,8 @@
/* Équipement MountyHall — 6 emplacements, objets dropables actuels de la Mountypedia :
* https://mountypedia.mountyhall.com/Mountyhall/{Arme,Armure,Casque,Bouclier,Talisman,Bottes}
* Valeurs de base (sans templates) : ATT/ESQ/DEG/REG modifient le nombre de dés,
* ARM/VUE/PV sont fixes, RM/MM en %. `tier` (1-5) borne la profondeur de drop.
* Valeurs de base (sans templates) : TOUS les bonus sont fixes — ATT/ESQ/DEG/REG
* s'ajoutent aux jets (jamais en dés), ARM/VUE/PV sont fixes, RM/MM en %.
* `tier` (1-5) borne la profondeur de drop.
* Les armes à deux mains (twoHanded) sont incompatibles avec un bouclier. */
"use strict";
@@ -90,8 +91,8 @@ const LEGACY_WEAPON_NAMES = ["Épée Courte", "Gourdin", "Épée Longue", "Lame
const LEGACY_ARMOR_NAMES = ["Armure de cuir", "Haubert de mailles", "Armure de plates"];
const GEAR_MOD_LABELS = [
["att", "ATT", " dé(s)"], ["esq", "ESQ", " dé(s)"], ["deg", "DEG", " dé(s)"],
["reg", "REG", " dé(s)"], ["arm", "Armure", ""], ["vue", "VUE", ""], ["pv", "PV", ""],
["att", "ATT", ""], ["esq", "ESQ", ""], ["deg", "DEG", ""],
["reg", "REG", ""], ["arm", "Armure", ""], ["vue", "VUE", ""], ["pv", "PV", ""],
["rmPct", "RM", " %"], ["mmPct", "MM", " %"],
];
+11 -9
View File
@@ -414,19 +414,21 @@ function fmtStatLine(base, eff, faces, flat = 0, extra = 0) {
}
/* Caractéristiques effectives : base + effets magiques (potions, parchemins)
* + équipement (troll.gearMods, recalculé par game.js à chaque équipement). */
* + équipement (troll.gearMods, recalculé par game.js à chaque équipement).
* Les bonus ATT/ESQ/DEG/REG de l'équipement sont des bonus FIXES sur les jets,
* jamais des dés supplémentaires. */
function effTroll(troll) {
const m = sumPotionMods(troll.potionEffects);
const g = troll.gearMods || {};
return {
att: Math.max(1, troll.att + m.att + (g.att || 0)),
attFlat: m.attFlat,
esq: Math.max(1, troll.esq + m.esq + (g.esq || 0)),
esqFlat: m.esqFlat,
deg: Math.max(1, troll.deg + m.deg + (g.deg || 0)),
degFlat: m.degFlat,
reg: Math.max(1, troll.reg + m.reg + (g.reg || 0)),
regFlat: m.regFlat,
att: Math.max(1, troll.att + m.att),
attFlat: m.attFlat + (g.att || 0),
esq: Math.max(1, troll.esq + m.esq),
esqFlat: m.esqFlat + (g.esq || 0),
deg: Math.max(1, troll.deg + m.deg),
degFlat: m.degFlat + (g.deg || 0),
reg: Math.max(1, troll.reg + m.reg),
regFlat: m.regFlat + (g.reg || 0),
vue: Math.max(1, troll.vue + m.vue + (g.vue || 0)),
armor: Math.max(0, troll.armor + m.armor + (g.arm || 0)),
armorDice: troll.armorDice,
+2 -1
View File
@@ -83,7 +83,8 @@ function treasuresRender() {
const gearCount = Object.values(GEAR).reduce((n, list) => n + list.length, 0);
html += `<h2 class="tz-section">⚔️ Équipement (${gearCount})</h2>
<p class="tz-intro">Six emplacements : ${Object.values(GEAR_SLOTS).map(s => s.label).join(", ")}.
Les bonus ATT/ESQ/DEG/REG s'ajoutent en <b>dés</b>, Armure/VUE/PV sont fixes, RM/MM en %.
Tous les bonus d'équipement sont <b>fixes</b> : ATT/ESQ/DEG/REG s'ajoutent aux jets
(jamais en dés), Armure/VUE/PV aussi, RM/MM en %.
Une arme <b>à 2 mains</b> est incompatible avec un bouclier. S'équiper coûte <b>2 PA</b>.
Valeurs de base de la Mountypedia (sans templates) ; les objets puissants ne se trouvent
qu'en profondeur.</p>`;