public static void QuestGiverOfferReward(Packet packet) { packet.ReadPackedGuid128("QuestGiverGUID"); packet.ReadInt32("QuestGiverCreatureID"); int id = packet.ReadInt32("QuestID"); QuestOfferReward questOfferReward = new QuestOfferReward { ID = (uint)id }; for (int i = 0; i < 2; i++) { packet.ReadInt32("QuestFlags", i); } packet.ReadInt32("SuggestedPartyMembers"); var emotesCount = packet.ReadUInt32("EmotesCount"); // QuestDescEmote questOfferReward.Emote = new uint?[] { 0, 0, 0, 0 }; questOfferReward.EmoteDelay = new uint?[] { 0, 0, 0, 0 }; for (var i = 0; i < emotesCount; i++) { questOfferReward.Emote[i] = (uint)packet.ReadInt32("Type"); questOfferReward.EmoteDelay[i] = packet.ReadUInt32("Delay"); } packet.ResetBitReader(); packet.ReadBit("AutoLaunched"); packet.ReadBit("Unused"); ReadQuestRewards(packet, "QuestRewards"); packet.ReadInt32("QuestPackageID"); packet.ReadInt32("PortraitGiver"); packet.ReadInt32("PortraitGiverMount"); packet.ReadInt32("PortraitTurnIn"); packet.ResetBitReader(); uint questTitleLen = packet.ReadBits(9); uint rewardTextLen = packet.ReadBits(12); uint portraitGiverTextLen = packet.ReadBits(10); uint portraitGiverNameLen = packet.ReadBits(8); uint portraitTurnInTextLen = packet.ReadBits(10); uint portraitTurnInNameLen = packet.ReadBits(8); packet.ReadWoWString("QuestTitle", questTitleLen); questOfferReward.RewardText = packet.ReadWoWString("RewardText", rewardTextLen); packet.ReadWoWString("PortraitGiverText", portraitGiverTextLen); packet.ReadWoWString("PortraitGiverName", portraitGiverNameLen); packet.ReadWoWString("PortraitTurnInText", portraitTurnInTextLen); packet.ReadWoWString("PortraitTurnInName", portraitTurnInNameLen); Storage.QuestOfferRewards.Add(questOfferReward, packet.TimeSpan); }
public static void HandleQuestOfferReward(Packet packet) { packet.ReadPackedGuid128("QuestGiverGUID"); packet.ReadInt32("QuestGiverCreatureID"); int id = packet.ReadInt32("QuestID"); QuestOfferReward questOfferReward = new QuestOfferReward { ID = (uint)id }; for (int i = 0; i < 2; i++) { packet.ReadInt32("QuestFlags", i); } packet.ReadInt32("SuggestedPartyMembers"); ReadQuestRewards(packet); int int252 = packet.ReadInt32("EmotesCount"); // QuestDescEmote questOfferReward.Emote = new uint?[] { 0, 0, 0, 0 }; questOfferReward.EmoteDelay = new uint?[] { 0, 0, 0, 0 }; for (int i = 0; i < int252; i++) { questOfferReward.Emote[i] = (uint)packet.ReadInt32("Type"); questOfferReward.EmoteDelay[i] = packet.ReadUInt32("Delay"); } packet.ResetBitReader(); packet.ReadBit("AutoLaunched"); packet.ReadInt32("PortraitTurnIn"); packet.ReadInt32("PortraitGiver"); packet.ReadInt32("QuestPackageID"); packet.ResetBitReader(); uint bits1139 = packet.ReadBits(9); uint bits69 = packet.ReadBits(12); uint bits883 = packet.ReadBits(10); uint bits819 = packet.ReadBits(8); uint bits1268 = packet.ReadBits(10); uint bits4 = packet.ReadBits(8); packet.ReadWoWString("QuestTitle", bits1139); questOfferReward.RewardText = packet.ReadWoWString("RewardText", bits69); packet.ReadWoWString("PortraitGiverText", bits883); packet.ReadWoWString("PortraitGiverName", bits819); packet.ReadWoWString("PortraitTurnInText", bits1268); packet.ReadWoWString("PortraitTurnInName", bits4); Storage.QuestOfferRewards.Add(questOfferReward, packet.TimeSpan); }
public static void QuestGiverOfferReward(Packet packet) { var questgiverGUID = packet.ReadPackedGuid128("QuestGiverGUID"); packet.ReadInt32("QuestGiverCreatureID"); int id = packet.ReadInt32("QuestID"); QuestOfferReward questOfferReward = new QuestOfferReward { ID = (uint)id }; CoreParsers.QuestHandler.AddQuestEnder(questgiverGUID, (uint)id); for (int i = 0; i < 2; i++) { packet.ReadInt32("QuestFlags", i); } packet.ReadInt32("SuggestedPartyMembers"); var emotesCount = packet.ReadUInt32("EmotesCount"); // QuestDescEmote questOfferReward.Emote = new uint?[] { 0, 0, 0, 0 }; questOfferReward.EmoteDelay = new uint?[] { 0, 0, 0, 0 }; for (var i = 0; i < emotesCount; i++) { questOfferReward.Emote[i] = (uint)packet.ReadInt32("Type"); questOfferReward.EmoteDelay[i] = packet.ReadUInt32("Delay"); } packet.ResetBitReader(); packet.ReadBit("AutoLaunched"); ReadQuestRewards(packet, "QuestRewards"); packet.ReadInt32("QuestPackageID"); packet.ReadInt32("PortraitGiver"); packet.ReadInt32("PortraitGiverMount"); packet.ReadInt32("PortraitTurnIn"); packet.ResetBitReader(); uint questTitleLen = 0; uint rewardTextLen = 0; uint portraitGiverTextLen = 0; uint portraitGiverNameLen = 0; uint portraitTurnInTextLen = 0; uint portraitTurnInNameLen = 0; if (ClientVersion.AddedInVersion(ClientVersionBuild.V8_1_0_28724) && ClientVersion.RemovedInVersion(ClientVersionBuild.V8_1_5_29683)) { questTitleLen = packet.ReadBits(10); rewardTextLen = packet.ReadBits(12); portraitGiverTextLen = packet.ReadBits(11); portraitGiverNameLen = packet.ReadBits(9); portraitTurnInTextLen = packet.ReadBits(11); portraitTurnInNameLen = packet.ReadBits(9); } else { questTitleLen = packet.ReadBits(9); rewardTextLen = packet.ReadBits(12); portraitGiverTextLen = packet.ReadBits(10); portraitGiverNameLen = packet.ReadBits(8); portraitTurnInTextLen = packet.ReadBits(10); portraitTurnInNameLen = packet.ReadBits(8); } packet.ReadWoWString("QuestTitle", questTitleLen); questOfferReward.RewardText = packet.ReadWoWString("RewardText", rewardTextLen); packet.ReadWoWString("PortraitGiverText", portraitGiverTextLen); packet.ReadWoWString("PortraitGiverName", portraitGiverNameLen); packet.ReadWoWString("PortraitTurnInText", portraitTurnInTextLen); packet.ReadWoWString("PortraitTurnInName", portraitTurnInNameLen); Storage.QuestOfferRewards.Add(questOfferReward, packet.TimeSpan); }
public static void QuestGiverOfferReward(Packet packet) { var questgiverGUID = packet.ReadPackedGuid128("QuestGiverGUID"); packet.ReadInt32("QuestGiverCreatureID"); int id = packet.ReadInt32("QuestID"); QuestOfferReward questOfferReward = new QuestOfferReward { ID = (uint)id }; CoreParsers.QuestHandler.AddQuestEnder(questgiverGUID, (uint)id); for (int i = 0; i < 2; i++) { packet.ReadInt32("QuestFlags", i); } packet.ReadInt32("SuggestedPartyMembers"); int emotesCount = packet.ReadInt32("EmotesCount"); // QuestDescEmote questOfferReward.Emote = new uint?[] { 0, 0, 0, 0 }; questOfferReward.EmoteDelay = new uint?[] { 0, 0, 0, 0 }; for (int i = 0; i < emotesCount; i++) { questOfferReward.Emote[i] = (uint)packet.ReadInt32("Type"); questOfferReward.EmoteDelay[i] = packet.ReadUInt32("Delay"); } packet.ResetBitReader(); packet.ReadBit("AutoLaunched"); ReadQuestRewards(packet, "QuestRewards"); packet.ReadInt32("QuestPackageID"); packet.ReadInt32("PortraitGiver"); packet.ReadInt32("PortraitTurnIn"); packet.ResetBitReader(); uint questTitleLen = packet.ReadBits(9); uint rewardTextLen = packet.ReadBits(12); uint portraitGiverTextLen = packet.ReadBits(10); uint portraitGiverNameLen = packet.ReadBits(8); uint portraitTurnInTextLen = packet.ReadBits(10); uint portraitTurnInNameLen = packet.ReadBits(8); packet.ReadWoWString("QuestTitle", questTitleLen); questOfferReward.RewardText = packet.ReadWoWString("RewardText", rewardTextLen); packet.ReadWoWString("PortraitGiverText", portraitGiverTextLen); packet.ReadWoWString("PortraitGiverName", portraitGiverNameLen); packet.ReadWoWString("PortraitTurnInText", portraitTurnInTextLen); packet.ReadWoWString("PortraitTurnInName", portraitTurnInNameLen); Storage.QuestOfferRewards.Add(questOfferReward, packet.TimeSpan); if (ClientLocale.PacketLocale != LocaleConstant.enUS && questOfferReward.RewardText != string.Empty) { QuestOfferRewardLocale localesQuestOfferReward = new QuestOfferRewardLocale { ID = (uint)id, RewardText = questOfferReward.RewardText }; Storage.LocalesQuestOfferRewards.Add(localesQuestOfferReward, packet.TimeSpan); } }