diff options
author | Gacko <gacko28@gmx.de> | 2013-06-29 10:56:58 -0700 |
---|---|---|
committer | Gacko <gacko28@gmx.de> | 2013-06-29 10:56:58 -0700 |
commit | 83066a200202d7a487d11389e73173c1db0c391e (patch) | |
tree | aad25b6796cafeb8c8ee621c9c4c7b8bd71f43e3 /src | |
parent | 13bd999b7dda6726f9741f708f0865343da4d7a4 (diff) | |
parent | fb727166681bcb1a8cfe7cdc9bd627ad159a2d7e (diff) |
Merge pull request #10148 from Naios/pd_u2
Core/PhaseMgr: Fixed an updateleak that occured if the rewarded quest hadn't requirements
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 153f6c3da89..c335a180e43 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -3177,10 +3177,10 @@ void Player::GiveLevel(uint8 level) UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL); - PhaseUpdateData phaseUdateData; - phaseUdateData.AddConditionType(CONDITION_LEVEL); + PhaseUpdateData phaseUpdateData; + phaseUpdateData.AddConditionType(CONDITION_LEVEL); - phaseMgr.NotifyConditionChanged(phaseUdateData); + phaseMgr.NotifyConditionChanged(phaseUpdateData); // Refer-A-Friend if (GetSession()->GetRecruiterId()) @@ -15396,6 +15396,10 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, m_RewardedQuests.insert(quest_id); m_RewardedQuestsSave[quest_id] = true; + PhaseUpdateData phaseUpdateData; + phaseUpdateData.AddQuestUpdate(quest_id); + phaseMgr.NotifyConditionChanged(phaseUpdateData); + // StoreNewItem, mail reward, etc. save data directly to the database // to prevent exploitable data desynchronisation we save the quest status to the database too // (to prevent rewarding this quest another time while rewards were already given out) @@ -15973,10 +15977,10 @@ void Player::SetQuestStatus(uint32 quest_id, QuestStatus status) m_QuestStatusSave[quest_id] = true; } - PhaseUpdateData phaseUdateData; - phaseUdateData.AddQuestUpdate(quest_id); + PhaseUpdateData phaseUpdateData; + phaseUpdateData.AddQuestUpdate(quest_id); - phaseMgr.NotifyConditionChanged(phaseUdateData); + phaseMgr.NotifyConditionChanged(phaseUpdateData); uint32 zone = 0, area = 0; @@ -16013,10 +16017,10 @@ void Player::RemoveActiveQuest(uint32 quest_id) m_QuestStatus.erase(itr); m_QuestStatusSave[quest_id] = false; - PhaseUpdateData phaseUdateData; - phaseUdateData.AddQuestUpdate(quest_id); + PhaseUpdateData phaseUpdateData; + phaseUpdateData.AddQuestUpdate(quest_id); - phaseMgr.NotifyConditionChanged(phaseUdateData); + phaseMgr.NotifyConditionChanged(phaseUpdateData); return; } } @@ -16029,10 +16033,10 @@ void Player::RemoveRewardedQuest(uint32 quest_id) m_RewardedQuests.erase(rewItr); m_RewardedQuestsSave[quest_id] = false; - PhaseUpdateData phaseUdateData; - phaseUdateData.AddQuestUpdate(quest_id); + PhaseUpdateData phaseUpdateData; + phaseUpdateData.AddQuestUpdate(quest_id); - phaseMgr.NotifyConditionChanged(phaseUdateData); + phaseMgr.NotifyConditionChanged(phaseUpdateData); } } |