diff options
| author | SnapperRy <snapperryen@gmail.com> | 2016-09-30 13:17:04 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-09-30 13:17:04 +0200 |
| commit | 6d62f852acf3e1a3ee57cde2442832280aee8149 (patch) | |
| tree | d3b6f1711245d908924586f7a30a17b726f6c14c /src/server/game/Entities | |
| parent | f9ea646c82f8cf34f295a5db0be3d7a14c9ca608 (diff) | |
Core/Spell: set quest to rewarded instead of complete when targeted by SPELL_EFFECT_QUEST_COMPLETE. (#18021)
Prevents people from ending up with strange quests in their quest logs.
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 11 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 1 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index dd500de5ace..5a9707fec75 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15055,10 +15055,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, RemoveActiveQuest(quest_id, false); if (quest->CanIncreaseRewardedQuestCounters()) - { - m_RewardedQuests.insert(quest_id); - m_RewardedQuestsSave[quest_id] = QUEST_DEFAULT_SAVE_TYPE; - } + SetRewardedQuest(quest_id); // StoreNewItem, mail reward, etc. save data directly to the database // to prevent exploitable data desynchronisation we save the quest status to the database too @@ -15114,6 +15111,12 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, sScriptMgr->OnQuestStatusChange(this, quest_id); } +void Player::SetRewardedQuest(uint32 quest_id) +{ + m_RewardedQuests.insert(quest_id); + m_RewardedQuestsSave[quest_id] = QUEST_DEFAULT_SAVE_TYPE; +} + void Player::FailQuest(uint32 questId) { diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 5a572d9caa9..f9acbe22c10 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1339,6 +1339,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void CompleteQuest(uint32 quest_id); void IncompleteQuest(uint32 quest_id); void RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, bool announce = true); + void SetRewardedQuest(uint32 quest_id); void FailQuest(uint32 quest_id); bool SatisfyQuestSkill(Quest const* qInfo, bool msg) const; bool SatisfyQuestLevel(Quest const* qInfo, bool msg) const; |
