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);
        }
Ejemplo n.º 4
0
 protected virtual T?Process(PacketBase basePacket, PacketPlayObjectSound packet) => default;
Ejemplo n.º 5
0
 protected override bool Process(PacketBase basePacket, PacketPlayObjectSound packet)
 {
     return(packet.Source.Equals(playerGuid));
 }
Ejemplo n.º 6
0
 protected override UniversalGuid?Process(PacketBase packetBaseData, PacketPlayObjectSound packet)
 {
     return(packet.Source);
 }
Ejemplo n.º 7
0
 protected override bool Process(PacketBase basePacket, PacketPlayObjectSound packet)
 {
     return(packet.Source.Type == UniversalHighGuid.Player);
 }