13 class BGSSaveGameBuffer;
14 class BGSLoadGameBuffer;
69 virtual void SaveGame(BGSSaveGameBuffer* a_buf);
76 bool FindTargets(
float a_effectivenessMult, std::uint32_t& a_targetCount,
TESBoundObject* a_source,
bool a_loadCast,
bool a_adjustOnlyHostileEffectiveness);
Definition ActiveEffect.h:27
Definition BGSLoadGameBuffer.h:6
Definition BSTArray.h:377
Definition MagicCaster.h:25
virtual bool GetIsDualCasting() const
virtual bool CheckCast(MagicItem *a_spell, bool a_dualCast, float *a_alchStrength, MagicSystem::CannotCastReason *a_reason, bool a_useBaseValueForCost)
MagicItem * currentSpell
Definition MagicCaster.h:88
virtual NiNode * GetMagicNode()
float currentSpellCost
Definition MagicCaster.h:91
virtual void SaveGame(BGSSaveGameBuffer *a_buf)
BSTArray< BSSoundHandle > sounds
Definition MagicCaster.h:85
bool FindTargets(float a_effectivenessMult, std::uint32_t &a_targetCount, TESBoundObject *a_source, bool a_loadCast, bool a_adjustOnlyHostileEffectiveness)
virtual void RequestCastImpl()
virtual void DeselectSpellImpl()
float GetCurrentSpellCost()
ObjectRefHandle desiredTarget
Definition MagicCaster.h:86
virtual Actor * GetCasterAsActor() const
virtual MagicSystem::CastingSource GetCastingSource() const
float magnitudeOverride
Definition MagicCaster.h:92
MagicTarget * FindPickTarget(NiPoint3 &a_targetLocation, TESObjectCELL **a_targetCell, bhkPickData &a_pickData)
virtual void FinishCastImpl()
virtual void SpellCast(bool a_doCast, std::uint32_t a_arg2, MagicItem *a_spell)
virtual void SetDualCasting(bool a_set)
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 ClearMagicNode()
virtual void LoadGame(BGSLoadGameBuffer *a_buf)
virtual void AdjustActiveEffect(ActiveEffect *a_activeEffect, float a_power, bool a_arg3)
static constexpr auto RTTI
Definition MagicCaster.h:27
virtual void FinishLoadGame(BGSLoadGameBuffer *a_buf)
void PlayReleaseSound(MagicItem *a_item)
virtual void SetCurrentSpellImpl(MagicItem *a_spell)
virtual void SetCastingTimerForCharge()
float projectileTimer
Definition MagicCaster.h:94
virtual bool StartChargeImpl()
virtual void SetSkipCheckCast()
virtual void StartReadyImpl()
virtual void StartCastImpl()
void UpdateImpl(float a_delta)
virtual void SelectSpellImpl()
stl::enumeration< State, std::uint32_t > state
Definition MagicCaster.h:89
std::uint32_t pad24
Definition MagicCaster.h:87
float nextTargetUpdate
Definition MagicCaster.h:93
State
Definition MagicCaster.h:30
void InterruptCast(bool a_refund)
virtual void InterruptCastImpl(bool a_depleteEnergy)
bool TestProjectilePlacement(const Effect &a_effect, const bhkPickData &a_pickData)
float castingTimer
Definition MagicCaster.h:90
virtual void PrepareSound(MagicSystem::SoundID a_sound, MagicItem *a_spell)
virtual void FindTouchTarget()
virtual TESObjectREFR * GetCasterObjectReference(Actor **a_outCaster) const
virtual TESObjectREFR * GetCasterStatsObject() const
Definition MagicItem.h:30
Definition MagicTarget.h:26
Definition TESBoundObject.h:24
Definition TESObjectCELL.h:116
Definition TESObjectREFR.h:112
SoundID
Definition MagicSystem.h:50
CannotCastReason
Definition MagicSystem.h:10
CastingSource
Definition MagicSystem.h:23
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_MagicCaster(513999, 393096, 0x1ee3a98)
Definition bhkPickData.h:11