Category:Detection
Detection is Oblivion's stealth mechanic. The concept isn't complicated: every actor has a degree of awareness of every other nearby actor, called a detection level. If this detection level is above a certain threshold then the searching actor (the "detector") is fully aware of the hiding actor (the "target"). The detector can then attack, offer a greeting, report the target's crimes, etc. If the detection level falls below the threshold again, the detector "loses" the target and can no longer interact with it.
Quite a few variables go into calculating detection levels. They fall into three basic categories: Sight, Sound, and Sneak Skill. Sight basically describe how well the detector can see the target, and only matter if the detector actually has a direct line-of-sight. Sound measures how much noise the target is making, from movement and from being in combat. Skill measures the relative sneak skill of the detector & target. For all three, the distance from the detector to target plays a very important role.
The complete formula for Detection Level is given below. Because the formula is so complicated, it is broken into smaller pieces and organized in a table. Conditional terms are enclosed in square brackets, e.g. "[ + 400, if target is yellow]" means "add 400 if the target is yellow, otherwise ignore this term".
Detection Level Formula
Factor | Value |
---|---|
Detection Level |
If target is farther from the detector than MaxDetectionRange, and has not attacked the detector: 0 If target is invisible or has 100% Chameleon: -100 Otherwise: fSneakBaseValue [ + fSneakTargetAttackBonus, if target attacked detector] [ + SoundBonus, if target is not swimming] [ + fSneakSleepBonus, if detector is sleeping] [ + SightBonus, if detector is awake and has line-of-sight to target] + SkillBonus |
Sound Bonus |
fSneakSoundsMult * DistanceFactor * ( [ MovementFactor, if target is moving] [ + fSneakTargetInCombatBonus, if target is in combat] ) [ * fSneakSoundLosMult, if detector has no line of sight to target] |
Movement Factor |
( fSneakBootWeightBase [ + fSneakBootWeightMult * (target boot weight), if tgt Sneak mastery < Journeyman] ) [ * fSneakRunningMult, if target is running & target Sneak mastery < Expert] |
Sight Bonus |
fSneakLightMult * DistanceFactor * LightFactor * ChameleonFactor * BlindnessFactor [ * fSneakSwimmingLightMult, if target is swimming] |
Light Factor |
fDetectionSneakLightMod + (light level on target) [ * fDetectionNightEyeBonus, if detector has Night Eye] Light Factor is forced into the range [0 - 1] |
Chameleon Factor |
1 - (Chameleon level of target)/100 Chameleon Factor is forced into the range [0 - 1] |
Blindness Factor |
1 - (Blindness level of target)/100 Blindness Factor is forced into the range [0 - 1] |
Skill Bonus |
fSneakSkillMult * ( (detector Sneak skill) * DistanceFactor [ - target Sneak skill, if target is sneaking] ) |
Distance Factor |
1 - (distance between detector and target) / MaxDetectionRange |
Max Detection Range |
fSneakMaxDistance [ * fSneakExteriorDistanceMult, if in exterior cell] |
Detection Thresholds
If the Detection Level is greater than a certain threshold, the detector can becomes aware of the target. The thresholds are:
fSneakUnseenMin | all actors that are unaware of target
all non-hostile actors |
fSneakLostMin | hostile actors that are searching for target |
iAICombatMinDetection | hostile actors that are in combat with target |
A final note: The target-is-in-combat bonus is fairly significant. Combined with the much lower combat threshold, this can make it very difficult for an actor to return to hiding once a hostile actor has seen them.
See Also
There are 20 articles in this category.
This category currently contains no pages or media.