示例#1
0
        public static bool Handle(Models.Entities.Player player, Models.Packets.Items.WarehousePacket packet)
        {
            if (player.Guild != null && player.Guild.InHouse(player))
            {
                player.Guild.Warehouse.UpdateClient(player);
            }
            else
            {
                Collections.Warehouse warehouse;
                if (player.Warehouses.TryGetWarehouse(player.CurrentNpc.ClientId, out warehouse))
                {
                    warehouse.UpdateClient();
                }
            }

            return(true);
        }
示例#2
0
        public static bool Handle(Models.Entities.Player player, Models.Packets.Items.WarehousePacket packet)
        {
            if (player.Guild != null && player.Guild.InHouse(player))
            {
                if (player.Inventory.Count >= 40)
                {
                    player.SendSystemMessage("WAREHOUSE_FULL");
                    return(true);
                }

                var item = player.Guild.Warehouse.Pop(packet.ClientId);
                if (item != null)
                {
                    player.Inventory.Add(item);
                }

                player.ClientSocket.Send(packet);
            }
            else
            {
                Collections.Warehouse warehouse;
                if (player.Warehouses.TryGetWarehouse(player.CurrentNpc.ClientId, out warehouse))
                {
                    if (player.Inventory.Count >= 20)
                    {
                        player.SendSystemMessage("WAREHOUSE_FULL");
                        return(true);
                    }

                    var item = warehouse.Pop(packet.ClientId);
                    if (item != null)
                    {
                        player.Inventory.Add(item);
                    }

                    player.ClientSocket.Send(packet);
                }
            }

            return(true);
        }
示例#3
0
        public static bool Handle(Models.Entities.Player player, Models.Packets.Items.WarehousePacket packet)
        {
            if (player.Guild != null && player.Guild.InHouse(player))
            {
                if (player.Guild.Warehouse.Count >= 20)
                {
                    player.SendSystemMessage("WAREHOUSE_FULL");
                    return(true);
                }

                var item = player.Inventory.Pop(packet.ClientId);
                if (item != null)
                {
                    player.AddActionLog("AddGuildWarehouseItem", item.DbItem.Id);
                    player.Guild.Warehouse.Add(item, player);
                }
            }
            else
            {
                Collections.Warehouse warehouse;
                if (player.Warehouses.TryGetWarehouse(player.CurrentNpc.ClientId, out warehouse))
                {
                    if (warehouse.Count >= 20)
                    {
                        player.SendSystemMessage("WAREHOUSE_FULL");
                        return(true);
                    }

                    var item = player.Inventory.Pop(packet.ClientId);
                    if (item != null)
                    {
                        player.AddActionLog("AddWarehouseItem", item.DbItem.Id + " :" + warehouse.Id);
                        warehouse.Add(item);
                    }
                }
            }

            return(true);
        }