about summary refs log tree commit diff
path: root/src/game/server/gamecontext.cpp
diff options
context:
space:
mode:
authorTeetime <teetimetw@yahoo.de>2011-11-05 18:03:33 +0100
committerTeetime <teetimetw@yahoo.de>2011-11-05 18:03:33 +0100
commit744018aaafb218321907c4e0c0e0b4472fb7e1b9 (patch)
tree50323eec409c701dfd16c5275ef17d795b85efc9 /src/game/server/gamecontext.cpp
parent24718cc8d6f8021f6c54e1c2207f7e68b75a22c3 (diff)
downloadzcatch-744018aaafb218321907c4e0c0e0b4472fb7e1b9.tar.gz
zcatch-744018aaafb218321907c4e0c0e0b4472fb7e1b9.zip
Added possibility to freeze players and improved and extended anticamper
Diffstat (limited to 'src/game/server/gamecontext.cpp')
-rw-r--r--src/game/server/gamecontext.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp
index a34890e5..1900b314 100644
--- a/src/game/server/gamecontext.cpp
+++ b/src/game/server/gamecontext.cpp
@@ -1124,13 +1124,18 @@ void CGameContext::OnMessage(int MsgID, CUnpacker *pUnpacker, int ClientID)
 	else if (MsgID == NETMSGTYPE_CL_KILL && !m_World.m_Paused)
 	{
 		/* begin zCatch*/
-		if(pPlayer->m_LastKill && pPlayer->m_LastKill + Server()->TickSpeed()*15 > Server()->Tick())
-		{	
-			if((pPlayer->GetTeam() == TEAM_SPECTATORS) || (pPlayer->m_LastKillTry && pPlayer->m_LastKillTry+Server()->TickSpeed()*2 > Server()->Tick()))
-				return;			
-			SendChatTarget(ClientID, "Only one kill in 15sec is allowed.");
+		if((pPlayer->GetTeam() == TEAM_SPECTATORS) || (pPlayer->m_LastKillTry && pPlayer->m_LastKillTry+Server()->TickSpeed()*2 > Server()->Tick()))
+			return;
+
+		if(pPlayer->m_FreezeTicks)
+		{
+			SendChatTarget(ClientID, "You can't kill yourself while you're frozen");
 			pPlayer->m_LastKillTry = Server()->Tick();
 		}
+		else if(pPlayer->m_LastKill && pPlayer->m_LastKill + Server()->TickSpeed()*15 > Server()->Tick())
+		{	
+			SendBroadcast("Only one kill in 15sec is allowed.", ClientID);
+		}
 		else
 		{
 			pPlayer->m_LastKill = Server()->Tick();