Mermking Gear Buffs
Based on game build 714014 | Last updated: 2026-03-06
Overview
mermking_gear_buffs.lua is a helper factory module that defines three reusable Prefabs (mermking_buff_trident, mermking_buff_crown, mermking_buff_pauldron) for applying temporary buffs to targets when equipped by the Merm King. Each buff functions as a client-side-agnostic debuff entity that binds to a target and modifies outgoing damage, evasion, sanity aura, or damage absorption via external modifier lists. The buffs are automatically cleaned up on target death or detachment.
Usage example
-- Apply the trident buff (5% damage increase)
local tridentBuff = Prefab("mermking_buff_trident")()
tridentBuff.components.debuff:Attach(target)
-- Later, detach the buff manually (optional; also triggers cleanup on death)
tridentBuff.components.debuff:Stop()
Dependencies & tags
Components used: debuff, transform, combat, sanity, health, attackdodger
Tags: Adds CLASSIFIED to each buff instance
Tuning keys used: TUNING.MERMKING_CROWNBUFF_DODGE_COOLDOWN, TUNING.MERMKING_CROWNBUFF_SANITYAURA_MOD, TUNING.MERMKING_PAULDRONBUFF_DEFENSEPERCENT_PLAYER, TUNING.MERMKING_PAULDRONBUFF_DEFENSEPERCENT
Properties
| Property | Type | Default Value | Description |
|---|---|---|---|
| None | — | — | No public properties exposed on the Prefab entities themselves. Buff behavior is driven by callbacks (onattached, ondetached) and attached components. |
Main functions
The module itself exports only the result of three MakeBuff(...) calls (as return expressions), not callable functions. Each returned Prefab entity is a lightweight, non-persistent debuff object.
MakeBuff(name, data)
- Description: Internal helper function that constructs and returns a Prefab for a named gear buff. The buff entity is only created on the master simulation (
TheWorld.ismastersim), otherwise it is immediately destroyed. - Parameters:
name(string) — suffix used in the Prefab name (mermking_buff_..name)data(table) — must contain optionalonattachedandondetachedcallback functions, and optionally aprefabsarray for asset dependencies.
- Returns: Prefab — a ready-to-instantiate prefab factory.
- Error states: If called on the client (
not TheWorld.ismastersim), returnsnil-like result as the prefab function returns early withinst.Remove.
Events & listeners
- Listens to:
deathon the target entity — triggersdebuff:Stop()to remove the buff when the target dies. - Pushes: None — the component does not fire its own events, though attached logic (e.g., attackdodger) may push
attackdodgedon the target.