From bb74ba03f7e4b1e75fea9fbb605e2ab8bc177f4f Mon Sep 17 00:00:00 2001 From: warriorstar-orion Date: Fri, 6 Dec 2024 08:10:38 -0500 Subject: [PATCH] Fix attacked_by being called after handled attacks (#27542) --- code/_onclick/item_attack.dm | 2 ++ code/_onclick/item_attack_legacy.dm | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index f747f58d2dd..7dd43c5d0d8 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -163,6 +163,8 @@ user.do_attack_animation(target) add_fingerprint(user) + return TRUE + /// The equivalent of the standard version of [/obj/item/proc/attack] but for non mob targets. /obj/item/proc/attack_obj(obj/attacked_obj, mob/living/user, params) var/signal_return = SEND_SIGNAL(src, COMSIG_ATTACK_OBJ, attacked_obj, user) | SEND_SIGNAL(user, COMSIG_ATTACK_OBJ_LIVING, attacked_obj) diff --git a/code/_onclick/item_attack_legacy.dm b/code/_onclick/item_attack_legacy.dm index 828925008da..8d820be143b 100644 --- a/code/_onclick/item_attack_legacy.dm +++ b/code/_onclick/item_attack_legacy.dm @@ -25,10 +25,11 @@ SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK, M, user) - . = __attack_core(M, user) + if(!__attack_core(M, user)) + return if(!M.new_attack_chain) - M.attacked_by__legacy__attackchain(src, user, def_zone) + return M.attacked_by__legacy__attackchain(src, user, def_zone) /** * Called when `user` attacks us with item `W`.