mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 17:52:36 +00:00
* Adds the MMI circuit component. Allows inputting signals into circuit component ports (#59743) Adds the MMI component which outputs signals whenever they click somewhere/try to move. Allows inputting signals into ports, making it easier to debug integrated components. * Adds the MMI circuit component. Allows inputting signals into circuit component ports Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2153 lines
59 KiB
Plaintext
2153 lines
59 KiB
Plaintext
|
|
//Current rate: 135000 research points in 90 minutes
|
|
|
|
//Base Nodes
|
|
/datum/techweb_node/base
|
|
id = "base"
|
|
starting_node = TRUE
|
|
display_name = "Basic Research Technology"
|
|
description = "NT default research technologies."
|
|
// Default research tech, prevents bricking
|
|
design_ids = list(
|
|
"basic_capacitor",
|
|
"basic_cell",
|
|
"basic_matter_bin",
|
|
"basic_micro_laser",
|
|
"basic_scanning",
|
|
"bepis",
|
|
"bucket",
|
|
"c-reader",
|
|
"circuit_imprinter",
|
|
"circuit_imprinter_offstation",
|
|
"conveyor_belt",
|
|
"conveyor_switch",
|
|
"design_disk",
|
|
"destructive_analyzer",
|
|
"destructive_scanner",
|
|
"desttagger",
|
|
"doppler_array",
|
|
"experi_scanner",
|
|
"experimentor",
|
|
"handlabel",
|
|
"mechfab",
|
|
"micro_mani",
|
|
"packagewrap",
|
|
"paystand",
|
|
"plasmaglass",
|
|
"plasmareinforcedglass",
|
|
"plasteel",
|
|
"plastic_fork",
|
|
"plastic_knife",
|
|
"plastic_spoon",
|
|
"plastitanium",
|
|
"plastitaniumglass",
|
|
"rdconsole",
|
|
"rdserver",
|
|
"rdservercontrol",
|
|
"restaurant_portal",
|
|
"rglass",
|
|
"salestagger",
|
|
"sec_38",
|
|
"sec_Islug",
|
|
"sec_beanbag_slug",
|
|
"sec_dart",
|
|
"sec_rshot",
|
|
"space_heater",
|
|
"tech_disk",
|
|
"titaniumglass",
|
|
)
|
|
|
|
/datum/techweb_node/mmi
|
|
id = "mmi"
|
|
starting_node = TRUE
|
|
display_name = "Man Machine Interface"
|
|
description = "A slightly Frankensteinian device that allows human brains to interface natively with software APIs."
|
|
design_ids = list(
|
|
"mmi",
|
|
)
|
|
|
|
/datum/techweb_node/cyborg
|
|
id = "cyborg"
|
|
starting_node = TRUE
|
|
display_name = "Cyborg Construction"
|
|
description = "Sapient robots with preloaded tool modules and programmable laws."
|
|
design_ids = list(
|
|
"borg_chest",
|
|
"borg_head",
|
|
"borg_l_arm",
|
|
"borg_l_leg",
|
|
"borg_r_arm",
|
|
"borg_r_leg",
|
|
"borg_suit",
|
|
"borg_upgrade_rename",
|
|
"borg_upgrade_restart",
|
|
"borgupload",
|
|
"cyborgrecharger",
|
|
"robocontrol",
|
|
"sflash",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"affection_module",
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
|
|
/datum/techweb_node/mech
|
|
id = "mecha"
|
|
starting_node = TRUE
|
|
display_name = "Mechanical Exosuits"
|
|
description = "Mechanized exosuits that are several magnitudes stronger and more powerful than the average human."
|
|
design_ids = list(
|
|
"mech_hydraulic_clamp",
|
|
"mech_recharger",
|
|
"mecha_tracking",
|
|
"mechacontrol",
|
|
"mechapower",
|
|
"ripley_chassis",
|
|
"ripley_left_arm",
|
|
"ripley_left_leg",
|
|
"ripley_main",
|
|
"ripley_peri",
|
|
"ripley_right_arm",
|
|
"ripley_right_leg",
|
|
"ripley_torso",
|
|
"ripleyupgrade",
|
|
)
|
|
|
|
/datum/techweb_node/mech_tools
|
|
id = "mech_tools"
|
|
starting_node = TRUE
|
|
display_name = "Basic Exosuit Equipment"
|
|
description = "Various tools fit for basic mech units"
|
|
design_ids = list(
|
|
"mech_drill",
|
|
"mech_extinguisher",
|
|
"mech_mscanner",
|
|
)
|
|
|
|
/datum/techweb_node/basic_tools
|
|
id = "basic_tools"
|
|
starting_node = TRUE
|
|
display_name = "Basic Tools"
|
|
description = "Basic mechanical, electronic, surgical and botanical tools."
|
|
design_ids = list(
|
|
"airlock_painter",
|
|
"analyzer",
|
|
"cable_coil",
|
|
"cable_coil",
|
|
"crowbar",
|
|
"cultivator",
|
|
"decal_painter",
|
|
"hatchet",
|
|
"mop",
|
|
"multitool",
|
|
"normtrash",
|
|
"petri_dish",
|
|
"pipe_painter",
|
|
"plant_analyzer",
|
|
"plunger",
|
|
"pushbroom",
|
|
"screwdriver",
|
|
"secateurs",
|
|
"shovel",
|
|
"spade",
|
|
"spraycan",
|
|
"swab",
|
|
"tscanner",
|
|
"welding_helmet",
|
|
"welding_tool",
|
|
"wirecutters",
|
|
"wrench",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"bowl",
|
|
"drinking_glass",
|
|
"shot_glass",
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
|
|
/datum/techweb_node/basic_medical
|
|
id = "basic_medical"
|
|
starting_node = TRUE
|
|
display_name = "Basic Medical Equipment"
|
|
description = "Basic medical tools and equipment."
|
|
design_ids = list(
|
|
"beaker",
|
|
"blood_filter",
|
|
"bonesetter",
|
|
"cautery",
|
|
"circular_saw",
|
|
"cybernetic_eyes",
|
|
"cybernetic_heart",
|
|
"cybernetic_liver",
|
|
"cybernetic_lungs",
|
|
"cybernetic_stomach",
|
|
"defibmountdefault",
|
|
"dropper",
|
|
"hemostat",
|
|
"large_beaker",
|
|
"plumbing_rcd",
|
|
"portable_chem_mixer",
|
|
"retractor",
|
|
"scalpel",
|
|
"stethoscope",
|
|
"surgical_drapes",
|
|
"surgical_tape",
|
|
"surgicaldrill",
|
|
"syringe",
|
|
"xlarge_beaker",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"engi_plumbing",
|
|
"hospital_gown",
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
|
|
/datum/techweb_node/basic_circuitry
|
|
id = "basic_circuitry"
|
|
starting_node = TRUE
|
|
display_name = "Basic Integrated Circuits"
|
|
description = "Research on how to fully exploit the power of integrated circuits"
|
|
design_ids = list(
|
|
"circuit_multitool",
|
|
"comp_arithmetic",
|
|
"comp_clock",
|
|
"comp_combiner",
|
|
"comp_comparison",
|
|
"comp_concat",
|
|
"comp_delay",
|
|
"comp_direction",
|
|
"comp_gps",
|
|
"comp_health",
|
|
"comp_hear",
|
|
"comp_index",
|
|
"comp_length",
|
|
"comp_light",
|
|
"comp_logic",
|
|
"comp_mmi",
|
|
"comp_multiplexer",
|
|
"comp_not",
|
|
"comp_radio",
|
|
"comp_ram",
|
|
"comp_random",
|
|
"comp_self",
|
|
"comp_species",
|
|
"comp_speech",
|
|
"comp_speech",
|
|
"comp_string_contains",
|
|
"comp_textcase",
|
|
"comp_tostring",
|
|
"comp_typecheck",
|
|
"compact_remote_shell",
|
|
"component_printer",
|
|
"integrated_circuit",
|
|
"usb_cable",
|
|
)
|
|
|
|
/////////////////////////Biotech/////////////////////////
|
|
|
|
/datum/techweb_node/biotech
|
|
id = "biotech"
|
|
display_name = "Biological Technology"
|
|
description = "What makes us tick." //the MC, silly!
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"beer_dispenser",
|
|
"biopsy_tool",
|
|
"blood_pack",
|
|
"chem_dispenser",
|
|
"chem_heater",
|
|
"chem_master",
|
|
"chem_pack",
|
|
"crewpinpointerprox",
|
|
"defibmount",
|
|
"defibrillator",
|
|
"genescanner",
|
|
"healthanalyzer",
|
|
"med_spray_bottle",
|
|
"medical_kiosk",
|
|
"medigel",
|
|
"medipen_refiller",
|
|
"operating",
|
|
"pandemic",
|
|
"plumbing_rcd_sci",
|
|
"soda_dispenser",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
required_experiments = list(/datum/experiment/scanning/points/slime/calibration)
|
|
|
|
|
|
// SKYRAT EDIT BEGIN - MATERIAL MEAT WAS REMOVED
|
|
/datum/techweb_node/adv_biotech
|
|
id = "adv_biotech"
|
|
display_name = "Advanced Biotechnology"
|
|
description = "Advanced Biotechnology"
|
|
prereq_ids = list("biotech")
|
|
design_ids = list(
|
|
"crewpinpointer",
|
|
"defibrillator_compact",
|
|
"detective_scanner",
|
|
"harvester",
|
|
"healthanalyzer_advanced",
|
|
"holobarrier_med",
|
|
"limbgrower",
|
|
"meta_beaker",
|
|
"ph_meter",
|
|
"piercesyringe",
|
|
"plasmarefiller",
|
|
"smoke_machine",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"monkey_helmet",
|
|
//SKYRAT EDIT END -
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
required_experiments = list(/datum/experiment/scanning/points/slime/easy)
|
|
// ORIGINAL: discount_experiments = list(/datum/experiment/scanning/random/material/meat = 4000) //Big discount to reinforce doing it.
|
|
discount_experiments = list(/datum/experiment/scanning/random/material/silver = 4000) //Big discount to reinforce doing it.
|
|
// SKYRAT EDIT END - MATERIAL MEAT WAS REMOVED
|
|
|
|
/datum/techweb_node/xenoorgan_biotech
|
|
id = "xenoorgan_bio"
|
|
display_name = "Xeno-organ Biology"
|
|
description = "Plasmaman, Ethereals, Lizardpeople... What makes our non-human crewmembers tick?"
|
|
prereq_ids = list("adv_biotech")
|
|
design_ids = list(
|
|
"limbdesign_ethereal",
|
|
"limbdesign_felinid",
|
|
"limbdesign_lizard",
|
|
"limbdesign_plasmaman",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 6500)
|
|
discount_experiments = list(/datum/experiment/scanning/random/cytology/easy = 1000, /datum/experiment/scanning/points/slime/expert = 5000)
|
|
|
|
/datum/techweb_node/bio_process
|
|
id = "bio_process"
|
|
display_name = "Biological Processing"
|
|
description = "From slimes to kitchens."
|
|
prereq_ids = list("biotech")
|
|
design_ids = list(
|
|
"deepfryer",
|
|
"dish_drive",
|
|
"fat_sucker",
|
|
"gibber",
|
|
"gibber",
|
|
"griddle",
|
|
"microwave",
|
|
"monkey_recycler",
|
|
"processor",
|
|
"reagentgrinder",
|
|
"smartfridge",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
|
|
discount_experiments = list(/datum/experiment/scanning/random/cytology = 3000) //Big discount to reinforce doing it.
|
|
|
|
/////////////////////////Advanced Surgery/////////////////////////
|
|
|
|
/datum/techweb_node/imp_wt_surgery
|
|
id = "imp_wt_surgery"
|
|
display_name = "Improved Wound-Tending Surgery"
|
|
description = "Who would have known being more gentle with a hemostat decreases patient pain?"
|
|
prereq_ids = list("biotech")
|
|
design_ids = list(
|
|
"surgery_heal_brute_upgrade",
|
|
"surgery_heal_burn_upgrade",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
|
|
|
|
|
/datum/techweb_node/adv_surgery
|
|
id = "adv_surgery"
|
|
display_name = "Advanced Surgery"
|
|
description = "When simple medicine doesn't cut it."
|
|
prereq_ids = list("imp_wt_surgery")
|
|
design_ids = list(
|
|
"surgery_heal_brute_upgrade_femto",
|
|
"surgery_heal_burn_upgrade_femto",
|
|
"surgery_heal_combo",
|
|
"surgery_lobotomy",
|
|
"surgery_wing_reconstruction",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500)
|
|
|
|
/datum/techweb_node/exp_surgery
|
|
id = "exp_surgery"
|
|
display_name = "Experimental Surgery"
|
|
description = "When evolution isn't fast enough."
|
|
prereq_ids = list("adv_surgery")
|
|
design_ids = list(
|
|
"surgery_cortex_folding",
|
|
"surgery_cortex_imprint",
|
|
"surgery_heal_combo_upgrade",
|
|
"surgery_ligament_hook",
|
|
"surgery_ligament_reinforcement",
|
|
"surgery_muscled_veins",
|
|
"surgery_nerve_ground",
|
|
"surgery_nerve_splice",
|
|
"surgery_pacify",
|
|
"surgery_vein_thread",
|
|
"surgery_viral_bond",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
|
|
discount_experiments = list(/datum/experiment/scanning/random/plants/traits = 4500)
|
|
|
|
/datum/techweb_node/alien_surgery
|
|
id = "alien_surgery"
|
|
display_name = "Alien Surgery"
|
|
description = "Abductors did nothing wrong."
|
|
prereq_ids = list("exp_surgery", "alientech")
|
|
design_ids = list(
|
|
"surgery_brainwashing",
|
|
"surgery_heal_combo_upgrade_femto",
|
|
"surgery_zombie",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
|
|
|
/////////////////////////data theory tech/////////////////////////
|
|
|
|
/datum/techweb_node/datatheory //Computer science
|
|
id = "datatheory"
|
|
display_name = "Data Theory"
|
|
description = "Big Data, in space!"
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"bounty_pad",
|
|
"bounty_pad_control",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
|
|
/////////////////////////engineering tech/////////////////////////
|
|
|
|
/datum/techweb_node/engineering
|
|
id = "engineering"
|
|
display_name = "Industrial Engineering"
|
|
description = "A refresher course on modern engineering technology."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"adv_capacitor",
|
|
"adv_matter_bin",
|
|
"adv_scanning",
|
|
"airalarm_electronics",
|
|
"airlock_board",
|
|
"apc_control",
|
|
"atmos_control",
|
|
"atmosalerts",
|
|
"autolathe",
|
|
"cell_charger",
|
|
"cell_charger",
|
|
"crystallizer",
|
|
"electrolyzer",
|
|
"emergency_oxygen",
|
|
"emergency_oxygen_engi",
|
|
"firealarm_electronics",
|
|
"firelock_board",
|
|
"grounding_rod",
|
|
"high_cell",
|
|
"high_micro_laser",
|
|
"mesons",
|
|
"nano_mani",
|
|
"oxygen_tank",
|
|
"pacman",
|
|
"plasma_tank",
|
|
"plasmaman_tank_belt",
|
|
"pneumatic_seal",
|
|
"power control",
|
|
"powermonitor",
|
|
"rad_collector",
|
|
"recharger",
|
|
"recycler",
|
|
"rped",
|
|
"scanner_gate",
|
|
"solarcontrol",
|
|
"stack_console",
|
|
"stack_machine",
|
|
"tesla_coil",
|
|
"thermomachine",
|
|
"w-recycler" , "emitter",
|
|
"welding_goggles",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 12500)
|
|
discount_experiments = list(/datum/experiment/scanning/random/material/easy = 7500)
|
|
|
|
/datum/techweb_node/adv_engi
|
|
id = "adv_engi"
|
|
display_name = "Advanced Engineering"
|
|
description = "Pushing the boundaries of physics, one chainsaw-fist at a time."
|
|
prereq_ids = list("engineering", "emp_basic")
|
|
design_ids = list(
|
|
"HFR_core",
|
|
"HFR_corner",
|
|
"HFR_fuel_input",
|
|
"HFR_interface",
|
|
"HFR_moderator_input",
|
|
"HFR_waste_output",
|
|
"engine_goggles",
|
|
"forcefield_projector",
|
|
"magboots",
|
|
"rcd_loaded",
|
|
"rpd_loaded",
|
|
"sheetifier",
|
|
"weldingmask",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"engine_goggles_prescription",
|
|
"mesons_prescription",
|
|
"multi_cell_charger",
|
|
"tray_goggles_prescription",
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
discount_experiments = list(/datum/experiment/scanning/random/material/medium/one = 4000)
|
|
|
|
/datum/techweb_node/anomaly
|
|
id = "anomaly_research"
|
|
display_name = "Anomaly Research"
|
|
description = "Unlock the potential of the mysterious anomalies that appear on station."
|
|
prereq_ids = list("adv_engi", "practical_bluespace")
|
|
design_ids = list(
|
|
"anomaly_neutralizer",
|
|
"reactive_armour",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
|
|
/datum/techweb_node/high_efficiency
|
|
id = "high_efficiency"
|
|
display_name = "High Efficiency Parts"
|
|
description = "Finely-tooled manufacturing techniques allowing for picometer-perfect precision levels."
|
|
prereq_ids = list("engineering", "datatheory")
|
|
design_ids = list(
|
|
"pico_mani",
|
|
"super_matter_bin",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
|
|
|
|
/datum/techweb_node/adv_power
|
|
id = "adv_power"
|
|
display_name = "Advanced Power Manipulation"
|
|
description = "How to get more zap."
|
|
prereq_ids = list("engineering")
|
|
design_ids = list(
|
|
"hyper_cell",
|
|
"power_compressor",
|
|
"power_turbine",
|
|
"power_turbine_console",
|
|
"smes",
|
|
"super_capacitor",
|
|
"super_cell",
|
|
"superpacman",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/////////////////////////Bluespace tech/////////////////////////
|
|
/datum/techweb_node/bluespace_basic //Bluespace-memery
|
|
id = "bluespace_basic"
|
|
display_name = "Basic Bluespace Theory"
|
|
description = "Basic studies into the mysterious alternate dimension known as bluespace."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"beacon",
|
|
"bluespace_crystal",
|
|
"telesci_gps",
|
|
"xenobioconsole",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/bluespace_travel
|
|
id = "bluespace_travel"
|
|
display_name = "Bluespace Travel"
|
|
description = "Application of Bluespace for static teleportation technology."
|
|
prereq_ids = list("practical_bluespace")
|
|
design_ids = list(
|
|
"bluespace_pod",
|
|
"launchpad",
|
|
"launchpad_console",
|
|
"quantumpad",
|
|
"tele_hub",
|
|
"tele_station",
|
|
"teleconsole",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
|
|
/datum/techweb_node/micro_bluespace
|
|
id = "micro_bluespace"
|
|
display_name = "Miniaturized Bluespace Research"
|
|
description = "Extreme reduction in space required for bluespace engines, leading to portable bluespace technology."
|
|
prereq_ids = list("bluespace_travel", "practical_bluespace", "high_efficiency")
|
|
design_ids = list(
|
|
"bluespace_matter_bin",
|
|
"bluespacebodybag",
|
|
"femto_mani",
|
|
"quantum_keycard",
|
|
"swapper",
|
|
"triphasic_scanning",
|
|
"wormholeprojector",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
|
discount_experiments = list(/datum/experiment/exploration_scan/random/condition)
|
|
|
|
/datum/techweb_node/advanced_bluespace
|
|
id = "bluespace_storage"
|
|
display_name = "Advanced Bluespace Storage"
|
|
description = "With the use of bluespace we can create even more advanced storage devices than we could have ever done"
|
|
prereq_ids = list("micro_bluespace", "janitor")
|
|
design_ids = list(
|
|
"bag_holding",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
|
|
/datum/techweb_node/practical_bluespace
|
|
id = "practical_bluespace"
|
|
display_name = "Applied Bluespace Research"
|
|
description = "Using bluespace to make things faster and better."
|
|
prereq_ids = list("bluespace_basic", "engineering")
|
|
design_ids = list(
|
|
"bluespacebeaker",
|
|
"bluespacesyringe",
|
|
"bs_rped",
|
|
"minerbag_holding",
|
|
"ore_silo",
|
|
"phasic_scanning",
|
|
"plumbing_receiver",
|
|
"roastingstick",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
|
|
/datum/techweb_node/bluespace_power
|
|
id = "bluespace_power"
|
|
display_name = "Bluespace Power Technology"
|
|
description = "Even more powerful.. power!"
|
|
prereq_ids = list("adv_power", "practical_bluespace")
|
|
design_ids = list(
|
|
"bluespace_cell",
|
|
"quadratic_capacitor",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/regulated_bluespace
|
|
id = "regulated_bluespace"
|
|
display_name = "Regulated Bluespace Research"
|
|
description = "Bluespace technology using stable and balanced procedures. Required by galactic convention for public use."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"spaceship_navigation_beacon",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/unregulated_bluespace
|
|
id = "unregulated_bluespace"
|
|
display_name = "Unregulated Bluespace Research"
|
|
description = "Bluespace technology using unstable or unbalanced procedures, prone to damaging the fabric of bluespace. Outlawed by galactic conventions."
|
|
prereq_ids = list("bluespace_travel", "syndicate_basic")
|
|
design_ids = list(
|
|
"desynchronizer",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
|
|
/////////////////////////plasma tech/////////////////////////
|
|
/datum/techweb_node/basic_plasma
|
|
id = "basic_plasma"
|
|
display_name = "Basic Plasma Research"
|
|
description = "Research into the mysterious and dangerous substance, plasma."
|
|
prereq_ids = list("engineering")
|
|
design_ids = list(
|
|
"mech_generator",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/adv_plasma
|
|
id = "adv_plasma"
|
|
display_name = "Advanced Plasma Research"
|
|
description = "Research on how to fully exploit the power of plasma."
|
|
prereq_ids = list("basic_plasma")
|
|
design_ids = list(
|
|
"mech_plasma_cutter",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/////////////////////////integrated circuits tech/////////////////////////
|
|
|
|
/datum/techweb_node/adv_shells
|
|
id = "adv_shells"
|
|
display_name = "Advanced Shell Research"
|
|
description = "Grants access to more complicated shell designs."
|
|
prereq_ids = list("basic_circuitry", "engineering")
|
|
design_ids = list(
|
|
"bot_shell",
|
|
"controller_shell",
|
|
"money_bot_shell",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/movable_shells_tech
|
|
id = "movable_shells"
|
|
display_name = "Movable Shell Research"
|
|
description = "Grants access to movable shells."
|
|
prereq_ids = list("adv_shells", "robotics")
|
|
design_ids = list(
|
|
"comp_pull",
|
|
"drone_shell",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
|
|
|
|
/datum/techweb_node/server_shell_tech
|
|
id = "server_shell"
|
|
display_name = "Server Technology Research"
|
|
description = "Grants access to a server shell that has a very high capacity for components."
|
|
prereq_ids = list("adv_shells", "computer_hardware_basic")
|
|
design_ids = list(
|
|
"server_shell",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
|
|
|
|
/////////////////////////robotics tech/////////////////////////
|
|
/datum/techweb_node/robotics
|
|
id = "robotics"
|
|
display_name = "Basic Robotics Research"
|
|
description = "Programmable machines that make our lives lazier."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"paicard",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/adv_robotics
|
|
id = "adv_robotics"
|
|
display_name = "Advanced Robotics Research"
|
|
description = "Machines using actual neural networks to simulate human lives."
|
|
prereq_ids = list("neural_programming", "robotics")
|
|
design_ids = list(
|
|
"mmi_posi",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/exodrone_tech
|
|
id = "exodrone"
|
|
display_name = "Exploration Drone Research"
|
|
description = "Technology for exploring far away locations."
|
|
prereq_ids = list("robotics")
|
|
design_ids = list(
|
|
"exodrone_console",
|
|
"exodrone_launcher",
|
|
"exoscanner",
|
|
"exoscanner_console",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/dex_robotics
|
|
id = "dex_robotics"
|
|
display_name = "Dexterous Robotics Research"
|
|
description = "The fine art of opposable thumbs."
|
|
prereq_ids = list("adv_engi", "adv_robotics", "biotech")
|
|
design_ids = list(
|
|
"maint_drone",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/neural_programming
|
|
id = "neural_programming"
|
|
display_name = "Neural Programming"
|
|
description = "Study into networks of processing units that mimic our brains."
|
|
prereq_ids = list("biotech", "datatheory")
|
|
design_ids = list(
|
|
"skill_station",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/cyborg_upg_util
|
|
id = "cyborg_upg_util"
|
|
display_name = "Cyborg Upgrades: Utility"
|
|
description = "Utility upgrades for cyborgs."
|
|
prereq_ids = list("adv_robotics")
|
|
design_ids = list(
|
|
"borg_upgrade_advancedmop",
|
|
"borg_upgrade_broomer",
|
|
"borg_upgrade_expand",
|
|
"borg_upgrade_prt",
|
|
"borg_upgrade_selfrepair",
|
|
"borg_upgrade_thrusters",
|
|
"borg_upgrade_trashofholding",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"borg_upgrade_shrink",
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
|
|
|
/datum/techweb_node/cyborg_upg_util/New()
|
|
. = ..()
|
|
if(!CONFIG_GET(flag/disable_secborg))
|
|
design_ids += "borg_upgrade_disablercooler"
|
|
|
|
/datum/techweb_node/cyborg_upg_engiminer
|
|
id = "cyborg_upg_engiminer"
|
|
display_name = "Cyborg Upgrades: Engineering & Mining"
|
|
description = "Engineering and Mining upgrades for cyborgs."
|
|
prereq_ids = list("adv_engi", "basic_mining")
|
|
design_ids = list(
|
|
"borg_upgrade_circuitapp",
|
|
"borg_upgrade_diamonddrill",
|
|
"borg_upgrade_holding",
|
|
"borg_upgrade_lavaproof",
|
|
"borg_upgrade_rped",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
|
|
|
/datum/techweb_node/cyborg_upg_med
|
|
id = "cyborg_upg_med"
|
|
display_name = "Cyborg Upgrades: Medical"
|
|
description = "Medical upgrades for cyborgs."
|
|
prereq_ids = list("adv_biotech")
|
|
design_ids = list(
|
|
"borg_upgrade_beakerapp",
|
|
"borg_upgrade_defibrillator",
|
|
"borg_upgrade_expandedsynthesiser",
|
|
"borg_upgrade_piercinghypospray",
|
|
"borg_upgrade_pinpointer",
|
|
"borg_upgrade_surgicalprocessor",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"borg_upgrade_surgicaltools",
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
|
|
|
/datum/techweb_node/ai
|
|
id = "ai"
|
|
display_name = "Artificial Intelligence"
|
|
description = "AI unit research."
|
|
prereq_ids = list("adv_robotics")
|
|
design_ids = list(
|
|
"aicore",
|
|
"aifixer",
|
|
"aiupload",
|
|
"asimov_module",
|
|
"borg_ai_control",
|
|
"corporate_module",
|
|
"default_module",
|
|
"freeform_module",
|
|
"freeformcore_module",
|
|
"intellicard",
|
|
"mecha_tracking_ai_control",
|
|
"onehuman_module",
|
|
"overlord_module",
|
|
"oxygen_module",
|
|
"paladin_module",
|
|
"protectstation_module",
|
|
"purge_module",
|
|
"quarantine_module",
|
|
"remove_module",
|
|
"reset_module",
|
|
"safeguard_module",
|
|
"tyrant_module",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/////////////////////////EMP tech/////////////////////////
|
|
/datum/techweb_node/emp_basic //EMP tech for some reason
|
|
id = "emp_basic"
|
|
display_name = "Electromagnetic Theory"
|
|
description = "Study into usage of frequencies in the electromagnetic spectrum."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"holosign",
|
|
"holosignsec",
|
|
"holosignengi",
|
|
"holosignatmos",
|
|
"holosignrestaurant",
|
|
"holosignbar",
|
|
"inducer",
|
|
"tray_goggles",
|
|
"holopad",
|
|
"vendatray",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/emp_adv
|
|
id = "emp_adv"
|
|
display_name = "Advanced Electromagnetic Theory"
|
|
description = "Determining whether reversing the polarity will actually help in a given situation."
|
|
prereq_ids = list("emp_basic")
|
|
design_ids = list(
|
|
"ultra_micro_laser",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
|
|
|
|
/datum/techweb_node/emp_super
|
|
id = "emp_super"
|
|
display_name = "Quantum Electromagnetic Technology" //bs
|
|
description = "Even better electromagnetic technology."
|
|
prereq_ids = list("emp_adv")
|
|
design_ids = list(
|
|
"quadultra_micro_laser",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
|
|
|
|
/////////////////////////Clown tech/////////////////////////
|
|
/datum/techweb_node/clown
|
|
id = "clown"
|
|
display_name = "Clown Technology"
|
|
description = "Honk?!"
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"air_horn",
|
|
"borg_transform_clown",
|
|
"honk_chassis",
|
|
"honk_head",
|
|
"honk_left_arm",
|
|
"honk_left_leg",
|
|
"honk_right_arm",
|
|
"honk_right_leg",
|
|
"honk_torso",
|
|
"honker_main",
|
|
"honker_peri",
|
|
"honker_targ",
|
|
"implant_trombone",
|
|
"mech_banana_mortar",
|
|
"mech_honker",
|
|
"mech_mousetrap_mortar",
|
|
"mech_punching_face",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
////////////////////////Computer tech////////////////////////
|
|
/datum/techweb_node/comptech
|
|
id = "comptech"
|
|
display_name = "Computer Consoles"
|
|
description = "Computers and how they work."
|
|
prereq_ids = list("datatheory")
|
|
design_ids = list(
|
|
"cargo",
|
|
"cargorequest",
|
|
"comconsole",
|
|
"crewconsole",
|
|
"idcard",
|
|
"libraryconsole",
|
|
"mining",
|
|
"rdcamera",
|
|
"seccamera",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
|
|
|
/datum/techweb_node/computer_hardware_basic //Modular computers are shitty and nearly useless so until someone makes them actually useful this can be easy to get.
|
|
id = "computer_hardware_basic"
|
|
display_name = "Computer Hardware"
|
|
description = "How computer hardware is made."
|
|
prereq_ids = list("comptech")
|
|
design_ids = list(
|
|
"APClink",
|
|
"aislot",
|
|
"bat_advanced",
|
|
"bat_control",
|
|
"bat_micro",
|
|
"bat_nano",
|
|
"bat_normal",
|
|
"bat_super",
|
|
"cardslot",
|
|
"cpu_normal",
|
|
"cpu_small",
|
|
"hdd_advanced",
|
|
"hdd_basic",
|
|
"hdd_cluster",
|
|
"hdd_super",
|
|
"miniprinter",
|
|
"netcard_advanced",
|
|
"netcard_basic",
|
|
"netcard_wired",
|
|
"pcpu_normal",
|
|
"pcpu_small",
|
|
"portadrive_advanced",
|
|
"portadrive_basic",
|
|
"portadrive_super",
|
|
"sensorpackage",
|
|
"ssd_micro",
|
|
"ssd_small",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) //they are really shitty
|
|
|
|
/datum/techweb_node/computer_board_gaming
|
|
id = "computer_board_gaming"
|
|
display_name = "Arcade Games"
|
|
description = "For the slackers on the station."
|
|
prereq_ids = list("comptech")
|
|
design_ids = list(
|
|
"arcade_battle",
|
|
"arcade_orion",
|
|
"slotmachine",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3250)
|
|
discount_experiments = list(/datum/experiment/physical/arcade_winner = 3000)
|
|
|
|
/datum/techweb_node/comp_recordkeeping
|
|
id = "comp_recordkeeping"
|
|
display_name = "Computerized Recordkeeping"
|
|
description = "Organized record databases and how they're used."
|
|
prereq_ids = list("comptech")
|
|
design_ids = list(
|
|
"accounting",
|
|
"automated_announcement",
|
|
"med_data",
|
|
"prisonmanage",
|
|
"secdata",
|
|
"vendor",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
|
|
|
/datum/techweb_node/telecomms
|
|
id = "telecomms"
|
|
display_name = "Telecommunications Technology"
|
|
description = "Subspace transmission technology for near-instant communications devices."
|
|
prereq_ids = list("comptech", "bluespace_basic")
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
design_ids = list(
|
|
"comm_monitor",
|
|
"comm_server",
|
|
"ntnet_relay",
|
|
"s-amplifier",
|
|
"s-analyzer",
|
|
"s-ansible",
|
|
"s-broadcaster",
|
|
"s-bus",
|
|
"s-crystal",
|
|
"s-filter",
|
|
"s-hub",
|
|
"s-messaging",
|
|
"s-processor",
|
|
"s-receiver",
|
|
"s-relay",
|
|
"s-server",
|
|
"s-transmitter",
|
|
"s-treatment",
|
|
)
|
|
|
|
/datum/techweb_node/integrated_hud
|
|
id = "integrated_HUDs"
|
|
display_name = "Integrated HUDs"
|
|
description = "The usefulness of computerized records, projected straight onto your eyepiece!"
|
|
prereq_ids = list("comp_recordkeeping", "emp_basic")
|
|
design_ids = list(
|
|
"diagnostic_hud",
|
|
"health_hud",
|
|
"scigoggles",
|
|
"security_hud",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"health_hud_prescription",
|
|
"security_hud_prescription",
|
|
"diagnostic_hud_prescription",
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500)
|
|
|
|
/datum/techweb_node/nvg_tech
|
|
id = "NVGtech"
|
|
display_name = "Night Vision Technology"
|
|
description = "Allows seeing in the dark without actual light!"
|
|
prereq_ids = list("integrated_HUDs", "adv_engi", "emp_adv")
|
|
design_ids = list(
|
|
"diagnostic_hud_night",
|
|
"health_hud_night",
|
|
"night_visision_goggles",
|
|
"nvgmesons",
|
|
"security_hud_night",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
|
|
////////////////////////Medical////////////////////////
|
|
/datum/techweb_node/genetics
|
|
id = "genetics"
|
|
display_name = "Genetic Engineering"
|
|
description = "We have the technology to change him."
|
|
prereq_ids = list("biotech")
|
|
design_ids = list(
|
|
"dna_disk",
|
|
"dnascanner",
|
|
"scan_console",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/cryotech
|
|
id = "cryotech"
|
|
display_name = "Cryostasis Technology"
|
|
description = "Smart freezing of objects to preserve them!"
|
|
prereq_ids = list("adv_engi", "biotech")
|
|
design_ids = list(
|
|
"cryo_Grenade",
|
|
"cryotube",
|
|
"splitbeaker",
|
|
"stasis",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
|
|
|
/datum/techweb_node/subdermal_implants
|
|
id = "subdermal_implants"
|
|
display_name = "Subdermal Implants"
|
|
description = "Electronic implants buried beneath the skin."
|
|
prereq_ids = list("biotech")
|
|
design_ids = list(
|
|
"c38_trac",
|
|
"implant_chem",
|
|
"implant_tracking",
|
|
"implantcase",
|
|
"implanter",
|
|
"locator",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/cyber_organs
|
|
id = "cyber_organs"
|
|
display_name = "Cybernetic Organs"
|
|
description = "We have the technology to rebuild him."
|
|
prereq_ids = list("biotech")
|
|
design_ids = list(
|
|
"cybernetic_ears",
|
|
"cybernetic_eyes_improved",
|
|
"cybernetic_heart_tier2",
|
|
"cybernetic_liver_tier2",
|
|
"cybernetic_lungs_tier2",
|
|
"cybernetic_stomach_tier2",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
|
|
|
/datum/techweb_node/cyber_organs_upgraded
|
|
id = "cyber_organs_upgraded"
|
|
display_name = "Upgraded Cybernetic Organs"
|
|
description = "We have the technology to upgrade him."
|
|
prereq_ids = list("adv_biotech", "cyber_organs")
|
|
design_ids = list(
|
|
"cybernetic_ears_u",
|
|
"cybernetic_heart_tier3",
|
|
"cybernetic_liver_tier3",
|
|
"cybernetic_lungs_tier3",
|
|
"cybernetic_stomach_tier3",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500)
|
|
|
|
/datum/techweb_node/cyber_implants
|
|
id = "cyber_implants"
|
|
display_name = "Cybernetic Implants"
|
|
description = "Electronic implants that improve humans."
|
|
prereq_ids = list("adv_biotech", "datatheory")
|
|
design_ids = list(
|
|
"ci-breather",
|
|
"ci-diaghud",
|
|
"ci-gloweyes",
|
|
"ci-medhud",
|
|
"ci-nutriment",
|
|
"ci-sechud",
|
|
"ci-welding",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/adv_cyber_implants
|
|
id = "adv_cyber_implants"
|
|
display_name = "Advanced Cybernetic Implants"
|
|
description = "Upgraded and more powerful cybernetic implants."
|
|
prereq_ids = list("neural_programming", "cyber_implants","integrated_HUDs")
|
|
design_ids = list(
|
|
"ci-nutrimentplus",
|
|
"ci-reviver",
|
|
"ci-surgery",
|
|
"ci-toolset",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/combat_cyber_implants
|
|
id = "combat_cyber_implants"
|
|
display_name = "Combat Cybernetic Implants"
|
|
description = "Military grade combat implants to improve performance."
|
|
prereq_ids = list("adv_cyber_implants","weaponry","NVGtech","high_efficiency")
|
|
design_ids = list(
|
|
"ci-antidrop",
|
|
"ci-antistun",
|
|
"ci-thermals",
|
|
"ci-thrusters",
|
|
"ci-xray",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
////////////////////////Tools////////////////////////
|
|
|
|
/datum/techweb_node/basic_mining
|
|
id = "basic_mining"
|
|
display_name = "Mining Technology"
|
|
description = "Better than Efficiency V."
|
|
prereq_ids = list("engineering", "basic_plasma")
|
|
design_ids = list(
|
|
"cargoexpress",
|
|
"cooldownmod",
|
|
"damagemod",
|
|
"drill",
|
|
"mining_equipment_vendor",
|
|
"ore_redemption",
|
|
"plasmacutter",
|
|
"rangemod",
|
|
"superresonator",
|
|
"triggermod",
|
|
)//e a r l y g a m e)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/adv_mining
|
|
id = "adv_mining"
|
|
display_name = "Advanced Mining Technology"
|
|
description = "Efficiency Level 127" //dumb mc references
|
|
prereq_ids = list("basic_mining", "adv_engi", "adv_power", "adv_plasma")
|
|
design_ids = list(
|
|
"drill_diamond",
|
|
"hypermod",
|
|
"jackhammer",
|
|
"plasmacutter_adv",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"ripleyupgradef"
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
|
|
discount_experiments = list(/datum/experiment/scanning/random/material/hard/one = 5000)
|
|
|
|
/datum/techweb_node/janitor
|
|
id = "janitor"
|
|
display_name = "Advanced Sanitation Technology"
|
|
description = "Clean things better, faster, stronger, and harder!"
|
|
prereq_ids = list("adv_engi")
|
|
design_ids = list(
|
|
"advmop",
|
|
"beartrap",
|
|
"blutrash",
|
|
"buffer",
|
|
"holobarrier_jani",
|
|
"light_replacer",
|
|
"paint_remover",
|
|
"spraybottle",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
|
|
discount_experiments = list(/datum/experiment/scanning/random/janitor_trash = 3000) //75% discount for scanning some trash, seems fair right?
|
|
|
|
/datum/techweb_node/botany
|
|
id = "botany"
|
|
display_name = "Botanical Engineering"
|
|
description = "Botanical tools"
|
|
prereq_ids = list("adv_engi", "biotech")
|
|
design_ids = list(
|
|
"biogenerator",
|
|
"flora_gun",
|
|
"hydro_tray",
|
|
"portaseeder",
|
|
"seed_extractor",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
|
|
discount_experiments = list(/datum/experiment/scanning/random/plants/wild = 3000)
|
|
|
|
/datum/techweb_node/exp_tools
|
|
id = "exp_tools"
|
|
display_name = "Experimental Tools"
|
|
description = "Highly advanced tools."
|
|
prereq_ids = list("adv_engi")
|
|
design_ids = list(
|
|
"exwelder",
|
|
"gene_shears",
|
|
"handdrill",
|
|
"jawsoflife",
|
|
"laserscalpel",
|
|
"mechanicalpinches",
|
|
"searingtool",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
|
|
discount_experiments = list(/datum/experiment/scanning/random/material/hard/one = 5000)
|
|
|
|
/datum/techweb_node/sec_basic
|
|
id = "sec_basic"
|
|
display_name = "Basic Security Equipment"
|
|
description = "Standard equipment used by security."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"bola_energy",
|
|
"evidencebag",
|
|
"pepperspray",
|
|
"seclite",
|
|
"zipties",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
|
|
|
/datum/techweb_node/rcd_upgrade
|
|
id = "rcd_upgrade"
|
|
display_name = "Rapid Device Upgrade Designs"
|
|
description = "Unlocks new designs that improve rapid devices."
|
|
prereq_ids = list("adv_engi")
|
|
design_ids = list(
|
|
"rcd_upgrade_frames",
|
|
"rcd_upgrade_furnishing",
|
|
"rcd_upgrade_simple_circuits",
|
|
"rpd_upgrade_unwrench",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/adv_rcd_upgrade
|
|
id = "adv_rcd_upgrade"
|
|
display_name = "Advanced RCD Designs Upgrade"
|
|
description = "Unlocks new RCD designs."
|
|
design_ids = list("rcd_upgrade_silo_link")
|
|
prereq_ids = list(
|
|
"bluespace_travel",
|
|
"rcd_upgrade",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
|
discount_experiments = list(/datum/experiment/scanning/random/material/hard/two = 5000)
|
|
|
|
/////////////////////////weaponry tech/////////////////////////
|
|
/datum/techweb_node/weaponry
|
|
id = "weaponry"
|
|
display_name = "Weapon Development Technology"
|
|
description = "Our researchers have found new ways to weaponize just about everything now."
|
|
prereq_ids = list("engineering")
|
|
design_ids = list(
|
|
"pin_testing",
|
|
"tele_shield",
|
|
"ammoworkbench_disk_lethal", //SKYRAT EDIT ADDITION
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
|
required_experiments = list(/datum/experiment/explosion/calibration)
|
|
|
|
/datum/techweb_node/adv_weaponry
|
|
id = "adv_weaponry"
|
|
display_name = "Advanced Weapon Development Technology"
|
|
description = "Our weapons are breaking the rules of reality by now."
|
|
prereq_ids = list("adv_engi", "weaponry")
|
|
design_ids = list(
|
|
"pin_loyalty",
|
|
"ammo_workbench", //SKYRAT EDIT ADDITION
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
|
required_experiments = list(/datum/experiment/explosion/medium)
|
|
|
|
/datum/techweb_node/electric_weapons
|
|
id = "electronic_weapons"
|
|
display_name = "Electric Weapons"
|
|
description = "Weapons using electric technology"
|
|
prereq_ids = list("weaponry", "adv_power" , "emp_basic")
|
|
design_ids = list(
|
|
"ioncarbine",
|
|
"stunrevolver",
|
|
|
|
//SKYRAT EDIT START - RESEARCH DESIGNS
|
|
"nightstick_conversion"
|
|
//SKYRAT EDIT END - RESEARCH DESIGNS
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/radioactive_weapons
|
|
id = "radioactive_weapons"
|
|
display_name = "Radioactive Weaponry"
|
|
description = "Weapons using radioactive technology."
|
|
prereq_ids = list("adv_engi", "adv_weaponry")
|
|
design_ids = list(
|
|
"nuclear_gun",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/beam_weapons
|
|
id = "beam_weapons"
|
|
display_name = "Beam Weaponry"
|
|
description = "Various basic beam weapons"
|
|
prereq_ids = list("adv_weaponry")
|
|
design_ids = list(
|
|
"temp_gun",
|
|
"xray_laser",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/adv_beam_weapons
|
|
id = "adv_beam_weapons"
|
|
display_name = "Advanced Beam Weaponry"
|
|
description = "Various advanced beam weapons"
|
|
prereq_ids = list("beam_weapons")
|
|
design_ids = list(
|
|
"beamrifle",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/explosive_weapons
|
|
id = "explosive_weapons"
|
|
display_name = "Explosive & Pyrotechnical Weaponry"
|
|
description = "If the light stuff just won't do it."
|
|
prereq_ids = list("adv_weaponry")
|
|
design_ids = list(
|
|
"adv_Grenade",
|
|
"large_Grenade",
|
|
"pyro_Grenade",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
required_experiments = list(/datum/experiment/explosion/maxcap)
|
|
|
|
/datum/techweb_node/ballistic_weapons
|
|
id = "ballistic_weapons"
|
|
display_name = "Ballistic Weaponry"
|
|
description = "This isn't research.. This is reverse-engineering!"
|
|
prereq_ids = list("weaponry")
|
|
design_ids = list(
|
|
"mag_oldsmg",
|
|
"mag_oldsmg_ap",
|
|
"mag_oldsmg_ic",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/exotic_ammo
|
|
id = "exotic_ammo"
|
|
display_name = "Exotic Ammunition"
|
|
description = "They won't know what hit em."
|
|
prereq_ids = list("adv_weaponry")
|
|
design_ids = list(
|
|
"c38_hotshot",
|
|
"c38_iceblox",
|
|
"techshotshell",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/gravity_gun
|
|
id = "gravity_gun"
|
|
display_name = "One-point Bluespace-gravitational Manipulator"
|
|
description = "Fancy wording for gravity gun."
|
|
prereq_ids = list("adv_weaponry", "bluespace_travel")
|
|
design_ids = list(
|
|
"gravitygun",
|
|
"mech_gravcatapult",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
////////////////////////mech technology////////////////////////
|
|
/datum/techweb_node/adv_mecha
|
|
id = "adv_mecha"
|
|
display_name = "Advanced Exosuits"
|
|
description = "For when you just aren't Gundam enough."
|
|
prereq_ids = list("adv_robotics")
|
|
design_ids = list(
|
|
"mech_repair_droid",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
|
|
discount_experiments = list(/datum/experiment/scanning/random/material/medium/three = 5000)
|
|
|
|
/datum/techweb_node/odysseus
|
|
id = "mecha_odysseus"
|
|
display_name = "EXOSUIT: Odysseus"
|
|
description = "Odysseus exosuit designs"
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"odysseus_chassis",
|
|
"odysseus_head",
|
|
"odysseus_left_arm",
|
|
"odysseus_left_leg",
|
|
"odysseus_main",
|
|
"odysseus_peri",
|
|
"odysseus_right_arm",
|
|
"odysseus_right_leg",
|
|
"odysseus_torso",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/clarke
|
|
id = "mecha_clarke"
|
|
display_name = "EXOSUIT: Clarke"
|
|
description = "Clarke exosuit designs"
|
|
prereq_ids = list("engineering")
|
|
design_ids = list(
|
|
"clarke_chassis",
|
|
"clarke_head",
|
|
"clarke_left_arm",
|
|
"clarke_main",
|
|
"clarke_peri",
|
|
"clarke_right_arm",
|
|
"clarke_torso",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/gygax
|
|
id = "mech_gygax"
|
|
display_name = "EXOSUIT: Gygax"
|
|
description = "Gygax exosuit designs"
|
|
prereq_ids = list("adv_mecha", "weaponry")
|
|
design_ids = list(
|
|
"gygax_armor",
|
|
"gygax_chassis",
|
|
"gygax_head",
|
|
"gygax_left_arm",
|
|
"gygax_left_leg",
|
|
"gygax_main",
|
|
"gygax_peri",
|
|
"gygax_right_arm",
|
|
"gygax_right_leg",
|
|
"gygax_targ",
|
|
"gygax_torso",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/durand
|
|
id = "mech_durand"
|
|
display_name = "EXOSUIT: Durand"
|
|
description = "Durand exosuit designs"
|
|
prereq_ids = list("adv_mecha", "adv_weaponry")
|
|
design_ids = list(
|
|
"durand_armor",
|
|
"durand_chassis",
|
|
"durand_head",
|
|
"durand_left_arm",
|
|
"durand_left_leg",
|
|
"durand_main",
|
|
"durand_peri",
|
|
"durand_right_arm",
|
|
"durand_right_leg",
|
|
"durand_targ",
|
|
"durand_torso",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/phazon
|
|
id = "mecha_phazon"
|
|
display_name = "EXOSUIT: Phazon"
|
|
description = "Phazon exosuit designs"
|
|
prereq_ids = list("adv_mecha", "weaponry" , "micro_bluespace")
|
|
design_ids = list(
|
|
"phazon_armor",
|
|
"phazon_chassis",
|
|
"phazon_head",
|
|
"phazon_left_arm",
|
|
"phazon_left_leg",
|
|
"phazon_main",
|
|
"phazon_peri",
|
|
"phazon_right_arm",
|
|
"phazon_right_leg",
|
|
"phazon_targ",
|
|
"phazon_torso",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/* SKYRAT EDIT REMOVAL
|
|
/datum/techweb_node/savannah_ivanov
|
|
id = "mecha_savannah_ivanov"
|
|
display_name = "EXOSUIT: Savannah-Ivanov"
|
|
description = "Savannah-Ivanov exosuit designs"
|
|
prereq_ids = list("adv_mecha", "weaponry", "exp_tools")
|
|
design_ids = list(
|
|
"savannah_ivanov_armor",
|
|
"savannah_ivanov_chassis",
|
|
"savannah_ivanov_head",
|
|
"savannah_ivanov_left_arm",
|
|
"savannah_ivanov_left_leg",
|
|
"savannah_ivanov_main",
|
|
"savannah_ivanov_peri",
|
|
"savannah_ivanov_right_arm",
|
|
"savannah_ivanov_right_leg",
|
|
"savannah_ivanov_targ",
|
|
"savannah_ivanov_torso",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
*/
|
|
/datum/techweb_node/adv_mecha_tools
|
|
id = "adv_mecha_tools"
|
|
display_name = "Advanced Exosuit Equipment"
|
|
description = "Tools for high level mech suits"
|
|
prereq_ids = list("adv_mecha")
|
|
design_ids = list(
|
|
"mech_rcd",
|
|
"mech_thrusters",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/med_mech_tools
|
|
id = "med_mech_tools"
|
|
display_name = "Medical Exosuit Equipment"
|
|
description = "Tools for high level mech suits"
|
|
prereq_ids = list("adv_biotech")
|
|
design_ids = list(
|
|
"mech_medi_beam",
|
|
"mech_sleeper",
|
|
"mech_syringe_gun",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_modules
|
|
id = "adv_mecha_modules"
|
|
display_name = "Simple Exosuit Modules"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("adv_mecha", "bluespace_power")
|
|
design_ids = list(
|
|
"mech_ccw_armor",
|
|
"mech_energy_relay",
|
|
"mech_generator_nuclear",
|
|
"mech_proj_armor",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_scattershot
|
|
id = "mecha_tools"
|
|
display_name = "Exosuit Weapon (LBX AC 10 \"Scattershot\")"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("ballistic_weapons")
|
|
design_ids = list(
|
|
"mech_scattershot",
|
|
"mech_scattershot_ammo",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_carbine
|
|
id = "mech_carbine"
|
|
display_name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("ballistic_weapons")
|
|
design_ids = list(
|
|
"mech_carbine",
|
|
"mech_carbine_ammo",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_ion
|
|
id = "mmech_ion"
|
|
display_name = "Exosuit Weapon (MKIV Ion Heavy Cannon)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("electronic_weapons", "emp_adv")
|
|
design_ids = list(
|
|
"mech_ion",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_tesla
|
|
id = "mech_tesla"
|
|
display_name = "Exosuit Weapon (MKI Tesla Cannon)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("electronic_weapons", "adv_power")
|
|
design_ids = list(
|
|
"mech_tesla",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_laser
|
|
id = "mech_laser"
|
|
display_name = "Exosuit Weapon (CH-PS \"Immolator\" Laser)"
|
|
description = "A basic piece of mech weaponry"
|
|
prereq_ids = list("beam_weapons")
|
|
design_ids = list(
|
|
"mech_laser",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_laser_heavy
|
|
id = "mech_laser_heavy"
|
|
display_name = "Exosuit Weapon (CH-LC \"Solaris\" Laser Cannon)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("adv_beam_weapons")
|
|
design_ids = list(
|
|
"mech_laser_heavy",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_disabler
|
|
id = "mech_disabler"
|
|
display_name = "Exosuit Weapon (CH-DS \"Peacemaker\" Mounted Disabler)"
|
|
description = "A basic piece of mech weaponry"
|
|
prereq_ids = list("beam_weapons")
|
|
design_ids = list(
|
|
"mech_disabler",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_grenade_launcher
|
|
id = "mech_grenade_launcher"
|
|
display_name = "Exosuit Weapon (SGL-6 Grenade Launcher)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("explosive_weapons")
|
|
design_ids = list(
|
|
"mech_grenade_launcher",
|
|
"mech_grenade_launcher_ammo",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_missile_rack
|
|
id = "mech_missile_rack"
|
|
display_name = "Exosuit Weapon (BRM-6 Missile Rack)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("explosive_weapons")
|
|
design_ids = list(
|
|
"mech_missile_rack",
|
|
"mech_missile_rack_ammo",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/clusterbang_launcher
|
|
id = "clusterbang_launcher"
|
|
display_name = "Exosuit Module (SOB-3 Clusterbang Launcher)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("explosive_weapons")
|
|
design_ids = list(
|
|
"clusterbang_launcher",
|
|
"clusterbang_launcher_ammo",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_teleporter
|
|
id = "mech_teleporter"
|
|
display_name = "Exosuit Module (Teleporter Module)"
|
|
description = "An advanced piece of mech Equipment"
|
|
prereq_ids = list("micro_bluespace")
|
|
design_ids = list(
|
|
"mech_teleporter",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_wormhole_gen
|
|
id = "mech_wormhole_gen"
|
|
display_name = "Exosuit Module (Localized Wormhole Generator)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("bluespace_travel")
|
|
design_ids = list(
|
|
"mech_wormhole_gen",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_lmg
|
|
id = "mech_lmg"
|
|
display_name = "Exosuit Weapon (\"Ultra AC 2\" LMG)"
|
|
description = "An advanced piece of mech weaponry"
|
|
prereq_ids = list("ballistic_weapons")
|
|
design_ids = list(
|
|
"mech_lmg",
|
|
"mech_lmg_ammo",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/datum/techweb_node/mech_diamond_drill
|
|
id = "mech_diamond_drill"
|
|
display_name = "Exosuit Diamond Drill"
|
|
description = "A diamond drill fit for a large exosuit"
|
|
prereq_ids = list("adv_mining")
|
|
design_ids = list(
|
|
"mech_diamond_drill",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
|
|
/////////////////////////Nanites/////////////////////////
|
|
/datum/techweb_node/nanite_base
|
|
id = "nanite_base"
|
|
display_name = "Basic Nanite Programming"
|
|
description = "The basics of nanite construction and programming."
|
|
prereq_ids = list("datatheory")
|
|
design_ids = list(
|
|
"access_nanites",
|
|
"debugging_nanites",
|
|
"monitoring_nanites",
|
|
"nanite_chamber",
|
|
"nanite_chamber_control",
|
|
"nanite_cloud_control",
|
|
"nanite_comm_remote",
|
|
"nanite_disk",
|
|
"nanite_program_hub",
|
|
"nanite_programmer",
|
|
"nanite_remote",
|
|
"nanite_scanner",
|
|
"public_nanite_chamber",
|
|
"relay_nanites",
|
|
"relay_repeater_nanites",
|
|
"repairing_nanites",
|
|
"repeater_nanites",
|
|
"sensor_nanite_volume",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
|
|
|
/datum/techweb_node/nanite_smart
|
|
id = "nanite_smart"
|
|
display_name = "Smart Nanite Programming"
|
|
description = "Nanite programs that require nanites to perform complex actions, act independently, roam or seek targets."
|
|
prereq_ids = list("nanite_base","robotics")
|
|
design_ids = list(
|
|
"memleak_nanites",
|
|
"metabolic_nanites",
|
|
"purging_nanites",
|
|
"sensor_voice_nanites",
|
|
"stealth_nanites",
|
|
"voice_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500, TECHWEB_POINT_TYPE_NANITES = 500)
|
|
|
|
/datum/techweb_node/nanite_mesh
|
|
id = "nanite_mesh"
|
|
display_name = "Mesh Nanite Programming"
|
|
description = "Nanite programs that require static structures and membranes."
|
|
prereq_ids = list("nanite_base","engineering")
|
|
design_ids = list(
|
|
"conductive_nanites",
|
|
"cryo_nanites",
|
|
"dermal_button_nanites",
|
|
"emp_nanites",
|
|
"hardening_nanites",
|
|
"refractive_nanites",
|
|
"shock_nanites",
|
|
"temperature_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500, TECHWEB_POINT_TYPE_NANITES = 500)
|
|
|
|
/datum/techweb_node/nanite_bio
|
|
id = "nanite_bio"
|
|
display_name = "Biological Nanite Programming"
|
|
description = "Nanite programs that require complex biological interaction."
|
|
prereq_ids = list("nanite_base","biotech")
|
|
design_ids = list(
|
|
"bloodheal_nanites",
|
|
"coagulating_nanites",
|
|
"flesheating_nanites",
|
|
"poison_nanites",
|
|
"regenerative_nanites",
|
|
"sensor_crit_nanites",
|
|
"sensor_damage_nanites",
|
|
"sensor_death_nanites",
|
|
"sensor_health_nanites",
|
|
"sensor_species_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500, TECHWEB_POINT_TYPE_NANITES = 500)
|
|
|
|
/datum/techweb_node/nanite_neural
|
|
id = "nanite_neural"
|
|
display_name = "Neural Nanite Programming"
|
|
description = "Nanite programs affecting nerves and brain matter."
|
|
prereq_ids = list("nanite_bio")
|
|
design_ids = list(
|
|
"bad_mood_nanites",
|
|
"brainheal_nanites",
|
|
"good_mood_nanites",
|
|
"nervous_nanites",
|
|
"paralyzing_nanites",
|
|
"selfscan_nanites",
|
|
"stun_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 1000)
|
|
|
|
/datum/techweb_node/nanite_synaptic
|
|
id = "nanite_synaptic"
|
|
display_name = "Synaptic Nanite Programming"
|
|
description = "Nanite programs affecting mind and thoughts."
|
|
prereq_ids = list("nanite_neural","neural_programming")
|
|
design_ids = list(
|
|
"blinding_nanites",
|
|
"hallucination_nanites",
|
|
"mindshield_nanites",
|
|
"mute_nanites",
|
|
"pacifying_nanites",
|
|
"sleep_nanites",
|
|
"speech_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 1000)
|
|
|
|
/datum/techweb_node/nanite_harmonic
|
|
id = "nanite_harmonic"
|
|
display_name = "Harmonic Nanite Programming"
|
|
description = "Nanite programs that require seamless integration between nanites and biology. Passively increases nanite regeneration rate for all clouds upon researching."
|
|
prereq_ids = list("nanite_bio","nanite_smart","nanite_mesh")
|
|
design_ids = list(
|
|
"aggressive_nanites",
|
|
"brainheal_plus_nanites",
|
|
"defib_nanites",
|
|
"fakedeath_nanites",
|
|
"purging_plus_nanites",
|
|
"regenerative_plus_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000, TECHWEB_POINT_TYPE_NANITES = 3000)
|
|
|
|
/datum/techweb_node/nanite_combat
|
|
id = "nanite_military"
|
|
display_name = "Military Nanite Programming"
|
|
description = "Nanite programs that perform military-grade functions."
|
|
prereq_ids = list("nanite_harmonic", "syndicate_basic")
|
|
design_ids = list(
|
|
"explosive_nanites",
|
|
"meltdown_nanites",
|
|
"nanite_sting_nanites",
|
|
"pyro_nanites",
|
|
"viral_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500, TECHWEB_POINT_TYPE_NANITES = 2500)
|
|
|
|
/datum/techweb_node/nanite_hazard
|
|
id = "nanite_hazard"
|
|
display_name = "Hazard Nanite Programs"
|
|
description = "Extremely advanced Nanite programs with the potential of being extremely dangerous."
|
|
prereq_ids = list("nanite_harmonic", "alientech")
|
|
design_ids = list(
|
|
"mindcontrol_nanites",
|
|
"mitosis_nanites",
|
|
"spreading_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000, TECHWEB_POINT_TYPE_NANITES = 4000)
|
|
|
|
/datum/techweb_node/nanite_replication_protocols
|
|
id = "nanite_replication_protocols"
|
|
display_name = "Nanite Replication Protocols"
|
|
description = "Protocols that overwrite the default nanite replication routine to achieve more efficiency in certain circumstances."
|
|
prereq_ids = list("nanite_smart")
|
|
design_ids = list(
|
|
"factory_nanites",
|
|
"kickstart_nanites",
|
|
"offline_nanites",
|
|
"pyramid_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
/datum/techweb_node/nanite_storage_protocols
|
|
id = "nanite_storage_protocols"
|
|
display_name = "Nanite Storage Protocols"
|
|
description = "Protocols that overwrite the default nanite storage routine to achieve more efficiency or greater capacity."
|
|
prereq_ids = list("nanite_smart")
|
|
design_ids = list(
|
|
"free_range_nanites",
|
|
"hive_nanites",
|
|
"unsafe_storage_nanites",
|
|
"zip_nanites",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000, TECHWEB_POINT_TYPE_NANITES = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
////////////////////////Alien technology////////////////////////
|
|
/datum/techweb_node/alientech //AYYYYYYYYLMAOO tech
|
|
id = "alientech"
|
|
display_name = "Alien Technology"
|
|
description = "Things used by the greys."
|
|
prereq_ids = list("biotech","engineering")
|
|
boost_item_paths = list(
|
|
/obj/item/abductor,
|
|
/obj/item/cautery/alien,
|
|
/obj/item/circuitboard/machine/abductor,
|
|
/obj/item/circular_saw/alien,
|
|
/obj/item/crowbar/abductor,
|
|
/obj/item/gun/energy/alien,
|
|
/obj/item/gun/energy/shrink_ray,
|
|
/obj/item/hemostat/alien,
|
|
/obj/item/melee/baton/abductor,
|
|
/obj/item/multitool/abductor,
|
|
/obj/item/retractor/alien,
|
|
/obj/item/scalpel/alien,
|
|
/obj/item/screwdriver/abductor,
|
|
/obj/item/surgicaldrill/alien,
|
|
/obj/item/weldingtool/abductor,
|
|
/obj/item/wirecutters/abductor,
|
|
/obj/item/wrench/abductor,
|
|
)
|
|
design_ids = list(
|
|
"alienalloy",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
|
hidden = TRUE
|
|
|
|
/datum/techweb_node/alientech/on_research() //Unlocks the Zeta shuttle for purchase
|
|
SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_ALIENTECH] = TRUE
|
|
|
|
/datum/techweb_node/alien_bio
|
|
id = "alien_bio"
|
|
display_name = "Alien Biological Tools"
|
|
description = "Advanced biological tools."
|
|
prereq_ids = list("alientech", "adv_biotech")
|
|
design_ids = list(
|
|
"alien_cautery",
|
|
"alien_drill",
|
|
"alien_hemostat",
|
|
"alien_retractor",
|
|
"alien_saw",
|
|
"alien_scalpel",
|
|
)
|
|
|
|
boost_item_paths = list(
|
|
/obj/item/abductor,
|
|
/obj/item/cautery/alien,
|
|
/obj/item/circuitboard/machine/abductor,
|
|
/obj/item/circular_saw/alien,
|
|
/obj/item/crowbar/abductor,
|
|
/obj/item/gun/energy/alien,
|
|
/obj/item/gun/energy/shrink_ray,
|
|
/obj/item/hemostat/alien,
|
|
/obj/item/melee/baton/abductor,
|
|
/obj/item/multitool/abductor,
|
|
/obj/item/retractor/alien,
|
|
/obj/item/scalpel/alien,
|
|
/obj/item/screwdriver/abductor,
|
|
/obj/item/surgicaldrill/alien,
|
|
/obj/item/weldingtool/abductor,
|
|
/obj/item/wirecutters/abductor,
|
|
/obj/item/wrench/abductor,
|
|
)
|
|
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
required_experiments = list(/datum/experiment/scanning/points/slime/hard)
|
|
hidden = TRUE
|
|
|
|
/datum/techweb_node/alien_engi
|
|
id = "alien_engi"
|
|
display_name = "Alien Engineering"
|
|
description = "Alien engineering tools"
|
|
prereq_ids = list("alientech", "adv_engi")
|
|
|
|
design_ids = list(
|
|
"alien_crowbar",
|
|
"alien_multitool",
|
|
"alien_screwdriver",
|
|
"alien_welder",
|
|
"alien_wirecutters",
|
|
"alien_wrench",
|
|
)
|
|
|
|
boost_item_paths = list(
|
|
/obj/item/abductor,
|
|
/obj/item/circuitboard/machine/abductor,
|
|
/obj/item/crowbar/abductor,
|
|
/obj/item/gun/energy/shrink_ray,
|
|
/obj/item/melee/baton/abductor,
|
|
/obj/item/multitool/abductor,
|
|
/obj/item/screwdriver/abductor,
|
|
/obj/item/weldingtool/abductor,
|
|
/obj/item/wirecutters/abductor,
|
|
/obj/item/wrench/abductor,
|
|
)
|
|
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
hidden = TRUE
|
|
|
|
/datum/techweb_node/syndicate_basic
|
|
id = "syndicate_basic"
|
|
display_name = "Illegal Technology"
|
|
description = "Dangerous research used to create dangerous objects."
|
|
prereq_ids = list("adv_engi", "adv_weaponry", "explosive_weapons")
|
|
design_ids = list(
|
|
"advanced_camera",
|
|
"ai_cam_upgrade",
|
|
"borg_syndicate_module",
|
|
"decloner",
|
|
"donksoft_refill",
|
|
"donksofttoyvendor",
|
|
"largecrossbow",
|
|
"rapidsyringe",
|
|
"suppressor",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 10000)
|
|
hidden = TRUE
|
|
|
|
/datum/techweb_node/syndicate_basic/New() //Crappy way of making syndicate gear decon supported until there's another way.
|
|
. = ..()
|
|
boost_item_paths = list()
|
|
for(var/path in GLOB.uplink_items)
|
|
var/datum/uplink_item/UI = new path
|
|
if(!UI.item || !UI.illegal_tech)
|
|
continue
|
|
boost_item_paths |= UI.item //allows deconning to unlock.
|
|
|
|
|
|
////////////////////////B.E.P.I.S. Locked Techs////////////////////////
|
|
/datum/techweb_node/light_apps
|
|
id = "light_apps"
|
|
display_name = "Illumination Applications"
|
|
description = "Applications of lighting and vision technology not originally thought to be commercially viable."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"bright_helmet",
|
|
"rld_mini",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
/datum/techweb_node/extreme_office
|
|
id = "extreme_office"
|
|
display_name = "Advanced Office Applications"
|
|
description = "Some of our smartest lab guys got together on a Friday and improved our office efficiency by 350%. Here's how."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"mauna_mug",
|
|
"rolling_table",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
/datum/techweb_node/spec_eng
|
|
id = "spec_eng"
|
|
display_name = "Specialized Engineering"
|
|
description = "Conventional wisdom has deemed these engineering products 'technically' safe, but far too dangerous to traditionally condone."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"eng_gloves",
|
|
"lava_rods",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
/datum/techweb_node/aus_security
|
|
id = "aus_security"
|
|
display_name = "Australicus Security Protocols"
|
|
description = "It is said that security in the Australicus sector is tight, so we took some pointers from their equipment. Thankfully, our sector lacks any signs of these, 'dropbears'."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"pin_explorer",
|
|
"stun_boomerang",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
/datum/techweb_node/interrogation
|
|
id = "interrogation"
|
|
display_name = "Enhanced Interrogation Technology"
|
|
description = "By cross-referencing several declassified documents from past dictatorial regimes, we were able to develop an incredibly effective interrogation device. \
|
|
Ethical concerns about loss of free will do not apply to criminals, according to galactic law."
|
|
prereq_ids = list("base")
|
|
design_ids = list(
|
|
"hypnochair",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
/datum/techweb_node/sticky_advanced
|
|
id = "sticky_advanced"
|
|
display_name = "Advanced Sticky Technology"
|
|
description = "Taking a good joke too far? Nonsense!"
|
|
design_ids = list(
|
|
"pointy_tape",
|
|
"super_sticky_tape",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
/datum/techweb_node/tackle_advanced
|
|
id = "tackle_advanced"
|
|
display_name = "Advanced Grapple Technology"
|
|
description = "Nanotrasen would like to remind its researching staff that it is never acceptable to \"glomp\" your coworkers, and further \"scientific trials\" on the subject \
|
|
will no longer be accepted in its academic journals."
|
|
design_ids = list(
|
|
"tackle_dolphin",
|
|
"tackle_rocket",
|
|
)
|
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
|
hidden = TRUE
|
|
experimental = TRUE
|
|
|
|
//Helpers for debugging/balancing the techweb in its entirety!
|
|
/proc/total_techweb_points()
|
|
var/list/datum/techweb_node/processing = list()
|
|
for(var/i in subtypesof(/datum/techweb_node))
|
|
processing += new i
|
|
var/datum/techweb/TW = new
|
|
TW.research_points = list()
|
|
for(var/i in processing)
|
|
var/datum/techweb_node/TN = i
|
|
TW.add_point_list(TN.research_costs)
|
|
return TW.research_points
|
|
|
|
/proc/total_techweb_points_printout()
|
|
var/list/datum/techweb_node/processing = list()
|
|
for(var/i in subtypesof(/datum/techweb_node))
|
|
processing += new i
|
|
var/datum/techweb/TW = new
|
|
TW.research_points = list()
|
|
for(var/i in processing)
|
|
var/datum/techweb_node/TN = i
|
|
TW.add_point_list(TN.research_costs)
|
|
return TW.printout_points()
|