Goosplash
Based on game build 714014 | Last updated: 2026-03-05
Overview
goosplash is a prefab generator for non-persistent, non-networked visual effects (FX) used in lava arena and similar encounters. It defines multiple variants (goosplash1 through goosplash8) of splash animations, leveraging two animation banks: gooball_fx (for high-variant splash layers) and lavaarena_hits_splash (for background layer bases). The prefab is constructed dynamically at runtime and is intended to be spawned locally (not on dedicated servers) to reduce overhead. It does not represent a game object with persistent behavior but serves purely as a visual cue.
Usage example
-- Example: Spawning a random goosplash effect at the target's position
local proxy = some_entity.Transform -- e.g., from an NPC or projectile
local splash = CreateEntity()
splash.entity:AddTransform()
splash.entity:AddNetwork()
splash:AddTag("FX")
splash:SetPrefabNameOverride("goosplash")
splash.flip = net_tinybyte(splash.GUID, "goosplash.flip")
splash.flip:set(math.random(4))
splash:DoTaskInTime(0.15 + math.random() * 0.05, function()
PlaySplashAnim(proxy, math.random(8))
end)
Dependencies & tags
Components used: Transform, AnimState, Network (via net_tinybyte)
Tags: Adds FX; checks no internal tags beyond that.
Properties
No public properties are exposed or settable by external code.
Main functions
This module is a prefab factory and does not expose functional methods on components. All logic resides in local helper functions and is invoked during prefab instantiation.
Events & listeners
- Listens to:
animoveron spawned FX entities — triggersinst.Removeto clean up the effect once its animation completes. - Pushes: None identified.