diff options
author | Subv <subv2112@gmail.com> | 2014-09-12 15:27:06 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2014-09-12 15:27:06 -0500 |
commit | 08bbe41dedc39b913a154a4eb4d0954a8731b2dd (patch) | |
tree | f59e18f0aae5d123479fc2f5868112d5fc1af55e | |
parent | e6032a5e759b6008383fbd8fba5f32f875a691c3 (diff) |
Core/Quests: Fixed what appears to be a merge error, only prompt the player to take the next quest in a chain if he meets the conditions.
-rw-r--r-- | src/server/game/Handlers/QuestHandler.cpp | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp index ac18a10c9a9..7f87aa90257 100644 --- a/src/server/game/Handlers/QuestHandler.cpp +++ b/src/server/game/Handlers/QuestHandler.cpp @@ -303,24 +303,19 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket& recvData) { //For AutoSubmition was added plr case there as it almost same exclute AI script cases. Creature* creatureQGiver = object->ToCreature(); - if (!creatureQGiver || !(sScriptMgr->OnQuestReward(_player, creatureQGiver, quest, reward))) + if (!creatureQGiver || !sScriptMgr->OnQuestReward(_player, creatureQGiver, quest, reward)) { // Send next quest if (Quest const* nextQuest = _player->GetNextQuest(guid, quest)) { - if (nextQuest->IsAutoAccept() && _player->CanAddQuest(nextQuest, true) && _player->CanTakeQuest(nextQuest, true)) + // Only send the quest to the player if the conditions are met + if (_player->CanTakeQuest(nextQuest, true)) { - // Only send the quest to the player if the conditions are met - if (_player->CanTakeQuest(nextQuest, true)) - { - if (nextQuest->IsAutoAccept() && _player->CanAddQuest(nextQuest, true)) - _player->AddQuestAndCheckCompletion(nextQuest, object); - - _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true); - } - } + if (nextQuest->IsAutoAccept() && _player->CanAddQuest(nextQuest, true)) + _player->AddQuestAndCheckCompletion(nextQuest, object); - _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true); + _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true); + } } if (creatureQGiver) @@ -336,19 +331,14 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode(WorldPacket& recvData) // Send next quest if (Quest const* nextQuest = _player->GetNextQuest(guid, quest)) { - if (nextQuest->IsAutoAccept() && _player->CanAddQuest(nextQuest, true) && _player->CanTakeQuest(nextQuest, true)) + // Only send the quest to the player if the conditions are met + if (_player->CanTakeQuest(nextQuest, true)) { - // Only send the quest to the player if the conditions are met - if (_player->CanTakeQuest(nextQuest, true)) - { - if (nextQuest->IsAutoAccept() && _player->CanAddQuest(nextQuest, true)) - _player->AddQuestAndCheckCompletion(nextQuest, object); - - _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true); - } - } + if (nextQuest->IsAutoAccept() && _player->CanAddQuest(nextQuest, true)) + _player->AddQuestAndCheckCompletion(nextQuest, object); - _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true); + _player->PlayerTalkClass->SendQuestGiverQuestDetails(nextQuest, guid, true); + } } questGiver->AI()->QuestReward(_player, quest, reward); |