Table of Contents

Class BossPhase

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

Defines a single phase of a boss encounter. A boss transitions to the next phase when its health drops below HealthThreshold. Each phase can override the boss's behavior tree, attacking state, and spawn adds.

[Serializable]
public class BossPhase
Inheritance
BossPhase
Inherited Members

Fields

AbilityRotationOverride

Optional ability rotation override for this phase.

[Tooltip("Optional ability rotation override for this phase.")]
public AIAbilityRotation AbilityRotationOverride

Field Value

AIAbilityRotation

AttackingStateOverride

Optional attacking state override. Changes the boss's combat style mid-fight. E.g., Phase 2 switches from melee to caster.

[Tooltip("Optional attacking state override for this phase.")]
public BaseAIState AttackingStateOverride

Field Value

BaseAIState

BehaviorTreeOverride

Optional behavior tree override for this phase. If null, the boss keeps its current tree.

[Tooltip("Optional behavior tree override for this phase.")]
public AIBehaviorTree BehaviorTreeOverride

Field Value

AIBehaviorTree

HealthThreshold

Health percentage (0-1) at which this phase activates. E.g., 0.7 means 70% HP. Phases should be ordered from highest to lowest threshold.

[Range(0, 1)]
[Tooltip("Health percentage (0-1) at which this phase activates.")]
public float HealthThreshold

Field Value

float

PhaseAnnouncement

Optional emote / announcement when entering this phase.

[Tooltip("Text announcement when phase begins (e.g., boss yell).")]
public string PhaseAnnouncement

Field Value

string

SpawnOffsets

Spawn offset positions relative to the boss for each add. If fewer offsets than SpawnOnEnter, extras spawn at the boss's position.

[Tooltip("Spawn positions relative to boss for each add.")]
public List<Vector3> SpawnOffsets

Field Value

List<Vector3>

SpawnOnEnter

NPC prefabs to spawn when entering this phase (adds / reinforcements).

[Tooltip("NPC prefabs to spawn when this phase starts.")]
public List<GameObject> SpawnOnEnter

Field Value

List<GameObject>