diff --git a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm
index 51aa20c049..c48760a933 100644
--- a/code/game/objects/structures/crates_lockers/closets/misc_vr.dm
+++ b/code/game/objects/structures/crates_lockers/closets/misc_vr.dm
@@ -215,8 +215,10 @@
/obj/item/weapon/cell/device,
/obj/item/device/radio,
/obj/item/device/gps/explorer,
- /obj/item/device/cataloguer/compact) //CHOMP edit
- // /obj/item/weapon/gun/energy/gun/protector/pilotgun/locked) //CHOMP Removed
+ /obj/item/device/cataloguer/compact, //CHOMP edit
+ // /obj/item/weapon/gun/energy/gun/protector/pilotgun/locked, //CHOMP Removed
+ /obj/item/clothing/gloves/watch/survival
+ )
/obj/structure/closet/secure_closet/pilot/Initialize()
if(prob(50))
diff --git a/code/modules/client/preference_setup/loadout/loadout_gloves.dm b/code/modules/client/preference_setup/loadout/loadout_gloves.dm
index 811d0740f3..6530edf321 100644
--- a/code/modules/client/preference_setup/loadout/loadout_gloves.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_gloves.dm
@@ -99,4 +99,19 @@
/datum/gear/gloves/circuitry
display_name = "gloves, circuitry (empty)"
- path = /obj/item/clothing/gloves/circuitry
\ No newline at end of file
+ path = /obj/item/clothing/gloves/circuitry
+
+/datum/gear/gloves/watch
+ display_name = "wristwatch selector"
+ description = "Pick from a range of wristwatches."
+ path = /obj/item/clothing/gloves/watch
+
+/datum/gear/gloves/watch/New()
+ ..()
+ var/list/selector_watches = list(
+ "plain plastic"=/obj/item/clothing/gloves/watch,
+ "silver"=/obj/item/clothing/gloves/watch/silver,
+ "gold"=/obj/item/clothing/gloves/watch/gold,
+ "survival"=/obj/item/clothing/gloves/watch/survival
+ )
+ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_watches))
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 2928b157cd..8cbb127e18 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -180,3 +180,58 @@
name = "water wings"
desc = "Swim aids designed to help a wearer float in water and learn to swim."
icon_state = "waterwings"
+
+/obj/item/clothing/gloves/watch
+ name = "wristwatch"
+ desc = "A cheap plastic quartz-based wristwatch. Painfully archaic by modern standards, but there's something charming about it all the same."
+ icon_state = "wristwatch_basic"
+ siemens_coefficient = 1
+ gender = "neuter"
+
+/obj/item/clothing/gloves/watch/examine(mob/user)
+ . = ..()
+
+ if(Adjacent(user))
+ . += "The current station time is [stationtime2text()]."
+
+/obj/item/clothing/gloves/watch/silver
+ name = "silver wristwatch"
+ desc = "A humble silver (or maybe chrome) plated wristwatch. It's quite archaic, but nonetheless classy in its own way."
+ icon_state = "wristwatch_silver"
+
+/obj/item/clothing/gloves/watch/gold
+ name = "gold wristwatch"
+ desc = "A very fancy gold-plated wristwatch. For when you want to casually show off just how wealthy you are. It even tells the time!"
+ icon_state = "wristwatch_gold"
+
+/obj/item/clothing/gloves/watch/survival
+ name = "survival watch"
+ desc = "An overengineered wristwatch that purports to be both space and water proof, and includes a compass, micro GPS beacon, and temperature and pressure sensors. The beacon is off by default, and can only transmit its location: it cannot scan for other signals."
+ description_fluff = "Hold ALT whilst left-clicking on the survival watch to toggle the status of its micro-beacon."
+ icon_state = "wristwatch_survival"
+
+ var/obj/item/device/gps/gps = null
+
+/obj/item/clothing/gloves/watch/survival/examine(mob/user)
+ . = ..()
+
+ if(Adjacent(user) && src.loc == user)
+ . += "You are currently facing [dir2text(user.dir)]. The micro beacon is [gps.tracking ? "on" : "off"]."
+ var/TB = src.loc.loc
+ if(istype(TB, /turf/simulated)) //no point returning atmospheric data from unsimulated tiles (they don't track pressure anyway, only temperature)
+ var/turf/simulated/T = TB
+ var/datum/gas_mixture/env = T.return_air()
+ . += "Pressure: [env.return_pressure()]kPa / Temperature: [env.temperature]K "
+
+/obj/item/clothing/gloves/watch/survival/New()
+ gps = new/obj/item/device/gps/watch(src)
+
+/obj/item/device/gps/watch
+ gps_tag = "SRV-WTCH"
+
+/obj/item/clothing/gloves/watch/survival/AltClick(mob/user)
+ . = ..()
+
+ if(Adjacent(user))
+ gps.tracking = !gps.tracking
+ to_chat(user,"You turn the micro beacon [gps.tracking ? "on" : "off"].")
diff --git a/code/modules/economy/vending_machines_vr.dm b/code/modules/economy/vending_machines_vr.dm
index 9a7bd37ba2..d3fb6177c4 100644
--- a/code/modules/economy/vending_machines_vr.dm
+++ b/code/modules/economy/vending_machines_vr.dm
@@ -506,7 +506,9 @@
/obj/item/clothing/under/color/white = 5,
/obj/item/clothing/under/color/yellow = 5,
/obj/item/clothing/shoes/black = 20,
- /obj/item/clothing/shoes/white = 20)
+ /obj/item/clothing/shoes/white = 20,
+ /obj/item/clothing/gloves/watch = 20
+ )
prices = list()
/obj/machinery/vending/loadout/accessory
@@ -651,7 +653,11 @@
/obj/item/clothing/accessory/pride/pan = 5,
/obj/item/clothing/accessory/pride/lesbian = 5,
/obj/item/clothing/accessory/pride/intersex = 5,
- /obj/item/clothing/accessory/pride/vore = 5)
+ /obj/item/clothing/accessory/pride/vore = 5,
+ /obj/item/clothing/gloves/watch = 5,
+ /obj/item/clothing/gloves/watch/silver = 5,
+ /obj/item/clothing/gloves/watch/gold = 5
+ )
prices = list(/obj/item/clothing/accessory = 50,
/obj/item/clothing/accessory/armband/med/color = 50,
/obj/item/clothing/accessory/asymmetric = 50,
@@ -783,7 +789,11 @@
/obj/item/clothing/accessory/pride/pan = 50,
/obj/item/clothing/accessory/pride/lesbian = 50,
/obj/item/clothing/accessory/pride/intersex = 50,
- /obj/item/clothing/accessory/pride/vore = 50)
+ /obj/item/clothing/accessory/pride/vore = 50,
+ /obj/item/clothing/gloves/watch = 50,
+ /obj/item/clothing/gloves/watch/silver = 100,
+ /obj/item/clothing/gloves/watch/gold = 200
+ )
premium = list(/obj/item/weapon/bedsheet/rainbow = 1)
contraband = list(/obj/item/clothing/mask/gas/clown_hat = 1,
/obj/item/clothing/accessory/collar/collarplanet_earth = 5)
diff --git a/icons/inventory/hands/item.dmi b/icons/inventory/hands/item.dmi
index 5ee9a81b13..dab4fb8cca 100644
Binary files a/icons/inventory/hands/item.dmi and b/icons/inventory/hands/item.dmi differ
diff --git a/icons/inventory/hands/mob.dmi b/icons/inventory/hands/mob.dmi
index 4631d2650b..676ed2fe54 100644
Binary files a/icons/inventory/hands/mob.dmi and b/icons/inventory/hands/mob.dmi differ