diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm index 36e3cbb446..ad3ad9522f 100644 --- a/code/game/objects/items/devices/communicator/communicator.dm +++ b/code/game/objects/items/devices/communicator/communicator.dm @@ -326,3 +326,28 @@ var/global/list/obj/item/device/communicator/all_communicators = list() ..() client_huds |= global_hud.whitense client_huds |= global_hud.darkMask + +//It's the 26th century. We should have smart watches by now. +/obj/item/device/communicator/watch + name = "communicator watch" + desc = "A personal device used to enable long range dialog between two people, utilizing existing telecommunications infrastructure to allow \ + communications across different stations, planets, or even star systems. You can wear this one on your wrist!" + icon = 'icons/obj/device.dmi' + icon_state = "commwatch" + slot_flags = SLOT_GLOVES + +/obj/item/device/communicator/watch/update_icon() + if(video_source) + icon_state = "commwatch-video" + return + + if(voice_mobs.len || communicating.len) + icon_state = "commwatch-active" + return + + if(alert_called) + icon_state = "commwatch-called" + return + + icon_state = initial(icon_state) + diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm index b21b257a49..eb37f7e0c0 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm @@ -9,10 +9,19 @@ path = /obj/item/weapon/clipboard /datum/gear/utility/communicator - display_name = "personal communicator" + display_name = "communicator selection" path = /obj/item/device/communicator cost = 0 + display_name = "communicator watch" +/datum/gear/utility/communicator/New() + ..() + var/list/communicators = list() + for(var/communicator in typesof(/obj/item/device/communicator) - list(/obj/item/device/communicator/integrated)) + var/obj/item/device/communicator_type = communicator + communicators[initial(communicator_type.name)] = communicator_type + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(communicators)) + /datum/gear/utility/camera display_name = "camera" path = /obj/item/device/camera diff --git a/html/changelogs/battlefieldcommander - ithinktheclockisslow.yml b/html/changelogs/battlefieldcommander - ithinktheclockisslow.yml new file mode 100644 index 0000000000..4c011e906f --- /dev/null +++ b/html/changelogs/battlefieldcommander - ithinktheclockisslow.yml @@ -0,0 +1,5 @@ +author: battlefieldCommander +delete-after: True +changes: + - rscadd: "Adds a communicator watch, a variant of the communicator you can wear on your wrist." + - rscadd: "Replaces the communicator in the loadout with a communicator selection. Choose either the traditional communicator, or the new commwatch." \ No newline at end of file diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index f74c37b6a6..908d3ade7c 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