NecroChat
Finally, actual in-game chat for Necropolis! Chat box, floating messages above players, event notifications, and more.
| Last updated | 2 days ago |
| Total downloads | 8 |
| Total rating | 0 |
| Categories | Mods Misc |
| Dependency string | KoMiKoZa-NecroChat-1.0.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_Necropolis
BepInEx modloader. Preconfigured and ready to use.
Preferred version: 5.4.2304README
NecroChat
Finally, actual in-game chat for Necropolis! Chat box, floating messages above players, event notifications, and more. ▶ Demo Showcase
💡 Notice
- It is highly recommended to use Mod Config Menu to edit and hot-reload configuration changes in-game without restarting. Not required, but convenient.
Features
Core Chat Functionality
- Text Chat - Press Enter to open chat, type your message, Enter to send
- Chat History - Hold Tab to view full chat history with scrolling
- Action Messages - Use
/mecommand for action-style messages (e.g.,/me waves) - Text Selection - Click messages to select, Ctrl+C to copy
- Resizable & Draggable - Drag header to move, drag corner to resize
Display Modes
- Basic - Traditional chat box in corner of screen
- AbovePlayer - Messages appear floating above player characters
- BasicAndAbovePlayer - Both modes combined
- Smart - Automatically switches based on player distance (default)
Above-Player Messages
- Messages float above each player's head
- Automatic height adjustment for Brute vs Thief character classes
- Off-screen player indicators clamped to screen edges
- Smooth fade-in and slide-up animations (configurable)
- Stacking for multiple messages from same player
Chat Box Animations
- Fade-in animation for new messages in standard chat
- Smooth transitions when Smart mode switches display types
Player Customization
- Dye Colors - Player names colored using their character's dye color
- Color Full Message - Option to color entire above-player message with player color
- Hide Player Names - Optionally hide default player name HUD when showing chat
Game Event Messages
When enabled, the chat displays notifications for:
- Player joined / Player left
- Player incapacitated (fallen)
- Player revived (shows who revived them)
- Player cheated death (auto-resurrect)
- Player respawned (lost all gear)
- One-hit protection activated
Sound Options
5 selectable notification sounds for incoming messages.
Font Styles
- Basic - Standard system font
- Necro - Native stylized font - Nexa Slab Regular (default)
Chat Logging
- Optional chat logging to file
- Logs saved to
/chatlogsfolder with date-based filenames - Timestamps for all messages
Lobby Chat
- Chat works in multiplayer lobby before game starts
- Auto-opens when another player joins
- Enter key intercepted to prevent accidental game start
Configuration
All settings configurable via BepInEx config file or in-game config manager.
Booleans
| Setting | Default | Description |
|---|---|---|
| ModEnabled | true | Enable/disable the mod |
| DebugMode | false | Debug logging and offline testing |
| EnableLogging | false | Save chat to log files |
| HidePlayerNameOnChat | true | Hide player name HUD when showing chat above them |
| UsePlayerDyeColors | true | Color names with character dye |
| ColorAbovePlayerMessage | true | Color full above-player message with player color |
| AbovePlayerAnimations | true | Enable fade/slide animations for above-player text |
| ChatBoxAnimations | true | Enable fade-in animation for chat box messages |
| GameEventMessages | true | Show game event notifications |
| ShowTimestamps | false | Show timestamps [HH:mm] on messages |
Enums
| Setting | Default | Options |
|---|---|---|
| ChatSound | Sound2 | None, Sound1-5 |
| FontStyle | Necro | Basic, Necro |
| DisplayMode | Smart | Basic, AbovePlayer, BasicAndAbovePlayer, Smart |
Keys
| Setting | Default | Description |
|---|---|---|
| ToggleHistoryKey | Tab | Key to hold for chat history |
| OpenChatKey | Return | Key to open chat |
Integers
| Setting | Default | Range | Description |
|---|---|---|---|
| FontSize | 25 | 20-40 | Chat box font size |
| MaxMessages | 50 | 50-100 | Messages kept in history |
| MaxVisibleMessages | 5 | 3-10 | Messages shown on screen |
| MessageDisplayTime | 5 | 5-12 | Seconds before fade |
| MessageFadeTime | 2 | 2-8 | Fade duration in seconds |
| AbovePlayerDisplayTime | 5 | 5-12 | Above-player display time |
| AbovePlayerFadeTime | 2 | 2-8 | Above-player fade duration |
| AbovePlayerFontSize | 40 | 20-50 | Above-player font size |
| AbovePlayerWidth | 400 | 300-500 | Above-player text width in pixels |
| SmartModeDistance | 30 | 20-100 | Distance threshold for Smart mode |
| ChatBoxOpacity | 70 | 0-100 | Chat box background opacity (%) |
Controls
| Key | Action |
|---|---|
| Enter | Open chat / Send message |
| Escape | Close chat (preserves typed text) |
| Tab (hold) | Show chat history |
| Click | Select message |
| Ctrl+C | Copy selected message |
| Ctrl+V | Paste (anything) |
| Drag header | Move chat window |
| Drag corner (yellow triangle) | Resize chat window |
Changelog
1.0.1
- Fixed issue where non-Enter keys required double-press to open chat
- Fixed typed character appearing in input when opening chat with non-Enter keys
- Fixed words getting cut off at certain window widths when resizing
1.0.0
- Initial release
Credits
Author: KoMiKoZa
Discord: komikoza
Support
- Source Code: GitHub
- Issues: Report bugs on Discord or GitHub Issues