diff options
| author | oy <Tom_Adams@web.de> | 2011-03-04 17:08:10 +0100 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2011-03-04 17:08:10 +0100 |
| commit | 9811c2396baa86e3401caef295649eaf3e12a4a5 (patch) | |
| tree | 15232e5f180a844e8702f6ef99cd97e9e55a6365 /src/game/server/gamemodes/ctf.cpp | |
| parent | 4bede550be18cfc9bb4df669c147032917160066 (diff) | |
| download | zcatch-9811c2396baa86e3401caef295649eaf3e12a4a5.tar.gz zcatch-9811c2396baa86e3401caef295649eaf3e12a4a5.zip | |
made network clip flags. Closes #131
Diffstat (limited to 'src/game/server/gamemodes/ctf.cpp')
| -rw-r--r-- | src/game/server/gamemodes/ctf.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game/server/gamemodes/ctf.cpp b/src/game/server/gamemodes/ctf.cpp index 92fc90c9..490067dd 100644 --- a/src/game/server/gamemodes/ctf.cpp +++ b/src/game/server/gamemodes/ctf.cpp @@ -78,6 +78,31 @@ bool CGameControllerCTF::CanBeMovedOnBalance(int ClientID) return true; } +void CGameControllerCTF::Snap(int SnappingClient) +{ + IGameController::Snap(SnappingClient); + + CNetObj_GameData *pGameDataObj = (CNetObj_GameData *)Server()->SnapNewItem(NETOBJTYPE_GAMEDATA, 0, sizeof(CNetObj_GameData)); + if(!pGameDataObj) + return; + + pGameDataObj->m_TeamscoreRed = m_aTeamscore[TEAM_RED]; + pGameDataObj->m_TeamscoreBlue = m_aTeamscore[TEAM_BLUE]; + + if(m_apFlags[TEAM_RED]->m_AtStand) + pGameDataObj->m_FlagCarrierRed = FLAG_ATSTAND; + else if(m_apFlags[TEAM_RED]->m_pCarryingCharacter && m_apFlags[TEAM_RED]->m_pCarryingCharacter->GetPlayer()) + pGameDataObj->m_FlagCarrierRed = m_apFlags[TEAM_RED]->m_pCarryingCharacter->GetPlayer()->GetCID(); + else + pGameDataObj->m_FlagCarrierRed = FLAG_TAKEN; + if(m_apFlags[TEAM_BLUE]->m_AtStand) + pGameDataObj->m_FlagCarrierBlue = FLAG_ATSTAND; + else if(m_apFlags[TEAM_BLUE]->m_pCarryingCharacter && m_apFlags[TEAM_BLUE]->m_pCarryingCharacter->GetPlayer()) + pGameDataObj->m_FlagCarrierBlue = m_apFlags[TEAM_BLUE]->m_pCarryingCharacter->GetPlayer()->GetCID(); + else + pGameDataObj->m_FlagCarrierBlue = FLAG_TAKEN; +} + void CGameControllerCTF::Tick() { IGameController::Tick(); |