/datum/computer_file/program/restock_tracker filename = "restockapp" filedesc = "NT Restock Tracker" downloader_category = PROGRAM_CATEGORY_SUPPLY program_open_overlay = "restock" extended_desc = "Nanotrasen IoT network listing all the vending machines found on station, and how well stocked they are each. Profitable!" program_flags = PROGRAM_ON_NTNET_STORE | PROGRAM_REQUIRES_NTNET can_run_on_flags = PROGRAM_ALL size = 4 program_icon = "cash-register" tgui_id = "NtosRestock" /datum/computer_file/program/restock_tracker/ui_data() var/list/data = list() var/list/vending_list = list() var/id_increment = 1 for(var/obj/machinery/vending/vendor as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/vending)) if(vendor.all_products_free) continue var/list/total_legal_stock = vendor.total_stock(contrabrand = FALSE) if((!total_legal_stock[2] || (total_legal_stock[1] >= total_legal_stock[2])) && !vendor.credits_contained) continue vending_list += list(list( "name" = vendor.name, "location" = get_area_name(vendor), "credits" = vendor.credits_contained, "percentage" = (total_legal_stock[1] / total_legal_stock[2]) * 100, "id" = id_increment, )) id_increment++ data["vending_list"] = vending_list return data