Fixed Srom not working properly (#19357)

Fixed srom not working properly.
Fixed a runtime with translators implants.
Aligned runechat correctly in srom mobs.
Turned the srom entry points into a GLOB list.

Fixes #19207
This commit is contained in:
Fluffy
2024-06-08 16:39:33 +00:00
committed by GitHub
parent c97b2e6719
commit d46ea07125
6 changed files with 104 additions and 17 deletions
+5 -2
View File
@@ -1,4 +1,5 @@
var/list/dream_entries = list()
///A list of `/turf` where the Srom is located, and people entering the shared dream (presumably Skrells sleeping) will be casted to
GLOBAL_LIST_EMPTY_TYPED(dream_entries, /turf)
/mob
var/mob/living/brain_ghost/bg
@@ -8,12 +9,14 @@ var/list/dream_entries = list()
var/datum/weakref/srom_pulling
/mob/living/carbon/human/proc/handle_shared_dreaming(var/force_wakeup = FALSE)
SHOULD_NOT_SLEEP(TRUE)
// If they're an Unconsious person with the abillity to do Skrellepathy.
// If either changes, they should be nocked back to the real world.
var/mob/living/carbon/human/srom_puller = srom_pulled_by?.resolve()
if((has_psionics() || (srom_puller && Adjacent(srom_puller))) && stat == UNCONSCIOUS && sleeping > 1)
if(!istype(bg) && client) // Don't spawn a brainghost if we're not logged in.
bg = new /mob/living/brain_ghost(src) // Generate a new brainghost.
bg = new /mob/living/brain_ghost(src, src) // Generate a new brainghost.
if(isnull(bg)) // Prevents you from getting kicked if the brain ghost didn't spawn - geeves
return
vr_mob = bg