diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
index 5c5ff50299..840d2bdf8b 100644
--- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
@@ -194,7 +194,7 @@
return 1
/obj/machinery/atmospherics/binary/dp_vent_pump/initialize()
- ..()
+ . = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
index 4c1863b133..b4f25459c1 100644
--- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm
@@ -128,7 +128,7 @@
return 1
/obj/machinery/atmospherics/binary/passive_gate/initialize()
- ..()
+ . = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index cddd9f9527..6320ddf8a3 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -148,7 +148,7 @@ Thus, the two variables affect pump operation are set in New():
ui.set_auto_update(1) // auto update every Master Controller tick
/obj/machinery/atmospherics/binary/pump/initialize()
- ..()
+ . = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
index 951e5a03de..10708f4185 100755
--- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
@@ -129,8 +129,9 @@
return 1
/obj/machinery/atmospherics/trinary/atmos_filter/initialize()
- set_frequency(frequency)
- ..()
+ . = ..()
+ if(frequency)
+ set_frequency(frequency)
/obj/machinery/atmospherics/trinary/atmos_filter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if (!istype(W, /obj/item/weapon/wrench))
diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm
index 09d2d5e424..9f7e80f97f 100644
--- a/code/ATMOSPHERICS/components/tvalve.dm
+++ b/code/ATMOSPHERICS/components/tvalve.dm
@@ -318,7 +318,7 @@
/obj/machinery/atmospherics/tvalve/digital/initialize()
- ..()
+ . = ..()
if(frequency)
set_frequency(frequency)
@@ -458,7 +458,7 @@
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
/obj/machinery/atmospherics/tvalve/mirrored/digital/initialize()
- ..()
+ . = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
index 84780da425..7c52cea895 100644
--- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm
+++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm
@@ -123,9 +123,9 @@
return 1
/obj/machinery/atmospherics/unary/outlet_injector/initialize()
- ..()
-
- set_frequency(frequency)
+ . = ..()
+ if(frequency)
+ set_frequency(frequency)
/obj/machinery/atmospherics/unary/outlet_injector/receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm
index 3cee872f8b..77aedf94e0 100644
--- a/code/ATMOSPHERICS/components/valve.dm
+++ b/code/ATMOSPHERICS/components/valve.dm
@@ -266,7 +266,7 @@
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
/obj/machinery/atmospherics/valve/digital/initialize()
- ..()
+ . = ..()
if(frequency)
set_frequency(frequency)
diff --git a/code/__defines/qdel.dm b/code/__defines/qdel.dm
index f50c012ce3..82ec12a211 100644
--- a/code/__defines/qdel.dm
+++ b/code/__defines/qdel.dm
@@ -18,5 +18,6 @@
#define GC_QUEUED_FOR_HARD_DEL -2
#define GC_CURRENTLY_BEING_QDELETED -3
+#define QDELING(X) (X.gc_destroyed)
#define QDELETED(X) (!X || X.gc_destroyed)
#define QDESTROYING(X) (!X || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
\ No newline at end of file
diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm
index dfd33b6514..8e6a06b02a 100644
--- a/code/controllers/master_controller.dm
+++ b/code/controllers/master_controller.dm
@@ -42,16 +42,16 @@ datum/controller/game_controller/proc/setup()
transfer_controller = new
admin_notice("Initializations complete.", R_DEBUG)
-#if UNIT_TEST
-#define CHECK_SLEEP_MASTER // For unit tests we don't care about a smooth lobby screen experience. We care about speed.
-#else
-#define CHECK_SLEEP_MASTER if(++initialized_objects > 500) { initialized_objects=0;sleep(world.tick_lag); }
-#endif
+// #if UNIT_TEST
+// #define CHECK_SLEEP_MASTER // For unit tests we don't care about a smooth lobby screen experience. We care about speed.
+// #else
+// #define CHECK_SLEEP_MASTER if(++initialized_objects > 500) { initialized_objects=0;sleep(world.tick_lag); }
+// #endif
datum/controller/game_controller/proc/setup_objects()
- #if !UNIT_TEST
- var/initialized_objects = 0
- #endif
+ // #if !UNIT_TEST
+ // var/initialized_objects = 0
+ // #endif
// Set up antagonists.
populate_antag_type_list()
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 3f4397df6b..31e7ff290c 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -503,53 +503,53 @@
//slime
/mob/living/simple_animal/slime/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "slime"
/mob/living/carbon/alien/larva/mind_initialize()
- ..()
+ . = ..()
mind.special_role = "Larva"
//AI
/mob/living/silicon/ai/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "AI"
//BORG
/mob/living/silicon/robot/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "Cyborg"
//PAI
/mob/living/silicon/pai/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "pAI"
mind.special_role = ""
//Animals
/mob/living/simple_animal/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "Animal"
/mob/living/simple_animal/corgi/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "Corgi"
/mob/living/simple_animal/shade/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "Shade"
/mob/living/simple_animal/construct/builder/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "Artificer"
mind.special_role = "Cultist"
/mob/living/simple_animal/construct/wraith/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "Wraith"
mind.special_role = "Cultist"
/mob/living/simple_animal/construct/armoured/mind_initialize()
- ..()
+ . = ..()
mind.assigned_role = "Juggernaut"
mind.special_role = "Cultist"
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 9404482485..02eb04b0d6 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -27,6 +27,9 @@
/area/initialize()
. = ..()
+ return INITIALIZE_HINT_LATELOAD // Areas tradiationally are initialized AFTER other atoms.
+
+/area/LateInitialize()
if(!requires_power || !apc)
power_light = 0
power_equip = 0
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index b789212436..ef67a53084 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -95,6 +95,7 @@
RefreshParts()
/obj/machinery/sleeper/initialize()
+ . = ..()
update_icon()
/obj/machinery/sleeper/process()
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index da7475780a..b0019f9fa5 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -131,6 +131,7 @@
/obj/machinery/alarm/initialize()
+ . = ..()
set_frequency(frequency)
if(!master_is_operating())
elect_master()
@@ -991,6 +992,7 @@ FIRE ALARM
update_icon()
/obj/machinery/firealarm/initialize()
+ . = ..()
if(z in using_map.contact_levels)
set_security_level(security_level? get_security_level() : "green")
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index ac1e21051a..cb73da0c32 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -64,12 +64,14 @@
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
/obj/machinery/air_sensor/initialize()
- set_frequency(frequency)
+ . = ..()
+ if(frequency)
+ set_frequency(frequency)
obj/machinery/air_sensor/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
- ..()
+ . = ..()
/obj/machinery/computer/general_air_control
icon_keyboard = "atmos_key"
@@ -128,7 +130,9 @@ obj/machinery/computer/general_air_control/Destroy()
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
/obj/machinery/computer/general_air_control/initialize()
- set_frequency(frequency)
+ . = ..()
+ if(frequency)
+ set_frequency(frequency)
/obj/machinery/computer/general_air_control/large_tank_control
icon = 'icons/obj/computer.dmi'
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 32ea378248..8133cd48fb 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -12,17 +12,10 @@
use_power = 1
idle_power_usage = 15
-/obj/machinery/meter/New()
- ..()
- spawn(5)
- target = select_target()
- return 1
-
/obj/machinery/meter/initialize()
. = ..()
if (!target)
- spawn(5)
- target = select_target()
+ target = select_target()
/obj/machinery/meter/Destroy()
pipes_on_turf.Cut()
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index b964f9c50c..785abecbec 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -224,7 +224,7 @@
var/obj/item/device/radio/radio = null
/obj/machinery/computer/security/telescreen/entertainment/initialize()
- ..()
+ . = ..()
radio = new(src)
radio.listening = TRUE
radio.broadcasting = FALSE
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 1e08ea6df2..4935a2a552 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -17,7 +17,7 @@
/obj/machinery/computer/cloning/initialize()
- ..()
+ . = ..()
updatemodules()
/obj/machinery/computer/cloning/Destroy()
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 3d676e2609..7dd31da9a8 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -20,6 +20,7 @@
..()
/obj/machinery/computer/initialize()
+ . = ..()
power_change()
update_icon()
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index e50ad8cb92..fd82940b6d 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -76,7 +76,7 @@
if(!linkedServer)
if(message_servers && message_servers.len > 0)
linkedServer = message_servers[1]
- return
+ return ..()
/obj/machinery/computer/message_monitor/attack_hand(var/mob/living/user as mob)
if(stat & (NOPOWER|BROKEN))
diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm
index d1c66b500d..d3ab69b869 100644
--- a/code/game/machinery/computer/station_alert.dm
+++ b/code/game/machinery/computer/station_alert.dm
@@ -20,7 +20,7 @@
/obj/machinery/computer/station_alert/initialize()
alarm_monitor = new monitor_type(src)
alarm_monitor.register_alarm(src, /obj/machinery/computer/station_alert/update_icon)
- ..()
+ . = ..()
/obj/machinery/computer/station_alert/Destroy()
alarm_monitor.unregister_alarm(src)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 84c111ca81..0bcb12e52f 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -301,7 +301,7 @@
return ..()
/obj/machinery/cryopod/initialize()
- ..()
+ . = ..()
find_control_computer()
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 285bab46fe..2e1cd75c9a 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1210,6 +1210,7 @@ About the new airlock wires panel:
src.closeOther = A
break
name = "\improper [name]"
+ . = ..()
/obj/machinery/door/airlock/Destroy()
qdel(wires)
diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm
index 871f42eb7b..1fd5eb34c6 100644
--- a/code/game/machinery/doors/airlock_control.dm
+++ b/code/game/machinery/doors/airlock_control.dm
@@ -130,18 +130,12 @@ obj/machinery/door/airlock/proc/set_frequency(new_frequency)
obj/machinery/door/airlock/initialize()
+ . = ..()
if(frequency)
set_frequency(frequency)
update_icon()
-
-obj/machinery/door/airlock/New()
- ..()
-
- if(radio_controller)
- set_frequency(frequency)
-
obj/machinery/door/airlock/Destroy()
if(frequency && radio_controller)
radio_controller.remove_object(src,frequency)
@@ -210,13 +204,9 @@ obj/machinery/airlock_sensor/proc/set_frequency(new_frequency)
radio_connection = radio_controller.add_object(src, frequency, RADIO_AIRLOCK)
obj/machinery/airlock_sensor/initialize()
+ . = ..()
set_frequency(frequency)
-obj/machinery/airlock_sensor/New()
- ..()
- if(radio_controller)
- set_frequency(frequency)
-
obj/machinery/airlock_sensor/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
@@ -280,15 +270,9 @@ obj/machinery/access_button/proc/set_frequency(new_frequency)
obj/machinery/access_button/initialize()
+ . = ..()
set_frequency(frequency)
-
-obj/machinery/access_button/New()
- ..()
-
- if(radio_controller)
- set_frequency(frequency)
-
obj/machinery/access_button/Destroy()
if(radio_controller)
radio_controller.remove_object(src, frequency)
diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm
index 8b6ddb5834..1c384a651d 100644
--- a/code/game/machinery/doors/alarmlock.dm
+++ b/code/game/machinery/doors/alarmlock.dm
@@ -19,7 +19,7 @@
..()
/obj/machinery/door/airlock/alarmlock/initialize()
- ..()
+ . = ..()
radio_controller.remove_object(src, air_frequency)
air_connection = radio_controller.add_object(src, air_frequency, RADIO_TO_AIRALARM)
open()
diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm
index 870b080c79..54b5513cce 100644
--- a/code/game/machinery/doors/blast_door.dm
+++ b/code/game/machinery/doors/blast_door.dm
@@ -30,7 +30,7 @@
block_air_zones = 0
/obj/machinery/door/blast/initialize()
- ..()
+ . = ..()
implicit_material = get_material_by_name("plasteel")
/obj/machinery/door/blast/get_material()
diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm
index fb909dee55..3a79a686b0 100644
--- a/code/game/machinery/embedded_controller/airlock_controllers.dm
+++ b/code/game/machinery/embedded_controller/airlock_controllers.dm
@@ -13,7 +13,7 @@
var/tag_secure = 0
/obj/machinery/embedded_controller/radio/airlock/initialize()
- ..()
+ . = ..()
program = new/datum/computer/file/embedded_program/airlock(src)
//Advanced airlock controller for when you want a more versatile airlock controller - useful for turning simple access control rooms into airlocks
diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm
index a78ac2be2d..a63874235f 100644
--- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm
+++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm
@@ -6,7 +6,7 @@
tag_secure = 1
/obj/machinery/embedded_controller/radio/airlock/docking_port/initialize()
- ..()
+ . = ..()
airlock_program = new/datum/computer/file/embedded_program/airlock/docking(src)
docking_program = new/datum/computer/file/embedded_program/docking/airlock(src, airlock_program)
program = docking_program
diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm
index 0cffb34dc6..9fb1b34900 100644
--- a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm
+++ b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm
@@ -10,7 +10,7 @@
var/datum/computer/file/embedded_program/docking/multi/docking_program
/obj/machinery/embedded_controller/radio/docking_port_multi/initialize()
- ..()
+ . = ..()
docking_program = new/datum/computer/file/embedded_program/docking/multi(src)
program = docking_program
@@ -56,7 +56,7 @@
tag_secure = 1
/obj/machinery/embedded_controller/radio/airlock/docking_port_multi/initialize()
- ..()
+ . = ..()
airlock_program = new/datum/computer/file/embedded_program/airlock/multi_docking(src)
program = airlock_program
diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm
index 5a6b77931f..6833498b5f 100644
--- a/code/game/machinery/embedded_controller/embedded_controller_base.dm
+++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm
@@ -58,6 +58,7 @@ obj/machinery/embedded_controller/radio/Destroy()
unacidable = 1
/obj/machinery/embedded_controller/radio/initialize()
+ . = ..()
set_frequency(frequency)
/obj/machinery/embedded_controller/radio/update_icon()
diff --git a/code/game/machinery/embedded_controller/simple_docking_controller.dm b/code/game/machinery/embedded_controller/simple_docking_controller.dm
index f1001ada55..ed8b435fb6 100644
--- a/code/game/machinery/embedded_controller/simple_docking_controller.dm
+++ b/code/game/machinery/embedded_controller/simple_docking_controller.dm
@@ -5,7 +5,7 @@
var/datum/computer/file/embedded_program/docking/simple/docking_program
/obj/machinery/embedded_controller/radio/simple_docking_controller/initialize()
- ..()
+ . = ..()
docking_program = new/datum/computer/file/embedded_program/docking/simple(src)
program = docking_program
diff --git a/code/game/machinery/kitchen/icecream.dm b/code/game/machinery/kitchen/icecream.dm
index 448b252fd4..fab6319e26 100644
--- a/code/game/machinery/kitchen/icecream.dm
+++ b/code/game/machinery/kitchen/icecream.dm
@@ -52,7 +52,7 @@
return "vanilla"
/obj/machinery/icecream_vat/initialize()
- ..()
+ . = ..()
create_reagents(100)
while(product_types.len < 6)
product_types.Add(5)
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 527b5f1283..9a02fddfd2 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -61,7 +61,7 @@
// register for radio system
/obj/machinery/status_display/initialize()
- ..()
+ . = ..()
if(radio_controller)
radio_controller.add_object(src, frequency)
diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm
index 38cac0737e..ac85f8dba4 100644
--- a/code/game/machinery/telecomms/telecomunications.dm
+++ b/code/game/machinery/telecomms/telecomunications.dm
@@ -131,6 +131,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
else
for(var/obj/machinery/telecomms/T in telecomms_list)
add_link(T)
+ . = ..()
/obj/machinery/telecomms/Destroy()
telecomms_list -= src
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index 9353bb888c..7544c91bfe 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -18,7 +18,7 @@
return
/obj/machinery/computer/teleporter/initialize()
- ..()
+ . = ..()
var/obj/machinery/teleport/station/station
var/obj/machinery/teleport/hub/hub
diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm
index 4f33f1703f..238030e3ac 100644
--- a/code/game/machinery/turret_control.dm
+++ b/code/game/machinery/turret_control.dm
@@ -62,7 +62,7 @@
control_area = null
power_change() //Checks power and initial settings
- return
+ . = ..()
/obj/machinery/turretid/proc/isLocked(mob/user)
if(ailock && issilicon(user))
diff --git a/code/game/machinery/vr_console.dm b/code/game/machinery/vr_console.dm
index 7b57e623af..2b465e1265 100644
--- a/code/game/machinery/vr_console.dm
+++ b/code/game/machinery/vr_console.dm
@@ -24,6 +24,7 @@
RefreshParts()
/obj/machinery/vr_sleeper/initialize()
+ . = ..()
update_icon()
/obj/machinery/vr_sleeper/process()
@@ -223,3 +224,4 @@
else
occupant.enter_vr(avatar)
+
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 103fb9b876..958f31bbd2 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -40,6 +40,7 @@
/obj/machinery/mecha_part_fabricator/initialize()
update_categories()
+ . = ..()
/obj/machinery/mecha_part_fabricator/process()
..()
diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm
index 64123337fc..c8e1d61179 100644
--- a/code/game/mecha/mech_prosthetics.dm
+++ b/code/game/mecha/mech_prosthetics.dm
@@ -40,6 +40,7 @@
return
/obj/machinery/pros_fabricator/initialize()
+ . = ..()
manufacturer = basic_robolimb.company
update_categories()
diff --git a/code/game/mecha/mech_sensor.dm b/code/game/mecha/mech_sensor.dm
index a00e9d6594..87a9863ee8 100644
--- a/code/game/mecha/mech_sensor.dm
+++ b/code/game/mecha/mech_sensor.dm
@@ -70,6 +70,7 @@
icon_state = "airlock_sensor_off"
/obj/machinery/mech_sensor/initialize()
+ . = ..()
set_frequency(frequency)
/obj/machinery/mech_sensor/proc/set_frequency(new_frequency)
diff --git a/code/game/mecha/medical/medical.dm b/code/game/mecha/medical/medical.dm
index 027c9f84af..e112f7a232 100644
--- a/code/game/mecha/medical/medical.dm
+++ b/code/game/mecha/medical/medical.dm
@@ -1,9 +1,8 @@
/obj/mecha/medical/initialize()
- ..()
+ . = ..()
var/turf/T = get_turf(src)
if(isPlayerLevel(T.z))
new /obj/item/mecha_parts/mecha_tracking(src)
- return
/obj/mecha/medical/mechturn(direction)
diff --git a/code/game/mecha/working/working.dm b/code/game/mecha/working/working.dm
index 8ba99ad1c5..c890746e5b 100644
--- a/code/game/mecha/working/working.dm
+++ b/code/game/mecha/working/working.dm
@@ -4,11 +4,10 @@
var/cargo_capacity = 5
/obj/mecha/working/initialize()
- ..()
+ . = ..()
var/turf/T = get_turf(src)
if(isPlayerLevel(T.z))
new /obj/item/mecha_parts/mecha_tracking(src)
- return
/obj/mecha/working/Destroy()
for(var/mob/M in src)
diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm
index 0d00d32830..695f8d3b79 100644
--- a/code/game/objects/effects/decals/contraband.dm
+++ b/code/game/objects/effects/decals/contraband.dm
@@ -110,6 +110,7 @@
pixel_y = 0
/obj/structure/sign/poster/initialize()
+ . = ..()
if (poster_type)
var/path = text2path(poster_type)
var/datum/poster/design = new path
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index a3b3ab81cb..e92268f4da 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -104,7 +104,7 @@ steam.start() -- spawns the effect
T.hotspot_expose(1000,100)
/obj/effect/effect/sparks/initialize()
- ..()
+ . = ..()
schedule_task_in(5 SECONDS, /proc/qdel, list(src))
/obj/effect/effect/sparks/Destroy()
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index b8cb8006d2..50230eba17 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -84,9 +84,9 @@
delete_me = 1
/obj/effect/landmark/initialize()
- ..()
+ . = ..()
if(delete_me)
- qdel(src)
+ return INITIALIZE_HINT_QDEL
/obj/effect/landmark/Destroy(var/force = FALSE)
if(delete_me || force)
diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm
index 48026296d7..349400226a 100644
--- a/code/game/objects/effects/misc.dm
+++ b/code/game/objects/effects/misc.dm
@@ -34,6 +34,7 @@
pixel_y = -32
/obj/effect/temporary_effect/cleave_attack/initialize() // Makes the slash fade smoothly. When completely transparent it should qdel itself.
+ . = ..()
animate(src, alpha = 0, time = time_to_die - 1)
/obj/effect/temporary_effect/shuttle_landing
@@ -44,4 +45,4 @@
/obj/effect/temporary_effect/shuttle_landing/initialize()
flick("shuttle_warning", src) // flick() forces the animation to always begin at the start.
- ..()
\ No newline at end of file
+ . = ..()
\ No newline at end of file
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index eb1ebcd268..6689811b89 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -129,6 +129,7 @@
var/landmark_id = null
/obj/effect/step_trigger/teleporter/landmark/initialize()
+ . = ..()
for(var/obj/effect/landmark/teleport_mark/mark in tele_landmarks)
if(mark.landmark_id == landmark_id)
the_landmark = mark
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index c53ba712db..b77d73a262 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -110,7 +110,7 @@ var/list/civilian_cartridges = list(
/obj/item/weapon/cartridge/security/initialize()
radio = new /obj/item/radio/integrated/beepsky(src)
- ..()
+ . = ..()
/obj/item/weapon/cartridge/detective
name = "\improper D.E.T.E.C.T. cartridge"
@@ -166,7 +166,7 @@ var/list/civilian_cartridges = list(
/obj/item/weapon/cartridge/signal/initialize()
radio = new /obj/item/radio/integrated/signal(src)
- ..()
+ . = ..()
/obj/item/weapon/cartridge/quartermaster
name = "\improper Space Parts & Space Vendors cartridge"
@@ -200,7 +200,7 @@ var/list/civilian_cartridges = list(
/obj/item/weapon/cartridge/hos/initialize()
radio = new /obj/item/radio/integrated/beepsky(src)
- ..()
+ . = ..()
/obj/item/weapon/cartridge/ce
name = "\improper Power-On DELUXE"
@@ -225,7 +225,7 @@ var/list/civilian_cartridges = list(
/obj/item/weapon/cartridge/rd/initialize()
radio = new /obj/item/radio/integrated/signal(src)
- ..()
+ . = ..()
/obj/item/weapon/cartridge/captain
name = "\improper Value-PAK cartridge"
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 151b762d7c..6d512981ae 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -18,7 +18,7 @@
var/power_use = 1
/obj/item/device/flashlight/initialize()
- ..()
+ . = ..()
update_icon()
/obj/item/device/flashlight/New()
diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm
index 4ae0ebc4b0..e4932ff0d2 100644
--- a/code/game/objects/items/devices/gps.dm
+++ b/code/game/objects/items/devices/gps.dm
@@ -18,6 +18,7 @@ var/list/GPS_list = list()
var/can_hide_signal = FALSE // If it can toggle the above var.
/obj/item/device/gps/initialize()
+ . = ..()
GPS_list += src
name = "global positioning system ([gps_tag])"
update_icon()
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 2b40faac66..3b703f703b 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -81,7 +81,7 @@
ks1type = /obj/item/device/encryptionkey/raider
/obj/item/device/radio/headset/raider/initialize()
- ..()
+ . = ..()
set_frequency(RAID_FREQ)
/obj/item/device/radio/headset/binary
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 1bf6bb3f9c..89f10c8140 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -80,7 +80,7 @@ var/global/list/default_medbay_channels = list(
/obj/item/device/radio/initialize()
-
+ . = ..()
if(frequency < RADIO_LOW_FREQ || frequency > RADIO_HIGH_FREQ)
frequency = sanitize_frequency(frequency, RADIO_LOW_FREQ, RADIO_HIGH_FREQ)
set_frequency(frequency)
diff --git a/code/game/objects/items/devices/tvcamera.dm b/code/game/objects/items/devices/tvcamera.dm
index b449a6ce3b..be2b4c18e7 100644
--- a/code/game/objects/items/devices/tvcamera.dm
+++ b/code/game/objects/items/devices/tvcamera.dm
@@ -27,7 +27,7 @@
to_chat(usr, "Audio feed is [radio.broadcasting ? "on" : "off"]")
/obj/item/device/tvcamera/initialize()
- ..()
+ . = ..()
camera = new(src)
camera.c_tag = channel
camera.status = FALSE
diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm
index ce0ee6b5e7..a355be251a 100644
--- a/code/game/objects/items/weapons/policetape.dm
+++ b/code/game/objects/items/weapons/policetape.dm
@@ -12,7 +12,7 @@
var/apply_tape = FALSE
/obj/item/taperoll/initialize()
- ..()
+ . = ..()
if(apply_tape)
var/turf/T = get_turf(src)
if(!T)
@@ -20,7 +20,7 @@
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in T
if(airlock)
afterattack(airlock, null, TRUE)
- qdel(src)
+ return INITIALIZE_HINT_QDEL
var/list/image/hazard_overlays
diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm
index 1787a47bc8..bffd520d32 100644
--- a/code/game/objects/random/random.dm
+++ b/code/game/objects/random/random.dm
@@ -979,7 +979,7 @@ var/list/multi_point_spawns
var/weight // Probability weight for this spawn point
/obj/random_multi/initialize()
- ..()
+ . = ..()
weight = max(1, round(weight))
if(!multi_point_spawns)
diff --git a/code/game/objects/structures/alien_props.dm b/code/game/objects/structures/alien_props.dm
index cb791ec54b..eb8ae9d19f 100644
--- a/code/game/objects/structures/alien_props.dm
+++ b/code/game/objects/structures/alien_props.dm
@@ -69,7 +69,7 @@
var/static/list/possible_tech = list(TECH_MATERIAL, TECH_ENGINEERING, TECH_PHORON, TECH_POWER, TECH_BIO, TECH_COMBAT, TECH_MAGNET, TECH_DATA)
/obj/item/prop/alien/junk/initialize()
- ..()
+ . = ..()
icon_state = pick(possible_states)
var/list/techs = possible_tech.Copy()
origin_tech = list()
diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm
index 9bceee8f6e..d9f3340bdd 100644
--- a/code/game/objects/structures/catwalk.dm
+++ b/code/game/objects/structures/catwalk.dm
@@ -11,12 +11,13 @@
anchored = 1.0
/obj/structure/catwalk/initialize()
+ . = ..()
for(var/obj/structure/catwalk/O in range(1))
O.update_icon()
for(var/obj/structure/catwalk/C in get_turf(src))
if(C != src)
warning("Duplicate [type] in [loc] ([x], [y], [z])")
- qdel(C)
+ return INITIALIZE_HINT_QDEL
update_icon()
/obj/structure/catwalk/Destroy()
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index ee78f5498d..a9fc515e3b 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -24,7 +24,7 @@
var/list/will_contain
/obj/structure/closet/initialize()
- ..()
+ . = ..()
if(will_contain)
create_objects_in_loc(src, will_contain)
diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm
index c0d27cad1c..c4e9ece866 100644
--- a/code/game/objects/structures/crates_lockers/largecrate.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate.dm
@@ -6,7 +6,7 @@
density = 1
/obj/structure/largecrate/initialize()
- ..()
+ . = ..()
for(var/obj/I in src.loc)
if(I.density || I.anchored || I == src || !I.simulated)
continue
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index e9aa267276..c95b5af2c9 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -306,7 +306,7 @@
/obj/structure/flora/sif/subterranean/initialize()
icon_state = "[initial(icon_state)][rand(1,2)]"
- ..()
+ . = ..()
/obj/structure/flora/sif/eyes
name = "mysterious bulbs"
@@ -315,4 +315,4 @@
/obj/structure/flora/sif/eyes/initialize()
icon_state = "[initial(icon_state)][rand(1,3)]"
- ..()
\ No newline at end of file
+ . = ..()
\ No newline at end of file
diff --git a/code/game/objects/structures/ghost_pods/ghost_pods.dm b/code/game/objects/structures/ghost_pods/ghost_pods.dm
index 9eeefeee61..02c5f304f3 100644
--- a/code/game/objects/structures/ghost_pods/ghost_pods.dm
+++ b/code/game/objects/structures/ghost_pods/ghost_pods.dm
@@ -55,7 +55,7 @@
var/delay_to_try_again = 20 MINUTES // How long to wait if first attempt fails. Set to 0 to never try again.
/obj/structure/ghost_pod/automatic/initialize()
- ..()
+ . = ..()
spawn(delay_to_self_open)
if(src)
trigger()
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index ac231eb947..c042b8fc9a 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -10,15 +10,15 @@
// flags = CONDUCT
/obj/structure/lattice/initialize()
- ..()
+ . = ..()
if(!(istype(src.loc, /turf/space) || istype(src.loc, /turf/simulated/open) || istype(src.loc, /turf/simulated/mineral)))
- qdel(src)
- return
+ return INITIALIZE_HINT_QDEL
for(var/obj/structure/lattice/LAT in src.loc)
if(LAT != src)
- qdel(LAT)
+ crash_with("Found multiple lattices at '[log_info_line(loc)]'")
+ return INITIALIZE_HINT_QDEL
icon = 'icons/obj/smoothlattice.dmi'
icon_state = "latticeblank"
updateOverlays()
diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm
index de9a803624..5a655b6673 100644
--- a/code/game/objects/structures/loot_piles.dm
+++ b/code/game/objects/structures/loot_piles.dm
@@ -119,7 +119,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
/obj/structure/loot_pile/maint/initialize()
icon_state = pick(icon_states_to_use)
- ..()
+ . = ..()
// Has large amounts of possible items, most of which may or may not be useful.
/obj/structure/loot_pile/maint/junk
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index 75052f7b86..0a26e568ec 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -26,6 +26,7 @@
I.loc = src
notices++
icon_state = "nboard0[notices]"
+ . = ..()
//attaching papers!!
/obj/structure/noticeboard/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm
index 1acafd5726..27bb902aea 100644
--- a/code/game/objects/structures/railing.dm
+++ b/code/game/objects/structures/railing.dm
@@ -24,7 +24,7 @@
verbs += /obj/structure/proc/climb_on
/obj/structure/railing/initialize()
- ..()
+ . = ..()
if(src.anchored)
update_icon(0)
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index b2c5e93cb8..7f78e8f0e7 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -31,13 +31,13 @@ FLOOR SAFES
/obj/structure/safe/initialize()
+ . = ..()
for(var/obj/item/I in loc)
if(space >= maxspace)
return
if(I.w_class + space <= maxspace)
space += I.w_class
- I.loc = src
-
+ I.forceMove(src)
/obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear)
if(user && canhear)
@@ -175,7 +175,7 @@ obj/structure/safe/ex_act(severity)
layer = 2.5
/obj/structure/safe/floor/initialize()
- ..()
+ . = ..()
var/turf/T = loc
if(istype(T) && !T.is_plating())
hide(1)
diff --git a/code/game/objects/structures/window_spawner.dm b/code/game/objects/structures/window_spawner.dm
index d0db6e7f08..e2714be757 100644
--- a/code/game/objects/structures/window_spawner.dm
+++ b/code/game/objects/structures/window_spawner.dm
@@ -26,7 +26,7 @@
return FALSE
/obj/effect/wingrille_spawn/initialize()
- ..()
+ . = ..()
if(!win_path)
return
if(ticker && ticker.current_state < GAME_STATE_PLAYING)
diff --git a/code/game/shuttle_engines.dm b/code/game/shuttle_engines.dm
index 51ec43e32f..c76967545e 100644
--- a/code/game/shuttle_engines.dm
+++ b/code/game/shuttle_engines.dm
@@ -18,7 +18,7 @@
else return ..()
/obj/structure/shuttle/window/initialize()
- ..()
+ . = ..()
auto_join()
/obj/structure/shuttle/window/proc/auto_join()
diff --git a/code/game/turfs/flooring/flooring_decals.dm b/code/game/turfs/flooring/flooring_decals.dm
index 81fc5ba88f..84a243e35f 100644
--- a/code/game/turfs/flooring/flooring_decals.dm
+++ b/code/game/turfs/flooring/flooring_decals.dm
@@ -22,8 +22,8 @@ var/list/floor_decals = list()
var/turf/T = get_turf(src)
if(T) //VOREStation Edit
T.apply_decals()
- qdel(src)
- return
+ initialized = TRUE
+ return INITIALIZE_HINT_QDEL
/obj/effect/floor_decal/reset
name = "reset marker"
@@ -33,8 +33,8 @@ var/list/floor_decals = list()
if(T.decals && T.decals.len)
T.decals.Cut()
T.update_icon()
- qdel(src)
- return
+ initialized = TRUE
+ return INITIALIZE_HINT_QDEL
/obj/effect/floor_decal/corner
icon_state = "corner_white"
diff --git a/code/game/turfs/initialization/init.dm b/code/game/turfs/initialization/init.dm
index c1e8be47d1..6c2d8ead29 100644
--- a/code/game/turfs/initialization/init.dm
+++ b/code/game/turfs/initialization/init.dm
@@ -1,16 +1,11 @@
-/datum/turf_initializer/proc/initialize(var/turf/T)
+/datum/turf_initializer/proc/InitializeTurf(var/turf/T)
return
/area
var/datum/turf_initializer/turf_initializer = null
-/area/initialize()
- ..()
- var/list/minerals = list()
- for(var/turf/simulated/T in src)
- if(T.initialize())
- minerals += T
- if(turf_initializer)
- turf_initializer.initialize(T)
- for(var/turf/simulated/mineral/M in minerals)
- M.MineralSpread()
+/area/LateInitialize()
+ . = ..()
+ if(turf_initializer)
+ for(var/turf/simulated/T in src)
+ turf_initializer.InitializeTurf(T)
diff --git a/code/game/turfs/initialization/maintenance.dm b/code/game/turfs/initialization/maintenance.dm
index 558f638588..7347ec47db 100644
--- a/code/game/turfs/initialization/maintenance.dm
+++ b/code/game/turfs/initialization/maintenance.dm
@@ -1,4 +1,4 @@
-/datum/turf_initializer/maintenance/initialize(var/turf/simulated/T)
+/datum/turf_initializer/maintenance/InitializeTurf(var/turf/simulated/T)
if(T.density)
return
// Quick and dirty check to avoid placing things inside windows
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index aac979ff5c..789ec20a17 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -59,9 +59,6 @@
holy = 1
levelupdate()
-/turf/simulated/proc/initialize()
- return
-
/turf/simulated/proc/AddTracks(var/typepath,var/bloodDNA,var/comingdir,var/goingdir,var/bloodcolor="#A10808")
var/obj/effect/decal/cleanable/blood/tracks/tracks = locate(typepath) in src
if(!tracks)
diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm
index 8789ddef80..07c686df99 100644
--- a/code/game/turfs/simulated/floor_types.dm
+++ b/code/game/turfs/simulated/floor_types.dm
@@ -194,7 +194,7 @@
block_tele = TRUE
/turf/simulated/shuttle/floor/alien/initialize()
- ..()
+ . = ..()
icon_state = "alienpod[rand(1, 9)]"
/turf/simulated/shuttle/floor/alienplating
diff --git a/code/game/turfs/simulated/outdoors/grass.dm b/code/game/turfs/simulated/outdoors/grass.dm
index d7926b526d..218291815f 100644
--- a/code/game/turfs/simulated/outdoors/grass.dm
+++ b/code/game/turfs/simulated/outdoors/grass.dm
@@ -32,7 +32,7 @@ var/list/grass_types = list(
/turf/simulated/floor/outdoors/grass/sif/initialize()
if(tree_chance && prob(tree_chance))
new /obj/structure/flora/tree/sif(src)
- ..()
+ . = ..()
/turf/simulated/floor/outdoors/grass/initialize()
if(prob(50))
@@ -42,7 +42,7 @@ var/list/grass_types = list(
if(grass_chance && prob(grass_chance))
var/grass_type = pick(grass_types)
new grass_type(src)
- ..()
+ . = ..()
/turf/simulated/floor/outdoors/grass/forest
name = "thick grass"
diff --git a/code/game/turfs/simulated/outdoors/outdoors.dm b/code/game/turfs/simulated/outdoors/outdoors.dm
index 9bf719c01a..13d983a9e1 100644
--- a/code/game/turfs/simulated/outdoors/outdoors.dm
+++ b/code/game/turfs/simulated/outdoors/outdoors.dm
@@ -22,7 +22,7 @@ var/list/outdoor_turfs = list()
/turf/simulated/floor/outdoors/initialize()
update_icon()
- ..()
+ . = ..()
/turf/simulated/floor/New()
if(outdoors)
diff --git a/code/game/turfs/simulated/outdoors/sky.dm b/code/game/turfs/simulated/outdoors/sky.dm
index c7209f9fb3..c329fc2e4d 100644
--- a/code/game/turfs/simulated/outdoors/sky.dm
+++ b/code/game/turfs/simulated/outdoors/sky.dm
@@ -13,6 +13,7 @@
phoron = 0
/turf/simulated/sky/initialize()
+ . = ..()
outdoor_turfs.Add(src)
set_light(2, 2, "#FFFFFF")
diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm
index 6d3d7354f7..b3b1ec8c8b 100644
--- a/code/game/turfs/simulated/wall_types.dm
+++ b/code/game/turfs/simulated/wall_types.dm
@@ -132,7 +132,7 @@
name = true_name
/turf/simulated/shuttle/wall/initialize()
- ..()
+ . = ..()
if(join_group)
src.auto_join()
@@ -213,7 +213,7 @@
stripe_color = "#00FF00"
/turf/simulated/shuttle/wall/voidcraft/initialize()
- ..()
+ . = ..()
update_icon()
/turf/simulated/shuttle/wall/voidcraft/update_icon()
diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm
index e766b1bba3..a47578f102 100644
--- a/code/game/turfs/simulated/water.dm
+++ b/code/game/turfs/simulated/water.dm
@@ -11,11 +11,8 @@
outdoors = TRUE
var/depth = 1 // Higher numbers indicates deeper water.
-/turf/simulated/floor/water/New()
- update_icon()
- ..()
-
/turf/simulated/floor/water/initialize()
+ . = ..()
update_icon()
/turf/simulated/floor/water/update_icon()
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index e386590ec7..67bac3b773 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -24,9 +24,12 @@
var/corpseidaccess = null //This is for access. See access.dm for which jobs give what access. Again, put in quotes. Use "Captain" if you want it to be all access.
var/corpseidicon = null //For setting it to be a gold, silver, CentCom etc ID
var/species = "Human"
+ delete_me = TRUE
/obj/effect/landmark/corpse/initialize()
+ ..()
createCorpse()
+ return INITIALIZE_HINT_QDEL
/obj/effect/landmark/corpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it.
var/mob/living/carbon/human/M = new /mob/living/carbon/human (src.loc)
@@ -76,7 +79,6 @@
W.assignment = corpseidjob
M.set_id_info(W)
M.equip_to_slot_or_del(W, slot_wear_id)
- qdel(src)
diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm
index 88abd1eb32..7cde5e6056 100644
--- a/code/modules/awaymissions/gateway.dm
+++ b/code/modules/awaymissions/gateway.dm
@@ -10,14 +10,9 @@
/obj/machinery/gateway/initialize()
update_icon()
- if(dir == 2 || dir == 6 || dir == 10)
+ if(dir == SOUTH)
density = 0
-
-/obj/machinery/gateway/New() // Doesn't initialize in generated maps which is bad.
- update_icon()
- if(dir == 2 || dir == 6 || dir == 10)
- density = 0
-
+ . = ..()
/obj/machinery/gateway/update_icon()
if(active)
@@ -43,7 +38,7 @@
update_icon()
wait = world.time + config.gateway_delay //+ thirty minutes default
awaygate = locate(/obj/machinery/gateway/centeraway)
-
+ . = ..()
/obj/machinery/gateway/centerstation/update_icon()
if(active)
@@ -172,6 +167,7 @@ obj/machinery/gateway/centerstation/process()
/obj/machinery/gateway/centeraway/initialize()
update_icon()
stationgate = locate(/obj/machinery/gateway/centerstation)
+ . = ..()
/obj/machinery/gateway/centeraway/update_icon()
diff --git a/code/modules/awaymissions/loot.dm b/code/modules/awaymissions/loot.dm
index 1ed7b78d2a..6ca57138b6 100644
--- a/code/modules/awaymissions/loot.dm
+++ b/code/modules/awaymissions/loot.dm
@@ -6,6 +6,7 @@
var/loot = "" //a list of possible items to spawn- a string of paths
/obj/effect/spawner/lootdrop/initialize()
+ ..()
var/list/things = params2list(loot)
if(things && things.len)
@@ -21,4 +22,4 @@
continue
new loot_path(get_turf(src))
- qdel(src)
\ No newline at end of file
+ return INITIALIZE_HINT_QDEL
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index 719373f5d3..1b5318868b 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -13,10 +13,7 @@ var/global/list/plant_seed_sprites = list()
/obj/item/seeds/initialize()
update_seed()
- ..()
-
-/obj/item/seeds/New()
- ..()
+ . = ..()
//Grabs the appropriate seed datum from the global list.
/obj/item/seeds/proc/update_seed()
@@ -79,7 +76,7 @@ var/global/list/plant_seed_sprites = list()
/obj/item/seeds/random/initialize()
seed = plant_controller.create_random_seed()
seed_type = seed.name
- update_seed()
+ . = ..()
/obj/item/seeds/replicapod
seed_type = "diona"
diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm
index 4a924fdca3..7dc02dedc7 100644
--- a/code/modules/hydroponics/trays/tray.dm
+++ b/code/modules/hydroponics/trays/tray.dm
@@ -165,16 +165,19 @@
nymph.visible_message("[nymph] rolls around in [src] for a bit.","You roll around in [src] for a bit.")
return
-/obj/machinery/portable_atmospherics/hydroponics/New()
- ..()
+/obj/machinery/portable_atmospherics/hydroponics/initialize()
+ . = ..()
temp_chem_holder = new()
temp_chem_holder.create_reagents(10)
create_reagents(200)
if(mechanical)
connect()
update_icon()
+ return INITIALIZE_HINT_LATELOAD
-/obj/machinery/portable_atmospherics/hydroponics/initialize()
+// Give the seeds time to initialize itself
+/obj/machinery/portable_atmospherics/hydroponics/LateInitialize()
+ . = ..()
var/obj/item/seeds/S = locate() in loc
if(S)
plant_seeds(S)
diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm
index 78deb6cf98..3f83f07ec4 100644
--- a/code/modules/integrated_electronics/core/printer.dm
+++ b/code/modules/integrated_electronics/core/printer.dm
@@ -20,7 +20,7 @@
can_clone = TRUE
/obj/item/device/integrated_circuit_printer/initialize()
- ..()
+ . = ..()
if(!recipe_list.len)
// Unfortunately this needed a lot of loops, but it should only be run once at init.
diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm
index 8da4fad6d8..3ef22e0a5c 100644
--- a/code/modules/integrated_electronics/subtypes/input.dm
+++ b/code/modules/integrated_electronics/subtypes/input.dm
@@ -335,7 +335,7 @@
var/datum/radio_frequency/radio_connection
/obj/item/integrated_circuit/input/signaler/initialize()
- ..()
+ . = ..()
set_frequency(frequency)
// Set the pins so when someone sees them, they won't show as null
set_pin_data(IC_INPUT, 1, frequency)
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index a45f5dba2d..10c1fb2a8e 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -20,6 +20,7 @@
opacity = 1
/obj/structure/bookcase/initialize()
+ . = ..()
for(var/obj/item/I in loc)
if(istype(I, /obj/item/weapon/book))
I.loc = src
diff --git a/code/modules/lore_codex/codex.dm b/code/modules/lore_codex/codex.dm
index 67a4a3ac25..3abaf58fec 100644
--- a/code/modules/lore_codex/codex.dm
+++ b/code/modules/lore_codex/codex.dm
@@ -10,7 +10,7 @@
/obj/item/weapon/book/codex/initialize()
tree = new(src, root_type)
- ..()
+ . = ..()
/obj/item/weapon/book/codex/attack_self(mob/user)
if(!tree)
diff --git a/code/modules/maps/tg/map_template.dm b/code/modules/maps/tg/map_template.dm
index eaa9d5f76c..5ffc507888 100644
--- a/code/modules/maps/tg/map_template.dm
+++ b/code/modules/maps/tg/map_template.dm
@@ -81,7 +81,7 @@ var/list/global/map_templates = list()
admin_notice("Submap initializations finished.", R_DEBUG)
-/datum/map_template/proc/load_new_z(var/centered = FALSE, var/dont_init = FALSE)
+/datum/map_template/proc/load_new_z(var/centered = FALSE)
var/x = 1
var/y = 1
@@ -96,13 +96,12 @@ var/list/global/map_templates = list()
// repopulate_sorted_areas()
//initialize things that are normally initialized after map load
- if(!dont_init)
- initTemplateBounds(bounds)
+ initTemplateBounds(bounds)
log_game("Z-level [name] loaded at at [x],[y],[world.maxz]")
on_map_loaded(world.maxz) //VOREStation Edit
return TRUE
-/datum/map_template/proc/load(turf/T, centered = FALSE, dont_init = FALSE)
+/datum/map_template/proc/load(turf/T, centered = FALSE)
var/old_T = T
if(centered)
T = locate(T.x - round(width/2) , T.y - round(height/2) , T.z)
@@ -124,8 +123,7 @@ var/list/global/map_templates = list()
// repopulate_sorted_areas()
//initialize things that are normally initialized after map load
- if(!dont_init)
- initTemplateBounds(bounds)
+ initTemplateBounds(bounds)
log_game("[name] loaded at at [T.x],[T.y],[T.z]")
loaded++
@@ -240,7 +238,7 @@ var/list/global/map_templates = list()
admin_notice("Submap \"[chosen_template.name]\" placed at ([T.x], [T.y], [T.z])", R_DEBUG)
// Do loading here.
- chosen_template.load(T, centered = TRUE, dont_init = TRUE) // This is run before the main map's initialization routine, so that can initilize our submaps for us instead.
+ chosen_template.load(T, centered = TRUE) // This is run before the main map's initialization routine, so that can initilize our submaps for us instead.
CHECK_TICK
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index a6a857c43b..2f81f1568a 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -97,10 +97,16 @@ var/list/mining_overlay_cache = list()
return
/turf/simulated/mineral/initialize()
+ . = ..()
if(prob(20))
overlay_detail = "asteroid[rand(0,9)]"
update_icon(1)
- return density && mineral
+ if(density && mineral)
+ . = INITIALIZE_HINT_LATELOAD
+
+/turf/simulated/mineral/LateInitialize()
+ if(density && mineral)
+ MineralSpread()
/turf/simulated/mineral/update_icon(var/update_neighbors)
diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm
index e166573811..6e8805d17a 100644
--- a/code/modules/mob/living/bot/bot.dm
+++ b/code/modules/mob/living/bot/bot.dm
@@ -51,7 +51,7 @@
// Make sure mapped in units start turned on.
/mob/living/bot/initialize()
- ..()
+ . = ..()
if(on)
turn_on() // Update lights and other stuff
diff --git a/code/modules/mob/living/simple_animal/aliens/mimic.dm b/code/modules/mob/living/simple_animal/aliens/mimic.dm
index b79b524875..77ba92ff6a 100644
--- a/code/modules/mob/living/simple_animal/aliens/mimic.dm
+++ b/code/modules/mob/living/simple_animal/aliens/mimic.dm
@@ -63,7 +63,7 @@
// Pickup loot
/mob/living/simple_animal/hostile/mimic/crate/initialize()
- ..()
+ . = ..()
for(var/obj/item/I in loc)
I.forceMove(src)
diff --git a/code/modules/mob/living/simple_animal/animals/slime.dm b/code/modules/mob/living/simple_animal/animals/slime.dm
index 7d5fa16dab..f7d23771a3 100644
--- a/code/modules/mob/living/simple_animal/animals/slime.dm
+++ b/code/modules/mob/living/simple_animal/animals/slime.dm
@@ -27,7 +27,7 @@
icon_dead = "rainbow baby slime dead"
/mob/living/simple_animal/slime/science/initialize()
- ..()
+ . = ..()
overlays.Cut()
overlays += "aslime-:33"
diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm
index ff69867548..34a540ac45 100644
--- a/code/modules/mob/new_player/login.dm
+++ b/code/modules/mob/new_player/login.dm
@@ -19,6 +19,7 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image
icon_state = pick(using_map.lobby_screens)
else
icon_state = known_icon_states[1]
+ . = ..()
/mob/new_player
var/client/my_client // Need to keep track of this ourselves, since by the time Logout() is called the client has already been nulled
diff --git a/code/modules/multiz/open_space_controller.dm b/code/modules/multiz/open_space_controller.dm
index fc6c7e5484..e790f476dc 100644
--- a/code/modules/multiz/open_space_controller.dm
+++ b/code/modules/multiz/open_space_controller.dm
@@ -61,12 +61,6 @@
add_turf(T)
open_space_initialised = TRUE
-/turf/simulated/open/initialize()
- . = ..()
- if(open_space_initialised)
- // log_debug("[src] ([x],[y],[z]) queued for update for initialize()")
- OS_controller.add_turf(src)
-
/turf/Entered(atom/movable/AM)
. = ..()
if(open_space_initialised && !AM.invisibility && isobj(AM))
diff --git a/code/modules/multiz/structures.dm b/code/modules/multiz/structures.dm
index 5916295a03..9a47f7907c 100644
--- a/code/modules/multiz/structures.dm
+++ b/code/modules/multiz/structures.dm
@@ -18,6 +18,7 @@
var/const/climb_time = 2 SECONDS
/obj/structure/ladder/initialize()
+ . = ..()
// the upper will connect to the lower
if(allowed_directions & DOWN) //we only want to do the top one, as it will initialize the ones before it.
for(var/obj/structure/ladder/L in GetBelow(src))
@@ -132,6 +133,7 @@
layer = 2.4 // Above turf, but they're sort of the floor, so below objects.
/obj/structure/stairs/initialize()
+ . = ..()
for(var/turf/turf in locs)
var/turf/simulated/open/above = GetAbove(turf)
if(!above)
diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm
index 1c9f108a7a..d52f16706b 100644
--- a/code/modules/multiz/turf.dm
+++ b/code/modules/multiz/turf.dm
@@ -34,7 +34,7 @@
update()
/turf/simulated/open/initialize()
- ..()
+ . = ..()
ASSERT(HasBelow(z))
update()
diff --git a/code/modules/overmap/ships/computers/engine_control.dm b/code/modules/overmap/ships/computers/engine_control.dm
index 49b0f190b6..d700e38a81 100644
--- a/code/modules/overmap/ships/computers/engine_control.dm
+++ b/code/modules/overmap/ships/computers/engine_control.dm
@@ -9,6 +9,7 @@
var/obj/effect/map/ship/linked
/obj/machinery/computer/engines/initialize()
+ . = ..()
linked = map_sectors["[z]"]
if (linked)
if (!linked.eng_control)
diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm
index b92eebbc7e..6c0ee20f1f 100644
--- a/code/modules/overmap/ships/computers/helm.dm
+++ b/code/modules/overmap/ships/computers/helm.dm
@@ -11,6 +11,7 @@
var/dy //coordinates
/obj/machinery/computer/helm/initialize()
+ . = ..()
linked = map_sectors["[z]"]
if (linked)
if(!linked.nav_control)
diff --git a/code/modules/overmap/ships/computers/shuttle.dm b/code/modules/overmap/ships/computers/shuttle.dm
index 05d1a6d8c6..8ebbbf20d1 100644
--- a/code/modules/overmap/ships/computers/shuttle.dm
+++ b/code/modules/overmap/ships/computers/shuttle.dm
@@ -9,7 +9,7 @@
var/obj/effect/map/home //current destination
/obj/machinery/computer/shuttle_control/explore/initialize()
- ..()
+ . = ..()
home = map_sectors["[z]"]
shuttle_tag = "[shuttle_tag]-[z]"
if(!shuttle_controller.shuttles[shuttle_tag])
diff --git a/code/modules/overmap/ships/engines/thermal.dm b/code/modules/overmap/ships/engines/thermal.dm
index b2f537bb96..323bc82906 100644
--- a/code/modules/overmap/ships/engines/thermal.dm
+++ b/code/modules/overmap/ships/engines/thermal.dm
@@ -54,7 +54,7 @@
var/datum/ship_engine/thermal/controller
/obj/machinery/atmospherics/unary/engine/initialize()
- ..()
+ . = ..()
controller = new(src)
/obj/machinery/atmospherics/unary/engine/Destroy()
diff --git a/code/modules/overmap/ships/ship.dm b/code/modules/overmap/ships/ship.dm
index 9b8557363d..b7adf7319a 100644
--- a/code/modules/overmap/ships/ship.dm
+++ b/code/modules/overmap/ships/ship.dm
@@ -15,6 +15,7 @@
var/obj/machinery/computer/engines/eng_control
/obj/effect/map/ship/initialize()
+ . = ..()
for(var/obj/machinery/computer/engines/E in machines)
if (E.z == map_z)
eng_control = E
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 89a0e5544a..940dac91e7 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -29,6 +29,7 @@
for(var/obj/item/I in loc)
if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/folder) || istype(I, /obj/item/weapon/photo) || istype(I, /obj/item/weapon/paper_bundle))
I.loc = src
+ . = ..()
/obj/structure/filingcabinet/attackby(obj/item/P as obj, mob/user as mob)
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/weapon/paper_bundle))
diff --git a/code/modules/power/cells/device_cells.dm b/code/modules/power/cells/device_cells.dm
index 822370a6b1..9cacf67073 100644
--- a/code/modules/power/cells/device_cells.dm
+++ b/code/modules/power/cells/device_cells.dm
@@ -21,7 +21,7 @@
charge_amount = 20
/obj/item/weapon/cell/device/weapon/empty/initialize()
- ..()
+ . = ..()
charge = 0
update_icon()
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 6a40cf3b8e..5a20aaeaeb 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -111,7 +111,7 @@
var/overheating = 0 //if this gets high enough the generator explodes
/obj/machinery/power/port_gen/pacman/initialize()
- ..()
+ . = ..()
if(anchored)
connect_to_network()
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index e5dead7ee5..f4f6579420 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -42,7 +42,7 @@
return 1
/obj/machinery/power/emitter/initialize()
- ..()
+ . = ..()
if(state == 2 && anchored)
connect_to_network()
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index dd5c5336bd..360cad96bf 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -348,7 +348,7 @@ var/list/solars_list = list()
/obj/machinery/power/solar_control/initialize()
- ..()
+ . = ..()
if(!powernet) return
set_panels(cdir)
connect_to_network()
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index db06449d18..a6f6b89069 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -110,11 +110,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
files = new /datum/research(src) //Setup the research data holder.
if(!id)
for(var/obj/machinery/r_n_d/server/centcom/S in machines)
- S.initialize()
+ S.update_connections()
break
/obj/machinery/computer/rdconsole/initialize()
SyncRDevices()
+ . = ..()
/obj/machinery/computer/rdconsole/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob)
//Loading a disk into it.
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index fd67bbbc7b..a1ad322ba4 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -22,7 +22,6 @@
component_parts += new /obj/item/stack/cable_coil(src)
component_parts += new /obj/item/stack/cable_coil(src)
RefreshParts()
- initialize();
/obj/machinery/r_n_d/server/Destroy()
griefProtection()
@@ -35,6 +34,7 @@
idle_power_usage /= max(1, tot_rating)
/obj/machinery/r_n_d/server/initialize()
+ . = ..()
if(!files)
files = new /datum/research(src)
var/list/temp_list
@@ -123,8 +123,7 @@
name = "Central R&D Database"
server_id = -1
-/obj/machinery/r_n_d/server/centcom/initialize()
- ..()
+/obj/machinery/r_n_d/server/centcom/proc/update_connections()
var/list/no_id_servers = list()
var/list/server_ids = list()
for(var/obj/machinery/r_n_d/server/S in machines)
diff --git a/code/modules/shuttles/escape_pods.dm b/code/modules/shuttles/escape_pods.dm
index b832e94dbd..5555e68fe9 100644
--- a/code/modules/shuttles/escape_pods.dm
+++ b/code/modules/shuttles/escape_pods.dm
@@ -84,7 +84,7 @@
name = "escape pod berth controller"
/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth/initialize()
- ..()
+ . = ..()
docking_program = new/datum/computer/file/embedded_program/docking/simple/escape_pod(src)
program = docking_program
diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm
index 39d362d75d..428dd386a4 100644
--- a/code/modules/tables/tables.dm
+++ b/code/modules/tables/tables.dm
@@ -60,7 +60,7 @@ var/list/table_icon_cache = list()
take_damage(100)
/obj/structure/table/initialize()
- ..()
+ . = ..()
// One table per turf.
for(var/obj/structure/table/T in loc)
diff --git a/code/modules/turbolift/turbolift_map.dm b/code/modules/turbolift/turbolift_map.dm
index a3b9b2c82c..8614f0df85 100644
--- a/code/modules/turbolift/turbolift_map.dm
+++ b/code/modules/turbolift/turbolift_map.dm
@@ -23,7 +23,7 @@
..()
/obj/turbolift_map_holder/initialize()
-
+ . = ..()
// Create our system controller.
var/datum/turbolift/lift = new()
diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm
index c59ffe7e64..74ef6075fd 100644
--- a/code/modules/vehicles/train.dm
+++ b/code/modules/vehicles/train.dm
@@ -22,6 +22,7 @@
// Standard procs
//-------------------------------------------
/obj/vehicle/train/initialize()
+ . = ..()
for(var/obj/vehicle/train/T in orange(1, src))
latch(T)
diff --git a/code/modules/xenoarcheaology/anomaly_container.dm b/code/modules/xenoarcheaology/anomaly_container.dm
index 616b04b10d..6372405300 100644
--- a/code/modules/xenoarcheaology/anomaly_container.dm
+++ b/code/modules/xenoarcheaology/anomaly_container.dm
@@ -8,7 +8,7 @@
var/obj/machinery/artifact/contained
/obj/structure/anomaly_container/initialize()
- ..()
+ . = ..()
var/obj/machinery/artifact/A = locate() in loc
if(A)
diff --git a/code/modules/xenoarcheaology/tools/artifact_analyser.dm b/code/modules/xenoarcheaology/tools/artifact_analyser.dm
index 553b6674df..e169a62061 100644
--- a/code/modules/xenoarcheaology/tools/artifact_analyser.dm
+++ b/code/modules/xenoarcheaology/tools/artifact_analyser.dm
@@ -15,7 +15,7 @@
var/report_num = 0
/obj/machinery/artifact_analyser/initialize()
- ..()
+ . = ..()
reconnect_scanner()
/obj/machinery/artifact_analyser/proc/reconnect_scanner()
diff --git a/maps/southern_cross/turfs/outdoors.dm b/maps/southern_cross/turfs/outdoors.dm
index 443e243518..6c0e2b9035 100644
--- a/maps/southern_cross/turfs/outdoors.dm
+++ b/maps/southern_cross/turfs/outdoors.dm
@@ -162,4 +162,5 @@
// Step trigger to fall down to planet Sif
/obj/effect/step_trigger/teleporter/planetary_fall/sif/initialize()
- planet = planet_sif
\ No newline at end of file
+ planet = planet_sif
+ . = ..()