diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 2fa4536a31..cff72ec803 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -31124,7 +31124,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/bloodbankgen, +/obj/structure/bed/roller, /turf/open/floor/plasteel/white, /area/medical/treatment_center) "bwG" = ( @@ -33890,6 +33890,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/structure/bed/roller, /turf/open/floor/plasteel/white, /area/medical/treatment_center) "bCm" = ( @@ -34100,32 +34101,15 @@ /turf/open/floor/plating, /area/maintenance/department/engine) "bCA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, +/obj/structure/loot_pile/maint, /turf/open/floor/plating, -/area/maintenance/department/engine) +/area/maintenance/department/crew_quarters/dorms) "bCB" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "2-4" }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -34561,11 +34545,28 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/item/kirbyplants{ + icon_state = "plant-16" + }, +/obj/machinery/light_switch{ + pixel_y = -22 + }, /turf/open/floor/plasteel/white, /area/command/heads_quarters/cmo) "bDy" = ( -/turf/closed/wall, -/area/medical/exam_room) +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/department/engine) "bDz" = ( /obj/structure/cable{ icon_state = "1-2" @@ -35195,97 +35196,45 @@ /turf/open/floor/plasteel/white, /area/command/heads_quarters/cmo) "bEH" = ( -/obj/item/kirbyplants{ - icon_state = "plant-16" +/obj/structure/loot_pile/maint, +/turf/open/floor/plating{ + icon_state = "platingdmg3" }, -/obj/machinery/light_switch{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/command/heads_quarters/cmo) +/area/maintenance/department/security/brig) "bEI" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/closet, -/obj/item/clothing/under/rank/medical/doctor/nurse, -/obj/item/clothing/head/nursehat, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/airalarm{ - pixel_y = 22 - }, -/obj/structure/sign/poster/official/no_erp{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/dark, -/area/medical/exam_room) -"bEJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/vending/wallmed{ - pixel_y = 28 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/landmark/blobstart, -/obj/item/melee/baton/cattleprod{ - preload_cell_type = /obj/item/stock_parts/cell/high - }, -/turf/open/floor/plasteel/dark, -/area/medical/exam_room) -"bEK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/button/door{ - id = "CMOCell"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_y = 26; - specialfunctions = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plasteel/dark, -/area/medical/exam_room) -"bEL" = ( -/obj/machinery/door/airlock/command{ - id_tag = "CMOCell"; - name = "Personal Examination Room"; - req_access_txt = "40" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/medical/exam_room) -"bEM" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/disposalpipe/segment{ + dir = 10 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plating, /area/maintenance/department/engine) +"bEJ" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/department/security/brig) +"bEK" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/department/cargo) +"bEL" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/department/engine) +"bEM" = ( +/obj/effect/landmark/blobstart, +/obj/structure/grille/broken, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/department/engine) "bEN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/sign/poster/official/random{ @@ -35809,53 +35758,56 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/light{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bFU" = ( /turf/closed/wall, /area/medical/surgery) "bFV" = ( -/obj/structure/table/glass, -/obj/item/flashlight/pen, -/obj/item/clothing/neck/stethoscope, -/obj/item/lipstick/black, -/obj/machinery/power/apc{ - dir = 8; - name = "Personal Examination Room APC"; - pixel_x = -25 +/obj/machinery/camera{ + c_tag = "Surgery"; + network = list("ss13","surgery") }, -/obj/structure/cable, -/obj/item/reagent_containers/pill/morphine, -/turf/open/floor/plasteel/dark, -/area/medical/exam_room) +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/plasteel/white/side, +/area/medical/surgery) "bFW" = ( -/obj/effect/decal/remains/human, -/obj/structure/chair/office/dark{ +/obj/structure/table, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/obj/machinery/vending/wallmed{ + pixel_y = 29 + }, +/turf/open/floor/plasteel/white/side, +/area/medical/surgery) +"bFX" = ( +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/firealarm{ + pixel_y = 27 + }, +/turf/open/floor/plasteel/white/corner{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/dark, -/area/medical/exam_room) -"bFX" = ( -/obj/structure/bed, -/obj/item/bedsheet/cmo, -/obj/effect/decal/cleanable/blood/drip, -/obj/item/restraints/handcuffs, -/obj/item/clothing/mask/muzzle, -/obj/machinery/light_switch{ - pixel_y = -22 - }, -/turf/open/floor/plasteel/dark, -/area/medical/exam_room) +/area/medical/surgery) "bFY" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-4" }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/departments/examroom{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/engine) "bFZ" = ( @@ -36386,50 +36338,66 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bHa" = ( -/obj/machinery/light{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/turf/open/floor/plating, +/area/maintenance/department/engine) "bHb" = ( /obj/machinery/newscaster/security_unit{ pixel_y = 32 }, -/obj/machinery/limbgrower, -/turf/open/floor/plasteel/freezer, +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/medical{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/white, /area/medical/surgery) "bHc" = ( -/obj/machinery/computer/med_data, /obj/machinery/status_display/evac{ pixel_y = 32 }, -/turf/open/floor/plasteel/freezer, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#d1dfff" + }, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, /area/medical/surgery) "bHd" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = 32 }, -/turf/open/floor/plasteel/freezer, -/area/medical/surgery) -"bHe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, +/obj/structure/closet/wardrobe/pjs, +/turf/open/floor/plasteel/dark/side{ + dir = 4 + }, /area/medical/surgery) "bHf" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -36974,130 +36942,64 @@ /turf/open/floor/plating, /area/medical/surgery) "bIk" = ( -/turf/open/floor/plasteel/freezer, +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/medical{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/white, /area/medical/surgery) "bIl" = ( -/obj/structure/chair/office/light{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/white/side{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, /area/medical/surgery) "bIm" = ( -/obj/machinery/camera{ - c_tag = "Medbay Recovery Room"; - dir = 8; - network = list("ss13","medbay") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/turf/open/floor/plasteel/dark/side{ dir = 4 }, -/obj/item/radio/intercom{ - frequency = 1485; - name = "Station Intercom (Medbay)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/freezer, /area/medical/surgery) "bIn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/structure/chair{ dir = 4 }, -/turf/closed/wall, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "bIo" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = -22 - }, -/turf/open/floor/plasteel/white, +/obj/machinery/limbgrower, +/turf/open/floor/plasteel/white/corner, /area/medical/surgery) "bIp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white/side{ dir = 4 }, -/obj/structure/sink{ - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/item/reagent_containers/glass/beaker/synthflesh, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bIq" = ( -/obj/machinery/light{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/white/side{ + dir = 9 }, -/obj/machinery/camera{ - c_tag = "Surgery"; - network = list("ss13","surgery") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bIr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/vending/wallmed{ - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/blue{ +/turf/open/floor/plasteel/white/side{ dir = 1 }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bIs" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/tile/blue{ +/obj/structure/table/optable, +/obj/machinery/light/small, +/turf/open/floor/plasteel/white/corner{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bIt" = ( /obj/structure/disposalpipe/segment{ @@ -37529,109 +37431,99 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bJq" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Recovery Room" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 +/obj/machinery/door/airlock/medical/glass{ + name = "Recovery Room" }, /obj/machinery/door/firedoor, -/turf/open/floor/plasteel/freezer, +/turf/open/floor/plasteel/white, /area/medical/surgery) "bJr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plasteel/freezer, -/area/medical/surgery) -"bJs" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/turf/open/floor/plasteel/freezer, +/turf/open/floor/plasteel/white, +/area/medical/surgery) +"bJs" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, /area/medical/surgery) "bJt" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Surgery"; - req_access_txt = "45" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "bJu" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/machinery/door/airlock/medical/glass{ + name = "Operating Theatre"; + req_access_txt = "45" }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "bJv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 + dir = 4 + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bJw" = ( -/obj/machinery/computer/operating, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, /area/medical/surgery) "bJx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/smartfridge/organ/preloaded, /turf/open/floor/plasteel/white, /area/medical/surgery) "bJy" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/item/reagent_containers/glass/beaker/synthflesh, +/turf/open/floor/plasteel/white/side{ dir = 4 }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bJz" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Surgery Maintenance"; - req_access_txt = "45" +/obj/effect/landmark/start/medical_doctor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/dark/side{ + dir = 4 }, +/area/medical/surgery) +"bJA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/department/engine) -"bJA" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white/side{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/maintenance/department/engine) +/area/medical/surgery) "bJB" = ( /obj/structure/cable{ icon_state = "1-2" @@ -38028,7 +37920,7 @@ layer = 4.5 }, /turf/open/floor/plasteel/freezer, -/area/medical/medbay/central) +/area/medical/exam_room) "bKw" = ( /obj/machinery/vending/wallmed{ pixel_y = 28 @@ -38039,8 +37931,9 @@ /obj/machinery/light{ dir = 1 }, +/obj/effect/landmark/xeno_spawn, /turf/open/floor/plasteel/freezer, -/area/medical/medbay/central) +/area/medical/exam_room) "bKx" = ( /obj/machinery/button/door{ id = "patientB"; @@ -38054,7 +37947,7 @@ dir = 4 }, /turf/open/floor/plasteel/freezer, -/area/medical/medbay/central) +/area/medical/exam_room) "bKy" = ( /obj/machinery/door/airlock/medical{ name = "Patient Room"; @@ -38064,7 +37957,7 @@ dir = 4 }, /turf/open/floor/plasteel/freezer, -/area/medical/medbay/central) +/area/medical/exam_room) "bKz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -38081,52 +37974,61 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/central) -"bKB" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/freezer, -/area/medical/surgery) -"bKC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/freezer, -/area/medical/surgery) -"bKD" = ( -/obj/structure/bed, -/turf/open/floor/plasteel/freezer, -/area/medical/surgery) -"bKE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ +/obj/vehicle/ridden/wheelchair/motorized{ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/surgery) -"bKF" = ( -/obj/structure/table/optable, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"bKG" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Surgery APC"; - pixel_x = 24 +/area/medical/medbay/central) +"bKB" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/turf/open/floor/plasteel/white, +/area/medical/surgery) +"bKC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, +/area/medical/surgery) +"bKD" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/side{ + dir = 4 + }, +/area/medical/surgery) +"bKE" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/medical/surgery) +"bKF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/white/side{ + dir = 10 + }, +/area/medical/surgery) +"bKG" = ( +/obj/structure/table/optable, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 8 + }, /area/medical/surgery) "bKH" = ( /obj/structure/cable{ @@ -38507,7 +38409,7 @@ pixel_x = -22 }, /turf/open/floor/plasteel/freezer, -/area/medical/medbay/central) +/area/medical/exam_room) "bLG" = ( /obj/structure/chair/office/light{ dir = 8 @@ -38516,14 +38418,14 @@ dir = 4 }, /turf/open/floor/plasteel/freezer, -/area/medical/medbay/central) +/area/medical/exam_room) "bLH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/structure/closet/secure_closet/personal/patient, /turf/open/floor/plasteel/freezer, -/area/medical/medbay/central) +/area/medical/exam_room) "bLI" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "patientB"; @@ -38534,7 +38436,7 @@ }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/medical/medbay/central) +/area/medical/exam_room) "bLJ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/effect/turf_decal/tile/blue{ @@ -38553,59 +38455,45 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/vehicle/ridden/wheelchair/motorized{ + dir = 8 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bLL" = ( /obj/machinery/light, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 +/obj/structure/extinguisher_cabinet{ + pixel_y = -32 }, -/turf/open/floor/plasteel/freezer, -/area/medical/surgery) -"bLM" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/structure/chair/office/light{ + dir = 8 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 +/turf/open/floor/plasteel/white/side{ + dir = 8 }, -/turf/open/floor/plasteel/white, +/area/medical/surgery) +"bLM" = ( +/turf/open/floor/plasteel/white/side, /area/medical/surgery) "bLN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"bLO" = ( -/obj/effect/landmark/start/medical_doctor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/structure/closet/crate/freezer/blood, +/turf/open/floor/plasteel/white/side{ dir = 4 }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bLP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, /turf/open/floor/plasteel/white, /area/medical/surgery) "bLQ" = ( -/obj/structure/table, -/obj/item/surgical_drapes, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/machinery/computer/operating{ + dir = 8 + }, +/turf/open/floor/plasteel/white/side{ + dir = 8 }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bLR" = ( /obj/machinery/vending/cigarette, @@ -39026,89 +38914,43 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bMN" = ( -/obj/structure/table, -/obj/item/hemostat, -/obj/item/stack/medical/gauze, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/surgery) +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/department/science) "bMO" = ( -/obj/structure/table, -/obj/item/surgicaldrill, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/machinery/bloodbankgen, +/turf/open/floor/plasteel/white/corner{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bMP" = ( -/obj/structure/table, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/circular_saw, -/obj/machinery/light, -/obj/effect/turf_decal/tile/blue{ +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/plasteel/white/side{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bMQ" = ( /obj/structure/table, -/obj/item/cautery{ - pixel_x = 4 +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/obj/machinery/vending/wallmed{ + pixel_y = -29 }, -/obj/item/razor{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/blue{ +/turf/open/floor/plasteel/white/side{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bMR" = ( /obj/structure/table, -/obj/item/retractor, -/obj/effect/turf_decal/tile/blue{ +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/turf/open/floor/plasteel/white/corner{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "bMS" = ( /obj/structure/cable{ @@ -39534,12 +39376,10 @@ /area/maintenance/department/engine) "bNV" = ( /obj/item/wrench/medical, +/obj/effect/decal/cleanable/generic, /turf/open/floor/plating, /area/maintenance/department/engine) "bNW" = ( -/obj/machinery/light/small{ - dir = 1 - }, /obj/machinery/space_heater, /turf/open/floor/plating{ icon_state = "platingdmg3" @@ -39557,8 +39397,8 @@ icon_state = "1-4" }, /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 }, /turf/open/floor/plating, /area/maintenance/department/engine) @@ -43924,6 +43764,7 @@ /area/service/chapel/asteroid/monastery) "bXS" = ( /obj/structure/grille/broken, +/obj/structure/loot_pile/maint, /turf/open/floor/plating{ icon_state = "platingdmg1" }, @@ -51635,6 +51476,15 @@ }, /turf/open/floor/plating, /area/engineering/main) +"cLJ" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) "cOp" = ( /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, @@ -52742,6 +52592,27 @@ /obj/machinery/computer/security/labor, /turf/open/floor/plasteel/dark, /area/security/brig) +"eQk" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom{ + frequency = 1485; + name = "Station Intercom (Medbay)"; + pixel_y = -27 + }, +/obj/structure/sign/poster/official/no_erp{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/white, +/area/medical/surgery) "eQN" = ( /obj/structure/chair/stool, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -52768,6 +52639,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"eRv" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Surgery Maintenance"; + req_access_txt = "45" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/department/engine) "eSB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -53785,6 +53664,16 @@ }, /turf/open/floor/plasteel/white, /area/medical/chemistry) +"gHB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/department/engine) "gHZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -56851,6 +56740,20 @@ /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plating, /area/engineering/main) +"mcB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/department/engine) "mdL" = ( /obj/structure/table, /obj/item/paper_bin, @@ -57234,6 +57137,20 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) +"mFw" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Medbay Recovery Room"; + dir = 1; + network = list("ss13","medbay") + }, +/obj/machinery/light_switch{ + pixel_y = -22 + }, +/turf/open/floor/plasteel/dark, +/area/medical/surgery) "mGa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -59043,6 +58960,15 @@ }, /turf/open/floor/plasteel, /area/security/courtroom) +"pCL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/maintenance/department/engine) "pDP" = ( /obj/machinery/vending/assist, /obj/effect/turf_decal/tile/neutral{ @@ -59388,6 +59314,9 @@ /obj/item/stack/sheet/mineral/wood, /turf/open/floor/plating, /area/maintenance/department/engine) +"qdY" = ( +/turf/closed/wall, +/area/medical/exam_room) "qeY" = ( /turf/closed/wall/r_wall, /area/engineering/supermatter) @@ -59440,8 +59369,13 @@ /turf/open/floor/engine, /area/engineering/main) "qni" = ( -/obj/machinery/smartfridge/organ/preloaded, -/turf/closed/wall, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "qnT" = ( /obj/machinery/iv_drip, @@ -60638,6 +60572,13 @@ /obj/item/reagent_containers/food/snacks/meat/slab/monkey, /turf/open/floor/plating, /area/maintenance/department/engine) +"swB" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/department/engine) "syn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/mineral/iron, @@ -60776,6 +60717,12 @@ icon_state = "panelscorched" }, /area/maintenance/department/security/brig) +"sMZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark/side{ + dir = 4 + }, +/area/medical/surgery) "sNk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61639,6 +61586,23 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) +"uoN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/power/apc{ + areastring = "/area/medical/surgery"; + dir = 8; + name = "Surgery APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/department/engine) "uoS" = ( /turf/open/floor/plating, /area/construction/mining/aux_base) @@ -77413,7 +77377,7 @@ hKX aiu rrb uAA -dZa +bEH gtX nso aiu @@ -79737,7 +79701,7 @@ ait aiu aiu qGu -azN +bEJ aiu aaa aaa @@ -86981,7 +86945,7 @@ byd bzE bAN bnv -bDi +bEL bEp bsn bva @@ -91101,7 +91065,7 @@ bIe bjc bKv bLF -bjc +qdY bNS bCz bPB @@ -91358,7 +91322,7 @@ bIf bjc bKw bLG -bjc +qdY bNT bCz bPB @@ -91615,7 +91579,7 @@ bIg bjc bKx bLH -bjc +qdY bNU bCz bPB @@ -91872,7 +91836,7 @@ bkb bjc bKy bLI -bjc +qdY bjc bCz bPB @@ -92638,7 +92602,7 @@ bCp bpP bEC bFT -bHa +bIi bIi bJp bKA @@ -93156,7 +93120,7 @@ bHb bIk bJr bKB -bKB +eQk bFU bNV bCz @@ -93668,12 +93632,12 @@ bEF bFU bHd bIm -bJr +bJz bKD -bKD -bFU -bNX -bCz +sMZ +eRv +npE +gHB bPE bQs bRg @@ -93923,13 +93887,13 @@ bCu bDw bEG bFU -bFU +cLJ bIn bJt qni +mFw bFU -bFU -bFU +swB hZB bPF bTu @@ -94178,14 +94142,14 @@ bAd bBk bCv bDx -bEH +byu bFU -bFU -bIo +bIj +bIj bJu bKE -bLM -bMN +bIj +bFU bFU bCz bPE @@ -94434,13 +94398,13 @@ bpY bpY bpY bCw -bDy -bDy -bDy +byu bFU +bIo +bJy bIp bJv -bJx +bJA bLN bMO bFU @@ -94691,14 +94655,14 @@ byw bAe bpY bCx -bDy -bEI -bFV +bEL bFU +bFV +bLP bIq bJw bKF -bLO +bLP bMP bFU bCz @@ -94948,13 +94912,13 @@ byx bAf bBl bCy -bDy -bEJ +bEM +bFU bFW -bHe +bLP bIr bJx -bJx +bLM bLP bMQ bFU @@ -95204,13 +95168,13 @@ bsK bsK bAg bpY -bCz bDy -bEK -bFX +bFY bFU +bFX +bLQ bIs -bJy +bFU bKG bLQ bMR @@ -95461,18 +95425,18 @@ bwV byz ooh bpY -bCA -bDy -bEL -bDy -bFU -bFU -bJz +bOB +bHa bFU bFU bFU bFU -bCz +bFU +bFU +bFU +bFU +bFU +mcB bPE bQz bRl @@ -95719,15 +95683,15 @@ byA bAi bpY bCB -bDz -bEM -bFY +bEI bDz bDz -bJA -bKH -bKH -bKH +bDz +pCL +bDz +bDz +bDz +uoN bNY bOJ bPE @@ -102079,7 +102043,7 @@ aiS aob eaw ajv -ajv +bCA cnX aiS apv @@ -106498,7 +106462,7 @@ aaa aaa aEj bjx -aFi +bEK bjw nJI bog @@ -108528,7 +108492,7 @@ aGO aFi aGO aFi -aFi +bEK aEj aJs aEj @@ -108548,7 +108512,7 @@ aEj aEj aTx aFi -aFi +bEK aEj bjD lEn @@ -110374,7 +110338,7 @@ bwm nzD uoj bwm -lWy +bMN bwm dMI lWy @@ -112927,7 +112891,7 @@ rxa bnl bok aFi -aFi +bEK aEj btA uXG diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm index 85450dc152..e251fb41e9 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm @@ -231,3 +231,31 @@ to_chat(invoker, "\"Only one of my weapons may exist in this temporal stream!\"") return FALSE return ..() + +/datum/clockwork_scripture/create_object/construct/cogscarab + descname = "Building Construct" + name = "Cogscarab" + desc = "Creates a shell for a cogscarab, a drone that helps build your base!" + invocations = list("Arise, drone!", "Create defenses for the true light!") + channel_time = 80 + power_cost = 8000 + creator_message = "Your slab disgorges several chunks of replicant alloy that form into a spiderlike shell." + usage_tip = "These machines will help you get a base built up while you go out to look for more followers." + tier = SCRIPTURE_APPLICATION + one_per_tile = TRUE + primary_component = BELLIGERENT_EYE + sort_priority = 9 + quickbind = TRUE + quickbind_desc = "Creates a cogscarab, good for the backline." + object_path = /obj/item/clockwork/construct_chassis/cogscarab/ + construct_type = /mob/living/simple_animal/drone/cogscarab + combat_construct = FALSE + +/datum/clockwork_scripture/create_object/construct/cogscarab/update_construct_limit() + var/human_servants = 0 + for(var/V in SSticker.mode.servants_of_ratvar) + var/datum/mind/M = V + var/mob/living/L = M.current + if(ishuman(L) && L.stat != DEAD) + human_servants++ + construct_limit = round(clamp((human_servants / 4), 1, 3)) //1 per 4 human servants, maximum of 3 diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index 12b6447a02..f3842b507a 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -188,6 +188,9 @@ /mob/living/simple_animal/drone/cogscarab/update_drone_hack() return //we don't get hacked or give a shit about it +/mob/living/simple_animal/drone/cogscarab/death(gibbed) + . = ..() + /mob/living/simple_animal/drone/cogscarab/drone_chat(msg) titled_hierophant_message(src, msg, "nezbere", "brass", "Construct") //HIEROPHANT DRONES diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 8d83fa60e4..10a4f5844a 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -187,23 +187,6 @@ /obj/item/stock_parts/cell/get_part_rating() return rating * maxcharge -// stuff so ipcs and synthlizards can eat power cells, taken from how moths can eat clothing -/obj/item/reagent_containers/food/snacks/cell - name = "oops" - desc = "If you're reading this it means I messed up. This is related to ipcs/synths eating cells and I didn't know a better way to do it than making a new food object." - list_reagents = list(/datum/reagent/consumable/nutriment = 0.5) - tastes = list("electricity" = 1, "metal" = 1) - -/obj/item/stock_parts/cell/attack(mob/M, mob/user, def_zone) - if(user.a_intent != INTENT_HARM && isrobotic(M)) - var/obj/item/reagent_containers/food/snacks/cell/cell_as_food = new - cell_as_food.name = name - if(cell_as_food.attack(M, user, def_zone)) - take_damage(40, sound_effect=FALSE) - qdel(cell_as_food) - else - return ..() - /* Cell variants*/ /obj/item/stock_parts/cell/empty start_charged = FALSE diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index e3c32ad009..0d2659dff8 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -326,49 +326,79 @@ desc = "An internal power cord hooked up to a battery. Useful if you run on electricity. Not so much otherwise." icon = 'icons/obj/power.dmi' icon_state = "wire1" + var/in_use = FALSE //No stacking doafters /obj/item/apc_powercord/afterattack(atom/target, mob/user, proximity_flag, click_parameters) - if(!istype(target, /obj/machinery/power/apc) || !ishuman(user) || !proximity_flag) + if((!istype(target, /obj/machinery/power/apc) && !istype(target, /obj/item/stock_parts/cell)) || !ishuman(user) || !proximity_flag) return ..() user.DelayNextAction(CLICK_CD_MELEE) - var/obj/machinery/power/apc/A = target var/mob/living/carbon/human/H = user + if(in_use) + to_chat(H, "[src] is already connected to something!") + return var/obj/item/organ/stomach/ipc/cell = locate(/obj/item/organ/stomach/ipc) in H.internal_organs if(!cell) - to_chat(H, "You try to siphon energy from the [A], but your power cell is gone!") + to_chat(H, "You try to siphon energy from [target], but your power cell is gone!") return - - if(A.cell && A.cell.charge > 0) - if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) - to_chat(user, "You are already fully charged!") + if(H.nutrition >= NUTRITION_LEVEL_WELL_FED) + to_chat(user, "You are already fully charged!") + return + if(istype(target, /obj/machinery/power/apc)) + var/obj/machinery/power/apc/A = target + if(A.cell && A.cell.charge > 0) + in_use = TRUE + apc_powerdraw_loop(A, H) return - else - powerdraw_loop(A, H) + else //We only let through cells and APCs, so this has to be a cell + var/obj/item/stock_parts/cell/C = target + if(C.charge > 0) + in_use = TRUE + cell_powerdraw_loop(C, H) return - to_chat(user, "There is no charge to draw from that APC.") + to_chat(user, "There is no charge to draw from [target].") -/obj/item/apc_powercord/proc/powerdraw_loop(obj/machinery/power/apc/A, mob/living/carbon/human/H) - H.visible_message("[H] inserts a power connector into the [A].", "You begin to draw power from the [A].") +/obj/item/apc_powercord/proc/apc_powerdraw_loop(obj/machinery/power/apc/A, mob/living/carbon/human/H) + H.visible_message("[H] inserts a power connector into [A].", "You begin to draw power from [A].") while(do_after(H, 10, target = A)) if(loc != H) to_chat(H, "You must keep your connector out while charging!") break if(A.cell.charge == 0) - to_chat(H, "The [A] doesn't have enough charge to spare.") + to_chat(H, "[A] doesn't have enough charge to spare.") break A.charging = 1 if(A.cell.charge >= 500) do_sparks(1, FALSE, A) - H.nutrition += 50 - A.cell.charge -= 150 + H.adjust_nutrition(50) + A.cell.use(150) to_chat(H, "You siphon off some of the stored charge for your own use.") else - H.nutrition += A.cell.charge/10 - A.cell.charge = 0 - to_chat(H, "You siphon off as much as the [A] can spare.") + H.adjust_nutrition(A.cell.charge/10) + A.cell.use(A.cell.charge) + to_chat(H, "You siphon off as much as [A] can spare.") break if(H.nutrition > NUTRITION_LEVEL_WELL_FED) to_chat(H, "You are now fully charged.") break - H.visible_message("[H] unplugs from the [A].", "You unplug from the [A].") + in_use = FALSE + H.visible_message("[H] unplugs from [A].", "You unplug from [A].") + +/obj/item/apc_powercord/proc/cell_powerdraw_loop(obj/item/stock_parts/cell/C, mob/living/carbon/human/H) + H.visible_message("[H] connects a power cord to [C]", "You begin to draw power from [C].") + while(do_after(H, 10, target = C)) + if(loc != H) + to_chat(H, "You must keep your connector out while charging!") + break + if(C.charge == 0) + to_chat(H, "[C] doesn't have any charge remaining.") + break + var/siphoned_charge = min(C.charge, 2000) + C.use(siphoned_charge) + do_sparks(1, FALSE, C) + H.adjust_nutrition(siphoned_charge / 100) //Less efficient on a pure power basis than APC recharge. Still a very viable way of gaining nutrition. (100 nutrition / base 10k cell) + if(H.nutrition > NUTRITION_LEVEL_WELL_FED) + to_chat(H, "You are now fully charged.") + break + in_use = FALSE + H.visible_message("[H] disconnects [src] from [C].", "You disconnect from [C].") diff --git a/html/changelog.html b/html/changelog.html index f3638620ad..79e9266371 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -51,10 +51,27 @@

