Category:Detection

From the Oblivion ConstructionSet Wiki
Revision as of 16:07, 20 February 2011 by imported>Saebel (→‎Detection Level Formula)
Jump to navigation Jump to search

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 describes 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 sneak skills of the detector and the target. In all three categories 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 * (tgt boot weight))), if tgt Sneak mastery < Journeyman ]
[ * fSneakRunningMult, if target is running and 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 level on target' measures the ambient light, plus changes from the Darkness effect. Falls in range from 0 to 100.

Chameleon Factor
1 - (Chameleon level of target)/100

Chameleon Factor is forced into the range [0 - 1]

Blindness Factor
1 - (Blindness level of detector)/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:

Threshold
Used By
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

Sneak


Articles in category "Detection"

There are 20 articles in this category.

D F cont. F cont.
  • Detection
  • FSneakLostMin
  • FSneakSoundsMult
  • F
  • FSneakMaxDistance
  • FSneakSwimmingLightMult
  • FSneakNoticedMin
  • FSneakTargetAttackBonus
  • FSneakBaseValue
  • FSneakRunningMult
  • FSneakTargetInCombatBonus
  • FSneakBootWeightBase
  • FSneakSeenMin
  • FSneakUnseenMin
  • FSneakBootWeightMult
  • FSneakSkillMult
  • I
  • FSneakExteriorDistanceMult
  • FSneakSleepBonus
  • FSneakLightMult
  • FSneakSoundLosMult
  • IAICombatMinDetection
  • This category currently contains no pages or media.