CommonLibSSE (powerof3)
ScrollItem.h
Go to the documentation of this file.
1 #pragma once
2 
5 #include "RE/S/SpellItem.h"
7 #include "RE/T/TESValueForm.h"
8 #include "RE/T/TESWeightForm.h"
9 
10 namespace RE
11 {
12  class ScrollItem :
13  public SpellItem, // 000
14  public TESModelTextureSwap, // 0E8
15  public BGSDestructibleObjectForm, // 120
16  public BGSPickupPutdownSounds, // 130
17  public TESWeightForm, // 148
18  public TESValueForm // 158
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_ScrollItem;
22  inline static constexpr auto VTABLE = VTABLE_ScrollItem;
23  inline static constexpr auto FORMTYPE = FormType::Scroll;
24 
25  struct RecordFlags
26  {
27  enum RecordFlag : std::uint32_t
28  {
29  kDeleted = 1 << 5,
30  kIgnored = 1 << 12
31  };
32  };
33 
34  ~ScrollItem() override; // 00
35 
36  // override (SpellItem)
37  void InitItemImpl() override; // 13
38  MagicSystem::SpellType GetSpellType() const override; // 53 - { return MagicSystem::SpellType::kScroll; }
39  MagicSystem::CastingType GetCastingType() const override; // 55 - { return MagicSystem::CastingType::kFireAndForget; }
40  bool GetSkillUsageData(SkillUsageData& a_data) const override; // 60 - { return 0; }
41  ActorValue GetAssociatedSkill() const override; // 66 - { return ActorValue::kNone; }
42  void LoadMagicItemChunk(TESFile* a_mod, std::uint32_t a_chunkID) override; // 6A
43  };
44  static_assert(sizeof(ScrollItem) == 0x168);
45 }
Definition: BGSDestructibleObjectForm.h:61
Definition: BGSPickupPutdownSounds.h:10
Definition: ScrollItem.h:19
ActorValue GetAssociatedSkill() const override
~ScrollItem() override
static constexpr auto FORMTYPE
Definition: ScrollItem.h:23
bool GetSkillUsageData(SkillUsageData &a_data) const override
static constexpr auto VTABLE
Definition: ScrollItem.h:22
void LoadMagicItemChunk(TESFile *a_mod, std::uint32_t a_chunkID) override
void InitItemImpl() override
MagicSystem::CastingType GetCastingType() const override
MagicSystem::SpellType GetSpellType() const override
static constexpr auto RTTI
Definition: ScrollItem.h:21
Definition: SpellItem.h:16
Definition: TESFile.h:17
Definition: TESModelTextureSwap.h:10
Definition: TESValueForm.h:8
Definition: TESWeightForm.h:8
SpellType
Definition: MagicSystem.h:64
CastingType
Definition: MagicSystem.h:35
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_ScrollItem(static_cast< std::uint64_t >(684635))
ActorValue
Definition: ActorValues.h:6
constexpr std::array< REL::ID, 11 > VTABLE_ScrollItem
Definition: Offsets_VTABLE.h:12632
Definition: MagicItem.h:45
Definition: ScrollItem.h:26
RecordFlag
Definition: ScrollItem.h:28
@ kIgnored
Definition: ScrollItem.h:30
@ kDeleted
Definition: ScrollItem.h:29