mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 06:29:23 +01:00
Removes CPU, Sensors and Identify ModPC parts. (#66924)
Removes CPU, Sensors and Identify parts from modulra computers. This is in effort to simplify how tablets and tablet apps are, while removing barriers to download specific apps. Limiting apps needed for your job, through hardware, is a terrible idea, and just limits departmental stuff to being there roundstart/latejoin, punishing people who job change through the in-game HoP system, devaluing the job as a whole.
This commit is contained in:
@@ -62,19 +62,15 @@
|
||||
//Modular computer/NTNet defines
|
||||
|
||||
//Modular computer part defines
|
||||
#define MC_CPU "CPU"
|
||||
#define MC_HDD "HDD"
|
||||
#define MC_SDD "SDD"
|
||||
#define MC_CARD "CARD"
|
||||
#define MC_CARD2 "CARD2"
|
||||
#define MC_CART "CART"
|
||||
#define MC_NET "NET"
|
||||
#define MC_PRINT "PRINT"
|
||||
#define MC_CELL "CELL"
|
||||
#define MC_CHARGE "CHARGE"
|
||||
#define MC_AI "AI"
|
||||
#define MC_SENSORS "SENSORS"
|
||||
#define MC_IDENTIFY "IDENTIFY"
|
||||
|
||||
//NTNet stuff, for modular computers
|
||||
// NTNet module-configuration values. Do not change these. If you need to add another use larger number (5..6..7 etc)
|
||||
|
||||
@@ -16,32 +16,6 @@
|
||||
export_types = list(/obj/item/circuitboard/computer/solar_control)
|
||||
|
||||
// Computer and Tablet Parts
|
||||
//Processors
|
||||
|
||||
/datum/export/modular_part/processor/small
|
||||
cost = CARGO_CRATE_VALUE * 0.1
|
||||
unit_name = "microprocessor"
|
||||
export_types = list(/obj/item/computer_hardware/processor_unit/small)
|
||||
include_subtypes = FALSE
|
||||
|
||||
/datum/export/modular_part/processor/photonic
|
||||
cost = CARGO_CRATE_VALUE * 1.2
|
||||
unit_name = "photonic processor board"
|
||||
export_types = list(/obj/item/computer_hardware/processor_unit/photonic)
|
||||
include_subtypes = FALSE
|
||||
|
||||
/datum/export/modular_part/processor/photonic/small
|
||||
cost = CARGO_CRATE_VALUE * 0.6
|
||||
unit_name = "photonic microprocessor"
|
||||
export_types = list(/obj/item/computer_hardware/processor_unit/photonic/small)
|
||||
include_subtypes = FALSE
|
||||
|
||||
/datum/export/modular_part/processor/standard
|
||||
cost = CARGO_CRATE_VALUE * 0.2
|
||||
unit_name = "processor board"
|
||||
export_types = list(/obj/item/computer_hardware/processor_unit)
|
||||
include_subtypes = TRUE
|
||||
|
||||
//Batteries
|
||||
|
||||
/datum/export/modular_part/battery/advanced
|
||||
@@ -186,12 +160,6 @@
|
||||
export_types = list(/obj/item/computer_hardware/printer/mini)
|
||||
include_subtypes = TRUE
|
||||
|
||||
/datum/export/modular_part/sensorpackage
|
||||
cost = CARGO_CRATE_VALUE * 0.2
|
||||
unit_name = "sensor package"
|
||||
export_types = list(/obj/item/computer_hardware/sensorpackage)
|
||||
include_subtypes = TRUE
|
||||
|
||||
/datum/export/modular_part/misc
|
||||
cost = CARGO_CRATE_VALUE * 0.1
|
||||
unit_name = "miscellaneous computer part"
|
||||
|
||||
@@ -334,10 +334,7 @@
|
||||
if(istype(PDA))
|
||||
PDA.saved_identification = H.real_name
|
||||
PDA.saved_job = J.title
|
||||
|
||||
var/obj/item/computer_hardware/identifier/id = PDA.all_components[MC_IDENTIFY]
|
||||
if(id)
|
||||
id.UpdateDisplay()
|
||||
PDA.UpdateDisplay()
|
||||
|
||||
|
||||
/datum/outfit/job/get_chameleon_disguise_info()
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
set_density(TRUE)
|
||||
if(istype(card.loc, /obj/item/modular_computer))
|
||||
var/obj/item/modular_computer/P = card.loc
|
||||
P.pai = null
|
||||
P.inserted_pai = null
|
||||
P.visible_message(span_notice("[src] ejects itself from [P]!"))
|
||||
if(isliving(card.loc))
|
||||
var/mob/living/L = card.loc
|
||||
|
||||
@@ -1092,9 +1092,7 @@
|
||||
var/obj/item/modular_computer/tablet/pda/PDA = A
|
||||
if(PDA.saved_identification == oldname)
|
||||
PDA.saved_identification = newname
|
||||
var/obj/item/computer_hardware/identifier/display = PDA.all_components[MC_IDENTIFY]
|
||||
if(display)
|
||||
display.UpdateDisplay()
|
||||
PDA.UpdateDisplay()
|
||||
if(!search_id)
|
||||
break
|
||||
search_pda = 0
|
||||
|
||||
@@ -45,6 +45,9 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
var/max_hardware_size = 0 // Maximal hardware w_class. Tablets/PDAs have 1, laptops 2, consoles 4.
|
||||
var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
|
||||
|
||||
/// Amount of programs that can be ran at once
|
||||
var/max_idle_programs = 2
|
||||
|
||||
/// List of "connection ports" in this computer and the components with which they are plugged
|
||||
var/list/all_components = list()
|
||||
/// Lazy List of extra hardware slots that can be used modularly.
|
||||
@@ -69,14 +72,14 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
|
||||
var/datum/picture/saved_image // the saved image used for messaging purpose like come on dude
|
||||
|
||||
var/obj/item/paicard/pai = null
|
||||
/// Stored pAI in the computer
|
||||
var/obj/item/paicard/inserted_pai = null
|
||||
|
||||
var/datum/action/item_action/toggle_computer_light/light_butt
|
||||
|
||||
/obj/item/modular_computer/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
var/obj/item/computer_hardware/identifier/id = all_components[MC_IDENTIFY]
|
||||
START_PROCESSING(SSobj, src)
|
||||
if(!physical)
|
||||
physical = src
|
||||
@@ -84,8 +87,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
idle_threads = list()
|
||||
if(looping_sound)
|
||||
soundloop = new(src, enabled)
|
||||
if(id)
|
||||
id.UpdateDisplay()
|
||||
UpdateDisplay()
|
||||
if(has_light)
|
||||
light_butt = new(src)
|
||||
update_appearance()
|
||||
@@ -106,8 +108,8 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
QDEL_NULL(soundloop)
|
||||
Remove_Messenger()
|
||||
|
||||
if(istype(pai))
|
||||
QDEL_NULL(pai)
|
||||
if(istype(inserted_pai))
|
||||
QDEL_NULL(inserted_pai)
|
||||
if(istype(light_butt))
|
||||
QDEL_NULL(light_butt)
|
||||
|
||||
@@ -361,7 +363,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
if(recharger)
|
||||
recharger.enabled = 1
|
||||
|
||||
if(all_components[MC_CPU] && use_power()) // use_power() checks if the PC is powered
|
||||
if(use_power()) // use_power() checks if the PC is powered
|
||||
if(issynth)
|
||||
to_chat(user, span_notice("You send an activation signal to \the [src], turning it on."))
|
||||
else
|
||||
@@ -585,6 +587,9 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
update_light()
|
||||
return TRUE
|
||||
|
||||
/obj/item/modular_computer/proc/UpdateDisplay()
|
||||
name = "[saved_identification] ([saved_job])"
|
||||
|
||||
/obj/item/modular_computer/screwdriver_act(mob/user, obj/item/tool)
|
||||
if(!deconstructable)
|
||||
return
|
||||
@@ -620,11 +625,11 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar
|
||||
return
|
||||
|
||||
// Insert a PAI.
|
||||
if(istype(W, /obj/item/paicard) && !pai)
|
||||
if(istype(W, /obj/item/paicard) && !inserted_pai)
|
||||
if(!user.transferItemToLoc(W, src))
|
||||
return
|
||||
pai = W
|
||||
pai.slotted = TRUE
|
||||
inserted_pai = W
|
||||
inserted_pai.slotted = TRUE
|
||||
to_chat(user, span_notice("You slot \the [W] into [src]."))
|
||||
return
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
data["has_light"] = has_light
|
||||
data["light_on"] = light_on
|
||||
data["comp_light_color"] = comp_light_color
|
||||
data["pai"] = pai
|
||||
data["pai"] = inserted_pai
|
||||
return data
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
return TRUE
|
||||
if("PC_minimize")
|
||||
var/mob/user = usr
|
||||
if(!active_program || !all_components[MC_CPU])
|
||||
if(!active_program)
|
||||
return
|
||||
|
||||
idle_threads.Add(active_program)
|
||||
@@ -179,9 +179,7 @@
|
||||
update_appearance()
|
||||
return
|
||||
|
||||
var/obj/item/computer_hardware/processor_unit/PU = all_components[MC_CPU]
|
||||
|
||||
if(idle_threads.len > PU.max_idle_programs)
|
||||
if(idle_threads.len > max_idle_programs)
|
||||
to_chat(user, span_danger("\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error."))
|
||||
return
|
||||
|
||||
@@ -240,26 +238,24 @@
|
||||
playsound(src, 'sound/machines/card_slide.ogg', 50)
|
||||
if("PC_Imprint_ID")
|
||||
var/obj/item/computer_hardware/card_slot/cardholder = all_components[MC_CARD]
|
||||
var/obj/item/computer_hardware/identifier/id_hardware = all_components[MC_IDENTIFY]
|
||||
if(!cardholder)
|
||||
return
|
||||
|
||||
saved_identification = cardholder.current_identification
|
||||
saved_job = cardholder.current_job
|
||||
|
||||
if(id_hardware)
|
||||
id_hardware.UpdateDisplay()
|
||||
UpdateDisplay()
|
||||
|
||||
playsound(src, 'sound/machines/terminal_processing.ogg', 15, TRUE)
|
||||
if("PC_Pai_Interact")
|
||||
switch(params["option"])
|
||||
if("eject")
|
||||
usr.put_in_hands(pai)
|
||||
pai.slotted = FALSE
|
||||
pai = null
|
||||
to_chat(usr, span_notice("You remove the pAI from the [name]."))
|
||||
usr.put_in_hands(inserted_pai)
|
||||
to_chat(usr, span_notice("You remove [inserted_pai] from the [name]."))
|
||||
inserted_pai.slotted = FALSE
|
||||
inserted_pai = null
|
||||
if("interact")
|
||||
pai.attack_self(usr)
|
||||
inserted_pai.attack_self(usr)
|
||||
return UI_UPDATE
|
||||
else
|
||||
return
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
hardware_flag = PROGRAM_LAPTOP
|
||||
max_hardware_size = 2
|
||||
max_idle_programs = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
max_bays = 4
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/obj/item/modular_computer/laptop/preset/Initialize(mapload)
|
||||
. = ..()
|
||||
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)
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
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
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
worn_icon_state = "tablet"
|
||||
hardware_flag = PROGRAM_TABLET
|
||||
max_hardware_size = 1
|
||||
max_idle_programs = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
max_bays = 3
|
||||
steel_sheet_cost = 2
|
||||
@@ -312,12 +313,9 @@
|
||||
/obj/item/modular_computer/tablet/pda/Initialize(mapload)
|
||||
. = ..()
|
||||
install_component(new /obj/item/computer_hardware/hard_drive/small)
|
||||
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/network_card)
|
||||
install_component(new /obj/item/computer_hardware/card_slot)
|
||||
install_component(new /obj/item/computer_hardware/identifier)
|
||||
install_component(new /obj/item/computer_hardware/sensorpackage)
|
||||
|
||||
if(!isnull(default_applications))
|
||||
var/obj/item/computer_hardware/hard_drive/small/hard_drive = find_hardware_by_name("solid state drive")
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
/obj/item/modular_computer/tablet/preset/cheap/Initialize(mapload)
|
||||
. = ..()
|
||||
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)
|
||||
@@ -13,7 +12,6 @@
|
||||
// Alternative version, an average one, for higher ranked positions mostly
|
||||
/obj/item/modular_computer/tablet/preset/advanced/Initialize(mapload)
|
||||
. = ..()
|
||||
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)
|
||||
@@ -23,7 +21,6 @@
|
||||
/obj/item/modular_computer/tablet/preset/science/Initialize(mapload)
|
||||
. = ..()
|
||||
var/obj/item/computer_hardware/hard_drive/small/hard_drive = new
|
||||
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(hard_drive)
|
||||
install_component(new /obj/item/computer_hardware/card_slot)
|
||||
@@ -33,7 +30,6 @@
|
||||
/obj/item/modular_computer/tablet/preset/cargo/Initialize(mapload)
|
||||
. = ..()
|
||||
var/obj/item/computer_hardware/hard_drive/small/hard_drive = new
|
||||
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(hard_drive)
|
||||
install_component(new /obj/item/computer_hardware/card_slot)
|
||||
@@ -54,7 +50,6 @@
|
||||
/obj/item/modular_computer/tablet/preset/advanced/atmos/Initialize(mapload) //This will be defunct and will be replaced when NtOS PDAs are done
|
||||
. = ..()
|
||||
var/obj/item/computer_hardware/hard_drive/small/hard_drive = find_hardware_by_name("solid state drive")
|
||||
install_component(new /obj/item/computer_hardware/sensorpackage)
|
||||
hard_drive.store_file(new /datum/computer_file/program/alarm_monitor)
|
||||
hard_drive.store_file(new /datum/computer_file/program/atmosscan)
|
||||
|
||||
@@ -83,7 +78,6 @@
|
||||
/obj/item/modular_computer/tablet/preset/advanced/command/Initialize(mapload)
|
||||
. = ..()
|
||||
var/obj/item/computer_hardware/hard_drive/small/hard_drive = find_hardware_by_name("solid state drive")
|
||||
install_component(new /obj/item/computer_hardware/sensorpackage)
|
||||
install_component(new /obj/item/computer_hardware/card_slot/secondary)
|
||||
hard_drive.store_file(new /datum/computer_file/program/budgetorders)
|
||||
hard_drive.store_file(new /datum/computer_file/program/science)
|
||||
@@ -97,7 +91,6 @@
|
||||
/// Given to Nuke Ops members.
|
||||
/obj/item/modular_computer/tablet/nukeops/Initialize(mapload)
|
||||
. = ..()
|
||||
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/nukeops)
|
||||
install_component(new /obj/item/computer_hardware/network_card)
|
||||
@@ -105,6 +98,5 @@
|
||||
//Borg Built-in tablet
|
||||
/obj/item/modular_computer/tablet/integrated/Initialize(mapload)
|
||||
. = ..()
|
||||
install_component(new /obj/item/computer_hardware/processor_unit/small)
|
||||
install_component(new /obj/item/computer_hardware/recharger/cyborg)
|
||||
install_component(new /obj/item/computer_hardware/network_card/integrated)
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
. = ..()
|
||||
if(!cpu)
|
||||
return
|
||||
cpu.install_component(new /obj/item/computer_hardware/processor_unit)
|
||||
|
||||
cpu.install_component(new /obj/item/computer_hardware/card_slot)
|
||||
if(_has_second_id_slot)
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
var/hardware_flag = 0
|
||||
///Power usage during last tick
|
||||
var/last_power_usage = 0
|
||||
/// Amount of programs that can be ran at once
|
||||
var/max_idle_programs = 4
|
||||
|
||||
|
||||
///Icon state when the computer is turned off.
|
||||
@@ -124,7 +126,7 @@
|
||||
|
||||
// Modular computers can have battery in them, we handle power in previous proc, so prevent this from messing it up for us.
|
||||
/obj/machinery/modular_computer/power_change()
|
||||
if(cpu?.use_power()) // If MC_CPU still has a power source, PC wouldn't go offline.
|
||||
if(cpu?.use_power()) // If it still has a power source, PC wouldn't go offline.
|
||||
set_machine_stat(machine_stat & ~NOPOWER)
|
||||
update_appearance()
|
||||
return
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
return TRUE
|
||||
if("PC_minimize")
|
||||
var/mob/user = usr
|
||||
if(!computer.active_program || !computer.all_components[MC_CPU])
|
||||
if(!computer.active_program)
|
||||
return
|
||||
|
||||
computer.idle_threads.Add(computer.active_program)
|
||||
|
||||
@@ -8,13 +8,6 @@
|
||||
tgui_id = "NtosGasAnalyzer"
|
||||
program_icon = "thermometer-half"
|
||||
|
||||
/datum/computer_file/program/atmosscan/run_program(mob/living/user)
|
||||
. = ..()
|
||||
if (!.)
|
||||
return
|
||||
if(!computer?.get_modular_computer_part(MC_SENSORS)) //Giving a clue to users why the program is spitting out zeros.
|
||||
to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\"."))
|
||||
|
||||
/datum/computer_file/program/atmosscan/ui_static_data(mob/user)
|
||||
return return_atmos_handbooks()
|
||||
|
||||
@@ -22,12 +15,7 @@
|
||||
var/list/data = get_header_data()
|
||||
var/turf/turf = get_turf(computer)
|
||||
var/datum/gas_mixture/air = turf?.return_air()
|
||||
var/obj/item/computer_hardware/sensorpackage/air_sensor = computer?.get_modular_computer_part(MC_SENSORS)
|
||||
|
||||
if(!air_sensor)
|
||||
data["gasmixes"] = list(gas_mixture_parser(null, "No Sensors Detected!"))
|
||||
return data
|
||||
|
||||
data["gasmixes"] = list(gas_mixture_parser(air, "Sensor Reading")) //Null air wont cause errors, don't worry.
|
||||
return data
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
// CPU that allows the computer to run programs.
|
||||
// Better CPUs are obtainable via research and can run more programs on background.
|
||||
|
||||
/obj/item/computer_hardware/processor_unit
|
||||
name = "processor board"
|
||||
desc = "A standard CPU board used in most computers. It can run up to three programs simultaneously."
|
||||
icon_state = "cpuboard"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
power_usage = 50
|
||||
critical = 1
|
||||
malfunction_probability = 1
|
||||
var/max_idle_programs = 2 // 2 idle, + 1 active = 3 as said in description.
|
||||
device_type = MC_CPU
|
||||
|
||||
/obj/item/computer_hardware/processor_unit/on_remove(obj/item/modular_computer/remove_from, mob/user)
|
||||
remove_from.shutdown_computer()
|
||||
|
||||
/obj/item/computer_hardware/processor_unit/small
|
||||
name = "microprocessor"
|
||||
desc = "A miniaturised CPU used in portable devices. It can run up to two programs simultaneously."
|
||||
icon_state = "cpu"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
power_usage = 25
|
||||
max_idle_programs = 1
|
||||
|
||||
/obj/item/computer_hardware/processor_unit/photonic
|
||||
name = "photonic processor board"
|
||||
desc = "An advanced experimental CPU board that uses photonic core instead of regular circuitry. It can run up to five programs simultaneously, but uses a lot of power."
|
||||
icon_state = "cpuboard_super"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
power_usage = 250
|
||||
max_idle_programs = 4
|
||||
|
||||
/obj/item/computer_hardware/processor_unit/photonic/small
|
||||
name = "photonic microprocessor"
|
||||
desc = "An advanced miniaturised CPU for use in portable devices. It uses photonic core instead of regular circuitry. It can run up to three programs simultaneously."
|
||||
icon_state = "cpu_super"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
power_usage = 75
|
||||
max_idle_programs = 2
|
||||
@@ -17,9 +17,9 @@
|
||||
program.computer = null
|
||||
|
||||
/obj/item/computer_hardware/hard_drive/proc/install_default_programs()
|
||||
store_file(new/datum/computer_file/program/computerconfig(src)) // Computer configuration utility, allows hardware control and displays more info than status bar
|
||||
store_file(new/datum/computer_file/program/ntnetdownload(src)) // NTNet Downloader Utility, allows users to download more software from NTNet repository
|
||||
store_file(new/datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation.
|
||||
store_file(new /datum/computer_file/program/computerconfig(src)) // Computer configuration utility, allows hardware control and displays more info than status bar
|
||||
store_file(new /datum/computer_file/program/ntnetdownload(src)) // NTNet Downloader Utility, allows users to download more software from NTNet repository
|
||||
store_file(new /datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation.
|
||||
|
||||
/obj/item/computer_hardware/hard_drive/examine(user)
|
||||
. = ..()
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
/obj/item/computer_hardware/identifier
|
||||
name = "identifier"
|
||||
desc = "Used to automatically update the names of modular devices."
|
||||
power_usage = 0
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
device_type = MC_IDENTIFY
|
||||
expansion_hw = FALSE
|
||||
|
||||
/obj/item/computer_hardware/identifier/proc/UpdateDisplay()
|
||||
var/name = holder.saved_identification
|
||||
var/job = holder.saved_job
|
||||
|
||||
holder.name = "[name] ([job])"
|
||||
@@ -1,8 +1,8 @@
|
||||
/obj/item/computer_hardware/recharger
|
||||
critical = 1
|
||||
enabled = 1
|
||||
var/charge_rate = 100
|
||||
critical = TRUE
|
||||
enabled = TRUE
|
||||
device_type = MC_CHARGE
|
||||
var/charge_rate = 100
|
||||
|
||||
/obj/item/computer_hardware/recharger/proc/use_power(amount, charging=0)
|
||||
if(charging)
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
//This item doesn't do much on its own, but is required by apps such as AtmoZphere.
|
||||
/obj/item/computer_hardware/sensorpackage
|
||||
name = "sensor package"
|
||||
desc = "An integrated sensor package allowing a computer to take readings from the environment. Required by certain programs."
|
||||
icon_state = "servo"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
device_type = MC_SENSORS
|
||||
expansion_hw = TRUE
|
||||
@@ -19,7 +19,6 @@
|
||||
var/credits = 0
|
||||
|
||||
// Device loadout
|
||||
var/dev_cpu = 1 // 1: Default, 2: Upgraded
|
||||
var/dev_battery = 1 // 1: Default, 2: Upgraded, 3: Advanced
|
||||
var/dev_disk = 1 // 1: Default, 2: Upgraded, 3: Advanced
|
||||
var/dev_netcard = 0 // 0: None, 1: Basic, 2: Long-Range
|
||||
@@ -37,7 +36,6 @@
|
||||
if(fabricated_tablet)
|
||||
qdel(fabricated_tablet)
|
||||
fabricated_tablet = null
|
||||
dev_cpu = 1
|
||||
dev_battery = 1
|
||||
dev_disk = 1
|
||||
dev_netcard = 0
|
||||
@@ -56,14 +54,6 @@
|
||||
fabricated_laptop.install_component(new /obj/item/computer_hardware/battery)
|
||||
battery_module = fabricated_laptop.all_components[MC_CELL]
|
||||
total_price = 99
|
||||
switch(dev_cpu)
|
||||
if(1)
|
||||
if(fabricate)
|
||||
fabricated_laptop.install_component(new /obj/item/computer_hardware/processor_unit/small)
|
||||
if(2)
|
||||
if(fabricate)
|
||||
fabricated_laptop.install_component(new /obj/item/computer_hardware/processor_unit)
|
||||
total_price += 299
|
||||
switch(dev_battery)
|
||||
if(1) // Basic(750C)
|
||||
if(fabricate)
|
||||
@@ -116,7 +106,6 @@
|
||||
if(fabricate)
|
||||
fabricated_tablet = new(src)
|
||||
fabricated_tablet.install_component(new /obj/item/computer_hardware/battery)
|
||||
fabricated_tablet.install_component(new /obj/item/computer_hardware/processor_unit/small)
|
||||
fabricated_tablet.install_component(new/obj/item/computer_hardware/card_slot)
|
||||
battery_module = fabricated_tablet.all_components[MC_CELL]
|
||||
total_price = 199
|
||||
@@ -194,10 +183,6 @@
|
||||
state = 2 // Wait for ID swipe for payment processing
|
||||
fabricate_and_recalc_price(FALSE)
|
||||
return TRUE
|
||||
if("hw_cpu")
|
||||
dev_cpu = text2num(params["cpu"])
|
||||
fabricate_and_recalc_price(FALSE)
|
||||
return TRUE
|
||||
if("hw_battery")
|
||||
dev_battery = text2num(params["battery"])
|
||||
fabricate_and_recalc_price(FALSE)
|
||||
@@ -284,7 +269,6 @@
|
||||
data["hw_tesla"] = dev_apc_recharger
|
||||
data["hw_nanoprint"] = dev_printer
|
||||
data["hw_card"] = dev_card
|
||||
data["hw_cpu"] = dev_cpu
|
||||
if(state == 1 || state == 2)
|
||||
data["totalprice"] = total_price
|
||||
data["credits"] = credits
|
||||
|
||||
@@ -206,49 +206,3 @@
|
||||
build_path = /obj/item/stock_parts/cell/computer/micro
|
||||
category = list("Computer Parts")
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
|
||||
// Processor unit
|
||||
/datum/design/cpu
|
||||
name = "Processor Board"
|
||||
id = "cpu_normal"
|
||||
build_type = IMPRINTER | AWAY_IMPRINTER
|
||||
materials = list(/datum/material/glass = 1600)
|
||||
build_path = /obj/item/computer_hardware/processor_unit
|
||||
category = list("Computer Parts")
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
|
||||
/datum/design/cpu/small
|
||||
name = "Microprocessor"
|
||||
id = "cpu_small"
|
||||
build_type = IMPRINTER | AWAY_IMPRINTER
|
||||
materials = list(/datum/material/glass = 800)
|
||||
build_path = /obj/item/computer_hardware/processor_unit/small
|
||||
category = list("Computer Parts")
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
|
||||
/datum/design/cpu/photonic
|
||||
name = "Photonic Processor Board"
|
||||
id = "pcpu_normal"
|
||||
build_type = IMPRINTER | AWAY_IMPRINTER
|
||||
materials = list(/datum/material/glass = 6400, /datum/material/gold = 2000)
|
||||
build_path = /obj/item/computer_hardware/processor_unit/photonic
|
||||
category = list("Computer Parts")
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
|
||||
/datum/design/cpu/photonic/small
|
||||
name = "Photonic Microprocessor"
|
||||
id = "pcpu_small"
|
||||
build_type = IMPRINTER | AWAY_IMPRINTER
|
||||
materials = list(/datum/material/glass = 3200, /datum/material/gold = 1000)
|
||||
build_path = /obj/item/computer_hardware/processor_unit/photonic/small
|
||||
category = list("Computer Parts")
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
|
||||
/datum/design/sensorpackage
|
||||
name = "Sensor Package"
|
||||
id = "sensorpackage"
|
||||
build_type = PROTOLATHE | AWAY_LATHE
|
||||
materials = list(/datum/material/iron = 200, /datum/material/glass = 100, /datum/material/gold = 50, /datum/material/silver = 50)
|
||||
build_path = /obj/item/computer_hardware/sensorpackage
|
||||
category = list("Computer Parts")
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
|
||||
@@ -1015,8 +1015,6 @@
|
||||
"bat_normal",
|
||||
"bat_super",
|
||||
"cardslot",
|
||||
"cpu_normal",
|
||||
"cpu_small",
|
||||
"hdd_advanced",
|
||||
"hdd_basic",
|
||||
"hdd_cluster",
|
||||
@@ -1025,12 +1023,9 @@
|
||||
"netcard_advanced",
|
||||
"netcard_basic",
|
||||
"netcard_wired",
|
||||
"pcpu_normal",
|
||||
"pcpu_small",
|
||||
"portadrive_advanced",
|
||||
"portadrive_basic",
|
||||
"portadrive_super",
|
||||
"sensorpackage",
|
||||
"ssd_micro",
|
||||
"ssd_small",
|
||||
)
|
||||
|
||||
@@ -16,9 +16,6 @@
|
||||
/obj/item/computer_hardware/hard_drive/portable = 8,
|
||||
/obj/item/computer_hardware/battery = 8,
|
||||
/obj/item/stock_parts/cell/computer = 8,
|
||||
/obj/item/computer_hardware/processor_unit = 4,
|
||||
/obj/item/computer_hardware/processor_unit/small = 4,
|
||||
/obj/item/computer_hardware/sensorpackage = 4
|
||||
)
|
||||
premium = list(
|
||||
/obj/item/computer_hardware/card_slot = 2,
|
||||
|
||||
@@ -3629,15 +3629,12 @@
|
||||
#include "code\modules\modular_computers\hardware\ai_slot.dm"
|
||||
#include "code\modules\modular_computers\hardware\battery_module.dm"
|
||||
#include "code\modules\modular_computers\hardware\card_slot.dm"
|
||||
#include "code\modules\modular_computers\hardware\CPU.dm"
|
||||
#include "code\modules\modular_computers\hardware\hard_drive.dm"
|
||||
#include "code\modules\modular_computers\hardware\identifier.dm"
|
||||
#include "code\modules\modular_computers\hardware\network_card.dm"
|
||||
#include "code\modules\modular_computers\hardware\portable_disk.dm"
|
||||
#include "code\modules\modular_computers\hardware\printer.dm"
|
||||
#include "code\modules\modular_computers\hardware\program_disks.dm"
|
||||
#include "code\modules\modular_computers\hardware\recharger.dm"
|
||||
#include "code\modules\modular_computers\hardware\sensor_package.dm"
|
||||
#include "code\modules\modular_computers\hardware\virus_disk.dm"
|
||||
#include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm"
|
||||
#include "code\modules\movespeed\_movespeed_modifier.dm"
|
||||
|
||||
@@ -274,68 +274,36 @@ const CfStep2 = (props, context) => {
|
||||
</Table.Cell>
|
||||
</Table.Row>
|
||||
{data.devtype !== 2 && (
|
||||
<>
|
||||
<Table.Row>
|
||||
<Table.Cell bold position="relative">
|
||||
<Tooltip
|
||||
content={multiline`
|
||||
A component critical for your device's functionality.
|
||||
It allows you to run programs from your hard drive.
|
||||
Advanced CPUs use more power, but allow you to run
|
||||
more programs on background at once.
|
||||
`}
|
||||
position="right">
|
||||
Processor Unit:
|
||||
</Tooltip>
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
<Button
|
||||
content="Standard"
|
||||
selected={data.hw_cpu === 1}
|
||||
onClick={() => act('hw_cpu', {
|
||||
cpu: '1',
|
||||
})} />
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
<Button
|
||||
content="Advanced"
|
||||
selected={data.hw_cpu === 2}
|
||||
onClick={() => act('hw_cpu', {
|
||||
cpu: '2',
|
||||
})} />
|
||||
</Table.Cell>
|
||||
</Table.Row>
|
||||
<Table.Row>
|
||||
<Table.Cell bold position="relative">
|
||||
<Tooltip
|
||||
content={multiline`
|
||||
An advanced wireless power relay that allows your device
|
||||
to connect to nearby area power controller to provide
|
||||
alternative power source. This component is currently
|
||||
unavailable on tablet computers due to size restrictions.
|
||||
`}
|
||||
position="right">
|
||||
Tesla Relay:
|
||||
</Tooltip>
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
<Button
|
||||
content="None"
|
||||
selected={data.hw_tesla === 0}
|
||||
onClick={() => act('hw_tesla', {
|
||||
tesla: '0',
|
||||
})} />
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
<Button
|
||||
content="Standard"
|
||||
selected={data.hw_tesla === 1}
|
||||
onClick={() => act('hw_tesla', {
|
||||
tesla: '1',
|
||||
})} />
|
||||
</Table.Cell>
|
||||
</Table.Row>
|
||||
</>
|
||||
<Table.Row>
|
||||
<Table.Cell bold position="relative">
|
||||
<Tooltip
|
||||
content={multiline`
|
||||
An advanced wireless power relay that allows your device
|
||||
to connect to nearby area power controller to provide
|
||||
alternative power source. This component is currently
|
||||
unavailable on tablet computers due to size restrictions.
|
||||
`}
|
||||
position="right">
|
||||
Tesla Relay:
|
||||
</Tooltip>
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
<Button
|
||||
content="None"
|
||||
selected={data.hw_tesla === 0}
|
||||
onClick={() => act('hw_tesla', {
|
||||
tesla: '0',
|
||||
})} />
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
<Button
|
||||
content="Standard"
|
||||
selected={data.hw_tesla === 1}
|
||||
onClick={() => act('hw_tesla', {
|
||||
tesla: '1',
|
||||
})} />
|
||||
</Table.Cell>
|
||||
</Table.Row>
|
||||
)}
|
||||
</Table>
|
||||
<Button
|
||||
|
||||
Reference in New Issue
Block a user