public static void VendorSellReply(NetState state, CircularBufferReader reader)
        {
            Serial serial = reader.ReadUInt32();
            var    vendor = World.FindMobile(serial);

            if (vendor == null)
            {
                return;
            }

            if (vendor.Deleted || !Utility.RangeCheck(vendor.Location, state.Mobile.Location, 10))
            {
                state.SendEndVendorSell(vendor.Serial);
                return;
            }

            int count = reader.ReadUInt16();

            if (count >= 100 || reader.Remaining != count * 6)
            {
                return;
            }

            var sellList = new List <SellItemResponse>(count);

            for (var i = 0; i < count; i++)
            {
                var item   = World.FindItem(reader.ReadUInt32());
                int amount = reader.ReadInt16();

                if (item != null && amount > 0)
                {
                    sellList.Add(new SellItemResponse(item, amount));
                }
            }

            if (sellList.Count > 0 && vendor is IVendor v && v.OnSellItems(state.Mobile, sellList))
            {
                state.SendEndVendorSell(vendor.Serial);
            }
        }