mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-12 08:27:13 +01:00
a802b48e2a
The next step in the Psi Reworks is here, this time adding all of the remaining sources and applications of Psi-sensitivity and Psi-protection that were on my To-Do list. Aside from a variety of tweaks and bugfixes to powers, the most player-facing addition is the new Psi-sensitivity related traits, which are High Psi-sensitivity, and Low Psi-sensitivity. These traits modify the character's psi-sensitivity, which messes with their interactions with psionics in a variety of ways. All of these new sources and interactions with psionics are handled entirely through components, which operate on the previously added COMSIG_PSI signals. Check the changelog file for more specific details on what all was fixed. I've fixed quite a lot of bugs and issues with the various psi powers. I have actually tested this PR and verified that it works as advertised. <img width="1902" height="1015" alt="image" src="https://github.com/user-attachments/assets/e922593c-0595-4b63-bee4-36080d9cb8b4" />
32 lines
950 B
Plaintext
32 lines
950 B
Plaintext
/singleton/psionic_power/electrocute
|
|
name = "Electrocute"
|
|
desc = "Administer a painful amount of psionic shock to the nervous system of a foe in melee range, causing burn and agony damage. "
|
|
icon_state = "tech_shockaura"
|
|
point_cost = 2
|
|
ability_flags = PSI_FLAG_ANTAG
|
|
spell_path = /obj/item/spell/electrocute
|
|
|
|
/obj/item/spell/electrocute
|
|
name = "electrocute"
|
|
icon_state = "chain_lightning"
|
|
item_icons = null
|
|
cast_methods = CAST_MELEE
|
|
aspect = ASPECT_PSIONIC
|
|
cooldown = 10
|
|
psi_cost = 5
|
|
hitsound = 'sound/effects/psi/power_evoke.ogg'
|
|
attack_verb = list("lays a palm on")
|
|
|
|
/obj/item/spell/electrocute/on_melee_cast(atom/hit_atom, mob/living/user, def_zone)
|
|
if(!ishuman(hit_atom))
|
|
to_chat(user, SPAN_WARNING("That won't work!"))
|
|
return
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
var/mob/living/carbon/human/H = hit_atom
|
|
H.adjustHalLoss(20)
|
|
H.adjustFireLoss(20)
|
|
H.flash_pain(20)
|
|
to_chat(H, SPAN_DANGER("A sharp, stinging pain enters your mind!"))
|