Category:Actor Values
Actor Value Mechanics
There are six factors that contribute to an Actor Value:
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, and then adjusted to the actor's level in game. It can be further modified by skill & attribute level increases, the SetAV console+script commands, and certain Ability effects (see notes). | This value is stored a little differently for different actor values. For some (Skills & Attributes in particular) it may only have values between 0 and 255. | |
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. | |
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. | |
For Actors with middle process or higher. This factor is modified by 'recoverable' effects such as Fortify, Drain, Feather. | Because it is stored only for actors with middle process, this modifier will be reset to zero if/when an actor's cell is unloaded.
Furthermore, for the player only, this modifier is recalculated every time the game is reloaded, apparently to guarantee that it's not affected by spells and equipment that are no longer active. | |
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). | Since it's not affected by ordinary damage or magic, changes this modifier cannot be undone by restoration spells or chapel healing, etc. If changed by a script, it is the script author's responsibility to change it back by the same amount later. | |
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. | This modifier is intended only for negative values. Any change that would increase it above zero sets it to zero instead. However, there is a bug that sometimes allows positive values for NPCs and creatures. See the Note below for details. |
There are two different 'versions' of an Actor Value that play a role in Oblivion:
Calculated Base Value = (Base + Calculated Base) * (Calculated Multiplier) Current Value = Calculated Base Value + Max Modifier + Script Modifier + Damage Modifier
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. | |
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. |
The 'Maximum' value shown in the HUD for Health/Magicka/Fatigue is
Maximum Value = Calculated Base Value ( + Max Modifier, if Max Modifier > 0)
This is not the actual maximum value of these stats - they can be raised above this value using the script modifier. This is not seen in-game only because the Script modifier is so rarely used.
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.
- For recoverable effects from abilities on the player (and only the player), the base modifier is changed instead of the max modifier. This is why benefits from birthsigns and certain quest rewards (like the Skeleton Key) can grant skill mastery perks.
- There is a bug in the code for NPCs and creatures that allows the Damage modifier to be made positive if the current value of the modifier is zero. This means that e.g. casting a Restore Health spell on an NPC who is already at full health will actually add to their max health. However, any further change to the Damage modifier, including taking damage or casting the spell a second time will trigger the non-bugged code and force the Damage modifier to be <= zero.
Encumbrance
Encumbrance is calculated and displayed differently from other actor values.
- The maximum encumbrance of an actor is calculated from their current strength:
Maximum Encumbrance = (Current Strength) * fActorStrengthEncumbranceMult
- For NPCs and Creatures, GetBaseAV returns the total weight of items in the inventory of the actor's base form. This value is largely useless, since the inventory of an actor reference almost always differs from the base form.
GetBaseAV Encumbrance = (Weight of items in base inventory)
- For the Player, GetBaseAV will also include the calculated maximum encumbrance. This value is doubly useless; adding maximum encumbrance to default encumbrance makes no sense at all. The player's default inventory has a total weight of 4, so:
GetBaseAV Encumbrance = (Player Strength) * fActorStrengthEncumbranceMult + 4
- For calculating the current encumbrance of an actor, the Base/Calculated Base factor is the total weight of items in the actor's current inventory (including effects from armor perks). The Max, Script, and Damage modifier are added to this as usual (except for display in the inventory menu; see below).
GetAV = (Weight of items in inventory) + Max Modifier + Script Modifier + Damage Modifier
- For the Inventory menu, where negative encumbrances would be confusing, the game generates slightly different values for maximum and current encumbrance. This means that the encumbrance returned by GetAV will not always match what is shown in the menu.
Modifier Sum = (Max Modifier + Script Modifier + Damage Modifier) Displayed Maximum Encumbrance = Calculated Base ( - Modifier Sum, if Modifier Sum < 0) Displayed Current Encumbrance = Carried Weight ( + Modifier Sum, if Modifier Sum > 0)
- Because the Base factor of encumbrance is calculated dynamically, SetAV has no effect on player encumbrance. Due to the way encumbrances are cached, however, it will temporarily affect high-process NPCs. Any changes made with SetAV will be discarded when the actor's cell is unloaded.
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.
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.
Pages in category "Actor Values"
The following 71 pages are in this category, out of 71 total.