CommonLibVR
NonActorMagicTarget.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/B/BSTList.h"
5 #include "RE/E/ExtraDataTypes.h"
6 #include "RE/M/MagicTarget.h"
7 
8 namespace RE
9 {
10  class ActiveEffect;
11  class TESObjectREFR;
12 
14  public BSExtraData, // 00
15  public MagicTarget // 10
16  {
17  public:
18  inline static constexpr auto RTTI = RTTI_NonActorMagicTarget;
19  inline static constexpr auto VTABLE = VTABLE_NonActorMagicTarget;
20  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kNonActorMagicTarget;
21 
22  ~NonActorMagicTarget() override; // 00
23 
24  // override (BSExtraData)
25  ExtraDataType GetType() const override; // 01 - { return kNonActorMagicTarget; }
26 
27  // override (MagicTarget)
28  bool AddTarget(AddTargetData& a_targetData) override; // 01
29  TESObjectREFR* GetTargetStatsObject() override; // 02 - { return targetObject; }
30  bool CanAddActiveEffect() override; // 06 - { return true; }
31  BSSimpleList<ActiveEffect*>* GetActiveEffectList() override; // 07 - { return &activeEffects; }
32 
33  // members
36  private:
37  KEEP_FOR_RE()
38  };
39  static_assert(sizeof(NonActorMagicTarget) == 0x40);
40 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSExtraData.h:9
Definition: BSTList.h:10
Definition: MagicTarget.h:29
Definition: NonActorMagicTarget.h:16
BSSimpleList< ActiveEffect * > activeEffects
Definition: NonActorMagicTarget.h:35
bool AddTarget(AddTargetData &a_targetData) override
static constexpr auto EXTRADATATYPE
Definition: NonActorMagicTarget.h:20
BSSimpleList< ActiveEffect * > * GetActiveEffectList() override
TESObjectREFR * targetObject
Definition: NonActorMagicTarget.h:34
static constexpr auto VTABLE
Definition: NonActorMagicTarget.h:19
ExtraDataType GetType() const override
static constexpr auto RTTI
Definition: NonActorMagicTarget.h:18
TESObjectREFR * GetTargetStatsObject() override
bool CanAddActiveEffect() override
~NonActorMagicTarget() override
Definition: TESObjectREFR.h:113
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 2 > VTABLE_NonActorMagicTarget
Definition: Offsets_VTABLE.h:12491
constexpr REL::ID RTTI_NonActorMagicTarget(static_cast< std::uint64_t >(684763))
ExtraDataType
Definition: ExtraDataTypes.h:173
Definition: MagicTarget.h:60