diff --git a/code/game/atoms.dm b/code/game/atoms.dm index f32d218bc6f..5b88b2c0d06 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -49,9 +49,12 @@ /atom/New(loc, ...) if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New() _preloader.load(src) - . = ..() + attempt_init(...) +// This is distinct from /tg/ because of our space management system +// This is overriden in /atom/movable and the parent isn't called if the SMS wants to deal with it's init +/atom/proc/attempt_init(loc, ...) var/do_initialize = SSatoms.initialized if(do_initialize != INITIALIZATION_INSSATOMS) args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 1f02b1e5dc1..36d3ce81ea2 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -35,6 +35,8 @@ return . = ..() + + /atom/movable/Destroy() if(loc) loc.handle_atom_del(src)