Files
FluffyandGitHub 9636363e60 Refactored the attack proc (#19908)
Refactored the attack proc signature.
Added signals and components for the attack proc.
Added signals and components for the attackby proc.
Adjusted some leftover attackby procs signatures.
Added grep test to ensure people don't keep adding attack/attackby procs
with the wrong signature.
2024-10-06 21:30:00 +00:00

38 lines
1.3 KiB
Plaintext

/datum/technomancer/spell/targeting_matrix
name = "Targeting Matrix"
desc = "Automatically targets and fires a ranged weapon or function at a non-friendly target near a targeted tile. \
Each target assisted attack costs some energy and instability."
cost = 50
ability_icon_state = "tech_targetingmatrix"
obj_path = /obj/item/spell/targeting_matrix
category = UTILITY_SPELLS
/obj/item/spell/targeting_matrix
name = "targeting matrix"
desc = "Aiming is too much effort for you."
icon_state = "targeting_matrix"
cast_methods = CAST_RANGED
aspect = ASPECT_FORCE //idk?
/obj/item/spell/targeting_matrix/on_ranged_cast(atom/hit_atom, mob/user)
. = ..()
var/turf/T = get_turf(hit_atom)
if(T)
var/mob/living/chosen_target = targeting_assist(T,5) //The person who's about to get attacked.
if(!chosen_target)
return 0
var/obj/item/I = user.get_inactive_hand()
if(I && pay_energy(200))
var/prox = user.Adjacent(chosen_target)
if(prox) // Needed or else they can attack with melee from afar.
I.attack(chosen_target, owner)
I.afterattack(chosen_target,owner, prox)
adjust_instability(2)
var/image/target_image = image(icon = 'icons/obj/spells.dmi', loc = get_turf(chosen_target), icon_state = "target")
user << target_image
sleep(5)
qdel(target_image)