From 93651538d39e84f4ba714cfef9c31b292260f8bb Mon Sep 17 00:00:00 2001 From: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Date: Tue, 17 Jun 2025 17:45:19 +0100 Subject: [PATCH] Update flayer_stealth_powers.dm (#29561) --- .../powers/flayer_stealth_powers.dm | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm index f3d76cf1e2f..17729bd810e 100644 --- a/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm +++ b/code/modules/antagonists/mind_flayer/powers/flayer_stealth_powers.dm @@ -187,27 +187,35 @@ color = COLOR_BLACK flags = ABSTRACT | DROPDEL w_class = WEIGHT_CLASS_HUGE + new_attack_chain = TRUE var/conversion_time = 7 SECONDS -/obj/item/melee/swarm_hand/afterattack__legacy__attackchain(atom/target, mob/living/user, proximity_flag, click_parameters) - . = ..() - if(!isrobot(target)) - return - var/mob/living/silicon/robot/borg = target - target.visible_message( - "[user] puts [user.p_their()] hands on [target] and begins transferring energy!", +/obj/item/melee/swarm_hand/pre_attack(atom/A, mob/living/user, params) + if(..()) + return FINISH_ATTACK + + if(!isrobot(A)) + to_chat(user, "[src] will have no effect against this target!") + return FINISH_ATTACK + + var/mob/living/silicon/robot/borg = A + borg.visible_message( + "[user] puts [user.p_their()] hands on [borg] and begins transferring energy!", "[user] puts [user.p_their()] hands on you and begins transferring energy!") if(borg.emagged || !borg.is_emaggable) to_chat(user, "Your override attempt fails before it can even begin.") qdel(src) - return + return FINISH_ATTACK + if(!do_mob(user, borg, conversion_time, hidden = TRUE)) to_chat(user, "Your concentration breaks.") qdel(src) - return + return FINISH_ATTACK + to_chat(user, "The mass of swarms vanish into the cyborg's internals. Success.") INVOKE_ASYNC(src, PROC_REF(emag_borg), borg, user) qdel(src) + return FINISH_ATTACK /obj/item/melee/swarm_hand/proc/emag_borg(mob/living/silicon/robot/borg, mob/living/user) if(QDELETED(borg) || QDELETED(user))