Core/Quests: Show quest details windows if there's only one quest in gossip menu, even if questgiver doesn't have gossip npc flag
Port From (https://github.com/TrinityCore/TrinityCore/commit/8b93fc57211eaf47a12772d2b620453dfd21070a)
This commit is contained in:
@@ -334,32 +334,25 @@ namespace Game.Entities
|
|||||||
if (quest != null)
|
if (quest != null)
|
||||||
{
|
{
|
||||||
if (qmi0.QuestIcon == 4)
|
if (qmi0.QuestIcon == 4)
|
||||||
{
|
|
||||||
PlayerTalkClass.SendQuestGiverRequestItems(quest, source.GetGUID(), CanRewardQuest(quest, false), true);
|
PlayerTalkClass.SendQuestGiverRequestItems(quest, source.GetGUID(), CanRewardQuest(quest, false), true);
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Send completable on repeatable and autoCompletable quest if player don't have quest
|
// 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)
|
// @todo verify if check for !quest.IsDaily() is really correct (possibly not)
|
||||||
|
else if (!source.HasQuest(questId) && !source.HasInvolvedQuest(questId))
|
||||||
|
PlayerTalkClass.SendCloseGossip();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!source.HasQuest(questId) && !source.HasInvolvedQuest(questId))
|
if (quest.IsAutoAccept() && CanAddQuest(quest, true) && CanTakeQuest(quest, true))
|
||||||
{
|
AddQuestAndCheckCompletion(quest, source);
|
||||||
PlayerTalkClass.SendCloseGossip();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!source.IsTypeId(TypeId.Unit) || source.ToUnit().HasNpcFlag(NPCFlags.Gossip))
|
if (quest.IsAutoComplete() && quest.IsRepeatable() && !quest.IsDailyOrWeekly())
|
||||||
{
|
PlayerTalkClass.SendQuestGiverRequestItems(quest, source.GetGUID(), CanCompleteRepeatableQuest(quest), true);
|
||||||
if (quest.IsAutoAccept() && CanAddQuest(quest, true) && CanTakeQuest(quest, true))
|
else
|
||||||
AddQuestAndCheckCompletion(quest, source);
|
PlayerTalkClass.SendQuestGiverQuestDetails(quest, source.GetGUID(), true, false);
|
||||||
|
|
||||||
if (quest.IsAutoComplete() && quest.IsRepeatable() && !quest.IsDailyOrWeekly())
|
|
||||||
PlayerTalkClass.SendQuestGiverRequestItems(quest, source.GetGUID(), CanCompleteRepeatableQuest(quest), true);
|
|
||||||
else
|
|
||||||
PlayerTalkClass.SendQuestGiverQuestDetails(quest, source.GetGUID(), true, false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user