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); }
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); }
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); }
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); }
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); } }
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); } }