CommonLibSSE (powerof3)
BGSTalkingActivator.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/F/FormTypes.h"
4 #include "RE/T/TESObjectACTI.h"
5 
6 namespace RE
7 {
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_BGSTalkingActivator;
12  inline static constexpr auto FORMTYPE = FormType::TalkingActivator;
13 
14  struct ChangeFlags
15  {
16  enum ChangeFlag : std::uint32_t
17  {
18  kSpeaker = 1 << 23
19  };
20  };
21 
22  struct RecordFlags
23  {
24  enum RecordFlag : std::uint32_t
25  {
26  kDeleted = 1 << 5,
28  kIgnored = 1 << 12,
29  kRandomAnimStart = 1 << 16,
30  kRadioStation = 1 << 17
31  };
32  };
33 
34  ~BGSTalkingActivator() override; // 00
35 
36  // override (TESObjectACTI)
37  void InitializeData() override; // 04
38  bool Load(TESFile* a_mod) override; // 06
39  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
40  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
41  void Revert(BGSLoadFormBuffer* a_buf) override; // 12
42  void InitItemImpl() override; // 13
43  bool GetDangerous() const override; // 1B - { return 0; }
44  bool Activate(TESObjectREFR* a_targetRef, TESObjectREFR* a_activatorRef, std::uint8_t a_arg3, TESBoundObject* a_arg4, std::int32_t a_targetCount) override; // 37
45  void SetObjectVoiceType(BGSVoiceType* a_voiceType) override; // 48 - { voiceType = a_voiceType; }
46  [[nodiscard]] BGSVoiceType* GetObjectVoiceType() const override; // 49 - { return voiceType; }
47 
48  // add
49  virtual bool GetReflectedByAutoWater(); // 53 - { return false; }
50 
51  // members
53  BGSVoiceType* voiceType; // D0 - VNAM
54  };
55  static_assert(sizeof(BGSTalkingActivator) == 0xD8);
56 }
Definition: BGSTalkingActivator.h:9
bool Load(TESFile *a_mod) override
static constexpr auto FORMTYPE
Definition: BGSTalkingActivator.h:12
bool GetDangerous() const override
BGSVoiceType * voiceType
Definition: BGSTalkingActivator.h:53
bool Activate(TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_arg4, std::int32_t a_targetCount) override
static constexpr auto RTTI
Definition: BGSTalkingActivator.h:11
void LoadGame(BGSLoadFormBuffer *a_buf) override
virtual bool GetReflectedByAutoWater()
BGSVoiceType * GetObjectVoiceType() const override
TESObjectREFR * tempRef
Definition: BGSTalkingActivator.h:52
void SetObjectVoiceType(BGSVoiceType *a_voiceType) override
void InitializeData() override
void InitItemImpl() override
~BGSTalkingActivator() override
void Revert(BGSLoadFormBuffer *a_buf) override
void SaveGame(BGSSaveFormBuffer *a_buf) override
Definition: BGSVoiceType.h:25
Definition: TESBoundObject.h:24
Definition: TESFile.h:14
Definition: TESObjectACTI.h:22
Definition: TESObjectREFR.h:103
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSTalkingActivator
Definition: Offsets_RTTI.h:1558
Definition: BGSTalkingActivator.h:15
ChangeFlag
Definition: BGSTalkingActivator.h:17
@ kSpeaker
Definition: BGSTalkingActivator.h:18
Definition: BGSTalkingActivator.h:23
RecordFlag
Definition: BGSTalkingActivator.h:25
@ kDeleted
Definition: BGSTalkingActivator.h:26
@ kRandomAnimStart
Definition: BGSTalkingActivator.h:29
@ kRadioStation
Definition: BGSTalkingActivator.h:30
@ kIgnored
Definition: BGSTalkingActivator.h:28
@ kHiddenFromLocalMap
Definition: BGSTalkingActivator.h:27