CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
Hazard.h
Go to the documentation of this file.
1#pragma once
2
5#include "RE/F/FormTypes.h"
8
9namespace RE
10{
11 class BGSHazard;
12 class NiLight;
13
14 class Hazard : public TESObjectREFR
15 {
16 public:
17 inline static constexpr auto RTTI = RTTI_Hazard;
18 inline static constexpr auto VTABLE = VTABLE_Hazard;
19 inline static constexpr auto FORMTYPE = FormType::PlacedHazard;
20
21 enum class Flags
22 {
23 };
24
26 {
27 enum RecordFlag : std::uint32_t
28 {
29 };
30 };
31
32 ~Hazard() override; // 00
33
34 // override (TESObjectREFR)
35 void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
36 void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
37 void FinishLoadGame(BGSLoadFormBuffer* a_buf) override; // 11
38 void Revert(BGSLoadFormBuffer* a_buf) override; // 12
39 void InitItemImpl() override; // 13
40 void SetActorCause(ActorCause* a_cause) override; // 50
41 void Release3DRelatedData() override; // 6B
42 bool OnAddCellPerformQueueReference(TESObjectCELL& a_cell) const override; // 90 - { return false; }
43
44 // add
45 virtual void Initialize(); // A2
46 virtual void Unk_A3(void); // A3 - { return; }
47 virtual bool IsPermanent() const; // A4 - { return TESDataHandler::GetSingleton()->IsGeneratedFormID(formID) == 0; }
48
49 // members
50 void* hazardDBHandle; // 98
52 float age; // A4
53 float lifetime; // A8
54 float targetTimer; // AC
55 float radius; // B0
56 float magnitude; // B4
61 };
62#ifndef SKYRIM_SUPPORT_AE
63 static_assert(sizeof(Hazard) == 0xD8);
64#else
65 static_assert(sizeof(Hazard) == 0xE0);
66#endif
67}
Definition: ActorCause.h:9
Definition: BGSHazard.h:44
Definition: Hazard.h:15
float age
Definition: Hazard.h:52
virtual void Unk_A3(void)
ActorHandle ownerActor
Definition: Hazard.h:51
static constexpr auto FORMTYPE
Definition: Hazard.h:19
bool OnAddCellPerformQueueReference(TESObjectCELL &a_cell) const override
Flags
Definition: Hazard.h:22
void FinishLoadGame(BGSLoadFormBuffer *a_buf) override
virtual bool IsPermanent() const
void LoadGame(BGSLoadFormBuffer *a_buf) override
float radius
Definition: Hazard.h:55
virtual void Initialize()
static constexpr auto VTABLE
Definition: Hazard.h:18
void Revert(BGSLoadFormBuffer *a_buf) override
BSSoundHandle sound
Definition: Hazard.h:59
BGSHazard * hazard
Definition: Hazard.h:57
static constexpr auto RTTI
Definition: Hazard.h:17
float targetTimer
Definition: Hazard.h:54
~Hazard() override
float magnitude
Definition: Hazard.h:56
void * hazardDBHandle
Definition: Hazard.h:50
void Release3DRelatedData() override
NiPointer< NiLight > light
Definition: Hazard.h:58
float lifetime
Definition: Hazard.h:53
void SetActorCause(ActorCause *a_cause) override
void InitItemImpl() override
void SaveGame(BGSSaveFormBuffer *a_buf) override
stl::enumeration< Flags, std::uint32_t > flags
Definition: Hazard.h:60
Definition: NiSmartPointer.h:9
Definition: TESObjectCELL.h:115
Definition: TESObjectREFR.h:110
Definition: PCH.h:217
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_Hazard(static_cast< std::uint64_t >(687507))
constexpr std::array< REL::ID, 4 > VTABLE_Hazard
Definition: Offsets_VTABLE.h:11745
Definition: BSSoundHandle.h:10
Definition: Hazard.h:26
RecordFlag
Definition: Hazard.h:28