CommonLibSSE (powerof3)
RE::ActorMagicCaster Class Reference

#include <ActorMagicCaster.h>

Inheritance diagram for RE::ActorMagicCaster:
RE::MagicCaster RE::SimpleAnimationGraphManagerHolder RE::BSTEventSink< BSAnimationGraphEvent > RE::IAnimationGraphManagerHolder

Public Types

enum class  Flags {
  kNone = 0 , kDualCasting = 1 << 0 , kSkipCheckCast = 1 << 1 , kStartCloneTask = 1 << 2 ,
  kCastingArtAttached = 1 << 3 , kCheckDeferredInterrupt = 1 << 4 , kDeferInterrupt = 1 << 5
}
 
using InterruptHandler_t = void(Actor *)
 
- Public Types inherited from RE::MagicCaster
enum class  State {
  kNone = 0 , kUnk01 , kUnk02 , kReady ,
  kUnk04 , kCharging , kCasting , kUnk07 ,
  kUnk08 , kUnk09
}
 

Public Member Functions

 ~ActorMagicCaster () override
 
void RequestCastImpl () override
 
bool StartChargeImpl () override
 
void StartReadyImpl () override
 
void StartCastImpl () override
 
void FinishCastImpl () override
 
void InterruptCastImpl (bool a_depleteEnergy) override
 
void SpellCast (bool a_doCast, std::uint32_t a_arg2, MagicItem *a_spell) override
 
bool CheckCast (MagicItem *a_spell, bool a_dualCast, float *a_effectStrength, MagicSystem::CannotCastReason *a_reason, bool a_useBaseValueForCost) override
 
TESObjectREFRGetCasterStatsObject () const override
 
ActorGetCasterAsActor () const override
 
NiNodeGetMagicNode () override
 
void ClearMagicNode () override
 
void SetCurrentSpellImpl (MagicItem *a_spell) override
 
void SelectSpellImpl () override
 
void DeselectSpellImpl () override
 
void SetSkipCheckCast () override
 
void SetCastingTimerForCharge () override
 
MagicSystem::CastingSource GetCastingSource () const override
 
bool GetIsDualCasting () const override
 
void SetDualCasting (bool a_set) override
 
void SaveGame (BGSSaveGameBuffer *a_buf) override
 
void LoadGame (BGSLoadGameBuffer *a_buf) override
 
void FinishLoadGame (BGSLoadGameBuffer *a_buf) override
 
void PrepareSound (MagicSystem::SoundID a_sound, MagicItem *a_spell) override
 
void AdjustActiveEffect (ActiveEffect *a_activeEffect, float a_power, bool a_arg3) override
 
virtual void Update (float a_delta)
 
void CheckAttachCastingArt ()
 
- Public Member Functions inherited from RE::MagicCaster
virtual ~MagicCaster ()
 
virtual void CastSpellImmediate (MagicItem *a_spell, bool a_noHitEffectArt, TESObjectREFR *a_target, float a_effectiveness, bool a_hostileEffectivenessOnly, float a_magnitudeOverride, Actor *a_blameActor)
 
virtual void FindTouchTarget ()
 
virtual TESObjectREFRGetCasterObjectReference (Actor **a_outCaster) const
 
MagicTargetFindPickTarget (NiPoint3 &a_targetLocation, TESObjectCELL **a_targetCell, bhkPickData &a_pickData)
 
bool FindTargets (float a_effectivenessMult, std::uint32_t &a_targetCount, TESBoundObject *a_source, bool a_loadCast, bool a_adjustOnlyHostileEffectiveness)
 
void FinishCast ()
 
float GetCurrentSpellCost ()
 
void InterruptCast (bool a_refund)
 
void PlayReleaseSound (MagicItem *a_item)
 
void SetCurrentSpell (MagicItem *a_item)
 
bool TestProjectilePlacement (const Effect &a_effect, const bhkPickData &a_pickData)
 
void UpdateImpl (float a_delta)
 
- Public Member Functions inherited from RE::SimpleAnimationGraphManagerHolder
bool GetAnimationGraphManagerImpl (BSTSmartPointer< BSAnimationGraphManager > &a_out) const override
 
bool SetAnimationGraphManagerImpl (BSTSmartPointer< BSAnimationGraphManager > &a_in) override
 
bool ConstructAnimationGraph (BSTSmartPointer< BShkbAnimationGraph > &a_out) override
 
virtual void Unk_13 (void)
 
- Public Member Functions inherited from RE::IAnimationGraphManagerHolder
virtual ~IAnimationGraphManagerHolder ()
 
virtual bool NotifyAnimationGraph (const BSFixedString &a_eventName)
 
virtual bool PopulateGraphNodesToTarget (BSScrapArray< NiAVObject * > &a_nodes)
 
virtual void Unk_06 (void)
 
virtual void Unk_07 (void)
 
virtual bool SetupAnimEventSinks (const BSTSmartPointer< BShkbAnimationGraph > &a_animGraph)
 
virtual void Unk_09 (void)
 
