about summary refs log tree commit diff
path: root/src/game/server
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-05-05 02:13:32 +0200
committeroy <Tom_Adams@web.de>2011-05-05 02:13:32 +0200
commit8d5badc26043354e289162cb18d8026d758e0789 (patch)
tree4f07dbf98e89a8dd890003b8d86a0c309674fa9c /src/game/server
parent15e1d4f1d68eacefa178bb9eda3bff5b904c45bb (diff)
downloadzcatch-8d5badc26043354e289162cb18d8026d758e0789.tar.gz
zcatch-8d5badc26043354e289162cb18d8026d758e0789.zip
skip player input if the chat is active to prevent abusing the linked emoticon. Closes #678
Diffstat (limited to 'src/game/server')
-rw-r--r--src/game/server/player.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp
index 23cb7d76..e154d19b 100644
--- a/src/game/server/player.cpp
+++ b/src/game/server/player.cpp
@@ -160,12 +160,20 @@ void CPlayer::OnDisconnect(const char *pReason)
 
 void CPlayer::OnPredictedInput(CNetObj_PlayerInput *NewInput)
 {
+	// skip the input if chat is active
+	if((m_PlayerFlags&PLAYERFLAG_CHATTING) && (NewInput->m_PlayerFlags&PLAYERFLAG_CHATTING))
+		return;
+
 	if(m_pCharacter)
 		m_pCharacter->OnPredictedInput(NewInput);
 }
 
 void CPlayer::OnDirectInput(CNetObj_PlayerInput *NewInput)
 {
+	// skip the input if chat is active
+	if((m_PlayerFlags&PLAYERFLAG_CHATTING) && (NewInput->m_PlayerFlags&PLAYERFLAG_CHATTING))
+		return;
+
 	m_PlayerFlags = NewInput->m_PlayerFlags;
 
 	if(m_pCharacter)