CommonLibVR
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 bool IsChild() const override; // 05E - { return race ? (race->data.flags & Flag::kChild) != Flag::kNone : false; }
40 void SetBiped(const BSTSmartPointer<BipedAnim>& a_biped) override; // 081
41 void InitiateVampireFeedPackage(Actor* a_arg1, TESObjectREFR* a_arg2) override; // 0C0
42#ifndef SKYRIMVR
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 - calculate armor rating?
50 float GetArmorBaseFactorSum() override; // 0E7 - something about armor rating
51 float CalcUnarmedDamage() override; // 0E8 - get unarmed damage?
52 void PrecacheData(void) override; // 120
53#else
54 void Unk_C6(void) override; // 0C4 - { unk272 = a_arg1; }
55 void Unk_C7(void) override; // 0C5 - { return unk272; }
56 void Unk_C8(void) override; // 0C6 - { return 1; }
57 void OnArmorActorValueChanged() override; // 0CA
58 bool InitiateTresPassPackage(TrespassPackage* a_trespassPackage) override; // 0D7
59 void SetSize(float a_size) override; // 0D9
60 float CalcArmorRating() override; // 0E6 - calculate armor rating?
61 float GetArmorBaseFactorSum() override; // 0E7 - something about armor rating
62 float CalcUnarmedDamage() override; // 0E8 - get unarmed damage?
63 void PrecacheData(void) override; // 120
64#endif
65 // add
66 virtual void Unk_128(void); // 128
67 virtual void Unk_129(void); // 129 - { return 1; }
68 private:
70 };
71#ifndef SKYRIM_SUPPORT_AE
72 static_assert(sizeof(Character) == 0x2B0);
73#else
74 static_assert(sizeof(Character) == 0x2B8);
75#endif
76}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition Actor.h:133
Definition BGSLoadFormBuffer.h:11
Definition BGSSaveFormBuffer.h:8
Definition BSFaceGenAnimationData.h:11
Definition BSFaceGenNiNode.h:14
Definition BSTSmartPointer.h:37
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
virtual void Unk_128(void)
float GetArmorBaseFactorSum() override
static constexpr auto FORMTYPE
Definition Character.h:12
BSFaceGenNiNode * GetFaceNodeSkinned() override
virtual void Unk_129(void)
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:114
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_Character(static_cast< std::uint64_t >(514043))
constexpr std::array< REL::ID, 10 > VTABLE_Character
Definition Offsets_VTABLE.h:10636
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