Ejemplo n.º 1
0
        public static void RemoveFromSlot(MapleClient c, MapleInventoryType type, byte slot, short quantity, bool fromDrop, bool consume = false)
        {
            if (quantity < 0)
            {
                return;
            }
            var item      = c.Player.Inventorys[type.Value].Inventory[slot];
            var ii        = MapleItemInformationProvider.Instance;
            var allowZero = consume && (ii.IsThrowingStar(item.ItemId) || ii.IsBullet(item.ItemId));

            c.Player.Inventorys[type.Value].RemoveItem(slot, quantity, allowZero);
            if (item.Quantity == 0 && !allowZero)
            {
                c.Send(PacketCreator.ClearInventoryItem(type, item.Position, fromDrop));
            }
            else
            {
                if (!consume)
                {
                    //item.l(c.Player.getName() + " removed " + quantity + ". " + item.getQuantity() + " left.", false);
                }
                c.Send(PacketCreator.UpdateInventorySlot(type, (Item)item, fromDrop));
            }
        }