DFHack - Dwarf Fortress Modding Engine

DFHack - Dwarf Fortress Modding Engine

amade Aug 31, 2024 @ 1:41am
Preventing a visitor from leaving.
Because of this bug[dwarffortressbugtracker.com], diplomats will conduct meetings with a visiting noble instead of my duchess. Most of the time the meeting goes normally; agreements still get made and diplomats leave satisfied.

But if the visitor decides to leave just as the diplomat arrives to meet them nothing will change the visitor's mind from leaving, not even if I teleport both of them into a locked room, so the meeting will not take place and the diplomat leaves unhappy. I have no idea what will happen if the diplomat arrives and the visitor is not around or met an "unfortunate accident" (the diplomats will always meet that one particular visitor).

Would it be possible to use gui/gm-editor to change some flags/tokens that will keep the visitor around longer, or even permanently without actually making them my citizen (using makeown would be my last resort). Or if they already decided to leave, make them change their mind about it.

I tried messing with some of the values but since I don't understand what most of them do I couldn't get the desired result.
Last edited by amade; Aug 31, 2024 @ 1:41am
< >
Showing 1-5 of 5 comments
rome of oxtrot  [developer] Aug 31, 2024 @ 1:50am 
it's almost certainly possible, but we don't currently know enough about the AI controlling NPCs to manipulate that AI in this manner yet. this is an area of ongoing research (indeed, it's one of the areas i have been personally focusing on lately) and someday soon we might know enough to do this, but that day is not today

it might be more practical for us to attempt to mitigate bug 12955 directly, by detecting when a meeting of the sort described there has been scheduled and adjusting the participant to the proper noble. we're probably closer to being able to do that than we are to the other thing

i've opened DFHack issues #4892[github.com] and #4893[github.com] in relation to this request. obviously, no promises
Last edited by rome of oxtrot; Aug 31, 2024 @ 2:20am
amade Aug 31, 2024 @ 2:18am 
Thanks for looking into it, much appreciated!
amade Sep 17, 2024 @ 3:32pm 
I've been trying to figure out on my own how to reassign the target noble via gm-editor but without any success. In the meantime, things got worse as the diplomat and visiting noble will sometimes start the meeting as soon as they meet (instead of going to the dining hall), usually in a temple while the noble has a purple praying activity, and then they get stuck in the attend/conduct meeting activity even after playing out the diplomacy stuff.

Using gm-editor I tried removing the praying activity from the noble prior to the diplomat's arrival, but the noble will either start a new purple praying activity or decide to leave the site (which kinda works as a workaround, as long as the diplomat hasn't entered the map yet). Is there a way I can change the activity to green instead so I can get the meeting to start normally, and partly also to confirm that the purple activity is what's causing the meeting to get stuck?
myk002  [developer] Sep 19, 2024 @ 6:11pm 
The purple/green determination is based on the intensity of the need. If you scan through the unit.status.current_soul.personality.needs, you can find the PrayOrMeditate need(s). If you increase the focus_level of the need so it isn't as negative (or you can make it positive), then the activity will become non-purple.
amade Sep 20, 2024 @ 10:03am 
Thanks, I was able to change it to green but the meeting was still stuck, so perhaps it wasn't the cause. Guess I'll have to keep trying different stuff to figure it out.
< >
Showing 1-5 of 5 comments
Per page: 1530 50