From baafa9edeaaec1bdb6dbe40eb093ec07ec66d48f Mon Sep 17 00:00:00 2001 From: Drulikar Date: Sat, 13 Jun 2026 23:15:10 -0500 Subject: [PATCH 1/2] comp_lookup is a lazy list; also this is yucky --- code/modules/projectiles/gun.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 61a0a23525f5..f14a0b4b6c62 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -2191,7 +2191,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed /obj/item/weapon/gun/proc/set_gun_user(mob/to_set) if(to_set == gun_user) - if(!(comp_lookup[COMSIG_MOB_MOUSEDOWN]) && to_set) + if(gun_user && !(LAZYACCESS(comp_lookup, COMSIG_MOB_MOUSEDOWN))) RegisterSignal(gun_user, COMSIG_MOB_MOUSEDOWN, PROC_REF(start_fire)) RegisterSignal(gun_user, COMSIG_MOB_MOUSEDRAG, PROC_REF(change_target)) RegisterSignal(gun_user, COMSIG_MOB_MOUSEUP, PROC_REF(stop_fire)) From c669b1240c4cbb704e7fd6d8c9167ec9ac50d38b Mon Sep 17 00:00:00 2001 From: Drulikar Date: Wed, 17 Jun 2026 20:29:37 -0500 Subject: [PATCH 2/2] override --- code/modules/projectiles/gun.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f14a0b4b6c62..ddffaff90c67 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -2191,10 +2191,10 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed /obj/item/weapon/gun/proc/set_gun_user(mob/to_set) if(to_set == gun_user) - if(gun_user && !(LAZYACCESS(comp_lookup, COMSIG_MOB_MOUSEDOWN))) - RegisterSignal(gun_user, COMSIG_MOB_MOUSEDOWN, PROC_REF(start_fire)) - RegisterSignal(gun_user, COMSIG_MOB_MOUSEDRAG, PROC_REF(change_target)) - RegisterSignal(gun_user, COMSIG_MOB_MOUSEUP, PROC_REF(stop_fire)) + if(gun_user) + RegisterSignal(gun_user, COMSIG_MOB_MOUSEDOWN, PROC_REF(start_fire), override=TRUE) + RegisterSignal(gun_user, COMSIG_MOB_MOUSEDRAG, PROC_REF(change_target), override=TRUE) + RegisterSignal(gun_user, COMSIG_MOB_MOUSEUP, PROC_REF(stop_fire), override=TRUE) return if(gun_user) UnregisterSignal(gun_user, list(COMSIG_MOB_MOUSEUP, COMSIG_MOB_MOUSEDOWN, COMSIG_MOB_MOUSEDRAG))