public static void HandleGMTicketCaseStatus(Packet packet) { if (ClientVersion.RemovedInVersion(ClientVersionBuild.V6_2_2_20444)) { packet.ReadTime("OldestTicketTime"); packet.ReadTime("UpdateTime"); } var int24 = packet.ReadInt32("CasesCount"); for (int i = 0; i < int24; i++) { packet.ReadInt32("CaseID", i); packet.ReadInt32("CaseOpened", i); packet.ReadInt32("CaseStatus", i); packet.ReadInt16("CfgRealmID", i); packet.ReadInt64("CharacterID", i); packet.ReadInt32("WaitTimeOverrideMinutes", i); packet.ResetBitReader(); var bits12 = packet.ReadBits(11); var bits262 = packet.ReadBits(10); packet.ReadWoWString("Url", bits12, i); packet.ReadWoWString("WaitTimeOverrideMessage", bits262, i); } }
public static void HandleAccountDataTimes(Packet packet) { packet.ReadUInt32("unk24"); packet.ReadTime("Server Time"); for (var i = 0; i < 8; ++i) packet.ReadTime("[" + (AccountDataType)i + "]" + " Time"); packet.ReadBit("Unk Bit"); }
public static void HandleCriteriaPlayer(Packet packet) { packet.ReadInt32("Id"); packet.ReadInt64("Quantity"); packet.ReadPackedGuid128("Guid"); packet.ReadInt32("Flags"); packet.ReadPackedTime("Date"); packet.ReadTime("TimeFromStart"); packet.ReadTime("TimeFromCreate"); }
public static void HandleAccountDataTimes(Packet packet) { packet.ReadPackedGuid128("Guid"); packet.ReadTime("Server Time"); for (var i = 0; i < 8; ++i) { packet.ReadTime("[" + (AccountDataType)i + "]" + " Time"); } }
public static void HandleAccountDataTimes(Packet packet) { packet.ReadBit("byte20"); for (var i = 0; i < 8; i++) packet.ReadTime("[" + (AccountDataType)i + "]" + " Time"); packet.ReadUInt32("dword16"); packet.ReadTime("Server Time"); //24*4 }
public static void HandleAccountDataTimes547(Packet packet) { packet.ReadUInt32("dword10"); packet.ReadTime("Server Time"); for (var i = 0; i < 8; ++i) { packet.ReadTime("[" + (AccountDataType)i + "]" + " Time"); } packet.ReadBit("byte18"); }
public static void ReadCriteriaProgress(Packet packet, params object[] idx) { packet.ReadInt32("Id", idx); packet.ReadUInt64("Quantity", idx); packet.ReadPackedGuid128("Player", idx); packet.ReadPackedTime("Date", idx); packet.ReadTime("TimeFromStart", idx); packet.ReadTime("TimeFromCreate", idx); packet.ResetBitReader(); packet.ReadBits("Flags", 4, idx); // some flag... & 1 -> delete }
public static void HandleAccountCriteriaUpdate(Packet packet) { var counter = new byte[8]; var accountId = new byte[8]; counter[4] = packet.ReadBit(); accountId[2] = packet.ReadBit(); counter[2] = packet.ReadBit(); accountId[4] = packet.ReadBit(); counter[0] = packet.ReadBit(); counter[5] = packet.ReadBit(); accountId[3] = packet.ReadBit(); counter[3] = packet.ReadBit(); accountId[6] = packet.ReadBit(); counter[6] = packet.ReadBit(); accountId[1] = packet.ReadBit(); accountId[7] = packet.ReadBit(); counter[1] = packet.ReadBit(); packet.ReadBits("Flags", 4); // some flag... & 1 -> delete accountId[5] = packet.ReadBit(); counter[7] = packet.ReadBit(); accountId[0] = packet.ReadBit(); packet.ReadXORByte(accountId, 7); packet.ReadTime("Timer 2"); // 80 packet.ReadInt32("Criteria ID"); // 16 packet.ReadXORByte(counter, 7); packet.ReadTime("Timer 1"); // 76 packet.ReadXORByte(accountId, 4); packet.ReadXORByte(accountId, 3); packet.ReadPackedTime("Time"); packet.ReadXORByte(counter, 0); packet.ReadXORByte(counter, 1); packet.ReadXORByte(counter, 2); packet.ReadXORByte(counter, 3); packet.ReadXORByte(accountId, 1); packet.ReadXORByte(counter, 4); packet.ReadXORByte(counter, 5); packet.ReadXORByte(accountId, 5); packet.ReadXORByte(accountId, 2); packet.ReadXORByte(counter, 6); packet.ReadXORByte(accountId, 0); packet.ReadXORByte(accountId, 6); packet.AddValue("Account", BitConverter.ToUInt64(accountId, 0)); packet.AddValue("Counter", BitConverter.ToInt64(counter, 0)); }
public static void HandleChallengeModeRequestLeadersResult(Packet packet) { packet.ReadInt32("MapID"); packet.ReadTime("LastGuildUpdate"); packet.ReadTime("LastRealmUpdate"); var int4 = packet.ReadInt32("GuildLeadersCount"); var int9 = packet.ReadInt32("RealmLeadersCount"); for (int i = 0; i < int4; i++) ReadChallengeModeAttempt(packet, i, "GuildLeaders"); for (int i = 0; i < int9; i++) ReadChallengeModeAttempt(packet, i, "RealmLeaders"); }
public static void HandlePetNameQueryResponse(Packet packet) { var number = packet.ReadUInt64("Pet number"); var hasData = packet.ReadBit(); if (!hasData) return; const int maxDeclinedNameCases = 5; var declinedNameLen = new int[maxDeclinedNameCases]; for (var i = 0; i < maxDeclinedNameCases; ++i) declinedNameLen[i] = (int)packet.ReadBits(7); packet.ReadBit("Declined"); var len = packet.ReadBits(8); for (var i = 0; i < maxDeclinedNameCases; ++i) if (declinedNameLen[i] != 0) packet.ReadWoWString("Declined name", declinedNameLen[i], i); packet.ReadTime("Time"); var petName = packet.ReadWoWString("Pet name", len); var guidArray = (from pair in StoreGetters.NameDict where Equals(pair.Value, number) select pair.Key).ToList(); foreach (var guid in guidArray) StoreGetters.NameDict[guid] = petName; }
public static void HandleServerUpdateAccountData(Packet packet) { var guid = new byte[8]; packet.ReadBitsE<AccountDataType>("Data Type", 3); packet.StartBitStream(guid, 5, 1, 3, 7, 0, 4, 2, 6); packet.ReadXORBytes(guid, 3, 1, 5); var decompCount = packet.ReadInt32(); var compCount = packet.ReadInt32(); var pkt = packet.Inflate(compCount, decompCount, false); var data = pkt.ReadWoWString(decompCount); pkt.ClosePacket(false); packet.AddValue("Account Data", data); packet.ReadXORBytes(guid, 7, 4, 0, 6, 2); packet.ReadTime("Login Time"); packet.WriteGuid("GUID", guid); }
public static void HandleBlackMarketRequestItemsResult(Packet packet) { packet.ReadTime("LastUpdateID"); var count = packet.ReadInt32("ItemsCount"); for (int i = 0; i < count; i++) ReadBlackMarketItem(packet, "Items", i); }
public static void HandleAccountDataTimes2(Packet packet) { packet.ReadTime("Server Time"); packet.ReadByte("Unk Byte"); var mask = 0; if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_2_0_10192)) mask = packet.ReadInt32("Mask"); for (var i = 0; i < 8; i++) { if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_2_0_10192)) if ((mask & (1 << i)) == 0) continue; packet.ReadTime("[" + (AccountDataType)i + "]" + " Time"); } }
public static void HandleClientUpdateAccountData(Packet packet) { packet.ReadTime("Login Time"); var decompCount = packet.ReadInt32(); var compCount = packet.ReadInt32(); var data = packet.Inflate(compCount, decompCount, false).ReadWoWString(decompCount); packet.WriteLine("Account Data {0}", data); packet.ReadEnum<AccountDataType>("Data Type", 3); }
public static void HandleHotfixInfo(Packet packet) { var count = packet.ReadBits("Count", 20); for (var i = 0; i < count; ++i) { packet.ReadInt32E<DB2Hash>("Hotfix DB2 File", i); packet.ReadTime("Hotfix date", i); packet.ReadInt32("Hotfixed entry", i); } }
public static void ReadUpdateAccountDataBlock(ref Packet packet) { packet.ReadEnum<AccountDataType>("Data Type", TypeCode.Int32); packet.ReadTime("Login Time"); var decompCount = packet.ReadInt32(); var pkt = packet.Inflate(decompCount, false); pkt.ReadWoWString("Account Data", decompCount); pkt.ClosePacket(false); }
public static void HandleResearchSetupHistory434(Packet packet) { var count = packet.ReadBits("Count", 22); for (int i = 0; i < count; ++i) { packet.ReadInt32("ResearchProject.Id", i); packet.ReadInt32("Count", i); packet.ReadTime("Time", i); } }
public static void HandleUpdateUITimer(Packet packet) { if (packet.Direction == Direction.ServerToClient) { packet.ReadTime("Time"); } else { packet.WriteLine(" : CMSG_UNK_0027"); packet.ReadInt32(); } }
public static void HandleClientUpdateAccountData(Packet packet) { var decompCount = packet.ReadInt32(); packet.ReadTime("Login Time"); var compCount = packet.ReadInt32(); var pkt = packet.Inflate(compCount, decompCount, false); var data = pkt.ReadWoWString(decompCount); pkt.ClosePacket(); packet.ReadBitsE<AccountDataType>("Data Type", 3); packet.AddValue("Account Data", data); }
public static void HandleComplain(Packet packet) { bool fromChat = packet.ReadBoolean("From Chat"); // false = from mail packet.ReadGuid("Guid"); packet.ReadEnum<Language>("Language", TypeCode.Int32); packet.ReadEnum<ChatMessageType>("Type", TypeCode.Int32); packet.ReadInt32("Channel ID"); if (fromChat) { packet.ReadTime("Time ago"); packet.ReadCString("Complain"); } }
public static void HandleServerUpdateAccountData(Packet packet) { packet.ReadPackedGuid128("Guid"); packet.ReadTime("Time"); var decompCount = packet.ReadInt32(); packet.ResetBitReader(); packet.ReadBitsE<AccountDataType>("Data Type", 3); var compCount = packet.ReadInt32(); var pkt = packet.Inflate(compCount, decompCount, false); var data = pkt.ReadWoWString(decompCount); packet.AddValue("Account Data", data); }
public static void ReadUpdateAccountDataBlock(ref Packet packet) { packet.ReadEnum<AccountDataType>("Data Type", TypeCode.Int32); packet.ReadTime("Login Time"); var decompCount = packet.ReadInt32(); packet = packet.Inflate(decompCount); var data = packet.ReadBytes(decompCount); packet.Writer.WriteLine("Account Data: "); foreach (var b in data) packet.Writer.Write((char)b); packet.Writer.WriteLine(); }
public static void HandleServerAddonsList(Packet packet) { // This packet requires _addonCount from CMSG_AUTH_SESSION to be parsed. if (_addonCount == -1) { packet.AddValue("Error", "CMSG_AUTH_SESSION was not received - cannot successfully parse this packet."); packet.ReadToEnd(); return; } for (var i = 0; i < _addonCount; i++) { packet.ReadByte("Addon State", i); var sendCrc = packet.ReadBool("Use CRC", i); if (sendCrc) { var usePublicKey = packet.ReadBool("Use Public Key", i); if (usePublicKey) packet.ReadBytes("Name MD5", 256); packet.ReadInt32("Unk Int32", i); } if (packet.ReadBool("Use URL File", i)) packet.ReadCString("Addon URL File", i); } if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_0_8_9464)) { var bannedCount = packet.ReadInt32("Banned Addons Count"); for (var i = 0; i < bannedCount; i++) { packet.ReadInt32("ID", i); packet.ReadBytes("Name MD5", 16); packet.ReadBytes("Version MD5", 16); packet.ReadTime("Time", i); if (ClientVersion.AddedInVersion(ClientVersionBuild.V3_3_3a_11723)) packet.ReadInt32("Is banned", i); } } }
public static void HandlePetNameQueryResponse(Packet packet) { packet.ReadInt32("Pet number"); var petName = packet.ReadCString("Pet name"); if (petName == string.Empty) { packet.ReadBytes(7); // 0s return; } packet.ReadTime("Time"); var declined = packet.ReadBoolean("Declined"); if (declined) for (var i = 0; i < (int)MiscConstants.MaxDeclinedNameCases; i++) packet.ReadCString("Declined name", i); }
public static void HandleServerUpdateAccountData(Packet packet) { var guid = new byte[8]; var decompCount = packet.ReadInt32(); var compCount = packet.ReadInt32(); var data = packet.Inflate(compCount, decompCount, false).ReadWoWString(decompCount); packet.WriteLine("Account Data {0}", data); packet.ReadTime("Login Time"); guid[7] = packet.ReadBit(); packet.ReadEnum<AccountDataType>("Data Type", 3); packet.StartBitStream(guid, 3, 6, 1, 5, 0, 4, 2); packet.ReadXORBytes(guid, 6, 7, 4, 1, 5, 0, 3, 2); packet.WriteGuid("GUID", guid); }
public static void HandleBlackMarketRequestItemsResult(Packet packet) { packet.ReadTime("LastUpdateID"); var count = packet.ReadInt32("ItemsCount"); for (int i = 0; i < count; i++) { packet.ReadInt32("MarketID", i); packet.ReadInt32("SellerNPC", i); ItemHandler.ReadItemInstance(packet, i); packet.ReadInt32("Quantity", i); packet.ReadUInt64("MinBid", i); packet.ReadUInt64("MinIncrement", i); packet.ReadUInt64("CurrentBid", i); packet.ReadInt32("SecondsRemaining", i); packet.ReadBit("HighBid", i); packet.ReadInt32("NumBids", i); } }
public static void HandleGMTicketCreate(Packet packet) { packet.ReadEntryWithName<Int32>(StoreNameType.Map, "Map ID"); packet.ReadVector3("Position"); packet.ReadCString("Text"); packet.ReadUInt32("Need Response"); packet.ReadBoolean("Need GM interaction"); var count = packet.ReadInt32("Count"); for (int i = 0; i < count; i++) packet.WriteLine("[" + i + "] Sent: " + (packet.Time - packet.ReadTime()).ToFormattedString()); if (count == 0) packet.ReadInt32("Unk Int32"); else { var decompCount = packet.ReadInt32(); packet = packet.Inflate(decompCount); packet.WriteLine(packet.ReadCString()); } }
public static void HandlePetNameQueryResponse(Packet packet) { packet.ReadPackedGuid128("PetID"); var hasData = packet.ReadBit("Has Data"); if (!hasData) return; var len = packet.ReadBits(8); packet.ReadBit("HasDeclined"); const int maxDeclinedNameCases = 5; var declinedNameLen = new int[maxDeclinedNameCases]; for (var i = 0; i < maxDeclinedNameCases; ++i) declinedNameLen[i] = (int)packet.ReadBits(7); for (var i = 0; i < maxDeclinedNameCases; ++i) packet.ReadWoWString("DeclinedNames", declinedNameLen[i], i); packet.ReadTime("Timestamp"); packet.ReadWoWString("Pet name", len); }
public static void HandleBattlePetQueryResponse(Packet packet) { packet.ReadPackedGuid128("BattlePetID"); packet.ReadInt32("CreatureID"); packet.ReadTime("Timestamp"); packet.ResetBitReader(); var bit40 = packet.ReadBit("Allow"); if (!bit40) return; var bits49 = packet.ReadBits(8); packet.ReadBit("HasDeclined"); var bits97 = new uint[5]; for (int i = 0; i < 5; i++) bits97[i] = packet.ReadBits(7); for (int i = 0; i < 5; i++) packet.ReadWoWString("DeclinedNames", bits97[i]); packet.ReadWoWString("Name", bits49); }
public static void ReadCliRideTicket(Packet packet, params object[] idx) { packet.ReadPackedGuid128("RequesterGuid", idx); packet.ReadInt32("Id", idx); packet.ReadInt32("Type", idx); packet.ReadTime("Time", idx); }