over 2 years ago - faatal - Direct link

There are two types of stealth checks that happen.


1 Continuous - A player stealth update calcs their light level, updates noises and sets themself as noise source on AI entities if they are the higher than other player's noise. AI checks players in their vision cone based on distance vs that player light and then target the player. The player noise on the AI, if above a threshold, will wake the AI. Noise will also make it investigate and do a vision check, which could cause it to see a closer player than the one that made the noise.


2 Triggering a sleeper volume - This happens once per AI based on stealth modified light level vs distance and only determines attack vs active. They will go active in any event and continuous stealth checks may hear or see you at any time after that.

over 2 years ago - faatal - Direct link

The person who made the video did not notice he is in broad daylight when he tested the attack volumes, so yes they saw him as his stealth was horrible.


Not having shadows on also makes it hard to know when you are in sun or moon light!

They do the normal stealth checks and are actually worse at detecting you since they can only hear you and not see you. A sleeper in the open could see and hear you.

over 2 years ago - faatal - Direct link

Normal stealth checks would not be desirable in the attack volume case as the zeds are often around corners, enclosed or facing the wrong direction and the player may be making little noise which means default unskilled stealth would mostly work, yet the designers want the zeds to attack.


The one time check is to allow stealth to be useful as a skill you can put points into and allowing for variation in the way you entered the volume compared to zed locations.


The attack uses SetAttackTarget, which is a standard way of the tracking you and used in cases like when you hit them or they see you. I am reducing the trigger's call of SetAttackTarget from 60 to 20 seconds, which seems more reasonable for the attack to time out, since it refreshes anyway if they see you.