33 class ActorMagicCaster;
36 class bhkCharacterController;
37 class bhkCharacterMoveFinishEvent;
39 class BSTransformDeltaEvent;
40 class CombatController;
43 class InventoryEntryData;
44 class MovementControllerNPC;
45 class MovementMessageActorCollision;
47 class PackageLocation;
48 class PerkEntryVisitor;
49 class TrespassPackage;
50 struct ActorMotionFeedbackData;
51 struct ActorMotionFeedbackOutput;
52 struct HighProcessData;
53 struct MiddleHighProcessData;
83 return GetAt(
static_cast<char>(a_actorValue));
88 return GetAt(
static_cast<char>(a_actorValue));
96 [[nodiscard]] T* GetAt(
char a_actorValue)
const
100 std::uint32_t idx = 0;
101 while (akVals[idx] !=
'\0') {
102 if (akVals[idx] == a_actorValue) {
108 if (akVals[idx] !=
'\0') {
109 return std::addressof(
entries[idx]);
115 static_assert(
sizeof(LocalMap<float>) == 0x10);
303 void DoTrap2(TrapEntry* a_trap, TargetEntry* a_target)
override;
343 bool IsDead(
bool a_notEssential =
true)
const override;
364 virtual void Resurrect(
bool a_resetInventory,
bool a_attach3D);
403 virtual std::uint32_t
UseAmmo(std::uint32_t a_shotCount);
441 virtual bool IsAtPoint(
const NiPoint3& a_point,
float a_radius,
bool a_expandRadius,
bool a_alwaysTestHeight);
463 virtual void KillImpl(
Actor* a_attacker,
float a_damage,
bool a_sendEvent,
bool a_ragdollInstant);
501 void CastPermanentMagic(
bool a_wornItemEnchantments,
bool a_baseSpells,
bool a_raceSpells,
bool a_everyActorAbility);
710 void CalculateCurrentVendorFaction() const;
711 float CalcEquippedWeight();
714 #ifndef SKYRIM_SUPPORT_AE
715 static_assert(
sizeof(
Actor) == 0x2B0);
717 static_assert(
sizeof(
Actor) == 0x2B8);
constexpr bool all(Args... a_args) const noexcept requires(std
Definition: EnumSet.h:99
Definition: AIProcess.h:113
Definition: ActorMagicCaster.h:22
Definition: ActorMover.h:8
Definition: ActorState.h:93
Definition: ActorValueOwner.h:8
virtual BSContainer::ForEachResult Visit(SpellItem *a_spell)=0
static constexpr auto RTTI
Definition: Actor.h:263
static constexpr auto VTABLE
Definition: Actor.h:264
virtual ~ForEachSpellVisitor()=default
bool IsCommandedActor() const
void StopInteractingQuick(bool a_unk02)
NiPoint3 editorLocCoord
Definition: Actor.h:664
virtual void InitiateCannibalPackage(Actor *a_target)
void UpdateRegenDelay(ActorValue a_actorValue, float a_regenDelay)
virtual void PlayPickUpSound(TESBoundObject *a_object, bool a_pickup, bool a_use)
REX::EnumSet< BOOL_FLAGS, std::uint32_t > boolFlags
Definition: Actor.h:688
virtual bool GetVampireFeed()
virtual float GetRunSpeed()
virtual void Unk_C9(void)
ObjectRefHandle GetOccupiedFurniture() const
virtual void PickUpObject(TESObjectREFR *a_object, std::int32_t a_count, bool a_arg3=false, bool a_playSound=true)
bool GetRider(NiPointer< Actor > &a_outRider)
float GetActorValueModifier(ACTOR_VALUE_MODIFIER a_modifier, ActorValue a_value) const
MagicItem * selectedSpells[SlotTypes::kTotal]
Definition: Actor.h:682
virtual void ProcessTracking(float a_delta, NiAVObject *a_obj3D)
std::uint8_t unk272
Definition: Actor.h:702
virtual void UpdateNoAI(float a_delta)
EmotionType emotionType
Definition: Actor.h:674
TESFaction * GetVendorFaction()
NiPoint3 GetBoundMin() const override
BGSAnimationSequencer * GetSequencer(void) const override
bool IsChild() const override
Modifiers staminaModifiers
Definition: Actor.h:693
void SaveGame(BGSSaveFormBuffer *a_buf) override
void Unk_69(void) override
MagicTarget * GetMagicTarget() override
virtual void RemoveCrimeGoldValue(TESFaction *a_faction, bool a_violent, std::int32_t a_amount)
std::int32_t RequestDetectionLevel(Actor *a_target, DETECTION_PRIORITY a_priority=DETECTION_PRIORITY::kNormal)
bool ProcessInWater(hkpCollidable *a_collidable, float a_waterHeight, float a_deltaTime) override
BOOL_FLAGS
Definition: Actor.h:193
@ kSceneHeadTrackRotation
@ kDoNotShowOnStealthMeter
@ kForceOneAnimgraphUpdate
@ kAllowInstantFurniturePopInPlayerCell
@ kCheckAddEffectDualCast
@ kCanSpeakToEssentialDown
bool ShouldPerformRevert() const override
void AddToFaction(TESFaction *a_faction, std::int8_t a_rank)
void UpdateSoundCallBack(bool a_endSceneAction) override
virtual void Unk_106(void)
virtual ActorHandle QLastRiddenMount() const
std::uint8_t WhoIsCasting()
bool HasShout(TESShout *a_shout) const
bool IsDualCasting() const
static NiPointer< Actor > LookupByHandle(RefHandle a_refHandle)
virtual float CalcUnarmedDamage()
NiPoint3 GetLookingAtLocation() const override
float GetTrackedDamage() const
std::uint32_t unk1E8
Definition: Actor.h:684
virtual bool IsInCombat() const
AITimeStamp calculateVendorFactionTimer
Definition: Actor.h:673
virtual void WeaponSwingCallBack()
bool GetMountedBy(NiPointer< Actor > &a_outRider)
virtual void EndDialogue()
virtual bool CalculateCachedOwnerIsInCombatantFaction() const
virtual void Unk_C4(void)
bhkCharacterController * GetCharController() const
TESFaction * GetCrimeFaction()
virtual void SetPosition(const NiPoint3 &a_pos, bool a_updateCharController)
float GetRegenDelay(ActorValue a_actorValue) const
void MoveHavok(bool a_forceRec) override
std::int32_t thiefCrimeStamp
Definition: Actor.h:660
ObjectRefHandle RemoveItem(TESBoundObject *a_item, std::int32_t a_count, ITEM_REMOVE_REASON a_reason, ExtraDataList *a_extraList, TESObjectREFR *a_moveToRef, const NiPoint3 *a_dropLoc=0, const NiPoint3 *a_rotate=0) override
void DispelAlteredStates(RE::EffectArchetype a_exception)
void SetFireNode(NiNode *a_fireNode) override
bool IsCurrentShout(SpellItem *a_power)
virtual void InitiateSpectator(Actor *a_target)
TESObjectARMO * GetWornArmor(BGSBipedObjectForm::BipedObjectSlot a_slot, bool a_noInit=false)
virtual void SetVampireFeed(bool a_set)
virtual void RemoveCharController()
NiAVObject * Load3D(bool a_arg1) override
virtual void Unk_C5(void)
virtual const BSFixedString & GetResponseString() const
bool RemoveSpell(SpellItem *a_spell)
bool OnAddCellPerformQueueReference(TESObjectCELL &a_cell) const override
Modifiers healthModifiers
Definition: Actor.h:691
virtual ObjectRefHandle DropObject(const TESBoundObject *a_object, ExtraDataList *a_extraList, std::int32_t a_count, const NiPoint3 *a_dropLoc=0, const NiPoint3 *a_rotate=0)
virtual void OnItemEquipped(bool a_playAnim)
Actor * GetTargetStatsObject() override
FIGHT_REACTION GetFactionReaction(Actor *a_other) const
MagicCaster * GetMagicCaster(MagicSystem::CastingSource a_source) override
void RemoveExtraArrows3D()
std::int32_t actionValue
Definition: Actor.h:661
virtual void SetCannibal(bool a_set)
NiPoint3 GetStartingAngle() const override
void Revert(BGSLoadFormBuffer *a_buf) override
bool IsTrespassing() const
void AllowPCDialogue(bool a_talk)
void AddObjectToContainer(TESBoundObject *a_object, ExtraDataList *a_extraList, std::int32_t a_count, TESObjectREFR *a_fromRefr) override
virtual void Unk_D1(void)
bool HasLineOfSight(TESObjectREFR *a_ref, bool &a_arg2)
std::int32_t GetGoldAmount(bool a_noInit=false)
bool AddAnimationGraphEventSink(BSTEventSink< BSAnimationGraphEvent > *a_sink) const
const TESFaction * GetCrimeFaction() const
bool ShouldSaveAnimationOnSaving() const override
virtual EmotionType GetEmotionType()
void InitHavok() override
void InitiateDoNothingPackage()
std::uint32_t emotionValue
Definition: Actor.h:675
NiAVObject * GetHeadPartObject(BGSHeadPart::HeadPartType a_type)
virtual bool CheckCast(MagicItem *a_spell, bool a_dualCast, MagicSystem::CannotCastReason *a_reason)
virtual std::uint32_t GetEmotionValue()
virtual void GetEyeVector(NiPoint3 &a_origin, NiPoint3 &a_direction, bool a_includeCameraOffset)
virtual void RemoveTemporaryPerk(BGSPerk *a_perk)
ActorHandle currentCombatTarget
Definition: Actor.h:655
virtual void StartPowerAttackCoolDown()
void SetDelete(bool a_set) override
BGSDialogueBranch * GetExclusiveBranch() const override
void RemoveWeapon(BIPED_OBJECT equipIndex) override
static constexpr auto RTTI
Definition: Actor.h:138
NiNode * GetFireNode() override
std::uint8_t unk273
Definition: Actor.h:703
bool IsBeingRidden() const
virtual void InitiateGetUpPackage()
void DoMoveToHigh() override
float GetAimHeading() const
void UnequipItem(std::uint64_t a_arg1, TESBoundObject *a_object) override
void ClearExpressionOverride()
virtual bool IsInFaction(const TESFaction *faction) const
std::uint32_t lastSeenTime
Definition: Actor.h:696
virtual void SetCrimeGoldValue(TESFaction *a_faction, bool a_violent, std::uint32_t a_amount)
virtual bool ShouldRespondToActorCollision(const MovementMessageActorCollision &a_msg, const ActorHandlePtr &a_target)
virtual void Unk_B4(void)
virtual bool InitiateTresPassPackage(TrespassPackage *a_trespassPackage)
virtual void Unk_117(void)
TESAmmo * GetCurrentAmmo() const override
std::uint32_t unk178
Definition: Actor.h:677
virtual void Update(float a_delta)
virtual CombatGroup * GetCombatGroup() const
virtual void Unk_123(void)
void SetHeading(float a_angle)
void Unk_67(void) override
std::uint32_t pad1EC
Definition: Actor.h:685
bool UpdateInDialogue(DialogueResponse *a_response, bool a_unused) override
virtual void UpdateCombatControllerSettings()
float armorBaseFactorSum
Definition: Actor.h:699
void SetLooking(float a_angle)
ActorHandle CreateRefHandle()
BSTSmartPointer< BipedAnim > biped
Definition: Actor.h:697
virtual void UnlockWord(TESWordOfPower *a_power)
ActorHandle myKiller
Definition: Actor.h:656
virtual float GetWalkSpeed()
Modifiers voicePointsModifiers
Definition: Actor.h:694
ObjectRefHandle dialogueItemTarget
Definition: Actor.h:654
TESRace * race
Definition: Actor.h:686
void SetCurrentScene(BGSScene *a_scene) override
bool GetMount(NiPointer< Actor > &a_outMount)
virtual bool MoveToHigh()
bool MagicTargetIsActor() const override
virtual bool MovetoMiddleLow()
virtual void PotentiallyFixRagdollState()
void SwitchRace(TESRace *a_race, bool a_player)
virtual void DetachArrow(const BSTSmartPointer< BipedAnim > &a_biped)
SOUL_LEVEL GetSoulSize() const
bool IsDoingFavor() const
virtual void Unk_B3(void)
static constexpr auto VTABLE
Definition: Actor.h:139
ActorMagicCaster * magicCasters[SlotTypes::kTotal]
Definition: Actor.h:681
TESObjectARMO * GetWornArmor(FormID a_formID, bool a_noInit=false)
void TryUpdateActorLastSeenTime() override
bool CanUseIdle(TESIdleForm *a_idle) const
float lastUpdate
Definition: Actor.h:695
bool SetSleepOutfit(BGSOutfit *a_outfit, bool a_update3D)
void SetExclusiveBranch(BGSDialogueBranch *a_branch) override
TESObjectARMO * GetSkin() const
NiPoint3 GetBoundMax() const override
void UpdateWeaponAbility(TESForm *a_weapon, ExtraDataList *a_extraData, bool a_leftHand)
virtual void SetSpeakingDone(bool a_set)
bool GetPlayerControls() const
bool IsHostileToActor(Actor *a_actor)
virtual void DrawWeaponMagicHands(bool a_draw)
const InventoryEntryData * GetAttackingWeapon() const
virtual void ForEachPerk(PerkEntryVisitor &a_visitor) const
void Set3D(NiAVObject *a_object, bool a_queue3DTasks=true) override
BOOL_BITS
Definition: Actor.h:156
@ kForceUpdateQuestTarget
@ kIgnoreChangeAnimationCall
BGSDialogueBranch * exclusiveBranch
Definition: Actor.h:690
virtual void Unk_EA(void)
virtual void CheckTempModifiers()
float GetWarmthRating() const
TESObjectARMO * GetSkin(BGSBipedObjectForm::BipedObjectSlot a_slot, bool a_noInit=false)
virtual void Unk_C6(void)=0
virtual void ForEachPerkEntry(EntryPoint a_entryType, PerkEntryVisitor &a_visitor) const
TESForm * GetEquippedObject(bool a_leftHand) const
void DoReset3D(bool a_updateWeight)
bool IsOverEncumbered() const
virtual bool QSpeakingDone() const
double GetMoveDirectionRelativeToFacing()
void Unk_68(void) override
void Unk_78(void) override
bool IsAngryWithPlayer() const
Definition: Actor.h:582
TESShout * GetCurrentShout()
void TrespassAlarm(TESObjectREFR *a_ref, TESForm *a_ownership, std::int32_t a_crime)
virtual void PayFine(TESFaction *a_faction, bool a_goToJail, bool a_removeStolenItems)
virtual void Unk_105(void)
void DoTrap2(TrapEntry *a_trap, TargetEntry *a_target) override
void Predestroy() override
bool AddWornItem(TESBoundObject *a_item, std::int32_t a_count, bool a_forceEquip, std::uint32_t a_arg4, std::uint32_t a_arg5) override
void Unk_75(void) override
virtual void SetActorStartingPosition()
void UpdateArmorAbility(TESForm *a_armor, ExtraDataList *a_extraData)
Modifiers magickaModifiers
Definition: Actor.h:692
virtual void UpdateCharacterControllerSimulationSettings(bhkCharacterController &a_controller)
std::uint64_t unk278
Definition: Actor.h:705
virtual void SetLastRiddenMount(ActorHandle a_mount)
static constexpr auto FORMTYPE
Definition: Actor.h:140
void Update3DPosition(bool a_warp) override
virtual void ModifyMovementData(float a_delta, NiPoint3 &a_arg3, NiPoint3 &a_arg4)
bool AddSpell(SpellItem *a_spell)
virtual void WornArmorChanged(void)
void RemoveOutfitItems(BGSOutfit *a_outfit)
ActorValueStorage avStorage
Definition: Actor.h:689
bool IsDead(bool a_notEssential=true) const override
void ProcessVATSAttack(MagicCaster *a_caster, bool a_hasTargetAnim, TESObjectREFR *a_target, bool a_leftHand)
TESPackage * GetCurrentPackage()
void SetParentCell(TESObjectCELL *a_cell) override
virtual Actor * SetUpTalkingActivatorActor(Actor *a_target, Actor *&a_activator)
virtual bool HasPerkEntries(EntryPoint a_entryType) const
void SetActionComplete(bool a_set) override
void SetPlayerControls(bool a_enable)
NiPointer< Actor > GetCommandingActor() const
virtual std::uint32_t UseAmmo(std::uint32_t a_shotCount)
virtual bool MoveToMiddleHigh()
virtual void GoToPrison(TESFaction *a_faction, bool a_removeInventory, bool a_realJail)
void UpdateAnimation(float a_delta) override
float voiceTimer
Definition: Actor.h:658
virtual void HandleHealthDamage(Actor *a_attacker, float a_damage)
void StopMoving(float a_delta)
std::uint32_t GetCollisionFilterInfo(std::uint32_t &a_outCollisionFilterInfo)
bool IsInCastPowerList(SpellItem *a_power)
void EnableAI(bool a_enable)
void DeselectSpell(SpellItem *a_spell)
REX::EnumSet< BOOL_BITS, std::uint32_t > boolBits
Definition: Actor.h:649
TESFaction * vendorFaction
Definition: Actor.h:672
virtual bhkCharacterController * Move(float a_arg2, const NiPoint3 &a_position)
virtual void UpdateAlpha()
bool CanTalkToPlayer() const
void AllowBleedoutDialogue(bool a_canTalk)
void ForceEditorLocation(BGSLocation *a_location) override
virtual void SetSize(float a_size)
bool HasOutfitItems(BGSOutfit *a_outfit)
HighProcessData * GetHighProcess() const
TESPackage * unk150
Definition: Actor.h:670
TESForm * GetEquippedObjectInSlot(const BGSEquipSlot *slot) const
void DoTrap1(TrapData &a_data) override
std::uint32_t unk174
Definition: Actor.h:676
bool HasSpell(SpellItem *a_spell) const
float armorRating
Definition: Actor.h:698
const TESFaction * GetVendorFaction() const
TESNPC * GetTemplateBase()
virtual void AttachArrow(const BSTSmartPointer< BipedAnim > &a_biped)
virtual bool GetCannibal()
REX::W32::CRITICAL_SECTION unk288
Definition: Actor.h:707
virtual float GetArmorBaseFactorSum()
virtual float CheckClampDamageModifier(ActorValue a_av, float a_delta)
constexpr bool IsInKillMove() const noexcept
Definition: Actor.h:598
virtual bool PutActorOnMountQuick()
virtual void ApplyTemporaryPerk(BGSPerk *a_perk)
BSFaceGenAnimationData * GetFaceGenAnimationData() override
virtual void CreateMovementController()
virtual void KillImpl(Actor *a_attacker, float a_damage, bool a_sendEvent, bool a_ragdollInstant)
virtual bool CalculateCachedOwnerIsNPC() const
virtual float CalcArmorRating()
virtual void ModCrimeGoldValue(TESFaction *a_faction, bool a_violent, std::int32_t a_amount)
BSSimpleList< ActiveEffect * > * GetActiveEffectList() override
void Unk_96(void) override
virtual void SetAlpha(float a_alpha=1.0)
void StealAlarm(TESObjectREFR *a_ref, TESForm *a_object, std::int32_t a_num, std::int32_t a_total, TESForm *a_owner, bool a_allowWarning)
bool CanPickpocket() const
std::uint8_t unk271
Definition: Actor.h:701
std::int32_t GetFactionRank(TESFaction *a_faction, bool a_isPlayer)
float underWaterTimer
Definition: Actor.h:659
bool IsAnimationDriven() const
void ClearExtraArrows()
Definition: Actor.h:510
REX::EnumSet< ACTOR_CRITICAL_STAGE, std::uint32_t > criticalStage
Definition: Actor.h:651
void RemoveCastScroll(SpellItem *a_spell, MagicSystem::CastingSource a_source)
virtual void ApplyPerksFromBase()
InventoryEntryData * GetEquippedEntryData(bool a_leftHand) const
bool IsInRagdollState() const
bool IsSummoned() const noexcept
virtual bool CheckValidTarget(TESObjectREFR &a_target)
virtual void ServePrisonTime()
float GetTotalCarryWeight()
void SetLifeState(ACTOR_LIFE_STATE a_lifeState)
void RemoveFromFaction(TESFaction *a_faction)
void LoadGame(BGSLoadFormBuffer *a_buf) override
BSTSmallArray< SpellItem * > addedSpells
Definition: Actor.h:680
std::uint32_t intimidateBribeDayStamp
Definition: Actor.h:678
virtual bool IsPowerAttackCoolingDown() const
std::int8_t soundCallBackSet
Definition: Actor.h:700
virtual bool IsAtPoint(const NiPoint3 &a_point, float a_radius, bool a_expandRadius, bool a_alwaysTestHeight)
AIProcess * currentProcess
Definition: Actor.h:653
bool HasKeywordHelper(const BGSKeyword *a_keyword) const override
Actor * GetKiller() const
TESForm * selectedPower
Definition: Actor.h:683
void TryMoveToMiddleLow() override
float GetVoiceRecoveryTime()
std::uint32_t unk274
Definition: Actor.h:704
virtual float GetFastWalkSpeed()
BGSLocation * GetEditorLocation1() const override
const TESShout * GetCurrentShout() const
void VisitSpells(ForEachSpellVisitor &a_visitor)
void UpdateAwakeSound(NiAVObject *a_obj3D)
virtual void Resurrect(bool a_resetInventory, bool a_attach3D)
BGSScene * GetCurrentScene() const override
void CastPermanentMagic(bool a_wornItemEnchantments, bool a_baseSpells, bool a_raceSpells, bool a_everyActorAbility)
virtual void SetRefraction(bool a_enable, float a_refraction)
virtual void RemovePerk(BGSPerk *a_perk)
CombatController * combatController
Definition: Actor.h:671
bool IsLimbGone(std::uint32_t a_limb)
bool PopulateGraphProjectsToLoad(void) const override
bool DetachHavok(NiAVObject *a_obj3D) override
ActorMover * actorMover
Definition: Actor.h:668
BGSLocation * editorLocation
Definition: Actor.h:667
virtual void InitValues()
void FinishLoadGame(BGSLoadFormBuffer *a_buf) override
void ResetInventory(bool a_leveledOnly) override
bool IsCombatTarget(Actor *a_other) const
virtual void UpdateCombat()
virtual void CreateActorMover()
NiPoint3 GetStartingLocation() const override
virtual void InitiateVampireFeedPackage(Actor *a_target, TESObjectREFR *a_furniture)
virtual bool AddShout(TESShout *a_shout)
float GetEquippedWeight()
void PlayASound(BSSoundHandle &a_result, FormID a_formID, bool a_unk03, std::uint32_t a_flags)
virtual bool UpdateFeedbackGraphSpeedAndDirection(const ActorMotionFeedbackOutput &a_output)
std::uint32_t pad0EC
Definition: Actor.h:652
void GetLinearVelocity(NiPoint3 &a_velocity) const override
virtual void StopCombat()
bool IsCasting(MagicItem *a_spell) const
void InitLoadGame(BGSLoadFormBuffer *a_buf) override
float equippedWeight
Definition: Actor.h:687
virtual bool ComputeMotionFeedbackSpeedAndDirection(const ActorMotionFeedbackData &a_data, float a_delta, ActorMotionFeedbackOutput &a_output)
void AddWornOutfit(BGSOutfit *a_outfit, bool a_forceUpdate)
virtual void SetEmotionType(EmotionType a_emotionType)
void InterruptCast(bool a_restoreMagicka) const
virtual void Unk_E9(void)
TESPackage * CheckForCurrentAliasPackage() override
virtual void SetEmotionValue(std::uint32_t a_emotionValue)
virtual void DestroyActorMover()
float editorLocRot
Definition: Actor.h:665
bool SetDefaultOutfit(BGSOutfit *a_outfit, bool a_update3D)
void RemoveAnimationGraphEventSink(BSTEventSink< BSAnimationGraphEvent > *a_sink) const
void InitItemImpl() override
void VisitArmorAddon(TESObjectARMO *a_armor, TESObjectARMA *a_arma, std::function< void(bool a_firstPerson, NiAVObject &a_obj)> a_visitor)
TESRace * GetRace() const
virtual bool CalculateCachedOwnerIsUndead() const
virtual void PutCreatedPackage(TESPackage *a_package, bool a_tempPackage, bool a_createdPackage)
virtual float GetHeading(bool a_ignoreRaceSettings) const
virtual void SetCombatGroup(CombatGroup *a_group)
virtual float GetJogSpeed()
virtual void InitiateFlee(TESObjectREFR *a_fleeRef, bool a_runOnce, bool a_knows, bool a_combatMode, TESObjectCELL *a_cell, TESObjectREFR *a_ref, float a_fleeFromDist, float a_fleeToDist)
bool IsFactionInCrimeGroup(const TESFaction *a_faction) const
virtual void DetachCharController()
MiddleHighProcessData * GetMiddleHighProcess() const
bool GetEditorLocation2(NiPoint3 &a_outPos, NiPoint3 &a_outRot, TESForm *&a_outWorldOrCell, TESObjectCELL *a_fallback) override
void ModifyAnimationUpdateData(BSAnimationUpdateData &a_data) override
BSTSmartPointer< MovementControllerNPC > movementController
Definition: Actor.h:669
virtual void SetBeenAttacked(bool a_set)
bool WouldBeStealing(const TESObjectREFR *a_target) const
void SetObjectReference(TESBoundObject *a_object) override
bool IsPlayerTeammate() const
static bool LookupByHandle(RefHandle a_refHandle, NiPointer< Actor > &a_refrOut)
virtual void UpdateFadeSettings(bhkCharacterController *a_controller)
virtual void UpdateNonRenderSafe(float a_delta)
std::uint64_t unk280
Definition: Actor.h:706
bool IsPowerAttacking() const
float GetAimAngle() const
virtual void AddPerk(BGSPerk *a_perk, std::uint32_t a_rank=0)
void PauseCurrentDialogue(void) override
virtual bool HasBeenAttacked() const
float updateTargetTimer
Definition: Actor.h:650
float checkMyDeadBodyTimer
Definition: Actor.h:657
const TESNPC * GetActorBase() const
virtual std::uint32_t GetCrimeGoldValue(const TESFaction *a_faction) const
virtual bool DrinkPotion(AlchemyItem *a_potion, ExtraDataList *a_extralist)
virtual void UpdateActor3DPosition()
bool ShouldSaveAnimationOnUnloading() const override
void EvaluatePackage(bool a_immediate=false, bool a_resetAI=false)
bool CanOfferServices() const
virtual void OnArmorActorValueChanged()
virtual void Unk_A2(void)
bool TryChangeSkyCellActorsProcessLevel() override
void AddCastPower(SpellItem *a_power)
std::uint16_t GetLevel() const
virtual void SetAvoidanceDisabled(bool a_set)
void DispelWornItemEnchantments()
bool ApplyCurrent(float a_velocityTime, const hkVector4 &a_velocity) override
bool VisitFactions(std::function< bool(TESFaction *a_faction, std::int8_t a_rank)> a_visitor)
std::uint64_t unk180
Definition: Actor.h:679
bool SetDialogueWithPlayer(bool a_flag, bool a_forceGreet, TESTopicInfo *a_topic) override
std::uint32_t unk11C
Definition: Actor.h:663
virtual std::int32_t GetCurrentShoutLevel()
bool HasKeywordString(std::string_view a_formEditorID)
const TESPackage * GetCurrentPackage() const
InventoryEntryData * GetAttackingWeapon()
bool CanAttackActor(Actor *a_actor)
float timerOnAction
Definition: Actor.h:662
TESForm * editorLocForm
Definition: Actor.h:666
virtual void UseSkill(ActorValue a_av, float a_points, TESForm *a_arg3)
bool HasPerk(BGSPerk *a_perk) const
virtual void PrecacheData()
virtual void InitiateDialogue(Actor *a_target, PackageLocation *a_loc1, PackageLocation *a_loc2)
void EndInterruptPackage(bool a_skipDialogue)
virtual float GetAcrobatics() const
Definition: AlchemyItem.h:24
Definition: BGSAnimationSequencer.h:11
Definition: BGSDialogueBranch.h:10
Definition: BGSEquipSlot.h:10
HeadPartType
Definition: BGSHeadPart.h:34
Definition: BGSKeyword.h:10
Definition: BGSLocation.h:68
Definition: BGSOutfit.h:11
BGSEntryPoint::ENTRY_POINT EntryPoint
Definition: BGSPerkEntry.h:25
Definition: BGSScene.h:32
Definition: BSFaceGenAnimationData.h:11
Definition: BSPointerHandleSmartPointer.h:10
Definition: BSTArray.h:378
Definition: BSTEvent.h:143
Definition: BSTSmartPointer.h:37
Definition: BipedAnim.h:42
Definition: CombatController.h:23
Definition: CombatGroup.h:70
Definition: DialogueItem.h:22
Definition: IPostAnimationChannelUpdateFunctor.h:6
Definition: InventoryEntryData.h:15
Definition: MagicCaster.h:25
Definition: MagicItem.h:30
Definition: MagicTarget.h:25
Definition: MovementControllerNPC.h:21
Definition: NiAVObject.h:51
Definition: NiSmartPointer.h:9
Definition: PackageLocation.h:11
Definition: PerkEntryVisitor.h:10
Definition: SpellItem.h:16
Definition: TESBoundObject.h:24
Definition: TESFaction.h:120
Definition: TESObjectARMA.h:28
Definition: TESObjectARMO.h:37
Definition: TESObjectCELL.h:115
Definition: TESObjectREFR.h:114
Definition: TESPackage.h:310
Definition: TESRace.h:146
Definition: TESShout.h:18
Definition: TESTopicInfo.h:42
Definition: TESWordOfPower.h:13
Definition: bhkCharacterController.h:73
const_pointer data() const noexcept
Definition: BSFixedString.h:116
Definition: hkVector4.h:9
Definition: hkpCollidable.h:13
Definition: BSDirectInputManager.h:8
EnumSet(Args...) -> EnumSet< std::common_type_t< Args... >, std::underlying_type_t< std::common_type_t< Args... >>>
ForEachResult
Definition: BSContainer.h:6
CannotCastReason
Definition: MagicSystem.h:13
CastingSource
Definition: MagicSystem.h:27
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_Actor__ForEachSpellVisitor(static_cast< std::uint64_t >(686850))
constexpr REL::ID RTTI_Actor(static_cast< std::uint64_t >(513915))
SOUL_LEVEL
Definition: SoulLevels.h:6
EmotionType
Definition: EmotionTypes.h:6
ActorValue
Definition: ActorValues.h:6
constexpr std::array< REL::ID, 1 > VTABLE_Actor__ForEachSpellVisitor
Definition: Offsets_VTABLE.h:7389
DETECTION_PRIORITY
Definition: DetectionPriorities.h:6
ACTOR_LIFE_STATE
Definition: ActorState.h:8
std::uint32_t FormID
Definition: BSCoreTypes.h:5
constexpr std::array< REL::ID, 10 > VTABLE_Actor
Definition: Offsets_VTABLE.h:7363
ITEM_REMOVE_REASON
Definition: TESObjectREFR.h:65
ACTOR_CRITICAL_STAGE
Definition: Actor.h:56
std::uint32_t RefHandle
Definition: BSCoreTypes.h:6
FIGHT_REACTION
Definition: FightReactions.h:6
Definition: EffectArchetypes.h:65
ACTOR_VALUE_MODIFIER
Definition: ActorValues.h:179
@ kTotal
Definition: ActorValues.h:184
Definition: AITimeStamp.h:6
const T * operator[](ActorValue a_actorValue) const
Definition: Actor.h:86
T * operator[](ActorValue a_actorValue)
Definition: Actor.h:81
BSFixedString actorValues
Definition: Actor.h:92
T * entries
Definition: Actor.h:93
LocalMap< float > baseValues
Definition: Actor.h:115
LocalMap< Modifiers > modifiers
Definition: Actor.h:119
ChangeFlag
Definition: Actor.h:232
@ kLifeState
Definition: Actor.h:233
@ kMerchantContainer
Definition: Actor.h:235
@ kDismemberedLimbs
Definition: Actor.h:236
@ kOverrideModifiers
Definition: Actor.h:241
@ kPackageExtraData
Definition: Actor.h:234
@ kDispModifiers
Definition: Actor.h:238
@ kPermanentModifiers
Definition: Actor.h:242
@ kLeveledActor
Definition: Actor.h:237
@ kTempModifiers
Definition: Actor.h:239
@ kDamageModifiers
Definition: Actor.h:240
RecordFlag
Definition: Actor.h:249
@ kInitiallyDisabled
Definition: Actor.h:253
@ kPersistent
Definition: Actor.h:252
@ kNoAIAcquire
Definition: Actor.h:255
@ kIgnored
Definition: Actor.h:254
@ kDontHavokSettle
Definition: Actor.h:256
@ kStartsDead
Definition: Actor.h:251
@ kDeleted
Definition: Actor.h:250
@ kLeftHand
Definition: Actor.h:146
@ kPowerOrShout
Definition: Actor.h:149
@ kUnknown
Definition: Actor.h:148
@ kTotal
Definition: Actor.h:151
@ kRightHand
Definition: Actor.h:147
ENTRY_POINT
Definition: BGSEntryPoint.h:12
BipedObjectSlot
Definition: BGSBipedObjectForm.h:11
BIPED_OBJECT
Definition: BipedObjects.h:8
Definition: BSAnimationGraphEvent.h:10
Definition: BSAnimationUpdateData.h:10
Definition: BSSoundHandle.h:10
ArchetypeID
Definition: EffectArchetypes.h:8
Definition: HighProcessData.h:61
Definition: MiddleHighProcessData.h:133
float modifiers[ACTOR_VALUE_MODIFIERS::kTotal]
Definition: Actor.h:70