diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 39 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 |
2 files changed, 15 insertions, 26 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 9e27d57e2fb..5d9435220d2 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14391,8 +14391,7 @@ void Player::RewardQuest(Quest const* quest, LootItemType rewardType, uint32 rew // make full db save SaveToDB(false); - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) - SetQuestCompletedBit(questBit, true); + SetQuestCompletedBit(quest_id, true); if (quest->HasFlag(QUEST_FLAGS_FLAGS_PVP)) { @@ -14444,8 +14443,7 @@ void Player::SetRewardedQuest(uint32 quest_id) m_RewardedQuests.insert(quest_id); m_RewardedQuestsSave[quest_id] = QUEST_DEFAULT_SAVE_TYPE; - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) - SetQuestCompletedBit(questBit, true); + SetQuestCompletedBit(quest_id, true); } void Player::FailQuest(uint32 questId) @@ -15144,8 +15142,7 @@ void Player::RemoveRewardedQuest(uint32 questId, bool update /*= true*/) m_RewardedQuestsSave[questId] = QUEST_FORCE_DELETE_SAVE_TYPE; } - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questId)) - SetQuestCompletedBit(questBit, false); + SetQuestCompletedBit(questId, false); // Remove seasonal quest also Quest const* quest = sObjectMgr->GetQuestTemplate(questId); @@ -15634,8 +15631,9 @@ bool Player::IsQuestCompletedBitSet(uint32 questId) const return (m_activePlayerData->QuestCompleted[fieldOffset] & flag) != 0; } -void Player::SetQuestCompletedBit(uint32 questBit, bool completed) +void Player::SetQuestCompletedBit(uint32 questId, bool completed) { + uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questId); if (!questBit) return; @@ -18344,8 +18342,7 @@ void Player::_LoadQuestStatusRewarded(PreparedQueryResult result) // Skip loading special quests - they are also added to rewarded quests but only once and remain there forever // instead add them separately from load daily/weekly/monthly/seasonal if (!quest->IsDailyOrWeekly() && !quest->IsMonthly() && !quest->IsSeasonal()) - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) - SetQuestCompletedBit(questBit, true); + SetQuestCompletedBit(quest_id, true); for (uint32 i = 0; i < quest->GetRewChoiceItemsCount(); ++i) GetSession()->GetCollectionMgr()->AddItemAppearance(quest->RewardChoiceItemId[i]); @@ -18397,8 +18394,7 @@ void Player::_LoadDailyQuestStatus(PreparedQueryResult result) continue; AddDynamicUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::DailyQuestsCompleted)) = quest_id; - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) - SetQuestCompletedBit(questBit, true); + SetQuestCompletedBit(quest_id, true); TC_LOG_DEBUG("entities.player.loading", "Player::_LoadDailyQuestStatus: Loaded daily quest cooldown (QuestID: {}) for player '{}' ({})", quest_id, GetName(), GetGUID().ToString()); @@ -18424,8 +18420,7 @@ void Player::_LoadWeeklyQuestStatus(PreparedQueryResult result) continue; m_weeklyquests.insert(quest_id); - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) - SetQuestCompletedBit(questBit, true); + SetQuestCompletedBit(quest_id, true); TC_LOG_DEBUG("entities.player.loading", "Player::_LoadWeeklyQuestStatus: Loaded weekly quest cooldown (QuestID: {}) for player '{}' ({})", quest_id, GetName(), GetGUID().ToString()); @@ -18453,8 +18448,7 @@ void Player::_LoadSeasonalQuestStatus(PreparedQueryResult result) continue; m_seasonalquests[event_id][quest_id] = completedTime; - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) - SetQuestCompletedBit(questBit, true); + SetQuestCompletedBit(quest_id, true); TC_LOG_DEBUG("entities.player.loading", "Player::_LoadSeasonalQuestStatus: Loaded seasonal quest cooldown (QuestID: {}) for player '{}' ({})", quest_id, GetName(), GetGUID().ToString()); @@ -18480,8 +18474,7 @@ void Player::_LoadMonthlyQuestStatus(PreparedQueryResult result) continue; m_monthlyquests.insert(quest_id); - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(quest_id)) - SetQuestCompletedBit(questBit, true); + SetQuestCompletedBit(quest_id, true); TC_LOG_DEBUG("entities.player.loading", "Player::_LoadMonthlyQuestStatus: Loaded monthly quest cooldown (QuestID: {}) for player '{}' ({})", quest_id, GetName(), GetGUID().ToString()); @@ -23796,8 +23789,7 @@ void Player::SetMonthlyQuestStatus(uint32 quest_id) void Player::DailyReset() { for (int32 questId : m_activePlayerData->DailyQuestsCompleted) - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questId)) - SetQuestCompletedBit(questBit, false); + SetQuestCompletedBit(questId, false); WorldPackets::Quest::DailyQuestsReset dailyQuestsReset; SendDirectMessage(dailyQuestsReset.Write()); @@ -23840,8 +23832,7 @@ void Player::ResetWeeklyQuestStatus() return; for (uint32 questId : m_weeklyquests) - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questId)) - SetQuestCompletedBit(questBit, false); + SetQuestCompletedBit(questId, false); for (uint16 slot = 0; slot < MAX_QUEST_LOG_SIZE; ++slot) { @@ -23885,8 +23876,7 @@ void Player::ResetSeasonalQuestStatus(uint16 event_id, time_t eventStartTime) { if (questItr->second < eventStartTime) { - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questItr->first)) - SetQuestCompletedBit(questBit, false); + SetQuestCompletedBit(questItr->first, false); questItr = eventItr->second.erase(questItr); } @@ -23905,8 +23895,7 @@ void Player::ResetMonthlyQuestStatus() return; for (uint32 questId : m_monthlyquests) - if (uint32 questBit = sDB2Manager.GetQuestUniqueBitFlag(questId)) - SetQuestCompletedBit(questBit, false); + SetQuestCompletedBit(questId, false); m_monthlyquests.clear(); // DB data deleted in caller diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 5ac2565f7da..8c7bc8f9064 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1619,7 +1619,7 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player> void RemoveQuestSlotState(uint16 slot, uint32 state); void SetQuestSlotEndTime(uint16 slot, time_t endTime); bool IsQuestCompletedBitSet(uint32 questId) const; - void SetQuestCompletedBit(uint32 questBit, bool completed); + void SetQuestCompletedBit(uint32 questId, bool completed); uint16 GetReqKillOrCastCurrentCount(uint32 quest_id, int32 entry) const; void AreaExploredOrEventHappens(uint32 questId); |