aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-12-28 12:59:09 +0100
committerShauren <shauren.trinity@gmail.com>2024-12-28 12:59:09 +0100
commitd8bcf5fcb655d9931f7c74883ca19c0428e2a8ae (patch)
tree13e968f39b5dd6f9b54bdbce7fc7c2ad60ea5a3b
parentd78c3bb33afeb319ef0cf09171aabd8952a928fa (diff)
Core/Players: Refactored SetQuestCompletedBit to take questId instead of quest bit as argument
-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 5e264b49a8e..32d2c43ddee 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -15333,8 +15333,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))
{
@@ -15386,8 +15385,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)
@@ -16087,8 +16085,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);
@@ -16562,8 +16559,9 @@ bool Player::IsQuestCompletedBitSet(uint32 questId) const
return (m_activePlayerData->BitVectors->Values[PLAYER_DATA_FLAG_CHARACTER_QUEST_COMPLETED_INDEX].Values[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;
@@ -19526,8 +19524,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]);
@@ -19579,8 +19576,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());
@@ -19606,8 +19602,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());
@@ -19635,8 +19630,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());
@@ -19662,8 +19656,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());
@@ -25099,8 +25092,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;
dailyQuestsReset.Count = int32(m_activePlayerData->DailyQuestsCompleted.size());
@@ -25147,8 +25139,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)
{
@@ -25192,8 +25183,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);
}
@@ -25212,8 +25202,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 246da1c4310..df005320e34 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1710,7 +1710,7 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player>
void SetQuestSlotObjectiveFlag(uint16 slot, int8 objectiveIndex);
void RemoveQuestSlotObjectiveFlag(uint16 slot, int8 objectiveIndex);
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);