Skip to content

Commit

Permalink
Adds Provost radio & radio channel (#4160)
Browse files Browse the repository at this point in the history
# About the pull request
Gives Provost their own radio channel. Didn't make much sense to me the
amount of people who have High Command radios and access to all that
entails. This splits off all the Non-Marshal (General) level provost to
their own radio.

Also removes ignore_z from High Command radios because it prevents
marines being able to hear what is said on their channels by a radio
with ignore_z.
<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

# Explain why it's good for the game
A bit of depth, and to differentiate from High Command and Provost
explicit.
# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
add: Added a Provost radio & channel.
qol: Changed High Command radio to have most channels off by default.
del: Removed ignore_z from High Command radios.
/:cl:
  • Loading branch information
realforest2001 authored Sep 1, 2023
1 parent 6a91cc6 commit a767d44
Show file tree
Hide file tree
Showing 12 changed files with 41 additions and 16 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#define RADIO_CHANNEL_HEADSET "headset"
#define RADIO_CHANNEL_ENGI "Engi"
#define RADIO_CHANNEL_HIGHCOM "HighCom"
#define RADIO_CHANNEL_PROVOST "Provost"
#define RADIO_CHANNEL_INTERCOM "intercom"
#define RADIO_CHANNEL_INTEL "Intel"
#define RADIO_CHANNEL_JTAC "JTAC"
Expand Down
3 changes: 3 additions & 0 deletions code/controllers/subsystem/communications.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ var/const/MAX_FREQ = 1468 // ---------------------------------------------------
//USCM High Command (USCM 1470-1499)
var/const/HC_FREQ = 1471
var/const/SOF_FREQ = 1472
var/const/PVST_FREQ = 1473

//Ship department channels
var/const/SENTRY_FREQ = 1480
Expand Down Expand Up @@ -141,6 +142,7 @@ var/list/radiochannels = list(
RADIO_CHANNEL_DUTCH_DOZEN = DUT_FREQ,

RADIO_CHANNEL_HIGHCOM = HC_FREQ,
RADIO_CHANNEL_PROVOST = PVST_FREQ,
RADIO_CHANNEL_ALMAYER = PUB_FREQ,
RADIO_CHANNEL_COMMAND = COMM_FREQ,
RADIO_CHANNEL_MEDSCI = MED_FREQ,
Expand Down Expand Up @@ -259,6 +261,7 @@ SUBSYSTEM_DEF(radio)
"[CRYO_FREQ]" = "cryoradio",
"[SOF_FREQ]" = "hcradio",
"[HC_FREQ]" = "hcradio",
"[PVST_FREQ]" = "pvstradio",
"[COLONY_FREQ]" = "deptradio",
)

Expand Down
12 changes: 6 additions & 6 deletions code/game/machinery/telecomms/presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
id = "Receiver B"
network = "tcommsat"
autolinkers = list("receiverB") // link to relay
freq_listening = list(COMM_FREQ, ENG_FREQ, SEC_FREQ, MED_FREQ, REQ_FREQ, SENTRY_FREQ, WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ, HC_FREQ)
freq_listening = list(COMM_FREQ, ENG_FREQ, SEC_FREQ, MED_FREQ, REQ_FREQ, SENTRY_FREQ, WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ, HC_FREQ, PVST_FREQ, SOF_FREQ)

//Common and other radio frequencies for people to freely use
/obj/structure/machinery/telecomms/receiver/preset/Initialize(mapload, ...)
Expand All @@ -433,7 +433,7 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
id = "CentComm Receiver"
network = "tcommsat"
autolinkers = list("receiverCent")
freq_listening = list(WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, HC_FREQ, SOF_FREQ)
freq_listening = list(WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, HC_FREQ, PVST_FREQ, SOF_FREQ)


//Buses
Expand All @@ -453,7 +453,7 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
/obj/structure/machinery/telecomms/bus/preset_three
id = "Bus 3"
network = "tcommsat"
freq_listening = list(SEC_FREQ, COMM_FREQ, WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ, HC_FREQ, SOF_FREQ)
freq_listening = list(SEC_FREQ, COMM_FREQ, WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ, HC_FREQ, PVST_FREQ, SOF_FREQ)
autolinkers = list("processor3", "security", "command", "JTAC")

/obj/structure/machinery/telecomms/bus/preset_four
Expand All @@ -469,7 +469,7 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
/obj/structure/machinery/telecomms/bus/preset_cent
id = "CentComm Bus"
network = "tcommsat"
freq_listening = list(WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, HC_FREQ, SOF_FREQ)
freq_listening = list(WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, HC_FREQ, PVST_FREQ, SOF_FREQ)
autolinkers = list("processorCent", "centcomm")

//Processors
Expand Down Expand Up @@ -534,7 +534,7 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)

