aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2015-05-02 02:09:53 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2015-05-02 02:09:53 +0200
commita551dd78e6ee1689659040be8ae54dcf8ef20f5b (patch)
treeb2466bf3a3b818a661b9552ab309149735a47a00 /src
parent2c8b7850d7aacf61c770153e8e468ae7aa847f09 (diff)
Core/Quest: Added new error log for load quest_poi
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp3
-rw-r--r--src/server/scripts/Commands/cs_go.cpp21
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
{