Actor Values are properties that exist on Actors. They include things like attributes (Health, Magicka), skills (One-Handed, Lockpicking), derived statistics (Carry Weight, Fire Resistance), and user-defined variables (Variable01). You can access and modify these values in a variety of ways by using the 'ActorValue' functions in Papyrus (GetActorValue, SetActorValue, Damage Actor Value, and so forth). They are also modified by the game itself-- Health is damaged, fortified, and restored in combat. Magicka is reduced when casting spells, and so on.
GetActorValue will return the current value of the Actor Value. This is defined as the sum of four parts:
- The Base Actor Value
- The Permanent Modifier
- The Temporary Modifier
- The Damage Modifier
The Base Actor Value can come from a variety of places. Sometimes, the value is set on the Actor Form. It can also come from the character's race, or be derived from a formula. Most actor values have an "implicit" base value, which is usually 0 but in some cases can be 1 or 100. Some Actor Values are "Enumerations", and can only have one of a set of specific values.
The Permanent Modifier is adjusted whenever you call ModActorValue in script. It is also adjusted when Abilities or Enchantments change the value. If you have a circlet that increases your Magicka by 10 points, those 10 points will be added to the Permanent Modifier.
The Temporary Modifier is used for temporary Actor Value buffs or drains. If you have a 30 second Fortify Health potion, the 30 points will go into Health's Temporary Modifier.
The Damage Modifier is used for damage only. So if you cast a spell that costs 10 points, the 10 points will go into the Damage modifier. Values in the Damage modifier will be negative. If you call DamageActorValue, the amount you specify will go into the Damage Modifier.
List of Actor Values
The current list of Actor Values is:
- Marksman (Archery)
- Speechcraft (Speech)
- AI Data
- Other Statistics
- attackDamageMult (try 5 for good ex.)
- ShoutRecoveryMult (Handles the shout cooldowns)
- WeaponSpeedMult (values of 1 to 5 work well, 0 to reset)
- User-Defined Actor Values
User Defined Actor Values
There are ten special User-Defined Actor Values ('Variable01'-'Variable10'). These have no inherent effect, but are used by scripts, packages, and conditions to maintain state information.
- Changes to the below actor values, if modified with SetActorValue - Actor for instance, will not persist in consecutive saves.