/obj/structure/machinery/telecomms/server/presets/command
id = "Command Server"
freq_listening = list(COMM_FREQ, WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ, HC_FREQ, SOF_FREQ)
freq_listening = list(COMM_FREQ, WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ, HC_FREQ, PVST_FREQ, SOF_FREQ)
autolinkers = list("command")

/obj/structure/machinery/telecomms/server/presets/engineering
Expand All @@ -549,7 +549,7 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)

/obj/structure/machinery/telecomms/server/presets/centcomm
id = "CentComm Server"
freq_listening = list(WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, HC_FREQ, SOF_FREQ)
freq_listening = list(WY_WO_FREQ, PMC_FREQ, DUT_FREQ, YAUT_FREQ, HC_FREQ, PVST_FREQ, SOF_FREQ)
autolinkers = list("centcomm")


Expand Down
8 changes: 7 additions & 1 deletion code/game/objects/items/devices/radio/encryptionkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,13 @@
/obj/item/device/encryptionkey/highcom
name = "\improper USCM High Command Radio Encryption Key"
icon_state = "binary_key"
channels = list(RADIO_CHANNEL_HIGHCOM = TRUE, SQUAD_SOF = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = TRUE, SQUAD_MARINE_2 = TRUE, SQUAD_MARINE_3 = TRUE, SQUAD_MARINE_4 = TRUE, SQUAD_MARINE_5 = TRUE, SQUAD_MARINE_CRYO = TRUE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = TRUE, RADIO_CHANNEL_JTAC = TRUE, RADIO_CHANNEL_INTEL = TRUE)
channels = list(RADIO_CHANNEL_HIGHCOM = TRUE, SQUAD_SOF = TRUE, RADIO_CHANNEL_PROVOST = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = FALSE, RADIO_CHANNEL_JTAC = FALSE, RADIO_CHANNEL_INTEL = TRUE)

/obj/item/device/encryptionkey/provost
name = "\improper USCM Provost Radio Encryption Key"
icon_state = "sec_key"
channels = list(RADIO_CHANNEL_PROVOST = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = FALSE, RADIO_CHANNEL_JTAC = FALSE, RADIO_CHANNEL_INTEL = TRUE)


/obj/item/device/encryptionkey/contractor
name = "\improper Vanguard's Arrow Incorporated Radio Encryption Key"
Expand Down
12 changes: 9 additions & 3 deletions code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -992,9 +992,17 @@
name = "USCM High Command headset"
desc = "Issued to members of USCM High Command and their immediate subordinates. Channels are as follows: :v - marine command, :p - military police, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad, :n - engineering, :m - medbay, :u - requisitions, :j - JTAC, :t - intel, :z - HighCom"
icon_state = "mhc_headset"
frequency = HC_FREQ
initial_keys = list(/obj/item/device/encryptionkey/highcom)
volume = RADIO_VOLUME_CRITICAL
ignore_z = TRUE

/obj/item/device/radio/headset/almayer/provost
name = "USCM Provost headset"
desc = "Issued to members of the USCM Provost Office and their immediate subordinates."
icon_state = "pvst_headset"
frequency = PVST_FREQ
initial_keys = list(/obj/item/device/encryptionkey/provost)
volume = RADIO_VOLUME_CRITICAL

/obj/item/device/radio/headset/almayer/sof
name = "USCM SOF headset"
Expand All @@ -1003,7 +1011,6 @@
frequency = SOF_FREQ
initial_keys = list(/obj/item/device/encryptionkey/soc)
volume = RADIO_VOLUME_IMPORTANT
ignore_z = TRUE

