diff options
| author | SnapperRy <snapperryen@gmail.com> | 2016-10-03 23:02:50 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-03-05 01:06:43 +0100 |
| commit | de8aecacbc01afe864bc5471665834a1f8444011 (patch) | |
| tree | b329403e37c9db67a7d27a520aa8bc6aa965c219 /src | |
| parent | f1fd4b53336e2a85dedd098c580771665eb0be97 (diff) | |
Core/Quest: send INVALIDREASON_QUEST_ALREADY_DONE if player tries to accept a quest that is already rewarded.
(cherry picked from commit 9bca68fb56a48870548d9f27857d3d879eb77adb)
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index f09e8e136df..ce6e795b5c0 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15609,6 +15609,17 @@ bool Player::SatisfyQuestReputation(Quest const* qInfo, bool msg) bool Player::SatisfyQuestStatus(Quest const* qInfo, bool msg) const { + if (GetQuestStatus(qInfo->GetQuestId()) == QUEST_STATUS_REWARDED) + { + if (msg) + { + SendCanTakeQuestResponse(QUEST_ERR_ALREADY_DONE); + TC_LOG_DEBUG("misc", "Player::SatisfyQuestStatus: Sent QUEST_STATUS_REWARDED (QuestID: %u) because player '%s' (%s) quest status is already REWARDED.", + qInfo->GetQuestId(), GetName().c_str(), GetGUID().ToString().c_str()); + } + return false; + } + if (GetQuestStatus(qInfo->GetQuestId()) != QUEST_STATUS_NONE) { if (msg) |
