Difference between revisions of "Category:Detection"
Jump to navigation
Jump to search
Simplified formula table, should be much easier to read
imported>Tejón |
imported>JRoush (Simplified formula table, should be much easier to read) |
||
Line 1: | Line 1: | ||
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. | 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 | 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 | 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 === | |||
{| cellpadding=3 cellspacing=0 border=1 style="text-align:center" | |||
|- style="background:#efefef;" | |||
! scope="col" width="100" | Factor | |||
! scope="col" width="100%" | Value | |||
|- | |- | ||
| '''Detection Level''' | |||
| align="left" | | |||
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''' | |||
| align="left" | | |||
[[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 | ||
| align="left" | | |||
( | |||
[[fSneakBootWeightBase]] | |||
[ + [[fSneakBootWeightMult]] * (target boot weight), if tgt Sneak mastery < Journeyman] | |||
) | |||
[ * [[fSneakRunningMult]], if target is running & target Sneak mastery < Expert] | |||
| | |||
|- | |||
| '''Sight Bonus''' | |||
| align="left" | | |||
[[fSneakLightMult]] * DistanceFactor * LightFactor * ChameleonFactor * BlindnessFactor | |||
[ * [[fSneakSwimmingLightMult]], if target is swimming] | |||
[[ | |||
|- | |||
| | |||
| | |||
| | |||
[[ | |||
|- | |- | ||
| | | Light Factor | ||
| | | align="left" | | ||
| [[ | [[fDetectionSneakLightMod]] + (light level on target) | ||
[ * [[fDetectionNightEyeBonus]], if detector has Night Eye] | |||
Light Factor is forced into the range [0 - 1] | |||
|- | |||
| Chameleon Factor | |||
| align="left" | | |||
1 - (Chameleon level of target)/100 | |||
Chameleon Factor is forced into the range [0 - 1] | |||
|- | |||
| Blindness Factor | |||
| align="left" | | |||
1 - (Blindness level of target)/100 | |||
Blindness Factor is forced into the range [0 - 1] | |||
|- | |||
| '''Skill Bonus''' | |||
| align="left" | | |||
[[fSneakSkillMult]] * | |||
( | |||
(detector Sneak skill) * DistanceFactor | |||
[ - target Sneak skill, if target is sneaking] | |||
) | |||
|- | |- | ||
| | | '''Distance Factor''' | ||
| align="left" | | |||
1 - (distance between detector and target) / MaxDetectionRange | |||
|- | |- | ||
| '''Max Detection Range''' | |||
| align="left" | | |||
[[fSneakMaxDistance]] | |||
[ * [[fSneakExteriorDistanceMult]], if in exterior cell] | |||
| | |||
| | |||
|} | |||
=== Detection Thresholds === | |||
If the ''' | If the '''Detection Level''' is greater than a certain threshold, the detector can becomes aware of the target. The thresholds are: | ||
{|border="1" cellpadding="5" cellspacing="0" | {|border="1" cellpadding="5" cellspacing="0" | ||
|- | |- |