about summary refs log tree commit diff
path: root/src/game/server/entities
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-03-13 19:00:00 +0100
committeroy <Tom_Adams@web.de>2011-03-13 19:00:00 +0100
commit83e83947cf532c523ae12280ca41dad497348a81 (patch)
tree346fed643cd06701013b4df44933de238893574f /src/game/server/entities
parent09dc08859d7e48dbb39c61d0c39ad275719bc82d (diff)
downloadzcatch-83e83947cf532c523ae12280ca41dad497348a81.tar.gz
zcatch-83e83947cf532c523ae12280ca41dad497348a81.zip
give ninja players the momentum they had before slicing, after slicing. Closes #120
Diffstat (limited to 'src/game/server/entities')
-rw-r--r--src/game/server/entities/character.cpp4
-rw-r--r--src/game/server/entities/character.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp
index 32a9523e..49bd4ee4 100644
--- a/src/game/server/entities/character.cpp
+++ b/src/game/server/entities/character.cpp
@@ -137,7 +137,7 @@ void CCharacter::HandleNinja()
 	if (m_Ninja.m_CurrentMoveTime == 0)
 	{
 		// reset velocity
-		m_Core.m_Vel *= 0.2f;
+		m_Core.m_Vel = m_Ninja.m_ActivationDir*m_Ninja.m_OldVelAmount;
 	}
 
 	if (m_Ninja.m_CurrentMoveTime > 0)
@@ -413,9 +413,9 @@ void CCharacter::FireWeapon()
 			// reset Hit objects
 			m_NumObjectsHit = 0;
 			
-			m_AttackTick = Server()->Tick();
 			m_Ninja.m_ActivationDir = Direction;
 			m_Ninja.m_CurrentMoveTime = g_pData->m_Weapons.m_Ninja.m_Movetime * Server()->TickSpeed() / 1000;
+			m_Ninja.m_OldVelAmount = length(m_Core.m_Vel);
 
 			GameServer()->CreateSound(m_Pos, SOUND_NINJA_FIRE);
 		} break;
diff --git a/src/game/server/entities/character.h b/src/game/server/entities/character.h
index b874fd0c..b4009058 100644
--- a/src/game/server/entities/character.h
+++ b/src/game/server/entities/character.h
@@ -117,7 +117,7 @@ private:
 		vec2 m_ActivationDir;
 		int m_ActivationTick;
 		int m_CurrentMoveTime;
-		
+		int m_OldVelAmount;
 	} m_Ninja;
 
 	// the player core for the physics