diff options
| author | Shauren <shauren.trinity@gmail.com> | 2018-07-09 18:32:40 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2018-07-09 18:32:40 +0200 |
| commit | 8411ec7ed6366e3f9c0dc722671492ed091b8fbd (patch) | |
| tree | 1c04022191f6f4c492e0169fd4635df06ca03d31 /src/server/game/Entities | |
| parent | 076c7a7b32c0804013f24f46596fe316258bde1a (diff) | |
Core/Players: Fixed saving quest item progress
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 24 |
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); |
