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 03:57:48 -04:00
committed by GitHub
co-authored by Cameron Lennox
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()