Difference between revisions of "Category:Actor Values"

2,277 bytes removed ,  18:53, 23 September 2011
Moved encumbrance section to encumbrance page
imported>JRoush
(Rewrote encumbrance section - a lot of it was outdated and embarrassingly incorrect)
imported>JRoush
(Moved encumbrance section to encumbrance page)
Line 63: Line 63:
* 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.
* 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.
* 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, [[GetBaseActorValue|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.
[[GetBaseActorValue|GetBaseAV]] Encumbrance = (Weight of items in base inventory)
* For the Player, [[GetBaseActorValue|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:
[[GetBaseActorValue|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).
  [[GetActorValue|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, [[SetActorValue|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 [[SetActorValue|SetAV]] will be discarded when the actor's cell is unloaded.


== List of Actor Values ==
== List of Actor Values ==
Anonymous user