4beb1b2ed9
feat: Phase 3 Lore & Contenu — L'Odyssée d'un têtard
...
Lore Bible (canon narratif complet) + Engine Design (séparation moteur/univers).
4 nouvelles zones (Ruisseau Miroir, Marais des Murmures, Torrent Brisé, Source du Courant)
dans la chaîne d'unlock après desert (niv 16-25+).
Module NPC complet (entity, service, controller) — 8 PNJ avec dialogues évolutifs
par palier de niveau : Gorn (niv 1-15), Pierre-Mémoire (niv 16+), Mira, Vell,
La Batracienne, Le Forgeron, Le Marchand.
20 monstres lore-friendly, 12 matériaux, 15 items (dont Bâton de Gorn légendaire).
17 quêtes narratives (4 arcs ch.9-12) avec textes acceptText/completeText
qui racontent l'Odyssée. Nouveau type story_event pour les moments narratifs purs.
3 quêtes répétables optionnelles.
Seed runner : npm run seed:odyssee
Tout est additif — zéro impact sur le contenu existant niv 1-15.
2026-03-25 00:52:14 +01:00
6df11f2860
feat(sprint5): audit fixes — transactions, indexes, stat distribution, rest, forge cost
...
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 35s
P0 — Race conditions fixées avec pessimistic_write transactions :
combat (double-spend endurance), forge (double upgrade),
craft (consumeMaterials atomique), equip (item swap).
Forge : coût or (50-1000) + endurance (15) ajouté.
Combat : item stat bonuses (force/agilite/intelligence/chance) appliqués.
P1 — Features manquantes :
POST /api/characters/stats — distribution stat points (avec lock).
POST /api/characters/rest — repos auberge (+50% HP, -20 endurance).
Vitalité : +10 HP max par point distribué.
P2 — Indexes DB ajoutés :
character_id sur character_items, character_materials, combat_logs,
craft_jobs, player_achievements, community_contributions.
Composite (characterId, materialId) sur character_materials.
period sur hall_of_fame. achievement_id sur player_achievements.
P3 — Cleanup : @nestjs/jwt et pg retirés de package.json.
2026-03-24 15:55:50 +01:00
8ee50805ea
feat(sprint4): achievements, community goals, hall of fame, profile
...
CI/CD — Build & Deploy / Build & Deploy (push) Failing after 37s
4 modules: achievement (15 succès, 5 catégories, 3 paliers), community
(objectifs collectifs + boosts globaux), halloffame (classement mensuel),
profile (titre actif + badges + % progression).
Event-driven: combat/forge/craft émettent des events via @nestjs/event-emitter.
Character entity: +activeTitle, +totalGoldEarned.
Seeds: 15 achievements + 3 community goals.
2026-03-24 14:51:53 +01:00
b506adf034
fix(infra): PostgreSQL → MySQL + tsconfig.build exclude frontend/
2026-03-17 07:20:14 +01:00
49b8aa1211
feat(sprint3): EconomyModule TetardCoin + TwitchModule EventSub — migration + 36 tests
2026-03-17 07:10:45 +01:00
23f7dd0f3c
feat(sprint3): items + forge + craft + loot — équipement, artisanat lazy-calc, forge risque GDD
2026-03-15 08:22:20 +01:00
6d1230d16a
feat: Sprint 2 — moteur de combat PvE TetaRdPG
...
Moteur combat stateless (POST /api/combat/start résout le combat complet).
Formules GDD : Mêlée/Distance/Magie × 1.5, critique (5% + Chance×0.2%), esquive (5% + Chance×0.1%).
5 monstres seedés (Têtard Vase → Golem de Boue, level 1–9).
Level up : XP → seuil atteint → level++, +5 statPoints.
Persiste combat_logs (jsonb rounds). Validé : victoire, défaite, 401, 400, 404.
2026-03-15 06:10:06 +01:00
da3237bf3f
feat: Sprint 1 — backend fondations TetaRdPG
...
Auth SuperOAuth (JWT validation + httpOnly cookie), entités users/characters/level_thresholds,
lazy calculation endurance, seed 100 niveaux, config prod-ready (trust proxy, helmet, CORS, rate limit).
Validé : health 200, auth flow, character CRUD, endurance lazy, 401 sans cookie.
2026-03-15 05:51:02 +01:00