Watch Yourself (#15972)

* watches

* watches

I didn't actually need any of this, it's all handled by the embedded gps
This commit is contained in:
Killian
2024-05-12 05:05:39 +10:00
committed by GitHub
parent f46821ce21
commit 815a47e333
6 changed files with 87 additions and 5 deletions
@@ -99,4 +99,19 @@
/datum/gear/gloves/circuitry
display_name = "gloves, circuitry (empty)"
path = /obj/item/clothing/gloves/circuitry
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))
@@ -172,3 +172,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))
. += "<span class='notice'>The current station time is [stationtime2text()].</span>"
/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)
. += "<span class='notice'>You are currently facing [dir2text(user.dir)]. The micro beacon is [gps.tracking ? "on" : "off"].</span>"
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()
. += "<span class='notice'>Pressure: [env.return_pressure()]kPa / Temperature: [env.temperature]K </span>"
/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,"<span class='notice'>You turn the micro beacon [gps.tracking ? "on" : "off"].</span>")
+13 -3
View File
@@ -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
@@ -650,7 +652,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,
@@ -782,7 +788,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)