Category:Actor Values

Revision as of 18:19, 22 July 2010 by imported>JRoush (→‎Actor Value Mechanics)

Actor Value Mechanics

There are six factors that contribute to an Actor Value:

Factor
Description
Base
The AV value from the Actor's base form - all instances of the actor share this value (e.g. all 'Imps' share the same Base Health). This factor is set by the designer in the CS. It is modified in-game by the SetAV console+script commands, skill & attribute level increases, and certain Ability effects (see notes).
Calculated Base
The contribution to an AV from other AVs and game settings. For example, the Calculated Base for the player's Health is fPCBaseHealthMult * Endurance. This factor is generally used only for the player character. NPC and Creature health, to use the same example, do not depend on their endurance.
Calculated Multiplier
A multiplier to the AV from other AVs and game settings. This factor is almost always 1.0; the exception is the MagickaMultiplier for the player character.
Max Modifier
For Actors with middle process or higher. This factor is modified by 'recoverable' effects such as Fortify, Drain, Feather.
Offset Modifier
For all Actors. This factor is doesn't seem to be used by the combat or magic systems. It is modified only by the ModAV and ForceAV script commands (not the console versions).
Damage Modifier
For Actors with low process or higher. This factor is modified by the ModAV and ForceAV console commands, by direct damage from combat, falling, lava, etc., and by 'nonrecoverable' effects like Damage & Restore. It is intended only for negative values; any change that would increase it above zero sets it to zero instead.

There are three different 'versions' of an Actor Value that play a role in Oblivion:

Calculated Base Value  =  (Base + Calculated Base) * (Calculated Multiplier)
    Maximum Value      =   Calculated Base Value + Max Modifier
    Current Value      =   Maximum Value + Offset Modifier + Damage Modifier
Value
Used For
Calculated Base Value
Returned by the GetBaseAV console+script commands. This value is used to check mastery level in a skill, and (for Alchemy) to compute player-created potion strength.
Maximum Value
The upper limit shown in the menu and HUD for the player's Health, Magicka, and Fatigue.
Current Value
Returned by the GetAV console+script commands. This is the value used for the vast majority of AV checks. It is the value shown in the menu and HUD for the player's stats.

Notes

  • These formulas do not apply to Fame,Infamy,Bounty,or Encumbrance. These AVs are calculated differently, and stored differently as well.
  • When player stats are displayed in the menu, they are shown as green if the Current value is greater than the Calculated Base value, red if the Current value is less than the CBV, and blue if the two are equal. The exception is the players Health, Magicka, and Fatigue, where the comparison is between the Maximum value and the CBV.
  • Since the Offset modifier is not affected by ordinary damage or magic, changes to it cannot be undone by restoration spells or chapel healing, etc.
  • The Damage modifier is always negative or zero, but the Offset modifier can be positive, so it can be used to make the Current value greater than the Maximum value. This isn't seen in game simply because nothing ever uses the Offset modifier.
  • For (1) 'recoverable' effects from (2) Ability-type spells applied on the (3) player (and only the player), the Base factor is modified instead of the Max factor. This is why benefits from birthsign and certain quest rewards (like the Skeleton Key) can actually alter the players skill mastery level.

Encumbrance

Encumbrance is calculated and displayed differently from other actor values.

  • The Base factor is ignored entirely. It is not used in calculation, and cannot be altered by the SetAV command or any magical means. It is, however, still included in the return value of the GetBaseAV command, making this command effectively useless.
  • The Calculated Base is the total encumbrance bonus from strength. Unlike most calculated factors, this applies to all actors, not just the player.
  • The Maximum Value and Current Value are calculated differently:
Modifier Sum = (Max Modifier + Offset Modifier + Damage Modifier)

if (Modifier Sum < 0) :

Maximum Value = Calculated Base - Modifier Sum
Current Value = Carried Weight

if (Modifier Sum > 0) :

Maximum Value = Calculated Base
Current Value = Carried Weight + Modifier Sum

For this reason, the Current encumbrance of an actor will never be less than their total carried weight, and the Maximum encumbrance will never be less than the value calculated from their strength.

  • The GetAV command does not return the Current Value, but rather the sum of carried weight and all modifiers, even if the sum of the modifiers is negative:
 GetAV Return Value = Carried Weight + Modifier Sum

This means that GetAV will return the wrong value if the actor is currently subject to enough effects that reduce encumbrance (e.g. Feather).

List of Actor Values

The following stats can be accessed using the Actor Value commands. The code versions are used with the 'C' versions of various OBSE Actor Functions.

Actor Value Code Actor Value Code
Strength 0 Intelligence 1
Willpower 2 Agility 3
Speed 4 Endurance 5
Personality 6 Luck 7
Health 8 Magicka 9
Fatigue 10 Encumbrance 11
Armorer 12 Athletics 13
Blade 14 Block 15
Blunt 16 HandToHand 17
HeavyArmor 18 Alchemy 19
Alteration 20 Conjuration 21
Destruction 22 Illusion 23
Mysticism 24 Restoration 25
Acrobatics 26 LightArmor 27
Marksman 28 Mercantile 29
Security 30 Sneak 31
Speechcraft 32 Aggression 33
Confidence 34 Energy 35
Responsibility 36 Bounty 37
Fame* 38 Infamy* 39
MagickaMultiplier 40 NightEyeBonus 41
AttackBonus 42 DefendBonus 43
CastingPenalty 44 Blindness 45
Chameleon 46 Invisibility 47
Paralysis 48 Silence 49
Confusion 50 DetectItemRange 51
SpellAbsorbChance 52 SpellReflectChance 53
SwimSpeedMultiplier 54 WaterBreathing 55
WaterWalking 56 StuntedMagicka 57
DetectLifeRange 58 ReflectDamage 59
Telekinesis 60 ResistFire 61
ResistFrost 62 ResistDisease 63
ResistMagic 64 ResistNormalWeapons 65
ResistParalysis 66 ResistPoison 67
ResistShock 68 Vampirism 69
Darkness 70 ResistWaterDamage 71

Fame and Infamy

* - Fame and Infamy cannot be used as parameters for GetActorValue, SetActorValue, or ModActorValue. Use GetPCFame (Infamy), SetPCFame (Infamy), and ModPCFame (Infamy) instead. OBSE Actor Functions can accept it as a parameter, however.