diff options
Diffstat (limited to 'src/game/ObjectMgr.cpp')
-rw-r--r-- | src/game/ObjectMgr.cpp | 52 |
1 files changed, 31 insertions, 21 deletions
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index a2a7d34fdf5..06bc3b95304 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -141,13 +141,13 @@ ObjectMgr::ObjectMgr() ObjectMgr::~ObjectMgr() { - for( QuestMap::iterator i = mQuestTemplates.begin( ); i != mQuestTemplates.end( ); ++ i ) + for( QuestMap::iterator i = mQuestTemplates.begin( ); i != mQuestTemplates.end( ); ++i ) { delete i->second; } mQuestTemplates.clear( ); - for( GossipTextMap::iterator i = mGossipText.begin( ); i != mGossipText.end( ); ++ i ) + for( GossipTextMap::iterator i = mGossipText.begin( ); i != mGossipText.end( ); ++i ) { delete i->second; } @@ -155,7 +155,7 @@ ObjectMgr::~ObjectMgr() mAreaTriggers.clear(); - for(PetLevelInfoMap::iterator i = petInfo.begin( ); i != petInfo.end( ); ++ i ) + for(PetLevelInfoMap::iterator i = petInfo.begin( ); i != petInfo.end( ); ++i ) { delete[] i->second; } @@ -288,33 +288,43 @@ Guild* ObjectMgr::GetGuildByLeader(const uint64 &guid) const return NULL; } -ArenaTeam* ObjectMgr::GetArenaTeamById(const uint32 ArenaTeamId) const +ArenaTeam* ObjectMgr::GetArenaTeamById(const uint32 arenateamid) const { - for(ArenaTeamSet::const_iterator itr = mArenaTeamSet.begin(); itr != mArenaTeamSet.end(); ++itr) - if ((*itr)->GetId() == ArenaTeamId) - return *itr; + ArenaTeamMap::const_iterator itr = mArenaTeamMap.find(arenateamid); + if (itr != mArenaTeamMap.end()) + return itr->second; return NULL; } ArenaTeam* ObjectMgr::GetArenaTeamByName(const std::string& arenateamname) const { - for(ArenaTeamSet::const_iterator itr = mArenaTeamSet.begin(); itr != mArenaTeamSet.end(); ++itr) - if ((*itr)->GetName() == arenateamname) - return *itr; + for(ArenaTeamMap::const_iterator itr = mArenaTeamMap.begin(); itr != mArenaTeamMap.end(); ++itr) + if (itr->second->GetName() == arenateamname) + return itr->second; return NULL; } -ArenaTeam* ObjectMgr::GetArenaTeamByCapitan(uint64 const& guid) const +ArenaTeam* ObjectMgr::GetArenaTeamByCaptain(uint64 const& guid) const { - for(ArenaTeamSet::const_iterator itr = mArenaTeamSet.begin(); itr != mArenaTeamSet.end(); ++itr) - if ((*itr)->GetCaptain() == guid) - return *itr; + for(ArenaTeamMap::const_iterator itr = mArenaTeamMap.begin(); itr != mArenaTeamMap.end(); ++itr) + if (itr->second->GetCaptain() == guid) + return itr->second; return NULL; } +void ObjectMgr::AddArenaTeam(ArenaTeam* arenaTeam) +{ + mArenaTeamMap[arenaTeam->GetId()] = arenaTeam; +} + +void ObjectMgr::RemoveArenaTeam(ArenaTeam* arenaTeam) +{ + mArenaTeamMap.erase( arenaTeam->GetId() ); +} + AuctionHouseObject * ObjectMgr::GetAuctionsMap( uint32 location ) { switch ( location ) @@ -2004,8 +2014,8 @@ void ObjectMgr::LoadPetLevelInfo() uint32 current_level = fields[1].GetUInt32(); if(current_level > sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) { - if(current_level > 255) // hardcoded level maximum - sLog.outErrorDb("Wrong (> 255) level %u in `pet_levelstats` table, ignoring.",current_level); + if(current_level > STRONG_MAX_LEVEL) // hardcoded level maximum + sLog.outErrorDb("Wrong (> %u) level %u in `pet_levelstats` table, ignoring.",STRONG_MAX_LEVEL,current_level); else sLog.outDetail("Unused (> MaxPlayerLevel in Trinityd.conf) level %u in `pet_levelstats` table, ignoring.",current_level); continue; @@ -2385,8 +2395,8 @@ void ObjectMgr::LoadPlayerInfo() uint32 current_level = fields[1].GetUInt32(); if(current_level > sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) { - if(current_level > 255) // hardcoded level maximum - sLog.outErrorDb("Wrong (> 255) level %u in `player_classlevelstats` table, ignoring.",current_level); + if(current_level > STRONG_MAX_LEVEL) // hardcoded level maximum + sLog.outErrorDb("Wrong (> %u) level %u in `player_classlevelstats` table, ignoring.",STRONG_MAX_LEVEL,current_level); else sLog.outDetail("Unused (> MaxPlayerLevel in Trinityd.conf) level %u in `player_classlevelstats` table, ignoring.",current_level); continue; @@ -2480,8 +2490,8 @@ void ObjectMgr::LoadPlayerInfo() uint32 current_level = fields[2].GetUInt32(); if(current_level > sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) { - if(current_level > 255) // hardcoded level maximum - sLog.outErrorDb("Wrong (> 255) level %u in `player_levelstats` table, ignoring.",current_level); + if(current_level > STRONG_MAX_LEVEL) // hardcoded level maximum + sLog.outErrorDb("Wrong (> %u) level %u in `player_levelstats` table, ignoring.",STRONG_MAX_LEVEL,current_level); else sLog.outDetail("Unused (> MaxPlayerLevel in Trinityd.conf) level %u in `player_levelstats` table, ignoring.",current_level); continue; @@ -4315,7 +4325,7 @@ void ObjectMgr::AddGossipText(GossipText *pGText) GossipText *ObjectMgr::GetGossipText(uint32 Text_ID) { GossipTextMap::const_iterator itr; - for (itr = mGossipText.begin(); itr != mGossipText.end(); itr++) + for (itr = mGossipText.begin(); itr != mGossipText.end(); ++itr) { if(itr->second->Text_ID == Text_ID) return itr->second; |