LethalHUDMessages

Updated a month ago

Features

Death Messages

Randomized messages for all 16 causes of death and 21 specific monsters. When a player dies, an on-screen notification appears with a random message matching how they died or what killed them.

Supported death causes: Unknown, Bludgeoning, Gravity, Blast, Strangulation, Suffocation, Mauling, Gunshots, Crushing, Drowning, Abandoned, Electrocution, Kicking, Burning, Stabbing, Fan

Monster Kill Messages

When a known monster kills a player, the message references that specific monster instead of just the generic cause of death. Each monster has 8 unique kill messages.

Monster Encounter Messages

Non-lethal encounters trigger alerts too — when a monster grabs, haunts, hits, or aggros near a player. Each monster has 6 unique encounter messages with a 15-second cooldown per enemy instance to prevent spam.

Encounters are tracked per-enemy and reset each round. Enemies must be "discovered" (enter an aggressive behavior state) before encounter messages fire.

Event Messages

Optional notifications for in-game events (all off by default):

Event Trigger
Critical Damage Player health drops to ≤20 HP
Ship Leaving Ship autopilot departure
Vote to Leave Someone votes to leave early
Teleporter Regular or inverse teleporter use
Quota Fulfilled Profit quota met
Turret Firing Turret enters firing mode

Two Display Styles

Style Description
Tip (default) Bottom-right popup with "DEATH" or "EVENT" header
GlobalNotification Bottom-center banner with color-coded background

When using GlobalNotification, the banner changes color based on message type:

Type Background Text Color
Death Red White
Event Yellow Black

Message Queue

Messages display for a minimum of 4 seconds each. If multiple messages fire in rapid succession, they queue up and display in order — nothing gets dropped or overwritten.

Modded Enemy Support

Unknown/modded enemies automatically get generic fallback messages that include the enemy's actual name. Works for both kills and encounters (encounters require CustomEnemyEncounterMessages to be enabled).

Enemy Blacklist

Don't want messages for a specific enemy? Add its internal name to the EnemyBlacklist config (comma-separated). Blacklisted enemies produce no messages at all — kills or encounters.


Supported Monsters

All 21 vanilla monsters have unique kill and encounter message pools:

Monster Internal Name
Bracken Flowerman
Jester Jester
Forest Giant ForestGiant
Eyeless Dog MouthDog
Thumper Crawler
Hygrodere Blob
Snare Flea Centipede
Spider SandSpider
Baboon Hawk BaboonHawk
Nutcracker NutcrackerEnemy
Coilhead SpringMan
Mimic / Masked MaskedPlayerEnemy
Ghost Girl DressGirl
Butler Butler
Barber ClaySurgeon
Maneater CaveDweller
Hoarding Bug HoarderBug
Earth Leviathan SandWorm
Old Bird RadMech
Circuit Bees RedLocustBees
Mask Hornets ButlerBees

Any enemy not in this list uses the generic fallback pool with the enemy's actual name substituted in.


Configuration

Config file is auto-generated on first launch at:

BepInEx/config/com.github.luckofthelefty.LethalHUDMessages.cfg

Display

Setting Default Description
NotificationStyle Tip Tip = bottom-right popup with header. GlobalNotification = bottom-center color-coded banner.

Debug

Setting Default Description
EnableTestMode false Enable debug hotkeys (F8-F11) to test messages without needing to die.

Player Events

Setting Default Description
CriticalDamageMessages false Alert when a player's health drops to critical (≤20 HP).

Ship Events

Setting Default Description
ShipLeavingMessages false Alert when the ship is leaving.
VoteToLeaveMessages false Alert when someone votes to leave early.
TeleporterMessages false Alert when the regular or inverse teleporter is used.
QuotaFulfilledMessages false Alert when the profit quota is met.

Monster Encounters

Setting Default Description
MonsterEncounterMessages true Show non-lethal monster encounter messages.
CustomEnemyEncounterMessages true Show generic encounter messages for modded/unknown enemies.
EnemyBlacklist (empty) Comma-separated list of enemy internal names to suppress all messages for.

Debug Test Mode

Set EnableTestMode = true in the config, then use these hotkeys in-game:

Key Action Cycles Through
F8 Death message All 16 cause-of-death types
F9 Monster kill message All 21 monster types
F10 Monster encounter message All 21 monster types
F11 Event message All 7 event types

Each press cycles to the next type. Messages are also logged to the BepInEx console with a [TEST] prefix. Uses your actual in-game player name.


Screenshots

Death (Gravity) Event (Jester)
Death - Gravity Event - Jester
Event (Ship Leaving) Death (Snare Flea)
Event - Ship Leaving Death - Snare Flea

Installation

Thunderstore / Mod Manager (Recommended)

Install via your preferred mod manager (r2modman, Gale, etc.). Dependencies are handled automatically.

Manual

  1. Install BepInEx 5 for Lethal Company
  2. Install StaticNetcodeLib
  3. Place com.github.luckofthelefty.LethalHUDMessages.dll in BepInEx/plugins/
  4. Launch the game — config file generates on first run

FAQ

Do all players need this mod? Yes — messages are client-side, so each player needs the mod installed to see notifications.

Does this work with modded enemies? Yes. Unknown enemies get generic fallback messages that include the enemy's actual name. You can disable this with CustomEnemyEncounterMessages = false.

Can I use this with LethalMessages (the chat version)? Yes — they work independently. LethalHUDMessages uses HUD notifications, LethalMessages uses the in-game chat. You can run both for maximum chaos.

Messages aren't showing up? Make sure the relevant config options are enabled. Death messages and monster encounters are on by default, but all event messages are off by default.


Building from Source

dotnet restore
dotnet build -c Release

Output: LethalHUDMessages/bin/Release/netstandard2.1/com.github.luckofthelefty.LethalHUDMessages.dll


License

MIT