Jump to content

How ActorValue (AV) Functions Work


larryrathbun

Recommended Posts

So, I was having trouble with actor value functions and no one was able to help. I had hoped someone could point me to something like this. I guess it doesn't exist, so I went and made it.
There are 9 different Actor Value functions. Four Get the values, 5 change the values. In these functions, you can abbreviate "Actor Value" as "AV". I'm going to do this throughout. I am also going to eliminate the reference "Player." in the explanations, "Player.GetActorValue Barter" is the same as "Player.GetAV Barter".
There is a TL:DR at the bottom.
Four "Getting" functions:


GetAVInfo - Returns a nice little block of useful info (this is a CONSOLE only function - you cannot use it in a script). Here's what it returns:

Current Value: xxx.00 Computed Base: xxx.00
Base Value Components
Reference Base Value: xx.00
Derived Value: xx.00
SetAV Override: xx.00
Modifiers: Temp: xx.00 Perm: xx.00 Damage: xx.00
Level-up Value: xxx.00

Breaking it down:
Current Value = Computed Base + Temp + Perm - Damage
Computed Base = Derived Value + SetAV Override
Reference Base Value = (Anyone?)
Derived Value = Reference Base Value + ((Attribute-3)*2)
For example, Barter relies on Charisma. Charisma 5 increase derived value for Barter by 4
(5-3)*2 = 4
SetAV Override = The important one! This is a modifier that increases as you play and get level-ups and such.
Modifiers: Temp: Perm: Damage:
Temp = Modifiers from Ingestibles and Equipment go here.
Perm = Permanent modifiers from perks (confirm?) and using "ModAV"
Damage = Modifiers from "DamageAV" and "RestoreAV"
Level-up value = Computed Base + Perm. This is your effective skill for level up.

Real Example:

I am going to run through all the functions using Barter as my example.

"player.getAVInfo Barter" returns

Barter
Current Value: 100.00 Computed Base: 95.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 68.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 100.00


GetAV - Returns the "Current Value"
"player.getAV Barter" returns 100


GetBaseAV - Returns the "Computed Base"
"player.getBaseAV Barter" returns 95


GetPermanentAV - Returns the "Level-up Value"
"player.getBaseAV Barter" returns 100

Now for the functions that change these values. I am going to run through each of them, using Barter as an example. At the end I will provide a TL:DR one line summary for each. In the examples, I underlined the field to watch as the example progresses.
SetActorValue SetAV

Starting from this point:

Barter
Current Value: 100.00 Computed Base: 95.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 68.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 100.00

First I setAV Barter 50. GetAVInfo Barter returns:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 82.00

GetAV returns 82 (Current Value)
GetBaseAV returns 77. (Computed Base or Derived Value + SetAV Override.)
GetPermanentAV returns 82 (Level-up Value)


Then I setAV Barter -40. GetAVInfo Barter returns:

Barter
Current Value: -8.00 Computed Base: -13.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: -40.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 0.00

What do we know?
SetAV changes the AV Override not the value.
You can make this negative if you want.


Then put it back to 50 using setAV Barter 50. GetAVInfo Barter returns:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 82.00

ModActorValue ModAV

Starting from this point:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 82.00

First I ModAV Barter 10. GetAVInfo Barter returns:

Barter
Current Value: 92.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 15.00 Damage: 0.00
Level-up Value: 92.00

Then I ModAV Barter -10. GetAVInfo Barter returns:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 82.00

What do we know?
ModAV applies a permanent modifier
It can be positive or negative

DamageActorValue DamageAV

Starting from this point:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: 0.00
Level-up Value: 82.00

First I DamageAV Barter 10. GetAVInfo Barter returns:

Barter
Current Value: 72.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: -10.00
Level-up Value: 82.00

AND then I DamageAV Barter -10. GetAVInfo Barter returns:

Barter
Current Value: 62.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: -20.00
Level-up Value: 82.00


What do we know:
DamageAV applies a negative damage modifier. (Damage)
It's the absolute value of the passed value.

RestoreActorValue RestoreAV

Starting from this point:

Barter
Current Value: 62.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: -20.00
Level-up Value: 82.00

First I RestoreAV Barter 10. GetAVInfo Barter returns:

Barter
Current Value: 72.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 5.00 Damage: -10.00
Level-up Value: 82.00

Then I RestoreAV Barter -10. GetAVInfo Barter returns:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 15.00 Damage: 0.00
Level-up Value: 82.00

Then I RestoreAV Barter 10. GetAVInfo Barter returns:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 15.00 Damage: 0.00
Level-up Value: 82.00

What do we know?
RestoreAV applies a positive damage modifier. (Damage)
It's the absolute value of the passed value.
It can't take the Damage Modifier above 0.

ForceActorValue ForceAV

This is the dangerous one. Fear this one. Not as much as we did because know we know how it works.

Starting from this point:

Barter
Current Value: 82.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: 15.00 Damage: 0.00
Level-up Value: 82.00


First, I ForceAV Barter 10. GetAVInfo Barter returns:

Barter
Current Value: 10.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: -67.00 Damage: 0.00
Level-up Value: 10.00

Then ForceAV Barter 20. GetAVInfo Barter returns

Barter
Current Value: 20.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: -57.00 Damage: 0.00
Level-up Value: 20.00

And THEN ModAV Barter 10. GetAVInfo Barter returns

Barter
Current Value: 30.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: -47.00 Damage: 0.00
Level-up Value: 30.00

Then ForceAV Barter -20. GetAVInfo Barter returns:

Barter
Current Value: -20.00 Computed Base: 77.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 50.00
Modifiers: Temp: 0.00 Perm: -97.00 Damage: 0.00
Level-up Value: 0.00

Then SetAV Barter 51. GetAVInfo Barter returns:

Barter
Current Value: -19.00 Computed Base: 78.00
Base Value Components
Reference Base Value: 13.00
Derived Value: 27.00
SetAV Override: 51.00
Modifiers: Temp: 0.00 Perm: -97.00 Damage: 0.00
Level-up Value: 0.00


What do we know?
ForceAV applies a Permanent modifier to make the Current Value Exactly what you pass to ForceAV
You CAN modify with other functions afterward.

TL:DR
GetAVInfo (console only)
Returns a block of info about the value.
GetAV
Returns the "Current Value"
GetBaseAV
Returns the "Computed Base"
GetPermanentAV
Returns the "Level-up Value"
SetAV:
Changes the AV Override not the value.
You can make this negative if you want.
ModAV
ModAV applies a permanent modifier (Perm)
It can be positive or negative
DamageAV
DamageAV applies a negative damage modifier. (Damage)
It's the absolute value of the passed value.
RestoreAV
RestoreAV applies a positive damage modifier. (Damage)
It's the absolute value of the passed value.
It can't take the Damage Modifier above 0.
ForceAV
ForceAV applies a Permanent modifier to make the Current Value Exactly what you pass to ForceAV
You CAN modify with other functions afterward.
Please share this if it helped you!
Edited by larryrathbun
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...