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