Esempio n. 1
0
        public void DropItem(int x, int y, int id, uint entity, uint owner, uint party = 0, int bonus = 0, int amount = 1, uint expiration = 0, int craft = 0, int craftBonus = 0, int upgrades = 0, int upgrade1 = 0, int upgrade2 = 0, int upgrade3 = 0, int upgrade4 = 0)
        {
            int row    = x / 16;
            int column = y / 16;

            var item = new ItemEntity(15000, (ushort)id, owner, party, (byte)bonus, (uint)amount, expiration, (byte)craft, (byte)craftBonus, (byte)upgrades, (byte)upgrade1, (byte)upgrade2, (byte)upgrade3, (byte)upgrade4);
            var cell = cells[row, column];
            var uid  = cell.AddItem(item, _id);

            var clients = GetSurroundingClients(cell, 3);

            PacketBuilder b = new PacketBuilder();

            if (clients.Count > 0)
            {
                b = clients[0].CreatePacket("ItemDropped", (ushort)x, (ushort)y, (ushort)id, uid, entity);
            }

            foreach (var c in clients)
            {
                c.Send(b, "ItemDropped");
            }
        }