treasures.js : section 'Bestiaire' (fetch /api/reference/bestiary,
BESTIARY_DB), monsterCard (blason image lazy + plages de stats + fourchette
d'ages via BESTIARY_AGE_NAMES + drapeaux/capacites), groupee par famille,
+ lien de nav. CSS .tz-blason. Reste : integration spawn (en attente du
choix profondeur->niveaux de Perco).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
É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>
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>