mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Adds two new spells; Track: which functions similarly to a pinpointer for technomancer objects and apprentices. With a scepter, it will be able to track anyone as well. Targeting Matrix: which assists in targeting with whatever is in your off-hand, for a price in instability and energy per shot. Adds Gloves of Regeneration, which passively trades healing for hunger, as well as stabbing your hands with needles. They also insulate your hands. Adds Boots of Speed, which act as no-slips and make the wearer run slightly faster than normal. Adds the new gun sounds to Audible Deception.
36 lines
1.3 KiB
Plaintext
36 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 = 150
|
|
ability_icon_state = "tech_targetingmatrix"
|
|
obj_path = /obj/item/weapon/spell/targeting_matrix
|
|
|
|
/obj/item/weapon/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/weapon/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)
|