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:
John Willard
2022-05-13 14:50:35 -04:00
committed by GitHub
parent b17bfad5b5
commit c61d6dc3cb
27 changed files with 70 additions and 296 deletions
-4
View File
@@ -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)
-32
View File
@@ -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"
+1 -4
View File
@@ -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
+1 -3
View File
@@ -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",
)
-3
View File
@@ -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,
-3
View File
@@ -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