13 class BGSSaveGameBuffer;
14 class BGSLoadGameBuffer;
77 bool FindTargets(
float a_effectivenessMult, std::uint32_t& a_targetCount,
TESBoundObject* a_source,
bool a_loadCast,
bool a_adjustOnlyHostileEffectiveness);
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: ActiveEffect.h:27
Definition: BGSLoadGameBuffer.h:6
Definition: BGSSaveGameBuffer.h:10
Definition: BSTArray.h:378
Definition: MagicCaster.h:25
virtual bool GetIsDualCasting() const
MagicItem * currentSpell
Definition: MagicCaster.h:90
float currentSpellCost
Definition: MagicCaster.h:93
virtual void SaveGame(BGSSaveGameBuffer *a_buf)
BSTArray< BSSoundHandle > sounds
Definition: MagicCaster.h:87
virtual bool CheckCast(MagicItem *a_spell, bool a_dualCast, float *a_effectStrength, MagicSystem::CannotCastReason *a_reason, bool a_useBaseValueForCost)
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:88
virtual MagicSystem::CastingSource GetCastingSource() const
float magnitudeOverride
Definition: MagicCaster.h:94
virtual NiNode * GetMagicNode()
virtual void FinishCastImpl()
static constexpr auto VTABLE
Definition: MagicCaster.h:28
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 TESObjectREFR * GetCasterObjectReference(Actor **a_outCaster) const
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 Actor * GetCasterAsActor() const
virtual void SetCurrentSpellImpl(MagicItem *a_spell)
virtual void SetCastingTimerForCharge()
float projectileTimer
Definition: MagicCaster.h:96
virtual bool StartChargeImpl()
virtual void SetSkipCheckCast()
virtual void StartReadyImpl()
virtual void StartCastImpl()
void SetCurrentSpell(MagicItem *a_item)
void UpdateImpl(float a_delta)
virtual void SelectSpellImpl()
stl::enumeration< State, std::uint32_t > state
Definition: MagicCaster.h:91
std::uint32_t pad24
Definition: MagicCaster.h:89
float nextTargetUpdate
Definition: MagicCaster.h:95
MagicTarget * FindPickTarget(NiPoint3 &a_targetLocation, TESObjectCELL **a_targetCell, bhkPickData &a_pickData)
State
Definition: MagicCaster.h:31
void InterruptCast(bool a_refund)
virtual void InterruptCastImpl(bool a_depleteEnergy)
virtual TESObjectREFR * GetCasterStatsObject() const
bool TestProjectilePlacement(const Effect &a_effect, const bhkPickData &a_pickData)
float castingTimer
Definition: MagicCaster.h:92
virtual void PrepareSound(MagicSystem::SoundID a_sound, MagicItem *a_spell)
virtual void FindTouchTarget()
Definition: MagicItem.h:30
Definition: MagicTarget.h:29
Definition: TESBoundObject.h:26
Definition: TESObjectCELL.h:119
Definition: TESObjectREFR.h:113
SoundID
Definition: MagicSystem.h:54
CannotCastReason
Definition: MagicSystem.h:13
CastingSource
Definition: MagicSystem.h:27
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_MagicCaster(static_cast< std::uint64_t >(513999))
constexpr std::array< REL::ID, 1 > VTABLE_MagicCaster
Definition: Offsets_VTABLE.h:11973
Definition: bhkPickData.h:11