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>
This commit is contained in:
perco
2026-06-14 00:17:53 +02:00
co-authored by Claude Opus 4.8
parent b55a6f8ac9
commit 00a4669928
8 changed files with 116 additions and 8 deletions
+11
View File
@@ -234,6 +234,17 @@ non affilié au jeu original de Mountyhall SARL.
## Versions
- **2.7.0** (2026-06-14) — **Templates de drop** façon MountyHall. 19 suffixes
(« de l'Aigle », « des Mages », « des Béhémoths »…) stockés dans une nouvelle
table `templates` de la base (seedés au démarrage, éditables comme le reste via
sqlite-web / `GET /api/reference/templates`). À chaque **drop d'équipement du
monde partagé**, l'objet reçoit jusqu'à **3 templates** (6 pour une arme à
**2 mains**), chaque emplacement étant rempli avec une **probabilité réglable
sur la page admin** (`templateChance`, 0100 %). Les bonus des templates
s'ajoutent aux mods de l'objet (nouveau mod `TOUR`, en minutes) et leurs
suffixes au nom (« Épée Courte de l'Aigle des Mages »). Le solo reste vanilla.
*Note : le bonus `TOUR` est affiché mais son effet de jeu (DLA) reste à câbler
une fois la règle confirmée.*
- **2.6.3** (2026-06-13) — **Cache-busting** des fichiers du jeu : les balises
`<script>`/`<link>` de `index.html` portent `?v=__V__`, jeton que le serveur
remplace par la version de l'appli (donc différent à chaque déploiement). Le