Update every initialize() proc to return an initialize hint.

* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
This commit is contained in:
Leshana
2018-01-26 18:50:55 -05:00
parent 44dc4b7286
commit 5847319443
114 changed files with 195 additions and 192 deletions

View File

@@ -194,7 +194,7 @@
return 1
/obj/machinery/atmospherics/binary/dp_vent_pump/initialize()
..()
. = ..()
if(frequency)
set_frequency(frequency)

View File

@@ -128,7 +128,7 @@
return 1
/obj/machinery/atmospherics/binary/passive_gate/initialize()
..()
. = ..()
if(frequency)
set_frequency(frequency)

View File

@@ -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)

View File

@@ -129,8 +129,9 @@
return 1
/obj/machinery/atmospherics/trinary/atmos_filter/initialize()
. = ..()
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))

View File

@@ -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)

View File

@@ -123,8 +123,8 @@
return 1
/obj/machinery/atmospherics/unary/outlet_injector/initialize()
..()
. = ..()
if(frequency)
set_frequency(frequency)
/obj/machinery/atmospherics/unary/outlet_injector/receive_signal(datum/signal/signal)

View File

@@ -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)

View File

@@ -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)

View File

@@ -42,16 +42,16 @@ datum/controller/game_controller/proc/setup()
transfer_controller = new
admin_notice("<span class='danger'>Initializations complete.</span>", 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()

View File

@@ -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"

View File

@@ -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

View File

@@ -181,6 +181,7 @@
RefreshParts()
/obj/machinery/sleeper/initialize()
. = ..()
update_icon()
/obj/machinery/sleeper/process()

View File

@@ -131,6 +131,7 @@
/obj/machinery/alarm/initialize()
. = ..()
set_frequency(frequency)
if(!master_is_operating())
elect_master()
@@ -990,6 +991,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")

View File

@@ -64,12 +64,14 @@
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
/obj/machinery/air_sensor/initialize()
. = ..()
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,6 +130,8 @@ obj/machinery/computer/general_air_control/Destroy()
radio_connection = radio_controller.add_object(src, frequency, RADIO_ATMOSIA)
/obj/machinery/computer/general_air_control/initialize()
. = ..()
if(frequency)
set_frequency(frequency)
/obj/machinery/computer/general_air_control/large_tank_control

View File

@@ -12,16 +12,9 @@
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()
/obj/machinery/meter/Destroy()

View File

@@ -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

View File

@@ -17,7 +17,7 @@
/obj/machinery/computer/cloning/initialize()
..()
. = ..()
updatemodules()
/obj/machinery/computer/cloning/Destroy()

View File

@@ -20,6 +20,7 @@
..()
/obj/machinery/computer/initialize()
. = ..()
power_change()
update_icon()

View File

@@ -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))

View File

@@ -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)

View File

@@ -299,7 +299,7 @@
return ..()
/obj/machinery/cryopod/initialize()
..()
. = ..()
find_control_computer()

View File

@@ -1177,6 +1177,7 @@ About the new airlock wires panel:
if(A.closeOtherId == src.closeOtherId && A != src)
src.closeOther = A
break
. = ..()
/obj/machinery/door/airlock/Destroy()
qdel(wires)

View File

@@ -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,11 +204,7 @@ 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()
@@ -280,13 +270,7 @@ 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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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()

View File

@@ -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

View File

@@ -52,7 +52,7 @@
return "vanilla"
/obj/machinery/icecream_vat/initialize()
..()
. = ..()
create_reagents(100)
while(product_types.len < 6)
product_types.Add(5)

View File

@@ -61,7 +61,7 @@
// register for radio system
/obj/machinery/status_display/initialize()
..()
. = ..()
if(radio_controller)
radio_controller.add_object(src, frequency)

View File

@@ -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

View File

@@ -18,7 +18,7 @@
return
/obj/machinery/computer/teleporter/initialize()
..()
. = ..()
var/obj/machinery/teleport/station/station
var/obj/machinery/teleport/hub/hub

View File

@@ -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))

View File

@@ -24,6 +24,7 @@
RefreshParts()
/obj/machinery/vr_sleeper/initialize()
. = ..()
update_icon()
/obj/machinery/vr_sleeper/process()

View File

@@ -40,6 +40,7 @@
/obj/machinery/mecha_part_fabricator/initialize()
update_categories()
. = ..()
/obj/machinery/mecha_part_fabricator/process()
..()

View File

@@ -40,6 +40,7 @@
return
/obj/machinery/pros_fabricator/initialize()
. = ..()
manufacturer = basic_robolimb.company
update_categories()

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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()

View File

@@ -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)

View File

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

View File

@@ -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

View File

@@ -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"

View File

@@ -18,7 +18,7 @@
var/power_use = 1
/obj/item/device/flashlight/initialize()
..()
. = ..()
update_icon()
/obj/item/device/flashlight/New()

View File

@@ -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()

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -974,7 +974,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)

View File

@@ -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()

View File

@@ -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()

View File

@@ -24,7 +24,7 @@
var/list/will_contain
/obj/structure/closet/initialize()
..()
. = ..()
if(will_contain)
create_objects_in_loc(src, will_contain)

View File

@@ -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

View File

