if(Server()->IsSixup(SnappingClient)) { protocol7::CNetObj_GameDataFlag *pGameDataObj = static_cast(Server()->SnapNewItem(-protocol7::NETOBJTYPE_GAMEDATAFLAG, 0, sizeof(protocol7::CNetObj_GameDataFlag))); if(!pGameDataObj) return; if(m_apFlags[TEAM_RED]) { if(m_apFlags[TEAM_RED]->m_AtStand) pGameDataObj->m_FlagCarrierRed = FLAG_ATSTAND; else if(m_apFlags[TEAM_RED]->GetCarrier() && m_apFlags[TEAM_RED]->GetCarrier()->GetPlayer()) pGameDataObj->m_FlagCarrierRed = m_apFlags[TEAM_RED]->GetCarrier()->GetPlayer()->GetCID(); else pGameDataObj->m_FlagCarrierRed = FLAG_TAKEN; } else pGameDataObj->m_FlagCarrierRed = FLAG_MISSING; if(m_apFlags[TEAM_BLUE]) { if(m_apFlags[TEAM_BLUE]->m_AtStand) pGameDataObj->m_FlagCarrierBlue = FLAG_ATSTAND; else if(m_apFlags[TEAM_BLUE]->GetCarrier() && m_apFlags[TEAM_BLUE]->GetCarrier()->GetPlayer()) pGameDataObj->m_FlagCarrierBlue = m_apFlags[TEAM_BLUE]->GetCarrier()->GetPlayer()->GetCID(); else pGameDataObj->m_FlagCarrierBlue = FLAG_TAKEN; } else pGameDataObj->m_FlagCarrierBlue = FLAG_MISSING; } else { CNetObj_GameData *pGameDataObj = (CNetObj_GameData *)Server()->SnapNewItem(NETOBJTYPE_GAMEDATA, 0, sizeof(CNetObj_GameData)); if(!pGameDataObj) return; if(m_apFlags[TEAM_RED]) { if(m_apFlags[TEAM_RED]->m_AtStand) pGameDataObj->m_FlagCarrierRed = FLAG_ATSTAND; else if(m_apFlags[TEAM_RED]->GetCarrier() && m_apFlags[TEAM_RED]->GetCarrier()->GetPlayer()) pGameDataObj->m_FlagCarrierRed = m_apFlags[TEAM_RED]->GetCarrier()->GetPlayer()->GetCID(); else pGameDataObj->m_FlagCarrierRed = FLAG_TAKEN; } else pGameDataObj->m_FlagCarrierRed = FLAG_MISSING; if(m_apFlags[TEAM_BLUE]) { if(m_apFlags[TEAM_BLUE]->m_AtStand) pGameDataObj->m_FlagCarrierBlue = FLAG_ATSTAND; else if(m_apFlags[TEAM_BLUE]->GetCarrier() && m_apFlags[TEAM_BLUE]->GetCarrier()->GetPlayer()) pGameDataObj->m_FlagCarrierBlue = m_apFlags[TEAM_BLUE]->GetCarrier()->GetPlayer()->GetCID(); else pGameDataObj->m_FlagCarrierBlue = FLAG_TAKEN; } else pGameDataObj->m_FlagCarrierBlue = FLAG_MISSING; }