CommonLibSSE NG
Loading...
Searching...
No Matches
TESClass.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/F/FormTypes.h"
5#include "RE/T/TESForm.h"
6#include "RE/T/TESFullName.h"
7#include "RE/T/TESTexture.h"
8
9namespace RE
10{
11 struct CLASS_DATA // DATA
12 {
13 public:
14 enum class Skill
15 {
16 kOneHanded = 0,
17 kTwoHanded = 1,
18 kArchery = 2,
19 kBlock = 3,
20 kSmithing = 4,
21 kHeavyArmor = 5,
22 kLightArmor = 6,
23 kPickpocket = 7,
24 kLockpicking = 8,
25 kSneak = 9,
26 kAlchemy = 10,
27 kSpeech = 11,
28 kAlteration = 12,
29 kConjuration = 13,
30 kDestruction = 14,
31 kIllusion = 15,
32 kRestoration = 16,
33 kEnchanting = 17,
34 };
35
37 {
38 public:
39 // members
40 std::uint8_t oneHanded; // 00
41 std::uint8_t twoHanded; // 01
42 std::uint8_t archery; // 02
43 std::uint8_t block; // 03
44 std::uint8_t smithing; // 04
45 std::uint8_t heavyArmor; // 05
46 std::uint8_t lightArmor; // 06
47 std::uint8_t pickpocket; // 07
48 std::uint8_t lockpicking; // 08
49 std::uint8_t sneak; // 09
50 std::uint8_t alchemy; // 0A
51 std::uint8_t speech; // 0B
52 std::uint8_t alteration; // 0C
53 std::uint8_t conjuration; // 0D
54 std::uint8_t destruction; // 0E
55 std::uint8_t illusion; // 0F
56 std::uint8_t restoration; // 10
57 std::uint8_t enchanting; // 11
58 };
59 static_assert(sizeof(SkillWeights) == 0x12);
60
62 {
63 public:
64 // members
65 std::uint8_t health; // 0
66 std::uint8_t magicka; // 1
67 std::uint8_t stamina; // 2
68 };
69 static_assert(sizeof(AttributeWeights) == 0x3);
70
71 // members
72 std::uint32_t unk00; // 00
74 std::uint8_t maximumTrainingLevel; // 05
76 float bleedoutDefault; // 18
77 std::uint32_t voicePoints; // 1C
79 std::uint8_t pad23; // 23
80 };
81 static_assert(sizeof(CLASS_DATA) == 0x24);
82
83 class TESClass :
84 public TESForm, // 00
85 public TESFullName, // 20
86 public TESDescription, // 30
87 public TESTexture // 40
88 {
89 public:
90 inline static constexpr auto RTTI = RTTI_TESClass;
91 inline static constexpr auto VTABLE = VTABLE_TESClass;
92 inline static constexpr auto FORMTYPE = FormType::Class;
93
95 {
96 enum ChangeFlag : std::uint32_t
97 {
98 kTagSkills = 1 << 1
99 };
100 };
101
103 {
104 enum RecordFlag : std::uint32_t
105 {
106 kDeleted = 1 << 5,
107 kIgnored = 1 << 12
108 };
109 };
110
111 ~TESClass() override; // 00
112
113 // override (TESForm)
114 void InitializeData() override; // 04
115 bool Load(TESFile* a_mod) override; // 06
116
117 // members
118 CLASS_DATA data; // 50 - DATA
119 std::uint32_t pad74; // 74
120 };
121 static_assert(sizeof(TESClass) == 0x78);
122}
Definition TESClass.h:88
static constexpr auto VTABLE
Definition TESClass.h:91
bool Load(TESFile *a_mod) override
CLASS_DATA data
Definition TESClass.h:118
static constexpr auto FORMTYPE
Definition TESClass.h:92
static constexpr auto RTTI
Definition TESClass.h:90
void InitializeData() override
~TESClass() override
std::uint32_t pad74
Definition TESClass.h:119
Definition TESDescription.h:12
Definition TESFile.h:15
Definition TESForm.h:35
Definition TESFullName.h:9
Definition TESTexture.h:10
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 4 > VTABLE_TESClass
Definition Offsets_VTABLE.h:917
constexpr REL::VariantID RTTI_TESClass(514006, 393202, 0x1ee5510)
Definition TESClass.h:62
std::uint8_t stamina
Definition TESClass.h:67
std::uint8_t health
Definition TESClass.h:65
std::uint8_t magicka
Definition TESClass.h:66
Definition TESClass.h:37
std::uint8_t sneak
Definition TESClass.h:49
std::uint8_t destruction
Definition TESClass.h:54
std::uint8_t alchemy
Definition TESClass.h:50
std::uint8_t smithing
Definition TESClass.h:44
std::uint8_t block
Definition TESClass.h:43
std::uint8_t restoration
Definition TESClass.h:56
std::uint8_t pickpocket
Definition TESClass.h:47
std::uint8_t archery
Definition TESClass.h:42
std::uint8_t alteration
Definition TESClass.h:52
std::uint8_t enchanting
Definition TESClass.h:57
std::uint8_t speech
Definition TESClass.h:51
std::uint8_t lightArmor
Definition TESClass.h:46
std::uint8_t lockpicking
Definition TESClass.h:48
std::uint8_t illusion
Definition TESClass.h:55
std::uint8_t twoHanded
Definition TESClass.h:41
std::uint8_t conjuration
Definition TESClass.h:53
std::uint8_t oneHanded
Definition TESClass.h:40
std::uint8_t heavyArmor
Definition TESClass.h:45
Definition TESClass.h:12
AttributeWeights attributeWeights
Definition TESClass.h:78
std::uint32_t unk00
Definition TESClass.h:72
stl::enumeration< Skill, std::uint8_t > teaches
Definition TESClass.h:73
Skill
Definition TESClass.h:15
std::uint8_t pad23
Definition TESClass.h:79
std::uint32_t voicePoints
Definition TESClass.h:77
float bleedoutDefault
Definition TESClass.h:76
std::uint8_t maximumTrainingLevel
Definition TESClass.h:74
SkillWeights skillWeights
Definition TESClass.h:75
Definition TESClass.h:95
ChangeFlag
Definition TESClass.h:97
@ kTagSkills
Definition TESClass.h:98
Definition TESClass.h:103
RecordFlag
Definition TESClass.h:105
@ kDeleted
Definition TESClass.h:106
@ kIgnored
Definition TESClass.h:107