diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index cfa608011bd..4d4c44138e0 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -545,11 +545,13 @@ ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_SCIENCE, + ACCESS_XENOBIOLOGY, ) extra_access = list( ACCESS_ROBOTICS, ACCESS_TECH_STORAGE, - ACCESS_XENOBIOLOGY, + ACCESS_ORDNANCE, + ACCESS_ORDNANCE_STORAGE, ) template_access = list( ACCESS_CAPTAIN, @@ -960,6 +962,8 @@ ACCESS_GENETICS, ACCESS_XENOBIOLOGY, ACCESS_MORGUE_SECURE, + ACCESS_ORDNANCE, + ACCESS_ORDNANCE_STORAGE, ) template_access = list( ACCESS_CAPTAIN, diff --git a/code/modules/experisci/experiment/experiments.dm b/code/modules/experisci/experiment/experiments.dm index a62867397c2..1a0eed30534 100644 --- a/code/modules/experisci/experiment/experiments.dm +++ b/code/modules/experisci/experiment/experiments.dm @@ -343,7 +343,7 @@ name = "Exosuit Materials: Load Strain Test" description = "Exosuit equipment places unique strain upon the structure of the vehicle. Scan exosuits you have assembled from your exosuit fabricator and fully equipped to accelerate our structural stress simulations." possible_types = list(/obj/vehicle/sealed/mecha) - total_requirement = 2 + total_requirement = 1 /// Scan for organs you didn't start the round with /datum/experiment/scanning/people/novel_organs @@ -391,6 +391,7 @@ description = "We need to gather data on how cybernetic vital organs integrate with human biology. Conduct a scan on a human with these implants to help us understand their compatibility" performance_hint = "Perform an organ manipulation surgery to replace one of the vital organs with a cybernetic variant." required_traits_desc = "augmented vital organs" + required_count = 1 /datum/experiment/scanning/people/augmented_organs/is_valid_scan_target(mob/living/carbon/human/check) . = ..() @@ -439,15 +440,19 @@ required_reagent = /datum/reagent/cryostylane min_purity = 0.99 -/datum/experiment/scanning/bluespace_crystal +/datum/experiment/scanning/points/bluespace_crystal name = "Bluespace Crystal Sampling" description = "Investigate the properties of bluespace crystals by scanning either an artificial or naturally occurring variant. This will help us deepen our understanding of bluespace phenomena." - required_atoms = list(/obj/item/stack/ore/bluespace_crystal = 1) + required_points = 1 + required_atoms = list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/sheet/bluespace_crystal = 1 + ) /datum/experiment/scanning/points/machinery_tiered_scan/tier2_any name = "Upgraded Stock Parts Benchmark" description = "Our newly-designed machinery components require practical application tests for hints at possible further advancements, as well as a general confirmation that we didn't actually design worse parts somehow. Scan any machinery with Upgraded Parts and report the results." - required_points = 8 + required_points = 4 required_atoms = list( /obj/machinery = 1 ) @@ -456,7 +461,7 @@ /datum/experiment/scanning/points/machinery_tiered_scan/tier3_any name = "Advanced Stock Parts Benchmark" description = "Our newly-designed machinery components require practical application tests for hints at possible further advancements, as well as a general confirmation that we didn't actually design worse parts somehow. Scan any machinery with Advanced Parts and report the results." - required_points = 8 + required_points = 4 required_atoms = list( /obj/machinery = 1 ) diff --git a/code/modules/modular_computers/computers/item/role_tablet_presets.dm b/code/modules/modular_computers/computers/item/role_tablet_presets.dm index d27fd1e593f..200b0febe1a 100644 --- a/code/modules/modular_computers/computers/item/role_tablet_presets.dm +++ b/code/modules/modular_computers/computers/item/role_tablet_presets.dm @@ -97,6 +97,7 @@ /datum/computer_file/program/crew_manifest, /datum/computer_file/program/robocontrol, /datum/computer_file/program/science, + /datum/computer_file/program/scipaper_program, /datum/computer_file/program/status, /datum/computer_file/program/signal_commander, ) @@ -187,6 +188,7 @@ starting_programs = list( /datum/computer_file/program/atmosscan, /datum/computer_file/program/science, + /datum/computer_file/program/scipaper_program, /datum/computer_file/program/signal_commander, ) diff --git a/code/modules/modular_computers/file_system/programs/frontier.dm b/code/modules/modular_computers/file_system/programs/frontier.dm index c41cf642ffb..7a65513508d 100644 --- a/code/modules/modular_computers/file_system/programs/frontier.dm +++ b/code/modules/modular_computers/file_system/programs/frontier.dm @@ -8,7 +8,7 @@ program_open_overlay = "research" tgui_id = "NtosScipaper" program_icon = "paper-plane" - download_access = list(ACCESS_ORDNANCE) + download_access = list(ACCESS_ORDNANCE, ACCESS_SCIENCE, ACCESS_AWAY_SCIENCE) var/datum/techweb/linked_techweb /// Unpublished, temporary paper datum. diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 7d4f613f054..ef6c65d1831 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -747,7 +747,6 @@ name = "NTNet Relay Board" desc = "The circuit board for a wireless network relay." id = "ntnet_relay" - build_type = IMPRINTER build_path = /obj/item/circuitboard/machine/ntnet_relay category = list( RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_TELECOMMS diff --git a/code/modules/research/techweb/nodes/biology_nodes.dm b/code/modules/research/techweb/nodes/biology_nodes.dm index 6a14d7d517c..4adc7869183 100644 --- a/code/modules/research/techweb/nodes/biology_nodes.dm +++ b/code/modules/research/techweb/nodes/biology_nodes.dm @@ -6,6 +6,7 @@ design_ids = list( "healthanalyzer", "autopsyscanner", + "genescanner", "medical_kiosk", "chem_master", "ph_meter", @@ -54,7 +55,6 @@ "scan_console", "dna_disk", "dnainfuser", - "genescanner", "mod_dna_lock", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) diff --git a/code/modules/research/techweb/nodes/research_nodes.dm b/code/modules/research/techweb/nodes/research_nodes.dm index b3af62c72e9..f68086ab5ab 100644 --- a/code/modules/research/techweb/nodes/research_nodes.dm +++ b/code/modules/research/techweb/nodes/research_nodes.dm @@ -48,7 +48,7 @@ "bluespacebodybag", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) - required_experiments = list(/datum/experiment/scanning/bluespace_crystal) + required_experiments = list(/datum/experiment/scanning/points/bluespace_crystal) /datum/techweb_node/bluespace_travel id = "bluespace_travel" diff --git a/tgui/packages/tgui/interfaces/NtosScipaper.jsx b/tgui/packages/tgui/interfaces/NtosScipaper.jsx index 2af2cd12f43..4d12fdc6389 100644 --- a/tgui/packages/tgui/interfaces/NtosScipaper.jsx +++ b/tgui/packages/tgui/interfaces/NtosScipaper.jsx @@ -5,7 +5,6 @@ import { Button, Collapsible, Dropdown, - Icon, Input, LabeledList, NoticeBox, @@ -13,14 +12,13 @@ import { Stack, Table, Tabs, - Tooltip, } from '../components'; import { TableCell, TableRow } from '../components/Table'; import { NtosWindow } from '../layouts'; export const NtosScipaper = (props) => { return ( - + @@ -50,7 +48,122 @@ const PaperPublishing = (props) => { return ( <>
- + {fileList.length === 0 && ( + + Use the File Manager app to download files from a disk. + + )} + + + } + > + + + act('select_file', { + selected_uid: fileList[ordfile_name], + }) + } + /> + + + + } + > + + + act('select_experiment', { + selected_expath: expList[experiment_name], + }) + } + /> + + + + } + > + + String(number))} + selected={String(tier)} + onSelected={(new_tier) => + act('select_tier', { + selected_tier: Number(new_tier), + }) + } + /> + + + + } + > + + + act('select_partner', { + selected_partner: allowedPartners[new_partner], + }) + } + /> + + + act('et_alia')} + /> + } + > + + act('rewrite', { + author: value, + }) + } + /> + { } /> - - - act('rewrite', { - author: value, - }) - } - /> - - { } /> - - - - - act('select_file', { - selected_uid: fileList[ordfile_name], - }) - } - /> - - - - - - - - - - - - - act('select_experiment', { - selected_expath: expList[experiment_name], - }) - } - /> - - - - - - - - - - - - String(number))} - selected={String(tier)} - onSelected={(new_tier) => - act('select_tier', { - selected_tier: Number(new_tier), - }) - } - /> - - - - - - - - - - - - - act('select_partner', { - selected_partner: allowedPartners[new_partner], - }) - } - /> - - - - - - - -
- - - +
); @@ -366,7 +367,7 @@ export const NtosScipaperContent = (props) => { Please sync this application to a valid techweb to upload progress! )} - + @@ -385,7 +386,7 @@ export const NtosScipaperContent = (props) => { }) } > - {'View Previous Publications'} + {'Publications'} { }) } > - {'View Available Experiments'} + {'Experiments'} { }) } > - {'View Scientific Partners'} + {'Scientific Partners'} {currentTab === 1 && }