diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm
index 0ec80da4bbb..ad87960603c 100644
--- a/code/modules/modular_computers/computers/machinery/console_presets.dm
+++ b/code/modules/modular_computers/computers/machinery/console_presets.dm
@@ -137,6 +137,7 @@
starting_programs += /datum/computer_file/program/bounty_board
starting_programs += /datum/computer_file/program/budgetorders
starting_programs += /datum/computer_file/program/shipping
+ starting_programs += /datum/computer_file/program/restock_tracker
/obj/machinery/modular_computer/preset/cargochat/cargo/setup_starting_software()
var/datum/computer_file/program/chatclient/chatprogram = cpu.find_file_by_name("ntnrc_client")
diff --git a/code/modules/modular_computers/file_system/programs/restock_tracker.dm b/code/modules/modular_computers/file_system/programs/restock_tracker.dm
index 46462c0c6b5..8f2174ce97b 100644
--- a/code/modules/modular_computers/file_system/programs/restock_tracker.dm
+++ b/code/modules/modular_computers/file_system/programs/restock_tracker.dm
@@ -5,7 +5,7 @@
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_LAPTOP | PROGRAM_PDA
+ can_run_on_flags = PROGRAM_ALL
size = 4
program_icon = "cash-register"
tgui_id = "NtosRestock"
diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm
index 96dd1a7b3f9..68c593a4805 100644
--- a/code/modules/vending/_vending.dm
+++ b/code/modules/vending/_vending.dm
@@ -271,7 +271,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock)
*/
var/max_amount = rand(CEILING(product_record.amount * 0.5, 1), product_record.amount)
product_record.amount = rand(0, max_amount)
- credits_contained += rand(0, 1) //randomly add a few credits to the machine to make it look like it's been used, proportional to the amount missing.
+ credits_contained += rand(1, 5) //randomly add a few credits to the machine to make it look like it's been used, proportional to the amount missing.
if(tiltable && prob(6)) // 1 in 17 chance to start tilted (as an additional hint to the station trait behind it)
INVOKE_ASYNC(src, PROC_REF(tilt), loc)
credits_contained = 0 // If it's tilted, it's been looted, so no credits for you.
@@ -1652,6 +1652,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock)
return
var/credits_to_remove = min(CREDITS_DUMP_THRESHOLD, round(credits_contained))
var/obj/item/holochip/holochip = new(loc, credits_to_remove)
+ playsound(src, 'sound/effects/cashregister.ogg', 40, TRUE)
credits_contained = max(0, credits_contained - credits_to_remove)
SSblackbox.record_feedback("amount", "vending machine looted", holochip.credits)
diff --git a/tgui/packages/tgui/interfaces/RestockTracker.jsx b/tgui/packages/tgui/interfaces/RestockTracker.jsx
index 7df606adffc..ab6f1d012ed 100644
--- a/tgui/packages/tgui/interfaces/RestockTracker.jsx
+++ b/tgui/packages/tgui/interfaces/RestockTracker.jsx
@@ -81,7 +81,17 @@ export const RestockTracker = (props) => {
))}
+ {vending_list.length === 0 && }
);
};
+
+export const RestockTrackerFull = (props) => {
+ const { data } = useBackend();
+ return (
+
+ All vending machines stocked!
+
+ );
+};