CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
BGSExplosion.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/F/FormTypes.h"
5#include "RE/S/SoundLevels.h"
8#include "RE/T/TESFullName.h"
10#include "RE/T/TESModel.h"
11
12namespace RE
13{
14 struct BGSExplosionData // DATA
15 {
16 enum class Flag
17 {
18 kNone = 0,
20 kKnockDown_Always = 1 << 2,
21 kKnockDown_ByFormula = 1 << 3,
22 kIgnoreLOSCheck = 1 << 4,
24 kIgnoreImageSpaceSwap = 1 << 6,
25 kChain = 1 << 7,
27 };
28
35 float force; // 30
36 float damage; // 34
37 float radius; // 38
38 float imageSpaceRadius; // 3C
39 float verticalOffsetMult; // 40
42 std::uint32_t pad4C; // 4C
43 };
44 static_assert(sizeof(BGSExplosionData) == 0x50);
45
47 public TESBoundObject, // 00
48 public TESFullName, // 30
49 public TESModel, // 40
50 public TESEnchantableForm, // 68
51 public BGSPreloadable, // 80
53 {
54 public:
55 inline static constexpr auto RTTI = RTTI_BGSExplosion;
56 inline static constexpr auto FORMTYPE = FormType::Explosion;
57
59 {
60 enum RecordFlag : std::uint32_t
61 {
62 kDeleted = 1 << 5,
63 kIgnored = 1 << 12
64 };
65 };
66
67 ~BGSExplosion() override; // 00
68
69 // override (TESBoundObject)
70 void InitializeData() override; // 04
71 bool Load(TESFile* a_mod) override; // 06
72 void InitItemImpl() override; // 13
73 NiAVObject* Clone3D(TESObjectREFR* a_ref, bool a_arg3) override; // 40
74 void UnClone3D(TESObjectREFR* a_ref) override; // 41
75
76 // members
77 BGSExplosionData data; // 98 - DATA
78 };
79 static_assert(sizeof(BGSExplosion) == 0xE8);
80}
Definition: BGSExplosion.h:53
void InitializeData() override
~BGSExplosion() override
BGSExplosionData data
Definition: BGSExplosion.h:77
NiAVObject * Clone3D(TESObjectREFR *a_ref, bool a_arg3) override
void UnClone3D(TESObjectREFR *a_ref) override
static constexpr auto RTTI
Definition: BGSExplosion.h:55
void InitItemImpl() override
static constexpr auto FORMTYPE
Definition: BGSExplosion.h:56
bool Load(TESFile *a_mod) override
Definition: BGSImpactDataSet.h:13
Definition: BGSPreloadable.h:8
Definition: BGSProjectile.h:79
Definition: BGSSoundDescriptorForm.h:14
Definition: NiAVObject.h:45
Definition: TESBoundObject.h:24
Definition: TESEnchantableForm.h:11
Definition: TESFile.h:14
Definition: TESFullName.h:9
Definition: TESImageSpaceModifiableForm.h:10
Definition: TESModel.h:16
Definition: TESObjectLIGH.h:64
Definition: TESObjectREFR.h:105
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSExplosion
Definition: Offsets_RTTI.h:1296
Definition: BGSExplosion.h:59
RecordFlag
Definition: BGSExplosion.h:61
@ kDeleted
Definition: BGSExplosion.h:62
@ kIgnored
Definition: BGSExplosion.h:63
Definition: BGSExplosion.h:15
stl::enumeration< Flag, std::uint32_t > flags
Definition: BGSExplosion.h:40
float radius
Definition: BGSExplosion.h:37
BGSProjectile * spawnProjectile
Definition: BGSExplosion.h:34
Flag
Definition: BGSExplosion.h:17
float damage
Definition: BGSExplosion.h:36
BGSSoundDescriptorForm * sound1
Definition: BGSExplosion.h:30
stl::enumeration< SOUND_LEVEL, std::uint32_t > eSoundLevel
Definition: BGSExplosion.h:41
BGSImpactDataSet * impactDataSet
Definition: BGSExplosion.h:32
std::uint32_t pad4C
Definition: BGSExplosion.h:42
TESObjectLIGH * light
Definition: BGSExplosion.h:29
float imageSpaceRadius
Definition: BGSExplosion.h:38
float verticalOffsetMult
Definition: BGSExplosion.h:39
float force
Definition: BGSExplosion.h:35
BGSSoundDescriptorForm * sound2
Definition: BGSExplosion.h:31
TESObjectREFR * impactPlacedObject
Definition: BGSExplosion.h:33