Finish Machinery new to init (#17334)

* Finish Machinery new to init

* fix that

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Kashargul
2025-03-16 08:57:48 +01:00
committed by GitHub
parent f362f6585f
commit 4d36cfdaeb
116 changed files with 486 additions and 528 deletions
+8 -10
View File
@@ -15,16 +15,14 @@
var/obj/machinery/power/am_engine/injector/connected_I = null
var/state = STATE_DEFAULT
/obj/machinery/computer/am_engine/New()
..()
spawn( 24 )
for(var/obj/machinery/power/am_engine/engine/E in world)
if(E.engine_id == src.engine_id)
src.connected_E = E
for(var/obj/machinery/power/am_engine/injector/I in world)
if(I.engine_id == src.engine_id)
src.connected_I = I
return
/obj/machinery/computer/am_engine/Initialize(mapload)
. = ..()
for(var/obj/machinery/power/am_engine/engine/E in world)
if(E.engine_id == src.engine_id)
src.connected_E = E
for(var/obj/machinery/power/am_engine/injector/I in world)
if(I.engine_id == src.engine_id)
src.connected_I = I
/obj/machinery/computer/am_engine/Topic(href, href_list)
if(..())
+5 -9
View File
@@ -29,8 +29,8 @@
var/stored_power = 0//Power to deploy per tick
/obj/machinery/power/am_control_unit/New()
..()
/obj/machinery/power/am_control_unit/Initialize(mapload)
. = ..()
linked_shielding = list()
linked_cores = list()
@@ -227,16 +227,13 @@
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
if(AMS.processing) AMS.shutdown_core()
AMS.control_unit = null
spawn(10)
AMS.controllerscan()
addtimer(CALLBACK(AMS, TYPE_PROC_REF(/obj/machinery/am_shielding, controllerscan)), 1 SECOND, TIMER_DELETE_ME)
linked_shielding = list()
else
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
AMS.update_icon()
spawn(20)
shield_icon_delay = 0
return
VARSET_IN(src, shield_icon_delay, 0, 2 SECONDS)
/obj/machinery/power/am_control_unit/proc/check_core_stability()
@@ -246,8 +243,7 @@
for(var/obj/machinery/am_shielding/AMS in linked_cores)
stored_core_stability += AMS.stability
stored_core_stability/=linked_cores.len
spawn(40)
stored_core_stability_delay = 0
VARSET_IN(src, stored_core_stability_delay, 0, 4 SECONDS)
return
+8 -15
View File
@@ -28,14 +28,10 @@
//injector
/obj/machinery/power/am_engine/injector/New()
..()
spawn( 13 )
var/loc = get_step(src, NORTH)
src.connected = locate(/obj/machinery/power/am_engine/engine, get_step(loc, NORTH))
return
return
/obj/machinery/power/am_engine/injector/Initialize(mapload)
. = ..()
var/link_loc = get_step(src, NORTH)
src.connected = locate(/obj/machinery/power/am_engine/engine, get_step(link_loc, NORTH))
/obj/machinery/power/am_engine/injector/attackby(obj/item/fuel/F, mob/user)
if( (stat & BROKEN) || !connected) return
@@ -72,13 +68,10 @@
//engine
/obj/machinery/power/am_engine/engine/New()
..()
spawn( 7 )
var/loc = get_step(src, SOUTH)
src.connected = locate(/obj/machinery/power/am_engine/injector, get_step(loc, SOUTH))
return
return
/obj/machinery/power/am_engine/engine/Initialize(mapload)
. = ..()
var/link_loc = get_step(src, SOUTH)
src.connected = locate(/obj/machinery/power/am_engine/injector, get_step(link_loc, SOUTH))
/obj/machinery/power/am_engine/engine/proc/engine_go()
+27 -23
View File
@@ -26,45 +26,49 @@
var/efficiency = 1//How many cores this core counts for when doing power processing, phoron in the air and stability could affect this
/obj/machinery/am_shielding/New(loc)
..(loc)
spawn(10)
controllerscan()
return
/obj/machinery/am_shielding/proc/controllerscan(var/priorscan = 0)
/obj/machinery/am_shielding/Initialize(mapload)
. = ..()
if(!istype(loc, /turf))
return INITIALIZE_HINT_QDEL
//Make sure we are the only one here
if(!istype(src.loc, /turf))
for(var/obj/machinery/am_shielding/AMS in loc.contents)
if(AMS == src)
continue
return INITIALIZE_HINT_QDEL
scan_control_shield()
if(!control_unit) // Failed to link
return INITIALIZE_HINT_QDEL
/obj/machinery/am_shielding/proc/controllerscan()
//Make sure we are the only one here
if(!istype(loc, /turf))
qdel(src)
return
for(var/obj/machinery/am_shielding/AMS in loc.contents)
if(AMS == src) continue
spawn(0)
qdel(src)
if(AMS == src)
continue
qdel(src)
return
scan_control_shield()
if(!control_unit) // Failed to link
qdel(src)
/obj/machinery/am_shielding/proc/scan_control_shield()
//Search for shielding first
for(var/obj/machinery/am_shielding/AMS in cardinalrange(src))
if(AMS && AMS.control_unit && link_control(AMS.control_unit))
break
if(!control_unit)//No other guys nearby look for a control unit
for(var/direction in cardinal)
for(var/obj/machinery/power/am_control_unit/AMC in cardinalrange(src))
if(AMC.add_shielding(src))
break
if(!control_unit)
if(!priorscan)
spawn(20)
controllerscan(1)//Last chance
return
spawn(0)
qdel(src)
return
/obj/machinery/am_shielding/Destroy()
if(control_unit) control_unit.remove_shielding(src)
if(processing) shutdown_core()
+5 -7
View File
@@ -190,8 +190,8 @@ GLOBAL_LIST_EMPTY(apcs)
return drained_energy
/obj/machinery/power/apc/New(turf/loc, var/ndir, var/building=0)
..()
/obj/machinery/power/apc/Initialize(mapload, ndir, building)
. = ..()
wires = new(src)
GLOB.apcs += src
@@ -211,12 +211,10 @@ GLOBAL_LIST_EMPTY(apcs)
name = "[area.name] APC"
stat |= MAINT
update_icon()
return
/obj/machinery/power/apc/Initialize(mapload, ndir, building)
. = ..()
if(!building)
init()
return INITIALIZE_HINT_LATELOAD
init()
return INITIALIZE_HINT_LATELOAD
/obj/machinery/power/apc/LateInitialize()
. = ..()
+2 -2
View File
@@ -28,8 +28,8 @@
should_be_mapped = TRUE
/obj/machinery/power/smes/batteryrack/New()
..()
/obj/machinery/power/smes/batteryrack/Initialize(mapload)
. = ..()
add_parts()
RefreshParts()
@@ -12,8 +12,8 @@
var/obj/machinery/power/fusion_core/cur_viewed_device
var/datum/tgui_module/rustcore_monitor/monitor
/obj/machinery/computer/fusion_core_control/New()
..()
/obj/machinery/computer/fusion_core_control/Initialize(mapload)
. = ..()
monitor = new(src)
monitor.core_tag = id_tag
@@ -10,8 +10,8 @@
var/scan_range = 25
var/datum/tgui_module/rustfuel_control/monitor
/obj/machinery/computer/fusion_fuel_control/New()
..()
/obj/machinery/computer/fusion_fuel_control/Initialize(mapload)
. = ..()
monitor = new(src)
monitor.fuel_tag = id_tag
@@ -11,8 +11,8 @@
var/scan_range = 25
var/datum/tgui_module/gyrotron_control/monitor
/obj/machinery/computer/gyrotron_control/New()
..()
/obj/machinery/computer/gyrotron_control/Initialize(mapload)
. = ..()
monitor = new(src)
monitor.gyro_tag = id_tag
monitor.scan_range = scan_range
+2 -2
View File
@@ -31,8 +31,8 @@ var/global/list/light_type_cache = list()
var/cell_connectors = TRUE
/obj/machinery/light_construct/New(var/atom/newloc, var/newdir, var/building = 0, var/datum/frame/frame_types/frame_type, var/obj/machinery/light/fixture = null)
..(newloc)
/obj/machinery/light_construct/Initialize(mapload, var/newdir, var/building = 0, var/datum/frame/frame_types/frame_type, var/obj/machinery/light/fixture = null)
. = ..()
if(fixture)
fixture_type = fixture.type
fixture.transfer_fingerprints_to(src)
+4 -4
View File
@@ -7,13 +7,13 @@
layer = BELOW_MOB_LAYER
//Vorestation addition, to override the New() proc further below, since this is a lamp.
/obj/machinery/light/flamp/New()
..()
/obj/machinery/light/flamp/Initialize(mapload, obj/machinery/light_construct/construct)
layer = initial(layer)
. = ..()
// create a new lighting fixture
/obj/machinery/light/New()
..()
/obj/machinery/light/Initialize(mapload, obj/machinery/light_construct/construct)
. = ..()
//Vorestation addition, so large mobs stop looking stupid in front of lights.
if (dir == SOUTH) // Lights are backwards, SOUTH lights face north (they are on south wall)
layer = ABOVE_MOB_LAYER
-2
View File
@@ -95,8 +95,6 @@
/obj/machinery/power/rtg/Initialize(mapload)
. = ..()
if(ispath(circuit))
circuit = new circuit(src)
default_apply_parts()
connect_to_network()
@@ -25,14 +25,12 @@
var/next_record = 0
var/is_secret_monitor = FALSE
// Proc: New()
// Proc: Initialize(mapload)
// Parameters: None
// Description: Automatically assigns name according to ID tag.
/obj/machinery/power/sensor/New()
..()
auto_set_name()
/obj/machinery/power/sensor/Initialize(mapload)
. = ..()
auto_set_name()
history["supply"] = list()
history["demand"] = list()
@@ -37,8 +37,8 @@
..()
*/
// On creation automatically connects to active sensors. This is delayed to ensure sensors already exist.
/obj/machinery/computer/power_monitor/New()
..()
/obj/machinery/computer/power_monitor/Initialize(mapload)
. = ..()
power_monitor = new(src)
// On user click opens the UI of this computer.
+2 -2
View File
@@ -17,8 +17,8 @@ var/global/list/rad_collectors = list()
var/locked = 0
var/drainratio = 1
/obj/machinery/power/rad_collector/New()
..()
/obj/machinery/power/rad_collector/Initialize(mapload)
. = ..()
rad_collectors += src
/obj/machinery/power/rad_collector/Destroy()
@@ -68,11 +68,10 @@ field_generator power level display
return
/obj/machinery/field_generator/New()
..()
/obj/machinery/field_generator/Initialize(mapload)
. = ..()
fields = list()
connected_gens = list()
return
/obj/machinery/field_generator/process()
if(Varedit_start == 1)
@@ -21,11 +21,11 @@
var/parts = null
var/datum/wires/particle_acc/control_box/wires = null
/obj/machinery/particle_accelerator/control_box/New()
/obj/machinery/particle_accelerator/control_box/Initialize(mapload)
. = ..()
wires = new(src)
connected_parts = list()
update_active_power_usage(initial(active_power_usage) * (strength + 1))
..()
/obj/machinery/particle_accelerator/control_box/Destroy()
if(active)
@@ -109,8 +109,8 @@
var/datum/looping_sound/supermatter/soundloop
/obj/machinery/power/supermatter/New()
..()
/obj/machinery/power/supermatter/Initialize(mapload)
. = ..()
uid = gl_uid++
/obj/machinery/power/supermatter/Initialize(mapload)
+2 -3
View File
@@ -14,11 +14,10 @@
layer = WIRES_LAYER+0.01
/obj/machinery/power/terminal/New()
..()
/obj/machinery/power/terminal/Initialize(mapload)
. = ..()
var/turf/T = src.loc
if(level==1) hide(!T.is_plating())
return
/obj/machinery/power/terminal/Destroy()
if(master)
+2 -2
View File
@@ -29,8 +29,8 @@
else
. += span_warning("It is not secured!")
/obj/machinery/power/tesla_coil/New()
..()
/obj/machinery/power/tesla_coil/Initialize(mapload)
. = ..()
wires = new(src)
/obj/machinery/power/tesla_coil/Initialize(mapload)