diff options
author | ariel- <ariel-@users.noreply.github.com> | 2017-04-27 00:22:05 -0300 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2020-04-28 14:14:42 +0200 |
commit | 3c2882c29d8ed8b9012b6c59662f68b0237249e2 (patch) | |
tree | 781bae11ae6a28b3b2d3215c7457148c8e5868ad /src | |
parent | f3a49059acb7b19ef95ebb7f6fe6887a123cd1c9 (diff) |
Core/Player: don't check quest requirements against RewardNextQuest
- This field is only used to propose a new quest to player after completion, shouldn't be used to condition current quest
Closes #19515
(cherry picked from commit a82a12b5ef5c466496c314b5a1eb6838dc598b15)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 27 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 1 |
2 files changed, 1 insertions, 27 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index cdbfad950f2..1895aace00f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -15217,7 +15217,7 @@ bool Player::CanSeeStartQuest(Quest const* quest) { if (!DisableMgr::IsDisabledFor(DISABLE_TYPE_QUEST, quest->GetQuestId(), this) && SatisfyQuestClass(quest, false) && SatisfyQuestRace(quest, false) && SatisfyQuestSkill(quest, false) && SatisfyQuestExclusiveGroup(quest, false) && SatisfyQuestReputation(quest, false) && - SatisfyQuestDependentQuests(quest, false) && SatisfyQuestNextChain(quest, false) && + SatisfyQuestDependentQuests(quest, false) && SatisfyQuestDay(quest, false) && SatisfyQuestWeek(quest, false) && SatisfyQuestMonth(quest, false) && SatisfyQuestSeasonal(quest, false)) { @@ -15234,7 +15234,6 @@ bool Player::CanTakeQuest(Quest const* quest, bool msg) && SatisfyQuestClass(quest, msg) && SatisfyQuestRace(quest, msg) && SatisfyQuestLevel(quest, msg) && SatisfyQuestSkill(quest, msg) && SatisfyQuestReputation(quest, msg) && SatisfyQuestDependentQuests(quest, msg) && SatisfyQuestTimed(quest, msg) - && SatisfyQuestNextChain(quest, msg) && SatisfyQuestDay(quest, msg) && SatisfyQuestWeek(quest, msg) && SatisfyQuestMonth(quest, msg) && SatisfyQuestSeasonal(quest, msg) && SatisfyQuestConditions(quest, msg); @@ -16370,30 +16369,6 @@ bool Player::SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg) const return true; } -bool Player::SatisfyQuestNextChain(Quest const* qInfo, bool msg) const -{ - uint32 nextQuest = qInfo->GetNextQuestInChain(); - if (!nextQuest) - return true; - - // next quest in chain already started or completed - if (GetQuestStatus(nextQuest) != QUEST_STATUS_NONE) // GetQuestStatus returns QUEST_STATUS_COMPLETED for rewarded quests - { - if (msg) - { - SendCanTakeQuestResponse(QUEST_ERR_NONE); - TC_LOG_DEBUG("misc", "Player::SatisfyQuestNextChain: Sent QUEST_ERR_NONE (QuestID: %u) because player '%s' (%s) already did or started next quest in chain.", - qInfo->GetQuestId(), GetName().c_str(), GetGUID().ToString().c_str()); - } - return false; - } - - // check for all quests further up the chain - // only necessary if there are quest chains with more than one quest that can be skipped - //return SatisfyQuestNextChain(qInfo->GetNextQuestInChain(), msg); - return true; -} - bool Player::SatisfyQuestDay(Quest const* qInfo, bool /*msg*/) const { if (!qInfo->IsDaily() && !qInfo->IsDFQuest()) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index a81afcb8bba..297c90fc5d9 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1352,7 +1352,6 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool SatisfyQuestConditions(Quest const* qInfo, bool msg); bool SatisfyQuestTimed(Quest const* qInfo, bool msg) const; bool SatisfyQuestExclusiveGroup(Quest const* qInfo, bool msg) const; - bool SatisfyQuestNextChain(Quest const* qInfo, bool msg) const; bool SatisfyQuestDay(Quest const* qInfo, bool msg) const; bool SatisfyQuestWeek(Quest const* qInfo, bool msg) const; bool SatisfyQuestMonth(Quest const* qInfo, bool msg) const; |