about summary refs log tree commit diff
path: root/src/game/server/player.cpp
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-06-09 22:30:03 +0200
committeroy <Tom_Adams@web.de>2011-06-09 22:30:03 +0200
commit2cc10fd6f02696f9657ffcde27be076942bf443b (patch)
tree544ed86d37a400a1b2236da11b576020908bdffb /src/game/server/player.cpp
parentb48c59225acfe59152d8293172557b2083d2207b (diff)
downloadzcatch-2cc10fd6f02696f9657ffcde27be076942bf443b.tar.gz
zcatch-2cc10fd6f02696f9657ffcde27be076942bf443b.zip
fixed that the player keeps action when activating chat. Closes #719
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;