Mod:Creation Kit/Actor Script

Extends: ObjectReference Script

Editor: Actor

Script for the manipulation of actor instances.

Properties
None

Structs

 * Struct WornItem
 * A structure that holds information about an actors Biped Slot.

Global Functions
None

Member Functions

 * Function AddPerk(Perk akPerk, bool abNotify)
 * Adds the specified perk to this actor.
 * bool Function AddSpell(Spell akSpell, bool abVerbose)
 * Adds the specified spell to this actor.
 * Function AddToFaction(Faction akFaction)
 * Adds the actor to the specified faction at rank 0. If the Actor is already in the given faction, this function does nothing.
 * Function AllowBleedoutDialogue(bool abCanTalk)
 * Flags this actor as able to speak to the player when he is in bleed out and is essential down
 * Function AllowCompanion(bool MakeCompanionIfNoneCurrently, bool ForceCompanion)
 * Tells this actor it is now allowed to be a companion
 * Function AllowPCDialogue(bool abTalk)
 * Enables or disables the player's ability to talk to this actor.
 * Function AttachAshPile(Form akAshPileBase)
 * Attaches an "ash pile" to this actor using the passed-in form (or leveled item list) as a base.
 * Function AttemptAnimationSetSwitch
 * Changes the MT and Weapon character subgraphs if there are different ones to load based on data changes (usually added keywords)
 * bool Function CanFlyHere
 * Can this actor fly here?
 * bool Function ChangeAnimArchetype(keyword apKeyword)
 * Changes this actor's anim archetype
 * Function ChangeAnimFaceArchetype(keyword apKeyword)
 * Adds the specified AnimFaceArchetype keyword to this actor.
 * bool Function ChangeAnimFlavor(keyword apKeyword)
 * Changes this actor's anim flavor
 * Function ChangeHeadPart(HeadPart apHeadPart, bool abRemovePart, bool abRemoveExtraParts)
 * Change or add this HeadPart to the actor
 * Function ClearArrested
 * Clears this actor's arrested state.
 * Function ClearExpressionOverride
 * Clears out any expression override that has been set on this actor.
 * Function ClearExtraArrows
 * Clears any arrow 3d on the actor.
 * Function ClearForcedLandingMarker
 * Clears any forced landing marker on this actor.
 * Function ClearLookAt
 * Clears this actor's script-forced look at target.
 * Function DisallowCompanion(bool SuppressDismissMessage)
 * Tell the actor it is no longer allowed to be a companion.
 * Function Dismember(string asBodyPart, bool abForceExplode, bool abForceDismember, bool abForceBloodyMess)
 * Dismember a limb from this actor.
 * Function Dismount
 * Forces the actor to dismount.
 * Function DispelAllSpells
 * Dispel all spell from this actor
 * bool Function DispelSpell(Spell akSpell)
 * Dispel a spell from this actor
 * Function DoCombatSpellApply(Spell akSpell, ObjectReference akTarget)
 * Apply a spell to a target in combat
 * Function DogDropItems
 * Tells the dog to drop the items they're carrying
 * Function DogPlaceInMouth(Form akItem)
 * Attempts to place the item in this dog's mouth.
 * Function DrawWeapon native
 * Forces this actor to draw his weapon.
 * Function EnableAI(bool abEnable, bool abPauseVoice)
 * Enables or disables this actor's AI, pausing their voice mid-line if desired.
 * Function EndDeferredKill
 * Ends an actor's Deferred Kill state. Called after StartDeferredKill
 * Function EquipItem(Form akItem, bool abPreventRemoval, bool abSlient)
 * Equips the specified item on this actor.
 * Function EquipSpell(Spell akSpell, int aiSource)
 * Forces this actor to equip this spell, in the specified source.
 * Function EvaluatePackage(bool abResetAI)
 * Forces the AI to re-evaluate its package stack.
 * Function FollowerFollow
 * Tells this follower to follow the player.
 * Function FollowerWait
 * Tells this follower to stay.
 * Function FollowerSetDistanceNear
 * Sets the follower's follow distance to near.
 * Function FollowerSetDistanceMedium
 * Sets the follower's follow distance to medium.
 * Function FollowerSetDistanceFar
 * Sets the follower's follow distance to far.
 * ActorBase Function GetActorBase
 * Gets the ActorBase of the actor
 * Actor[] Function GetAllCombatTargets
 * Get all actors that are combat targets of this one.
 * int Function GetBribeAmount
 * Returns the amount of gold required to bribe this actor.
 * Faction Function GetCrimeFaction
 * Obtains this actor's crime faction.
 * int Function GetCombatState
 * Obtains this actor's current combat state.
 * Actor Function GetCombatTarget
 * Obtains this actor's current combat target.
 * Package Function GetCurrentPackage
 * Obtains the current package this actor's AI is running.
 * Actor Function GetDialogueTarget
 * Obtains the actor's current dialogue target
 * int Function GetEquippedItemType(int aiEquipIndex)
 * Obtains the type of item equipped in the specified equip index.
 * Armor Function GetEquippedShield
 * Obtains the currently equipped shield on this actor.
 * Spell Function GetEquippedSpell(int aiSource)
 * Obtains the currently equipped spell in the specified source on this actor.
 * Weapon Function GetEquippedWeapon(int aiEquipIndex)
 * Obtains the currently equipped weapon on this actor.
 * int Function GetFactionRank(Faction akFaction)
 * Retrieves this actor's rank in the specified faction.
 * int Function GetFactionReaction(Actor akOther)
 * Obtains this actor's faction-based reaction to the other actor.
 * int Function GetFlyingState
 * Obtains this actor's current flying state.
 * ObjectReference Function GetForcedLandingMarker
 * Obtains the landing marker the actor is forced to land at (if any).
 * int Function GetGoldAmount
 * Gets the amount of gold this actor has on his person.
 * int Function GetHighestRelationshipRank
 * Gets this actor's highest relationship rank.
 * Actor Function GetKiller
 * Gets this actor's killer. Returns None if this actor isn't dead.
 * int Function GetLevel native
 * Gets this actor's current level.
 * ActorBase Function GetLeveledActorBase
 * Returns a leveled actor's "temporary" base object.
 * float Function GetLightLevel
 * Returns this actor's current light level
 * int Function GetLowestRelationshipRank
 * Gets this actor's lowest relationship rank.
 * bool Function GetNoBleedoutRecovery
 * Gets whether this actor can recover from bleedout or not.
 * bool Function GetPlayerControls native
 * Queries whether this actor receives player input
 * Race Function GetRace
 * Returns this actor's race.
 * int Function GetRelationshipRank(Actor akOther)
 * Retrieves the relationship rank between this actor and another.
 * int Function GetSitState
 * Obtains this actor's sit state.
 * int Function GetSleepState
 * Obtains this actor's sleep state.
 * bool Function HasAssociation(AssociationType akAssociation, Actor akOther)
 * Returns whether this actor has the specified association with the other actor.
 * bool Function HasDetectionLOS(ObjectReference akOther)
 * Checks to see if this actor has detection-based line-of-sight to another. (Only the player can do a LOS check to a non-actor)
 * bool Function HasFamilyRelationship(Actor akOther)
 * Returns whether this actor has a family relationship with the other actor.
 * bool Function HasMagicEffect(MagicEffect akEffect)
 * Checks to see if this actor is currently being affected by the given Magic Effect
 * bool Function HasMagicEffectWithKeyword(Keyword akKeyword)
 * Checks to see if this actor is currently being affected by a Magic Effect with the given Keyword
 * bool Function HasParentRelationship(Actor akOther)
 * Returns whether this actor has a parent relationship with the other actor.
 * bool Function HasPerk(Perk akPerk)
 * Checks to see if this actor has the given Perk
 * bool Function HasSpell(Form akForm)
 * Checks to see if this actor has the given Spell or Shout
 * bool Function IsAIEnabled
 * Returns whether this actor's AI is currently enabled
 * bool Function IsAlarmed
 * Obtains whether this actor is alarmed or not.
 * bool Function IsAlerted
 * Returns if this actor is alerted or not.
 * bool Function IsAllowedToFly
 * Is this actor allowed to fly?
 * bool Function IsArrested
 * Returns whether this actor is currently arrested or not.
 * bool Function IsArrestingTarget
 * Is this actor currently arresting his target? Only valid on alerted guards.
 * bool Function IsBeingRidden
 * Is this actor being ridden?
 * bool Function IsBeingRiddenBy(Actor akActor)
 * Is this actor being ridden by a particular actor?
 * bool Function IsBleedingOut
 * Is this actor currently bleeding out?
 * bool Function IsBribed
 * Gets if this actor has been bribe by the player.
 * bool Function IsChild
 * Is this actor a child?
 * bool Function IsCommandedActor
 * Is this actor commanded by another?
 * bool Function IsDead
 * Obtains whether this actor is dead or not.
 * bool Function IsDetectedBy(Actor akOther)
 * Is this actor detected by the other one?
 * bool Function IsDismembered(string asBodyPart)
 * Check to see if a specific limb, or any limb, has been dismembered.
 * bool Function IsDoingFavor
 * Is this actor currently flagged as doing a favor for the player?
 * bool Function IsEquipped(Form akItem)
 * Is the specified object equipped on this actor?
 * bool Function IsEssential
 * Is this actor essential?
 * bool Function IsFlying
 * Is this actor currently flying?
 * bool Function IsGhost
 * Is this actor flagged as a ghost?
 * bool Function IsGuard
 * Obtains whether this actor is a guard or not.
 * bool Function IsHostileToActor(Actor akActor)
 * Is this actor hostile to another actor?
 * bool Function IsInCombat
 * Obtains whether this actor is in combat or not.
 * bool Function IsInFaction(Faction akFaction)
 * Returns whether this actor is in the specified faction.
 * bool Function IsInIronSights
 * Returns whether this actor is currently in iron sights.
 * bool Function IsInKillMove
 * Returns whether this actor is in a kill move or not.
 * bool Function IsInPowerArmor
 * Returns true if the actor is in Power Armor.
 * bool Function IsInScene
 * Returns whether this actor is in a scene.
 * bool Function IsIntimidated
 * Gets if this actor has been intimidated by the player.
 * bool Function IsOnMount
 * Is the actor on a mount?
 * bool Function IsOverEncumbered
 * Is this actor over encumbered?
 * bool Function IsOwner(ObjectReference akObject)
 * Is this actor the owner of the specified reference?
 * bool Function IsPlayersLastRiddenHorse
 * Returns whether this actor is the horse the player last rode.
 * bool Function IsPlayerTeammate
 * Returns whether this actor is currently a teammate of the player.
 * bool Function IsRunning
 * Returns whether this actor is current running.
 * bool Function IsSeatOccupied(Keyword apKeyword)
 * Is this actor being ridden by an actor sitting in a particular seat?
 * bool Function IsSneaking
 * Is this actor currently sneaking?
 * bool Function IsSprinting
 * Is this actor currently sprinting?
 * bool Function IsTalking
 * Is this actor talking
 * bool Function IsTrespassing
 * Returns whether this actor is currently trespassing or not.
 * bool Function IsUnconscious
 * Is this actor currently unconscious?
 * bool Function IsWeaponDrawn
 * Does this actor have his equipped weapon and/or magic spell drawn?
 * Function Kill(Actor akKiller)
 * Kills this actor with the specified actor as the guilty party.
 * Function KillEssential(Actor akKiller)
 * Kills this actor, even if he is essential.
 * Function KillSilent(Actor akKiller)
 * Kills this actor without a kill event with the killer being the guilty party
 * Function MakePlayerFriend
 * Makes the actor a friend of the player.
 * Function MarkItemAsFavorite(Form akItem, int aiSlot)
 * Marks the item as a favorite for the actor.
 * Function ModFactionRank(Faction akFaction, int aiMod)
 * Modifies this actor's rank in the specified faction.
 * Function MoveToPackageLocation
 * Pops this actor to the initial location for its current package.
 * Function OpenInventory(bool abForceOpen)
 * Opens this actor's inventory as if you were pick-pocketing them.
 * bool Function PathToReference(ObjectReference aTarget, float afWalkRunPercent)
 * Makes the actor path to the target reference at the speed given by afWalkRunercent.
 * bool Function PlayIdle(Idle akIdle)
 * Plays the passed idle on this actor.
 * bool Function PlayIdleAction(Action aAction, ObjectReference aTarget)
 * Attempts to find and play an idle on this actor using the provided Action root.
 * bool Function PlayIdleWithTarget(Idle akIdle, ObjectReference akTarget)
 * Plays the passed idle on this actor, overriding the actor's current target with the one given.
 * Function PlaySubGraphAnimation(string asEventName)
 * Sends the event passed to the actor's sub graphs.
 * Function RemoveFromFaction(Faction akFaction)
 * Removes this actor from the specified faction.
 * Function RemoveFromAllFactions
 * Removes this actor from all factions they are associated with.
 * Function RemovePerk(Perk akPerk)
 * Removes the specified perk from this actor.
 * bool Function RemoveSpell(Spell akSpell)
 * Removes the specified spell from this actor.
 * Function ResetHealthAndLimbs
 * Resets this actor's health and limb state.
 * Function Resurrect
 * Resurrects this actor.
 * Function SendAssaultAlarm
 * Has this actor behave as if they were assaulted.
 * Function SendTrespassAlarm(Actor akCriminal)
 * Has this actor behave as if they caught the criminal trespassing
 * Function SetAlert(bool abAlerted)
 * Flags this actor as currently alerted (or clears it)
 * Function SetAllowFlying(bool abAllowed, bool abAllowCrash, bool abAllowSearch)
 * Flags this actor as whether they are allowed to fly or not (lands them if they are flying and not allowed to)
 * Function SetAlpha(float afTargetAlpha, bool abFade)
 * Sets this actor's alpha - optionally fading to that value rather then popping.
 * Function SetAnimArchetypeConfident
 * Set the animation archetype to confident
 * Function SetAnimArchetypeDepressed
 * Set the animation archetype to depressed
 * Function SetAnimArchetypeElderly
 * Set the animation archetype to elderly
 * Function SetAnimArchetypeFriendly
 * Set the animation archetype to friendly
 * Function SetAnimArchetypeIrritated
 * Set the animation archetype to irritated
 * Function SetAnimArchetypeNeutral
 * Set the animation archetype to neutral
 * Function SetAnimArchetypeNervous
 * Set the animation archetype to nervous
 * Function SetAttackActorOnSight(bool abAttackOnSight)
 * Flags this actor to be attacked by all actors when detected.
 * Function SetAvailableToBeCompanion
 * Flags this actor as available to be a companion.
 * Function SetAvoidPlayer(bool abAvoid)
 * Tells actors whether they need to avoid the player when pathing.
 * Function SetBribed(bool abBribe)
 * Sets if this actor is being bribed by the player.
 * Function SetCombatStyle(CombatStyle akCombatStyle)
 * Sets the combat style that the actor uses
 * Function SetCommandState(bool abStartCommandMode)
 * Sets/Unsets the actor in command mode so that we can order them around.
 * Function SetCompanion(bool SetCompanion, bool FillCompanionAlias)
 * Sets/clears this actor as a companion.
 * Function SetCanDoCommand(bool abCanDoCommand)
 * Sets if this actor is can be commanded by the player.
 * Function SetCrimeFaction(Faction akFaction)
 * Sets the faction that this actor reports crimes to.
 * Function SetCriticalStage(int aiStage)
 * Sets this actor's current critical stage (applying any related effects)
 * Function SetDogAnimArchetypeAgitated
 * Sets the animation archetype to dog agitated.
 * Function SetDogAnimArchetypeAlert
 * Sets the animation archetype to dog alert.
 * Function SetDogAnimArchetypeNeutral
 * Sets the animation archetype to dog neutral.
 * Function SetDogAnimArchetypePlayful
 * Sets the animation archetype to dog playful.
 * Function SetDoingFavor(bool abDoingFavor, bool abWorkShopMode)
 * Flags this actor as doing a favor for the player.
 * Function SetEyeTexture(TextureSet akNewTexture)
 * forces the eye texture for this actor to the given texture set
 * Function SetEssential(bool abEssential)
 * Flags this actor as essential or not. An actor cannot both be protected and essential.
 * Function SetFactionRank(Faction akFaction, int aiRank)
 * Sets this actor's rank in the specified faction, adding it to the faction if necessary.
 * Function SetForcedLandingMarker(ObjectReference aMarker)
 * Forces the landing marker for this actor to the passed-in one.
 * Function SetGhost(bool abIsGhost)
 * Sets this actor as a ghost or not.
 * Function SetHasCharGenSkeleton(bool abCharGen)
 * Sets whether or not this character should have a full skeleton for char gen editing.
 * Function SetHeadTracking(bool abEnable)
 * Enables or disables this actor's head tracking.
 * Function SetIntimidated(bool abIntimidate)
 * Sets if this actor is being intimidated by the player.
 * Function SetLookAt(ObjectReference akTarget, bool abPathingLookAt)
 * Sets this actor's look at target, optionally using it for pathing as well.
 * Function SetNoBleedoutRecovery(bool abAllowed)
 * Sets or clears the "no bleedout recovery" flag on this actor.
 * Function SetNotShowOnStealthMeter(bool abNotShow)
 * Sets this actor to not effect the detection level on the stealth meter if he is not hostile to the player
 * Function SetOutfit(Outfit akOutfit,bool abSleepOutfit)
 * Change the default or sleep outfit and queue the models to be worn now.
 * Function SetOverrideVoiceType(VoiceType akVoiceType)
 * Override the voice type for this actor (or clear the override)
 * Function SetPlayerControls(bool abControls)
 * Set/reset whether player input being sent to the actor.
 * Function SetPlayerResistingArrest
 * Flags the player as resisting arrest from this actor's faction.
 * Function SetPlayerTeammate(bool abTeammate, bool abCanDoFavor, bool abGivePlayerXP)
 * Sets (or clears) this actor as a teammate of the player and if the teammate can do favors.
 * Function SetProtected(bool abProtected)
 * Flags this actor as protected or not. An actor cannot both be protected and essential.
 * Function SetRace(Race akRace)
 * Sets the actor's race
 * Function SetRelationshipRank(Actor akOther, int aiRank)
 * Sets the relationship rank between this actor and another.
 * bool Function SetRestrained(bool abRestrained)
 * Flags this actor as restrained or not.
 * Function SetSubGraphFloatVariable(string asVariableName, float afValue) native
 * Set a variable on all of an actor's subgraphs
 * bool Function SetUnconscious(bool abIsUnconscious)
 * Sets this actor as unconscious or not.
 * Function SetVehicle(Actor akVehicle)
 * Attaches or detaches this actor from a vehicle.
 * Function ShowBarterMenu
 * Shows the barter menu for this actor.
 * bool Function SnapIntoInteraction(ObjectReference akTarget)
 * Near-instantly snaps an actor into/onto a furniture/mount
 * Function StartCannibal(Actor akTarget)
 * Has the actor feed on a dead actor.
 * Function StartCombat(Actor akTarget, bool abPreferredTarget)
 * Attempts to initiate combat with the other actor.
 * Function StartDeferredKill native
 * Puts the actor into a Deferred Kill state. End by calling EndDeferredKill
 * Function StartFrenzyAttack(float aChance, float aInterval)
 * Puts the actor into Frenzy attack mode using a random target selector
 * Function StartSneaking
 * Forces this actor to start sneaking.
 * Function StartVampireFeed(Actor akTarget)
 * Has the actor vampire feed on a sleeping actor
 * Function StopCombat
 * Removes this actor from combat.
 * Function StopCombatAlarm
 * Stops all combat and alarms against this actor.
 * Function SwitchToPowerArmor(ObjectReference aArmorFurniture)
 * (near) Instantly snaps the actor into a suit of power armor.
 * bool Function TrapSoul(Actor akTarget)
 * Attempts to soul trap the target actor - and returns if it succeeded or not.
 * Function UnequipAll
 * Unequips all items from this actor.
 * Function UnequipItem(Form akItem, bool abPreventEquip, bool abSilent)
 * Unequips an item from this actor.
 * Function UnequipItemSlot(int aiSlot)
 * Unequips whatever armor the actor has in the specified slot.
 * Function UnequipSpell(Spell akSpell, int aiSource)
 * Unequips the specified spell from the specified source on this actor.
 * Function UnlockOwnedDoorsInCell
 * Has this actor unlock any doors he owns in the cell he's currently in (if it is an interior).
 * bool Function WillIntimidateSucceed
 * Returns whether an intimidation attempt by the player against this actor will succeed or not.
 * bool Function WornHasKeyword(Keyword akKeyword)
 * Returns whether or not this actor is wearing anything with the specified keyword.
 * bool Function WouldBeStealing(ObjectReference akTarget)
 * Returns if the actor would be stealing the object if they took it
 * int Function WouldRefuseCommand(ObjectReference akTarget)
 * Returns if the actor would refuse a command from the player regarding the target object, and why.