@@ -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)]"
..()
. = ..()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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

View File

@@ -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)

View File

@@ -24,7 +24,7 @@
verbs += /obj/structure/proc/climb_on
/obj/structure/railing/initialize()
..()
. = ..()
if(src.anchored)
update_icon(0)

View File

@@ -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)

View File

@@ -26,7 +26,7 @@
return FALSE
/obj/effect/wingrille_spawn/initialize()
..()
. = ..()
if(!win_path)
return
if(ticker && ticker.current_state < GAME_STATE_PLAYING)

View File

@@ -18,7 +18,7 @@
else return ..()
/obj/structure/shuttle/window/initialize()
..()
. = ..()
auto_join()
/obj/structure/shuttle/window/proc/auto_join()

View File

@@ -21,8 +21,8 @@ var/list/floor_decals = list()
add_to_turf_decals()
var/turf/T = get_turf(src)
T.apply_decals()
qdel(src)
return
initialized = TRUE
return INITIALIZE_HINT_QDEL
/obj/effect/floor_decal/reset
name = "reset marker"
@@ -32,8 +32,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"

View File

@@ -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
/area/LateInitialize()
. = ..()
if(turf_initializer)
turf_initializer.initialize(T)
for(var/turf/simulated/mineral/M in minerals)
M.MineralSpread()
for(var/turf/simulated/T in src)
turf_initializer.InitializeTurf(T)

View File

@@ -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

View File

@@ -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)

View File

@@ -194,7 +194,7 @@
block_tele = TRUE
/turf/simulated/shuttle/floor/alien/initialize()
..()
. = ..()
icon_state = "alienpod[rand(1, 9)]"
/turf/simulated/shuttle/floor/alienplating

View File

@@ -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"

View File

@@ -22,7 +22,7 @@ var/list/outdoor_turfs = list()
/turf/simulated/floor/outdoors/initialize()
update_icon()
..()
. = ..()
/turf/simulated/floor/New()
if(outdoors)

View File

@@ -13,6 +13,7 @@
phoron = 0
/turf/simulated/sky/initialize()
. = ..()
outdoor_turfs.Add(src)
set_light(2, 2, "#FFFFFF")

View File

@@ -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()

View File

@@ -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()

View File

@@ -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)

View File

@@ -10,9 +10,9 @@
/obj/machinery/gateway/initialize()
update_icon()
if(dir == 2)
if(dir == SOUTH)
density = 0
. = ..()
/obj/machinery/gateway/update_icon()
if(active)
@@ -38,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)
@@ -152,6 +152,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()

View File

@@ -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)
return INITIALIZE_HINT_QDEL

View File

@@ -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"

View File

@@ -165,16 +165,19 @@
nymph.visible_message("<font color='blue'><b>[nymph]</b> rolls around in [src] for a bit.</font>","<font color='blue'>You roll around in [src] for a bit.</font>")
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)

View File

@@ -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.

View File

@@ -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)

View File

@@ -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

View File

@@ -9,7 +9,7 @@
/obj/item/weapon/book/codex/initialize()
tree = new(src, root_type)
..()
. = ..()
/obj/item/weapon/book/codex/attack_self(mob/user)
if(!tree)

View File

@@ -81,7 +81,7 @@ var/list/global/map_templates = list()
admin_notice("<span class='danger'>Submap initializations finished.</span>", 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,12 +96,11 @@ var/list/global/map_templates = list()
// repopulate_sorted_areas()
//initialize things that are normally initialized after map load
if(!dont_init)
initTemplateBounds(bounds)
log_game("Z-level [name] loaded at at [x],[y],[world.maxz]")
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)
@@ -123,7 +122,6 @@ var/list/global/map_templates = list()
// repopulate_sorted_areas()
//initialize things that are normally initialized after map load
if(!dont_init)
initTemplateBounds(bounds)
log_game("[name] loaded at at [T.x],[T.y],[T.z]")
@@ -239,7 +237,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

View File

@@ -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)

View File

@@ -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

View File

@@ -63,7 +63,7 @@
// Pickup loot
/mob/living/simple_animal/hostile/mimic/crate/initialize()
..()
. = ..()
for(var/obj/item/I in loc)
I.forceMove(src)

View File

@@ -27,7 +27,7 @@
icon_dead = "rainbow baby slime dead"
/mob/living/simple_animal/slime/science/initialize()
..()
. = ..()
overlays.Cut()
overlays += "aslime-:33"

View File

@@ -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

View File

@@ -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))

View File

@@ -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))
@@ -131,6 +132,7 @@
anchored = 1
/obj/structure/stairs/initialize()
. = ..()
for(var/turf/turf in locs)
var/turf/simulated/open/above = GetAbove(turf)
if(!above)

View File

@@ -34,7 +34,7 @@
update()
/turf/simulated/open/initialize()
..()
. = ..()
ASSERT(HasBelow(z))
update()

View File

@@ -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)

View File

@@ -11,6 +11,7 @@
var/dy //coordinates
/obj/machinery/computer/helm/initialize()
. = ..()
linked = map_sectors["[z]"]
if (linked)
if(!linked.nav_control)

View File

@@ -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])

View File

@@ -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()

View File

@@ -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

Some files were not shown because too many files have changed in this diff Show More