about summary refs log tree commit diff
path: root/src/game/server/gamemodes
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-01-08 11:34:19 +0100
committeroy <Tom_Adams@web.de>2011-01-08 11:34:19 +0100
commitdf47aedbfebd9d5ab71cb8aeeede83a77c36de95 (patch)
treef69e1083a8da580265fd139807588ac21e722bc1 /src/game/server/gamemodes
parent26f7c67895dd49e8ed91bf7a4c67aff485119087 (diff)
downloadzcatch-df47aedbfebd9d5ab71cb8aeeede83a77c36de95.tar.gz
zcatch-df47aedbfebd9d5ab71cb8aeeede83a77c36de95.zip
reset flags and projectiles when leaving the game layer too much. Closes #385
Diffstat (limited to 'src/game/server/gamemodes')
-rw-r--r--src/game/server/gamemodes/ctf.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/game/server/gamemodes/ctf.cpp b/src/game/server/gamemodes/ctf.cpp
index 18905dbf..f6681ff6 100644
--- a/src/game/server/gamemodes/ctf.cpp
+++ b/src/game/server/gamemodes/ctf.cpp
@@ -91,8 +91,8 @@ void CGameControllerCTF::Tick()
 		if(!F)
 			continue;
 		
-		// flag hits death-tile, reset it
-		if(GameServer()->Collision()->GetCollisionAt(F->m_Pos.x, F->m_Pos.y)&CCollision::COLFLAG_DEATH)
+		// flag hits death-tile or left the game layer, reset it
+		if(GameServer()->Collision()->GetCollisionAt(F->m_Pos.x, F->m_Pos.y)&CCollision::COLFLAG_DEATH || F->GameLayerClipped(F->m_Pos))
 		{
 			GameServer()->CreateSoundGlobal(SOUND_CTF_RETURN);
 			F->Reset();