CommonLibVR
RE::MagicCaster Class Reference

#include <MagicCaster.h>

Inheritance diagram for RE::MagicCaster:
RE::ActorMagicCaster RE::ExtraMagicCaster RE::NonActorMagicCaster

Public Types

enum class  State {
  kNone = 0 , kUnk01 , kUnk02 , kReady ,
  kUnk04 , kCharging , kCasting , kUnk07 ,
  kUnk08 , kUnk09
}
 

Public Member Functions

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 void RequestCastImpl ()
 
virtual bool StartChargeImpl ()
 
virtual void StartReadyImpl ()
 
virtual void StartCastImpl ()
 
virtual void FinishCastImpl ()
 
virtual void InterruptCastImpl (bool a_depleteEnergy)
 
virtual void SpellCast (bool a_doCast, std::uint32_t a_arg2, MagicItem *a_spell)
 
virtual bool CheckCast (MagicItem *a_spell, bool a_dualCast, float *a_effectStrength, MagicSystem::CannotCastReason *a_reason, bool a_useBaseValueForCost)
 
virtual TESObjectREFRGetCasterStatsObject () const
 
virtual ActorGetCasterAsActor () const
 
virtual TESObjectREFRGetCasterObjectReference (Actor **a_outCaster) const
 
virtual NiNodeGetMagicNode ()
 
virtual void ClearMagicNode ()
 
virtual void SetCurrentSpellImpl (MagicItem *a_spell)
 
virtual void SelectSpellImpl ()
 
virtual void DeselectSpellImpl ()
 
virtual void SetSkipCheckCast ()
 
virtual void SetCastingTimerForCharge ()
 
virtual MagicSystem::CastingSource GetCastingSource () const
 
virtual bool GetIsDualCasting () const
 
virtual void SetDualCasting (bool a_set)
 
virtual void SaveGame (BGSSaveGameBuffer *a_buf)
 
virtual void LoadGame (BGSLoadGameBuffer *a_buf)
 
virtual void FinishLoadGame (BGSLoadGameBuffer *a_buf)
 
virtual void PrepareSound (MagicSystem::SoundID a_sound, MagicItem *a_spell)
 
virtual void AdjustActiveEffect (ActiveEffect *a_activeEffect, float a_power, bool a_arg3)
 
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 Attributes

BSTArray< BSSoundHandlesounds
 
ObjectRefHandle desiredTarget
 
std::uint32_t pad24
 
MagicItemcurrentSpell
 
stl::enumeration< State, std::uint32_t > state
 
float castingTimer
 
float currentSpellCost
 
float magnitudeOverride
 
float nextTargetUpdate
 
float projectileTimer
 

Static Public Attributes

static constexpr auto RTTI = RTTI_MagicCaster
 
static constexpr auto VTABLE = VTABLE_MagicCaster
 

Member Enumeration Documentation

◆ State

Enumerator
kNone 
kUnk01 
kUnk02 
kReady 
kUnk04 
kCharging 
kCasting 
kUnk07 
kUnk08 
kUnk09 

Constructor & Destructor Documentation

◆ ~MagicCaster()

virtual RE::MagicCaster::~MagicCaster ( )
virtual

Member Function Documentation

◆ AdjustActiveEffect()

virtual void RE::MagicCaster::AdjustActiveEffect ( ActiveEffect a_activeEffect,
float  a_power,
bool  a_arg3 
)
virtual

Reimplemented in RE::ActorMagicCaster.

◆ CastSpellImmediate()

virtual void RE::MagicCaster::CastSpellImmediate ( MagicItem a_spell,
bool  a_noHitEffectArt,
TESObjectREFR a_target,
float  a_effectiveness,
bool  a_hostileEffectivenessOnly,
float  a_magnitudeOverride,
Actor a_blameActor 
)
virtual

Reimplemented in RE::NonActorMagicCaster.

◆ CheckCast()

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

Reimplemented in RE::ActorMagicCaster.

◆ ClearMagicNode()

virtual void RE::MagicCaster::ClearMagicNode ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ DeselectSpellImpl()

virtual void RE::MagicCaster::DeselectSpellImpl ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ FindPickTarget()

MagicTarget* RE::MagicCaster::FindPickTarget ( NiPoint3 a_targetLocation,
TESObjectCELL **  a_targetCell,
bhkPickData a_pickData 
)

◆ FindTargets()

bool RE::MagicCaster::FindTargets ( float  a_effectivenessMult,
std::uint32_t &  a_targetCount,
TESBoundObject a_source,
bool  a_loadCast,
bool  a_adjustOnlyHostileEffectiveness 
)

◆ FindTouchTarget()

virtual void RE::MagicCaster::FindTouchTarget ( )
virtual

◆ FinishCast()

void RE::MagicCaster::FinishCast ( )

◆ FinishCastImpl()

virtual void RE::MagicCaster::FinishCastImpl ( )
virtual

◆ FinishLoadGame()

