Diona detaching limbs (#6496)

Adds ability for Gestalt to detach their limb nymphs and use them for scouting or whatever.

    Detached Nymph can switch back and forth between controlling Gestalt or nymph

    Detached nymph can merge back into Gestalt, restoring lost limb instantly.

    Makes initialization of Diona nymphs based on external organs it has, not a hardcoded number

    No longer Nymphs spawn on turf and move into Gestalt during initial setup.

    No longer removing internal limbs would cause spawn of nymph. Only external organs do that now.

Timers:

    Adds new proc in timers that calls the callback and deletes timer afterwards. Used when you need to make active timer execute now.
This commit is contained in:
Mykhailo Bykhovtsev
2019-07-13 11:18:26 +03:00
committed by Erki
parent 79ed6ea531
commit 3691d5ddda
6 changed files with 217 additions and 37 deletions
+4 -3
View File
@@ -25,8 +25,6 @@
name = "tendril"
cannot_break = 1
/obj/item/organ/external/chest/diona
name = "core trunk"
limb_name = "chest"
@@ -215,7 +213,10 @@
..()
if(!istype(H) || !H.organs || !H.organs.len)
H.death()
if(prob(50) && spawn_diona_nymph(get_turf(src)))
/obj/item/organ/external/diona/removed(var/mob/living/user)
..()
if(spawn_diona_nymph(get_turf(src)))
qdel(src)
// These are different to the standard diona organs as they have a purpose in other