private void MerchantMenuHandler_SellItemConfirmation(User user, Merchant merchant, ClientPacket packet) { packet.ReadByte(); byte slot = packet.ReadByte(); byte quantity = packet.ReadByte(); var item = user.Inventory[slot]; if (item == null) return; if (!merchant.Inventory.ContainsKey(item.Name)) { user.ShowMerchantGoBack(merchant, "I do not want that item.", MerchantMenuItem.SellItemMenu); return; } if (item.Count < quantity) { user.ShowMerchantGoBack(merchant, "You don't have that many to sell.", MerchantMenuItem.SellItemMenu); return; } uint profit = (uint) (Math.Round(item.Value*0.50)*quantity); if (item.Stackable && quantity < item.Count) user.DecreaseItem(slot, quantity); else user.RemoveItem(slot); user.AddGold(profit); merchant.DisplayPursuits(user); }