public static ItemDataPacket ReadItemPacket(this PacketReader reader) { var item = new ItemDataPacket(); item.ItemID = reader.ReadItemID(); item.Slot = reader.ReadByte(); item.ItemsInSlot = reader.ReadByte(); item.SpellCharges = reader.ReadByte(); return(item); }
public static void WriteItemPacket(this PacketWriter writer, ItemDataPacket item) { if (item == null) { item = new ItemDataPacket(); } writer.WriteItemID(item.ItemID); writer.WriteByte(item.Slot); writer.WriteByte(item.ItemsInSlot); writer.WriteByte(item.SpellCharges); }
public override void ReadBodyInternal(PacketReader reader) { byte itemCount = reader.ReadByte(); for (int i = 0; i < itemCount; i++) { var item = new ItemDataPacket(); item.Slot = reader.ReadByte(); item.ItemsInSlot = reader.ReadByte(); item.SpellCharges = reader.ReadByte(); item.ItemID = reader.ReadItemID(); } bool hasShield = reader.ReadBool(); if (hasShield) { ShieldValues = new ShieldValues(); ShieldValues.Magical = reader.ReadFloat(); ShieldValues.Phyisical = reader.ReadFloat(); ShieldValues.MagicalAndPhysical = reader.ReadFloat(); } int countCharStack = reader.ReadInt32(); for (int i = 0; i < countCharStack; i++) { var data = new CharacterStackData(); data.SkinName = reader.ReadSizedString(); data.SkinID = reader.ReadUInt32(); byte bitfield = reader.ReadByte(); data.OverrideSpells = (bitfield & 1) != 0; data.ModelOnly = (bitfield & 2) != 0; data.ReplaceCharacterPackage = (bitfield & 4) != 0; data.ID = reader.ReadUInt32(); CharacterDataStack.Add(data); } LookAtNetID = reader.ReadNetID(); LookAtType = reader.ReadLookAtType(); LookAtPosition = reader.ReadVector3(); int numOfBuffCount = reader.ReadInt32(); for (int i = 0; i < numOfBuffCount; i++) { byte slot = reader.ReadByte(); int count = reader.ReadInt32(); BuffCount.Add(new KeyValuePair <byte, int>(slot, count)); } UnknownIsHero = reader.ReadBool(); }