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
"
4
#include "
RE/T/TESDescription.h
"
5
#include "
RE/T/TESForm.h
"
6
#include "
RE/T/TESFullName.h
"
7
#include "
RE/T/TESTexture.h
"
8
9
namespace
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
36
struct
SkillWeights
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
61
struct
AttributeWeights
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
73
stl::enumeration<Skill, std::uint8_t>
teaches
;
// 04
74
std::uint8_t
maximumTrainingLevel
;
// 05
75
SkillWeights
skillWeights
;
// 06
76
float
bleedoutDefault
;
// 18
77
std::uint32_t
voicePoints
;
// 1C
78
AttributeWeights
attributeWeights
;
// 20
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
94
struct
ChangeFlags
95
{
96
enum
ChangeFlag
: std::uint32_t
97
{
98
kTagSkills
= 1 << 1
99
};
100
};
101
102
struct
RecordFlags
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
}
FormTypes.h
TESDescription.h
TESForm.h
TESFullName.h
TESTexture.h
RE::TESClass
Definition
TESClass.h:88
RE::TESClass::VTABLE
static constexpr auto VTABLE
Definition
TESClass.h:91
RE::TESClass::Load
bool Load(TESFile *a_mod) override
RE::TESClass::data
CLASS_DATA data
Definition
TESClass.h:118
RE::TESClass::FORMTYPE
static constexpr auto FORMTYPE
Definition
TESClass.h:92
RE::TESClass::RTTI
static constexpr auto RTTI
Definition
TESClass.h:90
RE::TESClass::InitializeData
void InitializeData() override
RE::TESClass::~TESClass
~TESClass() override
RE::TESClass::pad74
std::uint32_t pad74
Definition
TESClass.h:119
RE::TESDescription
Definition
TESDescription.h:12
RE::TESFile
Definition
TESFile.h:15
RE::TESForm
Definition
TESForm.h:35
RE::TESFullName
Definition
TESFullName.h:9
RE::TESTexture
Definition
TESTexture.h:10
SKSE::stl::enumeration
Definition
PCH.h:223
RE
Definition
AbsorbEffect.h:6
RE::VTABLE_TESClass
constexpr std::array< REL::VariantID, 4 > VTABLE_TESClass
Definition
Offsets_VTABLE.h:917
RE::FormType::Class
@ Class
RE::RTTI_TESClass
constexpr REL::VariantID RTTI_TESClass(514006, 393202, 0x1ee5510)
RE::CLASS_DATA::AttributeWeights
Definition
TESClass.h:62
RE::CLASS_DATA::AttributeWeights::stamina
std::uint8_t stamina
Definition
TESClass.h:67
RE::CLASS_DATA::AttributeWeights::health
std::uint8_t health
Definition
TESClass.h:65
RE::CLASS_DATA::AttributeWeights::magicka
std::uint8_t magicka
Definition
TESClass.h:66
RE::CLASS_DATA::SkillWeights
Definition
TESClass.h:37
RE::CLASS_DATA::SkillWeights::sneak
std::uint8_t sneak
Definition
TESClass.h:49
RE::CLASS_DATA::SkillWeights::destruction
std::uint8_t destruction
Definition
TESClass.h:54
RE::CLASS_DATA::SkillWeights::alchemy
std::uint8_t alchemy
Definition
TESClass.h:50
RE::CLASS_DATA::SkillWeights::smithing
std::uint8_t smithing
Definition
TESClass.h:44
RE::CLASS_DATA::SkillWeights::block
std::uint8_t block
Definition
TESClass.h:43
RE::CLASS_DATA::SkillWeights::restoration
std::uint8_t restoration
Definition
TESClass.h:56
RE::CLASS_DATA::SkillWeights::pickpocket
std::uint8_t pickpocket
Definition
TESClass.h:47
RE::CLASS_DATA::SkillWeights::archery
std::uint8_t archery
Definition
TESClass.h:42
RE::CLASS_DATA::SkillWeights::alteration
std::uint8_t alteration
Definition
TESClass.h:52
RE::CLASS_DATA::SkillWeights::enchanting
std::uint8_t enchanting
Definition
TESClass.h:57
RE::CLASS_DATA::SkillWeights::speech
std::uint8_t speech
Definition
TESClass.h:51
RE::CLASS_DATA::SkillWeights::lightArmor
std::uint8_t lightArmor
Definition
TESClass.h:46
RE::CLASS_DATA::SkillWeights::lockpicking
std::uint8_t lockpicking
Definition
TESClass.h:48
RE::CLASS_DATA::SkillWeights::illusion
std::uint8_t illusion
Definition
TESClass.h:55
RE::CLASS_DATA::SkillWeights::twoHanded
std::uint8_t twoHanded
Definition
TESClass.h:41
RE::CLASS_DATA::SkillWeights::conjuration
std::uint8_t conjuration
Definition
TESClass.h:53
RE::CLASS_DATA::SkillWeights::oneHanded
std::uint8_t oneHanded
Definition
TESClass.h:40
RE::CLASS_DATA::SkillWeights::heavyArmor
std::uint8_t heavyArmor
Definition
TESClass.h:45
RE::CLASS_DATA
Definition
TESClass.h:12
RE::CLASS_DATA::attributeWeights
AttributeWeights attributeWeights
Definition
TESClass.h:78
RE::CLASS_DATA::unk00
std::uint32_t unk00
Definition
TESClass.h:72
RE::CLASS_DATA::teaches
stl::enumeration< Skill, std::uint8_t > teaches
Definition
TESClass.h:73
RE::CLASS_DATA::Skill
Skill
Definition
TESClass.h:15
RE::CLASS_DATA::Skill::kAlteration
@ kAlteration
RE::CLASS_DATA::Skill::kOneHanded
@ kOneHanded
RE::CLASS_DATA::Skill::kLightArmor
@ kLightArmor
RE::CLASS_DATA::Skill::kEnchanting
@ kEnchanting
RE::CLASS_DATA::Skill::kArchery
@ kArchery
RE::CLASS_DATA::Skill::kHeavyArmor
@ kHeavyArmor
RE::CLASS_DATA::Skill::kConjuration
@ kConjuration
RE::CLASS_DATA::Skill::kTwoHanded
@ kTwoHanded
RE::CLASS_DATA::Skill::kSmithing
@ kSmithing
RE::CLASS_DATA::Skill::kPickpocket
@ kPickpocket
RE::CLASS_DATA::Skill::kSpeech
@ kSpeech
RE::CLASS_DATA::Skill::kAlchemy
@ kAlchemy
RE::CLASS_DATA::Skill::kSneak
@ kSneak
RE::CLASS_DATA::Skill::kBlock
@ kBlock
RE::CLASS_DATA::Skill::kDestruction
@ kDestruction
RE::CLASS_DATA::Skill::kRestoration
@ kRestoration
RE::CLASS_DATA::Skill::kLockpicking
@ kLockpicking
RE::CLASS_DATA::Skill::kIllusion
@ kIllusion
RE::CLASS_DATA::pad23
std::uint8_t pad23
Definition
TESClass.h:79
RE::CLASS_DATA::voicePoints
std::uint32_t voicePoints
Definition
TESClass.h:77
RE::CLASS_DATA::bleedoutDefault
float bleedoutDefault
Definition
TESClass.h:76
RE::CLASS_DATA::maximumTrainingLevel
std::uint8_t maximumTrainingLevel
Definition
TESClass.h:74
RE::CLASS_DATA::skillWeights
SkillWeights skillWeights
Definition
TESClass.h:75
RE::TESClass::ChangeFlags
Definition
TESClass.h:95
RE::TESClass::ChangeFlags::ChangeFlag
ChangeFlag
Definition
TESClass.h:97
RE::TESClass::ChangeFlags::kTagSkills
@ kTagSkills
Definition
TESClass.h:98
RE::TESClass::RecordFlags
Definition
TESClass.h:103
RE::TESClass::RecordFlags::RecordFlag
RecordFlag
Definition
TESClass.h:105
RE::TESClass::RecordFlags::kDeleted
@ kDeleted
Definition
TESClass.h:106
RE::TESClass::RecordFlags::kIgnored
@ kIgnored
Definition
TESClass.h:107
CommonLibSSE-NG
include
RE
T
TESClass.h
Generated by
1.9.7