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