mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-20 15:12:19 +00:00
Restore old machinery init behavior (#3380)
This commit is contained in:
@@ -153,10 +153,6 @@
|
||||
var/cap_rating = 0
|
||||
var/manip_rating = 0
|
||||
var/bin_rating = 0
|
||||
if(!component_parts)
|
||||
cap_rating = 2
|
||||
manip_rating = 1
|
||||
bin_rating = 1
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(iscapacitor(P))
|
||||
cap_rating += P.rating
|
||||
|
||||
@@ -141,9 +141,6 @@
|
||||
..()
|
||||
var/cap_rating = 0
|
||||
var/bin_rating = 0
|
||||
if(!component_parts)
|
||||
cap_rating = 2
|
||||
bin_rating = 1
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(iscapacitor(P))
|
||||
cap_rating += P.rating
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
)
|
||||
/obj/machinery/sleeper/Initialize()
|
||||
. = ..()
|
||||
populate_components() // has a beaker so it needs to populate
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/sleeper/machinery_process()
|
||||
@@ -50,8 +49,6 @@
|
||||
..()
|
||||
var/scan_rating = 0
|
||||
var/cap_rating = 0
|
||||
if(!component_parts)
|
||||
populate_components()
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(isscanner(P))
|
||||
|
||||
@@ -279,9 +279,6 @@
|
||||
..()
|
||||
var/mb_rating = 0
|
||||
var/man_rating = 0
|
||||
if(!component_parts)
|
||||
mb_rating = 3
|
||||
man_rating = 1
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts)
|
||||
mb_rating += MB.rating
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
|
||||
@@ -250,9 +250,6 @@
|
||||
..()
|
||||
var/man_rating = 1
|
||||
var/bin_rating = 1
|
||||
if(!component_parts)
|
||||
man_rating = 1
|
||||
bin_rating = 1
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(ismatterbin(P))
|
||||
|
||||
@@ -278,8 +278,7 @@
|
||||
/obj/machinery/clonepod/RefreshParts()
|
||||
..()
|
||||
var/rating = 0
|
||||
if(!component_parts)
|
||||
rating = 4
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(isscanner(P) || ismanipulator(P))
|
||||
rating += P.rating
|
||||
|
||||
@@ -669,9 +669,6 @@
|
||||
..()
|
||||
var/scan_rating = 0
|
||||
var/cap_rating = 0
|
||||
if(!component_parts)
|
||||
scan_rating = 2
|
||||
cap_rating = 3
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(isscanner(P))
|
||||
|
||||
@@ -129,11 +129,24 @@ Class Procs:
|
||||
var/tmp/machinery_processing = FALSE // Are we process()ing in SSmachinery?
|
||||
var/has_special_power_checks = FALSE // If true, call auto_use_power instead of doing it all in SSmachinery.
|
||||
|
||||
/obj/machinery/Initialize(mapload, d = 0)
|
||||
/obj/machinery/Initialize(mapload, d = 0, populate_components = TRUE)
|
||||
. = ..()
|
||||
if(d)
|
||||
set_dir(d)
|
||||
|
||||
if (populate_components && component_types)
|
||||
component_parts = list()
|
||||
for (var/type in component_types)
|
||||
var/count = component_types[type]
|
||||
if (count > 1)
|
||||
for (var/i in 1 to count)
|
||||
component_parts += new type(src)
|
||||
else
|
||||
component_parts += new type(src)
|
||||
|
||||
if(component_parts.len)
|
||||
RefreshParts()
|
||||
|
||||
add_machine(src)
|
||||
|
||||
/obj/machinery/Destroy()
|
||||
@@ -262,10 +275,7 @@ Class Procs:
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/proc/RefreshParts(var/makeparts = 0)
|
||||
if(makeparts)
|
||||
populate_components()
|
||||
return
|
||||
/obj/machinery/proc/RefreshParts()
|
||||
|
||||
/obj/machinery/proc/assign_uid()
|
||||
uid = gl_uid
|
||||
@@ -325,11 +335,9 @@ Class Procs:
|
||||
/obj/machinery/proc/default_part_replacement(var/mob/user, var/obj/item/weapon/storage/part_replacer/R)
|
||||
if(!istype(R))
|
||||
return 0
|
||||
if(!component_parts)
|
||||
if(!component_types)
|
||||
if(!LAZYLEN(component_parts))
|
||||
return 0
|
||||
else
|
||||
RefreshParts(1) // make default parts for us to replace
|
||||
|
||||
if(panel_open)
|
||||
var/obj/item/weapon/circuitboard/CB = locate(/obj/item/weapon/circuitboard) in component_parts
|
||||
var/P
|
||||
@@ -373,20 +381,6 @@ Class Procs:
|
||||
user << "<span class='notice'> [C.name]</span>"
|
||||
return 1
|
||||
|
||||
/obj/machinery/proc/populate_components()
|
||||
if(component_types)
|
||||
component_parts = list()
|
||||
for (var/type in component_types)
|
||||
var/count = component_types[type]
|
||||
if (count > 1)
|
||||
for (var/i in 1 to count)
|
||||
component_parts += new type(src)
|
||||
else
|
||||
component_parts += new type(src)
|
||||
|
||||
if(component_parts.len)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/proc/dismantle()
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(loc)
|
||||
|
||||
@@ -145,8 +145,6 @@
|
||||
..()
|
||||
var/man_rating = 0
|
||||
var/cap_rating = 0
|
||||
if(!component_parts)
|
||||
populate_components()
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(iscapacitor(P))
|
||||
|
||||
@@ -32,9 +32,6 @@
|
||||
..()
|
||||
charge = 0
|
||||
repair = -5
|
||||
if(!component_parts)
|
||||
charge = 45
|
||||
repair = 0
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(iscapacitor(P))
|
||||
|
||||
@@ -68,18 +68,15 @@
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/RefreshParts()
|
||||
res_max_amount = 0
|
||||
if(!component_parts)
|
||||
res_max_amount = 200000
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
|
||||
res_max_amount += M.rating * 100000 // 200k -> 600k
|
||||
var/T = 0
|
||||
if(!component_parts)
|
||||
T = 1
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
T += M.rating
|
||||
mat_efficiency = 1 - (T - 1) / 4 // 1 -> 0.5
|
||||
if(!component_parts)
|
||||
T = 2
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts) // Not resetting T is intended; speed is affected by both
|
||||
T += M.rating
|
||||
speed = T / 2 // 1 -> 3
|
||||
|
||||
@@ -251,8 +251,7 @@
|
||||
harvest_speed = 0
|
||||
capacity = 0
|
||||
charge_use = 50
|
||||
if(!component_parts)
|
||||
populate_components()
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(ismicrolaser(P))
|
||||
harvest_speed = P.rating
|
||||
|
||||
@@ -318,10 +318,6 @@
|
||||
var/scan_rating = 0
|
||||
var/cap_rating = 0
|
||||
var/laser_rating = 0
|
||||
if(!component_parts)
|
||||
scan_rating = 1
|
||||
cap_rating = 2
|
||||
laser_rating = 2
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(isscanner(P))
|
||||
@@ -332,4 +328,3 @@
|
||||
laser_rating += P.rating
|
||||
|
||||
sheets_per_tick += scan_rating + cap_rating + laser_rating
|
||||
|
||||
|
||||
@@ -20,8 +20,7 @@
|
||||
/obj/machinery/power/smes/batteryrack/RefreshParts()
|
||||
capacitors_amount = 0
|
||||
cells_amount = 0
|
||||
if(!component_parts)
|
||||
populate_components()
|
||||
|
||||
var/max_level = 0 //for both input and output
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/CP in component_parts)
|
||||
max_level += CP.rating
|
||||
|
||||
@@ -130,9 +130,7 @@
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/RefreshParts()
|
||||
var/temp_rating = 0
|
||||
if(!component_parts)
|
||||
max_sheets = 50
|
||||
temp_rating = 2
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/SP in component_parts)
|
||||
if(istype(SP, /obj/item/weapon/stock_parts/matter_bin))
|
||||
max_sheets = SP.rating * SP.rating * 50
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
|
||||
/obj/machinery/power/tesla_coil/RefreshParts()
|
||||
var/power_multiplier = 0
|
||||
if(!component_parts)
|
||||
power_multiplier = 1
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||
power_multiplier += C.rating
|
||||
input_power_multiplier = power_multiplier
|
||||
|
||||
@@ -56,8 +56,6 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid).
|
||||
|
||||
/obj/machinery/r_n_d/circuit_imprinter/RefreshParts()
|
||||
// Adjust reagent container volume to match combined volume of the inserted beakers
|
||||
if(!component_parts)
|
||||
populate_components()
|
||||
var/T = 0
|
||||
for(var/obj/item/weapon/reagent_containers/glass/G in component_parts)
|
||||
T += G.reagents.maximum_volume
|
||||
|
||||
@@ -25,8 +25,7 @@ Note: Must be placed within 3 tiles of the R&D Console
|
||||
|
||||
/obj/machinery/r_n_d/destructive_analyzer/RefreshParts()
|
||||
var/T = 0
|
||||
if(!component_parts)
|
||||
T = 3
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/S in component_parts)
|
||||
T += S.rating
|
||||
decon_mod = T * 0.1
|
||||
|
||||
@@ -56,8 +56,6 @@
|
||||
return t
|
||||
|
||||
/obj/machinery/r_n_d/protolathe/RefreshParts()
|
||||
if(!component_parts)
|
||||
populate_components()
|
||||
// Adjust reagent container volume to match combined volume of the inserted beakers
|
||||
var/T = 0
|
||||
for(var/obj/item/weapon/reagent_containers/glass/G in component_parts)
|
||||
|
||||
@@ -11,11 +11,6 @@
|
||||
var/busy = 0
|
||||
var/obj/machinery/computer/rdconsole/linked_console
|
||||
|
||||
|
||||
/obj/machinery/r_n_d/Initialize()
|
||||
. = ..()
|
||||
populate_components()
|
||||
|
||||
/obj/machinery/r_n_d/attack_hand(mob/user as mob)
|
||||
return
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@
|
||||
|
||||
/obj/machinery/r_n_d/server/RefreshParts()
|
||||
var/tot_rating = 0
|
||||
if(!component_parts)
|
||||
tot_rating = 2
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/SP in component_parts)
|
||||
tot_rating += SP.rating
|
||||
idle_power_usage /= max(1, tot_rating)
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
|
||||
/obj/machinery/telepad/RefreshParts()
|
||||
var/E
|
||||
if(!component_parts)
|
||||
populate_components()
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||
E += C.rating
|
||||
efficiency = E
|
||||
|
||||
Reference in New Issue
Block a user