public virtual void OnRequestSellItem(Player player, uint itemId) { Item item = player.Inventory.GetItem(itemId); if (item == null) { return; } int SellGoldValue = item.ItemDefinition.BaseGoldValue / 25; // Cost of item to sell is splitted into 25 of her BaseGoldValue (Buy price) [Necrosummon] decimal.Floor(SellGoldValue); item.Attributes[Net.GS.Message.GameAttribute.Special_Inventory_Has_Sold] = true; item.Attributes[Net.GS.Message.GameAttribute.Item_Time_Sold] = 0; item.Attributes.BroadcastChangedIfRevealed(); _vendorGrid.AddSelledItem(item); player.Inventory.SellItem(item); if (SellGoldValue <= 1) // if the operation have like a result less than 1, always vendor give you 1 gold for the item. { player.Inventory.AddGoldAmount(1); } else { player.Inventory.AddGoldAmount(SellGoldValue); } //RefreshInventoryToClient(player); }