CommonLibSSE (Parapets fork)
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 FORMTYPE = FormType::Shout;
22
24 {
25 enum RecordFlag : std::uint32_t
26 {
27 kDeleted = 1 << 5,
29 kIgnored = 1 << 12
30 };
31 };
32
33 struct Variation // SNAM
34 {
37 float recoveryTime; // 10
38 std::uint32_t pad14; // 14
39 };
40 static_assert(sizeof(Variation) == 0x18);
41
43 {
44 enum VariationID : std::uint32_t
45 {
46 kNone = static_cast<std::underlying_type_t<VariationID>>(-1),
47 kOne = 0,
48 kTwo,
49 kThree,
50
51 kTotal
52 };
53 };
55
56 ~TESShout() override; // 00
57
58 // override (TESForm)
59 bool Load(TESFile* a_mod) override; // 06
60 void InitItemImpl() override; // 13
61 bool GetKnown() const override; // 17
62
63 // override (BGSEquipType)
64 BGSEquipSlot* GetEquipSlot() const override; // 04
65 void SetEquipSlot(BGSEquipSlot* a_slot) override; // 05 - { return; }
66
67 // members
68 Variation variations[VariationIDs::kTotal]; // 60 - SNAM
69 };
70 static_assert(sizeof(TESShout) == 0xA8);
71}
Definition: BGSEquipSlot.h:10
Definition: BGSEquipType.h:9
Definition: BGSMenuDisplayObject.h:10
Definition: SpellItem.h:16
Definition: TESDescription.h:12
Definition: TESFile.h:14
Definition: TESForm.h:34
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:21
static constexpr auto RTTI
Definition: TESShout.h:20
Variation variations[VariationIDs::kTotal]
Definition: TESShout.h:68
Definition: TESWordOfPower.h:13
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESShout
Definition: Offsets_RTTI.h:6071
Definition: TESShout.h:24
RecordFlag
Definition: TESShout.h:26
@ kDeleted
Definition: TESShout.h:27
@ kTreatSpellsAsPowers
Definition: TESShout.h:28
@ kIgnored
Definition: TESShout.h:29
Definition: TESShout.h:34
std::uint32_t pad14
Definition: TESShout.h:38
float recoveryTime
Definition: TESShout.h:37
TESWordOfPower * word
Definition: TESShout.h:35
SpellItem * spell
Definition: TESShout.h:36
Definition: TESShout.h:43
VariationID
Definition: TESShout.h:45