Plusieurs ajouts :
Some checks failed
Build & Push Images / build (brain) (push) Successful in 1m47s
Build & Push Images / build (core) (push) Failing after 1m56s
Build & Push Images / build-switcher (push) Successful in 20s
Build & Push Images / build (web) (push) Successful in 2m11s

- Possibilité de configurer des lieux dans une scène : permet de configurer un donjon par exemple avec les pièces, les trésors par pièce, la narration..... Mise en place également de conditions permettant de conditionner le déblocage des quêtes.
- Possibilité de transformé un arc en instance non linéaire afin de faire un hub. Permet de jouer de préparer des campagnes type Dragon of Icespire peak plus facilement.
- Configuration de partie : chaque partie va contenir les séances, ce qui permettra de suivre le déblocage des conditions pour les quêtes.

Passage en 0.9.1-beta
This commit is contained in:
2026-06-03 15:44:48 +02:00
parent 694f687fec
commit c3d3394ec7
147 changed files with 5347 additions and 392 deletions

View File

@@ -8,7 +8,7 @@ export interface CampaignDeletionImpact {
arcs: number;
chapters: number;
scenes: number;
characters: number;
playthroughs: number;
}
/** Compte des entités qui seront supprimées en cascade avec un arc. */
@@ -85,13 +85,20 @@ export class CampaignService {
}
// ========== CHAPTER ==========
getChapters(arcId: string): Observable<Chapter[]> {
const params = new HttpParams().set('arcId', arcId);
/**
* Liste les chapitres d'un arc. Si {@code playthroughId} est fourni, le backend
* enrichit les DTOs avec progressionStatus + effectiveStatus relatifs à la Partie.
*/
getChapters(arcId: string, playthroughId?: string): Observable<Chapter[]> {
let params = new HttpParams().set('arcId', arcId);
if (playthroughId) params = params.set('playthroughId', playthroughId);
return this.http.get<Chapter[]>('/api/chapters', { params });
}
getChapterById(id: string): Observable<Chapter> {
return this.http.get<Chapter>(`/api/chapters/${id}`);
getChapterById(id: string, playthroughId?: string): Observable<Chapter> {
let params = new HttpParams();
if (playthroughId) params = params.set('playthroughId', playthroughId);
return this.http.get<Chapter>(`/api/chapters/${id}`, { params });
}
createChapter(payload: ChapterCreate): Observable<Chapter> {