diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index b802e2e2..5019358f 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -1969,6 +1969,7 @@ "aLS" = (/obj/structure/table/wood,/obj/item/instrument/saxophone,/turf/open/floor/carpet,/area/crew_quarters/theatre) "aLT" = (/obj/structure/chair/stool{pixel_y = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/wood,/area/crew_quarters/theatre) "aLU" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/showroomfloor,/area/crew_quarters/kitchen) +"aLV" = (/obj/item/book/manual/wiki/security_space_law{step_x = -16; step_y = -16},/obj/structure/table/wood,/obj/machinery/emergencybutton{step_y = 8},/turf/open/floor/carpet,/area/bridge/meeting_room) "aLW" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plating,/area/maintenance/starboard/fore) "aLX" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 5},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/open/floor/plasteel,/area/hallway/primary/central) "aLY" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 24},/turf/open/floor/plasteel/freezer,/area/crew_quarters/toilet) @@ -2845,7 +2846,7 @@ "bcL" = (/obj/item/hand_labeler,/obj/item/assembly/timer,/obj/structure/table,/turf/open/floor/wood,/area/bridge/meeting_room) "bcM" = (/obj/structure/chair/comfy/black{dir = 4},/turf/open/floor/carpet,/area/bridge/meeting_room) "bcN" = (/obj/structure/table/wood,/obj/item/radio/intercom{dir = 8; freerange = 1; name = "Station Intercom (Command)"},/turf/open/floor/carpet,/area/bridge/meeting_room) -"bcO" = (/obj/item/book/manual/wiki/security_space_law,/obj/structure/table/wood,/turf/open/floor/carpet,/area/bridge/meeting_room) +"bcO" = (/obj/item/paper_bin,/obj/item/pen,/obj/structure/table/wood,/turf/open/floor/carpet,/area/bridge/meeting_room) "bcP" = (/obj/structure/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/carpet,/area/bridge/meeting_room) "bcQ" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/wood,/area/bridge/meeting_room) "bcR" = (/obj/machinery/vending/cola/random,/turf/open/floor/wood,/area/bridge/meeting_room) @@ -2892,7 +2893,6 @@ "bdG" = (/obj/structure/disposalpipe/segment,/turf/closed/wall,/area/security/detectives_office) "bdH" = (/obj/item/twohanded/required/kirbyplants{icon_state = "plant-21"; pixel_x = -3; pixel_y = 3},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/white/corner{dir = 1},/area/hallway/primary/starboard) "bdI" = (/obj/item/storage/fancy/donut_box,/obj/structure/table,/turf/open/floor/wood,/area/bridge/meeting_room) -"bdJ" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen,/obj/structure/table/wood,/turf/open/floor/carpet,/area/bridge/meeting_room) "bdK" = (/obj/item/folder/blue,/obj/structure/table/wood,/turf/open/floor/carpet,/area/bridge/meeting_room) "bdL" = (/obj/structure/table,/obj/item/aiModule/core/full/asimov,/obj/item/aiModule/core/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access_txt = "20"},/obj/structure/window/reinforced,/obj/effect/spawner/lootdrop/aimodule_harmless,/obj/effect/spawner/lootdrop/aimodule_neutral,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/aiModule/core/full/custom,/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/ai_upload) "bdM" = (/obj/machinery/light,/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/ai_upload) @@ -7348,8 +7348,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaR aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUayUayUayWaYOaYPaYQaYRaYSaYSaYSaYSaYTaUuaTcaYUaYVaVLaXpbDvaEFcHBaYZaXpcHCbawaZbaPlaZdaZeaXxbnSaPlaZhaZiaZjaZkaZjaZlaZmaZnaWdaZoaZpaZpaZqaZraZsaZtaWdbbYaLzbnVaZvaZvaZvaZvaZvaZvaZwaZxaZyaXXaXZaZzaZAaZAbeDaZAaZAaZCaYbaYeaZDaZEaZFaZDaZDaZDaZDaZDaZDbFoaIPbjDcuTcuNcxfbgUcxgcuVcxfbhSbiBbiDbiEbiJaJdbfubfuaJiaJiaJiaZSaYlaZTaZTaJiaJiaJiaZUaRwaRwaZVaZWaZXaZYaZWaHTaZZbaababaFbbacbadbaeaVwaNCbafaUkaVwbvhaCwbahaFfbaiaREaREbaiaFfbajaCwbakbalbXwbXubXxcaXcbYbfWaQhaQichSaMzaMzaMzaMzaMzaMzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUcEAayWbaoaTcaUwaVFbsatISbapaUwbaqaUwaTcbarbasbataXpaXpaXpcHDcHEaXpaZbaZbaZbaPlaZdaZeaXxbnSaPlaZhaZibaxbayaZjbazaZmaZnaWdbaAaZpaZpaZGbaBaZpbaDbbxbbVaIPbbZaZvbaFbaGbaHbaIbaJbcebaLbaMbaNbaOaZAaZAbaPbaQbaPaZAaZAbaRbaSbaCbaTbaUbaXbaYbbzbaVmAxaZDbjoaIPbjDcuTcuTcuTcuTaJdaJdaJdcuTcuTcuTaJdgIpaJdcuOcuSaJibwobdZbpBbpBbpBbpBbcfbdHaJiaZWbbgbbgaZWbembembembemaHTaZZbaababaFbaFbaFbbbhaFbbbhaFbbbhaFbaFbaCwaCwbbibbibbibbibbibbiaCwaCwbbjaQjcdhcdicdtcdvcepceraQhaQicEbcfraRkaRkaRkaRkbofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXDaGRauSauSayUayUayUayUauSayUayUayUayUayUayUayUayUauSauSauSayWaxBaTcaTcaTdaTcaTcaTcaTcaTeaTcaTcbbmbbnbboaXpbDvcIecHFbbqaXpbbrbbsbbraPlaZdaZeaXxbnSaPlbbtaZiaZjbbubbvbbwaZmaZnbjqaZsbbybaZbbabbAaZpwSTbbCbbVaIPbbZbbDbbEbaJbbFbbGbbGbbHbbIbbJbaNbbKaZAaZAbaPbbLbaPaZAaZAbbMbaSbbBbbNbpdaXWbbSaYabaWbbOaZDbjobbUaIPaLPbembembembecbGkbehbembembembeibembembembembeobaabaabaabaabaabaabaabaabehbembembembembaabaabaabcabepbccbcdbaabesbembembembembembembembembekbeobfObembembembembembembbWcEyceraQjciHciIaYKbfHaYKcEzaYLaQiaOXaMzaMzaMzaMzaMzaRIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJjXDbanauSaPcaQqcEEayUawiawhawiawiawiawiawiawiawiawiawhawicEFcbbaxDbcmbcnbcobcpbcpbcpbcqbcrbcsaPjbctbcubcvaXpaXpaXpaXpaXpaXpaPlaPlaPlaPlaZdaZebdybqraPlaZhaZiaZjbcAbcBbcCbcDbcEbcFbcGbcGbcGbcHbcIaZsbcJaWdaQUaNhbbZbcKbcLbaJbcMbcNbcObcPbcQbcRbaNbcSbaPaZAbcTbcUbcTaZAbaPaZCbaSbbPbbNbpdaXWbdVaYabaWmAxaZDbjraIPaIPaIPbaabaabaabaabHGbbWbaabaabaabaabcYbaabaabaabaabaabcZaYzaYzaYzaYzaYzaYzbmtaYzbnPbaabaabaabaabdbbdcbddbdebdfbdfbdfbdgbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdhbdicEBbdkbdkbdlcDTcDUaXaaXacECcDVcDWcEbcDXaRkaRkcDYaRkcDZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaayUaBdvKOaxBcEIbdqaxAaXbaxAazaaxBaxBbdqaxAaXbaxAazaaxBaxBaxBbdrbdsbdrbdrbdrbdrbdtbduaPjaPjaPjbdvaVLaPjcHGcHHcHLcHPaPjbfRbhTbhUaPlaPlaPlbdAbdBaPlaZhaZibdCbdDbdEbdFaZmbdzaWdaWdaWdaWdaWdaWdaWdbdGaWdbfPaIPbbZbcKbdIbaJbcMbdJbdKbcPbcQaBrbaNbdLbdMaZAbdNbdObdPaZAbdQbdRbaSaBtbbTbcVbdWbdXbjdbaWbdSaZDbjobeaaIPbedbgBbgBbgBbiicEabjtbgBbgBbgBbqsbefbeebeebjubgBbgBbgBbgBbgBbjvbqRbgBbgBbjtbstbsubjxbgBbgDbsvbjybenbjzbjAbeqbeqbeqbaabgBbgDbjBbgBbgBbaabaabaabaabaabaabaabaabaabaabaabbWcEGcEHbevcEcbfUcEdcEdcEdcEdcEJcfqcnWaMzaMzaMzaMzaMzaMzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJjXDbanauSaPcaQqcEEayUawiawhawiawiawiawiawiawiawiawiawhawicEFcbbaxDbcmbcnbcobcpbcpbcpbcqbcrbcsaPjbctbcubcvaXpaXpaXpaXpaXpaXpaPlaPlaPlaPlaZdaZebdybqraPlaZhaZiaZjbcAbcBbcCbcDbcEbcFbcGbcGbcGbcHbcIaZsbcJaWdaQUaNhbbZbcKbcLbaJbcMbcNaLVbcPbcQbcRbaNbcSbaPaZAbcTbcUbcTaZAbaPaZCbaSbbPbbNbpdaXWbdVaYabaWmAxaZDbjraIPaIPaIPbaabaabaabaabHGbbWbaabaabaabaabcYbaabaabaabaabaabcZaYzaYzaYzaYzaYzaYzbmtaYzbnPbaabaabaabaabdbbdcbddbdebdfbdfbdfbdgbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdfbdhbdicEBbdkbdkbdlcDTcDUaXaaXacECcDVcDWcEbcDXaRkaRkcDYaRkcDZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaayUaBdvKOaxBcEIbdqaxAaXbaxAazaaxBaxBbdqaxAaXbaxAazaaxBaxBaxBbdrbdsbdrbdrbdrbdrbdtbduaPjaPjaPjbdvaVLaPjcHGcHHcHLcHPaPjbfRbhTbhUaPlaPlaPlbdAbdBaPlaZhaZibdCbdDbdEbdFaZmbdzaWdaWdaWdaWdaWdaWdaWdbdGaWdbfPaIPbbZbcKbdIbaJbcMbcObdKbcPbcQaBrbaNbdLbdMaZAbdNbdObdPaZAbdQbdRbaSaBtbbTbcVbdWbdXbjdbaWbdSaZDbjobeaaIPbedbgBbgBbgBbiicEabjtbgBbgBbgBbqsbefbeebeebjubgBbgBbgBbgBbgBbjvbqRbgBbgBbjtbstbsubjxbgBbgDbsvbjybenbjzbjAbeqbeqbeqbaabgBbgDbjBbgBbgBbaabaabaabaabaabaabaabaabaabaabaabbWcEGcEHbevcEcbfUcEdcEdcEdcEdcEJcfqcnWaMzaMzaMzaMzaMzaMzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJaaebanauSayYaxAcELayUcEMayUbhaayUayWaxBaxBayXayUbhJayUayYbezbeAbeAbdrbeBbeCbCYbeEbeFbdtbeGbeHbeIbeIbeJbeKaPjcHQcHRcHScHTcHUbeObeObeOcHVcHWbeObePbeQbeObeRaZibeSbeTaZjbnUaZmaPjbeVbeWbeXbeXbeXbeXbeYbeZbeVbjCaIPbbZaZvbaJbfbbfcbfdbfebffbcQbfgbfhaXYbfibfjbfkbfkbfkbflbfmaYdbfnaCRbdUbdYbpxbfobjdbaWbfpaZDbjoaIPbjDbfvbfvbfvbfvbfvbfvbfvbfwbfxbfxbfxbuibvqbvqbfwbjEbjEbjEberberberberberbfBbfBbfBbfCbfBbfBbfBbfBbiCbfGbjWblobfJbfJbfJbfKbfLbfLbfLbfLbfLbwFbjFbjFbjFbjGbjFbjHbjIbjFbjFbxCbfSbfSbfSbfScEDcEicEjcEKcEKcEjaMycEkcEkaMzatJatJatJatJatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXDbclauSauSayUayUdQjayUaAbaRJayUaAcaAdbfXbfYayUaRJaAbayUauSaAaauSbdrbfZbgabgabgabgbbgcbgdbgebcnbhWbhXbggaPjcIfcHYcHZcIaaPjbgjaRTaRTbgkbglbgmbgnbgmbgmcIgbgpbgqaZkbgrbgsaZmbeUbgtbgubeVbgvbgwbgxbgyaPNbgAbjJbgCbjKaZvbgEaZybgFbgGbgHbgIaXNaXObGObfrbbQbdTbfqbfsaCUaFAaFBbEhbNLbftaZBbikbpPbftbARbaWbgNaZDbjoaIPbjObfvbjPbgVbgWbgXbgYbfvbhfbjQbjQbjQbhbbhcbhcbhdbhebjRbhgbfDbfEbfFbhhberbhlbhibhjbhkbhibhmbhnbfBbiCbhobhpbhqbhrbhsbhtbhubhvbhwbhxbjSbfLbhzbhAbhzbfLbhBbhCbhBbfSbhDbhEbhDbfSbhFbhGbfSbkzcEicElcEmcEnaSZaMyaMzaMzaMzaaaaaaatJaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadayUcENayUayUayUayUayUayUcFvayUaadaadaadaaabdrbhLbdrbhMbgabhNbhObdraRTbuhaPjbwAbwBcIbcIbcIbcIbcIccIbbiIbiIbiIbzFbzGbhYbhYbhYbhYbhYbhYaZmbhZaZiaZmaZmbeVbiabibbicbidbiebifbiebigcWYbjCaIPbjTaZvbijaZyaZyaZyaZybgIbcQcGCaZvcGDaAxaAxaAyaHcaAzaAxaAxcGDaZDbgObbNbgPbgQbaWbjdbaWbaWaZDbjoaIPbjDbfvbirbisbitbitbiubivbhcbiwbhcbhcbhbbqobhcbhcbhcbhcbixbfDbjXbjYbjZberbkabhibhibkbbkabkcbhibfBbkdbkebjWbkfbkgbkhbkibkjbkkbklbkmbknbkobkpbkqbkrbfLbksbktbkubfSbgRbgSbgRbiobgRbgRbfSbkzcEiaMyaMyaMyaMyaMyaaaatJaaeaaaaaaatJaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index b592fdfc..86595e86 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -42749,8 +42749,9 @@ /area/bridge) "bCH" = ( /obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/lighter, +/obj/machinery/emergencybutton{ + pixel_y = 8 + }, /turf/open/floor/carpet, /area/bridge) "bCI" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index b345d475..6865fd60 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -11358,7 +11358,9 @@ /area/bridge) "avX" = ( /obj/structure/table/glass, -/obj/item/storage/toolbox/emergency, +/obj/machinery/emergencybutton{ + pixel_y = 8 + }, /turf/open/floor/plasteel/dark, /area/bridge) "avY" = ( @@ -11368,9 +11370,7 @@ /area/bridge) "avZ" = ( /obj/structure/table/glass, -/obj/item/restraints/handcuffs, -/obj/item/assembly/flash/handheld, -/obj/item/laser_pointer/blue, +/obj/item/storage/toolbox/emergency, /turf/open/floor/plasteel/dark, /area/bridge) "awa" = ( diff --git a/code/game/machinery/emergency_button.dm b/code/game/machinery/emergency_button.dm new file mode 100644 index 00000000..ea2d340e --- /dev/null +++ b/code/game/machinery/emergency_button.dm @@ -0,0 +1,63 @@ +/obj/machinery/emergencybutton + name = "Emergency Meeting Button" + desc = "A remote control button to call the Heads of Staff to an urgent meeting. Three uses only, be wise!" + icon = 'icons/obj/assemblies.dmi' + icon_state = "bigred" //for now uses the big red button icon, but preferably should be changed to two icon states, one with a glass cover and one without. need someone to sprite it for me + power_channel = ENVIRON + armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 70) + use_power = IDLE_POWER_USE + idle_power_usage = 2 + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + anchored = TRUE + var/broadcasting_emergency = 3 + var/obj/item/radio/radio + var/radio_key = /obj/item/encryptionkey/headset_com + var/command_channel = "Command" + var/common_channel = null + var/speaking = null + var/nextuse = 0 + +/obj/machinery/emergencybutton/attack_hand(mob/user) + . = ..() + if(.) + return + broadcast() + +/obj/machinery/emergencybutton/proc/broadcast() + if(!broadcasting_emergency) + return + if(world.time < nextuse) + return + speaking = "Calling all Heads of Staff or any current station leadership to the Staff Briefing Room due to emergent issues." + radio.talk_into(src, speaking, "Command") + nextuse = world.time + 5 MINUTES + broadcasting_emergency-- + +/obj/machinery/emergencybutton/emag_act(mob/user) + if(obj_flags & EMAGGED) + return + req_access = list() + req_one_access = list() + playsound(src, "sparks", 100, 1) + for(var/mob/M in GLOB.player_list) + SEND_SOUND(M, sound('sound/effects/emergency.ogg')) + obj_flags |= EMAGGED + speaking = "$%()$ยท)(CALLING ALL CREW TO THE BRIEFING ROOM DUE TO SUSPICIOUS ACTIVITY. THIS IS MANDATORY." + radio.talk_into(src, speaking, common_channel) + addtimer(CALLBACK(src, .proc/teleport_crew), 10 SECONDS) + +/obj/machinery/emergencybutton/proc/teleport_crew() + for(var/mob/living/carbon/human/H in GLOB.alive_mob_list) + if(H.z != z) + continue + if(H.stat == DEAD) + continue + do_teleport(H, get_turf(src), 2, TRUE) + H.Stun(300) //30 seconds of sus time + +/obj/machinery/emergencybutton/Initialize() + . = ..() + radio = new(src) + radio.keyslot = new radio_key + radio.listening = 0 + radio.recalculateChannels() diff --git a/sound/effects/emergency.ogg b/sound/effects/emergency.ogg new file mode 100644 index 00000000..e6bf0b72 Binary files /dev/null and b/sound/effects/emergency.ogg differ diff --git a/tgstation.dme b/tgstation.dme index 9ea813c0..9cfb1bff 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -613,6 +613,7 @@ #include "code\game\machinery\dna_scanner.dm" #include "code\game\machinery\doppler_array.dm" #include "code\game\machinery\droneDispenser.dm" +#include "code\game\machinery\emergency_button.dm" #include "code\game\machinery\exp_cloner.dm" #include "code\game\machinery\firealarm.dm" #include "code\game\machinery\flasher.dm"