CommonLibVR
ExtraEnchantment.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/F/FormTypes.h"
6 
7 namespace RE
8 {
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_ExtraEnchantment;
13  inline static constexpr auto VTABLE = VTABLE_ExtraEnchantment;
14  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kEnchantment;
15 
17  ExtraEnchantment(EnchantmentItem* a_enchantment, std::uint16_t a_charge, bool a_removeOnUnequip = false);
18  ~ExtraEnchantment() override = default; // 00
19 
20  // override(BSExtraData)
21  ExtraDataType GetType() const override; // 01 - { return kEnchantment; }
22  bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02 - { return enchantment != a_rhs->enchantment || charge != a_rhs->charge || removeOnUnequip != a_rhs->removeOnUnequip; }
23 
24  // members
26  std::uint16_t charge; // 18
27  bool removeOnUnequip; // 1A
28  std::uint8_t pad1B; // 1B
29  std::uint32_t pad1C; // 1C
30  private:
31  KEEP_FOR_RE()
32  };
33  static_assert(sizeof(ExtraEnchantment) == 0x20);
34 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSExtraData.h:9
Definition: EnchantmentItem.h:10
Definition: ExtraEnchantment.h:10
static constexpr auto VTABLE
Definition: ExtraEnchantment.h:13
std::uint8_t pad1B
Definition: ExtraEnchantment.h:28
std::uint16_t charge
Definition: ExtraEnchantment.h:26
bool removeOnUnequip
Definition: ExtraEnchantment.h:27
std::uint32_t pad1C
Definition: ExtraEnchantment.h:29
~ExtraEnchantment() override=default
EnchantmentItem * enchantment
Definition: ExtraEnchantment.h:25
static constexpr auto EXTRADATATYPE
Definition: ExtraEnchantment.h:14
bool IsNotEqual(const BSExtraData *a_rhs) const override
ExtraDataType GetType() const override
static constexpr auto RTTI
Definition: ExtraEnchantment.h:12
ExtraEnchantment(EnchantmentItem *a_enchantment, std::uint16_t a_charge, bool a_removeOnUnequip=false)
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_ExtraEnchantment
Definition: Offsets_VTABLE.h:11522
constexpr REL::ID RTTI_ExtraEnchantment(static_cast< std::uint64_t >(684695))
ExtraDataType
Definition: ExtraDataTypes.h:173