public static void HandleQuestPoiQueryResponse(Packet packet) { packet.ReadInt32("NumPOIs"); var int4 = packet.ReadInt32("QuestPOIData"); for (var i = 0; i < int4; ++i) { var questId = packet.ReadInt32("QuestID", i); if (ClientVersion.RemovedInVersion(ClientVersionBuild.V6_2_0_20173)) packet.ReadUInt32("NumBlobs", i); var int2 = packet.ReadInt32("QuestPOIBlobData", i); for (var j = 0; j < int2; ++j) { var questPoi = new QuestPOIWoD { BlobIndex = packet.ReadInt32("BlobIndex", i, j), ObjectiveIndex = packet.ReadInt32("ObjectiveIndex", i, j), QuestObjectiveID = packet.ReadInt32("QuestObjectiveID", i, j), QuestObjectID = packet.ReadInt32("QuestObjectID", i, j), MapID = packet.ReadInt32("MapID", i, j), WorldMapAreaId = packet.ReadInt32("WorldMapAreaID", i, j), Floor = packet.ReadInt32("Floor", i, j), Priority = packet.ReadInt32("Priority", i, j), Flags = packet.ReadInt32("Flags", i, j), WorldEffectID = packet.ReadInt32("WorldEffectID", i, j), PlayerConditionID = packet.ReadInt32("PlayerConditionID", i, j) }; if (ClientVersion.RemovedInVersion(ClientVersionBuild.V6_2_0_20173)) packet.ReadInt32("NumPoints", i, j); questPoi.WoDUnk1 = packet.ReadInt32("WoDUnk1", i, j); var int13 = packet.ReadInt32("QuestPOIBlobPoint", i, j); for (var k = 0; k < int13; ++k) { var questPoiPoint = new QuestPOIPointWoD { X = packet.ReadInt32("X", i, j, k), Y = packet.ReadInt32("Y", i, j, k) }; Storage.QuestPOIPointWoDs.Add(Tuple.Create(questId, j, k), questPoiPoint); } Storage.QuestPOIWoDs.Add(Tuple.Create(questId, j), questPoi, packet.TimeSpan); } } }
public static void HandleQuestPoiQueryResponse(Packet packet) { packet.ReadInt32("NumPOIs"); var int4 = packet.ReadInt32("QuestPOIData"); for (var i = 0; i < int4; ++i) { var questId = packet.ReadUInt32("QuestID", i); packet.ReadUInt32("NumBlobs", i); var int2 = packet.ReadInt32("QuestPOIBlobData", i); for (var j = 0; j < int2; ++j) { var questPoi = new QuestPOIWoD { BlobIndex = packet.ReadInt32("BlobIndex", i, j), ObjectiveIndex = packet.ReadInt32("ObjectiveIndex", i, j), QuestObjectiveID = packet.ReadInt32("QuestObjectiveID", i, j), QuestObjectID = packet.ReadInt32("QuestObjectID", i, j), MapID = (uint) packet.ReadInt32("MapID", i, j), WorldMapAreaId = (uint) packet.ReadInt32("WorldMapAreaID", i, j), Floor = (uint) packet.ReadInt32("Floor", i, j), Priority = packet.ReadInt32("Priority", i, j), Flags = packet.ReadInt32("Flags", i, j), WorldEffectID = packet.ReadInt32("WorldEffectID", i, j), PlayerConditionID = packet.ReadInt32("PlayerConditionID", i, j) }; packet.ReadInt32("NumPoints", i, j); questPoi.WoDUnk1 = packet.ReadInt32("WoDUnk1", i, j); var int13 = packet.ReadInt32("QuestPOIBlobPoint", i, j); questPoi.Points = new Dictionary<QuestPOIPoint, uint>(int13); for (var k = 0u; k < int13; ++k) { var questPoiPoint = new QuestPOIPoint { Index = k, X = packet.ReadInt32("X", i, j, (int)k), Y = packet.ReadInt32("Y", i, j, (int)k) }; questPoi.Points.Add(questPoiPoint, (uint)j); } Storage.QuestPOIWoDs.Add(new Tuple<uint, uint>(questId, (uint)j), questPoi, packet.TimeSpan); } } }