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 + . = ..()