CommonLibSSE NG
Loading...
Searching...
No Matches
TESShout.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BGSEquipType.h"
5#include "RE/F/FormTypes.h"
7#include "RE/T/TESForm.h"
8#include "RE/T/TESFullName.h"
9
10namespace RE
11{
12 class TESShout :
13 public TESForm, // 00
14 public TESFullName, // 20
15 public BGSMenuDisplayObject, // 30
16 public BGSEquipType, // 40
17 public TESDescription // 50
18 {
19 public:
20 inline static constexpr auto RTTI = RTTI_TESShout;
21 inline static constexpr auto VTABLE = VTABLE_TESShout;
22 inline static constexpr auto FORMTYPE = FormType::Shout;
23
25 {
26 enum RecordFlag : std::uint32_t
27 {
28 kDeleted = 1 << 5,
30 kIgnored = 1 << 12
31 };
32 };
33
34 struct Variation // SNAM
35 {
38 float recoveryTime; // 10
39 std::uint32_t pad14; // 14
40 };
41 static_assert(sizeof(Variation) == 0x18);
42
44 {
45 enum VariationID : std::uint32_t
46 {
47 kNone = static_cast<std::underlying_type_t<VariationID>>(-1),
48 kOne = 0,
49 kTwo,
50 kThree,
51
52 kTotal
53 };
54 };
56
57 ~TESShout() override; // 00
58
59 // override (TESForm)
60 bool Load(TESFile* a_mod) override; // 06
61 void InitItemImpl() override; // 13
62 bool GetKnown() const override; // 17
63
64 // override (BGSEquipType)
65 BGSEquipSlot* GetEquipSlot() const override; // 04
66 void SetEquipSlot(BGSEquipSlot* a_slot) override; // 05 - { return; }
67
68 // members
69 Variation variations[VariationIDs::kTotal]; // 60 - SNAM
70 };
71 static_assert(sizeof(TESShout) == 0xA8);
72}
Definition BGSEquipSlot.h:10
Definition BGSEquipType.h:9
Definition BGSMenuDisplayObject.h:10
Definition SpellItem.h:16
Definition TESDescription.h:12
Definition TESFile.h:15
Definition TESForm.h:35
Definition TESFullName.h:9
Definition TESShout.h:18
BGSEquipSlot * GetEquipSlot() const override
bool GetKnown() const override
~TESShout() override
bool Load(TESFile *a_mod) override
void InitItemImpl() override
void SetEquipSlot(BGSEquipSlot *a_slot) override
static constexpr auto FORMTYPE
Definition TESShout.h:22
static constexpr auto RTTI
Definition TESShout.h:20
Variation variations[VariationIDs::kTotal]
Definition TESShout.h:69
static constexpr auto VTABLE
Definition TESShout.h:21
Definition TESWordOfPower.h:13
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESShout(513956, 392614, 0x1edba68)
constexpr std::array< REL::VariantID, 5 > VTABLE_TESShout
Definition Offsets_VTABLE.h:830
Definition TESShout.h:25
RecordFlag
Definition TESShout.h:27
@ kDeleted
Definition TESShout.h:28
@ kTreatSpellsAsPowers
Definition TESShout.h:29
@ kIgnored
Definition TESShout.h:30
Definition TESShout.h:35
std::uint32_t pad14
Definition TESShout.h:39
float recoveryTime
Definition TESShout.h:38
TESWordOfPower * word
Definition TESShout.h:36
SpellItem * spell
Definition TESShout.h:37
Definition TESShout.h:44
VariationID
Definition TESShout.h:46