about summary refs log tree commit diff
path: root/src/game/server/gamemodes
diff options
context:
space:
mode:
authorChoupom <andycootlapin@hotmail.fr>2011-06-02 11:44:35 +0200
committeroy <Tom_Adams@web.de>2011-06-11 18:33:30 +0200
commit558b110504af146322d36cc7ac0e65bd2e408e99 (patch)
treeb148cb926e5603c7b04f9da539616b12c182051b /src/game/server/gamemodes
parenteae1a972976cc19f9c790849200d2dd307e20e3e (diff)
downloadzcatch-558b110504af146322d36cc7ac0e65bd2e408e99.tar.gz
zcatch-558b110504af146322d36cc7ac0e65bd2e408e99.zip
fixed #633 Correct sound effects in following spectactor mode
Diffstat (limited to 'src/game/server/gamemodes')
-rw-r--r--src/game/server/gamemodes/ctf.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/game/server/gamemodes/ctf.cpp b/src/game/server/gamemodes/ctf.cpp
index b1d3d2fa..d019f395 100644
--- a/src/game/server/gamemodes/ctf.cpp
+++ b/src/game/server/gamemodes/ctf.cpp
@@ -220,13 +220,16 @@ void CGameControllerCTF::Tick()
 
 					for(int c = 0; c < MAX_CLIENTS; c++)
 					{
-						if(!GameServer()->m_apPlayers[c])
+						CPlayer *pPlayer = GameServer()->m_apPlayers[c];
+						if(!pPlayer)
 							continue;
 
-						if(GameServer()->m_apPlayers[c]->GetTeam() == fi)
-							GameServer()->CreateSoundGlobal(SOUND_CTF_GRAB_EN, GameServer()->m_apPlayers[c]->GetCID());
+						if(pPlayer->GetTeam() == TEAM_SPECTATORS && pPlayer->m_SpectatorID != SPEC_FREEVIEW && GameServer()->m_apPlayers[pPlayer->m_SpectatorID] && GameServer()->m_apPlayers[pPlayer->m_SpectatorID]->GetTeam() == fi)
+							GameServer()->CreateSoundGlobal(SOUND_CTF_GRAB_EN, c);
+						else if(pPlayer->GetTeam() == fi)
+							GameServer()->CreateSoundGlobal(SOUND_CTF_GRAB_EN, c);
 						else
-							GameServer()->CreateSoundGlobal(SOUND_CTF_GRAB_PL, GameServer()->m_apPlayers[c]->GetCID());
+							GameServer()->CreateSoundGlobal(SOUND_CTF_GRAB_PL, c);
 					}
 					break;
 				}