Add combatant side assignment for encounter difficulty
All checks were successful
CI / check (push) Successful in 2m18s
CI / build-image (push) Successful in 17s

Combatants can now be assigned to party or enemy side via a toggle
in the difficulty breakdown panel. Party-side NPCs subtract their XP
from the encounter total, letting allied NPCs reduce difficulty.
PCs default to party, non-PCs to enemy — users who don't use sides
see no change. Side persists across reload and export/import.

Closes #22

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Lukas
2026-04-03 14:15:12 +02:00
parent 30e7ed4121
commit 94e1806112
23 changed files with 1359 additions and 455 deletions

View File

@@ -101,6 +101,13 @@ export interface CrSet {
readonly newCr: string | undefined;
}
export interface SideSet {
readonly type: "SideSet";
readonly combatantId: CombatantId;
readonly previousSide: "party" | "enemy" | undefined;
readonly newSide: "party" | "enemy";
}
export interface ConditionAdded {
readonly type: "ConditionAdded";
readonly combatantId: CombatantId;
@@ -161,6 +168,7 @@ export type DomainEvent =
| RoundRetreated
| AcSet
| CrSet
| SideSet
| ConditionAdded
| ConditionRemoved
| ConcentrationStarted