aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Player/Player.cpp29
1 files changed, 10 insertions, 19 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 9083218ed0d..669e26057e5 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -15140,32 +15140,23 @@ void Player::SendPreparedQuest(WorldObject* source)
if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId))
{
if (qmi0.QuestIcon == 4)
- {
PlayerTalkClass->SendQuestGiverRequestItems(quest, source->GetGUID(), CanRewardQuest(quest, false), true);
- return;
- }
// Send completable on repeatable and autoCompletable quest if player don't have quest
/// @todo verify if check for !quest->IsDaily() is really correct (possibly not)
+ else if (!source->hasQuest(questId) && !source->hasInvolvedQuest(questId))
+ PlayerTalkClass->SendCloseGossip();
else
{
- if (!source->hasQuest(questId) && !source->hasInvolvedQuest(questId))
- {
- PlayerTalkClass->SendCloseGossip();
- return;
- }
-
- if (source->GetTypeId() != TYPEID_UNIT || source->ToUnit()->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
- {
- if (quest->IsAutoAccept() && CanAddQuest(quest, true) && CanTakeQuest(quest, true))
- AddQuestAndCheckCompletion(quest, source);
+ if (quest->IsAutoAccept() && CanAddQuest(quest, true) && CanTakeQuest(quest, true))
+ AddQuestAndCheckCompletion(quest, source);
- if (quest->IsAutoComplete() && quest->IsRepeatable() && !quest->IsDailyOrWeekly())
- PlayerTalkClass->SendQuestGiverRequestItems(quest, source->GetGUID(), CanCompleteRepeatableQuest(quest), true);
- else
- PlayerTalkClass->SendQuestGiverQuestDetails(quest, source->GetGUID(), true, false);
- return;
- }
+ if (quest->IsAutoComplete() && quest->IsRepeatable() && !quest->IsDailyOrWeekly())
+ PlayerTalkClass->SendQuestGiverRequestItems(quest, source->GetGUID(), CanCompleteRepeatableQuest(quest), true);
+ else
+ PlayerTalkClass->SendQuestGiverQuestDetails(quest, source->GetGUID(), true, false);
}
+
+ return;
}
}