//public static void MoveInventory(Slot) private static void OnNewTick(Client client, NewTickPacket packet) { client.Self().Parse(packet); foreach (Status stat in packet.Statuses) { foreach (cPlayer cplayer in cPlayers.ToList()) { if (cplayer.Client.PlayerData == null) { continue; } foreach (Player player in cplayer.Players.ToList()) { if (player.PlayerData.OwnerObjectId == stat.ObjectId) { // Check for inv changes if (!cPlayers.Select(x => { if (x.Client.PlayerData == null) { return(null); } else { return(x.Client.PlayerData.Name == client.PlayerData.Name ? null : x.Client.PlayerData.Name); } }).Contains(player.PlayerData.Name)) // Doesn't fire if its a cPlayer that moved the inv { for (int a = 0; a <= stat.Data.Count() - 1; a++) { StatData thing = stat.Data[a]; // for lack of a better name if (thing.IsInventory()) { cplayer.FireInventorySwap(player, stat.Data.Select(x => new Item(x.Id, x.IntValue)).ToArray()); break; } } } player.PlayerData.Parse(packet); break; } } } } }