diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index e3fee8035c7..a837dc7a72b 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -400,6 +400,7 @@ #define INVESTIGATE_RENAME "renames" #define INVESTIGATE_BOMB "bombs" +#define INVESTIGATE_HOTMIC "hotmic" // The SQL version required by this version of the code #define SQL_VERSION 56 diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index d8ff1d46d74..f2eb9da5007 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -174,6 +174,11 @@ else return ..() +/obj/item/radio/intercom/AltClick(mob/user) + . = ..() + if(broadcasting) + investigate_log("had its hotmic toggled on via hotkey by [key_name(user)].", INVESTIGATE_HOTMIC) ///Allows us to track who spams all these on if they do. + /obj/item/radio/intercom/crowbar_act(mob/user, obj/item/I) if(buildstage != 1) return @@ -245,7 +250,7 @@ underlays += emissive_appearance(icon, "intercom_lightmask") /obj/item/radio/intercom/proc/update_operating_status(on = TRUE) - if(!loc) // We init a few radios in nullspace to prevent them from needing power. + if(!loc) // We init a few radios in nullspace to prevent them from needing power. return var/area/current_area = get_area(src) if(on) diff --git a/code/game/objects/items/devices/radio/radio_objects.dm b/code/game/objects/items/devices/radio/radio_objects.dm index a26c5a126fa..4b5ca92cf49 100644 --- a/code/game/objects/items/devices/radio/radio_objects.dm +++ b/code/game/objects/items/devices/radio/radio_objects.dm @@ -131,6 +131,14 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) return ui_interact(user) +/obj/item/radio/AltClick(mob/user) + if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !istype(user)) + return + + ToggleBroadcast() + to_chat(user, "You [broadcasting ? "enable" : "disable"] [src]'s hotmic!") + add_fingerprint(user) + /obj/item/radio/ui_state(mob/user) return GLOB.default_state @@ -252,6 +260,8 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) /obj/item/radio/proc/ToggleBroadcast() broadcasting = !broadcasting && !(wires.is_cut(WIRE_RADIO_TRANSMIT) || wires.is_cut(WIRE_RADIO_SIGNAL)) + if(broadcasting) + playsound(src, 'sound/items/radio_common.ogg', rand(4, 16) * 5, SOUND_RANGE_SET(3)) /obj/item/radio/proc/ToggleReception() listening = !listening && !(wires.is_cut(WIRE_RADIO_RECEIVER) || wires.is_cut(WIRE_RADIO_SIGNAL)) @@ -534,6 +544,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems) /obj/item/radio/examine(mob/user) . = ..() + . += "Alt-Click to toggle [src]'s hotmic!" if(in_range(src, user) || loc == user) if(b_stat) . += "\the [src] can be attached and modified!"