diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index de9097a8309..891f37cadeb 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -9,6 +9,7 @@ var/number = 0 var/obj/machinery/abstract/intercom_listener/power_interface var/radio_sound = null + clickvol = 40 /obj/item/device/radio/intercom/custom name = "station intercom (Custom)" @@ -48,6 +49,7 @@ /obj/item/device/radio/intercom/Initialize() . = ..() power_interface = new(loc, src) + update_icon() /obj/item/device/radio/intercom/department/medbay/Initialize() . = ..() @@ -129,10 +131,23 @@ ..(dest) /obj/item/device/radio/intercom/update_icon() - if (on) - icon_state = "intercom" + cut_overlays() + if(!on) + icon_state = initial(icon_state) + set_light(FALSE) + return else - icon_state = "intercom-p" + var/mutable_appearance/screen_overlay = mutable_appearance(icon, "intercom_screen", EFFECTS_ABOVE_LIGHTING_LAYER) + add_overlay(screen_overlay) + var/mutable_appearance/scanline_overlay = mutable_appearance(icon, "intercom_scanline", EFFECTS_ABOVE_LIGHTING_LAYER) + add_overlay(scanline_overlay) + set_light(1.4, 1, COLOR_CYAN) + if(broadcasting) + var/mutable_appearance/button_overlay = mutable_appearance(icon, "intercom_b", EFFECTS_ABOVE_LIGHTING_LAYER) + add_overlay(button_overlay) + if(listening) + var/mutable_appearance/button_overlay = mutable_appearance(icon, "intercom_l", EFFECTS_ABOVE_LIGHTING_LAYER) + add_overlay(button_overlay) /obj/item/device/radio/intercom/broadcasting broadcasting = 1 diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index a5dc7f68cae..546f51b3525 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -47,6 +47,9 @@ var/global/list/default_medbay_channels = list( matter = list(DEFAULT_WALL_MATERIAL = 75, MATERIAL_GLASS = 25) var/const/FREQ_LISTENING = 1 var/list/internal_channels + var/clicksound = "button" //played sound on usage + var/clickvol = 10 //volume + var/obj/item/cell/cell = /obj/item/cell/device @@ -183,6 +186,11 @@ var/global/list/default_medbay_channels = list( return STATUS_CLOSE return ..() +/obj/item/device/radio/CouldUseTopic(var/mob/user) + ..() + if(clicksound && iscarbon(user)) + playsound(src, clicksound, clickvol) + /obj/item/device/radio/Topic(href, href_list) if(..()) return 1 @@ -227,6 +235,7 @@ var/global/list/default_medbay_channels = list( if(.) SSnanoui.update_uis(src) + update_icon() /obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) //BS12 EDIT var/datum/radio_frequency/connection = null @@ -767,8 +776,3 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/phone/medbay/Initialize() . = ..() internal_channels = default_medbay_channels.Copy() - -/obj/item/device/radio/CouldUseTopic(var/mob/user) - ..() - if(iscarbon(user)) - playsound(src, "button", 10) diff --git a/html/changelogs/wezzy_cooler_intercom.yml b/html/changelogs/wezzy_cooler_intercom.yml new file mode 100644 index 00000000000..0f0d65324e4 --- /dev/null +++ b/html/changelogs/wezzy_cooler_intercom.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - imageadd: "Adds a new sprite for the intercom." diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index 005d2be17a7..ea1f2a59d05 100644 Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