CommonLibSSE (powerof3)
TESLevCharacter.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESLeveledList.h"
7 
8 namespace RE
9 {
11  public TESBoundAnimObject, // 00
12  public TESLeveledList, // 30
13  public TESModelTextureSwap // 58
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_TESLevCharacter;
17  inline static constexpr auto FORMTYPE = FormType::LeveledNPC;
18 
19  struct ChangeFlags
20  {
21  enum ChangeFlag : std::uint32_t
22  {
23  kAddedObject = (std::uint32_t)1 << 31
24  };
25  };
26 
27  struct RecordFlags
28  {
29  enum RecordFlag : std::uint32_t
30  {
31  kDeleted = 1 << 5,
32  kIgnored = 1 << 12
33  };
34  };
35 
36  ~TESLevCharacter() override; // 00
37 
38  // override (TESBoundAnimObject)
39  bool Load(TESFile* a_mod) override; // 06
40  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
41  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
42  void Revert(BGSLoadFormBuffer* a_buf) override; // 12
43  void InitItemImpl() override; // 13
44  void UnClone3D(TESObjectREFR* a_ref) override; // 4A - { return; }
45  NiAVObject* Clone3D(TESObjectREFR* a_ref) override; // 4A - { return 0; }
46 
47  // override (TESLeveledList)
48  std::int32_t GetLevDifferenceMax() override; // 06 - { return iLevCharLevelDifferenceMax; }
49  [[nodiscard]] bool GetCanContainFormsOfType(FormType a_type) const override; // 07 - { return a_type <= FormType::LeveledCharacter; }
50  };
51  static_assert(sizeof(TESLevCharacter) == 0x90);
52 }
Definition: NiAVObject.h:45
Definition: TESBoundAnimObject.h:8
Definition: TESFile.h:14
Definition: TESLevCharacter.h:14
void InitItemImpl() override
static constexpr auto RTTI
Definition: TESLevCharacter.h:16
std::int32_t GetLevDifferenceMax() override
NiAVObject * Clone3D(TESObjectREFR *a_ref) override
bool GetCanContainFormsOfType(FormType a_type) const override
bool Load(TESFile *a_mod) override
~TESLevCharacter() override
void SaveGame(BGSSaveFormBuffer *a_buf) override
void Revert(BGSLoadFormBuffer *a_buf) override
void LoadGame(BGSLoadFormBuffer *a_buf) override
static constexpr auto FORMTYPE
Definition: TESLevCharacter.h:17
void UnClone3D(TESObjectREFR *a_ref) override
Definition: TESLeveledList.h:27
Definition: TESModelTextureSwap.h:10
Definition: TESObjectREFR.h:103
Definition: AbsorbEffect.h:6
FormType
Definition: FormTypes.h:139
constexpr REL::ID RTTI_TESLevCharacter
Definition: Offsets_RTTI.h:6010
Definition: TESLevCharacter.h:20
ChangeFlag
Definition: TESLevCharacter.h:22
@ kAddedObject
Definition: TESLevCharacter.h:23
Definition: TESLevCharacter.h:28
RecordFlag
Definition: TESLevCharacter.h:30
@ kDeleted
Definition: TESLevCharacter.h:31
@ kIgnored
Definition: TESLevCharacter.h:32