CommonLibVR
Loading...
Searching...
No Matches
BGSEntryPointPerkEntry.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BGSPerkEntry.h"
4#include "RE/F/FormTypes.h"
6
7namespace RE
8{
9 class BGSEntryPointFunctionData;
10 class TESCondition;
11
13 {
14 public:
15 inline static constexpr auto RTTI = RTTI_BGSEntryPointPerkEntry;
16 inline static constexpr auto VTABLE = VTABLE_BGSEntryPointPerkEntry;
17
18 struct EntryData // DATA
19 {
20 public:
39
40 // members
43 std::uint8_t numArgs; // 2
44 std::uint8_t unk3; // 3
45 std::uint32_t unk4; // 4
46 };
47 static_assert(sizeof(EntryData) == 0x8);
48
49 // override (BGSPerkEntry)
50 bool CheckConditionFilters(std::uint32_t a_numArgs, void* a_args) override; // 00
51 EntryPoint GetFunction() override; // 01 - { return function; }
52 void* GetFunctionData() const override; // 02 - { return functionData; }
53
54 ~BGSEntryPointPerkEntry() override; // 03
55
56 PERK_ENTRY_TYPE GetType() const override; // 04 - { return kEntryPoint; }
57 void ClearData() override; // 05
58 void InitItem(TESFile* a_owner) override; // 06
59 bool Load(TESFile* a_file) override; // 07
60 void SetParent(BGSPerk* a_parent) override; // 08
61 std::uint16_t GetID() const override; // 09
62 void ApplyPerkEntry(Actor* a_actor) override; // 0A
63 void RemovePerkEntry(Actor* a_actor) override; // 0B
64
65 [[nodiscard]] bool IsEntryPoint(EntryPoint a_entryPoint) const;
66
67 // members
68 EntryData entryData; // 10 - DATA
71 BGSPerk* perk; // 28
72 private:
74 };
75 static_assert(sizeof(BGSEntryPointPerkEntry) == 0x30);
76}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition EnumSet.h:9
Definition Actor.h:133
Definition BGSEntryPointFunctionData.h:11
Definition BGSEntryPointPerkEntry.h:13
EntryData entryData
Definition BGSEntryPointPerkEntry.h:68
~BGSEntryPointPerkEntry() override
void RemovePerkEntry(Actor *a_actor) override
void ApplyPerkEntry(Actor *a_actor) override
PERK_ENTRY_TYPE GetType() const override
SimpleArray< TESCondition > conditions
Definition BGSEntryPointPerkEntry.h:70
BGSEntryPointFunctionData * functionData
Definition BGSEntryPointPerkEntry.h:69
EntryPoint GetFunction() override
void * GetFunctionData() const override
void InitItem(TESFile *a_owner) override
bool Load(TESFile *a_file) override
std::uint16_t GetID() const override
BGSPerk * perk
Definition BGSEntryPointPerkEntry.h:71
void SetParent(BGSPerk *a_parent) override
static constexpr auto RTTI
Definition BGSEntryPointPerkEntry.h:15
bool IsEntryPoint(EntryPoint a_entryPoint) const
bool CheckConditionFilters(std::uint32_t a_numArgs, void *a_args) override
static constexpr auto VTABLE
Definition BGSEntryPointPerkEntry.h:16
void ClearData() override
Definition BGSPerkEntry.h:20
Definition BGSPerk.h:33
Definition MemoryManager.h:244
Definition TESFile.h:17
Definition AbsorbEffect.h:6
PERK_ENTRY_TYPE
Definition BGSPerkEntry.h:13
constexpr std::array< REL::ID, 1 > VTABLE_BGSEntryPointPerkEntry
Definition Offsets_VTABLE.h:8616
constexpr REL::ID RTTI_BGSEntryPointPerkEntry(static_cast< std::uint64_t >(685393))
Definition BGSEntryPointPerkEntry.h:19
REX::EnumSet< EntryPoint, std::uint8_t > entryPoint
Definition BGSEntryPointPerkEntry.h:41
Function
Definition BGSEntryPointPerkEntry.h:22
std::uint8_t unk3
Definition BGSEntryPointPerkEntry.h:44
std::uint8_t numArgs
Definition BGSEntryPointPerkEntry.h:43
std::uint32_t unk4
Definition BGSEntryPointPerkEntry.h:45
REX::EnumSet< Function, std::uint8_t > function
Definition BGSEntryPointPerkEntry.h:42
ENTRY_POINT
Definition BGSEntryPoint.h:14