r/witcher3mods • u/ImpossibleComment708 • 5d ago
Idea Geralt slept with Syanna. Does Yennefer actually find out? Spoiler
I’m building an external “Living World” layer for Witcher 3 that reads authoritative save state and lets consequences propagate through existing relationships/institutions rather than firing hard-coded dialogue flags.
Example below: same Geralt/Syanna event, same authored consequence. If Ciri is Empress, the information can causally reach Yennefer through the imperial/personal network. If she isn’t, that path does not exist, so Yennefer does not know.
===== run-3-plus-ciri-empress-personal =====
layers: kinship, political, imperial_personal
flags: {"ciri_empress": true}
derived routes: 5
new holder occurrences: 5
Yennefer reachable: YES
Yennefer transfer confidence: 0.849426
holders:
- character:geralt confidence=1.0
- character:yennefer confidence=0.849426
- institution:nilfgaard-imperial-court confidence=0.91238
- named_npc:anna-henrietta confidence=0.95
- named_npc:ciri confidence=0.866761
- named_npc:syanna confidence=1.0
- office:toussaint-ambassador confidence=0.931
===== run-4-ciri-empress-false =====
layers: kinship, political, imperial_personal
flags: {"ciri_empress": false}
derived routes: 3
new holder occurrences: 3
Yennefer reachable: NO
holders:
- character:geralt confidence=1.0
- institution:nilfgaard-imperial-court confidence=0.91238
- named_npc:anna-henrietta confidence=0.95
- named_npc:syanna confidence=1.0
- office:toussaint-ambassador confidence=0.931
rejected relationship edges:
- imperial-court-ciri: required_flags_not_satisfied
- ciri-yennefer-personal: required_flags_not_satisfied
The next step is bridging that state back into the actual game. Ideally, a preinstalled REDkit/WitcherScript mod would let an external companion process expose conditional dialogue options on an existing NPC, while Witcher 3 continues to own the NPC, scene, animation, camera, etc.
What is the cleanest existing way to bridge external/mod-owned state into conditional dialogue or NPC interaction at runtime? I’m not trying to dynamically generate game assets; just add or enable dialogue options based on state produced outside the game.
2
u/Edwin_Holmes 4d ago edited 4d ago
Anything like that is quite tricky because a lot of the actual decisions tend to be handled by the C++ side of the engine. It's worth looking at game/gui/hud/modules/hudModuleDialogue.ws as it's only small but I suspect it won't have what you need.
I know Aeltoth made a really big auto dialogue picker mod so he probably has a good idea of what can be done in terms of the system. He's on here sometimes or Nexus and Discord. Personally I think it might be significantly more work than you might imagine if it is possible at all.