public static void HandleGameTimeUpdate(Packet packet) { packet.ReadPackedTime("ServerTime"); packet.ReadPackedTime("GameTime"); packet.ReadInt32("ServerTimeHolidayOffset"); packet.ReadInt32("GameTimeHolidayOffset"); }
public static void HandleAddCalendarEvent(Packet packet) { packet.ReadCString("Title"); packet.ReadCString("Description"); packet.ReadEnum<CalendarEventType>("Event Type", TypeCode.Byte); packet.ReadEnum<CalendarRepeatType>("Repeat Type", TypeCode.Byte); packet.ReadInt32("Max Invites"); packet.ReadEntryWithName<Int32>(StoreNameType.LFGDungeon, "Dungeon ID"); packet.ReadPackedTime("Event Time"); packet.ReadPackedTime("Unk PackedTime"); var flags = packet.ReadEnum<CalendarFlag>("Event Flags", TypeCode.Int32); if ((flags & CalendarFlag.GuildAnnouncement) != 0) return; var count = packet.ReadInt32("Invite Count"); for (var i = 0; i < count; i++) { packet.ReadPackedGuid("Creator GUID"); packet.ReadEnum<CalendarEventStatus>("Status", TypeCode.Byte); packet.ReadEnum<CalendarModerationRank>("Moderation Rank", TypeCode.Byte); } }
public static void HandleGuildAchievementData(Packet packet) { var count = packet.ReadBits("Criteria count", 20); var guid = new byte[count][]; for (var i = 0; i < count; ++i) { guid[i] = new byte[8]; packet.StartBitStream(guid[i], 3, 5, 4, 7, 2, 1, 0, 6); } for (var i = 0; i < count; ++i) { packet.ReadXORByte(guid[i], 2); packet.ReadXORByte(guid[i], 7); packet.ReadInt32("Unk 1", i); packet.ReadXORByte(guid[i], 5); packet.ReadXORByte(guid[i], 3); packet.ReadXORByte(guid[i], 1); packet.ReadInt32<AchievementId>("Achievement Id", i); packet.ReadXORByte(guid[i], 6); packet.ReadInt32("Unk 2", i); packet.ReadXORByte(guid[i], 4); packet.ReadXORByte(guid[i], 0); packet.ReadPackedTime("Time", i); packet.WriteGuid("Guid", guid[i], i); } }
public static void HandleAchievementEarned(Packet packet) { packet.ReadPackedGuid("Player GUID"); packet.ReadInt32("Achievement"); packet.ReadPackedTime("Time"); packet.ReadInt32("Unk Int32"); }
public static void HandleAllAchievementData406(Packet packet) { var achievements = packet.ReadUInt32("Achievement count"); var criterias = packet.ReadUInt32("Criterias count"); for (var i = 0; i < achievements; ++i) packet.ReadUInt32("Achievement Id", i); for (var i = 0; i < achievements; ++i) packet.ReadPackedTime("Achievement Time", i); for (var i = 0; i < criterias; ++i) packet.ReadUInt64("Counter", i); for (var i = 0; i < criterias; ++i) packet.ReadUInt32("Criteria Timer 1", i); for (var i = 0; i < criterias; ++i) packet.ReadPackedTime("Criteria Time", i); for (var i = 0; i < criterias; ++i) packet.ReadGuid("Player GUID", i); for (var i = 0; i < criterias; ++i) packet.ReadUInt32("Criteria Timer 2", i); for (var i = 0; i < criterias; ++i) packet.ReadBits("Flag", 2, i); for (var i = 0; i < criterias; ++i) packet.ReadUInt32("Criteria Id", i); }
public static void HandleGameTimeUpdate(Packet packet) { packet.ReadPackedTime("Int28"); // 28 packet.ReadPackedTime("Int16"); // 16 packet.ReadInt32("Int20"); // 20 packet.ReadInt32("Int24"); // 24 }
public static void HandleAllAchievementData422(Packet packet) { var count1 = packet.ReadUInt32("Count1"); for (var i = 0; i < count1; ++i) packet.ReadBits("Flag", 2, 0, i); for (var i = 0; i < count1; ++i) packet.ReadUInt64("Counter", 0, i); var count2 = packet.ReadUInt32("Count2"); for (var i = 0; i < count2; ++i) packet.ReadPackedTime("Achievement Time", 1, i); for (var i = 0; i < count1; ++i) packet.ReadGuid("Player GUID", 0, i); for (var i = 0; i < count1; ++i) packet.ReadPackedTime("Criteria Time", 0, i); for (var i = 0; i < count1; ++i) packet.ReadUInt32("Timer 1", 0, i); for (var i = 0; i < count2; ++i) packet.ReadUInt32("Achievement Id", 1, i); for (var i = 0; i < count1; ++i) packet.ReadUInt32("Criteria Id", 0, i); for (var i = 0; i < count1; ++i) packet.ReadUInt32("Timer 2", 0, i); }
public static void HandleGameTimeUpdate(Packet packet) { packet.ReadInt32("Unk dword16"); packet.ReadInt32("Unk dword28"); packet.ReadPackedTime("Time 1"); packet.ReadPackedTime("New Time"); }
public static void HandleGameTimeSet(Packet packet) { packet.ReadPackedTime("Time 1"); packet.ReadPackedTime("New Time"); packet.ReadInt32("Unk dword24"); packet.ReadInt32("Unk dword20"); }
public static void HandleLoginSetTimeSpeed(Packet packet) { packet.ReadInt32("unk32"); packet.ReadPackedTime("Time1"); packet.ReadInt32("unk20"); packet.ReadPackedTime("Time2"); packet.ReadSingle("unk28"); }
public static void HandleLoginSetTimeSpeed(Packet packet) { packet.ReadPackedTime("ServerTime"); packet.ReadPackedTime("GameTime"); packet.ReadSingle("NewSpeed"); packet.ReadInt32("ServerTimeHolidayOffset"); packet.ReadInt32("GameTimeHolidayOffset"); }
public static void HandleLoginSetTimeSpeed(Packet packet) { packet.ReadPackedTime("Server Current Time"); packet.ReadSingle("Game Speed"); packet.ReadInt32("Unk dword32"); packet.ReadInt32("Unk dword24"); packet.ReadPackedTime("Time 1"); }
public static void Handle41694(Packet packet) { var count = packet.ReadInt32("Count"); for (var i = 0; i < count; i++) packet.ReadInt32("Unk"); for (var i = 0; i < count; i++) packet.ReadGuid("Unk"); for (var i = 0; i < count; i++) { var count2 = packet.ReadInt32("Unk"); for (var j = 0; j < count2; j++) packet.ReadInt64("Unk"); } for (var i = 0; i < count; i++) packet.ReadInt32("Unk"); for (var i = 0; i < count; i++) { packet.ReadInt32("Unk"); packet.ReadInt32("Unk"); } for (var i = 0; i < count; i++) packet.ReadInt32("Unk"); for (var i = 0; i < count; i++) packet.Writer.WriteLine(packet.ReadPackedTime()); }
public static void HandleCalendarEventInviteAlert(Packet packet) { // TODO: find unks packet.ReadUInt64("EventID"); packet.ReadPackedTime("Date"); packet.ReadInt32E<CalendarFlag>("Flags"); packet.ReadByteE<CalendarEventType>("EventType"); packet.ReadInt32("TextureID"); packet.ReadPackedGuid128("EventGuildID"); packet.ReadUInt64("InviteID"); packet.ReadByteE<CalendarEventStatus>("Status"); packet.ReadByteE<CalendarModerationRank>("ModeratorStatus"); packet.ReadPackedGuid128("OwnerGUID | InvitedByGUID"); packet.ReadPackedGuid128("OwnerGUID | InvitedByGUID"); var eventNameLength = packet.ReadBits("EventNameLength", 8); packet.ResetBitReader(); packet.ReadWoWString("EventName", eventNameLength); }
public static void HandleLoginSetTimeSpeed(Packet packet) { packet.ReadPackedTime("Game Time"); packet.ReadUInt32("bit5"); packet.ReadUInt32("bit7"); packet.ReadUInt32("bit6"); packet.ReadSingle("Game Speed"); }
public static void HandleLoginSetTimeSpeed(Packet packet) { packet.ReadInt32("Unk Int32"); packet.ReadPackedTime("Game Time"); packet.ReadInt32("Unk Int32"); packet.ReadInt32("Unk Int32"); packet.ReadSingle("Game Speed"); }
public static void HandleGuildAchievementData430(Packet packet) { var count = packet.ReadBits("Count", 23); for (var i = 0; i < count; ++i) { packet.ReadPackedTime("Date", i); packet.ReadInt32<AchievementId>("Achievement Id", i); } }
public static void HandleGuildAchievementData(Packet packet) { var cnt = packet.ReadUInt32("Count"); for (var i = 0; i < cnt; ++i) packet.ReadPackedTime("Date", i); for (var i = 0; i < cnt; ++i) packet.ReadUInt32("Achievement Id", i); }
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 HandleAchievementEarned(Packet packet) { packet.ReadPackedGuid128("Sender"); packet.ReadPackedGuid128("Earner"); packet.ReadUInt32("AchievementID"); packet.ReadPackedTime("Time"); packet.ReadUInt32("EarnerNativeRealm"); packet.ReadUInt32("EarnerVirtualRealm"); packet.ReadBit("Initial"); }
public static void HandleCriteriaUpdate(Packet packet) { packet.ReadInt32("Criteria ID"); packet.ReadPackedGuid("Criteria Counter"); packet.ReadPackedGuid("Player GUID"); packet.ReadInt32("Unk Int32"); packet.ReadPackedTime("Time"); for (var i = 0; i < 2; i++) packet.ReadInt32("Timer " + i); }
public static void HandleCalendarEventInvite(Packet packet) { packet.ReadPackedGuid128("InviteGUID"); packet.ReadUInt64("EventID"); packet.ReadUInt64("InviteID"); packet.ReadByte("Level"); packet.ReadByteE<CalendarEventStatus>("Status"); packet.ReadByteE<CalendarEventType>("Type"); packet.ReadPackedTime("ResponseTime"); packet.ReadBit("ClearPending"); }
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 HandleGuildAchievementData(Packet packet) { var int10 = packet.ReadUInt32("EarnedAchievementCount"); for (var i = 0; i < int10; ++i) { packet.ReadInt32("Id", i); packet.ReadPackedTime("Date", i); packet.ReadPackedGuid128("Owner", i); packet.ReadInt32("VirtualRealmAddress", i); packet.ReadInt32("NativeRealmAddress", i); } }
public static void HandleGuildRoster(Packet packet) { packet.ReadUInt32("NumAccounts"); packet.ReadPackedTime("CreateDate"); packet.ReadUInt32("GuildFlags"); var int20 = packet.ReadUInt32("MemberDataCount"); packet.ResetBitReader(); var bits2037 = packet.ReadBits(10); var bits9 = packet.ReadBits(11); for (var i = 0; i < int20; ++i) { packet.ReadPackedGuid128("Guid", i); packet.ReadUInt32("RankID", i); packet.ReadUInt32<AreaId>("AreaID", i); packet.ReadUInt32("PersonalAchievementPoints", i); packet.ReadUInt32("GuildReputation", i); packet.ReadSingle("LastSave", i); for (var j = 0; j < 2; ++j) { packet.ReadUInt32("DbID", i, j); packet.ReadUInt32("Rank", i, j); packet.ReadUInt32("Step", i, j); } packet.ReadUInt32("VirtualRealmAddress", i); packet.ReadByteE<GuildMemberFlag>("Status", i); packet.ReadByte("Level", i); packet.ReadByteE<Class>("ClassID", i); packet.ReadByteE<Gender>("Gender", i); packet.ResetBitReader(); var bits36 = packet.ReadBits(6); var bits92 = packet.ReadBits(8); var bits221 = packet.ReadBits(8); packet.ReadBit("Authenticated", i); packet.ReadBit("SorEligible", i); packet.ReadWoWString("Name", bits36, i); packet.ReadWoWString("Note", bits92, i); packet.ReadWoWString("OfficerNote", bits221, i); } packet.ReadWoWString("WelcomeText", bits2037); packet.ReadWoWString("InfoText", bits9); }
public static void HandleCalendarEventInviteAlert(Packet packet) { packet.ReadInt64("Event ID"); packet.ReadCString("Title"); packet.ReadPackedTime("Time"); packet.ReadEnum<CalendarFlag>("Event Flags", TypeCode.Int32); packet.ReadEnum<CalendarEventType>("Type", TypeCode.Int32); packet.ReadEntryWithName<Int32>(StoreNameType.LFGDungeon, "Dungeon ID"); packet.ReadInt64("Invite ID"); packet.ReadEnum<CalendarEventStatus>("Status", TypeCode.Byte); packet.ReadEnum<CalendarModerationRank>("Moderation Rank", TypeCode.Byte); packet.ReadPackedGuid("Creator GUID"); packet.ReadPackedGuid("Sender GUID"); }
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 HandleScenarioProgressUpdate(Packet packet) { var guid3 = new byte[8]; var guid4 = new byte[8]; var bits28 = 0; guid4[7] = packet.ReadBit(); guid4[0] = packet.ReadBit(); guid4[4] = packet.ReadBit(); bits28 = (int)packet.ReadBits(4); guid3[3] = packet.ReadBit(); guid3[4] = packet.ReadBit(); guid3[0] = packet.ReadBit(); guid4[6] = packet.ReadBit(); guid3[2] = packet.ReadBit(); guid4[3] = packet.ReadBit(); guid3[7] = packet.ReadBit(); guid4[5] = packet.ReadBit(); guid3[6] = packet.ReadBit(); guid3[5] = packet.ReadBit(); guid3[1] = packet.ReadBit(); guid4[2] = packet.ReadBit(); guid4[1] = packet.ReadBit(); packet.ReadXORByte(guid4, 5); packet.ReadXORByte(guid3, 2); packet.ReadXORByte(guid3, 6); packet.ReadXORByte(guid4, 4); packet.ReadXORByte(guid3, 4); packet.ReadXORByte(guid4, 6); packet.ReadXORByte(guid3, 3); packet.ReadPackedTime("Time"); packet.ReadXORByte(guid4, 7); packet.ReadXORByte(guid3, 5); packet.ReadXORByte(guid3, 7); packet.ReadXORByte(guid3, 0); packet.ReadXORByte(guid4, 1); packet.ReadXORByte(guid3, 1); packet.ReadXORByte(guid4, 2); packet.ReadXORByte(guid4, 3); packet.ReadInt32("Int50"); packet.ReadInt32("Int4C"); packet.ReadInt32("Criteria ID"); packet.ReadXORByte(guid4, 0); packet.WriteGuid("Guid3", guid3); packet.WriteGuid("Guid4", guid4); }
public static void HandleAchievementEarned(Packet packet) { var guid1 = new byte[8]; var guid2 = new byte[8]; guid2[6] = packet.ReadBit(); guid2[2] = packet.ReadBit(); guid1[4] = packet.ReadBit(); guid1[5] = packet.ReadBit(); guid1[0] = packet.ReadBit(); guid1[3] = packet.ReadBit(); packet.ReadBit("unk"); guid2[7] = packet.ReadBit(); guid1[7] = packet.ReadBit(); guid1[1] = packet.ReadBit(); guid2[3] = packet.ReadBit(); guid2[0] = packet.ReadBit(); guid2[4] = packet.ReadBit(); guid1[6] = packet.ReadBit(); guid2[1] = packet.ReadBit(); guid1[2] = packet.ReadBit(); guid2[5] = packet.ReadBit(); packet.ReadXORByte(guid2, 5); packet.ReadXORByte(guid1, 3); packet.ReadXORByte(guid2, 6); packet.ReadXORByte(guid1, 6); packet.ReadPackedTime("Time"); packet.ReadXORByte(guid2, 1); packet.ReadXORByte(guid1, 2); packet.ReadXORByte(guid1, 0); packet.ReadXORByte(guid1, 7); packet.ReadXORByte(guid2, 3); packet.ReadXORByte(guid1, 4); packet.ReadXORByte(guid2, 7); packet.ReadInt32<AchievementId>("Achievement Id"); packet.ReadXORByte(guid2, 4); packet.ReadXORByte(guid1, 1); packet.ReadXORByte(guid2, 0); packet.ReadXORByte(guid1, 5); packet.ReadInt32("Realm Id"); packet.ReadInt32("Realm Id"); packet.ReadXORByte(guid2, 2); packet.WriteGuid("Guid1", guid1); packet.WriteGuid("Guid2", guid1); }
public static void HandleChallengeModeallMapStats(Packet packet) { var count = packet.ReadBits("Count", 19); // 16 var unk68 = new UInt32[count]; for (var i = 0; i < count; i++) unk68[i] = packet.ReadBits(23); for (var i = 0; i < count; i++) { packet.ReadPackedTime("Time", i); packet.ReadInt32("unk32", i); // 32 packet.ReadInt32("unk20", i); // 20 packet.ReadInt32("unk28", i); // 28 for (var j = 0; j < unk68[i]; j++) packet.ReadInt16("unk72", i, j); packet.ReadInt32("unk24", i); // 24 } }