From 53cbbc221e919cee5c8f91f4b62aadaa4e54b1c8 Mon Sep 17 00:00:00 2001 From: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com> Date: Tue, 20 Oct 2020 19:09:53 +0200 Subject: [PATCH] Anonymizes chapel intercom, so chaplain doesn't know who's talking. (#54476) Adds support for radio's that anonimize the user, and adds one to every chapel. It adds a new layer of immersion, and the option to anonizmie the speaker adds new options for mappers. --- .../map_files/Deltastation/DeltaStation2.dmm | 18 +++++---------- .../map_files/IceBoxStation/IceBoxStation.dmm | 22 +++++++------------ _maps/map_files/MetaStation/MetaStation.dmm | 22 +++++++------------ _maps/map_files/PubbyStation/PubbyStation.dmm | 22 +++++++------------ .../objects/items/devices/radio/intercom.dm | 6 +++++ .../game/objects/items/devices/radio/radio.dm | 3 +++ code/game/say.dm | 8 +++---- 7 files changed, 43 insertions(+), 58 deletions(-) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 27a514db1ac..0c1f303c0c8 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -106367,12 +106367,6 @@ /obj/machinery/newscaster{ pixel_y = -32 }, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_x = -26 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -106383,6 +106377,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/item/radio/intercom/chapel{ + pixel_y = -27 + }, /turf/open/floor/plasteel/dark, /area/chapel/main) "edp" = ( @@ -106393,12 +106390,6 @@ /obj/machinery/newscaster{ pixel_y = 32 }, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_y = -26 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -106409,6 +106400,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/item/radio/intercom/chapel{ + pixel_y = -27 + }, /turf/open/floor/plasteel/dark, /area/chapel/office) "edq" = ( diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 126e26fbcb4..e7812a97cec 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -17690,13 +17690,10 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "aNX" = ( -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_x = 25 - }, /obj/structure/chair, +/obj/item/radio/intercom/chapel{ + pixel_x = 28 + }, /turf/open/floor/plasteel/dark, /area/chapel/main) "aNY" = ( @@ -18608,15 +18605,12 @@ /turf/open/floor/plasteel/dark, /area/science/nanite) "aQz" = ( -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_x = 25 - }, /obj/structure/chair{ dir = 1 }, +/obj/item/radio/intercom/chapel{ + pixel_x = 28 + }, /turf/open/floor/plasteel/dark, /area/chapel/main) "aQA" = ( @@ -37007,8 +37001,8 @@ /area/icemoon/surface/outdoors) "bLq" = ( /turf/closed/indestructible/riveted{ - name = "hyper-reinforced wall"; - desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease" + desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; + name = "hyper-reinforced wall" }, /area/science/test_area) "bLr" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index d3a2119732d..895e9f6c25d 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -53823,8 +53823,8 @@ /area/science/test_area) "cDz" = ( /turf/closed/indestructible/riveted{ - name = "hyper-reinforced wall"; - desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease" + desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; + name = "hyper-reinforced wall" }, /area/science/test_area) "cDD" = ( @@ -57480,13 +57480,10 @@ /turf/open/floor/plasteel/grimy, /area/chapel/office) "cNz" = ( -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_x = -25 - }, /obj/structure/chair, +/obj/item/radio/intercom/chapel{ + pixel_x = -27 + }, /turf/open/floor/plasteel/dark, /area/chapel/office) "cNA" = ( @@ -58025,16 +58022,13 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "cOL" = ( -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_x = 25 - }, /obj/structure/chair{ dir = 1 }, /obj/effect/landmark/start/chaplain, +/obj/item/radio/intercom/chapel{ + pixel_x = 28 + }, /turf/open/floor/plasteel/dark, /area/chapel/office) "cOM" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 8b3ae62410e..409312d3f90 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -40855,8 +40855,8 @@ name = "BOMB RANGE" }, /turf/closed/indestructible/riveted{ - name = "hyper-reinforced wall"; - desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease" + desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; + name = "hyper-reinforced wall" }, /area/asteroid/nearstation/bomb_site) "cjx" = ( @@ -41807,8 +41807,8 @@ /area/asteroid/nearstation/bomb_site) "cnq" = ( /turf/closed/indestructible/riveted{ - name = "hyper-reinforced wall"; - desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease" + desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; + name = "hyper-reinforced wall" }, /area/asteroid/nearstation/bomb_site) "cnr" = ( @@ -58577,11 +58577,8 @@ /obj/structure/chair/wood{ dir = 1 }, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_x = 26 +/obj/item/radio/intercom/chapel{ + pixel_x = 29 }, /turf/open/floor/plasteel/dark, /area/chapel/main/monastery) @@ -58986,11 +58983,8 @@ /area/medical/virology) "whH" = ( /obj/structure/chair/wood, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1481; - name = "Confessional Intercom"; - pixel_x = -26 +/obj/item/radio/intercom/chapel{ + pixel_x = -27 }, /turf/open/floor/plasteel/dark, /area/chapel/main/monastery) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index b4d9bfa5083..78864155969 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -140,3 +140,9 @@ pixel_shift = 29 inverse = TRUE custom_materials = list(/datum/material/iron = 75, /datum/material/glass = 25) + +/obj/item/radio/intercom/chapel + name = "Confessional intercom" + anonymize = TRUE + frequency = 1481 + broadcasting = TRUE diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 070d423c531..6e3925ed810 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -33,6 +33,9 @@ var/use_command = FALSE // If true, broadcasts will be large and BOLD. var/command = FALSE // If true, use_command can be toggled at will. + ///makes anyone who is talking through this anonymous. + var/anonymize = FALSE + // Encryption key handling var/obj/item/encryptionkey/keyslot var/translate_binary = FALSE // If true, can hear the special binary channel. diff --git a/code/game/say.dm b/code/game/say.dm index cddf4a41fa9..663ae7f0062 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -168,12 +168,12 @@ GLOBAL_LIST_INIT(freqtospan, list( var/obj/item/radio/radio INITIALIZE_IMMEDIATE(/atom/movable/virtualspeaker) -/atom/movable/virtualspeaker/Initialize(mapload, atom/movable/M, radio) +/atom/movable/virtualspeaker/Initialize(mapload, atom/movable/M, _radio) . = ..() - radio = radio + radio = _radio source = M - if (istype(M)) - name = M.GetVoice() + if(istype(M)) + name = radio.anonymize ? "Unknown" : M.GetVoice() verb_say = M.verb_say verb_ask = M.verb_ask verb_exclaim = M.verb_exclaim