Skip to content

v3.4.0

Choose a tag to compare

@galanx galanx released this 25 Apr 20:51
· 6 commits to main since this release

What's new

Story DM observability

  • Every NPC now produces an [StoryDM Pass1] ACCEPTED|skipped-<reason> line in IntelEngine.log with score, formId and rejection reason. Previously-silent skips (recent, teammate) are now diagnosable from the log.
  • [StoryDM Pass2]/[Pass3] log loaded-actor and location-mate additions, so the full candidate pool composition is visible.
  • "Last story dispatched" hint no longer suggests gated-off subtypes; the LLM is steered back to the Available Story Types section.

seek_player prompt steering

  • Long-absent acquainted intimates (lovers, sworn friends, travel companions, family) are now promoted as PRIME seek_player candidates — missing the player is itself a legitimate motive, no fresh crisis required.
  • New rule under Player Familiarity steers the LLM to prefer seek_player over faction-courier dispatches when an acquainted candidate has been absent 2+ in-game days.
  • Added absence-driven JSON example alongside the existing event-driven one.

Fixes

  • Maintenance duplicate-call guard: no longer rejects new sessions on game-load. The previous guard compared against GetCurrentRealTime() which resets to 0 on every game launch, blocking maintenance from running until you'd been in-session for several real-time minutes.
  • Battle real-time timer cleanup: stale BattleStartRealTime values from a prior session are now cleared on OnGameReload instead of being compared against the new session's reset clock — battles that previously appeared "stuck for hours" on load are now correctly recognized as fresh.
  • StoryEngine session rollover: new ClearStaleRealTimeTimers helper called on game load scrubs all GetCurrentRealTime()-derived timestamps so cross-session resumption doesn't mis-classify state.

Compatibility

No public API changes. SkyrimNet PublicAPI version requirements unchanged. Drop-in replacement for v3.3.1 — no save-game migration needed.