CommonLibVR
ExtraPoison.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 
6 namespace RE
7 {
8  class AlchemyItem;
9 
10  class ExtraPoison : public BSExtraData
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_ExtraPoison;
14  inline static constexpr auto VTABLE = VTABLE_ExtraPoison;
15  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kPoison;
16 
18  ExtraPoison(AlchemyItem* a_poison, std::int32_t a_count);
19  ~ExtraPoison() override = default; // 00
20 
21  // override (BSExtraData)
22  ExtraDataType GetType() const override; // 01 - { return kPoison; }
23  bool IsNotEqual(const BSExtraData* a_rhs) const override; // 02 - { return poison != a_rhs->poison || count != a_rhs->count; }
24 
25  // members
27  std::uint32_t count; // 18
28  std::uint32_t pad1C; // 1C
29  private:
30  KEEP_FOR_RE()
31  };
32  static_assert(sizeof(ExtraPoison) == 0x20);
33 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: AlchemyItem.h:24
Definition: BSExtraData.h:9
Definition: ExtraPoison.h:11
bool IsNotEqual(const BSExtraData *a_rhs) const override
std::uint32_t pad1C
Definition: ExtraPoison.h:28
std::uint32_t count
Definition: ExtraPoison.h:27
ExtraDataType GetType() const override
AlchemyItem * poison
Definition: ExtraPoison.h:26
static constexpr auto VTABLE
Definition: ExtraPoison.h:14
ExtraPoison(AlchemyItem *a_poison, std::int32_t a_count)
~ExtraPoison() override=default
static constexpr auto RTTI
Definition: ExtraPoison.h:13
static constexpr auto EXTRADATATYPE
Definition: ExtraPoison.h:15
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_ExtraPoison
Definition: Offsets_VTABLE.h:11589
ExtraDataType
Definition: ExtraDataTypes.h:173
constexpr REL::ID RTTI_ExtraPoison(static_cast< std::uint64_t >(684665))