diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-05-02 02:09:53 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-05-02 02:09:53 +0200 |
commit | a551dd78e6ee1689659040be8ae54dcf8ef20f5b (patch) | |
tree | b2466bf3a3b818a661b9552ab309149735a47a00 | |
parent | 2c8b7850d7aacf61c770153e8e468ae7aa847f09 (diff) |
Core/Quest: Added new error log for load quest_poi
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 3 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_go.cpp | 21 |
2 files changed, 11 insertions, 13 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 6beae09bb20..fad2744da44 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7075,6 +7075,9 @@ void ObjectMgr::LoadQuestPOI() int32 PlayerConditionID = fields[12].GetInt32(); int32 WoDUnk1 = fields[13].GetInt32(); + if (!sObjectMgr->GetQuestTemplate(QuestID)) + TC_LOG_ERROR("sql.sql", "`quest_poi` quest id (%u) Idx1 (%u) does not exist in `quest_template`", QuestID, Idx1); + QuestPOI POI(BlobIndex, ObjectiveIndex, QuestObjectiveID, QuestObjectID, MapID, WorldMapAreaId, Floor, Priority, Flags, WorldEffectID, PlayerConditionID, WoDUnk1); if (QuestID < int32(POIs.size()) && Idx1 < int32(POIs[QuestID].size())) { diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index 08fd8b66c51..c7d9f069ae7 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -343,19 +343,14 @@ public: if (QuestPOIVector const* poiData = sObjectMgr->GetQuestPOIVector(questID)) { - for (auto data = poiData->begin(); data != poiData->end(); ++data) - { - mapId = data->MapID; - - for (auto points = data->points.begin(); points != data->points.end(); ++points) - { - x = points->X; - y = points->Y; - if (Map const* map = sMapMgr->CreateBaseMap(mapId)) - z = std::max(map->GetHeight(x, y, MAX_HEIGHT), map->GetWaterLevel(x, y)); - break; - } - } + auto data = poiData->front(); + + mapId = data.MapID; + + Map const* map = sMapMgr->CreateBaseMap(mapId); + x = data.points.front().X; + y = data.points.front().Y; + z = std::max(map->GetHeight(x, y, MAX_HEIGHT), map->GetWaterLevel(x, y)); } else { |