CommonLibVR
Loading...
Searching...
No Matches
TESActorBase.h
Go to the documentation of this file.
1#pragma once
2
8#include "RE/B/BGSSkinForm.h"
9#include "RE/F/FormTypes.h"
10#include "RE/T/TESAIForm.h"
13#include "RE/T/TESContainer.h"
14#include "RE/T/TESFullName.h"
15#include "RE/T/TESSpellList.h"
16
17namespace RE
18{
20 public TESBoundAnimObject, // 000
21 public TESActorBaseData, // 030
22 public TESContainer, // 088
23 public TESSpellList, // 0A0
24 public TESAIForm, // 0B0
25 public TESFullName, // 0D8
26 public ActorValueOwner, // 0E8
27 public BGSDestructibleObjectForm, // 0F0
28 public BGSSkinForm, // 100
29 public BGSKeywordForm, // 110
30 public BGSAttackDataForm, // 128
31 public BGSPerkRankArray // 138
32 {
33 public:
34 inline static constexpr auto RTTI = RTTI_TESActorBase;
35 inline static constexpr auto VTABLE = VTABLE_TESActorBase;
36
37 ~TESActorBase() override; // 00
38
39 // override (TESBoundAnimObject)
40 bool AddChange(std::uint32_t a_changeFlags) override; // 0A
41 void RemoveChange(std::uint32_t a_changeFlags) override; // 0B
42 void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
43 void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
44 bool IsAutoCalc() const override; // 3E - { return formType == FormType::NPC && (TESActorBaseData::flags >> 4) & 1; }
45 void SetAutoCalc(bool a_autoCalc) override; // 3F
46
47 // override (ActorValueOwner)
48 float GetActorValue(ActorValue a_akValue) override; // 01
49 float GetPermanentActorValue(ActorValue a_akValue) override; // 02
50 float GetBaseActorValue(ActorValue a_akValue) override; // 03
51 void SetBaseActorValue(ActorValue a_akValue, float a_value) override; // 04
52 void ModActorValue(ActorValue a_akValue, float a_value) override; // 05
53 void RestoreActorValue(ACTOR_VALUE_MODIFIER a_modifier, ActorValue a_akValue, float a_value) override; // 06
54 void SetActorValue(ActorValue a_akValue, float a_value) override; // 07
55 [[nodiscard]] bool GetIsPlayerOwner() const override; // 08
56
57 // add
58 [[nodiscard]] virtual bool GetHasPLSpecTex() const; // 53 - { return false; }
59 virtual TESCombatStyle* GetCombatStyle(); // 54 - { return 0; }
60 virtual void SetCombatStyle(TESCombatStyle* a_combatStyle); // 55 - { return; }
61 virtual TESForm* GetAsForm(); // 56 - { return this; }
62 private:
64 };
65 static_assert(sizeof(TESActorBase) == 0x150);
66}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition ActorValueOwner.h:8
Definition BGSAttackDataForm.h:11
Definition BGSDestructibleObjectForm.h:61
Definition BGSKeywordForm.h:12
Definition BGSLoadFormBuffer.h:11
Definition BGSPerkRankArray.h:28
Definition BGSSaveFormBuffer.h:8
Definition BGSSkinForm.h:10
Definition TESAIForm.h:118
Definition TESActorBaseData.h:81
Definition TESActorBase.h:32
float GetPermanentActorValue(ActorValue a_akValue) override
virtual TESForm * GetAsForm()
bool AddChange(std::uint32_t a_changeFlags) override
void ModActorValue(ActorValue a_akValue, float a_value) override
bool IsAutoCalc() const override
void SetBaseActorValue(ActorValue a_akValue, float a_value) override
void RemoveChange(std::uint32_t a_changeFlags) override
float GetActorValue(ActorValue a_akValue) override
static constexpr auto RTTI
Definition TESActorBase.h:34
void SetAutoCalc(bool a_autoCalc) override
void SetActorValue(ActorValue a_akValue, float a_value) override
float GetBaseActorValue(ActorValue a_akValue) override
static constexpr auto VTABLE
Definition TESActorBase.h:35
virtual void SetCombatStyle(TESCombatStyle *a_combatStyle)
void SaveGame(BGSSaveFormBuffer *a_buf) override
~TESActorBase() override
bool GetIsPlayerOwner() const override
void LoadGame(BGSLoadFormBuffer *a_buf) override
virtual bool GetHasPLSpecTex() const
virtual TESCombatStyle * GetCombatStyle()
void RestoreActorValue(ACTOR_VALUE_MODIFIER a_modifier, ActorValue a_akValue, float a_value) override
Definition TESBoundAnimObject.h:8
Definition TESCombatStyle.h:65
Definition TESContainer.h:33
Definition TESForm.h:40
Definition TESFullName.h:9
Definition TESSpellList.h:13
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_TESActorBase(static_cast< std::uint64_t >(513908))
ActorValue
Definition ActorValues.h:6
constexpr std::array< REL::ID, 12 > VTABLE_TESActorBase
Definition Offsets_VTABLE.h:12799
ACTOR_VALUE_MODIFIER
Definition ActorValues.h:179