21 November 2021

+

DeltaFire15 updated:

+ +

LetterN updated:

+

MrJWhit updated:

+

TripleShades updated:

+ +

keronshb updated:

+

20 November 2021

Dexxiol updated:

diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 49beb171d6..2d26148c26 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -31004,5 +31004,16 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - code_imp: Updates component Destroy code, might result in less component related runtimes. 2021-11-21: + DeltaFire15: + - rscadd: Power cord implants can now also be connected to cells to recharge. + - rscdel: Synthetics can no longer bite power cells. + LetterN: + - rscadd: Search option on the cwc slab MrJWhit: - balance: Reduces the HP from loot piles to 100, from 300. + TripleShades: + - rscadd: '(Pubby) Loot piles to maint halls remove: (Pubby) CMO''s sex dungeon + tweak: (Pubby) Surgery layout is now more open' + keronshb: + - rscadd: 'Adds Cogscarab spell tweak: Cogscarabs gib now because I have no idea + how to fix the issue of dead pogscarabs eating up the limit.' diff --git a/tgui/packages/tgui/interfaces/ClockworkSlab.js b/tgui/packages/tgui/interfaces/ClockworkSlab.js index 3aab0d7617..56ac7b6f3a 100644 --- a/tgui/packages/tgui/interfaces/ClockworkSlab.js +++ b/tgui/packages/tgui/interfaces/ClockworkSlab.js @@ -6,12 +6,14 @@ * @license MIT */ -import { useBackend, useSharedState } from '../backend'; +import { useBackend, useLocalState, useSharedState } from '../backend'; +import { createSearch } from 'common/string'; import { map } from 'common/collections'; -import { Section, Tabs, Table, Button, Box, NoticeBox, Divider } from '../components'; +import { Section, Tabs, Table, Button, Box, NoticeBox, Divider, Input } from '../components'; import { Fragment } from 'inferno'; import { Window } from '../layouts'; +const MAX_SEARCH_RESULTS = 25; let REC_RATVAR = ""; // You may ask "why is this not inside ClockworkSlab" // It's because cslab gets called every time. Lag is bad. @@ -31,13 +33,35 @@ export const ClockworkSlab = (props, context) => { tab, setTab, ] = useSharedState(context, 'tab', 'Application'); - const scriptInTab = scripture - && scripture[tab] - || []; + const tierInfo = tier_infos && tier_infos[tab] || {}; + const [ + searchText, + setSearchText, + ] = useLocalState(context, 'searchText', ''); + + const testSearch = createSearch(searchText, script => { + return script.name + script.descname; + }); + + let bucketOfScriptures = []; + // merge it, no need to throw a var. + + const scriptInTab = (searchText.length > 0) + // Flatten all categories and apply search to it + // truthy because WE DO NOT WANT TO RETURN THIS! + && !!map((v, k) => { + bucketOfScriptures = bucketOfScriptures.concat(v); + })(scripture) + && bucketOfScriptures.filter(testSearch) + .filter((item, i) => i < MAX_SEARCH_RESULTS) + // Return the default one + || scripture[tab] + || null; // this is nullable, it's recommended that you null it. + return ( {
act('toggle')}> - Recollection - + + Search + setSearchText(value)} + mx={1} /> + + )}> {power} power is available for scripture and other consumers. @@ -67,13 +99,13 @@ export const ClockworkSlab = (props, context) => { key={name} selected={tab === name} onClick={() => setTab(name)}> - {name} + {name} ({scriptures?.length || 0}) ))(scripture)} {tierInfo.ready ? ( @@ -125,16 +157,16 @@ export const CSScripture = (props, context) => { power_unformatted = 0, } = data; const { - scriptInTab, + scriptInTab = [], } = props; return ( - scriptInTab?.map(script => ( + scriptInTab?.length > 0 ? scriptInTab.map(script => ( {script.name} @@ -176,7 +208,14 @@ export const CSScripture = (props, context) => { - )) + )) : ( + + Nothing here! + + ) ); }; @@ -209,7 +248,7 @@ export const CSTutorial = (props, context) => { {REC_RATVAR} ) : ( - + <> { not let it confuse you! You are free to use the names in pronoun form when speaking in normal languages. - + )} {recollection_categories?.map(cat => (