fix: quest progression (events after tx), abandon quest, endurance display
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 34s

- Events (achievement/community/quest) émis APRÈS la transaction combat
  au lieu de dedans — corrige les quêtes qui ne progressaient pas
- POST /api/quests/abandon/:id — abandonner une quête active
- Frontend: bouton "Abandonner" sur les quêtes actives non complétées
- Fix endurance display (enduranceCurrent field mapping)
- Types Character mis à jour (xpToNextLevel, activeTitle, enduranceCurrent)
This commit is contained in:
2026-03-24 16:52:48 +01:00
parent 8038ca5d0a
commit af247a1c6b
7 changed files with 99 additions and 68 deletions

View File

@@ -221,6 +221,18 @@ export class QuestService {
}
}
async abandon(playerQuestId: string, characterId: string) {
const pq = await this.playerQuestRepo.findOne({
where: { id: playerQuestId, characterId },
relations: ['quest'],
});
if (!pq) throw new NotFoundException('Quête introuvable');
if (pq.status !== 'active') throw new BadRequestException('Seules les quêtes actives peuvent être abandonnées');
await this.playerQuestRepo.remove(pq);
return { abandoned: true, quest: pq.quest.name };
}
// --- Event listeners for quest progress ---
@OnEvent('quest.progress')