/* <3fd4f4> ../cstrike/dlls/bot/cs_gamestate.cpp:55 */ void CSGameState::Reset(void) { int i; CCSBotManager *ctrl = TheCSBots(); m_isRoundOver = false; // bomb m_bombState = MOVING; m_lastSawBomber.Invalidate(); m_lastSawLooseBomb.Invalidate(); m_bombsiteCount = ctrl->GetZoneCount(); m_isPlantedBombPosKnown = false; m_plantedBombsite = UNKNOWN; for (i = 0; i < m_bombsiteCount; ++i) { m_isBombsiteClear[i] = false; m_bombsiteSearchOrder[i] = i; } // shuffle the bombsite search order // allows T's to plant at random site, and TEAM_CT's to search in a random order // NOTE: VS6 std::random_shuffle() doesn't work well with an array of two elements (most maps) for (i = 0; i < m_bombsiteCount; ++i) { int swap = m_bombsiteSearchOrder[i]; int rnd = RANDOM_LONG(i, m_bombsiteCount - 1); m_bombsiteSearchOrder[i] = m_bombsiteSearchOrder[rnd]; m_bombsiteSearchOrder[rnd] = swap; } m_bombsiteSearchIndex = 0; InitializeHostageInfo(); }