/obj/item/device/radio/headset/almayer/sof/survivor_forecon
name = "USCM SOF headset"
Expand All @@ -1012,7 +1019,6 @@
frequency = SOF_FREQ
initial_keys = list(/obj/item/device/encryptionkey/soc/forecon)
volume = RADIO_VOLUME_QUIET
ignore_z = FALSE
has_hud = TRUE
hud_type = MOB_HUD_FACTION_USCM

Expand Down
8 changes: 4 additions & 4 deletions code/modules/gear_presets/uscm_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/security

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/highcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/provost(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/mp/provost/enforcer(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
Expand Down Expand Up @@ -247,7 +247,7 @@
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/security

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/highcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/provost(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/mp/provost/tml(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
Expand Down Expand Up @@ -291,7 +291,7 @@
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/security

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/highcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/provost(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/mp/provost/advisor(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
Expand Down Expand Up @@ -325,7 +325,7 @@
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/security

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/highcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/provost(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/mp/provost/inspector(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
Expand Down
2 changes: 2 additions & 0 deletions code/modules/mob/living/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ var/list/department_radio_keys = list(
":o" = RADIO_CHANNEL_COLONY, ".o" = RADIO_CHANNEL_COLONY, "#o" = RADIO_CHANNEL_PMC_CCT,
":z" = RADIO_CHANNEL_HIGHCOM, ".z" = RADIO_CHANNEL_HIGHCOM, "#z" = RADIO_CHANNEL_PMC_CMD,
":k" = SQUAD_SOF, ".k" = SQUAD_SOF, "#k" = RADIO_CHANNEL_WY_WO,
":r" = RADIO_CHANNEL_PROVOST, ".r" = RADIO_CHANNEL_PROVOST, "#r" = RADIO_CHANNEL_PROVOST,

":I" = RADIO_CHANNEL_INTERCOM, ".I" = RADIO_CHANNEL_INTERCOM, "#I" = RADIO_CHANNEL_INTERCOM,
":H" = RADIO_CHANNEL_DEPARTMENT, ".H" = RADIO_CHANNEL_DEPARTMENT, "#H" = RADIO_CHANNEL_DEPARTMENT,
Expand All @@ -45,6 +46,7 @@ var/list/department_radio_keys = list(
":O" = RADIO_CHANNEL_COLONY, ".O" = RADIO_CHANNEL_COLONY, "#O" = RADIO_CHANNEL_PMC_CCT,
":Z" = RADIO_CHANNEL_HIGHCOM, ".Z" = RADIO_CHANNEL_HIGHCOM, "#Z" = RADIO_CHANNEL_PMC_CMD,
":K" = SQUAD_SOF, ".K" = SQUAD_SOF, "#K" = RADIO_CHANNEL_WY_WO,
":R" = RADIO_CHANNEL_PROVOST, ".R" = RADIO_CHANNEL_PROVOST, "#R" = RADIO_CHANNEL_PROVOST,
)

/proc/channel_to_prefix(channel)
Expand Down
1 change: 1 addition & 0 deletions code/stylesheet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ em {font-style: normal; font-weight: bold;}
.echoradio {color: #3EB489;}
.cryoradio {color: #4a4740;}
.hcradio {color: #318779;}
.pvstradio {color: #9b0612;}

.medium { font-size: 2}
.big { font-size: 2}
Expand Down
Binary file modified icons/obj/items/radio.dmi
Binary file not shown.
3 changes: 3 additions & 0 deletions tgui/packages/tgui-panel/styles/goon/chat-dark.scss
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,9 @@ em {
.hcradio {
color: #318779;
}
.pvstradio {
color: #9b0612;
}
.cryoradio {
color: #ad6d48;
}
Expand Down
3 changes: 3 additions & 0 deletions tgui/packages/tgui-panel/styles/goon/chat-light.scss
Original file line number Diff line number Diff line change
Expand Up @@ -972,6 +972,9 @@ h2.alert {
.hcradio {
color: #318779;
}
.pvstradio {
color: #9b0612;
}

.airadio {
color: #ff00ff;
Expand Down
4 changes: 2 additions & 2 deletions tgui/public/tgui-panel.bundle.css

Large diffs are not rendered by default.

0 comments on commit a767d44

Please sign in to comment.