CommonLibSSE NG
Loading...
Searching...
No Matches
ExtraSoul.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSExtraData.h"
5#include "RE/S/SoulLevels.h"
6
7namespace RE
8{
9 class ExtraSoul : public BSExtraData
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_ExtraSoul;
13 inline static constexpr auto VTABLE = VTABLE_ExtraSoul;
14 inline static auto EXTRADATATYPE = ExtraDataType::kSoul;
15
17 explicit ExtraSoul(SOUL_LEVEL a_level);
18 ~ExtraSoul() override = default; // 00
19
20 // override (BSExtraData)
21 ExtraDataType GetType() const override; // 01 - { reutrn kSoul; }
22 bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02 - { return soul != a_rhs->soul; }
23
24 [[nodiscard]] SOUL_LEVEL GetContainedSoul() const;
25
26 // members
28 std::uint8_t pad11; // 11
29 std::uint16_t pad12; // 12
30 std::uint32_t pad14; // 14
31 };
32 static_assert(sizeof(ExtraSoul) == 0x18);
33}
Definition BSExtraData.h:9
Definition ExtraSoul.h:10
stl::enumeration< SOUL_LEVEL, std::uint8_t > soul
Definition ExtraSoul.h:27
ExtraDataType GetType() const override
ExtraSoul(SOUL_LEVEL a_level)
static constexpr auto VTABLE
Definition ExtraSoul.h:13
static constexpr auto RTTI
Definition ExtraSoul.h:12
static auto EXTRADATATYPE
Definition ExtraSoul.h:14
std::uint8_t pad11
Definition ExtraSoul.h:28
bool IsNotEqual(const BSExtraData *a_rhs) const override
std::uint32_t pad14
Definition ExtraSoul.h:30
~ExtraSoul() override=default
std::uint16_t pad12
Definition ExtraSoul.h:29
SOUL_LEVEL GetContainedSoul() const
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_ExtraSoul(684786, 392476, 0x1ed9dc8)
SOUL_LEVEL
Definition SoulLevels.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_ExtraSoul
Definition Offsets_VTABLE.h:204
ExtraDataType
Definition ExtraDataTypes.h:173