CommonLibSSE (powerof3)
ActorValueInfo.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESDescription.h"
6 #include "RE/T/TESForm.h"
7 #include "RE/T/TESFullName.h"
8 #include "RE/T/TESIcon.h"
9 
10 namespace RE
11 {
12  class BGSSkillPerkTreeNode;
13 
15  public TESForm, // 000
16  public TESFullName, // 020
17  public TESDescription, // 030
18  public TESIcon // 040
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_ActorValueInfo;
22  inline static constexpr auto FORMTYPE = FormType::ActorValueInfo;
23 
24  struct RecordFlags
25  {
26  enum RecordFlag : std::uint32_t
27  {
28  kDeleted = 1 << 5,
29  kIgnored = 1 << 12
30  };
31  };
32 
33  struct Skill // AVSK
34  {
35  float useMult; // 00
36  float offsetMult; // 04
37  float improveMult; // 08
38  float improveOffset; // 0C
39  };
40  static_assert(sizeof(Skill) == 0x10);
41 
42  ~ActorValueInfo() override; // 00
43 
44  // override (TESForm)
45  void ClearData() override; // 05
46  bool Load(TESFile* a_mod) override; // 06
47  void InitItemImpl() override; // 13
48 
49  // override (TESIcon)
50  [[nodiscard]] const char* GetDefaultPath() const override; // 06 - { return "Textures\\"; }
51 
52  // members
53  const char* enumName; // 050
54  BSFixedString abbreviation; // 058 - ANAM
55  std::uint32_t unk060; // 060
56  std::uint32_t unk064; // 064
57  std::uint64_t unk068; // 068
58  std::uint32_t unk070; // 070
59  std::uint32_t unk074; // 074
60  std::uint32_t unk078; // 078
61  std::uint32_t unk07C; // 07C
62  std::uint32_t unk080; // 080
63  std::uint32_t unk084; // 084
64  std::uint32_t unk088; // 088
65  std::uint32_t unk08C; // 08C
66  std::uint32_t unk090; // 090
67  std::uint32_t unk094; // 094
68  std::uint32_t unk098; // 098
69  std::uint32_t unk09C; // 09C
70  std::uint32_t unk0A0; // 0A0
71  std::uint32_t unk0A4; // 0A4
72  std::uint32_t unk0A8; // 0A8
73  std::uint32_t unk0AC; // 0AC
74  std::uint64_t unk0B0; // 0B0
75  std::uint64_t unk0B8; // 0B8
76  std::uint64_t unk0C0; // 0C0
77  std::uint64_t unk0C8; // 0C8
78  std::uint64_t unk0D0; // 0D0
79  std::uint64_t unk0D8; // 0D8
80  std::uint64_t unk0E0; // 0E0
81  std::uint64_t unk0E8; // 0E8
82  std::uint64_t unk0F0; // 0F0
83  std::uint64_t unk0F8; // 0F8
84  std::uint64_t unk100; // 100
85  Skill* skill; // 108 - AVSK
86  std::uint32_t unk110; // 110
87  std::uint32_t unk114; // 114
89  std::uint32_t unk120; // 120
90  std::uint32_t unk124; // 124 - CNAM
91  };
92  static_assert(sizeof(ActorValueInfo) == 0x128);
93 }
Definition: ActorValueInfo.h:19
std::uint32_t unk080
Definition: ActorValueInfo.h:62
std::uint32_t unk074
Definition: ActorValueInfo.h:59
void ClearData() override
std::uint64_t unk0D0
Definition: ActorValueInfo.h:78
std::uint64_t unk0E8
Definition: ActorValueInfo.h:81
std::uint32_t unk120
Definition: ActorValueInfo.h:89
std::uint64_t unk0E0
Definition: ActorValueInfo.h:80
std::uint32_t unk078
Definition: ActorValueInfo.h:60
std::uint64_t unk068
Definition: ActorValueInfo.h:57
std::uint32_t unk114
Definition: ActorValueInfo.h:87
std::uint64_t unk0C0
Definition: ActorValueInfo.h:76
Skill * skill
Definition: ActorValueInfo.h:85
std::uint32_t unk0A8
Definition: ActorValueInfo.h:72
std::uint32_t unk0AC
Definition: ActorValueInfo.h:73
std::uint64_t unk100
Definition: ActorValueInfo.h:84
BGSSkillPerkTreeNode * perkTree
Definition: ActorValueInfo.h:88
std::uint64_t unk0C8
Definition: ActorValueInfo.h:77
std::uint64_t unk0F0
Definition: ActorValueInfo.h:82
static constexpr auto RTTI
Definition: ActorValueInfo.h:21
std::uint32_t unk09C
Definition: ActorValueInfo.h:69
void InitItemImpl() override
std::uint64_t unk0B8
Definition: ActorValueInfo.h:75
std::uint32_t unk07C
Definition: ActorValueInfo.h:61
std::uint32_t unk070
Definition: ActorValueInfo.h:58
std::uint32_t unk098
Definition: ActorValueInfo.h:68
std::uint32_t unk090
Definition: ActorValueInfo.h:66
std::uint32_t unk0A4
Definition: ActorValueInfo.h:71
std::uint32_t unk060
Definition: ActorValueInfo.h:55
std::uint32_t unk094
Definition: ActorValueInfo.h:67
std::uint32_t unk124
Definition: ActorValueInfo.h:90
std::uint32_t unk110
Definition: ActorValueInfo.h:86
~ActorValueInfo() override
const char * enumName
Definition: ActorValueInfo.h:53
std::uint32_t unk08C
Definition: ActorValueInfo.h:65
std::uint64_t unk0D8
Definition: ActorValueInfo.h:79
std::uint64_t unk0B0
Definition: ActorValueInfo.h:74
std::uint64_t unk0F8
Definition: ActorValueInfo.h:83
bool Load(TESFile *a_mod) override
std::uint32_t unk0A0
Definition: ActorValueInfo.h:70
static constexpr auto FORMTYPE
Definition: ActorValueInfo.h:22
const char * GetDefaultPath() const override
BSFixedString abbreviation
Definition: ActorValueInfo.h:54
std::uint32_t unk088
Definition: ActorValueInfo.h:64
std::uint32_t unk084
Definition: ActorValueInfo.h:63
std::uint32_t unk064
Definition: ActorValueInfo.h:56
Definition: BGSSkillPerkTreeNode.h:11
Definition: TESDescription.h:12
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESFullName.h:9
Definition: TESIcon.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_ActorValueInfo
Definition: Offsets_RTTI.h:57
Definition: ActorValueInfo.h:25
RecordFlag
Definition: ActorValueInfo.h:27
@ kDeleted
Definition: ActorValueInfo.h:28
@ kIgnored
Definition: ActorValueInfo.h:29
Definition: ActorValueInfo.h:34
float useMult
Definition: ActorValueInfo.h:35
float improveOffset
Definition: ActorValueInfo.h:38
float improveMult
Definition: ActorValueInfo.h:37
float offsetMult
Definition: ActorValueInfo.h:36