CommonLibSSE NG
Loading...
Searching...
No Matches
BGSDestructibleObjectForm.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/F/FormTypes.h"
6
7namespace RE
8{
9 class QueuedFile;
10 class TESModelTextureSwap;
11
13 {
14 public:
16 {
17 kNone = 0,
18 kCapDamage = 1 << 0,
19 kDisableObject = 1 << 1,
20 kDestroyObject = 1 << 2,
21 kIgnoreExternalDamage = 1 << 3,
22 kBecomesDynamic = 1 << 4
23 };
24
25 // members
26 std::int8_t modelDamageStage; // 00 - DSTD~
27 std::int8_t healthPercentage; // 01
29 std::uint8_t pad03; // 03
30 std::uint32_t selfDamagePerSecond; // 04
33 std::uint32_t debrisCount; // 18 - ~DSTD
34 std::uint32_t pad1C; // 1C
36 };
37 static_assert(sizeof(DestructibleObjectStage) == 0x28);
38
40 {
41 public:
42 enum class Flag
43 {
44 kNone = 0,
45 kVatsTargetable = 1 << 0
46 };
47
48 // members
49 std::uint32_t health; // 00 - DEST~
50 std::int8_t numStages; // 04
52 std::uint16_t pad06; // 06
54 volatile std::int32_t replacementModelRefCount; // 10
55 std::uint32_t pad14; // 14
57 };
58 static_assert(sizeof(DestructibleObjectData) == 0x20);
59
61 {
62 public:
63 inline static constexpr auto RTTI = RTTI_BGSDestructibleObjectForm;
64
66
67 // override (BaseFormComponent)
68 void InitializeDataComponent() override; // 01
69 void ClearDataComponent() override; // 02
70 void CopyComponent(BaseFormComponent* a_rhs) override; // 03
71
72 // members
74 };
75 static_assert(sizeof(BGSDestructibleObjectForm) == 0x10);
76}
Definition BGSDebris.h:40
Definition BGSDestructibleObjectForm.h:61
void InitializeDataComponent() override
void CopyComponent(BaseFormComponent *a_rhs) override
DestructibleObjectData * data
Definition BGSDestructibleObjectForm.h:73
static constexpr auto RTTI
Definition BGSDestructibleObjectForm.h:63
void ClearDataComponent() override
Definition BGSExplosion.h:53
Definition BaseFormComponent.h:8
Definition NiSmartPointer.h:9
Definition TESModelTextureSwap.h:10
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BGSDestructibleObjectForm(513862, 392231, 0x1ed6f50)
Definition BGSDestructibleObjectForm.h:40
Flag
Definition BGSDestructibleObjectForm.h:43
stl::enumeration< Flag, std::uint8_t > flags
Definition BGSDestructibleObjectForm.h:51
std::uint16_t pad06
Definition BGSDestructibleObjectForm.h:52
NiPointer< QueuedFile > preloadedReplacementModels
Definition BGSDestructibleObjectForm.h:56
std::uint32_t health
Definition BGSDestructibleObjectForm.h:49
std::uint32_t pad14
Definition BGSDestructibleObjectForm.h:55
DestructibleObjectStage ** stages
Definition BGSDestructibleObjectForm.h:53
std::int8_t numStages
Definition BGSDestructibleObjectForm.h:50
volatile std::int32_t replacementModelRefCount
Definition BGSDestructibleObjectForm.h:54
Definition BGSDestructibleObjectForm.h:13
BGSExplosion * explosion
Definition BGSDestructibleObjectForm.h:31
stl::enumeration< DESTRUCTIBLE_OBJECT_STAGE_FLAGS, std::uint8_t > flags
Definition BGSDestructibleObjectForm.h:28
std::int8_t healthPercentage
Definition BGSDestructibleObjectForm.h:27
std::uint8_t pad03
Definition BGSDestructibleObjectForm.h:29
TESModelTextureSwap * replacementModel
Definition BGSDestructibleObjectForm.h:35
std::uint32_t selfDamagePerSecond
Definition BGSDestructibleObjectForm.h:30
BGSDebris * debris
Definition BGSDestructibleObjectForm.h:32
std::uint32_t debrisCount
Definition BGSDestructibleObjectForm.h:33
std::int8_t modelDamageStage
Definition BGSDestructibleObjectForm.h:26
DESTRUCTIBLE_OBJECT_STAGE_FLAGS
Definition BGSDestructibleObjectForm.h:16
std::uint32_t pad1C
Definition BGSDestructibleObjectForm.h:34