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.
This commit is contained in:
2026-03-15 06:10:06 +01:00
parent da3237bf3f
commit 6d1230d16a
15 changed files with 806 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Character } from '../character/entities/character.entity';
import { CombatLog } from './combat-log.entity';
import { CombatService } from './combat.service';
import { CombatController } from './combat.controller';
import { MonsterModule } from '../monster/monster.module';
import { AuthModule } from '../auth/auth.module';
@Module({
imports: [
TypeOrmModule.forFeature([Character, CombatLog]),
MonsterModule,
AuthModule,
],
controllers: [CombatController],
providers: [CombatService],
})
export class CombatModule {}