mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 13:05:44 +01:00
Srom no longer crashes you on death (#13893)
This commit is contained in:
@@ -102,9 +102,10 @@
|
||||
return
|
||||
|
||||
/mob/proc/exit_vr()
|
||||
// If we have a remotely controlled mob, we come back to our body to die properly
|
||||
if(vr_mob)
|
||||
vr_mob.body_return()
|
||||
// Alternatively, if we are the remotely controlled mob, just kick our controller out
|
||||
if(old_mob)
|
||||
body_return()
|
||||
if(!bg) // If brainghost exists, let handle_shared_dreaming handle the wake up
|
||||
// If we have a remotely controlled mob, we come back to our body to die properly
|
||||
if(vr_mob)
|
||||
vr_mob.body_return()
|
||||
// Alternatively, if we are the remotely controlled mob, just kick our controller out
|
||||
if(old_mob)
|
||||
body_return()
|
||||
|
||||
@@ -37,11 +37,12 @@
|
||||
/mob/living/brain_ghost/proc/awaken_impl(var/force_awaken = FALSE)
|
||||
|
||||
if(body.willfully_sleeping)
|
||||
body.sleeping = max(body.sleeping - 5, 0)
|
||||
body.willfully_sleeping = FALSE
|
||||
if(force_awaken)
|
||||
body.sleeping = 0
|
||||
to_chat(src, "<span class='notice'>You suddenly feel like your connection to the dream is breaking up by the outside force.</span>")
|
||||
else
|
||||
body.sleeping = max(body.sleeping - 5, 0)
|
||||
to_chat(src, "<span class='notice'>You release your concentration on sleep, allowing yourself to wake up.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='warning'>You've already released concentration. Wait to wake up naturally.</span>")
|
||||
@@ -56,7 +57,8 @@
|
||||
return
|
||||
|
||||
if(body.stat == DEAD) // Body is dead, and won't get a life tick.
|
||||
body.handle_shared_dreaming()
|
||||
awaken_impl(TRUE)
|
||||
body.handle_shared_dreaming(TRUE)
|
||||
|
||||
/mob/living/brain_ghost/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
|
||||
if(!istype(body) || body.stat!=UNCONSCIOUS)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
var/list/dream_entries = list()
|
||||
|
||||
/mob/living/carbon/human
|
||||
/mob
|
||||
var/mob/living/brain_ghost/bg
|
||||
|
||||
/mob/living/carbon/human
|
||||
var/datum/weakref/srom_pulled_by
|
||||
var/datum/weakref/srom_pulling
|
||||
|
||||
@@ -83,6 +85,9 @@ var/list/dream_entries = list()
|
||||
return_mob = B.host_brain
|
||||
return_text = "You are ripped from the Srom as you return to the captivity of your own mind."
|
||||
|
||||
if(stat == DEAD)
|
||||
return_text = "You are ripped from the Srom." // You're dead - ensures there's no message about feeling weird or waking up.
|
||||
|
||||
return_mob.ckey = old_bg.ckey
|
||||
old_bg.visible_message("<span class='notice'>[old_bg] begins to fade as they depart from the dream...</span>")
|
||||
animate(old_bg, alpha=0, time = 20)
|
||||
|
||||
Reference in New Issue
Block a user