mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-31 12:01:47 +00:00
* Modular computers now have their initial name if they don't have an idenfitication and job, which previously meant they would have the name () * Removes MACHINE modular computer's process, because all it did was update the name, then call computer's process. Now it just does what every computer does, BUT UpdateDisplay on ITEM modular computers will now update the machine's name. * Additionally, I moved the modular computer processor's New to an Initialize, and removed the shutdown_computer code, because we already register update_icon signal to update the computer's appearance, why do we need to do it twice?
49 lines
1.9 KiB
Plaintext
49 lines
1.9 KiB
Plaintext
// Held by /obj/machinery/modular_computer to reduce amount of copy-pasted code.
|
|
//TODO: REFACTOR THIS SPAGHETTI CODE, MAKE IT A COMPUTER_HARDWARE COMPONENT OR REMOVE IT
|
|
/obj/item/modular_computer/processor
|
|
name = "processing unit"
|
|
desc = "An advanced computer." //modular PCs examine us
|
|
icon = null
|
|
icon_state = null
|
|
icon_state_unpowered = null
|
|
icon_state_menu = null
|
|
hardware_flag = 0
|
|
max_bays = 4
|
|
|
|
///The modular computer MACHINE that hosts us.
|
|
var/obj/machinery/modular_computer/machinery_computer
|
|
|
|
/obj/item/modular_computer/processor/UpdateDisplay()
|
|
. = ..()
|
|
//update the name with us
|
|
machinery_computer.name = name
|
|
|
|
/obj/item/modular_computer/processor/Initialize(mapload)
|
|
if(!istype(loc, /obj/machinery/modular_computer))
|
|
CRASH("A non '/obj/machinery/modular_computer' had a [src] initialized in it!")
|
|
|
|
// Obtain reference to machinery computer
|
|
machinery_computer = loc
|
|
machinery_computer.cpu = src
|
|
hardware_flag = machinery_computer.hardware_flag
|
|
max_hardware_size = machinery_computer.max_hardware_size
|
|
steel_sheet_cost = machinery_computer.steel_sheet_cost
|
|
max_idle_programs = machinery_computer.max_idle_programs
|
|
update_integrity(machinery_computer.get_integrity())
|
|
max_integrity = machinery_computer.max_integrity
|
|
integrity_failure = machinery_computer.integrity_failure
|
|
base_active_power_usage = machinery_computer.base_active_power_usage
|
|
base_idle_power_usage = machinery_computer.base_idle_power_usage
|
|
machinery_computer.RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, /obj/machinery/modular_computer/proc/relay_icon_update) //when we update_icon, also update the computer
|
|
return ..()
|
|
|
|
/obj/item/modular_computer/processor/Destroy(force)
|
|
if(machinery_computer && (machinery_computer.cpu == src))
|
|
machinery_computer.cpu = null
|
|
machinery_computer.UnregisterSignal(src, COMSIG_ATOM_UPDATED_ICON)
|
|
machinery_computer = null
|
|
return ..()
|
|
|
|
/obj/item/modular_computer/processor/relay_qdel()
|
|
qdel(machinery_computer)
|