about summary refs log tree commit diff
path: root/src/game/server/player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/server/player.cpp')
-rw-r--r--src/game/server/player.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp
index e154d19b..2d092804 100644
--- a/src/game/server/player.cpp
+++ b/src/game/server/player.cpp
@@ -170,9 +170,19 @@ void CPlayer::OnPredictedInput(CNetObj_PlayerInput *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;
+	if(NewInput->m_PlayerFlags&PLAYERFLAG_CHATTING)
+	{
+		// skip the input if chat is active
+		if(m_PlayerFlags&PLAYERFLAG_CHATTING)
+			return;
+
+		// reset input
+		if(m_pCharacter)
+			m_pCharacter->ResetInput();
+
+		m_PlayerFlags = NewInput->m_PlayerFlags;
+ 		return;
+	}
 
 	m_PlayerFlags = NewInput->m_PlayerFlags;