feat: Combat tour par tour — Phases A-D complètes

TurnManager stateless avec sessions en mémoire (TTL 10min).
SpellSystem : 15 sorts (5 par voie du Dao), mana, cooldowns, buffs/debuffs.
CompanionAI : Mira (heal/support) et Vell (tank/dps) — IA contextuelle.
Monster AI : 3 profils (agressif, défensif, chaotique).

Nouvelles entités : Spell, PlayerSpell, PlayerDaoPath.
Character +mana. Monster +aiProfile +isBoss.
Migration : 1743004800000-TurnCombatSystem.

Frontend : TurnCombatPage (select/combat/result), sélecteur compagnon,
barres HP/MP, log scrollable, sous-menu sorts avec cooldowns.

Endpoints : 8 routes sous /combat/turn/ (start, action, session, spells,
unlocked, unlock, dao, dao/choose).

Combat simple (POST /combat/start) et grind ×5/×10 inchangés.
This commit is contained in:
2026-03-25 00:58:47 +01:00
parent 4beb1b2ed9
commit 9d50adf523
21 changed files with 2904 additions and 5 deletions

View File

@@ -57,6 +57,13 @@ export class Character {
@Column({ name: 'hp_max', default: 100 })
hpMax: number;
// Mana du Courant (sorts — combat tour par tour)
@Column({ name: 'mana_current', default: 50 })
manaCurrent: number;
@Column({ name: 'mana_max', default: 50 })
manaMax: number;
// Endurance — lazy calculation (pas de timer actif)
@Column({ name: 'endurance_saved', default: 100 })
enduranceSaved: number;