CommonLibSSE (Parapets fork)
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
17 struct EntryData // DATA
18 {
19 public:
20 enum class Function
21 {
22 kSetValue = 1,
23 kAddValue = 2,
31 kSelectSpell = 10,
32 kSelectText = 11,
36 kSetText = 15
37 };
38
39 // members
42 std::uint8_t numArgs; // 2
43 std::uint8_t unk3; // 3
44 std::uint32_t unk4; // 4
45 };
46 static_assert(sizeof(EntryData) == 0x8);
47
48 // override (BGSPerkEntry)
49 bool CheckConditionFilters(std::uint32_t a_numArgs, void* a_args) override; // 00
50 EntryPoint GetFunction() override; // 01 - { return function; }
51 void* GetFunctionData() const override; // 02 - { return functionData; }
52
53 ~BGSEntryPointPerkEntry() override; // 03
54
55 PERK_ENTRY_TYPE GetType() const override; // 04 - { return kEntryPoint; }
56 void ClearData() override; // 05
57 void InitItem(TESFile* a_owner) override; // 06
58 bool Load(TESFile* a_file) override; // 07
59 void SetParent(BGSPerk* a_parent) override; // 08
60 std::uint16_t GetID() const override; // 09
61 void ApplyPerkEntry(Actor* a_actor) override; // 0A
62 void RemovePerkEntry(Actor* a_actor) override; // 0B
63
64 [[nodiscard]] bool IsEntryPoint(EntryPoint a_entryPoint) const;
65
66 // members
67 EntryData entryData; // 10 - DATA
70 BGSPerk* perk; // 28
71 };
72 static_assert(sizeof(BGSEntryPointPerkEntry) == 0x30);
73}
Definition: Actor.h:125
Definition: BGSEntryPointFunctionData.h:10
Definition: BGSEntryPointPerkEntry.h:13
EntryData entryData
Definition: BGSEntryPointPerkEntry.h:67
~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:69
BGSEntryPointFunctionData * functionData
Definition: BGSEntryPointPerkEntry.h:68
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:70
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
void ClearData() override
Definition: BGSPerkEntry.h:20
Definition: BGSPerk.h:31
Definition: MemoryManager.h:240
Definition: TESFile.h:14
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
PERK_ENTRY_TYPE
Definition: BGSPerkEntry.h:13
constexpr REL::ID RTTI_BGSEntryPointPerkEntry
Definition: Offsets_RTTI.h:1293
ENTRY_POINT
Definition: BGSEntryPoint.h:10
Definition: BGSEntryPointPerkEntry.h:18
Function
Definition: BGSEntryPointPerkEntry.h:21
@ kNegativeAbsoluteValue
@ kSelectSpell
@ kMultiplyActorValueMult
@ kSelectText
@ kMultiplyValue
@ kAddActorValueMult
@ kAddActivateChoice
@ kAbsoluteValue
@ kAddLeveledList
@ kSetText
@ kSetToActorValueMult
@ kAddValue
@ kAddRangeToValue
@ kMultiply1PlusActorValueMult
@ kSetValue
stl::enumeration< Function, std::uint8_t > function
Definition: BGSEntryPointPerkEntry.h:41
std::uint8_t unk3
Definition: BGSEntryPointPerkEntry.h:43
std::uint8_t numArgs
Definition: BGSEntryPointPerkEntry.h:42
std::uint32_t unk4
Definition: BGSEntryPointPerkEntry.h:44
stl::enumeration< EntryPoint, std::uint8_t > entryPoint
Definition: BGSEntryPointPerkEntry.h:40