Skip to main content

Torchfire Pillar

Based on game build 714014 | Last updated: 2026-03-07

Overview​

torchfire_pillar defines a visual prefab that produces persistent fire and smoke particle effects. It relies on MakeTorchFire from torchfire_common.lua to construct the entity, and custom logic to configure rendering resources, particle behavior, and envelope definitions (color/scale over lifetime). This is used for environment props like the Torchfire Pillar, providing dynamic lighting and atmospheric visuals.

Usage example​

The component itself is not added manually — it is instantiated as part of a prefab via the MakeTorchFire factory:

-- Inside another prefab's definition (e.g., prefabs/torchfire_pillar.lua itself)
return MakeTorchFire("torchfire_pillar", assets, nil, common_postinit, master_postinit)

Dependencies & tags​

Components used: None directly; uses entity:AddVFXEffect() and EmitterManager. Tags: None identified.

Properties​

No public properties are exposed or initialized. All configuration occurs via factory parameters and runtime function calls.

Main functions​

No standalone public functions are defined outside the factory usage. The file contributes two main setup functions used internally by MakeTorchFire:

  • common_postinit(inst) — Sets up particle effects on the client (non-dedicated servers). Initializes two emitters: one for fire, one for smoke.
  • master_postinit(inst) — Sets inst.fx_offset = -130 (likely for lighting calculation adjustments).

The internal helper functions emit_fire_fn and emit_smoke_fn are used by the emitter callback to spawn particles via effect:AddParticleUV and effect:AddRotatingParticleUV.

Events & listeners​

None identified. Particle emission is handled by EmitterManager callbacks instead of event listeners.