virtual bool CreateAnimationChannels (BSScrapArray< BSTSmartPointer< BSAnimationGraphChannel >> &animGraphChannels)
 
virtual void PostCreateAnimationGraphManager (BSTSmartPointer< BSAnimationGraphManager > &a_animGraphMgr)
 
virtual void Unk_0C (void)
 
virtual void PostChangeAnimationManager (const BSTSmartPointer< BShkbAnimationGraph > &a_arg1, const BSTSmartPointer< BShkbAnimationGraph > &a_arg2)
 
virtual void Unk_0E (void)
 
virtual std::uint32_t GetGraphVariableCacheSize () const
 
virtual bool GetGraphVariableImpl1 (const BSFixedString &a_variableName, float &a_out) const
 
virtual bool GetGraphVariableImpl2 (const BSFixedString &a_variableName, std::int32_t &a_out) const
 
virtual bool GetGraphVariableImpl3 (const BSFixedString &a_variableName, bool &a_out) const
 
bool GetAnimationGraphManager (BSTSmartPointer< BSAnimationGraphManager > &a_out) const
 
bool GetGraphVariableFloat (const BSFixedString &a_variableName, float &a_out) const
 
bool GetGraphVariableInt (const BSFixedString &a_variableName, std::int32_t &a_out) const
 
bool GetGraphVariableBool (const BSFixedString &a_variableName, bool &a_out) const
 
bool GetGraphVariableNiPoint3 (const BSFixedString &a_variableName, NiPoint3 &a_out) const
 
bool SetAnimationGraphManager (BSTSmartPointer< BSAnimationGraphManager > &a_in)
 
bool SetGraphVariableBool (const BSFixedString &a_variableName, bool a_in)
 
bool SetGraphVariableInt (const BSFixedString &a_variableName, std::int32_t a_in)
 
bool SetGraphVariableFloat (const BSFixedString &a_variableName, float a_in)
 
bool SetGraphVariableNiPoint3 (const BSFixedString &a_variableName, NiPoint3 &a_in) const
 
bool UpdateAnimationGraphManager (const BSAnimationUpdateData &a_updateData)
 
- Public Member Functions inherited from RE::BSTEventSink< BSAnimationGraphEvent >
virtual ~BSTEventSink ()=default
 
virtual BSEventNotifyControl ProcessEvent (const BSAnimationGraphEvent *a_event, BSTEventSource< BSAnimationGraphEvent > *a_eventSource)=0
 

Public Attributes

RefAttachTechniqueInput castingArtData
 
NiPointer< BGSArtObjectCloneTask > cloneTask
 
Actoractor
 
NiNodemagicNode
 
NiPointer< BSLightlight
 
InterruptHandler_tinterruptHandler
 
BGSLoadGameSubBuffer loadGameSubBuffer
 
BGSArtObjectcastingArt
 
ReferenceEffectControllerweaponEnchantmentController
 
float costCharged
 
MagicSystem::CastingSource castingSource
 
REX::EnumSet< Flags, std::uint32_t > flags
 
- Public Attributes inherited from RE::MagicCaster
BSTArray< BSSoundHandlesounds
 
ObjectRefHandle desiredTarget
 
std::uint32_t pad24
 
MagicItemcurrentSpell
 
REX::EnumSet< State, std::uint32_t > state
 
float castingTimer
 
float currentSpellCost
 
float magnitudeOverride
 
float nextTargetUpdate
 
float projectileTimer
 
- Public Attributes inherited from RE::SimpleAnimationGraphManagerHolder
BSTSmartPointer< BSAnimationGraphManageranimationGraphManager
 
NiPointer< SimpleAnimationGraphManagerLoadingTask > loadingTask
 

Static Public Attributes

static constexpr auto RTTI = RTTI_ActorMagicCaster
 
static constexpr auto VTABLE = VTABLE_ActorMagicCaster
 
- Static Public Attributes inherited from RE::MagicCaster
static constexpr auto RTTI = RTTI_MagicCaster
 
static constexpr auto VTABLE = VTABLE_MagicCaster
 
- Static Public Attributes inherited from RE::SimpleAnimationGraphManagerHolder
static constexpr auto RTTI = RTTI_SimpleAnimationGraphManagerHolder
 
static constexpr auto VTABLE = VTABLE_SimpleAnimationGraphManagerHolder
 
- Static Public Attributes inherited from RE::IAnimationGraphManagerHolder
static constexpr auto RTTI = RTTI_IAnimationGraphManagerHolder
 
static constexpr auto VTABLE = VTABLE_IAnimationGraphManagerHolder
 

Member Typedef Documentation

◆ InterruptHandler_t

Member Enumeration Documentation

◆ Flags

Enumerator
kNone 
kDualCasting 
kSkipCheckCast 
kStartCloneTask 
kCastingArtAttached 
kCheckDeferredInterrupt 
kDeferInterrupt 

Constructor & Destructor Documentation

◆ ~ActorMagicCaster()

RE::ActorMagicCaster::~ActorMagicCaster ( )
override

Member Function Documentation

◆ AdjustActiveEffect()

