Skip to content

How-to: Boss erstellen

Status: Datengetriebene Boss-Encounters mit Resource-Katalog, Shared-Fallback, Phasen, Angriffen, Adds, Arena-Events und Drop-Profil.

1. Encounter-Resource anlegen

Lege unter res://Resources/Boss/ eine BossEncounterResource an und vergib eine stabile ID wie boss-<name>. Pflege Basiswerte, Archetype, Farbe, Door-Lock und optional BossVisualScene sowie PhaseTransitionVfxScene.

Jede Phase benötigt eine eindeutige ID und absteigende EnterHealthFraction. Weise ein BossMovementProfileResource, gewichtete BossAttackEntryResource-Einträge sowie optionale Spawn- und Arena-Events zu. Angriffsarten werden über AttackPatternKind ausgeführt; neue Arten brauchen zusätzlich einen Executor in BossAttackExecutors.cs und eine Registrierung in BossAttackExecutorRegistry.cs.

2. Katalog und Dungeon anbinden

  1. Encounter in res://Resources/Boss/BossEncounterCatalog.tres eintragen.
  2. Passende Enemy-Definition mit IsBoss=true im Enemy-Katalog bereitstellen.
  3. Bossraum aus RoomTemplate_Boss_Example01.tscn ableiten und mindestens BossSpawnMarker3D mit stabiler ID sowie benötigte HazardAnchorMarker3D-Tags anlegen.
  4. Room-Template im V3-Katalog registrieren.
  5. Sicherstellen, dass DungeonObjectiveDefinitionFactory dieselbe Boss-Instance-ID in Enemy-Definition und RequiredBossIds verwendet.

DungeonRun3DController lädt den Resource-Katalog über BossEncounterCatalogResource.LoadOrDefault(). Ein fehlender oder leerer Katalog fällt auf BossEncounterCatalogFactory mit Bulwark, Striker und Controller zurück. Unbekannte Encounter verwenden derzeit Striker als Laufzeit-Fallback.

3. Rewards, Replay und Authority

BossClearRewardProfileResource steuert garantierte und optionale physische Drops. Der Tod muss weiter über DungeonEnemy3D.Died zum Encounter, Objective-Tracker und Drop-Schedule gelangen. Boss-Hazards und relevante Combat-Ereignisse werden vom Replay-Pfad aufgezeichnet. Die Online-Waffenentscheidung ist serverautoritativ; die vollständige Boss-/Run-Simulation liegt weiterhin nicht vollständig auf dem Headless-Server.

Tests und manuelle Prüfung

  • BossEncounterTests.cs: Katalogvalidierung, Phasenreihenfolge, deterministische Angriffsauswahl, Rewards und Resource-Konvertierung.
  • Dungeon-/Objective-Tests: stabile IDs, Boss-Gate, Duplicate-Kills und Room-Marker.
  • Manuell: Fallback und Resource-Override, alle Phasen/Attacken/Adds/Hazards, Door-Lock, Drop, Replay-Playback und Abbruch prüfen.

Verwandt: Encounters, Raum erstellen, Objectives.