CommonLibVR
NonActorMagicCaster.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/E/ExtraDataTypes.h"
6 
7 namespace RE
8 {
9  class TESObjectREFR;
10 
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_NonActorMagicCaster;
15  inline static constexpr auto VTABLE = VTABLE_NonActorMagicCaster;
16  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kMagicCaster;
17 
18  ~NonActorMagicCaster() override; // 00
19 
20  // override (MagicCaster)
21  void CastSpellImmediate(MagicItem* a_spell, bool a_noHitEffectArt, TESObjectREFR* a_target, float a_effectiveness, bool a_hostileEffectivenessOnly, float a_magnitudeOverride, Actor* a_blameActor) override; // 01
22  void FinishCastImpl() override; // 07 - { return; }
23  TESObjectREFR* GetCasterStatsObject() const override; // 0B - { return 0; }
24  Actor* GetCasterAsActor() const override; // 0C - { return 0; }
25  TESObjectREFR* GetCasterObjectReference(Actor** a_outCaster) const override; // 0D
26  NiNode* GetMagicNode() override; // 0E - { return 0; }
27  void SaveGame(BGSSaveGameBuffer* a_buf) override; // 18
28  void LoadGame(BGSLoadGameBuffer* a_buf) override; // 19
29 
30  // members
33  std::uint32_t unk64; // 64
34  private:
35  KEEP_FOR_RE()
36  };
37  static_assert(sizeof(NonActorMagicCaster) == 0x68);
38 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: Actor.h:133
Definition: BGSLoadGameBuffer.h:6
Definition: BGSSaveGameBuffer.h:10
Definition: ExtraMagicCaster.h:12
Definition: MagicItem.h:30
Definition: NiNode.h:12
Definition: NonActorMagicCaster.h:12
TESObjectREFR * unk58
Definition: NonActorMagicCaster.h:31
void FinishCastImpl() override
static constexpr auto RTTI
Definition: NonActorMagicCaster.h:14
static constexpr auto EXTRADATATYPE
Definition: NonActorMagicCaster.h:16
std::uint32_t unk64
Definition: NonActorMagicCaster.h:33
~NonActorMagicCaster() override
static constexpr auto VTABLE
Definition: NonActorMagicCaster.h:15
void CastSpellImmediate(MagicItem *a_spell, bool a_noHitEffectArt, TESObjectREFR *a_target, float a_effectiveness, bool a_hostileEffectivenessOnly, float a_magnitudeOverride, Actor *a_blameActor) override
NiNode * GetMagicNode() override
ActorHandle blameActor
Definition: NonActorMagicCaster.h:32
TESObjectREFR * GetCasterObjectReference(Actor **a_outCaster) const override
TESObjectREFR * GetCasterStatsObject() const override
void SaveGame(BGSSaveGameBuffer *a_buf) override
void LoadGame(BGSLoadGameBuffer *a_buf) override
Actor * GetCasterAsActor() const override
Definition: TESObjectREFR.h:113
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 2 > VTABLE_NonActorMagicCaster
Definition: Offsets_VTABLE.h:12490
constexpr REL::ID RTTI_NonActorMagicCaster(static_cast< std::uint64_t >(686540))