Allows traitor AI's to take direct control of turrets. (#36154)

* Allows traitor AI's to take direct control of turrets.

* Adds some icons
This commit is contained in:
AnturK
2018-03-16 23:30:41 +01:00
committed by CitadelStationBot
parent 13709a7d34
commit 80e046572f
7 changed files with 109 additions and 21 deletions
+4 -6
View File
@@ -10,9 +10,8 @@
Note that AI have no need for the adjacency proc, and so this proc is a lot cleaner.
*/
/mob/living/silicon/ai/DblClickOn(var/atom/A, params)
if(client.click_intercept)
if(call(client.click_intercept, "InterceptClickOn")(src, params, A))
return
if(check_click_intercept(params,A))
return
if(control_disabled || incapacitated())
return
@@ -27,9 +26,8 @@
return
next_click = world.time + 1
if(client.click_intercept)
if(call(client.click_intercept, "InterceptClickOn")(src, params, A))
return
if(check_click_intercept(params,A))
return
if(control_disabled || incapacitated())
return
+16 -4
View File
@@ -61,9 +61,8 @@
return
next_click = world.time + 1
if(client && client.click_intercept)
if(call(client.click_intercept, "InterceptClickOn")(src, params, A))
return
if(check_click_intercept(params,A))
return
var/list/modifiers = params2list(params)
if(modifiers["shift"] && modifiers["middle"])
@@ -476,7 +475,7 @@
var/mob/living/carbon/C = usr
C.swap_hand()
else
var/turf/T = params2turf(modifiers["screen-loc"], get_turf(usr))
var/turf/T = params2turf(modifiers["screen-loc"], get_turf(usr.client ? usr.client.eye : usr))
params += "&catcher=1"
if(T)
T.Click(location, control, params)
@@ -496,3 +495,16 @@
else
view = 1
add_view_range(view)
/mob/proc/check_click_intercept(params,A)
//Client level intercept
if(client && client.click_intercept)
if(call(client.click_intercept, "InterceptClickOn")(src, params, A))
return TRUE
//Mob level intercept
if(click_intercept)
if(call(click_intercept, "InterceptClickOn")(src, params, A))
return TRUE
return FALSE
+2 -3
View File
@@ -11,9 +11,8 @@
return
next_click = world.time + 1
if(client.click_intercept)
if(call(client.click_intercept,"InterceptClickOn")(src,params,A))
return
if(check_click_intercept(params,A))
return
if(stat || lockcharge || IsKnockdown() || IsStun() || IsUnconscious())
return
+4 -6
View File
@@ -1,7 +1,6 @@
/mob/dead/observer/DblClickOn(var/atom/A, var/params)
if(client.click_intercept)
if(call(client.click_intercept,"InterceptClickOn")(src,params,A))
return
if(check_click_intercept(params,A))
return
if(can_reenter_corpse && mind && mind.current)
if(A == mind.current || (mind.current in A)) // double click your corpse or whatever holds it
@@ -18,9 +17,8 @@
update_parallax_contents()
/mob/dead/observer/ClickOn(var/atom/A, var/params)
if(client.click_intercept)
if(call(client.click_intercept,"InterceptClickOn")(src,params,A))
return
if(check_click_intercept(params,A))
return
var/list/modifiers = params2list(params)
if(modifiers["shift"] && modifiers["middle"])