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