here we go again (#2456)
This commit is contained in:
@@ -61,7 +61,7 @@
|
||||
kill_program(forced = TRUE)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
for(var/H in all_components)
|
||||
var/obj/item/weapon/computer_hardware/CH = all_components[H]
|
||||
var/obj/item/computer_hardware/CH = all_components[H]
|
||||
if(CH.holder == src)
|
||||
CH.on_remove(src)
|
||||
CH.holder = null
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
if(issilicon(usr))
|
||||
return
|
||||
var/obj/item/weapon/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
if(usr.canUseTopic(src))
|
||||
card_slot.try_eject(null, usr)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
if(issilicon(usr))
|
||||
return
|
||||
var/obj/item/weapon/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||
if(usr.canUseTopic(src))
|
||||
ai_slot.try_eject(null, usr,1)
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
return
|
||||
|
||||
if(usr.canUseTopic(src))
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||
if(uninstall_component(portable_drive, usr))
|
||||
portable_drive.verb_pickup()
|
||||
|
||||
@@ -132,9 +132,9 @@
|
||||
return
|
||||
|
||||
if(user.canUseTopic(src))
|
||||
var/obj/item/weapon/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
var/obj/item/weapon/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||
if(portable_drive)
|
||||
if(uninstall_component(portable_drive, user))
|
||||
portable_drive.verb_pickup()
|
||||
@@ -147,13 +147,13 @@
|
||||
|
||||
// Gets IDs/access levels from card slot. Would be useful when/if PDAs would become modular PCs.
|
||||
/obj/item/device/modular_computer/GetAccess()
|
||||
var/obj/item/weapon/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
if(card_slot)
|
||||
return card_slot.GetAccess()
|
||||
return ..()
|
||||
|
||||
/obj/item/device/modular_computer/GetID()
|
||||
var/obj/item/weapon/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
if(card_slot)
|
||||
return card_slot.GetID()
|
||||
return ..()
|
||||
@@ -224,7 +224,7 @@
|
||||
return
|
||||
|
||||
// If we have a recharger, enable it automatically. Lets computer without a battery work.
|
||||
var/obj/item/weapon/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
var/obj/item/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
if(recharger)
|
||||
recharger.enabled = 1
|
||||
|
||||
@@ -282,8 +282,8 @@
|
||||
/obj/item/device/modular_computer/proc/get_header_data()
|
||||
var/list/data = list()
|
||||
|
||||
var/obj/item/weapon/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
var/obj/item/weapon/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
var/obj/item/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
var/obj/item/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
|
||||
if(battery_module && battery_module.battery)
|
||||
switch(battery_module.battery.percent())
|
||||
@@ -348,7 +348,7 @@
|
||||
|
||||
// Returns 0 for No Signal, 1 for Low Signal and 2 for Good Signal. 3 is for wired connection (always-on)
|
||||
/obj/item/device/modular_computer/proc/get_ntnet_status(specific_action = 0)
|
||||
var/obj/item/weapon/computer_hardware/network_card/network_card = all_components[MC_NET]
|
||||
var/obj/item/computer_hardware/network_card/network_card = all_components[MC_NET]
|
||||
if(network_card)
|
||||
return network_card.get_signal(specific_action)
|
||||
else
|
||||
@@ -357,7 +357,7 @@
|
||||
/obj/item/device/modular_computer/proc/add_log(text)
|
||||
if(!get_ntnet_status())
|
||||
return FALSE
|
||||
var/obj/item/weapon/computer_hardware/network_card/network_card = all_components[MC_NET]
|
||||
var/obj/item/computer_hardware/network_card/network_card = all_components[MC_NET]
|
||||
return GLOB.ntnet_global.add_log(text, network_card)
|
||||
|
||||
/obj/item/device/modular_computer/proc/shutdown_computer(loud = 1)
|
||||
@@ -371,19 +371,19 @@
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/device/modular_computer/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
/obj/item/device/modular_computer/attackby(obj/item/W as obj, mob/user as mob)
|
||||
// Insert items into the components
|
||||
for(var/h in all_components)
|
||||
var/obj/item/weapon/computer_hardware/H = all_components[h]
|
||||
var/obj/item/computer_hardware/H = all_components[h]
|
||||
if(H.try_insert(W, user))
|
||||
return
|
||||
|
||||
// Insert new hardware
|
||||
if(istype(W, /obj/item/weapon/computer_hardware))
|
||||
if(istype(W, /obj/item/computer_hardware))
|
||||
if(install_component(W, user))
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
if(all_components.len)
|
||||
to_chat(user, "<span class='warning'>Remove all components from \the [src] before disassembling it.</span>")
|
||||
return
|
||||
@@ -393,8 +393,8 @@
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(!WT.isOn())
|
||||
to_chat(user, "<span class='warning'>\The [W] is off.</span>")
|
||||
return
|
||||
@@ -410,13 +410,13 @@
|
||||
to_chat(user, "<span class='notice'>You repair \the [src].</span>")
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
if(!all_components.len)
|
||||
to_chat(user, "<span class='warning'>This device doesn't have any components installed.</span>")
|
||||
return
|
||||
var/list/component_names = list()
|
||||
for(var/h in all_components)
|
||||
var/obj/item/weapon/computer_hardware/H = all_components[h]
|
||||
var/obj/item/computer_hardware/H = all_components[h]
|
||||
component_names.Add(H.name)
|
||||
|
||||
var/choice = input(user, "Which component do you want to uninstall?", "Computer maintenance", null) as null|anything in component_names
|
||||
@@ -427,7 +427,7 @@
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
|
||||
var/obj/item/weapon/computer_hardware/H = find_hardware_by_name(choice)
|
||||
var/obj/item/computer_hardware/H = find_hardware_by_name(choice)
|
||||
|
||||
if(!H)
|
||||
return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/device/modular_computer/proc/can_install_component(obj/item/weapon/computer_hardware/H, mob/living/user = null)
|
||||
/obj/item/device/modular_computer/proc/can_install_component(obj/item/computer_hardware/H, mob/living/user = null)
|
||||
if(!H.can_install(src, user))
|
||||
return FALSE
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
// Installs component.
|
||||
/obj/item/device/modular_computer/proc/install_component(obj/item/weapon/computer_hardware/H, mob/living/user = null)
|
||||
/obj/item/device/modular_computer/proc/install_component(obj/item/computer_hardware/H, mob/living/user = null)
|
||||
if(!can_install_component(H, user))
|
||||
return FALSE
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
|
||||
// Uninstalls component.
|
||||
/obj/item/device/modular_computer/proc/uninstall_component(obj/item/weapon/computer_hardware/H, mob/living/user = null)
|
||||
/obj/item/device/modular_computer/proc/uninstall_component(obj/item/computer_hardware/H, mob/living/user = null)
|
||||
if(H.holder != src) // Not our component at all.
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
component_probability = damage_amount * 0.66
|
||||
if(component_probability)
|
||||
for(var/I in all_components)
|
||||
var/obj/item/weapon/computer_hardware/H = all_components[I]
|
||||
var/obj/item/computer_hardware/H = all_components[I]
|
||||
if(prob(component_probability))
|
||||
H.take_damage(round(damage_amount*0.5), damage_type, damage_flag, 0)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
var/turf/newloc = get_turf(src)
|
||||
new /obj/item/stack/sheet/metal(newloc, round(steel_sheet_cost/2))
|
||||
for(var/C in all_components)
|
||||
var/obj/item/weapon/computer_hardware/H = all_components[C]
|
||||
var/obj/item/computer_hardware/H = all_components[C]
|
||||
uninstall_component(H)
|
||||
H.forceMove(newloc)
|
||||
if(prob(25))
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
if(check_power_override())
|
||||
return TRUE
|
||||
|
||||
var/obj/item/weapon/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
var/obj/item/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
|
||||
if(recharger && recharger.check_functionality())
|
||||
if(recharger.use_power(amount))
|
||||
return TRUE
|
||||
|
||||
var/obj/item/weapon/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
var/obj/item/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
|
||||
if(battery_module && battery_module.battery && battery_module.battery.charge)
|
||||
var/obj/item/weapon/stock_parts/cell/cell = battery_module.battery
|
||||
var/obj/item/stock_parts/cell/cell = battery_module.battery
|
||||
if(cell.use(amount * GLOB.CELLRATE))
|
||||
return TRUE
|
||||
else // Discharge the cell anyway.
|
||||
@@ -21,13 +21,13 @@
|
||||
return FALSE
|
||||
|
||||
/obj/item/device/modular_computer/proc/give_power(amount)
|
||||
var/obj/item/weapon/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
var/obj/item/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
if(battery_module && battery_module.battery)
|
||||
return battery_module.battery.give(amount)
|
||||
return 0
|
||||
|
||||
/obj/item/device/modular_computer/get_cell()
|
||||
var/obj/item/weapon/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
var/obj/item/computer_hardware/battery/battery_module = all_components[MC_CELL]
|
||||
if(battery_module && battery_module.battery)
|
||||
return battery_module.battery
|
||||
|
||||
@@ -43,13 +43,13 @@
|
||||
|
||||
// Handles power-related things, such as battery interaction, recharging, shutdown when it's discharged
|
||||
/obj/item/device/modular_computer/proc/handle_power()
|
||||
var/obj/item/weapon/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
var/obj/item/computer_hardware/recharger/recharger = all_components[MC_CHARGE]
|
||||
if(recharger)
|
||||
recharger.process()
|
||||
|
||||
var/power_usage = screen_on ? base_active_power_usage : base_idle_power_usage
|
||||
|
||||
for(var/obj/item/weapon/computer_hardware/H in all_components)
|
||||
for(var/obj/item/computer_hardware/H in all_components)
|
||||
if(H.enabled)
|
||||
power_usage += H.power_usage
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
// We are still here, that means there is no program loaded. Load the BIOS/ROM/OS/whatever you want to call it.
|
||||
// This screen simply lists available programs and user may select them.
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
if(!hard_drive || !hard_drive.stored_files || !hard_drive.stored_files.len)
|
||||
to_chat(user, "<span class='danger'>\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning.</span>")
|
||||
return // No HDD, No HDD files list or no stored files. Something is very broken.
|
||||
@@ -42,7 +42,7 @@
|
||||
/obj/item/device/modular_computer/ui_data(mob/user)
|
||||
var/list/data = get_header_data()
|
||||
data["programs"] = list()
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
for(var/datum/computer_file/program/P in hard_drive.stored_files)
|
||||
var/running = 0
|
||||
if(P in idle_threads)
|
||||
@@ -60,7 +60,7 @@
|
||||
/obj/item/device/modular_computer/ui_act(action, params)
|
||||
if(..())
|
||||
return
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
switch(action)
|
||||
if("PC_exit")
|
||||
kill_program()
|
||||
@@ -118,7 +118,7 @@
|
||||
update_icon()
|
||||
return
|
||||
|
||||
var/obj/item/weapon/computer_hardware/processor_unit/PU = all_components[MC_CPU]
|
||||
var/obj/item/computer_hardware/processor_unit/PU = all_components[MC_CPU]
|
||||
|
||||
if(idle_threads.len > PU.max_idle_programs)
|
||||
to_chat(user, "<span class='danger'>\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error.</span>")
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/obj/item/device/modular_computer/laptop/preset/New()
|
||||
. = ..()
|
||||
install_component(new /obj/item/weapon/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/weapon/computer_hardware/battery(src, /obj/item/weapon/stock_parts/cell/computer))
|
||||
install_component(new /obj/item/weapon/computer_hardware/hard_drive)
|
||||
install_component(new /obj/item/weapon/computer_hardware/network_card)
|
||||
install_component(new /obj/item/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/computer_hardware/battery(src, /obj/item/stock_parts/cell/computer))
|
||||
install_component(new /obj/item/computer_hardware/hard_drive)
|
||||
install_component(new /obj/item/computer_hardware/network_card)
|
||||
install_programs()
|
||||
|
||||
|
||||
@@ -18,6 +18,6 @@
|
||||
|
||||
|
||||
/obj/item/device/modular_computer/laptop/preset/civillian/install_programs()
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
hard_drive.store_file(new/datum/computer_file/program/chatclient())
|
||||
hard_drive.store_file(new/datum/computer_file/program/nttransfer())
|
||||
@@ -5,25 +5,25 @@
|
||||
|
||||
/obj/item/device/modular_computer/tablet/preset/cheap/New()
|
||||
. = ..()
|
||||
install_component(new /obj/item/weapon/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/weapon/computer_hardware/battery(src, /obj/item/weapon/stock_parts/cell/computer/micro))
|
||||
install_component(new /obj/item/weapon/computer_hardware/hard_drive/small)
|
||||
install_component(new /obj/item/weapon/computer_hardware/network_card)
|
||||
install_component(new /obj/item/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/computer_hardware/battery(src, /obj/item/stock_parts/cell/computer/micro))
|
||||
install_component(new /obj/item/computer_hardware/hard_drive/small)
|
||||
install_component(new /obj/item/computer_hardware/network_card)
|
||||
|
||||
// Alternative version, an average one, for higher ranked positions mostly
|
||||
/obj/item/device/modular_computer/tablet/preset/advanced/New()
|
||||
. = ..()
|
||||
install_component(new /obj/item/weapon/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/weapon/computer_hardware/battery(src, /obj/item/weapon/stock_parts/cell/computer))
|
||||
install_component(new /obj/item/weapon/computer_hardware/hard_drive/small)
|
||||
install_component(new /obj/item/weapon/computer_hardware/network_card)
|
||||
install_component(new /obj/item/weapon/computer_hardware/card_slot)
|
||||
install_component(new /obj/item/weapon/computer_hardware/printer/mini)
|
||||
install_component(new /obj/item/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/computer_hardware/battery(src, /obj/item/stock_parts/cell/computer))
|
||||
install_component(new /obj/item/computer_hardware/hard_drive/small)
|
||||
install_component(new /obj/item/computer_hardware/network_card)
|
||||
install_component(new /obj/item/computer_hardware/card_slot)
|
||||
install_component(new /obj/item/computer_hardware/printer/mini)
|
||||
|
||||
/obj/item/device/modular_computer/tablet/preset/cargo/New()
|
||||
. = ..()
|
||||
install_component(new /obj/item/weapon/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/weapon/computer_hardware/battery(src, /obj/item/weapon/stock_parts/cell/computer))
|
||||
install_component(new /obj/item/weapon/computer_hardware/hard_drive/small)
|
||||
install_component(new /obj/item/weapon/computer_hardware/network_card)
|
||||
install_component(new /obj/item/weapon/computer_hardware/printer/mini)
|
||||
install_component(new /obj/item/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/computer_hardware/battery(src, /obj/item/stock_parts/cell/computer))
|
||||
install_component(new /obj/item/computer_hardware/hard_drive/small)
|
||||
install_component(new /obj/item/computer_hardware/network_card)
|
||||
install_component(new /obj/item/computer_hardware/printer/mini)
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
. = ..()
|
||||
if(!cpu)
|
||||
return
|
||||
cpu.install_component(new /obj/item/weapon/computer_hardware/processor_unit)
|
||||
cpu.install_component(new /obj/item/computer_hardware/processor_unit)
|
||||
|
||||
if(_has_id_slot)
|
||||
cpu.install_component(new /obj/item/weapon/computer_hardware/card_slot)
|
||||
cpu.install_component(new /obj/item/computer_hardware/card_slot)
|
||||
if(_has_printer)
|
||||
cpu.install_component(new /obj/item/weapon/computer_hardware/printer)
|
||||
cpu.install_component(new /obj/item/computer_hardware/printer)
|
||||
if(_has_battery)
|
||||
cpu.install_component(new /obj/item/weapon/computer_hardware/battery(cpu, /obj/item/weapon/stock_parts/cell/computer/super))
|
||||
cpu.install_component(new /obj/item/computer_hardware/battery(cpu, /obj/item/stock_parts/cell/computer/super))
|
||||
if(_has_ai)
|
||||
cpu.install_component(new /obj/item/weapon/computer_hardware/ai_slot)
|
||||
cpu.install_component(new /obj/item/computer_hardware/ai_slot)
|
||||
install_programs()
|
||||
|
||||
// Override in child types to install preset-specific programs.
|
||||
@@ -33,7 +33,7 @@
|
||||
desc = "A stationary computer. This one comes preloaded with engineering programs."
|
||||
|
||||
/obj/machinery/modular_computer/console/preset/engineering/install_programs()
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
hard_drive.store_file(new/datum/computer_file/program/power_monitor())
|
||||
hard_drive.store_file(new/datum/computer_file/program/alarm_monitor())
|
||||
hard_drive.store_file(new/datum/computer_file/program/supermatter_monitor())
|
||||
@@ -45,7 +45,7 @@
|
||||
_has_ai = 1
|
||||
|
||||
/obj/machinery/modular_computer/console/preset/research/install_programs()
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
hard_drive.store_file(new/datum/computer_file/program/ntnetmonitor())
|
||||
hard_drive.store_file(new/datum/computer_file/program/nttransfer())
|
||||
hard_drive.store_file(new/datum/computer_file/program/chatclient())
|
||||
@@ -60,7 +60,7 @@
|
||||
_has_printer = 1
|
||||
|
||||
/obj/machinery/modular_computer/console/preset/command/install_programs()
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
hard_drive.store_file(new/datum/computer_file/program/chatclient())
|
||||
hard_drive.store_file(new/datum/computer_file/program/card_mod())
|
||||
|
||||
@@ -70,6 +70,6 @@
|
||||
desc = "A stationary computer. This one comes preloaded with generic programs."
|
||||
|
||||
/obj/machinery/modular_computer/console/preset/civilian/install_programs()
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
hard_drive.store_file(new/datum/computer_file/program/chatclient())
|
||||
hard_drive.store_file(new/datum/computer_file/program/nttransfer())
|
||||
@@ -106,7 +106,7 @@
|
||||
|
||||
// Used in following function to reduce copypaste
|
||||
/obj/machinery/modular_computer/proc/power_failure(malfunction = 0)
|
||||
var/obj/item/weapon/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL]
|
||||
var/obj/item/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL]
|
||||
if(cpu && cpu.enabled) // Shut down the computer
|
||||
visible_message("<span class='danger'>\The [src]'s screen flickers [battery_module ? "\"BATTERY [malfunction ? "MALFUNCTION" : "CRITICAL"]\"" : "\"EXTERNAL POWER LOSS\""] warning as it shuts down unexpectedly.</span>")
|
||||
if(cpu)
|
||||
@@ -124,7 +124,7 @@
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/modular_computer/attackby(var/obj/item/weapon/W as obj, mob/user)
|
||||
/obj/machinery/modular_computer/attackby(var/obj/item/W as obj, mob/user)
|
||||
if(cpu && !(flags_1 & NODECONSTRUCT_1))
|
||||
return cpu.attackby(W, user)
|
||||
return ..()
|
||||
|
||||
@@ -22,24 +22,24 @@
|
||||
/obj/machinery/modular_computer/console/buildable/Initialize()
|
||||
. = ..()
|
||||
// User-built consoles start as empty frames.
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/network_card = cpu.all_components[MC_NET]
|
||||
var/obj/item/weapon/computer_hardware/hard_drive/recharger = cpu.all_components[MC_CHARGE]
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
|
||||
var/obj/item/computer_hardware/hard_drive/network_card = cpu.all_components[MC_NET]
|
||||
var/obj/item/computer_hardware/hard_drive/recharger = cpu.all_components[MC_CHARGE]
|
||||
qdel(recharger)
|
||||
qdel(network_card)
|
||||
qdel(hard_drive)
|
||||
|
||||
/obj/machinery/modular_computer/console/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL]
|
||||
var/obj/item/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL]
|
||||
if(battery_module)
|
||||
qdel(battery_module)
|
||||
|
||||
var/obj/item/weapon/computer_hardware/network_card/wired/network_card = new()
|
||||
var/obj/item/computer_hardware/network_card/wired/network_card = new()
|
||||
|
||||
cpu.install_component(network_card)
|
||||
cpu.install_component(new /obj/item/weapon/computer_hardware/recharger/APC)
|
||||
cpu.install_component(new /obj/item/weapon/computer_hardware/hard_drive/super) // Consoles generally have better HDDs due to lower space limitations
|
||||
cpu.install_component(new /obj/item/computer_hardware/recharger/APC)
|
||||
cpu.install_component(new /obj/item/computer_hardware/hard_drive/super) // Consoles generally have better HDDs due to lower space limitations
|
||||
|
||||
var/area/A = get_area(src)
|
||||
// Attempts to set this console's tag according to our area. Since some areas have stuff like "XX - YY" in their names we try to remove that too.
|
||||
|
||||
Reference in New Issue
Block a user