mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Cost for various spells and equipment adjusted greatly. In general, things are cheaper, and everything should now be in multiples of 25, so no points are wasted. The default jumpsuit for Technomancers is now heavily insulated, protecting them from tasers, batons, and perhaps unfortunate lightning strikes. Instability between 31 and 50 made less harsh. Wards made with a scepter of enhancement will break the cloak of anyone invisible that it can see. Fire aura buffed, increased rate of heating as well as temperature cap for both non-scepter and scepter effects. Reflect spell made more forgiving for the Technomancer, lasting longer before expiring. Projectile spells should be able to hit people more reliably.
37 lines
1.3 KiB
Plaintext
37 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/weapon/spell/targeting_matrix
|
|
category = UTILITY_SPELLS
|
|
|
|
/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)
|