aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.dev@gmail.com>2011-01-08 13:57:59 +0100
committerShauren <shauren.dev@gmail.com>2011-01-08 13:57:59 +0100
commit39247d912bb49e3777fe88d744ebdff52be17ba6 (patch)
treeeb74f93a1f0c5b968d0e8ea3059ca666870fadee /src
parent60595e5c9f900dc4b0980ad703bc5a04ffe0e50b (diff)
Core/Quests: Fixed quest chain issues introduced by daily quest fix
Closes #127 Signed-off-by: Shauren <shauren.dev@gmail.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 1adf7c6ec14..67f0bea677f 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -15033,10 +15033,8 @@ bool Player::SatisfyQuestNextChain(Quest const* qInfo, bool msg)
if (!nextQuest)
return true;
- Quest const* Nquest = sObjectMgr->GetQuestTemplate(nextQuest);
-
// next quest in chain already started or completed
- if (GetQuestStatus(nextQuest) != QUEST_STATUS_NONE || m_RewardedQuests.find(nextQuest) != m_RewardedQuests.end())
+ if (GetQuestStatus(nextQuest) != QUEST_STATUS_NONE) // GetQuestStatus returns QUEST_STATUS_COMPLETED for rewarded quests
{
if (msg)
SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ);
@@ -15057,10 +15055,10 @@ bool Player::SatisfyQuestPrevChain(Quest const* qInfo, bool msg)
for (Quest::PrevChainQuests::const_iterator iter = qInfo->prevChainQuests.begin(); iter != qInfo->prevChainQuests.end(); ++iter)
{
- uint32 prevId = *iter;
+ QuestStatusMap::const_iterator itr = m_QuestStatus.find(*iter);
// If any of the previous quests in chain active, return false
- if (GetQuestStatus(prevId) != QUEST_STATUS_NONE)
+ if (itr != m_QuestStatus.end() && itr->second.m_status != QUEST_STATUS_NONE)
{
if (msg)
SendCanTakeQuestResponse(INVALIDREASON_DONT_HAVE_REQ);