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