TICS: Total Immersive Chat System
A full rework of the chat system and radio system made with RP servers in mind.
This was initially a commission for Ted from Serious Survival Roleplay[www.serioussurvivalroleplay.com] (If you like RP I encourage you to check it out). I went slightly overboard with it and started re-implementing the entire chat and radio system and every feature I could think of.

Slightly update the UI design and add more tabs for specific channels.
- /whisper (/w) for a very low range message
- /low (/l) slightly higher range than /w
- /say (/s) for an average range message
- /yell (/y) to yell
- /faction (/f)
- /safehouse (/sh)
- /all (/g) for the general chat channel
- /pm (/p) for private message instead of the old /w (/r to autocomplete the answer) and a dedicated chat tab
- /ooc (/o) out of character chat with its dedicated chat tab
- /admin (/a) and a dedicated chat tab
All chat message with ranges can be edited with custom ranges both for player and zombies.
- ‘/color #FF5640’ (hexadecimal) or ‘/color 255, 86, 64’ (RGB) to change the player nickname color
- ‘/pitch 0.9’ (from 0.85 to 1.45) to change character voice pitch
- ‘/roll 2d20’ to roll 2 dice of 20 or ‘/roll d10’ to roll 1 dice of 10 or ‘/roll 5d15+2’ to roll 5 dices of 15 and add 2 to the result (see dice notation on wikipedia[en.wikipedia.org]).
Text between * or ** is colored differently.
If the verb prefix is enabled the message sent will be formatted as such:
If the verb prefix is enabled the commands /me, /mewhisper, /melow are also enabled to omit the verb prefix.

A range indicator for all range based commands (the eye icon on top right of the window).

Another range indicator for the radio listening ranges (the microphone icon).

Bubbles on top of players and radios.
If your processor can take it, increase render UI FPS to your screen refresh rate for a smoother rendering of bubbles:
open %userprofile%Zomboidoptions.ini and change uiRenderFPS value to 60 (or 120 or more depending on your screen refresh rate).

Bubbles are shown even when the speaker is off screen (but in range)
Bubbles can include a portrait image. Admin can chose to enable:
- None
- Vanilla 3D portrait or a custom PNG image of size 60×80
- The Steam avatar
If the second option is picked the players can upload their own avatar but the admin/mod will have to validate the avatar in-game.
To upload an avatar, move a PNG file of 60×80 named:
username_firstName_lastName.png
in the following directory:
%userprofile%ZomboidLuaavatarsclient[serverIP][username]request
Then click the arrow iconon the chat window to upload it.
The directory is already created if you connected to the server at least once.
You can use a software like GIMP[www.gimp.org] to cut out the head of your character from your artwork and get this nice transparency.
Three dots animation on top of players typing a message, if it’s a channel other players can read.
Characters can read the messages with fake voices inspired by animal crossing. A random pitch is assigned at character creation and can be modified with the /pitch command.

You can synchronize /all chat with discord as before or a radio frequency of your choice.
To setup your discord bot follow those step on PZ wiki[pzwiki.net].
This mod is using the default PZ discord integration. To send a message from discord to the game you need to ping the bot first: @PZBotName message
TICS also fixes a vanilla bug where the same Discord message is sent many times to the game.
You can customize or disable most of the features either from the client side with the gear icon or the sandbox menu on the admin side.
Radio mute button is now synchronized with the server (it used to be local only).
Boredom reduction when hearing other people (including radios).
Radios can be used from the belt, exactly like a hand held radio (except the automated broadcast wont work, this is a vanilla limitation).
You can use PageUp/Down Home/End keys to scroll the chat when the mouse is over it.
You can report bugs preferably on github[github.com], or here in the comments. Whenever you report a bug make sure to include the version number that can be found by clicking the information icon (!) on the chat window.
You can help by translating the mod in your native language. Check if there is a matching file for your language for all of the _EN.txt files in here.[github.com] If not you can create new ones and either do a pull request or (if you don’t know how to do that) create a ticket with your files attached to it.
With more than 10000 lines of code this mod took months of work. If you enjoy it and feel like it, I do appreciate your support.
The code and the assets[github.com] are released under the MIT license unless a license file is saying otherwise.
Thanks Ted from Serious Survival Roleplay[www.serioussurvivalroleplay.com] for coming with the idea of making chat mod and helping me test it.
This information sheet from NCEAS[www.nceas.ucsb.edu] to help me pick colorblind friendly default colors.
Super Comic[www.dafont.com] font for the thumbnail, by fsuarez913, distributed without license but with the following notice from the author: "Free for personal use & commercial use".
A backport of Lua 5.2 bit32 library, numberlua[github.com] by David Manura (MIT)
A crc32 library, luacrc32[github.com] by David Manura (MIT)
Workshop ID: 3366438318
Mod ID: TICS
on the chat window to upload it.
