1.7.0 : équipement Mountypedia — 6 emplacements, 55 objets

- js/gear.js : Arme (12 + 3 à deux mains), Armure (13), Casque (9),
  Bouclier (5), Talisman (7), Bottes (6), valeurs de base officielles
- ATT/ESQ/DEG/REG en dés, Armure/VUE/PV fixes, RM/MM en % (spellMM/spellRM)
- equipGear : échange par emplacement, exclusion 2 mains/bouclier,
  PV max dynamique, gearMods intégré à effTroll
- Drops par tier ≤ profondeur + 1, butin éditeur par emplacement,
  rétrocompat des specs weapon/armor des niveaux publiés
- Page Trésors : section Équipement (6 sous-sections)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
perco
2026-06-11 23:56:30 +02:00
co-authored by Claude Fable 5
parent 6039497e72
commit 2f21f867a5
10 changed files with 314 additions and 51 deletions
+11 -8
View File
@@ -413,24 +413,27 @@ function fmtStatLine(base, eff, faces, flat = 0, extra = 0) {
return main;
}
/* Caractéristiques effectives : base + effets magiques (potions, parchemins)
* + équipement (troll.gearMods, recalculé par game.js à chaque équipement). */
function effTroll(troll) {
const m = sumPotionMods(troll.potionEffects);
const g = troll.gearMods || {};
return {
att: Math.max(1, troll.att + m.att),
att: Math.max(1, troll.att + m.att + (g.att || 0)),
attFlat: m.attFlat,
esq: Math.max(1, troll.esq + m.esq),
esq: Math.max(1, troll.esq + m.esq + (g.esq || 0)),
esqFlat: m.esqFlat,
deg: Math.max(1, troll.deg + m.deg),
deg: Math.max(1, troll.deg + m.deg + (g.deg || 0)),
degFlat: m.degFlat,
reg: Math.max(1, troll.reg + m.reg),
reg: Math.max(1, troll.reg + m.reg + (g.reg || 0)),
regFlat: m.regFlat,
vue: Math.max(1, troll.vue + m.vue),
armor: Math.max(0, troll.armor + m.armor),
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,
degBonus: troll.degBonus || 0,
pvMax: troll.pvMax,
mmPct: m.mmPct,
rmPct: m.rmPct,
mmPct: m.mmPct + (g.mmPct || 0),
rmPct: m.rmPct + (g.rmPct || 0),
concentrationPct: m.concentrationPct,
dlaBonusPA: m.dlaBonusPA,
};