about summary refs log tree commit diff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/server/gamemodes/ctf.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/game/server/gamemodes/ctf.cpp b/src/game/server/gamemodes/ctf.cpp
index 0ef82df8..90c77515 100644
--- a/src/game/server/gamemodes/ctf.cpp
+++ b/src/game/server/gamemodes/ctf.cpp
@@ -115,7 +115,8 @@ void GAMECONTROLLER_CTF::tick()
 			int num = game.world.find_entities(f->pos, 32.0f, (ENTITY**)close_characters, MAX_CLIENTS, NETOBJTYPE_CHARACTER);
 			for(int i = 0; i < num; i++)
 			{
-				if(close_characters[i]->team == f->team)
+				int collision = col_intersect_line(f->pos, close_characters[i]->pos, NULL);
+				if(!collision && close_characters[i]->team == f->team)
 				{
 					// return the flag
 					if(!f->at_stand)
@@ -131,7 +132,7 @@ void GAMECONTROLLER_CTF::tick()
 						f->reset();
 					}
 				}
-				else
+				else if(!collision)
 				{
 					// take the flag
 					if(f->at_stand)