void RE::ActorMagicCaster::AdjustActiveEffect ( ActiveEffect a_activeEffect,
float  a_power,
bool  a_arg3 
)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ CheckAttachCastingArt()

void RE::ActorMagicCaster::CheckAttachCastingArt ( )
inline

◆ CheckCast()

bool RE::ActorMagicCaster::CheckCast ( MagicItem a_spell,
bool  a_dualCast,
float *  a_effectStrength,
MagicSystem::CannotCastReason a_reason,
bool  a_useBaseValueForCost 
)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ ClearMagicNode()

void RE::ActorMagicCaster::ClearMagicNode ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ DeselectSpellImpl()

void RE::ActorMagicCaster::DeselectSpellImpl ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ FinishCastImpl()

void RE::ActorMagicCaster::FinishCastImpl ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ FinishLoadGame()

void RE::ActorMagicCaster::FinishLoadGame ( BGSLoadGameBuffer a_buf)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ GetCasterAsActor()

Actor* RE::ActorMagicCaster::GetCasterAsActor ( ) const
overridevirtual

Reimplemented from RE::MagicCaster.

◆ GetCasterStatsObject()

TESObjectREFR* RE::ActorMagicCaster::GetCasterStatsObject ( ) const
overridevirtual

Reimplemented from RE::MagicCaster.

◆ GetCastingSource()

MagicSystem::CastingSource RE::ActorMagicCaster::GetCastingSource ( ) const
overridevirtual

Reimplemented from RE::MagicCaster.

◆ GetIsDualCasting()

bool RE::ActorMagicCaster::GetIsDualCasting ( ) const
overridevirtual

Reimplemented from RE::MagicCaster.

◆ GetMagicNode()

NiNode* RE::ActorMagicCaster::GetMagicNode ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ InterruptCastImpl()

void RE::ActorMagicCaster::InterruptCastImpl ( bool  a_depleteEnergy)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ LoadGame()

void RE::ActorMagicCaster::LoadGame ( BGSLoadGameBuffer a_buf)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ PrepareSound()

void RE::ActorMagicCaster::PrepareSound ( MagicSystem::SoundID  a_sound,
MagicItem a_spell 
)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ RequestCastImpl()

void RE::ActorMagicCaster::RequestCastImpl ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ SaveGame()

void RE::ActorMagicCaster::SaveGame ( BGSSaveGameBuffer a_buf)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ SelectSpellImpl()

void RE::ActorMagicCaster::SelectSpellImpl ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ SetCastingTimerForCharge()

void RE::ActorMagicCaster::SetCastingTimerForCharge ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ SetCurrentSpellImpl()

void RE::ActorMagicCaster::SetCurrentSpellImpl ( MagicItem a_spell)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ SetDualCasting()

void RE::ActorMagicCaster::SetDualCasting ( bool  a_set)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ SetSkipCheckCast()

void RE::ActorMagicCaster::SetSkipCheckCast ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ SpellCast()

void RE::ActorMagicCaster::SpellCast ( bool  a_doCast,
std::uint32_t  a_arg2,
MagicItem a_spell 
)
overridevirtual

Reimplemented from RE::MagicCaster.

◆ StartCastImpl()

void RE::ActorMagicCaster::StartCastImpl ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ StartChargeImpl()

bool RE::ActorMagicCaster::StartChargeImpl ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ StartReadyImpl()

void RE::ActorMagicCaster::StartReadyImpl ( )
overridevirtual

Reimplemented from RE::MagicCaster.

◆ Update()

virtual void RE::ActorMagicCaster::Update ( float  a_delta)
virtual

Member Data Documentation

◆ actor

Actor* RE::ActorMagicCaster::actor

◆ castingArt

BGSArtObject* RE::ActorMagicCaster::castingArt

◆ castingArtData

RefAttachTechniqueInput RE::ActorMagicCaster::castingArtData

◆ castingSource

MagicSystem::CastingSource RE::ActorMagicCaster::castingSource

◆ cloneTask

NiPointer<BGSArtObjectCloneTask> RE::ActorMagicCaster::cloneTask

◆ costCharged

float RE::ActorMagicCaster::costCharged

◆ flags

REX::EnumSet<Flags, std::uint32_t> RE::ActorMagicCaster::flags

◆ interruptHandler

InterruptHandler_t* RE::ActorMagicCaster::interruptHandler

◆ light

NiPointer<BSLight> RE::ActorMagicCaster::light

◆ loadGameSubBuffer

BGSLoadGameSubBuffer RE::ActorMagicCaster::loadGameSubBuffer

◆ magicNode

NiNode* RE::ActorMagicCaster::magicNode

◆ RTTI

constexpr auto RE::ActorMagicCaster::RTTI = RTTI_ActorMagicCaster
inlinestaticconstexpr

◆ VTABLE

constexpr auto RE::ActorMagicCaster::VTABLE = VTABLE_ActorMagicCaster
inlinestaticconstexpr

◆ weaponEnchantmentController

ReferenceEffectController* RE::ActorMagicCaster::weaponEnchantmentController

The documentation for this class was generated from the following file: