diff --git a/code/game/atoms.dm b/code/game/atoms.dm index b9f501a379..f7a68a47c9 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -38,8 +38,6 @@ //Detective Work, used for the duplicate data points kept in the scanners var/list/original_atom - // Track if we are already had initialize() called to prevent double-initialization. - var/initialized = FALSE /// Last name used to calculate a color for the chatmessage overlays var/chat_color_name diff --git a/code/game/objects/structures/window_spawner.dm b/code/game/objects/structures/window_spawner.dm index dfeecb7be7..38d794a71f 100644 --- a/code/game/objects/structures/window_spawner.dm +++ b/code/game/objects/structures/window_spawner.dm @@ -57,7 +57,7 @@ activated = 1 for(var/obj/effect/wingrille_spawn/other in neighbours) if(!other.activated) other.activate() - if(initialized && !QDELETED(src)) + if((atom_flags & ATOM_INITIALIZED) && !QDELETED(src)) qdel(src) /obj/effect/wingrille_spawn/proc/handle_window_spawn(var/obj/structure/window/W) diff --git a/code/game/turfs/flooring/flooring_decals.dm b/code/game/turfs/flooring/flooring_decals.dm index ed1842c690..02a7239014 100644 --- a/code/game/turfs/flooring/flooring_decals.dm +++ b/code/game/turfs/flooring/flooring_decals.dm @@ -15,7 +15,7 @@ var/global/list/floor_decals = list() // abstract handler that explicitly doesn't invoke any obj behavior. /obj/effect/floor_decal/Initialize(var/ml, var/newdir, var/newcolour) SHOULD_CALL_PARENT(FALSE) - initialized = TRUE + atom_flags |= ATOM_INITIALIZED // this is a blight supplied_dir = newdir if(newcolour) color = newcolour diff --git a/code/game/turfs/unsimulated.dm b/code/game/turfs/unsimulated.dm index 6d8cf0907e..8d3b32c714 100644 --- a/code/game/turfs/unsimulated.dm +++ b/code/game/turfs/unsimulated.dm @@ -6,7 +6,7 @@ /turf/unsimulated/Initialize(mapload) if(skip_init) - initialized = TRUE + atom_flags |= ATOM_INITIALIZED // this is a blight return INITIALIZE_HINT_NORMAL . = ..() diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 717874d836..a9f1046f3d 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -392,7 +392,7 @@ var/global/list/mining_overlay_cache = list() /turf/simulated/mineral/proc/UpdateMineral() clear_ore_effects() - if(initialized && istype(mineral)) + if((atom_flags & ATOM_INITIALIZED) && istype(mineral)) new /obj/effect/mineral(src, mineral) update_icon() diff --git a/code/unit_tests/subsystem_tests.dm b/code/unit_tests/subsystem_tests.dm index 6e06a03e5b..7e0a7df2a3 100644 --- a/code/unit_tests/subsystem_tests.dm +++ b/code/unit_tests/subsystem_tests.dm @@ -34,7 +34,7 @@ set background = TRUE // avoid infinite loop warning; SS will still wait for us. var/fail = FALSE for(var/atom/atom in world) - if(!QDELETED(atom) && !(atom.atom_flags & ATOM_INITIALIZED)) // Not ideal to skip over qdeleted atoms, but a lot of current code uses pre-init qdels + if(!(atom.atom_flags & ATOM_INITIALIZED) && !QDELETED(atom)) // Not ideal to skip over qdeleted atoms, but a lot of current code uses pre-init qdels log_bad("Uninitialized atom: [atom.type] - [atom.get_log_info_line()]") fail = TRUE if(fail)