Exemplo n.º 1
0
        public static void HandleUseItem2(Packet packet)
        {
            packet.ReadSByte("Bag");
            packet.ReadByte("Slot");
            packet.ReadByte("Cast Count");
            packet.ReadEntryWithName <Int32>(StoreNameType.Spell, "Spell ID");
            packet.ReadGuid("GUID");
            packet.ReadUInt32("Glyph Index");
            var castflag = packet.ReadEnum <CastFlag>("Cast Flags", TypeCode.Byte);

            SpellHandler.ReadSpellCastTargets(ref packet);

            if (!castflag.HasAnyFlag(CastFlag.Unknown1))
            {
                return;
            }

            packet.ReadSingle("Elevation");
            packet.ReadSingle("Missile speed");

            // Boolean if it will send MSG_MOVE_STOP
            if (!packet.ReadBoolean())
            {
                return;
            }

            var opcode          = packet.ReadInt32();
            var remainingLength = packet.Length - packet.Position;
            var bytes           = packet.ReadBytes((int)remainingLength);

            using (var newpacket = new Packet(bytes, opcode, packet.Time, packet.Direction, packet.Number, packet.Writer, packet.FileName))
                Handler.Parse(newpacket, true);
        }
Exemplo n.º 2
0
 public static void HandlePetCastSpell(Packet packet)
 {
     packet.ReadGuid("GUID");
     packet.ReadByte("Cast Count");
     packet.ReadEntryWithName <Int32>(StoreNameType.Spell, "Spell ID");
     packet.ReadEnum <CastFlag>("Cast Flags", TypeCode.Byte);
     SpellHandler.ReadSpellCastTargets(ref packet);
 }
Exemplo n.º 3
0
        public static void HandleUseItem(Packet packet)
        {
            packet.ReadSByte("Bag");
            packet.ReadByte("Slot");
            packet.ReadByte("Spell Count");
            packet.ReadByte("Cast Count");
            packet.ReadGuid("GUID");

            SpellHandler.ReadSpellCastTargets(ref packet);
        }
Exemplo n.º 4
0
        public static void HandleUseItem2(Packet packet)
        {
            packet.ReadSByte("Bag");
            packet.ReadByte("Slot");
            packet.ReadByte("Cast Count");
            packet.ReadEntryWithName <Int32>(StoreNameType.Spell, "Spell ID");
            packet.ReadGuid("GUID");
            packet.ReadUInt32("Glyph Index");
            packet.ReadByte("CastFlags");

            SpellHandler.ReadSpellCastTargets(ref packet);
        }
Exemplo n.º 5
0
        public static void HandlePetCastSpell(Packet packet)
        {
            packet.ReadGuid("GUID");
            packet.ReadByte("Cast Count");
            packet.ReadInt32 <SpellId>("Spell ID");
            var castFlags = packet.ReadByteE <CastFlag>("Cast Flags");

            SpellHandler.ReadSpellCastTargets(packet);
            if (castFlags.HasAnyFlag(CastFlag.HasTrajectory))
            {
                SpellHandler.HandleSpellMissileAndMove(packet);
            }
        }
Exemplo n.º 6
0
        public static void HandlePetCastSpell(Packet packet)
        {
            packet.ReadGuid("GUID");
            packet.ReadByte("Cast Count");
            packet.ReadEntryWithName <Int32>(StoreNameType.Spell, "Spell ID");
            var castFlags = packet.ReadEnum <CastFlag>("Cast Flags", TypeCode.Byte);

            SpellHandler.ReadSpellCastTargets(ref packet);
            if (castFlags.HasAnyFlag(CastFlag.HasTrajectory))
            {
                SpellHandler.HandleSpellMissileAndMove(ref packet);
            }
        }