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