aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp39
-rw-r--r--src/server/game/Entities/Player/Player.h2
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);