Bestiaire fourni (945 entrees monstre x age) parse et replie selon le
modele demande par Perco : 1 ligne par monstre (js/bestiary.js, 150
monstres, stats de base = age le plus jeune en min/max + famille +
capacites + drapeaux vol/distance/magie/voit-cache + vitesse + nb attaques
+ blason) + table d'ages (8 multiplicateurs derives des donnees). db.js :
tables bestiary + monster_ages, seed, bestiaryAll/monsterAges,
setBestiary/setMonsterAge, resetCategory. server.js : /api/reference/
bestiary + /ages. Non destructif (le jeu tourne encore sur l'ancien
systeme). Etapes suivantes : encyclopedie, editeur admin, integration spawn.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- db.js : table templates + seed des 19 templates du CSV (mappes vers les
mods + nouveau champ tour), templatesAll/setTemplate/resetCategory.
- server.js : /api/reference/templates.
- mp.js : config templateChance (0-100, bornee) ; applyGearTemplates applique
jusqu'a 3 templates (6 si 2 mains), distincts, proba par emplacement,
fusionne les mods (dont tour) et compose le nom ; applique au spawnItem.
Solo vanilla.
- gear.js : GEAR_MOD_LABELS += tour (affichage 'TOUR +X mn').
- admin.html : champ Proba de template / emplacement.
- test/mp.js : test des templates (nb selon mains, distincts, proba 0).
Note : effet gameplay de tour (DLA) non cable, en attente de la regle.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- /api/reference/(gear|monsters|potions|scrolls) generalise ; treasures.js
lit aussi les plages de puissance potions/parchemins (powerLabel garde les
libelles speciaux -, X (fixe), set discret).
- Cache-Control: no-cache sur html/js/css (revalidation systematique) pour que
les MAJ et editions BDD soient prises sans vider le cache ; medias en cache 1j.
- POTION_POWER_DEFAULTS.pufPuff 0-2 -> 1-3 (incoherent avec le rollPower solo
corrige en 2.5.1) + migration db.init() des bases existantes (UPDATE cible).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>