mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-15 12:11:45 +00:00
* Adds a new power storage type: The Megacell. Drastically reduces power cell consumption/storage. [MDB Ignore] * Multi chargers * all this other shit * maps * more fixes * even more * mapping * map fixes * MCR * map2 * map3 * map4 * map5 --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com> Co-authored-by: Fluffles <piecopresident@gmail.com>
59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
// Held by /obj/machinery/modular_computer to reduce amount of copy-pasted code.
|
|
//TODO: REFACTOR THIS SPAGHETTI CODE
|
|
/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 = NONE
|
|
internal_cell = /obj/item/stock_parts/power_store/cell/crap
|
|
|
|
///The modular computer MACHINE that hosts us.
|
|
var/obj/machinery/modular_computer/machinery_computer
|
|
|
|
/obj/item/modular_computer/processor/UpdateDisplay()
|
|
. = ..()
|
|
//update our name to match the computer's
|
|
name = machinery_computer.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
|
|
physical = loc
|
|
machinery_computer = loc
|
|
machinery_computer.cpu = src
|
|
hardware_flag = machinery_computer.hardware_flag
|
|
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, TYPE_PROC_REF(/obj/machinery/modular_computer, 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/use_energy(amount = 0, check_programs = TRUE)
|
|
var/obj/machinery/machine_holder = physical
|
|
if(machine_holder.powered())
|
|
machine_holder.use_energy(amount)
|
|
return TRUE
|
|
return ..()
|
|
|
|
/obj/item/modular_computer/processor/relay_qdel()
|
|
qdel(machinery_computer)
|
|
|
|
/obj/item/modular_computer/processor/get_messenger_ending()
|
|
return "Sent from my Desktop"
|