Skip to content

v3.5.0

Latest

Choose a tag to compare

@galanx galanx released this 26 Apr 20:09

What's new

World knowledge integration. Authors can now write world-canonical facts in the SkyrimNet dashboard (e.g. "Ulfric Stormcloak was killed during the Battle of Solitude", "The Thieves Guild were driven out of Riften") and have the political DM and Story / NPC DMs respect them as canon. No more dead leaders rallying troops, no more raids on disbanded factions, no more NPCs gossiping about people they know are gone.

How it lands in the prompts

Political DM — each faction in the political JSON now carries world_knowledge. IntelEngine queries every resolved leader of a faction and unions the results, deduped by content. A fact surfaces under the faction whenever it would pass for ANY of its members — robust to engine faction-list quirks, leader title prefixes, and dynamic quest state. Four hard rules bind the DM:

  • Named-individual: dead/captive/exiled leaders cannot be the actor or instigator of any event.
  • Faction-existence: dissolved factions can't generate or be the target of events implying they still act as an institution.
  • Face-to-face: events requiring both leaders present (alliance, marriage, surrender, etc.) cannot fire when either leader is unavailable.
  • Battle-continuity: during active wars, armies fight on; the leader's fall becomes dramatic narration material.

Story DM and NPC DM — each candidate / pair member carries a Knows: block listing world-canonical facts applicable to them. The DMs use it as a constraint, not a topic — facts are common knowledge that NPCs don't retell on every tick. Story motivation and gossip topics still come from per-NPC memories and recent events; Knows is the silent fact-check at the bottom of the reasoning.

Story DM cinematic refinements

  • Vary the dispatch — explicit cross-check of Recent Quest History and Story Type Picks This Session before choosing. Same type or same dispatcher in the last 1-2 dispatches → strongly prefer something else.
  • Strike where it hurts, sparingly — roughly 1 in every 4-6 dispatches now puts a beloved NPC (lover, sworn companion, family, mentor) in danger as the rescue victim, the threat target, or the warning subject. The pattern's power comes from scarcity; the rule explicitly forbids overuse.

Requires SkyrimNet v9

Depends on PublicGetWorldKnowledgeForActor exported from SkyrimNet v9+.

Authoring world facts

Open the SkyrimNet dashboard, click World Knowledge → Add Entry:

  • Content — one short past-tense sentence
  • Condition — decnpc(actorUUID).name == "Name" (one NPC), is_in_faction(actorUUID, "EditorID") (whole faction), or blank (whole world)
  • Always Inject ON

Use Skyrim engine editor IDs (e.g. CWSonsFaction, not StormcloakFaction) — they're in your factions.yaml skyrim_faction_id field.

Install

Drop the FOMOD into your mod manager. No save reset required.

🤖 Generated with Claude Code