15 Commits
Author SHA1 Message Date
percoandClaude Opus 4.8 dc3685de11 v2.12.0 : editeur pose les monstres du bestiaire (mob+age) + retrait du Behemoth
game.js : rollBestiaryMonster(b, age, ..) extrait (build d'un monstre
precis) ; monsterFromSpec gere {mob:nom, age} (bestiaire) + retrocompat
{type,tpl} et boss:true ; bestiaryBoss() = le plus fort du bestiaire ;
buildLevel MAX_DEPTH -> bestiaryBoss (plus de Behemoth statique) ; messages
'gardien du Hall' ; applyLevel filtre les specs nulles. index.html : selects
famille/monstre/age dans l'editeur. editor.js : edSetupMobPickers/edFillMobs/
edFillAges, pinceau 'Poser le monstre choisi', placement {mob,age}, rendu
emoji de famille (retrocompat type/boss). server.js validateLevel accepte
{mob,age}. Behemoth (BOSS) garde comme repli si bestiaire absent.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 11:21:45 +02:00
percoandClaude Opus 4.8 836837fa55 v2.10.0 : bestiaire (etape 1, donnees) - table BDD + 150 monstres + table d'ages
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>
2026-06-15 16:12:56 +02:00
percoandClaude Opus 4.8 00a4669928 v2.7.0 : templates de drop (table BDD, proba admin, application au drop)
- 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>
2026-06-14 00:17:53 +02:00
percoandClaude Opus 4.8 b55a6f8ac9 v2.6.3 : cache-busting des assets (jeton ?v= = version, injecte par le serveur)
index.html reference css/js en ?v=__V__ ; handleStatic remplace __V__ par
APP_VERSION dans les reponses .html. Chaque deploiement change le jeton ->
le navigateur recharge le nouveau code sans vider le cache (cause du
'toujours pas' : ancien treasures.js en cache qui lisait le statique sans
les bonus magiques edites en base).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 23:43:25 +02:00
percoandClaude Opus 4.8 ea038b5b18 v2.6.1 : encyclopedie - plages potions/parchemins depuis la BDD, cache, fix pufPuff
- /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>
2026-06-13 22:55:14 +02:00
percoandClaude Opus 4.8 84b3dd3606 v2.6.0 : page Tresors du Hall - listing equipement lu depuis la BDD
Nouvel endpoint GET /api/reference/gear (db.gearAll()). treasures.js
recupere les equipements de la base de reference a chaque ouverture
(GEAR_DB) avec repli sur gear.js statique si injoignable (file://).
Les editions admin/sqlite-web sont desormais refletees sur le listing.
Intro de la section mise a jour (bonus phys + mag d'equipement).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 19:18:28 +02:00
percoandClaude Fable 5 031d64830c 2.3.0 : valeurs de référence en base SQLite native (node:sqlite) — bestiaire, équipement, potions, parchemins éditables à chaud
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 16:12:22 +02:00
percoandClaude Fable 5 a1fe09e6b4 2.2.0 : ATT/DEG/ARM physiques et magiques partout (monstres + équipement), suppression de troll par l'admin
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 15:55:14 +02:00
percoandClaude Fable 5 646a147774 2.1.0 : connexion multi-appareils (mot de passe + login) et tuning admin du bestiaire, de l'équipement et des trésors
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 15:37:21 +02:00
percoandClaude Fable 5 1a5d2c7317 2.0.0 : multijoueur — monde partagé persistant, DLA paramétrables par monstre, admin à chaud
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 10:53:16 +02:00
percoandClaude Fable 5 231e4d3da3 1.8.0 : servir les assets du pack (img/ dans l'image Docker, MIME jpg/gif)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 00:22:27 +02:00
percoandClaude Fable 5 2f21f867a5 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>
2026-06-11 23:56:30 +02:00
percoandClaude Fable 5 6039497e72 1.6.0 : parchemins standards + page « Trésors du Hall »
- js/scrolls.js : les 7 parchemins standards de Mountypedia (X 1-5),
  effets via le système d'effets magiques, un seul jet de D3 par parchemin
- Effets de zone (rayon 3 cases) : Rune Explosive (dégâts aux monstres),
  Yeu'Ki'Pic (VUE des monstres réduite, statut à durée)
- TOUR ±X*30 min converti en ±X PA par tour (PA min. 1)
- Drops : coffres (12 %), butin de monstres (25 %), pinceau éditeur,
  validation serveur du kind « scroll »
- js/treasures.js : page encyclopédie des 25 potions et 7 parchemins
  (niveau X, durée, formules), boutons accueil + en jeu

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:35:41 +02:00
percoandClaude Fable 5 fe13a4d518 1.2.0 : portes entre niveaux et édition post-publication
Portes 🚪 (max 10/niveau) téléportant vers un autre niveau publié avec
troll conservé (PV, PI, équipement) ; clé d'auteur renvoyée au POST et
stockée en localStorage, PUT /api/levels/<id> protégé par X-Level-Secret,
section « Mes niveaux publiés » dans l'éditeur, objectifs de victoire
affinés (sortie > nettoyage, portes = continuation).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 13:42:31 +02:00
percoandClaude Fable 5 103be8e9c7 1.1.0 : éditeur de niveaux et partage communautaire
Éditeur visuel (terrain, monstres avec gabarits, objets, départ, sortie),
test en un clic, publication via une API node sans dépendance (server.js,
validation serveur, stockage JSON sur volume), écran « Niveaux de la
communauté » et liens partageables ?level=<id>. Le conteneur passe de
nginx à node:22-alpine.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 13:26:56 +02:00