From: <geo...@us...> - 2011-09-14 20:22:02
|
Revision: 4264 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=4264&view=rev Author: geoffthemedio Date: 2011-09-14 20:21:55 +0000 (Wed, 14 Sep 2011) Log Message: ----------- Set systems' last battle turn when battles occur. Modified Paths: -------------- trunk/FreeOrion/server/ServerApp.cpp trunk/FreeOrion/universe/System.cpp Modified: trunk/FreeOrion/server/ServerApp.cpp =================================================================== --- trunk/FreeOrion/server/ServerApp.cpp 2011-09-14 18:41:07 UTC (rev 4263) +++ trunk/FreeOrion/server/ServerApp.cpp 2011-09-14 20:21:55 UTC (rev 4264) @@ -1733,6 +1733,9 @@ for (std::map<int, CombatInfo>::iterator it = system_combat_info.begin(); it != system_combat_info.end(); ++it) { CombatInfo& combat_info = it->second; + if (System* system = combat_info.GetSystem()) + system->SetLastTurnBattleHere(CurrentTurn()); + //// DEBUG //const System* combat_system = combat_info.GetSystem(); //Logger().debugStream() << "Processing combat at " << (combat_system ? combat_system->Name() : "(No System)"); Modified: trunk/FreeOrion/universe/System.cpp =================================================================== --- trunk/FreeOrion/universe/System.cpp 2011-09-14 18:41:07 UTC (rev 4263) +++ trunk/FreeOrion/universe/System.cpp 2011-09-14 20:21:55 UTC (rev 4264) @@ -16,7 +16,8 @@ System::System() : UniverseObject(), m_star(INVALID_STAR_TYPE), - m_orbits(0) + m_orbits(0), + m_last_turn_battle_here(INVALID_GAME_TURN) { //Logger().debugStream() << "System::System()"; } @@ -140,14 +141,15 @@ std::stringstream os; os << UniverseObject::Dump(); os << " star type: " << UserString(GG::GetEnumMap<StarType>().FromEnum(m_star)) - << " starlanes: "; + << " last combat on turn: " << m_last_turn_battle_here + << " starlanes: "; //typedef std::map<int, bool> StarlaneMap; for (StarlaneMap::const_iterator it = m_starlanes_wormholes.begin(); it != m_starlanes_wormholes.end();) { int lane_end_id = it->first; ++it; os << lane_end_id << (it == m_starlanes_wormholes.end() ? "" : ", "); } - os << " objects: "; + os << " objects: "; //typedef std::multimap<int, int> ObjectMultimap; ///< each key value represents an orbit (-1 represents general system contents not in any orbit); there may be many or no objects at each orbit (including -1) for (ObjectMultimap::const_iterator it = m_objects.begin(); it != m_objects.end();) { int obj_id = it->second; |