float autocvar_g_chat_flood_spl;
float autocvar_g_chat_flood_spl_team;
float autocvar_g_chat_flood_spl_tell;
+bool autocvar_g_chat_allowed;
+bool autocvar_g_chat_private_allowed;
+bool autocvar_g_chat_spectator_allowed;
+bool autocvar_g_chat_team_allowed;
int autocvar_g_chat_nospectators;
bool autocvar_g_chat_teamcolors;
bool autocvar_g_chat_tellprivacy;
+bool autocvar_sv_chat_sounds;
+float autocvar_sv_chat_sounds_flood;
+string autocvar_sv_chat_sounds_list;
+
const float NUM_NEAREST_ENTITIES = 4;
entity nearest_entity[NUM_NEAREST_ENTITIES];
float nearest_length[NUM_NEAREST_ENTITIES];
.float floodcontrol_chattell;
.float floodcontrol_voice;
.float floodcontrol_voiceteam;
+.float floodcontrol_chatsound;
#define CHAT_NOSPECTATORS() ((autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !warmup_stage))
int Say(entity source, int teamsay, entity privatesay, string msgin, bool floodcontrol);
+bool play_chatsound(entity source, string msgin);
string NearestLocation(vector p);