PERK
Perk
Count |
Subrecord |
Name |
Type |
Info |
+ |
EDID |
Editor ID |
cstring |
|
|
FULL |
Name |
cstring |
|
+ |
DESC |
Description |
cstring |
|
|
ICON |
Large icon filename |
cstring |
|
|
MICO |
Small icon filename |
cstring |
|
-* |
CTDA |
Condition |
struct |
|
+ |
DATA |
Data |
struct |
|
-* |
|
Effect |
collection |
See below for details. |
DATA
Name |
Type |
Info |
Trait |
uint8 |
Enum - see below for values. |
Min Level |
uint8 |
|
Ranks |
uint8 |
|
Playable |
uint8 |
Enum -see below for values. |
Hidden |
uint8 |
Enum -see below for values. |
Trait / Playable / Hidden Enum Values
Effect Subrecord Collection
Count |
Subrecord |
Name |
Type |
Info |
|
PRKE |
Header |
struct |
|
+ |
DATA |
Effect Data |
struct or formid |
|
-* |
|
Perk Conditions |
collection |
See below for details. |
|
EPFT |
Entry Point Function Type |
uint8 |
Decides the data type of the EPFD record. |
|
EPFD |
Entry Point Function Data |
uint8[] or float32 or formid or null |
|
|
EPF2 |
Button Label |
cstring |
|
|
EPF3 |
Script Flags |
uint16 |
See below for values. |
|
|
Embedded Script |
collection |
|
+ |
PRKF |
End Marker |
null |
Flag |
PRKE
Name |
Type |
Info |
Type |
uint8 |
Enum -see below for values. |
Rank |
uint8 |
|
Priority |
uint8 |
|
Type Enum Values
Value |
Meaning |
0 |
Quest + Stage |
1 |
Ability |
2 |
Entry Point |
DATA (Effect Data)
There are three possible DATA formats, based on the value of the Type field in the preceding PRKE subrecord.
Quest + Stage
Name |
Type |
Info |
Quest |
formid |
FormID of a QUST record. |
Quest Stage |
uint8 |
|
Unused |
byte[3] |
|
Ability
Name |
Type |
Info |
Ability |
formid |
FormID of a SPEL record. |
Entry Point
Name |
Type |
Info |
Entry Point |
uint8 |
Enum - see below for values. |
Function |
uint8 |
|
Perk Condition Tab Count |
uint8 |
|
Entry Point Enum Values
Value |
Meaning |
0 |
Calculate Weapon Damage |
1 |
Calculate My Critical Hit Chance |
2 |
Calculate My Critical Hit Damage |
3 |
Calculate Weapon Attack AP Cost |
4 |
Calculate Mine Explode Chance |
5 |
Adjust Range Penalty |
6 |
Adjust Limb Damage |
7 |
Calculate Weapon Range |
8 |
Calculate To Hit Chance |
9 |
Adjust Experience Points |
10 |
Adjust Gained Skill Points |
11 |
Adjust Book Skill Points |
12 |
Modify Recovered Health |
13 |
Calculate Inventory AP Cost |
14 |
Get Disposition |
15 |
Get Should Attack |
16 |
Get Should Assist |
17 |
Calculate Buy Price |
18 |
Get Bad Karma |
19 |
Get Good Karma |
20 |
Ignore Locked Terminal |
21 |
Add Leveled List On Death |
22 |
Get Max Carry Weight |
23 |
Modify Addiction Chance |
24 |
Modify Addiction Duration |
25 |
Modify Positive Chem Duration |
26 |
Adjust Drinking Radiation |
27 |
Activate |
28 |
Mysterious Stranger |
29 |
Has Paralyzing Palm |
30 |
Hacking Science Bonus |
31 |
Ignore Running During Detection |
32 |
Ignore Broken Lock |
33 |
Has Concentrated Fire |
34 |
Calculate Gun Spread |
35 |
Player Kill AP Reward |
36 |
Modify Enemy Critical Hit Chance |
37 |
Reload Speed |
38 |
Equip Speed |
39 |
Action Point Regen |
40 |
Action Point Cost |
41 |
Miss Fortune |
42 |
Modify Run Speed |
43 |
Modify Attack Speed |
44 |
Modify Radiation Consumed |
45 |
Has Pip Hacker |
46 |
Has Meltdown |
47 |
See Enemy Health |
48 |
Has Jury Rigging |
49 |
Modify Threat Range |
50 |
Modify Thread |
51 |
Has Fast Travel Always |
52 |
Knockdown Chance |
53 |
Modify Weapon Strength Req |
54 |
Modify Aiming Move Speed |
55 |
Modify Light Items |
56 |
Modify Damage Threshold (defender) |
57 |
Modify Chance for Ammo Item |
58 |
Modify Damage Threshold (attacker) |
59 |
Modify Throwing Velocity |
60 |
Chance for Item on Fire |
61 |
Has Unarmed Forward Power Attack |
62 |
Has Unarmed Back Power Attack |
63 |
Has Unarmed Crouched Power Attack |
64 |
Has Unarmed Counter Attack |
65 |
Has Unarmed Left Power Attack |
66 |
Has Unarmed Right Power Attack |
67 |
VATS HelperChance |
68 |
Modify Item Damage |
69 |
Has Improved Detection |
70 |
Has Improved Spotting |
71 |
Has Improved Item Detection |
72 |
Adjust Explosion Radius |
73 |
Reserved |
Perk Condition Subrecord Collection
Count |
Subrecord |
Name |
Type |
Info |
|
PRKC |
Run On |
int8 |
|
+* |
CTDA |
Condition |
struct |
|
EPFD
The subrecord type is decided as described in the table below.
If the EPFT value is 2
and DATA’s Function field (when DATA is an entry point) is 5
, the EPFD type is chosen as if the EPFT value were 5
.
EPFT Value |
EPFD Type |
Info |
0 |
uint8[] |
|
1 |
float32 |
|
2 |
struct |
A struct consisting of two float32 values. |
3 |
formid |
FormID of a LVLI record. |
4 |
null |
|
5 |
struct |
A struct consisting of a uint32 actor value enum followed by a float32 value. |
EPF3 Flag Values
Value |
Meaning |
0x0001 |
Run Immediately |