middle click overrides no longer also override alt-click if the middle click action fails to resolve (#20657)

* middle click overrides no longer also override alt-click

* better
This commit is contained in:
GDN
2023-04-22 00:01:32 -05:00
committed by GitHub
parent 93fc25782f
commit 87de861f8f
2 changed files with 11 additions and 11 deletions
+3 -5
View File
@@ -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)
+8 -6
View File
@@ -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, "<span class='warning'>The gloves are still recharging.</span>")
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, "<span class='warning'>There is no cable here to power the gloves.</span>")
return
return FALSE
var/turf/target_turf = get_turf(A)
if(get_dist(T, target_turf) > P.shock_range)
to_chat(user, "<span class='warning'>The target is too far away.</span>")
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