Commit Graph
44 Commits
Author SHA1 Message Date
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 28863303c6 v2.9.1 : portage SOLO de l'empilement/coins/cases x2/portee + camera + deroulant toujours visible
Regle Perco : toute modif touche les 2 modes. game.js : TILE 24->48 ;
render() par coins (troll/monstre/tresor/lieu = portes+sortie) ; tryMove
ne fait plus attaquer ; adjacentMonster -> meme case (cheby 0) ;
sameCellMonsters + bouton attaque -> deroulant toujours affiche ;
dropBagItem/loot empilables ; moveMonster autorise l'empilement ;
demo=combat sur la case du troll. mp-client.js : deroulant toujours
affiche (>=1). Camera keepInView (game.js, partagee) appelee dans les 2
rendus ; #panel-center overflow auto + max-height.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 15:58:25 +02:00
percoandClaude Opus 4.8 a0547bf9a3 v2.9.0 : cases x2, portee d'attaque = meme case (sauf Projectile Magique), PvP
mp-client.js : MP_TILE 24->48 + polices de coins proportionnelles. mp.js :
action attack ne porte que sur la meme case (cheby 0) et dispatch
monstre/troll ; actAttackTroll (PvP : combat, +1 PX/coup, kill -> killTrollMP,
pas de butin) ; comp/sort portee 0 (meme case) sauf sort Tomawak (Projectile
Magique, portee = Vue) ; stateFor envoie l'id des trolls. Client : cibles =
monstres + trolls sur ta case, deroulant pour choisir. Tests : combat meme
case, deplacement libre, PvP.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 15:45:53 +02:00
percoandClaude Opus 4.8 ce65435efb v2.8.0 : empilement des cases (monde partage) + rendu par coins + cible d'attaque
mp.js : deplacement libre (se deplacer n'attaque plus, on s'empile) ;
moveMonsterMP autorise l'empilement de monstres ; drop multi-tresors ;
loot de monstre empilable. mp-client.js : rendu par COINS (regroupement
par case, troll haut-gauche / monstre haut-droite / tresor bas-gauche /
lieu bas-droite, badge ×N) ; bouton d'attaque -> menu deroulant quand
plusieurs monstres atteignables (cheby<=1, meme case incluse). CSS
.mp-attack-sel. Tests mp.js mis a jour (drop empile, deplacement libre).
PvP (trolls) et solo : a faire.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 15:34:16 +02:00
percoandClaude Opus 4.8 48145f6977 v2.7.1 : encyclopedie - section Templates + menu de nav + scroll-to-top
treasures.js : charge /api/reference/templates (TEMPLATES_DB) ; section
'Templates de drop' (templateCard reutilise GEAR_MOD_LABELS) ; menu .tz-nav
collant avec ancres vers chaque section (ids tz-sec-*) ; bouton flottant
#tz-top (remonter), visible apres 400px de scroll. window.scrollTo au lieu
du scrollTop d'element (la fenetre scrolle, .screen n'a pas d'overflow).
CSS : .tz-nav sticky, .tz-top, scroll-margin-top sur .tz-section.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 08:46:32 +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 55b573001b v2.6.2 : edition admin et BDD non conflictuelles (updates cibles)
adminSetTuning ne fait plus resetCategory + reapplique tout (ce qui
ecrasait les editions sqlite-web) : mises a jour ciblees des seuls objets
fournis (valeurs absolues), sans toucher au reste. Le bouton reset passe
par patch.reset (tableau de categories). admin.html : collectTuning
renvoie les objets MODIFIES dans la session (data-init) avec leurs
valeurs completes. Tests : non-regression (edition externe preservee)
+ mise a jour du test de reset.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 23:25:01 +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 Opus 4.8 375bb0a778 v2.5.1 : potions - plus de niveau 0 (minimum 1)
PufPuff passe de potRand(0,2) a potRand(1,3) : le niveau 0 affichait
des formules absurdes (ATT -0 D3, VUE -(0+1), PV -2D3 si 0>=2). Biskot
(effet fixe, plage --) n'affiche plus de niveau du tout au lieu de
niv. 0. Table treasures.js pufPuff 0 a 2 -> 1 a 3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 18:02:43 +02:00
percoandClaude Opus 4.8 07b81b6b3f v2.5.0 : cumul systematique des bonus phys+mag, armure unifiee
Regle (demande Perco) : on lance les des puis on ajoute TOUJOURS les
deux bonus (physique = equipement, magique = potions/parchemins +
equipement magique), comme l'esquive le faisait deja. effTroll :
colonnes phys/mag rendues PURES (potion = magique, comptee une seule
fois) -> xxxFlat = phys + mag = total ajoute au jet. resolveAttack
additionne les deux (pickFlat supprime) ; opts.magic ne sert plus qu'a
choisir l'armure reductrice. Affichage : +total (phy +X . mag +Y)
coherent (fini le faux double comptage). Armure presentee comme
l'attaque : une seule ligne via fmtArmorLine au lieu de phy./mag.
separees. Tests smoke mis a jour vers le nouveau modele.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 11:52:54 +02:00
percoandClaude Opus 4.8 c2646a3e1b v2.4.4 : affichage des bonus phys/mag clarifie (plus de faux double comptage)
fmtStatLine affichait a la fois le +X agrege ET (phy +X . mag +X) quand
les deux saveurs etaient egales -> illusion d'un triple comptage. On
n'affiche plus le detail phys/mag QUE lorsqu'ils different reellement,
sinon un seul +X. degBonus reporte des deux cotes. Le combat etait deja
juste (pickFlat choisit une seule saveur).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 11:39:00 +02:00
percoandClaude Opus 4.8 0b29363ff4 v2.4.3 : caracteristiques iso solo/multi (CSS partagee)
Les regles #stats (flex label/valeur, .stat-val monospace aligne a
droite, .stat-hint) ne ciblaient que le solo -> etendues a #mp-stats.
Suppression du reliquat CSS #mp-effects .eq-line/.fx-empty qui
desalignait le message vide. Les deux fiches sont desormais identiques.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 11:24:16 +02:00
percoandClaude Opus 4.8 6f6b6d5ed5 v2.4.2 : fiche du troll harmonisée solo/multi (panneau a onglets)
Le mode multi reprend exactement le panneau a onglets « Caracteristiques /
Effets » du solo : meme structure HTML, badge du nombre d'effets, et
l'onglet Effets passe par renderEffectsPanel (cartes buff/malus + total)
au lieu de la liste simplifiee. switchLeftTab generalise avec un prefixe
("" solo / "mp-" multi) ; le serveur renvoie potionEffects complets pour
alimenter le total des modificateurs. Reste seule la difference de fond
Tour (solo) vs DLA temps reel (multi).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 11:07:45 +02:00
percoandClaude Opus 4.8 18a4140a88 v2.4.1 : bonus phys/mag toujours détaillés sur la fiche multi + panneaux élargis
Sur la fiche du troll du monde partagé, la décomposition phys/mag des
caracs (att/esq/deg/reg) disparaissait dès que les deux saveurs étaient
égales (ex. bonus de potion appliqué aux deux). Affichage désormais
systématique dès qu'un bonus existe. Panneaux latéraux 230 -> 270 px.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 10:50:38 +02:00
percoandClaude Fable 5 0ac2971f03 2.4.0 : gestion du sac — déséquiper, goinfrer (MIAM/CLONK/GRRROUAR), jeter à terre, sac classé par type avec effets visibles
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 23:23:01 +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 e5a4148ee8 1.9.0 : bonus/malus physiques (équipement) vs magiques (potions/parchemins), armure physique et magique distinctes (troll + monstres)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 10:22:18 +02:00
percoandClaude Fable 5 c769880303 1.8.0 : habillage pack parchemin officiel MountyHall
- Assets du pack (img/mh/) : fond2, tableau1/2, interfacehaut_small,
  interfacebas2, bg_equipement (source : mountyhall.com/MH_Pack/packMH_parchemin)