virtual void RE::MagicCaster::FinishLoadGame ( BGSLoadGameBuffer a_buf)
virtual

Reimplemented in RE::ActorMagicCaster.

◆ GetCasterAsActor()

virtual Actor* RE::MagicCaster::GetCasterAsActor ( ) const
virtual

◆ GetCasterObjectReference()

virtual TESObjectREFR* RE::MagicCaster::GetCasterObjectReference ( Actor **  a_outCaster) const
virtual

Reimplemented in RE::NonActorMagicCaster.

◆ GetCasterStatsObject()

virtual TESObjectREFR* RE::MagicCaster::GetCasterStatsObject ( ) const
virtual

◆ GetCastingSource()

virtual MagicSystem::CastingSource RE::MagicCaster::GetCastingSource ( ) const
virtual

Reimplemented in RE::ActorMagicCaster.

◆ GetCurrentSpellCost()

float RE::MagicCaster::GetCurrentSpellCost ( )

◆ GetIsDualCasting()

virtual bool RE::MagicCaster::GetIsDualCasting ( ) const
virtual

Reimplemented in RE::ActorMagicCaster.

◆ GetMagicNode()

virtual NiNode* RE::MagicCaster::GetMagicNode ( )
virtual

◆ InterruptCast()

void RE::MagicCaster::InterruptCast ( bool  a_refund)

◆ InterruptCastImpl()

virtual void RE::MagicCaster::InterruptCastImpl ( bool  a_depleteEnergy)
virtual

Reimplemented in RE::ActorMagicCaster.

◆ LoadGame()

virtual void RE::MagicCaster::LoadGame ( BGSLoadGameBuffer a_buf)
virtual

◆ PlayReleaseSound()

void RE::MagicCaster::PlayReleaseSound ( MagicItem a_item)

◆ PrepareSound()

virtual void RE::MagicCaster::PrepareSound ( MagicSystem::SoundID  a_sound,
MagicItem a_spell 
)
virtual

Reimplemented in RE::ActorMagicCaster.

◆ RequestCastImpl()

virtual void RE::MagicCaster::RequestCastImpl ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ SaveGame()

virtual void RE::MagicCaster::SaveGame ( BGSSaveGameBuffer a_buf)
virtual

◆ SelectSpellImpl()

virtual void RE::MagicCaster::SelectSpellImpl ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ SetCastingTimerForCharge()

virtual void RE::MagicCaster::SetCastingTimerForCharge ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ SetCurrentSpell()

void RE::MagicCaster::SetCurrentSpell ( MagicItem a_item)

◆ SetCurrentSpellImpl()

virtual void RE::MagicCaster::SetCurrentSpellImpl ( MagicItem a_spell)
virtual

Reimplemented in RE::ActorMagicCaster.

◆ SetDualCasting()

virtual void RE::MagicCaster::SetDualCasting ( bool  a_set)
virtual

Reimplemented in RE::ActorMagicCaster.

◆ SetSkipCheckCast()

virtual void RE::MagicCaster::SetSkipCheckCast ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ SpellCast()

virtual void RE::MagicCaster::SpellCast ( bool  a_doCast,
std::uint32_t  a_arg2,
MagicItem a_spell 
)
virtual

Reimplemented in RE::ActorMagicCaster.

◆ StartCastImpl()

virtual void RE::MagicCaster::StartCastImpl ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ StartChargeImpl()

virtual bool RE::MagicCaster::StartChargeImpl ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ StartReadyImpl()

virtual void RE::MagicCaster::StartReadyImpl ( )
virtual

Reimplemented in RE::ActorMagicCaster.

◆ TestProjectilePlacement()

bool RE::MagicCaster::TestProjectilePlacement ( const Effect a_effect,
const bhkPickData a_pickData 
)

◆ UpdateImpl()

void RE::MagicCaster::UpdateImpl ( float  a_delta)

Member Data Documentation

◆ castingTimer

float RE::MagicCaster::castingTimer

◆ currentSpell

MagicItem* RE::MagicCaster::currentSpell

◆ currentSpellCost

float RE::MagicCaster::currentSpellCost

◆ desiredTarget

ObjectRefHandle RE::MagicCaster::desiredTarget

◆ magnitudeOverride

float RE::MagicCaster::magnitudeOverride

◆ nextTargetUpdate

float RE::MagicCaster::nextTargetUpdate

◆ pad24

std::uint32_t RE::MagicCaster::pad24

◆ projectileTimer

float RE::MagicCaster::projectileTimer

◆ RTTI

constexpr auto RE::MagicCaster::RTTI = RTTI_MagicCaster
inlinestaticconstexpr

◆ sounds

BSTArray<BSSoundHandle> RE::MagicCaster::sounds

◆ state

stl::enumeration<State, std::uint32_t> RE::MagicCaster::state

◆ VTABLE

constexpr auto RE::MagicCaster::VTABLE = VTABLE_MagicCaster
inlinestaticconstexpr

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