Adds a new passive changeling ability - the Defibrillator Grasp. Adds support for 0 cost changeling abilities. (#76301)

## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/51863163/190d0dda-6899-468d-9a3e-5df05d7b1414)

- Adds a new PASSIVE changeling ability, totally not stolen from The
Thing, called Defibrillator Grasp. If someone attempts to defibrillate
your body while you are in stasis or dead, you will instantly be revived
at full strength. Additionally, the person doing the defibbing will have
both of their arms removed (or if they're a cyborg they'll just be
stunned).

- Adds support for 0 cost changeling abilities. DNA sting is now 0 cost
/ optionally learned.

## Why It's Good For The Game

The intent of this ability to add a new avenue for stealthier
changelings to spring upon their victims - faking their death only to
get brought to medical, then springing up like a bat out of hell and
pouncing upon a now vulnerable medical doctor.

Or maybe pretending to be another type of criminal to get brought to the
brig medbay and revived, then suddenly jumping up and striking out.

As for the DNA sting change - Ling gets a ton of buttons to start and
people don't often use a lot of them. DNA sting is a prime example. By
moving some to just "zero cost, optional", trims down on some action
ability bloat.

## Changelog

🆑 Melbert
add: Added a new 0 cost passive changeling ability, the Defibrillator
Grasp.
add: DNA sing is now no longer innate, but 0 cost, allowing changelings
to not take it if they don't plan on using it.
/🆑
This commit is contained in:
MrMelbert
2023-07-02 03:44:19 +01:00
committed by GitHub
parent 7f3d763285
commit 80c954c6a0
18 changed files with 215 additions and 43 deletions
+3
View File
@@ -592,6 +592,9 @@
playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE)
do_cancel()
return
if(SEND_SIGNAL(H, COMSIG_DEFIBRILLATOR_PRE_HELP_ZAP, user, src) & COMPONENT_DEFIB_STOP)
do_cancel()
return
if(H.stat == DEAD)
H.visible_message(span_warning("[H]'s body convulses a bit."))
playsound(src, SFX_BODYFALL, 50, TRUE)