Guides/Games and mods
Games and mods
Problem. Dialogue gating is a pile of boolean flags. knows_about_betrayal = true says nothing about when, from whom, or whether it survived a later revelation. Save files diverge and nobody can explain why an NPC said the wrong line.
How it maps.
- The mod loads the engine in-process (the .NET binding, or the C ABI from any language), or spawns
umwelt serve save.umw. No SQL. entity.ensureBatchregisters the game’s characters by their own ids when a save loads.- The day being played is a draft: promote it when the player sleeps, discard it with
purgewhen they quit without saving. - A gate is a query: does this NPC hold this knowledge at this position? Gossip is
transmit; a scene iswitness; the night’s forgetting and trust changes areholding.adjustBatch,transition.batchanddisposition.setBatch. The game decides the rules; the engine records them. - Secrets carry who may know them. Telling one to the wrong person is never blocked: it returns a
SECRET_BREACHwarning and shows up inbreaches. - Hooks fire more than once, after a reload or a rewind. Pass
attemptIdand a replayed commit applies exactly once.
JSON
{"v":1,"id":"1","op":"hello","payload":{"protocol":{"min":1,"max":1},"client":"game-mod/1"}}
{"v":1,"id":"2","op":"holds","payload":{"projectId":"save","holder":"npc-guard","claimKey":"<claim key>","at":{"tick":420}}}Was this page helpful?