Interacting with a NPC on guard

Why exactly this possibility is removed (except for the only possible option, switching off guard duty?)

That’s a bother because it would seem convenient to have NPCs stay on guard duty while you talk to them for inventory transfer for example. I don’t want them all to bunch against me while I rummage through my 1000+ items…

It probably has something to do with the way NPCs are programmed to do tasks, in that they can only do one task at a time and don’t have a task “queue”. When an NPC completes a task it probably changes their “idle?” state from false to true, meaning that an NPC has to be idle at least once before getting a new task. Since guarding is an infinite task, the only way to get an NPC to go back to being idle in order to assign a new task is to give them the command.

It honestly probably wouldn’t be too hard to fix this, but it’s not a very pressing issue.

Pretty much.

I actually don’t see many issues arising from simply giving them the same dialogue options as a follower, but with the option of " follow me " being there if they are on guard.

But as with most things NPC code, seemingly simple changes snowball with bizarre bugs until a 1 line change results in them wearin their underpants on their head and eating plutonium.


Internally, I think I would want to create a new TALK_ option, TALK_SAME, which would return to the same talk topic (instead of TALK_NONE returning to the previous talk topic). Then some of the topics in TALK_FRIEND could change their next topic to TALK_SAME instead of TALK_FRIEND, and TALK_FRIEND_GUARD could share most topics with TALK_FRIEND and TALK_RADIO. We could move the greetings and good-byes to the individual topics.

I think you just added TALK_FRIEND_GUARD to TALK_FRIEND right now, you’d get a weird situation where you could tell people to guard twice and stuff. But the kind of restructuring I’m talking about should be too hard.