» Wed Dec 31, 2014 12:29 pm
that's weird, because by the power of scripting logic, that should not be happening at all. game settings are not stored with the save game and have to be reset every single time you start a new game session. The script code you saw only kicks in when a game is restarted. I don't see why any of the sub-steps in the script kick in.
Maybe, unlike variables, as long as there is some value in the game setting it will return true, even if the value is 0! I didn't think of that before, because that sort of thing is not supposed to be happening to my knowledge. I'll tweak the script so that it specifically looks for == 1 or > 0 and see if that helps.
Tricky. I'm thinking in terms of translating what you as a character perceive when detect life is active. You can only sense a life if it is within your field of view. And the way blindness currently works if you are 100% blind, you wouldn't be able to see anything. Currently (I've been working on the formula) detect life is calculated separately from the light level calcs. The base sight adjustment is this:
SInt32 vBaseSightAdj = (((iLightingBump + dAIbehaviorAdj) * fSleepingMult) + (dDetectLifeAdj * fSleepingMultDetectLife)) * fDistanceFactor;
By separating out light from detect life, you can still see someone that is invisible.
One option is to move the detect life bonus / calculations into the miscellaneous category. However, it would almost be like recreating the entire sight formula all over again because so many elements are the same. I'm not opposed to doing it that way, but the end result would still be the exact same bonus. Although, as I think about it, it *might* actually be more efficient to do it that way, programming wise, because if there is no detect life in play, that entire portion of the calculation would be ignored, boosting performance. As it is, the sight calculation is forced to go through the various checks for it.
I agree that sleeping significantly reduces chances of detecting. The default visual sleeping mult is .1, mainly because you aren't going to notice much of anything with your eyes close other than major shifts of light. But if detect life can get through the eyelids, it deserves a different multiplier. Your senses are reduced because your are asleep, but the eyelids won't be as much of a negating factor. It's no different than seeing through walls. I've randomly chosen .3 as the default DL Sleep multiplier.
Speaking from my own experiences, I've woken up from a dead sleep due to noises and changes in light, so I think some sort of sleep factor is justifiable. The effect will just be significantly reduced.