aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-07-09 18:32:40 +0200
committerShauren <shauren.trinity@gmail.com>2018-07-09 18:32:40 +0200
commit8411ec7ed6366e3f9c0dc722671492ed091b8fbd (patch)
tree1c04022191f6f4c492e0169fd4635df06ca03d31 /src/server/game/Entities
parent076c7a7b32c0804013f24f46596fe316258bde1a (diff)
Core/Players: Fixed saving quest item progress
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Player/Player.cpp24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 9c04f2a4e6f..266adf32dd1 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -18311,8 +18311,8 @@ void Player::_LoadQuestStatus(PreparedQueryResult result)
//// 0 1 2 3 4 5 6 7 8 9 10
//QueryResult* result = CharacterDatabase.PQuery("SELECT quest, status, explored, timer, mobcount1, mobcount2, mobcount3, mobcount4, itemcount1, itemcount2, itemcount3,
- // 11 12
- // itemcount4, playercount FROM character_queststatus WHERE guid = '%u'", GetGUID().GetCounter());
+ // 11 12 13 14
+ // itemcount4, itemcount5, itemcount6, playercount FROM character_queststatus WHERE guid = '%u'", GetGUID().GetCounter());
if (result)
{
@@ -18354,15 +18354,13 @@ void Player::_LoadQuestStatus(PreparedQueryResult result)
else
quest_time = 0;
- questStatusData.CreatureOrGOCount[0] = fields[4].GetUInt16();
- questStatusData.CreatureOrGOCount[1] = fields[5].GetUInt16();
- questStatusData.CreatureOrGOCount[2] = fields[6].GetUInt16();
- questStatusData.CreatureOrGOCount[3] = fields[7].GetUInt16();
- questStatusData.ItemCount[0] = fields[8].GetUInt16();
- questStatusData.ItemCount[1] = fields[9].GetUInt16();
- questStatusData.ItemCount[2] = fields[10].GetUInt16();
- questStatusData.ItemCount[3] = fields[11].GetUInt16();
- questStatusData.PlayerCount = fields[12].GetUInt16();
+ for (uint32 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
+ questStatusData.CreatureOrGOCount[i] = fields[4 + i].GetUInt16();
+
+ for (uint32 i = 0; i < QUEST_ITEM_OBJECTIVES_COUNT; ++i)
+ questStatusData.ItemCount[i] = fields[8 + i].GetUInt16();
+
+ questStatusData.PlayerCount = fields[14].GetUInt16();
// add to quest log
if (slot < MAX_QUEST_LOG_SIZE && questStatusData.Status != QUEST_STATUS_NONE)
@@ -19792,10 +19790,10 @@ void Player::_SaveQuestStatus(SQLTransaction& trans)
stmt->setBool(index++, statusItr->second.Explored);
stmt->setUInt32(index++, uint32(statusItr->second.Timer / IN_MILLISECONDS+ GameTime::GetGameTime()));
- for (uint8 i = 0; i < 4; i++)
+ for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; i++)
stmt->setUInt16(index++, statusItr->second.CreatureOrGOCount[i]);
- for (uint8 i = 0; i < 4; i++)
+ for (uint8 i = 0; i < QUEST_ITEM_OBJECTIVES_COUNT; i++)
stmt->setUInt16(index++, statusItr->second.ItemCount[i]);
stmt->setUInt16(index, statusItr->second.PlayerCount);