mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 03:27:46 +01:00
Rotates and otherwise cleans up map intercom usage.
Conflicts: code/controllers/communications.dm
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
// Access check is of the type requires one. These have been carefully selected to avoid allowing the janitor to see channels he shouldn't
|
||||
var/global/list/default_intercom_channels = list(
|
||||
num2text(PUB_FREQ) = list(),
|
||||
num2text(AI_FREQ) = list(access_synth),
|
||||
num2text(AI_FREQ) = list(access_synth),
|
||||
num2text(ERT_FREQ) = list(access_cent_specops),
|
||||
num2text(COMM_FREQ) = list(access_heads),
|
||||
num2text(COMM_FREQ)= list(access_heads),
|
||||
num2text(ENG_FREQ) = list(access_engine_equip, access_atmospherics),
|
||||
num2text(MED_FREQ) = list(access_medical_equip),
|
||||
num2text(SEC_FREQ) = list(access_security),
|
||||
@@ -13,7 +13,7 @@ var/global/list/default_intercom_channels = list(
|
||||
)
|
||||
|
||||
/obj/item/device/radio/intercom
|
||||
name = "station intercom"
|
||||
name = "station intercom (General)"
|
||||
desc = "Talk through this."
|
||||
icon_state = "intercom"
|
||||
anchored = 1
|
||||
@@ -21,34 +21,70 @@ var/global/list/default_intercom_channels = list(
|
||||
canhear_range = 2
|
||||
flags = CONDUCT | NOBLOODY
|
||||
var/number = 0
|
||||
var/anyai = 1
|
||||
var/mob/living/silicon/ai/ai = list()
|
||||
var/last_tick //used to delay the powercheck
|
||||
|
||||
var/list/intercom_channels
|
||||
|
||||
/obj/item/device/radio/intercom/custom
|
||||
name = "station intercom (Custom)"
|
||||
broadcasting = 0
|
||||
listening = 0
|
||||
|
||||
/obj/item/device/radio/intercom/interrogation
|
||||
name = "station intercom (Interrogation)"
|
||||
frequency = 1449
|
||||
|
||||
/obj/item/device/radio/intercom/private
|
||||
name = "station intercom (Private)"
|
||||
frequency = AI_FREQ
|
||||
|
||||
/obj/item/device/radio/intercom/specops
|
||||
name = "\improper Spec Ops intercom"
|
||||
frequency = ERT_FREQ
|
||||
|
||||
/obj/item/device/radio/intercom/department
|
||||
canhear_range = 5
|
||||
broadcasting = 0
|
||||
listening = 1
|
||||
|
||||
/obj/item/device/radio/intercom/department/medbay
|
||||
name = "station intercom (Medbay)"
|
||||
frequency = MED_I_FREQ
|
||||
|
||||
/obj/item/device/radio/intercom/department/security
|
||||
name = "station intercom (Security)"
|
||||
frequency = SEC_I_FREQ
|
||||
|
||||
/obj/item/device/radio/intercom/New()
|
||||
..()
|
||||
processing_objects += src
|
||||
intercom_channels = default_intercom_channels
|
||||
intercom_channels = default_intercom_channels.Copy()
|
||||
|
||||
/obj/item/device/radio/intercom/syndicate
|
||||
name = "illicit intercom"
|
||||
|
||||
/obj/item/device/radio/intercom/syndicate/New()
|
||||
/obj/item/device/radio/intercom/department/medbay/New()
|
||||
..()
|
||||
intercom_channels = list(
|
||||
num2text(PUB_FREQ) = list(),
|
||||
num2text(SYND_FREQ) = list(access_syndicate),
|
||||
num2text(COMM_FREQ) = list(access_syndicate),
|
||||
num2text(ENG_FREQ) = list(access_syndicate),
|
||||
num2text(MED_FREQ) = list(access_syndicate),
|
||||
num2text(SEC_FREQ) = list(access_syndicate),
|
||||
num2text(SCI_FREQ) = list(access_syndicate),
|
||||
num2text(SUP_FREQ) = list(access_syndicate),
|
||||
num2text(SRV_FREQ) = list(access_syndicate)
|
||||
num2text(MED_I_FREQ) = list(access_medical_equip)
|
||||
)
|
||||
|
||||
/obj/item/device/radio/intercom/department/security/New()
|
||||
..()
|
||||
intercom_channels = list(
|
||||
num2text(PUB_FREQ) = list(),
|
||||
num2text(SEC_I_FREQ) = list(access_security)
|
||||
)
|
||||
|
||||
/obj/item/device/radio/intercom/syndicate
|
||||
name = "illicit intercom"
|
||||
desc = "Talk through this. Evilly"
|
||||
frequency = SYND_FREQ
|
||||
subspace_transmission = 1
|
||||
syndie = 1
|
||||
|
||||
/obj/item/device/radio/intercom/syndicate/New()
|
||||
..()
|
||||
intercom_channels[num2text(SYND_FREQ)] = list(access_syndicate)
|
||||
|
||||
/obj/item/device/radio/intercom/proc/has_channel_access(var/mob/user, var/freq)
|
||||
if(!user)
|
||||
return 0
|
||||
@@ -98,12 +134,6 @@ var/global/list/default_intercom_channels = list(
|
||||
|
||||
return canhear_range
|
||||
|
||||
|
||||
/obj/item/device/radio/intercom/hear_talk(mob/M as mob, msg)
|
||||
if(!src.anyai && !(M in src.ai))
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/device/radio/intercom/process()
|
||||
if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0))
|
||||
last_tick = world.timeofday
|
||||
@@ -144,3 +174,11 @@ var/global/list/default_intercom_channels = list(
|
||||
|
||||
/obj/item/device/radio/intercom/locked/list_channels()
|
||||
return ""
|
||||
|
||||
/obj/item/device/radio/intercom/locked/ai_private
|
||||
name = "\improper AI intercom"
|
||||
frequency = AI_FREQ
|
||||
|
||||
/obj/item/device/radio/intercom/locked/confessional
|
||||
name = "confessional intercom"
|
||||
frequency = 1480
|
||||
|
||||
Reference in New Issue
Block a user