F4SE Member Functions

 * WornItem Function GetWornItem(int slotIndex, bool firstPerson)
 * Obtains WornItem information about an actors Biped Slot.
 * ObjectMod Function GetWornItemMods(int slotIndex)
 * Obtains all the ObjectMods for an item at a particular Biped Slot.

Events

 * Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
 * Sent when this actor's combat state changes.
 * Event OnCommandModeCompleteCommand(int aeCommandType, ObjectReference akTarget)
 * Event called when a command is completed by this actor
 * Event OnCommandModeEnter
 * Event called when the player enters command mode with this actor as the commanded actor.
 * Event OnCommandModeExit
 * Event called when the player exits command mode with this actor as the commanded actor.
 * Event OnCommandModeGiveCommand(int aeCommandType)
 * Event called when the player gives a command to this actor via command mode.
 * Event OnCompanionDismiss
 * Event received when this companion is dismissed.
 * Event OnConsciousnessStateChanged(bool abUnconscious)
 * Event called when the consciousness state of this actor changes.
 * Event OnCripple(String asLimbName, bool abCrippled)
 * Event received when this actor has a limb that goes from either healthy to crippled or crippled to healthy.
 * Event OnDeath(Actor akKiller)
 * Event received when this actor dies.
 * Event OnDeferredKill(Actor akKiller)
 * Event received when an actor set to do deferred kills is killed (may be called more than once on a dying actor)
 * Event OnDifficultyChanged(int aOldDifficulty, int aNewDifficulty)
 * Event received when the game's difficulty changes.
 * Event OnDying(Actor akKiller)
 * Event called when the actor begins dying.
 * Event OnEnterBleedout
 * Event received when this actor enters bleedout.
 * Event OnEnterSneaking
 * Event received when this actor enters sneaking.
 * Event OnEscortWaitStart
 * Event called when this actor is running an Escort procedure, and starts waiting for the escorted actor to catch up.
 * Event OnEscortWaitStop
 * Event called when this actor is running an Escort procedure, and stops waiting because they have caught up.
 * Event OnGetUp(ObjectReference akFurniture)
 * Event received when this actor gets up off the specified furniture.
 * Event OnItemEquipped(Form akBaseObject, ObjectReference akReference)
 * Event received when this actor equips an object.
 * Event OnItemUnequipped(Form akBaseObject, ObjectReference akReference)
 * Event received when this actor unequips an object.
 * Event OnKill(Actor akVictim)
 * Event received when the actor kills another.
 * Event OnLocationChange(Location akOldLoc, Location akNewLoc)
 * Event received when the actor moves from one location to another.
 * Event OnPackageChange(Package akOldPackage)
 * Event received when this actor changes away from a package.
 * Event OnPackageEnd(Package akOldPackage)
 * Event received when this actor ends a package.
 * Event OnPackageStart(Package akNewPackage)
 * Event received when this actor starts running a new package.
 * Event OnPartialCripple(ActorValue akActorValue, bool abCrippled)
 * Event called when this actor has a limb that goes from healthy to "partially crippled" or "partially crippled" to healthy.
 * Event OnPickpocketFailed
 * Event called when the player fails to pickpocket this actor.
 * Event OnPlayerCreateRobot(Actor akNewRobot)
 * Event sent to the player when they create a robot.
 * Event OnPlayerEnterVertibird(ObjectReference akVertibird)
 * Event sent to the player when he enters a vertibird
 * Event OnPlayerFallLongDistance(float afDamage)
 * Event received when the player takes falling damage.
 * Event OnPlayerFireWeapon(Form akBaseObject)
 * Event sent to the player when he fires weapon out of combat.
 * Event OnPlayerHealTeammate(Actor akTeammate)
 * Event received when Player heals a teammate
 * Event OnPlayerLoadGame
 * Event received when this actor is the player and the player has just loaded a save game.
 * Event OnPlayerModArmorWeapon(Form akBaseObject, ObjectMod akModBaseObject)
 * Event received when the player modifies an armor or weapon.
 * Event OnPlayerModRobot(Actor akNewRobot, ObjectMod akModBaseObject)
 * Event received when the player modifies a robot.
 * Event OnPlayerSwimming
 * Event sent to the player when he starts swimming.
 * Event OnPlayerUseWorkBench(ObjectReference akWorkBench)
 * Event sent to the player when he uses a workbench
 * Event OnRaceSwitchComplete
 * Event received when this actor finishes switching races.
 * Event OnSit(ObjectReference akFurniture)
 * Event received when this actor sits on the specified furniture.
 * Event OnSpeechChallengeAvailable(ObjectReference akSpeaker)
 * Event sent to player that a speech challenge is available