about summary refs log tree commit diff
path: root/src/game/server/gamecontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/server/gamecontext.h')
-rw-r--r--src/game/server/gamecontext.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/game/server/gamecontext.h b/src/game/server/gamecontext.h
index 2ffb0ab4..5d340613 100644
--- a/src/game/server/gamecontext.h
+++ b/src/game/server/gamecontext.h
@@ -15,6 +15,9 @@
 #include "gameworld.h"
 #include "player.h"
 
+#define MAX_MUTES 35
+#define ZCATCH_VERSION "0.4.8 BETA"
+
 /*
 	Tick
 		Game Context (CGameContext::tick)
@@ -64,6 +67,11 @@ class CGameContext : public IGameServer
 	static void ConClearVotes(IConsole::IResult *pResult, void *pUserData);
 	static void ConVote(IConsole::IResult *pResult, void *pUserData);
 	static void ConchainSpecialMotdupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData);
+	
+	static void ConMute(IConsole::IResult *pResult, void *pUserData);
+	static void ConUnmuteID(IConsole::IResult *pResult, void *pUserData);
+	static void ConUnmuteIP(IConsole::IResult *pResult, void *pUserData);
+	static void ConMutes(IConsole::IResult *pResult, void *pUserData);
 
 	CGameContext(int Resetting);
 	void Construct(int Resetting);
@@ -134,6 +142,19 @@ public:
 		CHAT_RED=0,
 		CHAT_BLUE=1
 	};
+	
+	struct CMutes
+	{
+		char m_aIP[NETADDR_MAXSTRSIZE];
+		int m_Expires;
+	}; 
+	CMutes m_aMutes[MAX_MUTES];
+	// helper functions
+	void AddMute(const char* pIP, int Secs);
+	void AddMute(int ClientID, int Secs, bool Auto = false);
+	int Muted(const char *pIP);
+	int Muted(int ClientID);
+	void CleanMutes();
 
 	// network
 	void SendChatTarget(int To, const char *pText);