Talk:AttachAshPile - Actor

Add topic
Active discussions

DisassemblyEdit

A very quick look (disassembly of the executable) at some related functionality suggests that the actor may also act as an enable-state-parent for their ash pile. This is handled separately from the usual enable-state-parent functionality. DavidJCobb (talk) 2019-07-03T17:37:07 (EDT)

Additional findings regarding the creation of an ash pile:
  • The ash pile form must be a LeveledItem form or any subclass of TESBoundObject.
  • The ash pile ref has the following flags set:
    • 0x00000100
    • 0x00000400 (Persistent)
    • 0x00400000
    • 0x08000000 (Navmesh Generation: Bounding Box?)
  • ExtraAshPileRef is stored on both the actor and the ash pile ref, to link them together. This data can only track one other ref, so it's not clear to me what happens if multiple ash piles point to the same actor. ExtraFlags bit 2 is also set on the ash pile exclusively; there are at least some parts of the game's code that rely on the presence of this flag to tell whether they're dealing with the pile or the actor.
Additional findings regarding the behavior of ash piles and their associated actors:
  • TESObjectACTI::GetActivateText checks if the activator ref in question has ExtraAshPileRef; if so, it goes out of its way to check the associated ref's playable item count and display the "Empty" text normally only seen on empty containers. The assumption, then, is that ash piles will be Activators.
  • The code for cell resets seems to go out of its way to handle ash piles; it looks at a glance like if an actor resets, their associated ash pile is flagged as deleted.
  • Behaviors based on checking for ExtraAshPileRef and for the presence of ExtraFlags bit 2:
    • To clarify what I noted back in 2019, the underlying functions for enabling or disabling a ref will go out of their way to check whether the ref has an attached ash pile; if so, the ash pile is correspondingly enabled or disabled as well.
    • If something activates the ash pile, activation is redirected to the actor.
    • The game will not allow the player to grab (Z-key) an actor with an attached ash pile.
  • An actor can't be reanimated if they're dead and if they have or are an attached ash pile ref.
  • For certain non-Door/non-Light refs, ref flag 0x00000100 prevents the game from forcing motion type 5 (Keyframed), and may cause the game to force motion type 1 (Dynamic). I haven't dug through the 3D-loading code deeply enough.
DavidJCobb (talk) 14:15, 26 July 2026 (EDT)
Return to "AttachAshPile - Actor" page.