diff options
Diffstat (limited to 'src/server/game/Instances/InstanceScript.cpp')
-rw-r--r-- | src/server/game/Instances/InstanceScript.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index 08515140ee7..620fb00e3a6 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.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 @@ -108,24 +108,24 @@ void InstanceScript::UpdateMinionState(Creature* minion, EncounterState state) void InstanceScript::UpdateDoorState(GameObject* door) { - DoorInfoMap::iterator lower = doors.lower_bound(door->GetEntry()); - DoorInfoMap::iterator upper = doors.upper_bound(door->GetEntry()); - if (lower == upper) + DoorInfoMapBounds range = doors.equal_range(door->GetEntry()); + if (range.first == range.second) return; bool open = true; - for (DoorInfoMap::iterator itr = lower; itr != upper && open; ++itr) + for (; range.first != range.second && open; ++range.first) { - switch (itr->second.type) + DoorInfo const& info = range.first->second; + switch (info.type) { case DOOR_TYPE_ROOM: - open = (itr->second.bossInfo->state != IN_PROGRESS); + open = (info.bossInfo->state != IN_PROGRESS); break; case DOOR_TYPE_PASSAGE: - open = (itr->second.bossInfo->state == DONE); + open = (info.bossInfo->state == DONE); break; case DOOR_TYPE_SPAWN_HOLE: - open = (itr->second.bossInfo->state == IN_PROGRESS); + open = (info.bossInfo->state == IN_PROGRESS); break; default: break; @@ -137,14 +137,13 @@ void InstanceScript::UpdateDoorState(GameObject* door) void InstanceScript::AddDoor(GameObject* door, bool add) { - DoorInfoMap::iterator lower = doors.lower_bound(door->GetEntry()); - DoorInfoMap::iterator upper = doors.upper_bound(door->GetEntry()); - if (lower == upper) + DoorInfoMapBounds range = doors.equal_range(door->GetEntry()); + if (range.first == range.second) return; - for (DoorInfoMap::iterator itr = lower; itr != upper; ++itr) + for (; range.first != range.second; ++range.first) { - DoorInfo const& data = itr->second; + DoorInfo const& data = range.first->second; if (add) { |