CommonLibSSE NG
Loading...
Searching...
No Matches
Character.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/A/Actor.h"
4
5namespace RE
6{
7 class Character : public Actor
8 {
9 public:
10 inline static constexpr auto RTTI = RTTI_Character;
11 inline static constexpr auto VTABLE = VTABLE_Character;
12 inline static constexpr auto FORMTYPE = FormType::ActorCharacter;
13
15 {
16 enum RecordFlag : std::uint32_t
17 {
18 kDeleted = 1 << 5,
19 kStartsDead = 1 << 9,
20 kPersistent = 1 << 10,
22 kIgnored = 1 << 12,
23 kNoAIAcquire = 1 << 25,
24 kDontHavokSettle = 1 << 29
25 };
26 };
27
28 ~Character() override; // 000
29
30 // override (Actor)
31 void SaveGame(BGSSaveFormBuffer* a_buf) override; // 00E - { Actor::SaveBuffer(a_buf); }
32 void LoadGame(BGSLoadFormBuffer* a_buf) override; // 00F - { Actor::LoadBuffer(a_buf); }
33 void InitLoadGame(BGSLoadFormBuffer* a_buf) override; // 010 - { Actor::InitLoadGame(a_arg1); }
34 void FinishLoadGame(BGSLoadFormBuffer* a_buf) override; // 011 - { Actor::FinishLoadGame(a_arg1); }
35 void Revert(BGSLoadFormBuffer* a_buf) override; // 012 - { return; }
36 void Predestroy(void) override; // 03B
37 [[nodiscard]] bool IsChild() const override; // 05E - { return race ? (race->data.flags & Flag::kChild) != Flag::kNone : false; }
38 [[nodiscard]] BSFaceGenNiNode* GetFaceNodeSkinned() override; // 061
39 [[nodiscard]] BSFaceGenAnimationData* GetFaceGenAnimationData() override; // 063
40 void SetBiped(const BSTSmartPointer<BipedAnim>& a_biped) override; // 081
41#ifndef SKYRIM_CROSS_VR
42 void InitiateVampireFeedPackage(Actor* a_arg1, TESObjectREFR* a_arg2) override; // 0C0
43 void Unk_C4(void) override; // 0C4 - { unk272 = a_arg1; }
44 void Unk_C5(void) override; // 0C5 - { return unk272; }
45 void Unk_C6(void) override; // 0C6 - { return 1; }
46 void OnArmorActorValueChanged() override; // 0CA
47 bool InitiateTresPassPackage(TrespassPackage* a_trespassPackage) override; // 0D7
48 void SetSize(float a_size) override; // 0D9
49 float CalcArmorRating() override; // 0E6
50 float GetArmorBaseFactorSum() override; // 0E7
51 float CalcUnarmedDamage() override; // 0E8
52 void PrecacheData(void) override; // 120
53#endif
54
55 // add
56 SKYRIM_REL_VR_VIRTUAL void Unk_128(void); // 128
57 SKYRIM_REL_VR_VIRTUAL void Unk_129(void); // 129 - { return 1; }
58 };
59#ifndef ENABLE_SKYRIM_AE
60 static_assert(sizeof(Character) == 0x2B0);
61#endif
62}
#define SKYRIM_REL_VR_VIRTUAL
Definition Relocation.h:152
Definition Actor.h:131
Definition BGSLoadFormBuffer.h:11
Definition BSFaceGenAnimationData.h:11
Definition BSFaceGenNiNode.h:14
Definition BSTSmartPointer.h:36
Definition Character.h:8
void InitiateVampireFeedPackage(Actor *a_arg1, TESObjectREFR *a_arg2) override
void LoadGame(BGSLoadFormBuffer *a_buf) override
~Character() override
void FinishLoadGame(BGSLoadFormBuffer *a_buf) override
bool InitiateTresPassPackage(TrespassPackage *a_trespassPackage) override
void InitLoadGame(BGSLoadFormBuffer *a_buf) override
void OnArmorActorValueChanged() override
BSFaceGenAnimationData * GetFaceGenAnimationData() override
void Unk_C5(void) override
void SetBiped(const BSTSmartPointer< BipedAnim > &a_biped) override
static constexpr auto RTTI
Definition Character.h:10
void Unk_C6(void) override
void PrecacheData(void) override
float CalcUnarmedDamage() override
SKYRIM_REL_VR_VIRTUAL void Unk_128(void)
float GetArmorBaseFactorSum() override
SKYRIM_REL_VR_VIRTUAL void Unk_129(void)
static constexpr auto FORMTYPE
Definition Character.h:12
BSFaceGenNiNode * GetFaceNodeSkinned() override
void Predestroy(void) override
static constexpr auto VTABLE
Definition Character.h:11
void SaveGame(BGSSaveFormBuffer *a_buf) override
void Unk_C4(void) override
float CalcArmorRating() override
bool IsChild() const override
void SetSize(float a_size) override
void Revert(BGSLoadFormBuffer *a_buf) override
Definition TESObjectREFR.h:112
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_Character(514043, 394334, 0x1efee80)
constexpr std::array< REL::VariantID, 10 > VTABLE_Character
Definition Offsets_VTABLE.h:2215
Definition Character.h:15
RecordFlag
Definition Character.h:17
@ kInitiallyDisabled
Definition Character.h:21
@ kPersistent
Definition Character.h:20
@ kDeleted
Definition Character.h:18
@ kNoAIAcquire
Definition Character.h:23
@ kDontHavokSettle
Definition Character.h:24
@ kStartsDead
Definition Character.h:19
@ kIgnored
Definition Character.h:22