diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index f02b3538fab..8c251226771 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -319,7 +319,6 @@
/*
Alt click
- Unused except for AI
*/
/mob/proc/AltClickOn(atom/A)
A.AltClick(src)
@@ -327,10 +326,9 @@
// See click_override.dm
/mob/living/AltClickOn(atom/A)
- if(middleClickOverride)
- middleClickOverride.onClick(A, src)
- else
- ..()
+ if(middleClickOverride && middleClickOverride.onClick(A, src))
+ return
+ ..()
/atom/proc/AltClick(mob/user)
SEND_SIGNAL(src, COMSIG_CLICK_ALT, user)
diff --git a/code/_onclick/click_override.dm b/code/_onclick/click_override.dm
index 9dad3ad9120..12b51dbe910 100644
--- a/code/_onclick/click_override.dm
+++ b/code/_onclick/click_override.dm
@@ -46,23 +46,23 @@
/datum/middleClickOverride/power_gloves/onClick(atom/A, mob/living/carbon/human/user)
if(A == user || user.a_intent == INTENT_HELP || user.a_intent == INTENT_GRAB)
- return
+ return FALSE
if(user.incapacitated())
- return
+ return FALSE
var/obj/item/clothing/gloves/color/yellow/power/P = user.gloves
if(world.time < P.last_shocked + P.shock_delay)
to_chat(user, "The gloves are still recharging.")
- return
+ return FALSE
var/turf/T = get_turf(user)
var/obj/structure/cable/C = locate() in T
if(!P.unlimited_power)
if(!C || !istype(C))
to_chat(user, "There is no cable here to power the gloves.")
- return
+ return FALSE
var/turf/target_turf = get_turf(A)
if(get_dist(T, target_turf) > P.shock_range)
to_chat(user, "The target is too far away.")
- return
+ return FALSE
target_turf.hotspot_expose(2000, 400)
playsound(user.loc, 'sound/effects/eleczap.ogg', 40, 1)
@@ -99,6 +99,7 @@
next_shocked.Cut()
P.last_shocked = world.time
+ return TRUE
/**
* # Callback invoker middle click override datum
@@ -114,4 +115,5 @@
callback = _callback
/datum/middleClickOverride/callback_invoker/onClick(atom/A, mob/living/user)
- callback.Invoke(user, A)
+ if(callback.Invoke(user, A))
+ return TRUE