Files
CHOMPStation2/code/modules/projectiles/targeting/targeting_triggers.dm
Neerti da53a9ea60 Aim Intent Changes
Manually ports https://github.com/Baystation12/Baystation12/pull/12614 's fix to not make examining trigger the autofire.
The toggle to shoot if the target talks on the radio defaults to off.
The aim intent icon now updates when clicked.
2016-04-16 02:30:47 -04:00

30 lines
923 B
Plaintext

//as core click exists at the mob level
/mob/proc/trigger_aiming(var/trigger_type)
return
/mob/living/trigger_aiming(var/trigger_type)
if(!aimed.len)
return
for(var/obj/aiming_overlay/AO in aimed)
if(AO.aiming_at == src)
AO.update_aiming()
if(AO.aiming_at == src)
AO.trigger(trigger_type)
AO.update_aiming_deferred()
/obj/aiming_overlay/proc/trigger(var/perm)
if(!owner || !aiming_with || !aiming_at || !locked)
return
if(perm && (target_permissions & perm))
return
if(!owner.canClick())
return
owner.setClickCooldown(5) // Spam prevention, essentially.
if(owner.a_intent == I_HELP)
owner << "<span class='warning'>You refrain from firing \the [aiming_with] as your intent is set to help.</span>"
return
owner.visible_message("<span class='danger'>\The [owner] pulls the trigger reflexively!</span>")
var/obj/item/weapon/gun/G = aiming_with
if(istype(G))
G.Fire(aiming_at, owner)