diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index e1b88a5d516..f3842e5616d 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -20742,6 +20742,14 @@ /area/atmos) "crr" = ( /obj/machinery/suit_storage_unit/blueshield, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Blueshield"; + departmentType = 5; + name = "Blueshield Requests Console"; + pixel_x = -30; + pixel_y = 4 + }, /turf/simulated/floor/wood/fancy/light, /area/blueshield) "crv" = ( @@ -28149,6 +28157,12 @@ /obj/structure/extinguisher_cabinet{ pixel_y = -28 }, +/obj/machinery/requests_console{ + department = "Chemistry"; + departmentType = 2; + name = "Chemistry Requests Console"; + pixel_x = 30 + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "whiteyellow" @@ -62111,7 +62125,7 @@ pixel_y = 3 }, /obj/machinery/requests_console{ - department = "Science"; + department = "Research"; departmentType = 2; name = "Research Request Console"; pixel_x = 30 @@ -112894,6 +112908,13 @@ /obj/structure/table/glass, /obj/item/reagent_containers/applicator/burn, /obj/item/reagent_containers/glass/bottle/charcoal, +/obj/machinery/requests_console{ + department = "Genetics"; + departmentType = 1; + name = "Genetics Requests Console"; + pixel_x = -2; + pixel_y = 25 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" diff --git a/_maps/map_files/celestation/celestation.dmm b/_maps/map_files/celestation/celestation.dmm index 1372e974525..c87a4beffae 100644 --- a/_maps/map_files/celestation/celestation.dmm +++ b/_maps/map_files/celestation/celestation.dmm @@ -17789,6 +17789,12 @@ /obj/effect/turf_decal/loading_area{ dir = 4 }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Security Requests Console"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "red" @@ -23641,8 +23647,8 @@ /area/toxins/test_area) "dfl" = ( /obj/machinery/requests_console{ - department = "Tool Storage"; - name = "Tool Storage Requests Console"; + department = "Primary Tool Storage"; + name = "Primary Tool Storage Requests Console"; pixel_y = 30 }, /obj/structure/table, @@ -44319,6 +44325,12 @@ pixel_x = 7; req_access = list(2) }, +/obj/machinery/requests_console{ + department = "Warden"; + departmentType = 7; + name = "Warden's Requests Console"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ icon_state = "darkred" }, @@ -51895,6 +51907,11 @@ /turf/simulated/floor/plasteel/dark, /area/toxins/server) "iAb" = ( +/obj/machinery/requests_console{ + department = "Locker Room"; + name = "Locker Room Requests Console"; + pixel_x = -32 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "neutralcorner" @@ -52293,9 +52310,9 @@ /area/security/prisonlockers) "iEd" = ( /obj/structure/sign/beautyplaque{ - pixel_y = 32; + desc = "Важное Уточнение! Рабочие пожелали оставаться анонимными, поэтому, обойдёмся их прозвищами. За выдающиеся успехи в области инженерного менеджмента, а также успешное проектирование Селестии по всем стандартам НаноТрейзен. Благодарим вас за труд, Saad_f603. Слава НаноТрейзен!"; name = "Благодарственное Письмо Для Бригадира Команды Архитекторов Селестии"; - desc = "Важное Уточнение! Рабочие пожелали оставаться анонимными, поэтому, обойдёмся их прозвищами. За выдающиеся успехи в области инженерного менеджмента, а также успешное проектирование Селестии по всем стандартам НаноТрейзен. Благодарим вас за труд, Saad_f603. Слава НаноТрейзен!" + pixel_y = 32 }, /turf/simulated/floor/carpet/black, /area/bridge) @@ -53224,9 +53241,9 @@ /area/crew_quarters/bar) "iNt" = ( /obj/machinery/requests_console{ - department = "Science"; + department = "Research"; departmentType = 2; - name = "Science Requests Console"; + name = "Research Requests Console"; pixel_x = -30 }, /obj/machinery/photocopier, @@ -62896,6 +62913,12 @@ }, /obj/structure/table/reinforced, /obj/item/reagent_containers/food/snacks/mint, +/obj/machinery/requests_console{ + department = "Kitchen"; + departmentType = 2; + name = "Kitchen Requests Console"; + pixel_x = -30 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -65530,6 +65553,12 @@ /obj/machinery/light_switch{ pixel_x = 26 }, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel, /area/toxins/launch) "lgJ" = ( @@ -69709,7 +69738,7 @@ /obj/item/reagent_containers/applicator/burn, /obj/item/reagent_containers/glass/bottle/charcoal, /obj/machinery/requests_console{ - department = "Medbay"; + department = "Genetics"; departmentType = 1; name = "Genetics Requests Console"; pixel_y = 30 @@ -70705,6 +70734,12 @@ /obj/machinery/atmospherics/pipe/multiz{ dir = 4 }, +/obj/machinery/requests_console{ + department = "Chapel"; + departmentType = 2; + name = "Chapel Requests Console"; + pixel_x = -30 + }, /turf/simulated/floor/carpet/black, /area/chapel/office) "miQ" = ( @@ -71260,6 +71295,12 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/machinery/requests_console{ + department = "Engineering"; + departmentType = 3; + name = "Engineering Requests Console"; + pixel_x = -30 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkyellow" @@ -82678,6 +82719,12 @@ /area/space) "oDP" = ( /obj/structure/closet/secure_closet/security, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Security Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "darkred" @@ -97097,6 +97144,17 @@ }, /turf/simulated/floor/plating, /area/maintenance/auxsolarstarboard) +"rpX" = ( +/obj/structure/closet/l3closet/janitor, +/obj/item/reagent_containers/spray/cleaner/janitor, +/obj/machinery/requests_console{ + department = "Janitorial"; + departmentType = 1; + name = "Janitor Requests Console"; + pixel_x = -30 + }, +/turf/simulated/floor/plasteel, +/area/janitor) "rpZ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -118780,6 +118838,7 @@ /area/hallway/primary/fore) "vyB" = ( /obj/machinery/requests_console{ + department = "Detective"; name = "Detective Requests Console"; pixel_y = -30 }, @@ -129310,6 +129369,12 @@ dir = 8 }, /obj/effect/landmark/start/atmospheric, +/obj/machinery/requests_console{ + department = "Atmospherics"; + departmentType = 3; + name = "Atmospherics Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "caution" @@ -275635,7 +275700,7 @@ oqZ aeM aeM wMM -kLd +rpX tTe jHd duy diff --git a/_maps/map_files/cerestation/cerestation.dmm b/_maps/map_files/cerestation/cerestation.dmm index 9e55a1207db..dd37d32655f 100644 --- a/_maps/map_files/cerestation/cerestation.dmm +++ b/_maps/map_files/cerestation/cerestation.dmm @@ -20248,6 +20248,12 @@ /obj/machinery/computer/guestpass{ pixel_y = -28 }, +/obj/machinery/requests_console{ + department = "Warden"; + departmentType = 7; + name = "Warden's Requests Console"; + pixel_x = -30 + }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "darkred" @@ -25453,6 +25459,12 @@ dir = 1; network = list("Medical","SS13") }, +/obj/machinery/requests_console{ + department = "Virology"; + departmentType = 3; + name = "Virology Requests Console"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ icon_state = "whitegreen" }, @@ -30446,8 +30458,8 @@ /area/maintenance/port) "eLR" = ( /obj/machinery/requests_console{ - department = "Tool Storage"; - name = "Tool Storage Requests Console"; + department = "Primary Tool Storage"; + name = "Primary Tool Storage Requests Console"; pixel_y = 30 }, /obj/structure/disposalpipe/segment{ @@ -62776,6 +62788,12 @@ /area/security/detectives_office) "obz" = ( /obj/machinery/cooker/deepfryer, +/obj/machinery/requests_console{ + department = "Kitchen"; + departmentType = 2; + name = "Kitchen Requests Console"; + pixel_x = -30 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -62825,6 +62843,12 @@ dir = 5 }, /obj/item/twohanded/required/kirbyplants, +/obj/machinery/requests_console{ + department = "Chapel"; + departmentType = 2; + name = "Chapel Requests Console"; + pixel_x = -30 + }, /turf/simulated/floor/carpet/black, /area/chapel/office) "ocC" = ( @@ -64585,6 +64609,12 @@ /area/maintenance/atmospherics) "oDP" = ( /obj/structure/closet/secure_closet/security, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Security Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "darkred" @@ -64833,7 +64863,7 @@ /area/crew_quarters/bar) "oHw" = ( /obj/machinery/requests_console{ - department = "Medbay"; + department = "Genetics"; departmentType = 1; name = "Genetics Requests Console"; pixel_y = 30 @@ -78330,9 +78360,9 @@ /area/medical/cmo) "sxu" = ( /obj/machinery/requests_console{ - department = "Science"; + department = "Research"; departmentType = 2; - name = "Science Requests Console"; + name = "Research Requests Console"; pixel_x = -30 }, /obj/machinery/r_n_d/destructive_analyzer, @@ -82324,6 +82354,12 @@ /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, +/obj/machinery/requests_console{ + department = "Engineering"; + departmentType = 3; + name = "Engineering Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -84394,6 +84430,11 @@ /turf/simulated/floor/plating, /area/maintenance/engineering) "umA" = ( +/obj/machinery/requests_console{ + department = "Locker Room"; + name = "Locker Room Requests Console"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ icon_state = "neutral" }, @@ -88231,6 +88272,7 @@ /area/hallway/primary/port/north) "vyB" = ( /obj/machinery/requests_console{ + department = "Detective"; name = "Detective Requests Console"; pixel_y = -30 }, @@ -96782,6 +96824,12 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel, /area/toxins/launch) "xTW" = ( diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 85289102a09..a491f53623d 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -14430,8 +14430,8 @@ c_tag = "Primary Tool Storage" }, /obj/machinery/requests_console{ - department = "Tool Storage"; - name = "Tool Storage Requests Console"; + department = "Primary Tool Storage"; + name = "Primary Tool Storage Requests Console"; pixel_y = 30 }, /obj/item/assembly/igniter{ @@ -24303,6 +24303,7 @@ pictures_left = 30 }, /obj/machinery/requests_console{ + department = "Detective"; name = "Detective Requests Console"; pixel_y = -30 }, @@ -32656,6 +32657,12 @@ dir = 4 }, /obj/effect/landmark/start/geneticist, +/obj/machinery/requests_console{ + department = "Genetics"; + departmentType = 1; + name = "Genetics Requests Console"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "whitepurple" @@ -44031,6 +44038,12 @@ /obj/machinery/light{ dir = 1 }, +/obj/machinery/requests_console{ + department = "Chapel"; + departmentType = 2; + name = "Chapel Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/carpet/black, /area/chapel/office) "cIb" = ( @@ -45587,12 +45600,6 @@ /turf/simulated/floor/engine, /area/toxins/xenobiology) "cMl" = ( -/obj/machinery/requests_console{ - department = "Science"; - departmentType = 2; - name = "Science Requests Console"; - pixel_y = 30 - }, /obj/machinery/camera{ c_tag = "Xenobiology Module North"; network = list("Research","SS13") @@ -45600,6 +45607,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/machinery/requests_console{ + department = "Xenobiology"; + departmentType = 2; + name = "Xenobiology Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -65781,6 +65794,12 @@ "jRJ" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/disposal, +/obj/machinery/requests_console{ + department = "Chemistry"; + departmentType = 2; + name = "Chemistry Requests Console"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whiteyellow" @@ -70692,9 +70711,9 @@ /area/assembly/robotics) "nfM" = ( /obj/machinery/requests_console{ - department = "Science"; + department = "Research"; departmentType = 2; - name = "Science Requests Console"; + name = "Research Requests Console"; pixel_x = -30 }, /turf/simulated/floor/plasteel{ diff --git a/_maps/map_files/event/Station/delta_old.dmm b/_maps/map_files/event/Station/delta_old.dmm index 1135d1e919e..3774c5368a8 100644 --- a/_maps/map_files/event/Station/delta_old.dmm +++ b/_maps/map_files/event/Station/delta_old.dmm @@ -3399,8 +3399,8 @@ name = "3maintenance loot spawner" }, /obj/machinery/conveyor{ - id = "cargodelivery"; - dir = 1 + dir = 1; + id = "cargodelivery" }, /turf/simulated/floor/plasteel, /area/quartermaster/delivery) @@ -4063,8 +4063,8 @@ /area/maintenance/casino) "aKF" = ( /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 1 + dir = 1; + id = "QMLoad2" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -5256,8 +5256,8 @@ }, /obj/structure/window/reinforced, /obj/machinery/conveyor{ - id = "garbage"; - dir = 9 + dir = 9; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -6813,8 +6813,8 @@ }, /obj/structure/disposalpipe/trunk, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 8 + dir = 8; + id = "cargodisposals" }, /turf/simulated/floor/plating, /area/quartermaster/sorting) @@ -9083,8 +9083,8 @@ name = "2maintenance loot spawner" }, /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plating, /area/quartermaster/storage) @@ -9374,8 +9374,8 @@ /area/quartermaster/storage) "bta" = ( /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 9 + dir = 9; + id = "QMLoad2" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -11555,8 +11555,8 @@ dir = 4 }, /obj/machinery/conveyor{ - id = "garbage"; - dir = 8 + dir = 8; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -13191,8 +13191,8 @@ dir = 8 }, /obj/machinery/conveyor{ - id = "garbage"; - dir = 5 + dir = 5; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -13205,8 +13205,8 @@ "bKK" = ( /obj/machinery/recycler, /obj/machinery/conveyor{ - id = "garbage"; - dir = 4 + dir = 4; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -14016,6 +14016,13 @@ /obj/machinery/computer/guestpass{ pixel_x = 30 }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Quartermaster's Desk"; + departmentType = 5; + name = "Quartermaster Requests Console"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "brown" @@ -17363,8 +17370,8 @@ /obj/effect/decal/warning_stripes/east, /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -17373,8 +17380,8 @@ dir = 4 }, /obj/machinery/conveyor/inverted{ - id = "QMLoad2"; - dir = 6 + dir = 6; + id = "QMLoad2" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -18907,8 +18914,8 @@ "clQ" = ( /obj/structure/plasticflaps/mining, /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plating, /area/quartermaster/storage) @@ -19979,8 +19986,8 @@ "cqZ" = ( /obj/structure/plasticflaps, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 8 + dir = 8; + id = "cargodisposals" }, /turf/simulated/floor/plating, /area/quartermaster/sorting) @@ -19995,8 +20002,8 @@ /area/storage/secure) "crg" = ( /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 8 + dir = 8; + id = "cargodisposals" }, /turf/simulated/floor/plating, /area/quartermaster/sorting) @@ -20005,8 +20012,8 @@ c_tag = "Cargo Backroom" }, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 8 + dir = 8; + id = "cargodisposals" }, /turf/simulated/floor/plating, /area/quartermaster/sorting) @@ -20187,8 +20194,8 @@ dir = 1 }, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 8 + dir = 8; + id = "cargodisposals" }, /turf/simulated/floor/plating, /area/quartermaster/sorting) @@ -20259,8 +20266,8 @@ }, /obj/structure/disposalpipe/trunk, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 8 + dir = 8; + id = "cargodisposals" }, /turf/simulated/floor/plating, /area/quartermaster/sorting) @@ -23754,8 +23761,8 @@ /area/crew_quarters/serviceyard) "cGl" = ( /obj/machinery/conveyor{ - id = "QMLoad"; - dir = 4 + dir = 4; + id = "QMLoad" }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -25180,6 +25187,12 @@ desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner" }, +/obj/machinery/requests_console{ + department = "Chemistry"; + departmentType = 2; + name = "Chemistry Requests Console"; + pixel_x = 30 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteyellow" @@ -26326,9 +26339,9 @@ amount = 10 }, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; id_tag = "researchdesk1"; - name = "Research Desk Shutters"; - dir = 1 + name = "Research Desk Shutters" }, /turf/simulated/floor/plasteel{ icon_state = "white" @@ -27346,7 +27359,7 @@ network = list("Research","SS13") }, /obj/machinery/requests_console{ - department = "Science"; + department = "Research"; departmentType = 2; name = "Research Request Console"; pixel_x = 30 @@ -28954,8 +28967,8 @@ name = "3maintenance loot spawner" }, /obj/machinery/conveyor{ - id = "cargodelivery"; - dir = 1 + dir = 1; + id = "cargodelivery" }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) @@ -30964,8 +30977,8 @@ /area/medical/research) "dko" = ( /obj/machinery/conveyor{ - id = "QMLoad"; - dir = 5 + dir = 5; + id = "QMLoad" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -37678,8 +37691,8 @@ "dMs" = ( /obj/structure/plasticflaps, /obj/machinery/conveyor{ - id = "cargodelivery"; - dir = 8 + dir = 8; + id = "cargodelivery" }, /turf/simulated/floor/plasteel, /area/quartermaster/delivery) @@ -41779,8 +41792,8 @@ "egs" = ( /obj/machinery/light, /obj/machinery/conveyor{ - id = "cargodelivery"; - dir = 8 + dir = 8; + id = "cargodelivery" }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) @@ -42456,8 +42469,8 @@ name = "supply dock loading door" }, /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plating, /area/quartermaster/storage) @@ -48713,8 +48726,8 @@ "fZe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -51902,9 +51915,9 @@ /obj/effect/decal/warning_stripes/yellow, /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; id_tag = "researchdesk1"; - name = "Research Desk Shutters"; - dir = 1 + name = "Research Desk Shutters" }, /turf/simulated/floor/plasteel, /area/toxins/lab) @@ -57725,8 +57738,8 @@ dir = 1 }, /obj/machinery/conveyor{ - id = "garbage"; - dir = 8 + dir = 8; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -59501,9 +59514,9 @@ icon_state = "0-2" }, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; id_tag = "researchdesk1"; - name = "Research Desk Shutters"; - dir = 1 + name = "Research Desk Shutters" }, /turf/simulated/floor/plating, /area/toxins/lab) @@ -61669,8 +61682,8 @@ dir = 8 }, /obj/machinery/conveyor{ - id = "garbage"; - dir = 1 + dir = 1; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -63253,8 +63266,8 @@ /obj/structure/plasticflaps, /obj/effect/decal/warning_stripes/yellow, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 1 + dir = 1; + id = "cargodisposals" }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) @@ -65037,8 +65050,8 @@ /obj/structure/disposalpipe/segment, /obj/structure/window/reinforced, /obj/machinery/conveyor{ - id = "garbage"; - dir = 8 + dir = 8; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -65786,8 +65799,8 @@ dir = 1 }, /obj/machinery/conveyor{ - id = "garbage"; - dir = 8 + dir = 8; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -72528,8 +72541,8 @@ "mEg" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/machinery/conveyor{ - id = "QMLoad"; - dir = 4 + dir = 4; + id = "QMLoad" }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -73143,8 +73156,8 @@ "mME" = ( /obj/structure/plasticflaps, /obj/machinery/conveyor{ - id = "cargodelivery"; - dir = 4 + dir = 4; + id = "cargodelivery" }, /turf/simulated/floor/plasteel, /area/quartermaster/delivery) @@ -76837,8 +76850,8 @@ /area/security/permahallway) "nNc" = ( /obj/machinery/conveyor{ - id = "QMLoad"; - dir = 1 + dir = 1; + id = "QMLoad" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -78253,8 +78266,8 @@ /area/maintenance/library) "oht" = ( /obj/machinery/conveyor{ - id = "garbage"; - dir = 4 + dir = 4; + id = "garbage" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -79492,8 +79505,8 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -88638,8 +88651,8 @@ /obj/effect/spawner/lootdrop/maintenance, /obj/effect/decal/warning_stripes/east, /obj/machinery/conveyor{ - id = "QMLoad"; - dir = 4 + dir = 4; + id = "QMLoad" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -102015,8 +102028,8 @@ /area/turret_protected/aisat) "uAf" = ( /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -104525,6 +104538,13 @@ /obj/structure/table/glass, /obj/item/reagent_containers/applicator/burn, /obj/item/reagent_containers/glass/bottle/charcoal, +/obj/machinery/requests_console{ + department = "Genetics"; + departmentType = 1; + name = "Genetics Requests Console"; + pixel_x = -2; + pixel_y = 25 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" @@ -106941,8 +106961,8 @@ dir = 4 }, /obj/machinery/conveyor/inverted{ - id = "QMLoad"; - dir = 10 + dir = 10; + id = "QMLoad" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -107497,6 +107517,7 @@ dir = 8 }, /obj/machinery/requests_console{ + department = "Detective"; name = "Detective Requests Console"; pixel_x = -32 }, @@ -107795,8 +107816,8 @@ name = "3maintenance loot spawner" }, /obj/machinery/conveyor{ - id = "cargodelivery"; - dir = 8 + dir = 8; + id = "cargodelivery" }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) @@ -108613,8 +108634,8 @@ "wjh" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/machinery/conveyor{ - id = "QMLoad2"; - dir = 8 + dir = 8; + id = "QMLoad2" }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" diff --git a/_maps/map_files/event/Station/towerstation.dmm b/_maps/map_files/event/Station/towerstation.dmm index 80238a9e039..567ce32ea8e 100644 --- a/_maps/map_files/event/Station/towerstation.dmm +++ b/_maps/map_files/event/Station/towerstation.dmm @@ -704,8 +704,8 @@ req_access = list(39) }, /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 6 + dir = 6; + icon_state = "whitegreen" }, /area/medical/virology) "atz" = ( @@ -858,8 +858,8 @@ pixel_y = -28 }, /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 10 + dir = 10; + icon_state = "whitegreen" }, /area/medical/virology) "axJ" = ( @@ -916,8 +916,8 @@ /area/hallway/secondary/exit) "azA" = ( /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 4 + dir = 4; + id = "cargodisposals" }, /obj/structure/sign/deathsposal{ pixel_y = -32 @@ -972,9 +972,9 @@ "aBP" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; id_tag = "chemshuts"; - name = "Chemistry Shutters"; - dir = 2 + name = "Chemistry Shutters" }, /turf/simulated/floor/plating, /area/medical/chemistry) @@ -1319,8 +1319,8 @@ "aPe" = ( /obj/machinery/door/window{ dir = 1; - req_access = list(61); - name = "Telecommunications Access" + name = "Telecommunications Access"; + req_access = list(61) }, /turf/simulated/floor/plasteel/dark/telecomms, /area/tcommsat/server) @@ -2213,8 +2213,8 @@ dir = 6 }, /turf/simulated/floor/plasteel{ - icon_state = "whitebluecorner"; - dir = 8 + dir = 8; + icon_state = "whitebluecorner" }, /area/medical/sleeper) "bvB" = ( @@ -2766,8 +2766,8 @@ /obj/machinery/door_control{ id = "researchshuts"; name = "Research Shutters Control"; - req_access = list(33); - pixel_y = 26 + pixel_y = 26; + req_access = list(33) }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -3239,8 +3239,8 @@ /obj/machinery/door_control{ id = "brigshuts"; name = "Brig Shutters Control"; - req_access = list(1,4); - pixel_y = 36 + pixel_y = 36; + req_access = list(1,4) }, /turf/simulated/floor/plasteel{ icon_state = "redfull" @@ -3309,8 +3309,8 @@ /area/space) "cdz" = ( /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 9 + dir = 9; + icon_state = "whitegreen" }, /area/medical/virology) "cdB" = ( @@ -3416,9 +3416,9 @@ pixel_x = -8 }, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; id_tag = "kitchen"; - name = "Kitchen Shutters"; - dir = 2 + name = "Kitchen Shutters" }, /turf/simulated/floor/plasteel, /area/crew_quarters/kitchen) @@ -3815,9 +3815,9 @@ "cyG" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; id_tag = "brigshuts"; - name = "Brig Shutters"; - dir = 1 + name = "Brig Shutters" }, /turf/simulated/floor/plating, /area/security/main) @@ -3908,8 +3908,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "whiteblue"; - dir = 8 + dir = 8; + icon_state = "whiteblue" }, /area/medical/sleeper) "cAL" = ( @@ -4244,8 +4244,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ - icon_state = "whiteblue"; - dir = 8 + dir = 8; + icon_state = "whiteblue" }, /area/medical/sleeper) "cRi" = ( @@ -5063,8 +5063,8 @@ pixel_x = 24 }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 4 + dir = 4; + icon_state = "whitepurple" }, /area/toxins/mixing) "dsw" = ( @@ -5721,9 +5721,9 @@ /obj/item/storage/fancy/donut_box, /obj/item/reagent_containers/food/snacks/soup/misosoup, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; id_tag = "kitchen"; - name = "Kitchen Shutters"; - dir = 2 + name = "Kitchen Shutters" }, /turf/simulated/floor/plasteel/white, /area/crew_quarters/kitchen) @@ -5779,8 +5779,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 1 + dir = 1; + icon_state = "whitepurple" }, /area/toxins/mixing) "dTl" = ( @@ -6956,9 +6956,9 @@ "eIB" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; id_tag = "brigshuts"; - name = "Brig Shutters"; - dir = 8 + name = "Brig Shutters" }, /turf/simulated/floor/plating, /area/security/main) @@ -7608,8 +7608,8 @@ }, /obj/effect/landmark/start/virologist, /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 8 + dir = 8; + icon_state = "whitegreen" }, /area/medical/virology) "feZ" = ( @@ -8404,6 +8404,12 @@ "fBs" = ( /obj/effect/turf_decal/delivery, /obj/machinery/computer/scan_consolenew, +/obj/machinery/requests_console{ + department = "Genetics"; + departmentType = 1; + name = "Genetics Requests Console"; + pixel_x = -30 + }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whitepurple" @@ -8749,8 +8755,8 @@ /obj/effect/decal/warning_stripes/yellow, /obj/machinery/plantgenes, /turf/simulated/floor/plasteel{ - icon_state = "blue"; - dir = 1 + dir = 1; + icon_state = "blue" }, /area/hydroponics) "fIT" = ( @@ -9119,8 +9125,8 @@ icon_state = "2-4" }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 1 + dir = 1; + icon_state = "whitepurple" }, /area/toxins/mixing) "fXq" = ( @@ -9604,8 +9610,8 @@ "gpQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 4 + dir = 4; + id = "cargodisposals" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -10735,8 +10741,8 @@ }, /obj/machinery/computer/card/minor/hos, /obj/item/radio/intercom{ - pixel_y = -28; - pixel_x = 28 + pixel_x = 28; + pixel_y = -28 }, /obj/machinery/keycard_auth{ pixel_x = 28; @@ -10904,8 +10910,8 @@ }, /obj/structure/plasticflaps, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 4 + dir = 4; + id = "cargodisposals" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -11157,10 +11163,10 @@ /area/toxins/lab) "hjb" = ( /obj/machinery/atmospherics/trinary/filter{ + dir = 4; filter_type = "n2"; name = "nitrogen filter"; - on = 1; - dir = 4 + on = 1 }, /turf/simulated/floor/plasteel, /area/atmos) @@ -11352,8 +11358,8 @@ /obj/machinery/door_control{ id = "briglock"; name = "Brig Lockdown"; - req_access = list(3); - pixel_x = -26 + pixel_x = -26; + req_access = list(3) }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -12655,8 +12661,8 @@ dir = 4 }, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 4 + dir = 4; + id = "cargodisposals" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -13288,9 +13294,9 @@ name = "Access Queue" }, /obj/machinery/door/window/brigdoor/northleft{ + dir = 8; name = "Access Desk"; - req_access = list(57); - dir = 8 + req_access = list(57) }, /obj/machinery/door/poddoor/shutters/preopen{ dir = 2; @@ -13372,8 +13378,8 @@ /obj/machinery/light, /obj/machinery/chem_master, /turf/simulated/floor/plasteel{ - icon_state = "blue"; - dir = 6 + dir = 6; + icon_state = "blue" }, /area/hydroponics) "iGn" = ( @@ -13474,9 +13480,9 @@ pixel_x = 30 }, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; id_tag = "kitchen"; - name = "Kitchen Shutters"; - dir = 2 + name = "Kitchen Shutters" }, /turf/simulated/floor/plasteel, /area/crew_quarters/kitchen) @@ -14164,8 +14170,8 @@ }, /obj/machinery/door/window/brigdoor/security{ dir = 2; - req_access = list(63); - name = "Brig Medical Bay" + name = "Brig Medical Bay"; + req_access = list(63) }, /turf/simulated/floor/plasteel{ dir = 4; @@ -14833,8 +14839,8 @@ }, /obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/plasteel{ - icon_state = "green"; - dir = 10 + dir = 10; + icon_state = "green" }, /area/hydroponics) "jAi" = ( @@ -15393,9 +15399,9 @@ "jUc" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; id_tag = "kitchen"; - name = "Kitchen Shutters"; - dir = 2 + name = "Kitchen Shutters" }, /turf/simulated/floor/plasteel, /area/crew_quarters/kitchen) @@ -16500,8 +16506,8 @@ /obj/machinery/door_control{ id = "briglock"; name = "Brig Lockdown"; - req_access = list(3); - pixel_x = -26 + pixel_x = -26; + req_access = list(3) }, /turf/simulated/wall/r_wall, /area/security/warden) @@ -17305,18 +17311,18 @@ /obj/machinery/door_control{ id = "engsm"; name = "Supermatter Blast Doors"; + pixel_x = -24; pixel_y = -8; - req_access = list(10); - pixel_x = -24 + req_access = list(10) }, /obj/machinery/door_control{ id = "smbolts"; name = "Supermatter Bolt Control"; normaldoorcontrol = 1; + pixel_x = -24; pixel_y = 8; req_access = list(56); - specialfunctions = 4; - pixel_x = -24 + specialfunctions = 4 }, /turf/simulated/floor/engine, /area/engineering/engine) @@ -17884,9 +17890,9 @@ "lCt" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; id_tag = "kitchen"; - name = "Kitchen Shutters"; - dir = 2 + name = "Kitchen Shutters" }, /turf/simulated/floor/plasteel/white, /area/crew_quarters/kitchen) @@ -18580,8 +18586,8 @@ dir = 8 }, /turf/simulated/floor/glass/reinforced{ - oxygen = 0; nitrogen = 0; + oxygen = 0; temperature = 2.7 }, /area/space) @@ -19057,8 +19063,8 @@ dir = 10 }, /turf/simulated/floor/plasteel{ - icon_state = "whiteblue"; - dir = 8 + dir = 8; + icon_state = "whiteblue" }, /area/medical/sleeper) "mmJ" = ( @@ -19131,8 +19137,8 @@ }, /obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 4 + dir = 4; + icon_state = "whitepurple" }, /area/toxins/mixing) "mqd" = ( @@ -19681,8 +19687,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ - icon_state = "whitebluecorner"; - dir = 8 + dir = 8; + icon_state = "whitebluecorner" }, /area/medical/sleeper) "mIi" = ( @@ -20714,8 +20720,8 @@ /area/turret_protected/ai_upload) "nrB" = ( /obj/machinery/atmospherics/trinary/filter{ - dir = 8; desc = "Отфильтровывает углекислый газ из трубы и отправляет его в камеру хранения"; + dir = 8; filter_type = 3; name = "Фильтр Углекислого Газа (СO2)"; on = 1; @@ -21522,8 +21528,8 @@ /area/gateway) "nSq" = ( /turf/simulated/floor/plasteel{ - icon_state = "blue"; - dir = 1 + dir = 1; + icon_state = "blue" }, /area/hydroponics) "nTs" = ( @@ -22233,9 +22239,9 @@ req_access = list(35) }, /obj/machinery/door/window/eastleft{ + dir = 8; name = "Kitchen Desk"; - req_access = list(28); - dir = 8 + req_access = list(28) }, /turf/simulated/floor/plating, /area/crew_quarters/kitchen) @@ -22256,8 +22262,8 @@ /area/crew_quarters/dorms) "oqA" = ( /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 9 + dir = 9; + icon_state = "whitepurple" }, /area/toxins/mixing) "orb" = ( @@ -22312,8 +22318,8 @@ /area/medical/medbay) "otM" = ( /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 1 + dir = 1; + icon_state = "whitepurple" }, /area/toxins/mixing) "ouf" = ( @@ -22842,8 +22848,8 @@ /area/hallway/primary/aft) "oLj" = ( /turf/simulated/floor/glass/reinforced{ - oxygen = 0; nitrogen = 0; + oxygen = 0; temperature = 2.7 }, /area/space) @@ -23023,8 +23029,8 @@ /area/hallway/primary/starboard) "oSt" = ( /obj/machinery/atmospherics/trinary/filter{ - dir = 8; desc = "Отфильтровывает оксид азота из трубы и отправляет его в камеру хранения."; + dir = 8; filter_type = 4; name = "Фильтр Оксида Азота (N2O)"; on = 1; @@ -23428,8 +23434,8 @@ pixel_y = -32 }, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 4 + dir = 4; + id = "cargodisposals" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -23860,8 +23866,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 4 + dir = 4; + icon_state = "whitegreen" }, /area/medical/virology) "pxE" = ( @@ -24150,9 +24156,9 @@ "pFi" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; id_tag = "chemshuts"; - name = "Chemistry Shutters"; - dir = 1 + name = "Chemistry Shutters" }, /turf/simulated/floor/plating, /area/medical/chemistry) @@ -24207,9 +24213,9 @@ dir = 4 }, /obj/machinery/door/window/southleft{ + dir = 8; name = "Research Lab Desk"; - req_access = list(47); - dir = 8 + req_access = list(47) }, /obj/machinery/door/poddoor/shutters/preopen{ id_tag = "researchshuts"; @@ -24294,8 +24300,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ - icon_state = "whitebluecorner"; - dir = 1 + dir = 1; + icon_state = "whitebluecorner" }, /area/medical/sleeper) "pHL" = ( @@ -24630,8 +24636,8 @@ dir = 1 }, /obj/item/radio/intercom{ - pixel_y = -28; - pixel_x = -28 + pixel_x = -28; + pixel_y = -28 }, /turf/simulated/floor/plasteel{ icon_state = "bcarpet05" @@ -24716,8 +24722,8 @@ pixel_x = 28 }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 4 + dir = 4; + icon_state = "whitepurple" }, /area/toxins/mixing) "pVk" = ( @@ -24770,8 +24776,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 1 + dir = 1; + icon_state = "whitepurple" }, /area/toxins/mixing) "pWM" = ( @@ -24917,8 +24923,8 @@ /area/security/permabrig) "qcu" = ( /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 4 + dir = 4; + id = "cargodisposals" }, /turf/simulated/floor/plasteel, /area/quartermaster/storage) @@ -25181,8 +25187,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 5 + dir = 5; + icon_state = "whitepurple" }, /area/toxins/mixing) "qkI" = ( @@ -25295,8 +25301,8 @@ pixel_x = 32 }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 4 + dir = 4; + icon_state = "whitepurple" }, /area/toxins/mixing) "qph" = ( @@ -25509,12 +25515,12 @@ pixel_x = 32 }, /obj/item/radio/intercom/custom{ - pixel_y = 14; - pixel_x = 32 + pixel_x = 32; + pixel_y = 14 }, /obj/item/radio/intercom{ - pixel_y = -15; - pixel_x = 32 + pixel_x = 32; + pixel_y = -15 }, /turf/simulated/floor/greengrid, /area/turret_protected/aisat) @@ -25532,8 +25538,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 1 + dir = 1; + icon_state = "whitepurple" }, /area/toxins/mixing) "qxq" = ( @@ -26493,8 +26499,8 @@ "rdP" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/simulated/floor/plasteel{ - icon_state = "blue"; - dir = 6 + dir = 6; + icon_state = "blue" }, /area/atmos) "ree" = ( @@ -27228,8 +27234,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ - icon_state = "whitebluecorner"; - dir = 8 + dir = 8; + icon_state = "whitebluecorner" }, /area/medical/sleeper) "rBV" = ( @@ -27690,6 +27696,12 @@ pixel_x = 26; req_access = list(33) }, +/obj/machinery/requests_console{ + department = "Chemistry"; + departmentType = 2; + name = "Chemistry Requests Console"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteyellow" @@ -28479,6 +28491,18 @@ }, /turf/simulated/floor/plasteel, /area/medical/research) +"svh" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Blueshield"; + departmentType = 5; + name = "Blueshield Requests Console"; + pixel_y = 30 + }, +/turf/simulated/floor/plasteel{ + icon_state = "bcarpet05" + }, +/area/bridge) "svC" = ( /obj/effect/landmark/start/quartermaster, /turf/simulated/floor/carpet/black, @@ -28627,7 +28651,7 @@ pixel_y = 3 }, /obj/machinery/requests_console{ - department = "Science"; + department = "Research"; departmentType = 2; name = "Research Request Console"; pixel_x = 30 @@ -29656,8 +29680,8 @@ req_access = list(39) }, /turf/simulated/floor/plasteel{ - icon_state = "whiteblue"; - dir = 8 + dir = 8; + icon_state = "whiteblue" }, /area/medical/sleeper) "tiH" = ( @@ -30111,8 +30135,8 @@ /area/hallway/secondary/entry) "tzj" = ( /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 8 + dir = 8; + icon_state = "whitepurple" }, /area/toxins/mixing) "tzx" = ( @@ -30151,8 +30175,8 @@ created_name = "Officer Podsky"; desc = "Ты не узнаешь ценность чего-либо, пока не потеряешь это..."; name = "Обломки офицера Подски"; - pixel_y = 14; - pixel_x = -5 + pixel_x = -5; + pixel_y = 14 }, /turf/simulated/floor/plasteel{ dir = 1; @@ -30491,8 +30515,8 @@ tag_interior_door = "viro_lab_airlock_interior" }, /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 4 + dir = 4; + icon_state = "whitegreen" }, /area/medical/virology) "tKy" = ( @@ -30606,8 +30630,8 @@ icon_state = "4-8" }, /turf/simulated/floor/plasteel{ - icon_state = "blue"; - dir = 1 + dir = 1; + icon_state = "blue" }, /area/hydroponics) "tQb" = ( @@ -31511,8 +31535,8 @@ dir = 8 }, /obj/machinery/door/window/brigdoor/security{ - req_access = list(2); - name = "Rrocessing" + name = "Rrocessing"; + req_access = list(2) }, /turf/simulated/floor/plasteel{ dir = 1; @@ -31806,8 +31830,8 @@ /obj/machinery/door_control{ id = "execblast"; name = "Vacuum Execution"; - req_access = list(2); - pixel_x = -26 + pixel_x = -26; + req_access = list(2) }, /turf/simulated/floor/plasteel{ dir = 9; @@ -32309,8 +32333,8 @@ dir = 5 }, /turf/simulated/floor/plasteel{ - icon_state = "whitebluecorner"; - dir = 1 + dir = 1; + icon_state = "whitebluecorner" }, /area/medical/sleeper) "uQL" = ( @@ -32433,8 +32457,8 @@ /obj/machinery/chem_dispenser/botanical, /obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel{ - icon_state = "blue"; - dir = 9 + dir = 9; + icon_state = "blue" }, /area/hydroponics) "uUg" = ( @@ -32548,8 +32572,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 5 + dir = 5; + icon_state = "whitegreen" }, /area/medical/virology) "vbn" = ( @@ -33519,9 +33543,9 @@ "vDD" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; id_tag = "brigshuts"; - name = "Brig Shutters"; - dir = 1 + name = "Brig Shutters" }, /obj/machinery/door/poddoor{ density = 0; @@ -33676,10 +33700,10 @@ "vIe" = ( /obj/structure/showcase{ dir = 4; - pixel_x = -9; icon = 'icons/mob/robots.dmi'; icon_state = "Robot-STD"; name = "Cyborg Statue"; + pixel_x = -9; pixel_y = 2 }, /turf/simulated/floor/bluegrid, @@ -33898,9 +33922,9 @@ "vNU" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; id_tag = "chemshuts"; - name = "Chemistry Shutters"; - dir = 8 + name = "Chemistry Shutters" }, /turf/simulated/floor/plating, /area/medical/chemistry) @@ -34145,9 +34169,9 @@ "vXi" = ( /obj/effect/spawner/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ + dir = 2; id_tag = "brigshuts"; - name = "Brig Shutters"; - dir = 2 + name = "Brig Shutters" }, /obj/machinery/door/poddoor{ density = 0; @@ -34789,9 +34813,9 @@ "wqQ" = ( /obj/machinery/biogenerator, /obj/machinery/door/window/eastleft{ + dir = 1; name = "Hydroponics Desk"; - req_access = list(35); - dir = 1 + req_access = list(35) }, /turf/simulated/floor/plating, /area/hydroponics) @@ -36166,8 +36190,8 @@ "xef" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel{ - icon_state = "whitegreen"; - dir = 8 + dir = 8; + icon_state = "whitegreen" }, /area/medical/virology) "xeu" = ( @@ -36209,8 +36233,8 @@ }, /obj/item/toy/figure/roboticist, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple"; - dir = 5 + dir = 5; + icon_state = "whitepurple" }, /area/assembly/robotics) "xeR" = ( @@ -37108,8 +37132,8 @@ dir = 4 }, /obj/machinery/conveyor{ - id = "cargodisposals"; - dir = 4 + dir = 4; + id = "cargodisposals" }, /obj/structure/disposalpipe/trunk{ dir = 1 @@ -37553,8 +37577,8 @@ /obj/item/reagent_containers/glass/bucket, /obj/item/reagent_containers/glass/bucket, /turf/simulated/floor/plasteel{ - icon_state = "blue"; - dir = 8 + dir = 8; + icon_state = "blue" }, /area/hydroponics) "xYz" = ( @@ -37573,6 +37597,17 @@ /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel, /area/hallway/primary/starboard) +"xYI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Quartermaster's Desk"; + departmentType = 5; + name = "Quartermaster Requests Console"; + pixel_x = -30 + }, +/turf/simulated/floor/carpet/black, +/area/quartermaster/storage) "xYU" = ( /obj/structure/chair/sofa/right{ dir = 8 @@ -37865,15 +37900,15 @@ pixel_y = 2 }, /obj/item/clothing/gloves/combat{ - pixel_y = -3; - pixel_x = -3 + pixel_x = -3; + pixel_y = -3 }, /obj/item/clothing/gloves/combat{ pixel_y = -3 }, /obj/item/clothing/gloves/combat{ - pixel_y = -3; - pixel_x = 3 + pixel_x = 3; + pixel_y = -3 }, /obj/item/shield/riot{ pixel_x = 3; @@ -37913,8 +37948,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "whitebluecorner"; - dir = 8 + dir = 8; + icon_state = "whitebluecorner" }, /area/medical/sleeper) "yjR" = ( @@ -337765,7 +337800,7 @@ vvq uJy cxo uYB -cYO +xYI cYO wwa jxt @@ -590154,7 +590189,7 @@ nOE vtz tMi kFM -qiF +svh ckr eBD rgz diff --git a/_maps/map_files/nova/nova.dmm b/_maps/map_files/nova/nova.dmm index a660768c920..26674ae6a6c 100644 --- a/_maps/map_files/nova/nova.dmm +++ b/_maps/map_files/nova/nova.dmm @@ -119106,7 +119106,7 @@ /obj/machinery/computer/rdconsole/core, /obj/effect/decal/warning_stripes/northwest, /obj/machinery/requests_console{ - department = "Science"; + department = "Research"; departmentType = 2; name = "Research Request Console"; pixel_x = -30 diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 381b6b2e6f8..4ffa1a41511 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -103,3 +103,4 @@ /// Machines with this flag will not start processing when it's spawned. Use this if you want to manually control when a machine starts processing. #define START_PROCESSING_MANUALLY (1<<1) +#define ORE_REDEMPTION "Плавильная печь" diff --git a/code/__DEFINES/request_consoles.dm b/code/__DEFINES/request_consoles.dm new file mode 100644 index 00000000000..806eabf4e55 --- /dev/null +++ b/code/__DEFINES/request_consoles.dm @@ -0,0 +1,91 @@ +// Request Console Department Types +#define RC_ASSIST 1 // Request Assistance +#define RC_SUPPLY 2 // Request Supplies +#define RC_INFO 4 // Relay Info + +// Request Console Screens +#define RCS_MAINMENU 0 // Main menu +#define RCS_RQSUPPLY 1 // Request supplies +#define RCS_RQASSIST 2 // Request assistance +#define RCS_SENDINFO 3 // Relay information +#define RCS_SENTPASS 4 // Message sent successfully +#define RCS_SENTFAIL 5 // Message sent unsuccessfully +#define RCS_VIEWMSGS 6 // View messages +#define RCS_MESSAUTH 7 // Authentication before sending +#define RCS_ANNOUNCE 8 // Send announcement +#define RCS_SHIPPING 9 // Print Shipping Labels/Packages +#define RCS_SHIP_LOG 10 // View Shipping Label Log + +// Radio list +#define ENGI_ROLES list(RC_ATMOSPHERICS, RC_MECHANIC, RC_ENGINEERING, RC_CHIEF_ENGINEER_DESK, RC_TECH_STORAGE, RC_TELECOMS_ADMIN) +#define SEC_ROLES list(RC_WARDEN, RC_SECURITY, RC_DETECTIVE, RC_LABOR_CAMP, RC_BRIG_MEDBAY, RC_HEAD_OF_SECURITY_DESK) +#define MISC_ROLES list(RC_BAR, RC_CHAPEL, RC_KITCHEN, RC_HYDROPONICS, RC_JANITORIAL) +#define MED_ROLES list(RC_VIROLOGY, RC_MEDBAY, RC_MORGUE, RC_CHEMISTRY, RC_CHIEF_MEDICAL_OFFICER_DESK) +#define COM_ROLES list(RC_BLUESHIELD, RC_NT_REPRESENTATIVE, RC_HEAD_OF_PERSONNEL_DESK, RC_CAPTAIN_DESK, RC_BRIDGE) +#define SCI_ROLES list(RC_ROBOTICS, RC_SCIENCE, RC_RESEARCH, RC_GENETICS, RC_XENOBIOLOGY, RC_RESEARCH_DIRECTOR_DESK) + +// Request Console Departments + +//Civilian +#define RC_PRIMARY_TOOL_STORAGE "Primary Tool Storage" +#define RC_LOCKER_ROOM "Locker Room" +#define RC_ARRIVAL_SHUTTLE "Arrival Shuttle" +#define RC_CREW_QUARTERS "Crew Quarters" + +// Medical +#define RC_MEDBAY "Medbay" +#define RC_VIROLOGY "Virology" +#define RC_MORGUE "Morgue" +#define RC_CHEMISTRY "Chemistry" + +// RND +#define RC_ROBOTICS "Robotics" +#define RC_SCIENCE "Science" +#define RC_RESEARCH "Research" +#define RC_XENOBIOLOGY "Xenobiology" +#define RC_GENETICS "Genetics" + +// Engineering +#define RC_ENGINEERING "Engineering" +#define RC_TECH_STORAGE "Tech storage" +#define RC_MECHANIC "Mechanic" +#define RC_ATMOSPHERICS "Atmospherics" + +// Security +#define RC_SECURITY "Security" +#define RC_DETECTIVE "Detective" +#define RC_WARDEN "Warden" +#define RC_LABOR_CAMP "Labor Camp" + +// Cargo +#define RC_CARGO_BAY "Cargo Bay" + +// Service +#define RC_BAR "Bar" +#define RC_HYDROPONICS "Hydroponics" +#define RC_JANITORIAL "Janitorial" +#define RC_KITCHEN "Kitchen" +#define RC_CHAPEL "Chapel" + +// Comand +#define RC_RESEARCH_DIRECTOR_DESK "Research Director's Desk" +#define RC_HEAD_OF_PERSONNEL_DESK "Head of Personnel's Desk" +#define RC_CHIEF_ENGINEER_DESK "Chief Engineer's Desk" +#define RC_CHIEF_MEDICAL_OFFICER_DESK "Chief Medical Officer's Desk" +#define RC_QUARTERMASTER_DESK "Quartermaster's Desk" +#define RC_HEAD_OF_SECURITY_DESK "Head of Security's Desk" +#define RC_CAPTAIN_DESK "Captain's Desk" +#define RC_AI "AI" +#define RC_BRIDGE "Bridge" +#define RC_EVA "EVA" + +// Central Command Dependent +#define RC_BLUESHIELD "Blueshield" +#define RC_INTERNAL_AFFAIRS_OFFICE "Internal Affairs Office" +#define RC_NT_REPRESENTATIVE "NT Representative" +#define RC_CENTRAL_COMMAND "Central Command" + +// NOT USED IN MAPS +#define RC_BRIG_MEDBAY "Brig Medbay" +#define RC_TELECOMS_ADMIN "Telecoms Admin" + diff --git a/code/datums/outfits/outfit_security_clown.dm b/code/datums/outfits/outfit_security_clown.dm index 9f628a62c9c..23acd23ca3c 100644 --- a/code/datums/outfits/outfit_security_clown.dm +++ b/code/datums/outfits/outfit_security_clown.dm @@ -134,6 +134,7 @@ //=========== security clown equipment =========== /obj/item/pda/clown/security default_cartridge = /obj/item/cartridge/clown + default_request_console_cartridge = /obj/item/cartridge/request_console/clown_security icon_state = "pda-security-clown" desc = "Переносной микрокомпьютер от Синктроник Системс, LTD. Этот КПК разработан по заказу тайного покупателя, пожелавшего хонкнуться нераскрытым. Поверхность покрыта политетрафторэтиленом и банановым налётом." ttone = "honk" diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index a5523d86e21..e851c95cd96 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -1,32 +1,6 @@ /******************** Requests Console ********************/ /** Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes */ -//Request Console Department Types -#define RC_ASSIST 1 //Request Assistance -#define RC_SUPPLY 2 //Request Supplies -#define RC_INFO 4 //Relay Info - -//Request Console Screens -#define RCS_MAINMENU 0 // Main menu -#define RCS_RQSUPPLY 1 // Request supplies -#define RCS_RQASSIST 2 // Request assistance -#define RCS_SENDINFO 3 // Relay information -#define RCS_SENTPASS 4 // Message sent successfully -#define RCS_SENTFAIL 5 // Message sent unsuccessfully -#define RCS_VIEWMSGS 6 // View messages -#define RCS_MESSAUTH 7 // Authentication before sending -#define RCS_ANNOUNCE 8 // Send announcement -#define RCS_SHIPPING 9 // Print Shipping Labels/Packages -#define RCS_SHIP_LOG 10 // View Shipping Label Log - -//Radio list -#define ENGI_ROLES list("Atmospherics","Mechanic","Engineering","Chief Engineer's Desk","Telecoms Admin") -#define SEC_ROLES list("Warden","Security","Brig Medbay","Head of Security's Desk") -#define MISC_ROLES list("Bar","Chapel","Kitchen","Hydroponics","Janitorial") -#define MED_ROLES list("Virology","Chief Medical Officer's Desk","Medbay") -#define COM_ROLES list("Blueshield","NT Representative","Head of Personnel's Desk","Captain's Desk","Bridge") -#define SCI_ROLES list("Robotics","Science","Research Director's Desk") - #define RQ_NONEW_MESSAGES 0 #define RQ_NORMALPRIORITY 1 #define RQ_HIGHPRIORITY 2 @@ -69,6 +43,7 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) var/print_cooldown = 0 //cooldown on shipping label printer, stores the in-game time of when the printer will next be ready var/obj/item/radio/Radio var/radiochannel = "" + var/list/connected_apps = list() /obj/machinery/requests_console/Initialize(mapload) @@ -90,7 +65,6 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) GLOB.req_console_supplies |= department if(departmentType & RC_INFO) GLOB.req_console_information |= department - update_icon(UPDATE_OVERLAYS) @@ -109,6 +83,9 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) if(departmentType & RC_INFO) GLOB.req_console_information -= department QDEL_NULL(Radio) + for(var/datum/data/pda/app/request_console/app as anything in connected_apps) + if(istype(app)) + app.on_rc_destroyed(src) return ..() /obj/machinery/requests_console/attack_ghost(user as mob) @@ -120,7 +97,6 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) /obj/machinery/requests_console/attack_hand(user as mob) if(..(user)) return - ui_interact(user) @@ -193,9 +169,9 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) message = new_message screen = RCS_MESSAUTH switch(params["priority"]) - if("1") + if(1) priority = RQ_NORMALPRIORITY - if("2") + if(2) priority = RQ_HIGHPRIORITY else priority = RQ_NONEW_MESSAGES @@ -238,9 +214,9 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) radiochannel = "Command" else if(recipient in SCI_ROLES) radiochannel = "Science" - else if(recipient == "AI") + else if(recipient == RC_AI) radiochannel = "AI Private" - else if(recipient == "Cargo Bay") + else if(recipient == RC_CARGO_BAY) radiochannel = "Supply" write_to_message_log("Message sent to [recipient] at [station_time_timestamp()] - [message]") Radio.autosay("Alert; a new requests console message received for [recipient] from [department]", null, "[radiochannel]") @@ -292,38 +268,46 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) return ..() if(istype(I, /obj/item/card/id)) - var/obj/item/card/id/id = I add_fingerprint(user) - switch(screen) - if(RCS_MESSAUTH) - msgVerified = "Verified by [id.registered_name] ([id.assignment])" - SStgui.update_uis(src) - return ATTACK_CHAIN_PROCEED_SUCCESS - if(RCS_ANNOUNCE) - if(ACCESS_RC_ANNOUNCE in id.GetAccess()) - announceAuth = TRUE - announcement.announcer = id.assignment ? "[id.assignment] [id.registered_name]" : id.registered_name - SStgui.update_uis(src) - return ATTACK_CHAIN_PROCEED_SUCCESS - reset_message() - to_chat(user, span_warning("You are not authorized to send announcements.")) - SStgui.update_uis(src) - return ATTACK_CHAIN_PROCEED_SUCCESS - if(RCS_SHIPPING) - msgVerified = "Sender verified as [id.registered_name] ([id.assignment])" - SStgui.update_uis(src) - return ATTACK_CHAIN_PROCEED_SUCCESS + return login_console(screen, I, src) if(istype(I, /obj/item/stamp)) - if(screen == RCS_MESSAUTH) - add_fingerprint(user) - msgStamped = "Stamped with the [I.name]" - SStgui.update_uis(src) - return ATTACK_CHAIN_PROCEED_SUCCESS + return stamp_messauth(screen, I, src, user) return ..() +/obj/machinery/requests_console/proc/stamp_messauth(screen, obj/item/stamp/stamp, obj/ui_object, mob/user, is_distant=FALSE) + if(screen == RCS_MESSAUTH) + if(!is_distant) + add_fingerprint(user) + msgStamped = "Stamped with the [stamp.name]" + SStgui.update_uis(ui_object) + return ATTACK_CHAIN_PROCEED_SUCCESS + return ATTACK_CHAIN_PROCEED + +/obj/machinery/requests_console/proc/login_console(screen, obj/item/card/id/id, obj/ui_object, mob/user) + switch(screen) + if(RCS_MESSAUTH) + msgVerified = "Verified by [id.registered_name] ([id.assignment])" + SStgui.update_uis(ui_object) + return ATTACK_CHAIN_PROCEED_SUCCESS + if(RCS_ANNOUNCE) + if(ACCESS_RC_ANNOUNCE in id.GetAccess()) + announceAuth = TRUE + announcement.announcer = id.assignment ? "[id.assignment] [id.registered_name]" : id.registered_name + SStgui.update_uis(ui_object) + return ATTACK_CHAIN_PROCEED_SUCCESS + reset_message() + to_chat(user, span_warning("You are not authorized to send announcements.")) + SStgui.update_uis(ui_object) + return ATTACK_CHAIN_PROCEED_SUCCESS + if(RCS_SHIPPING) + msgVerified = "Sender verified as [id.registered_name] ([id.assignment])" + SStgui.update_uis(ui_object) + return ATTACK_CHAIN_PROCEED_SUCCESS + return ATTACK_CHAIN_PROCEED + /obj/machinery/requests_console/proc/reset_message(mainmenu = FALSE) message = "" recipient = "" @@ -353,14 +337,21 @@ GLOBAL_LIST_EMPTY(allRequestConsoles) playsound(loc, 'sound/machines/twobeep.ogg', 50, TRUE) atom_say(title) + var/rendered_message switch(priority) if(RQ_HIGHPRIORITY) // High - write_to_message_log("Высокий приоритет - От: [linkedSender] - [message]") + rendered_message = "Высокий приоритет - От: [linkedSender] - [message]" else // Normal - write_to_message_log("От: [linkedSender] - [message]") + rendered_message = "От: [linkedSender] - [message]" + + if(!isnull(rendered_message)) + write_to_message_log(rendered_message, source == ORE_REDEMPTION) -/obj/machinery/requests_console/proc/write_to_message_log(message) +/obj/machinery/requests_console/proc/write_to_message_log(message, ore_message = FALSE) + for(var/datum/data/pda/app/request_console/app as anything in connected_apps) + if(istype(app)) + app.on_rc_message_recieved(src, message, ore_message) message_log = list(message) + message_log /obj/machinery/requests_console/proc/print_label(tag_name, tag_index) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 842f46e041d..01de99e993c 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -2,6 +2,7 @@ #define BASE_SHEET_MULT 0.5 #define POINT_MULT_ADD_PER_RATING 0.35 #define SHEET_MULT_ADD_PER_RATING 0.2 +#define MESSAGES_WAIT_TIME 1 MINUTES /** * # Ore Redemption Machine @@ -28,15 +29,16 @@ /// List of supply console department names that can receive a notification about ore dumps. /// A list may be provided as entry value to only notify when specific ore is dumped. var/list/supply_consoles = list( - "Science", - "Robotics", - "Research Director's Desk", - "Mechanic", - "Engineering" = list(MAT_METAL, MAT_GLASS, MAT_PLASMA), - "Chief Engineer's Desk" = list(MAT_METAL, MAT_GLASS, MAT_PLASMA), - "Atmospherics" = list(MAT_METAL, MAT_GLASS, MAT_PLASMA), - "Bar" = list(MAT_URANIUM, MAT_PLASMA), - "Virology" = list(MAT_PLASMA, MAT_URANIUM, MAT_GOLD) + RC_SCIENCE, + RC_RESEARCH, + RC_ROBOTICS, + RC_RESEARCH_DIRECTOR_DESK, + RC_MECHANIC, + RC_ENGINEERING = list(MAT_METAL, MAT_GLASS, MAT_PLASMA), + RC_CHIEF_ENGINEER_DESK = list(MAT_METAL, MAT_GLASS, MAT_PLASMA), + RC_ATMOSPHERICS = list(MAT_METAL, MAT_GLASS, MAT_PLASMA), + RC_BAR = list(MAT_URANIUM, MAT_PLASMA), + RC_VIROLOGY = list(MAT_PLASMA, MAT_URANIUM, MAT_GOLD) ) // Variables /// The currently inserted ID. @@ -55,6 +57,7 @@ var/datum/research/files /// The currently inserted design disk. var/obj/item/disk/design_disk/inserted_disk + COOLDOWN_DECLARE(messages_cooldown) /obj/machinery/mineral/ore_redemption/New() ..() @@ -186,8 +189,11 @@ // Process it if(length(ore_buffer)) message_sent = FALSE + if(!COOLDOWN_STARTED(src, messages_cooldown)) + COOLDOWN_START(src, messages_cooldown, MESSAGES_WAIT_TIME) process_ores(ore_buffer) - else if(!message_sent) + + if(COOLDOWN_FINISHED(src, messages_cooldown) && !message_sent) SStgui.update_uis(src) send_console_message() message_sent = TRUE @@ -484,7 +490,7 @@ if(!(C.department in supply_consoles)) continue if(!supply_consoles[C.department] || length(supply_consoles[C.department] - mats_in_stock)) - C.createMessage("Плавильная печь", "Новые ресурсы доступны!", msg, 1) // RQ_NORMALPRIORITY + C.createMessage(ORE_REDEMPTION, "Новые ресурсы доступны!", msg, 1) // RQ_NORMALPRIORITY /** * Tries to insert the ID card held by the given user into the machine. diff --git a/code/modules/pda/PDA.dm b/code/modules/pda/PDA.dm index 90c01171c98..5cf60cd6afc 100755 --- a/code/modules/pda/PDA.dm +++ b/code/modules/pda/PDA.dm @@ -27,8 +27,12 @@ GLOBAL_LIST_EMPTY(PDAs) //Main variables var/owner = null var/default_cartridge = null // Access level defined by cartridge + /// Default request console cartridge + var/default_request_console_cartridge = null var/special_pen = null //special variable for nonstandart pens in new PDAs var/obj/item/cartridge/cartridge = null //current cartridge + /// Current request console cartridge + var/obj/item/cartridge/request_console/request_cartridge = null var/datum/data/pda/app/current_app = null var/datum/data/pda/app/lastapp = null @@ -107,6 +111,9 @@ GLOBAL_LIST_EMPTY(PDAs) if(default_cartridge) cartridge = new default_cartridge(src) cartridge.update_programs(src) + if(default_request_console_cartridge) + request_cartridge = new default_request_console_cartridge(src) + request_cartridge.update_programs(src) if(special_pen) new special_pen(src) else @@ -125,6 +132,7 @@ GLOBAL_LIST_EMPTY(PDAs) scanmode = null QDEL_LIST(programs) QDEL_NULL(cartridge) + QDEL_NULL(request_cartridge) QDEL_NULL(current_case) current_painting?.Cut() return ..() @@ -168,7 +176,7 @@ GLOBAL_LIST_EMPTY(PDAs) ui_interact(user) /obj/item/pda/proc/start_program(datum/data/pda/P) - if(P && ((P in programs) || (cartridge && (P in cartridge.programs)))) + if(P && ((P in programs) || (cartridge && (P in cartridge.programs)) || (request_cartridge && (P in request_cartridge.programs)))) return P.start() return 0 @@ -240,6 +248,8 @@ GLOBAL_LIST_EMPTY(PDAs) to_chat(user, "You remove the ID from the [name].") SStgui.update_uis(src) id = null + cartridge?.on_id_updated() + request_cartridge?.on_id_updated() update_icon(UPDATE_OVERLAYS) @@ -294,6 +304,8 @@ GLOBAL_LIST_EMPTY(PDAs) var/obj/item/I = user.get_active_hand() if(istype(I, /obj/item/card/id) && user.drop_transfer_item_to_loc(I, src)) id = I + cartridge?.on_id_updated() + request_cartridge?.on_id_updated() update_icon(UPDATE_OVERLAYS) return TRUE return FALSE @@ -303,6 +315,8 @@ GLOBAL_LIST_EMPTY(PDAs) id.forceMove_turf() user.put_in_hands(id) id = I + cartridge?.on_id_updated() + request_cartridge?.on_id_updated() update_icon(UPDATE_OVERLAYS) return TRUE return FALSE @@ -399,8 +413,25 @@ GLOBAL_LIST_EMPTY(PDAs) to_chat(user, span_notice("You have put [I] onto the PDA.")) return ATTACK_CHAIN_BLOCKED_ALL + if(istype(I, /obj/item/cartridge/request_console)) + add_fingerprint(user) + if(request_cartridge) + to_chat(user, span_warning("The PDA is already holding another request cartridge.")) + return ATTACK_CHAIN_PROCEED + if(!user.drop_transfer_item_to_loc(I, src)) + return ..() + request_cartridge = I + request_cartridge.update_programs(src) + update_shortcuts() + to_chat(user, span_notice("You have inserted [I] into the PDA.")) + SStgui.update_uis(src) + if(request_cartridge.radio) + request_cartridge.radio.hostpda = src + return ATTACK_CHAIN_BLOCKED_ALL + if(istype(I, /obj/item/cartridge)) add_fingerprint(user) + if(cartridge) to_chat(user, span_warning("The PDA is already holding another cartridge.")) return ATTACK_CHAIN_PROCEED @@ -460,6 +491,13 @@ GLOBAL_LIST_EMPTY(PDAs) to_chat(user, span_notice("You have slided [I] into the PDA.
You can remove it with Ctrl-click.")) return ATTACK_CHAIN_BLOCKED_ALL + if(istype(I, /obj/item/stamp)) + var/result = cartridge?.stamp_act(I) + result |= request_cartridge?.stamp_act(I) + if(result) + return ATTACK_CHAIN_BLOCKED_ALL + return ATTACK_CHAIN_PROCEED + return ..() diff --git a/code/modules/pda/app.dm b/code/modules/pda/app.dm index 98e9d5fe1bd..17508353787 100644 --- a/code/modules/pda/app.dm +++ b/code/modules/pda/app.dm @@ -20,6 +20,14 @@ /datum/data/pda/proc/program_process() return +/datum/data/pda/proc/on_id_updated() + return + +/datum/data/pda/proc/stamp_act(obj/item/stamp/stamp) + if(!istype(stamp)) + return FALSE + return TRUE + /datum/data/pda/proc/program_hit_check() return diff --git a/code/modules/pda/cart.dm b/code/modules/pda/cart.dm index a4e2c4efaa8..85b14210e59 100644 --- a/code/modules/pda/cart.dm +++ b/code/modules/pda/cart.dm @@ -28,6 +28,24 @@ var/datum/data/pda/messenger_plugin/P = A P.pda = pda +/obj/item/cartridge/proc/stamp_act(stamp) + var/result = FALSE + for(var/A in programs) + var/datum/data/pda/P = A + result = result || P.stamp_act(stamp) + for(var/A in messenger_plugins) + var/datum/data/pda/messenger_plugin/P = A + result = result || P.stamp_act(stamp) + return result + +/obj/item/cartridge/proc/on_id_updated() + for(var/A in programs) + var/datum/data/pda/P = A + P.on_id_updated() + for(var/A in messenger_plugins) + var/datum/data/pda/messenger_plugin/P = A + P.on_id_updated() + /obj/item/cartridge/engineering name = "Power-ON Cartridge" icon_state = "cart-e" diff --git a/code/modules/pda/pda_tgui.dm b/code/modules/pda/pda_tgui.dm index 6587438c319..cd3ec775e4b 100644 --- a/code/modules/pda/pda_tgui.dm +++ b/code/modules/pda/pda_tgui.dm @@ -23,6 +23,8 @@ var/list/prog_list = programs.Copy() if(cartridge) prog_list |= cartridge.programs + if(request_cartridge) + prog_list |= request_cartridge.programs for(var/A in prog_list) var/datum/data/pda/P = A @@ -47,6 +49,7 @@ data["idLink"] = (id ? "[id.registered_name], [id.assignment]" : "--------") data["cartridge_name"] = cartridge ? cartridge.name : "" + data["request_cartridge_name"] = request_cartridge ? request_cartridge.name : "" data["stationTime"] = station_time_timestamp() data["app"] = list() @@ -96,6 +99,24 @@ P.unnotify() cartridge = null update_shortcuts() + if("Eject_Request")//Ejects the cart, only done from hub. + if(!isnull(request_cartridge)) + var/turf/T = loc + if(ismob(T)) + T = T.loc + var/obj/item/cartridge/C = request_cartridge + C.forceMove(T) + if(scanmode in C.programs) + scanmode = null + if(current_app in C.programs) + start_program(find_program(/datum/data/pda/app/main_menu)) + if(C.radio) + C.radio.hostpda = null + for(var/datum/data/pda/P in notifying_programs) + if(P in C.programs) + P.unnotify() + request_cartridge = null + update_shortcuts() if("Authenticate")//Checks for ID id_check(usr, in_pda_usage = TRUE) if("Ringtone") diff --git a/code/modules/pda/pdas.dm b/code/modules/pda/pdas.dm index d7e2a4f29ce..3ee62d5aeb8 100644 --- a/code/modules/pda/pdas.dm +++ b/code/modules/pda/pdas.dm @@ -1,36 +1,44 @@ /obj/item/pda/medical default_cartridge = /obj/item/cartridge/medical + default_request_console_cartridge = /obj/item/cartridge/request_console/medical icon_state = "pda-medical" /obj/item/pda/viro default_cartridge = /obj/item/cartridge/medical + default_request_console_cartridge = /obj/item/cartridge/request_console/viro icon_state = "pda-virology" item_state = "pda-medical" /obj/item/pda/engineering default_cartridge = /obj/item/cartridge/engineering + default_request_console_cartridge = /obj/item/cartridge/request_console/engineering icon_state = "pda-engineer" /obj/item/pda/security default_cartridge = /obj/item/cartridge/security + default_request_console_cartridge = /obj/item/cartridge/request_console/security icon_state = "pda-security" /obj/item/pda/detective default_cartridge = /obj/item/cartridge/detective + default_request_console_cartridge = /obj/item/cartridge/request_console/detective icon_state = "pda-detective" /obj/item/pda/warden default_cartridge = /obj/item/cartridge/security + default_request_console_cartridge = /obj/item/cartridge/request_console/warden icon_state = "pda-warden" /obj/item/pda/janitor default_cartridge = /obj/item/cartridge/janitor + default_request_console_cartridge = /obj/item/cartridge/request_console/janitor icon_state = "pda-janitor" ttone = "slip" /obj/item/pda/toxins default_cartridge = /obj/item/cartridge/signal/toxins icon_state = "pda-science" + default_request_console_cartridge = /obj/item/cartridge/request_console/toxins ttone = "boom" /obj/item/pda/clown @@ -59,40 +67,49 @@ /obj/item/pda/heads/hop default_cartridge = /obj/item/cartridge/hop + default_request_console_cartridge = /obj/item/cartridge/request_console/hop icon_state = "pda-hop" /obj/item/pda/heads/hos default_cartridge = /obj/item/cartridge/hos + default_request_console_cartridge = /obj/item/cartridge/request_console/hos icon_state = "pda-hos" /obj/item/pda/heads/ce default_cartridge = /obj/item/cartridge/ce + default_request_console_cartridge = /obj/item/cartridge/request_console/ce icon_state = "pda-ce" /obj/item/pda/heads/cmo default_cartridge = /obj/item/cartridge/cmo + default_request_console_cartridge = /obj/item/cartridge/request_console/cmo icon_state = "pda-cmo" /obj/item/pda/heads/rd default_cartridge = /obj/item/cartridge/rd + default_request_console_cartridge = /obj/item/cartridge/request_console/rd icon_state = "pda-rd" /obj/item/pda/captain default_cartridge = /obj/item/cartridge/captain icon_state = "pda-captain" + default_request_console_cartridge = /obj/item/cartridge/request_console/captain detonate = 0 //toff = 1 /obj/item/pda/heads/ntrep default_cartridge = /obj/item/cartridge/supervisor + default_request_console_cartridge = /obj/item/cartridge/request_console/ntrep icon_state = "pda-h" /obj/item/pda/heads/magistrate default_cartridge = /obj/item/cartridge/supervisor + default_request_console_cartridge = /obj/item/cartridge/request_console/magistrate icon_state = "pda-h" /obj/item/pda/heads/blueshield default_cartridge = /obj/item/cartridge/hos + default_request_console_cartridge = /obj/item/cartridge/request_console/blueshield icon_state = "pda-h" /obj/item/pda/heads/ert @@ -109,14 +126,17 @@ /obj/item/pda/cargo default_cartridge = /obj/item/cartridge/quartermaster + default_request_console_cartridge = /obj/item/cartridge/request_console/cargo icon_state = "pda-cargo" /obj/item/pda/quartermaster default_cartridge = /obj/item/cartridge/quartermaster + default_request_console_cartridge = /obj/item/cartridge/request_console/quartermaster icon_state = "pda-qm" /obj/item/pda/shaftminer icon_state = "pda-miner" + default_request_console_cartridge = /obj/item/cartridge/request_console/shaftminer special_pen = /obj/item/pen/survival /obj/item/pda/syndicate @@ -144,19 +164,23 @@ /obj/item/pda/chaplain icon_state = "pda-chaplain" + default_request_console_cartridge = /obj/item/cartridge/request_console/chaplain ttone = "holy" /obj/item/pda/lawyer default_cartridge = /obj/item/cartridge/lawyer + default_request_console_cartridge = /obj/item/cartridge/request_console/lawyer icon_state = "pda-lawyer" ttone = "..." /obj/item/pda/botanist //default_cartridge = /obj/item/cartridge/botanist + default_request_console_cartridge = /obj/item/cartridge/request_console/botanist icon_state = "pda-hydro" /obj/item/pda/roboticist icon_state = "pda-roboticist" + default_request_console_cartridge = /obj/item/cartridge/request_console/roboticist /obj/item/pda/librarian icon_state = "pda-library" @@ -175,25 +199,31 @@ model_name = "Thinktronic 5230 Personal Data Assistant Deluxe Special Max Turbo Limited Edition" /obj/item/pda/chef + default_request_console_cartridge = /obj/item/cartridge/request_console/chef icon_state = "pda-chef" /obj/item/pda/bar icon_state = "pda-bartender" + default_request_console_cartridge = /obj/item/cartridge/request_console/bar /obj/item/pda/atmos default_cartridge = /obj/item/cartridge/atmos + default_request_console_cartridge = /obj/item/cartridge/request_console/atmos icon_state = "pda-atmos" /obj/item/pda/chemist default_cartridge = /obj/item/cartridge/chemistry icon_state = "pda-chemistry" + default_request_console_cartridge = /obj/item/cartridge/request_console/chemist /obj/item/pda/geneticist default_cartridge = /obj/item/cartridge/medical icon_state = "pda-genetics" + default_request_console_cartridge = /obj/item/cartridge/request_console/geneticist /obj/item/pda/centcom default_cartridge = /obj/item/cartridge/centcom + default_request_console_cartridge = /obj/item/cartridge/request_console/centcom icon_state = "pda-h" /obj/item/pda/centcom/New() diff --git a/code/modules/pda/request_consoles_app.dm b/code/modules/pda/request_consoles_app.dm new file mode 100644 index 00000000000..159e7a0b513 --- /dev/null +++ b/code/modules/pda/request_consoles_app.dm @@ -0,0 +1,298 @@ +/datum/data/pda/app/request_console + name = "Request Consoles" + title = "Request Consoles" + icon = "archive" + template = "pda_request_console" + category = "Request Console" + update = PDA_APP_UPDATE + var/list/department_list + var/list/possible_consoles = list() + var/ore_message_reciver_dep + var/obj/machinery/requests_console/selected_console + +/datum/data/pda/app/request_console/New() + . = ..() + for(var/C in (GLOB.allRequestConsoles)) + var/obj/machinery/requests_console/console = C + if(QDELETED(console) || !istype(console)) + continue + if(console.department in department_list) + possible_consoles |= console + department_list -= console.department + console.connected_apps |= src + + +/datum/data/pda/app/request_console/Destroy() + selected_console = null + LAZYNULL(possible_consoles) + . = ..() + +/datum/data/pda/app/request_console/proc/on_rc_destroyed(datum/source) + possible_consoles -= source + SStgui.update_uis(pda) + +/datum/data/pda/app/request_console/proc/on_rc_message_recieved(obj/machinery/requests_console/source, message, isoremessage) + SIGNAL_HANDLER + if(isoremessage && source.department != ore_message_reciver_dep) + return + var/rendered_message = "Recieved on [source.name] : [message]" + if(!QDELETED(pda)) + notify(rendered_message) + + +/datum/data/pda/app/request_console/update_ui(mob/user, list/data) + if(selected_console) + data += selected_console.ui_data(user) + data["selected_console"] = selected_console.name + else + data["selected_console"] = null + var/list/possible_consoles_data= list() + for(var/obj/machinery/requests_console/console as anything in possible_consoles) + possible_consoles_data += list(list("name" = console.name, "priority" = console.newmessagepriority)) + data["consoles_data"] = possible_consoles_data + +/datum/data/pda/app/request_console/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + switch(action) + if("select") + var/name = params["name"] + for(var/atom/console as anything in possible_consoles) + if(console.name == name) + selected_console = console + title = console.name + break + unnotify() + if("back") + selected_console = null + title = initial(title) + else + selected_console?.ui_act(action, params, ui, state) + login() + SStgui.update_uis(pda) + + +/datum/data/pda/app/request_console/on_id_updated() + login() + + +/datum/data/pda/app/request_console/proc/login() + if(pda.id && selected_console) + selected_console.login_console(selected_console.screen, pda.id, pda, usr) + + +/datum/data/pda/app/request_console/stamp_act(obj/item/stamp/stamp) + if(!..() || !selected_console) + return FALSE + var/result = selected_console.stamp_messauth(selected_console.screen, stamp, pda, usr) + if(ATTACK_CHAIN_SUCCESS_CHECK(result)) + return TRUE + return FALSE + +/datum/data/pda/app/request_console/cargo + department_list = list(RC_CARGO_BAY) + +/datum/data/pda/app/request_console/shaftminer + department_list = list(RC_CARGO_BAY) + +/datum/data/pda/app/request_console/botanist + department_list = list(RC_HYDROPONICS) + +/datum/data/pda/app/request_console/chef + department_list = list(RC_KITCHEN) + +/datum/data/pda/app/request_console/bar + department_list = list(RC_BAR) + +/datum/data/pda/app/request_console/janitor + department_list = list(RC_JANITORIAL) + +/datum/data/pda/app/request_console/chaplain + department_list = list(RC_CHAPEL) + +/datum/data/pda/app/request_console/security + department_list = list(RC_SECURITY) + +/datum/data/pda/app/request_console/clown_security + department_list = list(RC_SECURITY) + +/datum/data/pda/app/request_console/lawyer + department_list = list(RC_INTERNAL_AFFAIRS_OFFICE) + +/datum/data/pda/app/request_console/medical + department_list = list( + RC_MEDBAY, + RC_MORGUE + ) + +/datum/data/pda/app/request_console/viro + department_list = list( + RC_MEDBAY, + RC_VIROLOGY, + RC_MORGUE + ) + +/datum/data/pda/app/request_console/engineering + department_list = list( + RC_TECH_STORAGE, + RC_ENGINEERING, + RC_ATMOSPHERICS, + RC_MECHANIC + ) + ore_message_reciver_dep = RC_MECHANIC + + +/datum/data/pda/app/request_console/detective + department_list = list( + RC_SECURITY, + RC_DETECTIVE + ) + +/datum/data/pda/app/request_console/warden + department_list = list( + RC_SECURITY, + RC_WARDEN, + RC_LABOR_CAMP + ) + +/datum/data/pda/app/request_console/toxins + department_list = list( + RC_SCIENCE, + RC_ROBOTICS, + RC_RESEARCH, + RC_XENOBIOLOGY + ) + ore_message_reciver_dep = RC_RESEARCH + +/datum/data/pda/app/request_console/hop + department_list = list( + RC_BAR, + RC_KITCHEN, + RC_HEAD_OF_PERSONNEL_DESK, + RC_BRIDGE, + RC_HYDROPONICS, + RC_JANITORIAL, + RC_CHAPEL + ) + +/datum/data/pda/app/request_console/hos + department_list = list(RC_SECURITY, + RC_WARDEN, + RC_LABOR_CAMP, + RC_HEAD_OF_SECURITY_DESK, + RC_BRIDGE, + RC_DETECTIVE) + +/datum/data/pda/app/request_console/ce + department_list = list( + RC_TECH_STORAGE, + RC_ENGINEERING, + RC_ATMOSPHERICS, + RC_MECHANIC, + RC_BRIDGE, + RC_AI, + RC_CHIEF_ENGINEER_DESK + ) + ore_message_reciver_dep = RC_MECHANIC + +/datum/data/pda/app/request_console/cmo + department_list = list( + RC_MEDBAY, + RC_VIROLOGY, + RC_MORGUE, + RC_GENETICS, + RC_BRIDGE, + RC_CHEMISTRY, + RC_CHIEF_MEDICAL_OFFICER_DESK + ) + +/datum/data/pda/app/request_console/rd + department_list = list( + RC_SCIENCE, + RC_ROBOTICS, + RC_RESEARCH, + RC_XENOBIOLOGY, + RC_GENETICS, + RC_BRIDGE, + RC_AI, + RC_RESEARCH_DIRECTOR_DESK + ) + ore_message_reciver_dep = RC_RESEARCH + +/datum/data/pda/app/request_console/captain + department_list = list( + RC_CHIEF_ENGINEER_DESK, + RC_CHIEF_MEDICAL_OFFICER_DESK, + RC_HEAD_OF_PERSONNEL_DESK, + RC_HEAD_OF_SECURITY_DESK, + RC_BRIDGE, + RC_QUARTERMASTER_DESK, + RC_AI, + RC_CAPTAIN_DESK, + RC_RESEARCH_DIRECTOR_DESK + ) + ore_message_reciver_dep = RC_RESEARCH_DIRECTOR_DESK + +/datum/data/pda/app/request_console/ntrep + department_list = list( + RC_NT_REPRESENTATIVE, + RC_BLUESHIELD, + RC_INTERNAL_AFFAIRS_OFFICE, + RC_BRIDGE + ) + +/datum/data/pda/app/request_console/magistrate + department_list = list( + RC_INTERNAL_AFFAIRS_OFFICE, + RC_BRIDGE + ) + +/datum/data/pda/app/request_console/blueshield + department_list = list( + RC_BLUESHIELD, + RC_BRIDGE + ) + +/datum/data/pda/app/request_console/quartermaster + department_list = list( + RC_CARGO_BAY, + RC_QUARTERMASTER_DESK, + RC_BRIDGE + ) + +/datum/data/pda/app/request_console/roboticist + department_list = list( + RC_RESEARCH, + RC_SCIENCE, + RC_ROBOTICS + ) + ore_message_reciver_dep = RC_ROBOTICS + +/datum/data/pda/app/request_console/atmos + department_list = list( + RC_TECH_STORAGE, + RC_ATMOSPHERICS, + RC_ENGINEERING + ) + ore_message_reciver_dep = RC_ATMOSPHERICS + +/datum/data/pda/app/request_console/chemist + department_list = list( + RC_CHEMISTRY, + RC_MEDBAY + ) + +/datum/data/pda/app/request_console/geneticist + department_list = list( + RC_GENETICS, + RC_MEDBAY + ) + +/datum/data/pda/app/request_console/centcom + department_list = list( + RC_BRIDGE, + RC_AI, + RC_BLUESHIELD, + RC_INTERNAL_AFFAIRS_OFFICE, + RC_NT_REPRESENTATIVE, + RC_CENTRAL_COMMAND, + RC_CAPTAIN_DESK + ) diff --git a/code/modules/pda/request_consoles_cart.dm b/code/modules/pda/request_consoles_cart.dm new file mode 100644 index 00000000000..f0d86786259 --- /dev/null +++ b/code/modules/pda/request_consoles_cart.dm @@ -0,0 +1,130 @@ +/obj/item/cartridge/request_console + name = "Request Console" + icon_state = "cart-req" + programs = list(new /datum/data/pda/app/request_console) + +/obj/item/cartridge/request_console/medical + name = "Medical Request" + programs = list(new /datum/data/pda/app/request_console/medical) + +/obj/item/cartridge/request_console/viro + name = "Virology Request" + programs = list(new /datum/data/pda/app/request_console/viro) + +/obj/item/cartridge/request_console/engineering + name = "Engineering Request" + programs = list(new /datum/data/pda/app/request_console/engineering) + +/obj/item/cartridge/request_console/security + name = "Security Request" + programs = list(new /datum/data/pda/app/request_console/security) + +/obj/item/cartridge/request_console/detective + name = "Detective Request" + programs = list(new /datum/data/pda/app/request_console/detective) + +/obj/item/cartridge/request_console/warden + name = "Warden Request" + programs = list(new /datum/data/pda/app/request_console/warden) + +/obj/item/cartridge/request_console/janitor + name = "Janitor Request" + programs = list(new /datum/data/pda/app/request_console/janitor) + +/obj/item/cartridge/request_console/toxins + name = "Sciense Request" + programs = list(new /datum/data/pda/app/request_console/toxins) + +/obj/item/cartridge/request_console/hop + name = "HOP Request" + programs = list(new /datum/data/pda/app/request_console/hop) + +/obj/item/cartridge/request_console/hos + name = "HOS Request" + programs = list(new /datum/data/pda/app/request_console/hos) + +/obj/item/cartridge/request_console/ce + name = "CE Request" + programs = list(new /datum/data/pda/app/request_console/ce) + +/obj/item/cartridge/request_console/cmo + name = "CMO Request" + programs = list(new /datum/data/pda/app/request_console/cmo) + +/obj/item/cartridge/request_console/rd + name = "RD Request" + programs = list(new /datum/data/pda/app/request_console/rd) + +/obj/item/cartridge/request_console/captain + name = "Captain Request" + programs = list(new /datum/data/pda/app/request_console/captain) + + +/obj/item/cartridge/request_console/ntrep + name = "NTR Request" + programs = list(new /datum/data/pda/app/request_console/ntrep) + +/obj/item/cartridge/request_console/magistrate + name = "Magistrate Request" + programs = list(new /datum/data/pda/app/request_console/magistrate) + +/obj/item/cartridge/request_console/blueshield + name = "Blueshield Request" + programs = list(new /datum/data/pda/app/request_console/blueshield) + +/obj/item/cartridge/request_console/cargo + name = "Cargo Request" + programs = list(new /datum/data/pda/app/request_console/cargo) + +/obj/item/cartridge/request_console/quartermaster + name = "QM Request" + programs = list(new /datum/data/pda/app/request_console/quartermaster) + +/obj/item/cartridge/request_console/shaftminer + name = "Shaftminer Request" + programs = list(new /datum/data/pda/app/request_console/shaftminer) + +/obj/item/cartridge/request_console/chaplain + name = "Chaplain Request" + programs = list(new /datum/data/pda/app/request_console/chaplain) + +/obj/item/cartridge/request_console/lawyer + name = "Internal Affairs Request" + programs = list(new /datum/data/pda/app/request_console/lawyer) + +/obj/item/cartridge/request_console/botanist + name = "Botanist Request" + programs = list(new /datum/data/pda/app/request_console/botanist) + +/obj/item/cartridge/request_console/roboticist + name = "Roboticist Request" + programs = list(new /datum/data/pda/app/request_console/roboticist) + +/obj/item/cartridge/request_console/chef + name = "Chef Request" + programs = list(new /datum/data/pda/app/request_console/chef) + +/obj/item/cartridge/request_console/bar + name = "Bartender Request" + programs = list(new /datum/data/pda/app/request_console/bar) + +/obj/item/cartridge/request_console/atmos + name = "Atmospherics Request" + programs = list(new /datum/data/pda/app/request_console/atmos) + +/obj/item/cartridge/request_console/chemist + name = "Chemist Request" + programs = list(new /datum/data/pda/app/request_console/chemist) + +/obj/item/cartridge/request_console/geneticist + name = "Geneticist Request" + programs = list(new /datum/data/pda/app/request_console/geneticist) + +/obj/item/cartridge/request_console/clown_security + name = "Clown Security Request" + programs = list(new /datum/data/pda/app/request_console/clown_security) + +/obj/item/cartridge/request_console/centcom + name = "Centcom Request" + programs = list(new /datum/data/pda/app/request_console/centcom) + diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index fcf50821b76..f09614ec5d3 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -100,17 +100,20 @@ GLOBAL_LIST_EMPTY(message_servers) if(RC.newmessagepriority < priority) RC.newmessagepriority = priority RC.update_icon(UPDATE_OVERLAYS) + var/rendered_message = null switch(priority) if(2) if(!RC.silent) playsound(RC.loc, 'sound/machines/twobeep.ogg', 50, 1) RC.atom_say("PRIORITY Alert in [sender]") - RC.message_log += "High Priority message from [sender]: [authmsg]" + rendered_message = "High Priority message from [sender]: [authmsg]" else if(!RC.silent) playsound(RC.loc, 'sound/machines/twobeep.ogg', 50, 1) RC.atom_say("Message from [sender]") - RC.message_log += "Message [sender]: [authmsg]" + rendered_message = "Message [sender]: [authmsg]" + if(!isnull(rendered_message)) + RC.write_to_message_log(rendered_message) /obj/machinery/message_server/attack_hand(user) // to_chat(user, "There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentComm delays.") diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index 3d44421a2cd..477e975459f 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ diff --git a/paradise.dme b/paradise.dme index 239cc358337..6a396796219 100644 --- a/paradise.dme +++ b/paradise.dme @@ -114,6 +114,7 @@ #include "code\__DEFINES\RCD.dm" #include "code\__DEFINES\reagents.dm" #include "code\__DEFINES\request.dm" +#include "code\__DEFINES\request_consoles.dm" #include "code\__DEFINES\rituals.dm" #include "code\__DEFINES\role_preferences.dm" #include "code\__DEFINES\rolebans.dm" @@ -2785,6 +2786,8 @@ #include "code\modules\pda\pda_tgui.dm" #include "code\modules\pda\pdas.dm" #include "code\modules\pda\radio.dm" +#include "code\modules\pda\request_consoles_app.dm" +#include "code\modules\pda\request_consoles_cart.dm" #include "code\modules\pda\utilities.dm" #include "code\modules\persistence\persistence.dm" #include "code\modules\point\point.dm" diff --git a/tgui/packages/tgui/interfaces/PDA.js b/tgui/packages/tgui/interfaces/PDA.js index 979e1bc44a0..1cc6b2e4343 100644 --- a/tgui/packages/tgui/interfaces/PDA.js +++ b/tgui/packages/tgui/interfaces/PDA.js @@ -75,7 +75,13 @@ export const PDA = (props, context) => { const PDAHeader = (props, context) => { const { act, data } = useBackend(context); - const { idInserted, idLink, stationTime, cartridge_name } = data; + const { + idInserted, + idLink, + stationTime, + cartridge_name, + request_cartridge_name, + } = data; return ( @@ -99,6 +105,18 @@ const PDAHeader = (props, context) => { } /> + +