Scorched Skeleton
Based on game build 714014 | Last updated: 2026-03-07
Overview
The scorched_skeleton prefab is a static, breakable environmental object that appears in specific areas (e.g., the Ruins). It has multiple idle animation variants and responds to the HAMMER action. When hammered to completion, it drops a randomized set of loot (boneshards and ash) and spawns a collapse FX, then destroys itself. It supports game save/load via custom OnSave/OnLoad handlers and is conditionally hidden if the player lacks skeleton-related content.
Usage example
-- Typically created automatically via worldgen; manual instantiation example:
local inst = Prefab("scorched_skeleton", fn)
-- Note: The prefab is instantiated by the engine using its `fn` constructor.
-- Modders should not manually call `fn()`; instead, override worldgen or extend prefabs.
Dependencies & tags
Components used: lootdropper, workable, inspectable, transform, animstate, network, soundemitter
Tags: None explicitly added/removed; relies on engine-provided tags (e.g., buildable, structure via physics setup).
Properties
| Property | Type | Default Value | Description |
|---|---|---|---|
animnum | number | Random from [1,2,3,4,5,6] | Selected animation variant used for idleX animation playback. |
Main functions
This prefab does not define custom public methods beyond event callbacks. Core behavior is implemented via callbacks passed to components.
onhammered(inst)
- Description: Callback triggered when the
workablecomponent finishes hammering. Drops loot, spawns a collapse FX, and removes the entity. - Parameters:
inst(Entity) — the scorched skeleton instance. - Returns: Nothing.
- Error states: N/A.
onsave(inst, data)
- Description: Callback used during save to persist the current animation variant.
- Parameters:
inst(Entity),data(table) — save data table to populate. - Returns: Nothing.
onload(inst, data)
- Description: Callback used during load to restore the animation variant and resume the correct animation.
- Parameters:
inst(Entity),data(table ornil) — loaded save data. - Returns: Nothing.
- Error states: Early exit if
dataordata.animis missing.
Events & listeners
- Listens to: None (custom event callbacks are attached directly as
inst.OnSave/inst.OnLoad, not viaListenForEvent). - Pushes:
entity_droploot— automatically triggered bylootdropper:DropLoot().