mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
Some associated move fixes (#59299)
* Moves the loc assignment for null doMove target locations to before exited() is called, making it consistent with other uses of the proc, and fixing a harddel caused by deleting something inside of an open storage component. The component assumes that the removed object has already exited its contents, and so readds it to the screen, causing PAIN Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
This commit is contained in:
co-authored by
Kylerace
parent
25927d42c6
commit
29de629db9
@@ -668,12 +668,12 @@
|
||||
//If no destination, move the atom into nullspace (don't do this unless you know what you're doing)
|
||||
else
|
||||
. = TRUE
|
||||
if (loc)
|
||||
loc = null
|
||||
if (oldloc)
|
||||
var/area/old_area = get_area(oldloc)
|
||||
oldloc.Exited(src, null)
|
||||
if(old_area)
|
||||
old_area.Exited(src, null)
|
||||
loc = null
|
||||
|
||||
Moved(oldloc, NONE, TRUE)
|
||||
|
||||
|
||||
@@ -293,6 +293,8 @@
|
||||
|
||||
/obj/structure/table/rolling/Moved(atom/OldLoc, Dir)
|
||||
. = ..()
|
||||
if(!loc)
|
||||
return
|
||||
for(var/mob/living/living_mob in OldLoc.contents)//Kidnap everyone on top
|
||||
living_mob.forceMove(loc)
|
||||
for(var/x in attached_items)
|
||||
|
||||
@@ -128,7 +128,9 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
Bump(atom_entered)
|
||||
|
||||
/obj/effect/immovablerod/Moved()
|
||||
|
||||
if(!loc)
|
||||
return ..()
|
||||
|
||||
for(var/atom/movable/to_bump in loc)
|
||||
if((to_bump != src) && !QDELETED(to_bump) && (to_bump.density || isliving(to_bump)))
|
||||
Bump(to_bump)
|
||||
|
||||
@@ -148,6 +148,8 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
|
||||
/obj/effect/hallucination/simple/Moved(atom/OldLoc, Dir)
|
||||
. = ..()
|
||||
if(!loc)
|
||||
return
|
||||
Show()
|
||||
|
||||
/obj/effect/hallucination/simple/Destroy()
|
||||
|
||||
@@ -70,6 +70,9 @@
|
||||
small_action.Grant(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/Moved()
|
||||
//Safety check
|
||||
if(!loc)
|
||||
return ..()
|
||||
if(nest && nest.parent && get_dist(nest.parent, src) > nest_range)
|
||||
var/turf/closest = get_turf(nest.parent)
|
||||
for(var/i = 1 to nest_range)
|
||||
|
||||
@@ -84,6 +84,9 @@
|
||||
/obj/structure/disposalholder/Moved(atom/oldLoc, dir)
|
||||
. = ..()
|
||||
var/static/list/pipes_typecache = typecacheof(/obj/structure/disposalpipe)
|
||||
//Moved to nullspace gang
|
||||
if(!loc)
|
||||
return
|
||||
if(!pipes_typecache[loc.type])
|
||||
var/turf/T = get_turf(loc)
|
||||
if(T)
|
||||
|
||||
Reference in New Issue
Block a user