Borer Tweaks and Changes (#8682)

Spawned borers now get added to the Ghostspawner menu, allowing players to inhabit them even if they didn't catch the original request.
    Borers have gained the ability to survey their host's health, allowing them to better choose when to administer certain chemicals.
    Borers now regenerate chemicals even if their host is unconscious.
    Awakening psionics now take 15 seconds instead of 10, and the host now gets a message about feeling something bad coming on, allowing them to make a dash to safety and or seclusion.
    Skrell returning from Srom no longer eject controlling borers to the lobby by replacing their ckey into the aether.
    Skrell no longer spontaneously die when entering Srom on a map that doesn't have a Srom location.
This commit is contained in:
Geeves
2020-05-15 23:39:32 +03:00
committed by GitHub
parent 250a649977
commit 69746693b5
13 changed files with 143 additions and 51 deletions
+14 -3
View File
@@ -8,7 +8,9 @@ var/list/dream_entries = list()
// If either changes, they should be nocked back to the real world.
if(can_commune() && stat == UNCONSCIOUS && sleeping > 1)
if(!istype(bg) && client) // Don't spawn a brainghost if we're not logged in.
bg = new(src) // Generate a new brainghost.
bg = new /mob/living/brain_ghost(src) // Generate a new brainghost.
if(isnull(bg)) // Prevents you from getting kicked if the brain ghost didn't spawn - geeves
return
bg.ckey = ckey
bg.client = client
ckey = "@[bg.ckey]"
@@ -27,8 +29,17 @@ var/list/dream_entries = list()
log_and_message_admins("has left the shared dream",bg)
var/mob/living/brain_ghost/old_bg = bg
bg = null
ckey = old_bg.ckey
var/return_text = "You are ripped from the Srom as your body awakens."
var/mob/return_mob = src
var/mob/living/simple_animal/borer/B = has_brain_worms()
if(B?.host_brain)
return_mob = B.host_brain
return_text = "You are ripped from the Srom as you return to the captivity of your own mind."
return_mob.ckey = old_bg.ckey
old_bg.show_message("<span class='notice'>[bg] fades as their connection is severed.</span>")
animate(old_bg, alpha=0, time = 200)
QDEL_IN(old_bg, 20)
to_chat(src, "<span class='warning'>You are ripped from the Srom as your body awakens.</span>")
to_chat(return_mob, SPAN_WARNING("[return_text]"))