diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 43425202..7effad75 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -3236,10 +3236,10 @@ "bkl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel/white,/area/science/robotics/lab) "bkm" = (/turf/open/floor/plasteel/white,/area/science/robotics/lab) "bkn" = (/obj/structure/chair/office/light{dir = 1},/turf/open/floor/plasteel/white,/area/science/robotics/lab) -"bko" = (/obj/machinery/camera{c_tag = "Robotics Lab"; network = list("ss13","rd")},/obj/machinery/button/door{id = "robotics"; name = "Shutters Control Button"; pixel_x = 6; pixel_y = 24; req_access_txt = "29"},/obj/structure/table,/obj/item/book/manual/wiki/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/reagent_containers/glass/beaker/large,/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white,/area/science/robotics/lab) +"bko" = (/obj/machinery/camera{c_tag = "Robotics Lab"; network = list("ss13","rd")},/obj/structure/table,/obj/item/book/manual/wiki/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/reagent_containers/glass/beaker/large,/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/posialert{pixel_y = 28},/turf/open/floor/plasteel/white,/area/science/robotics/lab) "bkp" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white,/area/science/robotics/lab) "bkq" = (/obj/structure/chair/stool,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white,/area/science/robotics/lab) -"bkr" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white,/area/science/robotics/lab) +"bkr" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/button/door{id = "robotics"; name = "Shutters Control Button"; pixel_x = 24; req_access_txt = "29"},/turf/open/floor/plasteel/white,/area/science/robotics/lab) "bks" = (/obj/structure/closet/emcloset,/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/white,/area/science/research) "bkt" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/turf/open/floor/plasteel/white,/area/science/research) "bku" = (/obj/machinery/camera{c_tag = "Research Division Access"},/obj/structure/sink{dir = 4; pixel_x = 11},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/white,/area/science/research) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 65868953..97d0e50d 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -106625,10 +106625,6 @@ }, /turf/open/floor/plating, /area/science/robotics/lab) -"dye" = ( -/obj/structure/sign/departments/science, -/turf/closed/wall, -/area/science/robotics/lab) "dyf" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ @@ -107644,6 +107640,9 @@ /obj/item/circuitboard/mecha/ripley/main, /obj/item/circuitboard/mecha/ripley/peripherals, /obj/effect/turf_decal/bot, +/obj/machinery/posialert{ + pixel_y = 28 + }, /turf/open/floor/plasteel, /area/science/robotics/lab) "dzJ" = ( @@ -164802,7 +164801,7 @@ dsi dtx duX dwy -dye +dyc dzI dAM dCs diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 7e44b655..9f546217 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -69052,6 +69052,9 @@ network = list("ss13","rd") }, /obj/effect/turf_decal/delivery, +/obj/machinery/posialert{ + pixel_y = 28 + }, /turf/open/floor/plasteel, /area/science/robotics/lab) "cDg" = ( diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index cf67fc0a..a21a5039 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -2531,7 +2531,7 @@ "aZX" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/oil,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/mechbay) "baa" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/robotics/lab) "bab" = (/obj/structure/rack,/obj/item/storage/toolbox/mechanical{pixel_x = -3; pixel_y = 3},/obj/item/storage/toolbox/electrical,/obj/item/screwdriver{pixel_y = 5},/obj/item/multitool,/obj/item/clothing/head/welding,/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/camera{c_tag = "Robotics Lab"; dir = 2; network = list("ss13","rd")},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab) -"bad" = (/obj/structure/rack,/obj/item/book/manual/wiki/robotics_cyborgs,/obj/item/storage/belt/utility/full,/obj/item/circuitboard/mecha/ripley/main,/obj/item/circuitboard/mecha/ripley/peripherals,/obj/machinery/light{dir = 1},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab) +"bad" = (/obj/structure/rack,/obj/item/book/manual/wiki/robotics_cyborgs,/obj/item/storage/belt/utility/full,/obj/item/circuitboard/mecha/ripley/main,/obj/item/circuitboard/mecha/ripley/peripherals,/obj/machinery/light{dir = 1},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/posialert{pixel_y = 28},/turf/open/floor/plasteel/dark,/area/science/robotics/lab) "baf" = (/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/glass/fifty,/obj/structure/table/reinforced,/obj/item/stack/cable_coil/white,/obj/item/stack/cable_coil/white,/obj/item/assembly/flash/handheld,/obj/item/assembly/flash/handheld,/obj/item/assembly/flash/handheld,/obj/item/assembly/flash/handheld,/obj/item/assembly/flash/handheld,/obj/item/assembly/flash/handheld,/obj/machinery/newscaster{pixel_y = 32},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab) "bag" = (/obj/item/paper_bin,/obj/item/assembly/prox_sensor{pixel_x = 5; pixel_y = 7},/obj/item/assembly/prox_sensor{pixel_x = 5; pixel_y = 7},/obj/item/assembly/prox_sensor{pixel_x = 5; pixel_y = 7},/obj/structure/table/reinforced,/obj/machinery/requests_console{department = "Robotics Lab"; departmentType = 0; name = "Robotics RC"; pixel_y = 32; receive_ore_updates = 1},/obj/machinery/light_switch{pixel_x = 24},/obj/effect/turf_decal/bot,/obj/item/clothing/glasses/welding,/obj/item/wrench,/obj/item/stack/sheet/plasteel{amount = 15},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab) "bah" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/closed/wall/r_wall,/area/science/robotics/lab) diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index cfe7d719..7ca65bf8 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -2941,7 +2941,7 @@ "blI" = (/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30; receive_ore_updates = 1},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/science/robotics/lab) "blJ" = (/obj/structure/disposalpipe/sorting/mail/flip{dir = 2; sortType = 14},/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/science/robotics/lab) "blK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Robotics Lab APC"; pixel_y = 25},/obj/structure/cable{icon_state = "0-8"},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/science/robotics/lab) -"blL" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab) +"blL" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/posialert{pixel_y = 28},/turf/open/floor/plasteel/dark,/area/science/robotics/lab) "blM" = (/obj/machinery/rnd/server,/obj/structure/sign/poster/random{pixel_y = 32},/turf/open/floor/circuit/telecomms/server,/area/science/server) "blN" = (/obj/machinery/light{dir = 1; light_color = "#c1caff"},/obj/structure/sign/poster/random{pixel_y = 32},/turf/open/floor/plasteel/dark/telecomms,/area/science/server) "blP" = (/obj/effect/landmark/event_spawn,/obj/item/beacon,/obj/machinery/light{dir = 8},/turf/open/floor/engine,/area/science/explab) diff --git a/code/game/machinery/posi_alert.dm b/code/game/machinery/posi_alert.dm new file mode 100644 index 00000000..24186a7e --- /dev/null +++ b/code/game/machinery/posi_alert.dm @@ -0,0 +1,44 @@ +/obj/machinery/posialert + name = "automated positronic alert console" + desc = "A console that will ping when a positronic personality is available for download." + icon = 'icons/obj/machines/terminals.dmi' + icon_state = "posialert" + var/inuse = FALSE + var/online = TRUE + + var/obj/item/radio/radio + var/radio_key = /obj/item/encryptionkey/headset_sci + var/science_channel = "Science" + +/obj/machinery/posialert/Initialize() + . = ..() + radio = new(src) + radio.keyslot = new radio_key + radio.listening = 0 + radio.recalculateChannels() + +/obj/machinery/posialert/Destroy() + QDEL_NULL(radio) + return ..() + + +/obj/machinery/posialert/attack_hand(mob/living/user) + online = !online + to_chat(user, "You turn the posi-alert system [online ? "on" : "off"]!") + return + +/obj/machinery/posialert/attack_ghost(mob/user) + . = ..() + if(!online) + return + if(inuse) + return + inuse = TRUE + flick("posialertflash",src) + visible_message("There are positronic personalities available!", runechat_popup = TRUE) + radio.talk_into(src, "There are positronic personalities available!", science_channel) + playsound(loc, 'sound/machines/ping.ogg', 50) + addtimer(CALLBACK(src, .proc/liftcooldown), 300) + +/obj/machinery/posialert/proc/liftcooldown() + inuse = FALSE diff --git a/icons/obj/machines/terminals.dmi b/icons/obj/machines/terminals.dmi new file mode 100644 index 00000000..e504b35a Binary files /dev/null and b/icons/obj/machines/terminals.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 84bb7fde..8db13612 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -608,6 +608,7 @@ #include "code\game\machinery\navbeacon.dm" #include "code\game\machinery\newscaster.dm" #include "code\game\machinery\PDApainter.dm" +#include "code\game\machinery\posi_alert.dm" #include "code\game\machinery\quantum_pad.dm" #include "code\game\machinery\recharger.dm" #include "code\game\machinery\rechargestation.dm"