How-to: Run-Objective ändern oder erweitern
Status: Implementiert ist nur Boss + Enemy-Point-Quote; DungeonObjectiveKind enthält nur DefeatBoss.
Bestehende Objective-Regeln ändern
Profilquote, AllBosses und Summon/Respawn-Counting liegen in Shared/Dungeons/Definitions/DungeonRunProfile.cs und werden über DungeonRunProfileResolver.cs gewählt. Konkrete Enemy-/Boss-Definitionen erzeugt DungeonObjectiveDefinitionFactory.cs. Laufzeitwertung liegt in Shared/Dungeons/Runtime/DungeonObjectiveTracker.cs; Godot-Events/HUD liegen in DungeonObjectiveTracker3D.cs sowie den einzelnen Eventtypen unter Features/Dungeons/Run/Events.
Ändere die kleinstmögliche Ebene: reine Quote im Profil, Spawnpoints/Points in Factory, Bewertungssemantik im Tracker. Danach RuleSetVersion/BalanceVersion des RunDefinition-Pfads bewerten.
Neue Objective-Art
DungeonObjectiveKindund Definitionmodell versioniert erweitern.- Factory muss deterministisch Objective-Instanzen/IDs aus Run/Rooms erzeugen.
- Shared-Tracker um deduplizierten State und Completionbedingung ergänzen; Godot-frei halten.
- Game3D-Events/HUD und
DungeonExitController3Danbinden. - Encounter/Interaction-Hook muss Ereignis mit stabiler InstanceId melden.
- RunDefinition-Serialization/Hash und den aktiven Replay-Recorder/Playback-Pfad aktualisieren.
- Nakama-Completion darf neue Objective-Erfüllung nicht aus einem ungeprüften Clientboolean übernehmen; Replay/Serverstate validieren.
Tests
Factory deterministisch, unbekannte/duplicate Events, Partial/Complete, mehrere Objectives, Serialization/Hash und Exit-Gating. Bestehende Dateien: DungeonRunDefinitionTests.cs, DungeonObjectiveTrackerTests.cs, DungeonGraphValidationTests.cs.
Verwandt: Dungeon-Runs, Boss, Replay.