Actor Value

From Creation Kit
Jump to: navigation, search

Overview

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:

  • Attributes
    • Health
    • Magicka
    • Stamina
  • Skills
    • OneHanded
    • TwoHanded
    • Marksman (Archery)
    • Block
    • Smithing
    • HeavyArmor
    • LightArmor
    • Pickpocket
    • Lockpicking
    • Sneak
    • Alchemy
    • Speechcraft (Speech)
    • Alteration
    • Conjuration
    • Destruction
    • Illusion
    • Restoration
    • Enchanting
    • <skillname>Mod
      • SkillMod values are changed by perks and fortify skill enchantments. The automatic perk PerkSkillBoosts translates those into actual game effects.
    • <skillname>PowerMod
      • SkillPowerMod values are changed by fortify skill potions. The automatic perk AlchemySkillBoosts translates those into actual game effects. The effect is usually the same as increasing the skill level of the associated skill, except for the magic schools: Alteration = duration, Conjuration = duration, Destruction = magnitude, Illusion = magnitude, Restoration = magnitude.
  • AI Data
    • Aggression
    • Confidence
    • Energy
    • Morality
    • Mood
    • Assistance
    • WaitingForPlayer
  • Other Statistics
    • HealRate
    • MagickaRate
    • StaminaRate
    • attackDamageMult (try 5 for good ex.)
    • SpeedMult
    • ShoutRecoveryMult (Handles the shout cooldowns)
    • WeaponSpeedMult (values of 1 to 5 work well, 0 to reset)
    • InventoryWeight
    • CarryWeight
    • CritChance
    • MeleeDamage
    • UnarmedDamage
    • Mass
    • VoicePoints
    • VoiceRate
    • DamageResist
    • DiseaseResist
    • PoisonResist
    • FireResist
    • ElectricResist
    • FrostResist
    • MagicResist
    • Paralysis
    • Invisibility
    • NightEye
    • DetectLifeRange
    • WaterBreathing
    • WaterWalking
    • JumpingBonus
    • WardPower
    • WardDeflection
    • EquippedItemCharge
    • EquippedStaffCharge
    • ArmorPerks
    • ShieldPerks
    • BowSpeedBonus
    • DragonSouls
  • User-Defined Actor Values
    • Variable01-Variable10
  • Obsolete/Unused
    • CombatHealthRegenMultMod
    • CombatHealthRegenMultPowerMod
    • PerceptionCondition
    • EnduranceCondition
    • LeftAttackCondition
    • RightAttackCondition
    • LeftMobilityCondition
    • RightMobilityCondition
    • BrainCondition
    • IgnoreCrippledLimbs
    • Fame
    • Infamy
    • FavorActive
    • FavorPointsBonus
    • FavorsPerDay
    • FavorsPerDayTimer
    • BypassVendorStolenCheck
    • BypassVendorKeywordCheck
    • LastBribedIntimidated
    • LastFlattered

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.

Achtung.png Since other scripts and packages may depend on the values in these variables, it is important to make sure that you don't change a variable that may already be in use by that actor. Consult the table below for the most common uses for each variable.


Variable Reserved Use
Variable01
  • Used by cart drivers and horses to track state.
  • Used by Ambush Packages to record whether the ambush has been triggered.
  • Used by dragons under the effect of the Bend Will shout to determine time since taming.
Variable02
  • Used by the Ebony Blade so once an actor has witnessed its power, it is immune to it.
Variable03
  • Used to track if a guard recently asked about crimegold.
  • Used to track if an NPC notices player wearing an Amulet of Mara.
Variable04
  • Used for a triggered package transition on defaultMasterPackage.
Variable05
  • Used by NPCs stuck in web.
Variable06
  • Used as a combat state flag on a number of packages.
    • Used by HoldPosition*UntilReleased packages as a way to 'release' enemies from their post once the player passes it.
    • Used by the Hag's End Hagraven to track her boss battle state.
    • Used by the Frostmere Crypt Wispmother to track her battle state.
Variable07
  • (Vampires) Track if the NPC has been bitten by the player.
  • (Wisp) Used to track when child wisps are dead, triggering berserk script.
  • Used by members of the Frostmoon Pack to determine when to stand still during werewolf transformation.
Variable08
  • (Werewolves) Used to tell if the player (as a werewolf) has fed on a body already, to prevent further feeding.
Variable09
  • Used by innkeepers to conditionalize room rental dialogue.
Variable10
  • Used to decide if an actor is going to use the "Weapon Drawn" version of the DefaultMasterPackage.

Notes

  • Changes to the below actor values, if modified with SetActorValue - Actor for instance, will not persist in consecutive saves.
    • Aggression
    • Assistance
    • BowSpeedBonus
    • BrainCondition
    • CarryWeight
    • Confidence
    • CritChance
    • DamageResist
    • EnduranceCondition
    • EquippedItemCharge
    • EquippedStaffCharge
    • HealRate
    • InventoryWeight
    • LeftAttackCondition
    • LeftMobilityCondition
    • MagickaRate
    • Mass
    • MeleeDamage
    • Mood
    • Morality
    • NormalWeaponsResist
    • PerceptionCondition
    • RightAttackCondition
    • RightMobilityCondition
    • SpeedMult
    • StaminaRate
    • UnarmedDamage
    • VoiceRate
  • Changes made to the player's SpeedMult actor value will not take effect instantly, whether these changes are scripted or the result of a Spell. Speed changes are applied only when the player's inventory weight or carry capacity change.
    • If you are changing the player's speed with a Value Modifier magic effect, you can force the changes to apply and to wear off properly using an ActiveMagicEffect script attached to the magic effect. OnEffectStart, you'll want to modify the carry capacity actor value for the player (akTarget): increase it by 0.1, and then decrease it by 0.1 immediately after. Do the same thing OnEffectFinish.

See Also