feat(simulation): NPC mood state machine (#323, D-024, D-035)
8-state NPC mood FSM driven by stress, time of day, and interaction events. Adds MoodState component, derive_mood() pure function, and update_mood() Bevy system wired into NpcPlugin. Adds Focused as 9th Mood content tag (D-035 Sprint 8 amendment). Syncs CurrentMood for Layer 4 dialogue selection. 31 unit tests covering priority ordering, boundary conditions, and system integration. All random values route through SimRng (D-010 determinism). No floats. No HashMap. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -637,5 +637,6 @@ fn mood_str(m: &Mood) -> &'static str {
|
||||
Mood::Conflicted => "conflicted",
|
||||
Mood::Concerned => "concerned",
|
||||
Mood::Relieved => "relieved",
|
||||
Mood::Focused => "focused",
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user