-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NPC behaviour curiosities, maybe due to full map life simulation? #565
Comments
@Abendlied Yes, you're right about the full simulation cauing both of these. However, if Lares in original stops for the player to catch him (even within visible range), he still should do that in OpenGothic. Is there such issue? |
Hi @Abendlied !
Hm, sort of yes and no. In game-scripts of original game npc suppose to wait for you, but it not always - it just doesn't work well.
I've seen such issue a few times, yet it hard to catch it in action. My theory snappers scudded on a nearest cliff and issue is might be related to #542 |
Thanks for the replies.
I can confirm, Lares dummy dialogues work and Lares will be waiting there. But he will run uninterrupted to the next dummy dialog spot and does not wait inbetween if player does not catch up. I noticed that
|
@Try You might be right. I went to Grimbald again and used F8 and K to see if monsters were clipping through somewhere. I actually found two snappers swimming in the lake just next to the cliff. |
Reverting 8716db0 makes it work. State loop is not executed because Lares is in goto mode, so They used sense smell as bypass to get the trigger. Script comment says sense smell is required for Lares because otherwise player can't be seen. |
Hm, I remember this was done, to fix case when the seeker can notice player from behind |
I tested a bit more. If npc has senses smell This would explain func void ZS_GolemDown ()
{
self.senses = SENSE_SMELL ;
self.senses_range = 2000;
Npc_SetPercTime (self, 1);
Npc_PercEnable (self, PERC_ASSESSPLAYER , B_GolemRise );
self.aivar[AIV_TAPOSITION] = NOTINPOS;
}; |
Notice as in attack or trigger dialogue? |
@Try would you agree, based on the above comments, to revert the change? |
Reverted, thanks everyone for testing it and thanks @hwnde for reminding - I've forgot about this ticket :) |
There are two kinds of seeker's. Some wanna talk, some attack. I pushed a pr for the Lares case but seekers should behave as expected too. #589 |
It's not 2 completely different. Seeker behavior is controlled by
Lares work on current master as-is. I'm sorry, but I can't quite see what this PR is about |
Revert was faster than pr, so yes for now there's only golem fix. After bug report I disabled senses piecewise and looked what they do and pr is the result. Technically this is ready for some time except maybe final testing but I don't like having multiple pending pr's. Wanted to wait until delay stuff is done. Another thing which I planned for implementation of some G1 percs is the removal of empty aiqueue check. This currently blocks percs there because script loop often has I see this point is a bit unlucky because it's only in pr because the "what i think senses\percs should behave like" breaks sneaking otherwise. But as explained it's useful on it's own, should have just added aiqueue empty check removal there too. |
escorting NPCs like Lares do not wait for player to follow (unless there is a dialog to be triggered). The NPC will continue to run even if out of viewable distance. My suspicion is this could be due to the full life simulation on the map.
Grimbald the hunter: When I first arrived there, only one snapper was there. My suspicion is that Grimbald killed them already over time but I am not sure. I found no snapper corpses.
The text was updated successfully, but these errors were encountered: