diff --git a/code/game/machinery/computer/depot.dm b/code/game/machinery/computer/depot.dm index 6bd5eadc822..9509db6a9e6 100644 --- a/code/game/machinery/computer/depot.dm +++ b/code/game/machinery/computer/depot.dm @@ -138,6 +138,7 @@ if(depotarea) depotarea.toggle_door_locks(src) to_chat(user, "Door locks toggled.") + playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/doors/secondary(mob/user, subcommand) if(..()) @@ -145,6 +146,7 @@ if(depotarea) depotarea.toggle_falsewalls(src) to_chat(user, "False walls toggled.") + playsound(user, sound_yes, 50, 0) // Engineering AKA self destruct computer, no useful functions, just a trap for the people who can't resist pushing dangerous-sounding buttons. @@ -285,6 +287,7 @@ to_chat(user, "[src] requires authentication with syndicate codewords, which you do not know.") raise_alert("Detected unauthorized access by [user] to [src]!") updateUsrDialog() + playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/syndiecomms/secondary(mob/user, subcommand) if(..()) @@ -319,6 +322,7 @@ else to_chat(user, "ERROR: [src] is unable to uplink to depot network.") updateUsrDialog() + playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/syndiecomms/proc/grant_syndie_faction(mob/user) user.faction += "syndicate" @@ -432,6 +436,7 @@ var/bresult = mybeacon.toggle() to_chat(user, "Syndicate Teleporter Beacon: [bresult ? "ON" : "OFF"]") updateUsrDialog() + playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/teleporter/secondary(mob/user) if(..()) @@ -444,6 +449,7 @@ toggle_portal() to_chat(user, "Outgoing Teleport Portal: [portal_enabled ? "ON" : "OFF"]") updateUsrDialog() + playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/teleporter/proc/toggle_portal() portal_enabled = !portal_enabled @@ -507,6 +513,7 @@ if(depotarea) depotarea.reset_alert() to_chat(user, "Alert level reset.") + playsound(user, sound_yes, 50, 0) /obj/machinery/computer/syndicate_depot/aiterminal/secondary(mob/user) if(..()) @@ -516,4 +523,5 @@ new /obj/effect/portal(get_turf(B)) to_chat(user, "[B] has been recalled.") qdel(B) - raise_alert("Sentry bot removed via emergency recall.") \ No newline at end of file + raise_alert("Sentry bot removed via emergency recall.") + playsound(user, sound_yes, 50, 0) \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/secure/depot.dm b/code/game/objects/structures/crates_lockers/closets/secure/depot.dm index 1d52dbcdf1b..f3cf8d67c13 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/depot.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/depot.dm @@ -6,6 +6,7 @@ anchored = 1 health = 200 req_access = list() + var/ignore_use = FALSE /obj/structure/closet/secure_closet/syndicate/depot/New() @@ -26,9 +27,10 @@ . = ..() /obj/structure/closet/secure_closet/syndicate/depot/proc/loot_pickup() - var/area/syndicate_depot/core/depotarea = areaMaster - if(depotarea) - depotarea.locker_looted() + if(!ignore_use) + var/area/syndicate_depot/core/depotarea = areaMaster + if(depotarea) + depotarea.locker_looted() /obj/structure/closet/secure_closet/syndicate/depot/attack_animal(mob/M) if(isanimal(M) && "syndicate" in M.faction) @@ -42,4 +44,10 @@ /obj/structure/closet/secure_closet/syndicate/depot/togglelock(mob/user) . = ..() if(!locked) - loot_pickup() \ No newline at end of file + loot_pickup() + +/obj/structure/closet/secure_closet/syndicate/depot/attack_ghost(mob/user) + if(user.can_advanced_admin_interact()) + ignore_use = TRUE + toggle(user) + ignore_use = FALSE \ No newline at end of file diff --git a/code/modules/events/grid_check.dm b/code/modules/events/grid_check.dm index 9ca4e878050..fab719946d7 100644 --- a/code/modules/events/grid_check.dm +++ b/code/modules/events/grid_check.dm @@ -17,8 +17,8 @@ if(announce) event_announcement.Announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Critical Power Failure", new_sound = 'sound/AI/poweroff.ogg') - var/list/skipped_areas = list(/area/turret_protected/ai, /area/syndicate_depot) - var/list/skipped_areas_apc = list(/area/engine/engineering, /area/syndicate_depot) + var/list/skipped_areas = list(/area/turret_protected/ai, /area/syndicate_depot/core, /area/syndicate_depot/outer) + var/list/skipped_areas_apc = list(/area/engine/engineering, /area/syndicate_depot/core, /area/syndicate_depot/outer) for(var/obj/machinery/power/smes/S in machines) var/area/current_area = get_area(S) @@ -41,8 +41,8 @@ C.cell.charge = 0 /proc/power_restore(var/announce = 1) - var/list/skipped_areas = list(/area/turret_protected/ai, /area/syndicate_depot) - var/list/skipped_areas_apc = list(/area/engine/engineering, /area/syndicate_depot) + var/list/skipped_areas = list(/area/turret_protected/ai, /area/syndicate_depot/core, /area/syndicate_depot/outer) + var/list/skipped_areas_apc = list(/area/engine/engineering, /area/syndicate_depot/core, /area/syndicate_depot/outer) if(announce) event_announcement.Announce("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal", new_sound = 'sound/AI/poweron.ogg') diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 894c039b3f4..9d728977556 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -134,6 +134,14 @@ if(scan_cycles >= 15 && istype(depotarea)) scan_cycles = 0 if(!atoms_share_level(src, spawn_turf)) + if(istype(loc, /obj/structure/closet)) + var/obj/structure/closet/O = loc + forceMove(get_turf(src)) + visible_message("[src] smashes their way out of [O]!") + qdel(O) + raise_alert("[src] reported being trapped in a locker.") + raised_alert = FALSE + return if(alert_on_spacing) raise_alert("[src] lost in space.") death()