Пример #1
0
        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);
        }
Пример #2
0
 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);
 }
Пример #3
0
        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();
        }