Core/PacketIO: Fix SMSG_UI_MAP_QUEST_LINES_RESPONSE struct (TWW)
Port From (https://github.com/TrinityCore/TrinityCore/commit/19a0e885a63a7d07a6edd6c1b14ba91f87141ffd)
This commit is contained in:
@@ -810,12 +810,22 @@ namespace Game
|
||||
if (questLineQuests.Empty())
|
||||
continue;
|
||||
|
||||
bool isQuestLineCompleted = true;
|
||||
foreach (var questLineQuest in questLineQuests)
|
||||
{
|
||||
Quest quest = Global.ObjectMgr.GetQuestTemplate(questLineQuest.QuestID);
|
||||
if (quest != null && _player.CanTakeQuest(quest, false))
|
||||
response.QuestLineXQuestIDs.Add(questLineQuest.Id);
|
||||
if (quest != null)
|
||||
{
|
||||
if (_player.CanTakeQuest(quest, false))
|
||||
response.QuestLineXQuestIDs.Add(questLineQuest.Id);
|
||||
|
||||
if (isQuestLineCompleted && !_player.GetQuestRewardStatus(questLineQuest.QuestID))
|
||||
isQuestLineCompleted = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isQuestLineCompleted)
|
||||
response.QuestLineIDs.Add(questLineId);
|
||||
}
|
||||
|
||||
var quests = Global.ObjectMgr.GetUiMapQuestsList(uiMap.Id);
|
||||
|
||||
@@ -960,6 +960,7 @@ namespace Game.Networking.Packets
|
||||
public uint UiMapID;
|
||||
public List<uint> QuestLineXQuestIDs = new();
|
||||
public List<uint> QuestIDs = new();
|
||||
public List<uint> QuestLineIDs = new();
|
||||
|
||||
public UiMapQuestLinesResponse() : base(ServerOpcodes.UiMapQuestLinesResponse, ConnectionType.Instance) { }
|
||||
|
||||
@@ -968,12 +969,16 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WriteUInt32(UiMapID);
|
||||
_worldPacket.WriteInt32(QuestLineXQuestIDs.Count);
|
||||
_worldPacket.WriteInt32(QuestIDs.Count);
|
||||
_worldPacket.WriteInt32(QuestLineIDs.Count);
|
||||
|
||||
foreach (var questLineQuestID in QuestLineXQuestIDs)
|
||||
_worldPacket.WriteUInt32(questLineQuestID);
|
||||
|
||||
foreach (var questID in QuestIDs)
|
||||
_worldPacket.WriteUInt32(questID);
|
||||
|
||||
foreach (var questID in QuestLineIDs)
|
||||
_worldPacket.WriteUInt32(questID);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user