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