| 
|   | ~ExtraMagicCaster () override | 
|   | 
| ExtraDataType  | GetType () const override | 
|   | 
| 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_alchStrength, MagicSystem::CannotCastReason *a_reason, bool a_useBaseValueForCost) | 
|   | 
| virtual TESObjectREFR *  | GetCasterStatsObject () const | 
|   | 
| virtual Actor *  | GetCasterAsActor () const | 
|   | 
| virtual TESObjectREFR *  | GetCasterObjectReference (Actor **a_outCaster) const | 
|   | 
| virtual NiNode *  | GetMagicNode () | 
|   | 
| 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) | 
|   | 
| MagicTarget *  | FindPickTarget (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) | 
|   | 
| bool  | TestProjectilePlacement (const Effect &a_effect, const bhkPickData &a_pickData) | 
|   | 
| void  | UpdateImpl (float a_delta) | 
|   |