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