CommonLibSSE NG
Loading...
Searching...
No Matches
BGSHazard.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/F/FormTypes.h"
6#include "RE/T/TESFullName.h"
8#include "RE/T/TESModel.h"
9
10namespace RE
11{
12 struct BGSHazardData // DATA
13 {
14 public:
15 enum class BGSHazardFlags
16 {
17 kNone = 0,
18 kPCOnly = 1 << 0,
19 kInheritDuration = 1 << 1,
20 kAlignToNormal = 1 << 2,
21 kInheritRadius = 1 << 3,
22 kDropToGround = 1 << 4
23 };
24
25 std::uint32_t limit; // 00
26 float radius; // 04
27 float lifetime; // 08
28 float imageSpaceRadius; // 0C
29 float targetInterval; // 10
35 };
36 static_assert(sizeof(BGSHazardData) == 0x38);
37
38 class BGSHazard :
39 public TESBoundObject, // 00
40 public TESFullName, // 30
41 public TESModel, // 40
42 public BGSPreloadable, // 68
44 {
45 public:
46 inline static constexpr auto RTTI = RTTI_BGSHazard;
47 inline static constexpr auto VTABLE = VTABLE_BGSHazard;
48 inline static constexpr auto FORMTYPE = FormType::Hazard;
49
51 {
52 enum RecordFlag : std::uint32_t
53 {
54 kDeleted = 1 << 5,
55 kIgnored = 1 << 12
56 };
57 };
58
59 ~BGSHazard() override; // 00
60
61 // override (TESBoundObject)
62 void InitializeData() override; // 04
63 bool Load(TESFile* a_mod) override; // 06
64 void InitItemImpl() override; // 13
65
66 // members
67 BGSHazardData data; // 80 - DATA
68 };
69 static_assert(sizeof(BGSHazard) == 0xB8);
70}
Definition BGSHazard.h:44
bool Load(TESFile *a_mod) override
void InitializeData() override
~BGSHazard() override
static constexpr auto VTABLE
Definition BGSHazard.h:47
static constexpr auto RTTI
Definition BGSHazard.h:46
static constexpr auto FORMTYPE
Definition BGSHazard.h:48
void InitItemImpl() override
BGSHazardData data
Definition BGSHazard.h:67
Definition BGSImpactDataSet.h:13
Definition BGSPreloadable.h:8
Definition BGSSoundDescriptorForm.h:14
Definition SpellItem.h:16
Definition TESBoundObject.h:24
Definition TESFile.h:15
Definition TESFullName.h:9
Definition TESImageSpaceModifiableForm.h:10
Definition TESModel.h:16
Definition TESObjectLIGH.h:66
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 5 > VTABLE_BGSHazard
Definition Offsets_VTABLE.h:460
constexpr REL::VariantID RTTI_BGSHazard(513968, 392761, 0x1edde78)
Definition BGSHazard.h:51
RecordFlag
Definition BGSHazard.h:53
@ kDeleted
Definition BGSHazard.h:54
@ kIgnored
Definition BGSHazard.h:55
Definition BGSHazard.h:13
TESObjectLIGH * light
Definition BGSHazard.h:32
stl::enumeration< BGSHazardFlags, std::uint32_t > flags
Definition BGSHazard.h:30
std::uint32_t limit
Definition BGSHazard.h:25
BGSImpactDataSet * impactDataSet
Definition BGSHazard.h:33
float lifetime
Definition BGSHazard.h:27
float targetInterval
Definition BGSHazard.h:29
float radius
Definition BGSHazard.h:26
float imageSpaceRadius
Definition BGSHazard.h:28
BGSHazardFlags
Definition BGSHazard.h:16
SpellItem * spell
Definition BGSHazard.h:31
BGSSoundDescriptorForm * sound
Definition BGSHazard.h:34