From 8692c589f15f03a4e42f58ebefd4fd4e86c92e24 Mon Sep 17 00:00:00 2001 From: RadiantFlash7 Date: Fri, 3 Apr 2020 22:14:39 -0400 Subject: [PATCH] Security update++ Geigers and more Rebuilds security to /not/ suck. Left Vacant office for security Next to HoS office, for the Security Pilot Officer (To be added in future) Dock for Interceptor left near sec. New Geigers added around the map! Vents and scrubber fixes. adds in HoP req console which was not in by default. --- code/__defines/machinery.dm | 2 +- code/game/area/Space Station 13 areas.dm | 2 +- code/game/area/Space Station 13 areas_yw.dm | 4 + code/game/machinery/frame.dm | 7 + code/game/machinery/requests_console_vr.dm | 6 + code/game/objects/items/devices/geiger_yw.dm | 112 + .../objects/items/devices/radio/intercom.dm | 6 + .../weapons/circuitboards/circuitboards_yw.dm | 5 + icons/obj/devices_yw.dmi | Bin 0 -> 3945 bytes maps/yw/cryogaia-02-mining.dmm | 171 +- maps/yw/cryogaia-04-maintenance.dmm | 191 +- maps/yw/cryogaia-05-main.dmm | 1834 ++++++++--------- maps/yw/submaps/beach/beach.dmm | 27 +- vorestation.dme | 2 + 14 files changed, 1272 insertions(+), 1097 deletions(-) create mode 100644 code/game/objects/items/devices/geiger_yw.dm create mode 100644 code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm create mode 100644 icons/obj/devices_yw.dmi diff --git a/code/__defines/machinery.dm b/code/__defines/machinery.dm index 35a031445e..435b9e5726 100644 --- a/code/__defines/machinery.dm +++ b/code/__defines/machinery.dm @@ -60,7 +60,7 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called #define NETWORK_ALARM_ATMOS "Atmosphere Alarms" #define NETWORK_ALARM_POWER "Power Alarms" #define NETWORK_ALARM_FIRE "Fire Alarms" -#define NETWORK_EXPLORATION +#define NETWORK_EXPLORATION "Exploration" // Those networks can only be accessed by pre-existing terminals. AIs and new terminals can't use them. var/list/restricted_camera_networks = list(NETWORK_ERT,NETWORK_MERCENARY,"Secret", NETWORK_COMMUNICATORS, NETWORK_EXPLORATION) diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index bf76d06aae..4d280c3dc0 100755 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -1125,7 +1125,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/crew_quarters name = "\improper Dormitories" icon_state = "Sleep" - flags = RAD_SHIELDED ambience = AMBIENCE_GENERIC /area/crew_quarters/toilet @@ -1136,6 +1135,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/crew_quarters/sleep name = "\improper Dormitories" icon_state = "Sleep" + flags = RAD_SHIELDED /area/crew_quarters/sleep/Apartment_A1 name = "\improper Apartment A1" diff --git a/code/game/area/Space Station 13 areas_yw.dm b/code/game/area/Space Station 13 areas_yw.dm index 8431698765..bfe81db226 100644 --- a/code/game/area/Space Station 13 areas_yw.dm +++ b/code/game/area/Space Station 13 areas_yw.dm @@ -166,6 +166,7 @@ /area/security/outpost name = "\improper Security outpost" icon_state = "security" + flags = RAD_SHIELDED /area/security/labor name = "Labor camp access" @@ -175,3 +176,6 @@ icon_state = "medbay" music = 'sound/ambience/signal.ogg' +/area/security/shuttledock + name = "\improper Security Interceptor Dock" + icon_state = "security" diff --git a/code/game/machinery/frame.dm b/code/game/machinery/frame.dm index 41c7a33a19..deb27d3661 100644 --- a/code/game/machinery/frame.dm +++ b/code/game/machinery/frame.dm @@ -186,6 +186,13 @@ x_offset = 24 y_offset = 24 +/datum/frame/frame_types/geiger //yw edit start + name = "Geiger Counter" + frame_class = FRAME_CLASS_ALARM + frame_size = 2 + frame_style = FRAME_STYLE_WALL + x_offset = 28 + y_offset = 28 //yw edit ends ////////////////////////////// // Frame Object (Structure) ////////////////////////////// diff --git a/code/game/machinery/requests_console_vr.dm b/code/game/machinery/requests_console_vr.dm index 9e93691c2e..6c1f5d63ad 100644 --- a/code/game/machinery/requests_console_vr.dm +++ b/code/game/machinery/requests_console_vr.dm @@ -90,3 +90,9 @@ name = "AI RC" department = "AI" departmentType = RC_ASSIST|RC_INFO + +/obj/machinery/requests_console/preset/hop //yw edit + name = "Head of personnel RC" + department = "Head of Personnel's Desk" + departmentType = RC_ASSIST|RC_INFO + announcementConsole = 1 \ No newline at end of file diff --git a/code/game/objects/items/devices/geiger_yw.dm b/code/game/objects/items/devices/geiger_yw.dm new file mode 100644 index 0000000000..eb89f3f4dd --- /dev/null +++ b/code/game/objects/items/devices/geiger_yw.dm @@ -0,0 +1,112 @@ +/obj/item/device/geiger/wall + name = "mounted geiger counter" + desc = "A wall mounted device used for detecting and measuring radiation in an area." + icon = 'icons/obj/devices_yw.dmi' + icon_state = "geiger_wall" + item_state = "geiger_wall" + anchored = 1 + scanning = 1 + radiation_count = 0 + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER + w_class = ITEMSIZE_LARGE + flags = NOBLOODY + var/circuit = /obj/item/weapon/circuitboard/geiger + var/number = 0 + var/last_tick //used to delay the powercheck + var/wiresexposed = 0 + +/obj/item/device/geiger/wall/Initialize() + START_PROCESSING(SSobj, src) + soundloop = new(list(src), FALSE) + return ..() + +/obj/item/device/geiger/wall/Destroy() + STOP_PROCESSING(SSobj, src) + QDEL_NULL(soundloop) + return ..() +/* +/obj/item/device/geiger/wall/process() + get_radiation() + +/obj/item/device/geiger/wall/proc/get_radiation() + if(!scanning) + return + radiation_count = SSradiation.get_rads_at_turf(get_turf(src)) + update_icon() + update_sound() + +/obj/item/device/geiger/wall/examine(mob/user) + ..(user) + get_radiation() + to_chat(user, "[scanning ? "Ambient" : "Stored"] radiation level: [radiation_count ? radiation_count : "0"]Bq.") + +/obj/item/device/geiger/wall/rad_act(amount) + if(!amount || !scanning) + return FALSE + + if(amount > radiation_count) + radiation_count = amount + + update_icon() + update_sound() +*/ + +/obj/item/device/geiger/wall/attack_self(var/mob/user) + scanning = !scanning + update_icon() + update_sound() + to_chat(user, "\icon[src] You switch [scanning ? "on" : "off"] \the [src].") + +/obj/item/device/geiger/wall/update_icon() + if(!scanning) + icon_state = "geiger_wall-p" + return 1 + + switch(radiation_count) + if(null) + icon_state = "geiger_level_1" + if(-INFINITY to RAD_LEVEL_LOW) + icon_state = "geiger_level_1" + if(RAD_LEVEL_LOW to RAD_LEVEL_MODERATE) + icon_state = "geiger_level_2" + if(RAD_LEVEL_MODERATE to RAD_LEVEL_HIGH) + icon_state = "geiger_level_3" + if(RAD_LEVEL_HIGH to RAD_LEVEL_VERY_HIGH) + icon_state = "geiger_level_4" + if(RAD_LEVEL_VERY_HIGH to INFINITY) + icon_state = "geiger_level_5" +/* +/obj/item/device/geiger/wall/process() + if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0)) + last_tick = world.timeofday + + if(!src.loc) + scanning = 0 + else + var/area/A = get_area(src) + if(!A) + scanning = 0 + else + scanning = A.powered(EQUIP) // set "on" to the power status + + if(!scanning) + if(wiresexposed) + icon_state = "geiger_wall-p_open" + else + icon_state = "geiger_wall-p" + else + if(wiresexposed) + icon_state = "geiger_wall-p_open" + else + icon_state = initial(icon_state) */ + +/obj/item/device/geiger/wall/attack_ai(mob/user as mob) + src.add_fingerprint(user) + spawn (0) + attack_self(user) + +/obj/item/device/geiger/wall/attack_hand(mob/user as mob) + src.add_fingerprint(user) + spawn (0) + attack_self(user) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 6d823f217f..795355a6e3 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -22,6 +22,12 @@ /obj/item/device/radio/intercom/interrogation name = "station intercom (Interrogation)" frequency = 1449 + broadcasting = 1 //yw edit starts + listening = 0 + +/obj/item/device/radio/intercom/interrogation/observation + listening = 1 + broadcasting = 0 //yw edit ends /obj/item/device/radio/intercom/private name = "station intercom (Private)" diff --git a/code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm b/code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm new file mode 100644 index 0000000000..ed2d1c5da0 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/circuitboards_yw.dm @@ -0,0 +1,5 @@ +/obj/item/weapon/circuitboard/geiger + name = T_BOARD("geiger counter") + build_path = /obj/item/device/geiger/wall + board_type = new /datum/frame/frame_types/geiger + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) \ No newline at end of file diff --git a/icons/obj/devices_yw.dmi b/icons/obj/devices_yw.dmi new file mode 100644 index 0000000000000000000000000000000000000000..3d2f6856e87125894dfee7acb8f114bed78fc9cf GIT binary patch literal 3945 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