Merge pull request #32871 from AnturK/orbitclean
Transfers orbiting ghosts on most common transforms
This commit is contained in:
@@ -139,6 +139,8 @@
|
||||
if(loc.vars[A] == src)
|
||||
loc.vars[A] = O
|
||||
|
||||
transfer_observers_to(O)
|
||||
|
||||
. = O
|
||||
|
||||
qdel(src)
|
||||
@@ -293,6 +295,8 @@
|
||||
if (tr_flags & TR_DEFAULTMSG)
|
||||
to_chat(O, "<B>You are now a human.</B>")
|
||||
|
||||
transfer_observers_to(O)
|
||||
|
||||
. = O
|
||||
|
||||
for(var/A in loc.vars)
|
||||
|
||||
@@ -112,3 +112,11 @@
|
||||
. = ..()
|
||||
if (orbiting)
|
||||
stop_orbit()
|
||||
|
||||
/atom/movable/proc/transfer_observers_to(atom/movable/target)
|
||||
if(orbiters)
|
||||
for(var/thing in orbiters)
|
||||
var/datum/orbit/O = thing
|
||||
if(O.orbiter && isobserver(O.orbiter))
|
||||
var/mob/dead/observer/D = O.orbiter
|
||||
D.ManualFollow(target)
|
||||
@@ -284,6 +284,8 @@
|
||||
if(poly_msg)
|
||||
to_chat(new_mob, poly_msg)
|
||||
|
||||
M.transfer_observers_to(new_mob)
|
||||
|
||||
qdel(M)
|
||||
return new_mob
|
||||
|
||||
|
||||
Reference in New Issue
Block a user