From ce060435f40ea96bbfb6a704a98e621c1d304cee Mon Sep 17 00:00:00 2001 From: matttheficus <57759731+matttheficus@users.noreply.github.com> Date: Wed, 23 Aug 2023 22:00:15 -0400 Subject: [PATCH] Fixes Emagged Borgs Not Having Instant Bolt/Shock (#22084) * borg moment * proc added * steel review --- code/_onclick/ai_onclick.dm | 5 ++--- code/modules/mob/living/silicon/robot/robot_mob.dm | 5 +++++ code/modules/mob/living/silicon/silicon_mob.dm | 5 +++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/code/_onclick/ai_onclick.dm b/code/_onclick/ai_onclick.dm index 053b13a8b68..3858eef5665 100644 --- a/code/_onclick/ai_onclick.dm +++ b/code/_onclick/ai_onclick.dm @@ -204,10 +204,9 @@ open_close(user) /obj/machinery/door/airlock/AICtrlClick(mob/living/silicon/user) // Bolts doors - if(!ai_control_check(user)) return - if(isAntag(user) || do_after(user, 3 SECONDS, target = src, allow_moving = TRUE)) + if(user.can_instant_lockdown() || do_after(user, 3 SECONDS, target = src, allow_moving = TRUE)) toggle_bolt(user) @@ -219,7 +218,7 @@ if(isElectrified()) electrify(0, user, TRUE) // un-shock else - if(isAntag(user) || do_after(user, 3 SECONDS, target = src, allow_moving = TRUE)) + if(user.can_instant_lockdown() || do_after(user, 3 SECONDS, target = src, allow_moving = TRUE)) electrify(-1, user, TRUE) // permanent shock + audio cue playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) diff --git a/code/modules/mob/living/silicon/robot/robot_mob.dm b/code/modules/mob/living/silicon/robot/robot_mob.dm index eb99ad814e2..9839a3c9caf 100644 --- a/code/modules/mob/living/silicon/robot/robot_mob.dm +++ b/code/modules/mob/living/silicon/robot/robot_mob.dm @@ -1596,3 +1596,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0) else to_chat(src, "You can only use this emote when you're out of charge.") + +/mob/living/silicon/robot/can_instant_lockdown() + if(emagged || faction_check_mob(src, "syndicate")) + return TRUE + return FALSE diff --git a/code/modules/mob/living/silicon/silicon_mob.dm b/code/modules/mob/living/silicon/silicon_mob.dm index 43f99c93361..07dac88922d 100644 --- a/code/modules/mob/living/silicon/silicon_mob.dm +++ b/code/modules/mob/living/silicon/silicon_mob.dm @@ -78,6 +78,11 @@ QDEL_NULL(aiCamera) return ..() +/mob/living/silicon/proc/can_instant_lockdown() + if(isAntag(src)) + return TRUE + return FALSE + /mob/living/silicon/proc/get_radio() return