diff options
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 9b0c14ac826..c84597ebce1 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7049,9 +7049,13 @@ void ObjectMgr::LoadQuestPOI() uint32 unk4 = fields[7].GetUInt32(); QuestPOI POI(id, objIndex, mapId, WorldMapAreaId, FloorId, unk3, unk4); - POI.points = POIs[questId][id]; - - _questPOIStore[questId].push_back(POI); + if (questId < POIs.size() && id < POIs[questId].size()) + { + POI.points = POIs[questId][id]; + _questPOIStore[questId].push_back(POI); + } + else + TC_LOG_ERROR("server.loading", "Table quest_poi references unknown quest points for quest %u POI id %u", questId, id); ++count; } while (result->NextRow()); |