Category talk:Actor Value Functions

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search

Actor Value Mechanics[edit source]

Reasonably sure the notes on this page are incorrect or incomplete.

From poking around the disassembly:

BaseCalcAV = (BaseAV + CalcAdd) * CalcMult
MaxAV = BaseCalcAV + MaxAdd
CurAV = MaxAV + CurAdd + ForcedCurAdd

where

  • BaseCalcAV is the true "base" value of the AV, as retrieved by the GetBaseAV function. It is not necessarily the max or "full health" value you see in the attributes menu.
  • BaseAV is the raw AV value of the base form, as loaded from the file. It can be modified directly by the SetAV function, and by some Ability-type spells.
  • CalcAdd is an added factor computed from other AVs & gamesettings. Only nonzero for the player, and only for Health, Magicka, Fatigue, and Encumbrance. For example, this is what adds the factor of (fPCBaseHealthMult*Endurance) to the player's health. This term cannot be directly changed.
  • CalcMult is a multiplier computed from other AVs. Only non-1.0 for the player, and only for Magicka, where it is the value of MagickaMultiplier / 10. This term cannot be directly changed.
  • MaxAV is the max or "full health" value of the attribute. If it is greater than the BaseCalcAV, it shows up green, if it is less it shows up red, and if it is equal it shows up blue.
  • MaxAdd is a factor maintained for each ref object, independent of the base form. It can be modified directly by "recoverable" effects such as Fortify and Drain.
  • CurAV is the current value of the AV. For health/magicka/fatigue it is shown in the menu using the same color as the max value. For skills + attributes, it's color is computed directly.
  • CurAdd is a factor maintained for each ref object, independent of the base form. It can be modified directly using the ModAV & ForceAV functions (from the console, at least), and by "nonrecoverable" effects such as Damage and Restore.
  • ForcedCurAdd is a factor maintained for each ref object, independent of the base form. It can be modified directly; not yet sure what does it.

Note: these formulas do not apply for Fame, Infamy, or Bounty, which are calculated differently.

Note: The Encumbrance, Fatigue, and Paralyzed AV's are treated a little specially because they appear to be cached after calculation.

JRoush 03:41, 15 July 2010 (EDT)

I suspect you know better than just about anyone, honestly, though the one I'd think of first for asking about this would probably be Tejon, if you want to avoid unilaterally changing the page. I don't know enough to either confirm or deny your suspicions, though if you are sure that would be good enough for me.
Dragoon Wraith TALK 20:15, 16 July 2010 (EDT)
THE INVOCATION IS COMPLETE. I HAVE BEEN SUMMONED. ...*cough* My first guess on ForcedCurAdd would be that it's where scripted ModAV changes go. These are known to behave differently than console ModAV, and differently than ModAV2 (in fact script-ModAV's peculiarities and general opacity to the rest of the engine are the reason for ModAV2 in the first place).--tejón 23:47, 16 July 2010 (EDT)
Did some more poking around. "CurAdd" *can* take on any value, but seems intended to be strictly negative, so it's probably more properly called the "Damage Modifier". The ModAV and ForceAV console commands change this just like regular damage. "ForceCurAdd" can take on any value. The ModAV and ForceAV script commands change this, but it doesn't appear to be used by the combat or magic systems. It's looks like it is indeed the "Script Modifier", although it doesn't necessarily have anything to do with scripts.
So the article is correct in spirit, but a little misleading in how the individual modifiers are stored. Any objections to me tweaking it slightly? JRoush 01:40, 17 July 2010 (EDT)