public static void HandlePlayObjectSound(Packet packet) { PacketPlayObjectSound packetSound = packet.Holder.PlayObjectSound = new PacketPlayObjectSound(); uint sound = packetSound.Sound = packet.ReadUInt32 <SoundId>("SoundId"); packetSound.Source = packet.ReadPackedGuid128("SourceObjectGUID"); packetSound.Target = packet.ReadPackedGuid128("TargetObjectGUID"); packet.ReadVector3("Position"); Storage.Sounds.Add(sound, packet.TimeSpan); }
public static void HandleObjectSoundMessages(Packet packet) { PacketPlayObjectSound packetSound = packet.Holder.PlayObjectSound = new PacketPlayObjectSound(); uint sound = packetSound.Sound = packet.ReadUInt32("Sound Id"); packetSound.Source = packet.ReadGuid("GUID"); if (ClientVersion.AddedInVersion(ClientVersionBuild.V4_3_0_15005)) { packetSound.Target = packet.ReadGuid("GUID 2"); } Storage.Sounds.Add(sound, packet.TimeSpan); }
public static void HandlePlayObjectSound(Packet packet) { PacketPlayObjectSound packetSound = packet.Holder.PlayObjectSound = new PacketPlayObjectSound(); var guid1 = new byte[8]; var guid2 = new byte[8]; guid2[5] = packet.ReadBit(); guid1[7] = packet.ReadBit(); guid1[0] = packet.ReadBit(); guid1[3] = packet.ReadBit(); guid2[1] = packet.ReadBit(); guid1[4] = packet.ReadBit(); guid2[7] = packet.ReadBit(); guid2[2] = packet.ReadBit(); guid2[4] = packet.ReadBit(); guid2[3] = packet.ReadBit(); guid1[5] = packet.ReadBit(); guid1[1] = packet.ReadBit(); guid1[6] = packet.ReadBit(); guid1[2] = packet.ReadBit(); guid2[6] = packet.ReadBit(); guid2[0] = packet.ReadBit(); packet.ReadXORBytes(guid1, 6, 2); packet.ReadXORBytes(guid2, 2, 5); packet.ReadXORBytes(guid1, 7, 5, 3, 1); packet.ReadXORBytes(guid2, 3, 1); uint sound = packetSound.Sound = packet.ReadUInt32("Sound Id"); packet.ReadXORByte(guid1, 4); packet.ReadXORBytes(guid2, 4, 7, 0, 6); packet.ReadXORByte(guid1, 0); packetSound.Source = packet.WriteGuid("Guid 1", guid1); packetSound.Target = packet.WriteGuid("Guid 2", guid2); Storage.Sounds.Add(sound, packet.TimeSpan); }
protected virtual T?Process(PacketBase basePacket, PacketPlayObjectSound packet) => default;
protected override bool Process(PacketBase basePacket, PacketPlayObjectSound packet) { return(packet.Source.Equals(playerGuid)); }
protected override UniversalGuid?Process(PacketBase packetBaseData, PacketPlayObjectSound packet) { return(packet.Source); }
protected override bool Process(PacketBase basePacket, PacketPlayObjectSound packet) { return(packet.Source.Type == UniversalHighGuid.Player); }