CommonLibSSE NG
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 VTABLE = VTABLE_BGSExplosion;
57 inline static constexpr auto FORMTYPE = FormType::Explosion;
58
60 {
61 enum RecordFlag : std::uint32_t
62 {
63 kDeleted = 1 << 5,
64 kIgnored = 1 << 12
65 };
66 };
67
68 ~BGSExplosion() override; // 00
69
70 // override (TESBoundObject)
71 void InitializeData() override; // 04
72 bool Load(TESFile* a_mod) override; // 06
73 void InitItemImpl() override; // 13
74 NiAVObject* Clone3D(TESObjectREFR* a_ref, bool a_arg3) override; // 40
75 void UnClone3D(TESObjectREFR* a_ref) override; // 41
76
77 // members
78 BGSExplosionData data; // 98 - DATA
79 };
80 static_assert(sizeof(BGSExplosion) == 0xE8);
81}
Definition BGSExplosion.h:53
void InitializeData() override
~BGSExplosion() override
BGSExplosionData data
Definition BGSExplosion.h:78
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:57
bool Load(TESFile *a_mod) override
static constexpr auto VTABLE
Definition BGSExplosion.h:56
Definition BGSImpactDataSet.h:13
Definition BGSPreloadable.h:8
Definition BGSProjectile.h:79
Definition BGSSoundDescriptorForm.h:14
Definition NiAVObject.h:50
Definition TESBoundObject.h:24
Definition TESEnchantableForm.h:11
Definition TESFile.h:15
Definition TESFullName.h:9
Definition TESImageSpaceModifiableForm.h:10
Definition TESModel.h:16
Definition TESObjectLIGH.h:66
Definition TESObjectREFR.h:112
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 6 > VTABLE_BGSExplosion
Definition Offsets_VTABLE.h:457
constexpr REL::VariantID RTTI_BGSExplosion(513867, 392238, 0x1ed70b8)
Definition BGSExplosion.h:60
RecordFlag
Definition BGSExplosion.h:62
@ kDeleted
Definition BGSExplosion.h:63
@ kIgnored
Definition BGSExplosion.h:64
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