diff options
author | Spp <spp@jorge.gr> | 2013-01-02 13:30:51 +0100 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2013-01-02 13:30:51 +0100 |
commit | aed36a8375538dfb7ebe6da4c32c012a95dc14c6 (patch) | |
tree | eca30ab36e47bcedc1f0380f0f8a600326cac41f /src/server/game/Globals/ObjectMgr.cpp | |
parent | 91f8ca32445f839e36ec699627a12781907950c9 (diff) | |
parent | ebd14b4f01cc64a2a488bdbb1046897cc4da8e9a (diff) |
Merge branch 'master' into 4.3.4
Conflicts:
dep/libmpq/CMakeLists.txt
src/server/game/AI/EventAI/CreatureEventAI.cpp
src/server/game/AI/EventAI/CreatureEventAI.h
src/server/game/AI/EventAI/CreatureEventAIMgr.cpp
src/server/game/AI/EventAI/CreatureEventAIMgr.h
src/server/game/Entities/Creature/Creature.h
src/server/game/Entities/Item/ItemPrototype.h
src/server/game/Entities/Object/ObjectDefines.h
src/server/game/Entities/Player/Player.cpp
src/server/game/Handlers/ReferAFriendHandler.cpp
src/server/game/Movement/Spline/MoveSplineInit.h
src/server/game/World/World.h
src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_gahzranka.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h
src/server/scripts/EasternKingdoms/boss_kruul.cpp
src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
src/server/scripts/OutdoorPvP/OutdoorPvPEP.h
src/server/shared/Database/Implementation/CharacterDatabase.cpp
src/server/shared/Database/Implementation/CharacterDatabase.h
src/server/shared/Database/Implementation/WorldDatabase.cpp
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index be3331ead4c..df5136781de 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2012 TrinityCore <http://www.trinitycore.org/> + * Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/> * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> * * This program is free software; you can redistribute it and/or modify it @@ -5597,12 +5597,11 @@ WorldSafeLocsEntry const* ObjectMgr::GetClosestGraveYard(float x, float y, float // then check faction // if mapId != graveyard.mapId (ghost in instance) and search any graveyard associated // then check faction - GraveYardContainer::const_iterator graveLow = GraveYardStore.lower_bound(zoneId); - GraveYardContainer::const_iterator graveUp = GraveYardStore.upper_bound(zoneId); + GraveYardMapBounds range = GraveYardStore.equal_range(zoneId); MapEntry const* map = sMapStore.LookupEntry(MapId); - // not need to check validity of map object; MapId _MUST_ be valid here - if (graveLow == graveUp && !map->IsBattleArena()) + // not need to check validity of map object; MapId _MUST_ be valid here + if (range.first == range.second && !map->IsBattleArena()) { sLog->outError(LOG_FILTER_SQL, "Table `game_graveyard_zone` incomplete: Zone %u Team %u does not have a linked graveyard.", zoneId, team); return GetDefaultGraveYard(team); @@ -5623,9 +5622,9 @@ WorldSafeLocsEntry const* ObjectMgr::GetClosestGraveYard(float x, float y, float MapEntry const* mapEntry = sMapStore.LookupEntry(MapId); - for (GraveYardContainer::const_iterator itr = graveLow; itr != graveUp; ++itr) + for (; range.first != range.second; ++range.first) { - GraveYardData const& data = itr->second; + GraveYardData const& data = range.first->second; WorldSafeLocsEntry const* entry = sWorldSafeLocsStore.LookupEntry(data.safeLocId); if (!entry) @@ -5703,15 +5702,13 @@ WorldSafeLocsEntry const* ObjectMgr::GetClosestGraveYard(float x, float y, float GraveYardData const* ObjectMgr::FindGraveYardData(uint32 id, uint32 zoneId) { - GraveYardContainer::const_iterator graveLow = GraveYardStore.lower_bound(zoneId); - GraveYardContainer::const_iterator graveUp = GraveYardStore.upper_bound(zoneId); - - for (GraveYardContainer::const_iterator itr = graveLow; itr != graveUp; ++itr) + GraveYardMapBounds range = GraveYardStore.equal_range(zoneId); + for (; range.first != range.second; ++range.first) { - if (itr->second.safeLocId == id) - return &itr->second; + GraveYardData const& data = range.first->second; + if (data.safeLocId == id) + return &data; } - return NULL; } @@ -5744,9 +5741,8 @@ bool ObjectMgr::AddGraveYardLink(uint32 id, uint32 zoneId, uint32 team, bool per void ObjectMgr::RemoveGraveYardLink(uint32 id, uint32 zoneId, uint32 team, bool persist /*= false*/) { - GraveYardContainer::iterator graveLow = GraveYardStore.lower_bound(zoneId); - GraveYardContainer::iterator graveUp = GraveYardStore.upper_bound(zoneId); - if (graveLow == graveUp) + GraveYardMapBoundsNonConst range = GraveYardStore.equal_range(zoneId); + if (range.first == range.second) { //sLog->outError(LOG_FILTER_SQL, "Table `game_graveyard_zone` incomplete: Zone %u Team %u does not have a linked graveyard.", zoneId, team); return; @@ -5754,11 +5750,10 @@ void ObjectMgr::RemoveGraveYardLink(uint32 id, uint32 zoneId, uint32 team, bool bool found = false; - GraveYardContainer::iterator itr; - for (itr = graveLow; itr != graveUp; ++itr) + for (; range.first != range.second; ++range.first) { - GraveYardData & data = itr->second; + GraveYardData & data = range.first->second; // skip not matching safezone id if (data.safeLocId != id) @@ -5778,7 +5773,7 @@ void ObjectMgr::RemoveGraveYardLink(uint32 id, uint32 zoneId, uint32 team, bool return; // remove from links - GraveYardStore.erase(itr); + GraveYardStore.erase(range.first); // remove link from DB if (persist) |