- style.css rethémé : fond lin, panneaux crème #FFFFEE à bordure noire,
  bandeaux tableau2/#EBEDAB, liens #990000, boutons olive #666633 outset,
  en-tête et pied en boiseries, Trebuchet MS

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 00:21:32 +02:00
percoandClaude Fable 5 61a8cee0fc 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>
2026-06-12 00:02: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 9b3e2c8455 1.5.2 : bonus DEG/REG des potions en valeurs fixes, pas en dés
- Seules les notations « X D3 » de Mountypedia sont des jets de dés ;
  « DEG +X » / « REG +X » sont des bonus fixes ajoutés au résultat
- Concerne Bonne Bouffe, Fertilité, Corruption, DjhinTonik,
  Rhume/Grippe/Pneumonie, Biskot, KouleMann, Glacier
- Régénération bornée à 0 sous malus + affichage du signe corrigé

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:18:42 +02:00
percoandClaude Fable 5 1df822189c 1.5.1 : potions en D3 et jet unique par fiole, retrait de « (jet) » dans les effets
- Sang de Toh Réroh et PufPuff passent de D6 à D3 (conformes à Mountypedia)
- Un seul jet de XD3 par potion : le même total s'applique à ATT et ESQ
  (Corruption, Rhume/Grippe/Pneumonie, PufPuff, Sang de Toh Réroh, Zet Crakdedand)
