diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 71af88ea6d5..e0571e7101e 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -905,16 +905,23 @@ DEFINE_BITFIELD(turret_flags, list( if (issilicon(user)) return attack_hand(user) - if ( get_dist(src, user) == 0 ) // trying to unlock the interface - if (allowed(usr)) - if(obj_flags & EMAGGED) - to_chat(user, "The turret control is unresponsive!") - return +// SinguloStation edit + togglelock(user) // trying to unlock the interface - locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.") - else - to_chat(user, "Access denied.") +/obj/machinery/turretid/proc/togglelock(mob/user) + if (allowed(user)) + if(obj_flags & EMAGGED) + to_chat(user, "The turret control is unresponsive.") + return + locked = !locked + to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.") + else + to_chat(user, "Access denied.") + +/obj/machinery/turretid/AltClick(mob/user) + if(stat & BROKEN) + return + togglelock(user) /obj/machinery/turretid/emag_act(mob/user) if(obj_flags & EMAGGED)