mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 20:47:43 +01:00
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:
co-authored by
Cameron Lennox
parent
f362f6585f
commit
4d36cfdaeb
@@ -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(..())
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user