diff options
| author | oy <Tom_Adams@web.de> | 2011-02-10 12:05:55 +0100 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2011-02-10 12:05:55 +0100 |
| commit | 3f05289328dfaeb67a344de0b553e31cbb11ea36 (patch) | |
| tree | 3d41ec1d9a54c5f3a7add26d4be8ebe4572586cd /src/game/server/player.cpp | |
| parent | 0698243c6b79a224582c8c37f9951af0672516b3 (diff) | |
| download | zcatch-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.cpp | 19 |
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); } |