- Panneau des effets : suppression des mentions « (jet) » et « (jets inclus) »
- APP_VERSION réalignée sur le README (1.5.1)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:03:01 +02:00
Cedric 95f1ad7eff 0.1.6 : debug potion 2026-06-11 17:56:35 +02:00
Cedric beca5a06b6 0.1.9 : debug potion V2 2026-06-11 17:50:42 +02:00
Cedric eed0336ec1 0.1.8: debug vue 2026-06-11 17:39:07 +02:00
Cedric 84e464b4a2 0.1.6 : debug potion 2026-06-11 17:26:29 +02:00
Cedric 7ae9af5adb 0.1.6: add potions 2026-06-11 17:16:05 +02:00
Cedric bbccfed9f2 0.1.5 : versionning 2026-06-11 16:58:51 +02:00
Cedric fa3ff29709 0.1.5 : modification calcul PX 2026-06-11 16:53:26 +02:00
percoandClaude Fable 5 92df54fca2 1.5.0 : page « Règles des talents » au format fiches MountyHall
Les 10 fiches compétences/sortilèges (coût en PA, type, jet de
résistance, effet de zone, limite par DLA, formules de jets, lore),
accessibles depuis l'accueil et en jeu. En partie, encart « Mes infos »
par talent de la race jouée : maîtrise actuelle et plafond, taux de
réussite sur les jets effectués, dernière utilisation et jets calculés
du troll. tryTalent compte désormais essais/réussites/dernier usage.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 14:42:12 +02:00
percoandClaude Fable 5 bffe9f9f75 1.4.0 : panneau « Détail du combat » au format MountyHall
Bloc détaillé à droite du journal pour chaque action : jets d'Attaque/
Esquive avec dés, coup critique, Seuil de Résistance et jet de
Résistance des sortilèges, progression de Maîtrise, dégâts, mise à
mort, butin et total de PX — y compris pour les attaques des monstres.
Ajout des coups critiques (dégâts ×2 si attaque ≥ 2 × esquive), du
butin de monstres (40 % : potion ou Mountyzédons) et du mode
?demo=combat pour les captures.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 14:31:53 +02:00
percoandClaude Fable 5 026e604b0b 1.3.2 : un jet de talent raté sous 50 % progresse quand même de 1 %
Plafonds inchangés : 90 % pour les compétences, 80 % pour les sortilèges.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 14:17:39 +02:00
percoandClaude Fable 5 ad33670468 1.3.1 : coûts d'amélioration officiels (Rules_3.php) + armure naturelle
Table officielle : N-ième achat = N × base, caractéristique favorite à
12 PI, REG à 30 (Darkling 22), PV par tranche de 10 à 16 (Durakuir 12),
et armure naturelle en D3 achetable à 30 PI pour toutes les races
(réduction de dégâts jetée en D3 en plus de l'équipement).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 14:13:20 +02:00
percoandClaude Fable 5 eae97ae9bb 1.3.0 : profils, compétences et sortilèges officiels des 5 races
Profils de base exacts des pages Races_*.php (dégâts en D3 partout),
compétence + sortilège réservés par race avec effets Mountypedia :
Botte Secrète/Hypnotisme (Skrim), Régénération Accrue/Rafale Psychique
(Durakuir), Accélération du Métabolisme/Vampirisme (Kastar),
Camouflage/Projectile Magique (Tomawak), Balayage/Siphon des Âmes
(Darkling). Maîtrise D100 démarrant à 15 % et progressant à l'usage
(+1D6 % < 50, +1D3 % < 75, +1 % ensuite, plafonds 90/80 %), échec à
moitié remboursé, jets de résistance des monstres, statuts à terre/
hypnose/nécrose, fatigue du Kastar, camouflage persistant.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 14:02:18 +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
percoandClaude Fable 5 d29ee4c04e Pastilles de couleur sous les entités (lisibilité sans police emoji)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 11:12:48 +02:00
percoandClaude Fable 5 293066df5c Version initiale de MountyCrawl 1.0.0
Roguelike navigateur hommage à MountyHall : 5 races, combat aux dés
(ATT/ESQ/DEG D6), DLA à 6 PA, progression PX/PI, brouillard de guerre
basé sur la Vue, 5 profondeurs et boss Béhémoth. Vanilla JS sans
dépendance, tests de fumée node.

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