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-02-10 12:05:55 +0100
committeroy <Tom_Adams@web.de>2011-02-10 12:05:55 +0100
commit3f05289328dfaeb67a344de0b553e31cbb11ea36 (patch)
tree3d41ec1d9a54c5f3a7add26d4be8ebe4572586cd /src/game/server/player.cpp
parent0698243c6b79a224582c8c37f9951af0672516b3 (diff)
downloadzcatch-3f05289328dfaeb67a344de0b553e31cbb11ea36.tar.gz
zcatch-3f05289328dfaeb67a344de0b553e31cbb11ea36.zip
fixed a possible problem with occupied spawn points and cleaned up spawn code a bit
Diffstat (limited to 'src/game/server/player.cpp')
-rw-r--r--src/game/server/player.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp
index 3f32d6af..5147cbfb 100644
--- a/src/game/server/player.cpp
+++ b/src/game/server/player.cpp
@@ -201,20 +201,13 @@ void CPlayer::SetTeam(int Team)
 
 void CPlayer::TryRespawn()
 {
-	vec2 SpawnPos = vec2(100.0f, -60.0f);
+	vec2 SpawnPos;
 	
-	if(!GameServer()->m_pController->CanSpawn(this, &SpawnPos))
+	if(!GameServer()->m_pController->CanSpawn(m_Team, &SpawnPos))
 		return;
 
-	// check if the position is occupado
-	CEntity *apEnts[2] = {0};
-	int NumEnts = GameServer()->m_World.FindEntities(SpawnPos, 64, apEnts, 2, CGameWorld::ENTTYPE_CHARACTER);
-	
-	if(NumEnts == 0)
-	{
-		m_Spawning = false;
-		Character = new(m_ClientID) CCharacter(&GameServer()->m_World);
-		Character->Spawn(this, SpawnPos);
-		GameServer()->CreatePlayerSpawn(SpawnPos);
-	}
+	m_Spawning = false;
+	Character = new(m_ClientID) CCharacter(&GameServer()->m_World);
+	Character->Spawn(this, SpawnPos);
+	GameServer()->CreatePlayerSpawn(SpawnPos);
 }