From d8e993aee083e5fd329ac9df04f46705a736e750 Mon Sep 17 00:00:00 2001 From: Sparky Date: Sun, 8 Oct 2023 22:34:32 +0100 Subject: [PATCH] Adds an Expeditionary Channel and Intercoms & Gives the Interrogation Channel a Name (#17296) * Expedition Comms * mistyped * Adds hailing to expedition intercomms * Colour Change * Forgot light mode * ui fix --- code/__defines/radio.dm | 6 ++- code/controllers/subsystems/radio.dm | 4 +- .../objects/items/devices/radio/intercom.dm | 40 ++++++++++++++++++- .../game/objects/items/devices/radio/radio.dm | 10 +++++ html/changelogs/expeditionfrequency.yml | 7 ++++ maps/sccv_horizon/sccv_horizon-1_deck_1.dmm | 23 ++++++----- nano/templates/radio_basic.tmpl | 5 ++- .../tgui-panel/styles/tgchat/chat-dark.scss | 3 ++ .../tgui-panel/styles/tgchat/chat-light.scss | 3 ++ 9 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 html/changelogs/expeditionfrequency.yml diff --git a/code/__defines/radio.dm b/code/__defines/radio.dm index 7972c30e795..e375bbfb619 100644 --- a/code/__defines/radio.dm +++ b/code/__defines/radio.dm @@ -5,7 +5,9 @@ // Reminder: frequencies should only be odd numbers // Public frequencies (no encryption key required), see range above +#define EXP_FREQ 1445 #define BOT_FREQ 1447 +#define INT_FREQ 1449 #define PEN_FREQ 1451 #define PUB_FREQ 1459 #define ENT_FREQ 1461 @@ -56,7 +58,9 @@ var/list/radiochannels = list( "AI Private" = AI_FREQ, "Entertainment" = ENT_FREQ, "Medical (I)" = MED_I_FREQ, - "Security (I)" = SEC_I_FREQ + "Security (I)" = SEC_I_FREQ, + "Interrogation" = INT_FREQ, + "Expeditionary" = EXP_FREQ ) var/list/reverseradiochannels = list( diff --git a/code/controllers/subsystems/radio.dm b/code/controllers/subsystems/radio.dm index 32e39f0b213..9bf89a0d074 100644 --- a/code/controllers/subsystems/radio.dm +++ b/code/controllers/subsystems/radio.dm @@ -177,7 +177,7 @@ SUBSYSTEM_DEF(radio) return "comradio" if (AI_FREQ) // AI Private return "airadio" - if (SEC_FREQ,SEC_I_FREQ) + if (SEC_FREQ,SEC_I_FREQ,INT_FREQ) return "secradio" if (PEN_FREQ) return "penradio" @@ -197,6 +197,8 @@ SUBSYSTEM_DEF(radio) return "bluespaceradio" if (HAIL_FREQ) return "hailradio" + if(EXP_FREQ) + return "expradio" if(DEPT_FREQS_ASSOC[fstr]) return "deptradio" diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 771fffae89c..b7537091b17 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -155,7 +155,8 @@ pixel_x = 8; /obj/item/device/radio/intercom/interrogation/Initialize() . = ..() - set_frequency(1449) + set_frequency(INT_FREQ) + internal_channels = default_interrogation_channels /obj/item/device/radio/intercom/interrogation/broadcasting/north PRESET_NORTH @@ -174,6 +175,43 @@ pixel_x = 8; set_broadcasting(TRUE) set_listening(FALSE) +/obj/item/device/radio/intercom/expedition + name = "intercom (expeditionary)" + +/obj/item/device/radio/intercom/expedition/north + PRESET_NORTH + +/obj/item/device/radio/intercom/expedition/south + PRESET_SOUTH + +/obj/item/device/radio/intercom/expedition/west + PRESET_WEST + +/obj/item/device/radio/intercom/expedition/east + PRESET_EAST + +/obj/item/device/radio/intercom/expedition/Initialize() + . = ..() + set_frequency(EXP_FREQ) + internal_channels = default_expedition_channels + +/obj/item/device/radio/intercom/expedition/hailing/north + PRESET_NORTH + +/obj/item/device/radio/intercom/expedition/hailing/south + PRESET_SOUTH + +/obj/item/device/radio/intercom/expedition/hailing/west + PRESET_WEST + +/obj/item/device/radio/intercom/expedition/hailing/east + PRESET_EAST + +/obj/item/device/radio/intercom/expedition/hailing/Initialize() + . = ..() + set_frequency(HAIL_FREQ) + internal_channels = default_expedition_channels + /obj/item/device/radio/intercom/private name = "intercom (private)" diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 7e0ea35cb5d..79458ada231 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -23,6 +23,16 @@ var/global/list/default_medbay_channels = list( num2text(MED_I_FREQ) = list(access_medical_equip) ) +var/global/list/default_expedition_channels = list( + num2text(PUB_FREQ) = list(), + num2text(EXP_FREQ) = list(), + num2text(HAIL_FREQ) = list() +) + +var/global/list/default_interrogation_channels = list( + num2text(INT_FREQ) = list() +) + // // Radios // diff --git a/html/changelogs/expeditionfrequency.yml b/html/changelogs/expeditionfrequency.yml new file mode 100644 index 00000000000..0d8642cb651 --- /dev/null +++ b/html/changelogs/expeditionfrequency.yml @@ -0,0 +1,7 @@ +author: Sparky_hotdog + +delete-after: True + +changes: + - maptweak: "Added expeditionary intercomms to both the Intrepid and Spark, which can be tuned into manually on shortwaves." + - tweak: "Interrogation and Expeditionary comm channels are now labelled in chat, and are coloured based on channel too." diff --git a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm index 853190119d6..0caf5f1da84 100644 --- a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm +++ b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm @@ -756,7 +756,7 @@ /area/hangar/operations) "aFx" = ( /obj/structure/bed/stool/chair/sofa/left/red, -/obj/item/device/radio/intercom/north, +/obj/item/device/radio/intercom/expedition/north, /turf/simulated/floor/lino, /area/shuttle/intrepid/crew_compartment) "aFA" = ( @@ -862,7 +862,7 @@ pixel_x = -7; pixel_y = 3 }, -/obj/item/device/radio/intercom/north, +/obj/item/device/radio/intercom/expedition/north, /turf/simulated/floor/lino, /area/shuttle/intrepid/quarters) "aJA" = ( @@ -2403,6 +2403,7 @@ dir = 8 }, /obj/effect/floor_decal/corner/dark_blue/diagonal, +/obj/item/device/radio/intercom/expedition/hailing/east, /turf/simulated/floor/tiled/dark/full, /area/shuttle/intrepid/crew_compartment) "bID" = ( @@ -3192,7 +3193,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 10 }, -/obj/item/device/radio/intercom/south, +/obj/item/device/radio/intercom/expedition/south, /turf/simulated/floor/carpet/rubber, /area/shuttle/intrepid/crew_compartment) "cpt" = ( @@ -3547,7 +3548,7 @@ pixel_x = -23; req_access = null }, -/obj/item/device/radio/intercom/west{ +/obj/item/device/radio/intercom/expedition/west{ pixel_y = -21 }, /turf/simulated/floor/tiled/dark, @@ -7286,6 +7287,10 @@ dir = 4 }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/item/device/radio/intercom/expedition/hailing/north{ + pixel_x = -8; + pixel_y = 18 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "fdA" = ( @@ -10198,7 +10203,7 @@ /area/hangar/auxiliary) "hcq" = ( /obj/structure/bed/stool/chair/office/bridge, -/obj/item/device/radio/intercom/west{ +/obj/item/device/radio/intercom/expedition/west{ pixel_y = 2 }, /obj/machinery/button/remote/blast_door{ @@ -14882,7 +14887,7 @@ id = "intrepid_bay_outer"; name = "Intrepid Shutter" }, -/obj/item/device/radio/intercom/east, +/obj/item/device/radio/intercom/expedition/east, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "kyq" = ( @@ -16269,7 +16274,7 @@ /obj/machinery/light/small{ dir = 4 }, -/obj/item/device/radio/intercom/east{ +/obj/item/device/radio/intercom/expedition/east{ pixel_y = 21 }, /obj/structure/cable/green{ @@ -17474,7 +17479,7 @@ }, /obj/effect/floor_decal/corner/lime/diagonal, /obj/structure/bed/roller, -/obj/item/device/radio/intercom/south, +/obj/item/device/radio/intercom/expedition/south, /turf/simulated/floor/tiled/white, /area/shuttle/intrepid/crew_compartment) "mmh" = ( @@ -33586,7 +33591,7 @@ layer = 2.8 }, /obj/structure/lattice/catwalk/indoor, -/obj/item/device/radio/intercom/east, +/obj/item/device/radio/intercom/expedition/east, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "xqv" = ( diff --git a/nano/templates/radio_basic.tmpl b/nano/templates/radio_basic.tmpl index 126f99df276..c4d68ea1b23 100644 --- a/nano/templates/radio_basic.tmpl +++ b/nano/templates/radio_basic.tmpl @@ -1,4 +1,4 @@ - @@ -19,6 +19,7 @@ Used In File(s): /code/game/objects/item/devices/radio/radio.dm .sciradio {color: #c03bc0;} .supradio {color: #c09141;} .srvradio {color: #7fc732;} + .expradio {color: #5a3975;} .channelList {overflow: clip;} @@ -71,7 +72,7 @@ Used In File(s): /code/game/objects/item/devices/radio/radio.dm {{/if}} - + {{if data.has_loudspeaker}}
diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index 6522c83ed92..7a3260309d2 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -454,6 +454,9 @@ em { .srvradio { color: #7fc732; } +.expradio { + color: #5a3975; +} /* Miscellaneous */ .name { diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index 1cd8c1c8f08..06de6c21e8e 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -460,6 +460,9 @@ em { .srvradio { color: #6eaa2c; } +.expradio { + color: #5a3975; +} /* Miscellaneous */ .name {