Files
0c8488b0ae Move autolathe design datums to techweb datums (#19202)
* testing makes me feel good

* invalid lists

* get rid of those boards

* show expected mats

* oop

* error

* wip techweb porting

* more techweb entries

* ported too

* disable those for now

* okay nevermind i guess

* already exists

* assemblies

* moar

* welding helmet

* many entries

* lol tg

* fix test

* again

* fixagain

* more moved

* update techweb test

* catch that too

* screeee

* more fixes

* missing announcement

* orphaned sleevecard

* some more fixing

* test

* more

* oops

* glasses

* illegal icons

* non starting

* it's starting

* messed up

* cleanup

* more generic stuff

* morrrreee

* the plastic set

* oops

* correct value

* barbed wires

* more cleaning

* many more

* gone

* cleanup

* no longer

* do not allow duped designs

* it's own node

* proper order no dupes

* last of the broken nodes

* fix bad path

* cleanup

* more test more limits

* gone

* almost done

* these are gone

* syringe gun

* bioregenerator design

* all moved

* organized and webbed

* more fixes

* oops

* cleaning up

* organization

* clean up

* organize

* organized

* didn't save

* wrong mat

* adds many missing ammo types

* svd doesn't exist

* 10mm pistol added

* magazines not casings

* these are pistols

* this is used by like, one weapon

* m1 is ancient

* this is hunting

* extremely botched untested lathe

* disk junk

* rough foundations

* slowly converting

* slowly building this

* local materials

* almost

* big reorganization

* more cleanup

* more cleaning

* lathe stuff

* small fixes

* oops

* many fixes

* mat fix

* more fixes

* actually isolate the hacked designs

* protolathe hacking

* imprinter hacking

* missing ammos

* sheet printing for autolathe

* fixs

* again

* fixed test

* test test

* fix

* fix

* WHY

* fix it...

* here we go

* material print

* on turf

* body disk

* consistant name

* Many weapons to hacked lathe

* missing node

* wrong section

* fixes

* this list should be unified

* ammo boxes

* don't do single shells anymore

* wat

* specifics

* snowflake

* not needed

* already available

* pickaxe too

* tweak

* removed unneeded node

* missing surgery items

* Apply suggestion from @Cameron-The-Raven

* Adds RMS

* typo

* illegal needs hacked

* disabled material weapons

* circuit testing

* STRING TEST

* test

* fixing some things

* huh?

* hidden circuits

* some flakey boards

* grammar

* fixes

* more hidden

* wrong board

* security cams

* alert consoles

* spaceheater is simple enough to not have one

* pcus

* cargo vendors

* tcomms stuff

* solar tracker circuit

* artifact stuff

* SM stuff

* illegal machines

* med machines

* no longer needed

* more stuff

* these are not standard

* moreeee

* doppler and more

* organized

* finishing

* oop

* use the define

* inheret

* dopper fixes

* space heater

* doing some organization

* explain the var

* some tweaks

* wrong one

* fixed test

* material test too

* simple roto gens

* use the define

* emergency power node

* tgui fixes for icons

* not needed

* color blended material designs

* icons for large research

* oops

* unshit that

* use stack here

* center math

* .

* .

* .

* .

* .

* unifi

* fix these

* NO COPYPASTA

* ILLEEGGALLL

* mandate descriptions

* agony

* actually lets do this

* use macros

* description

* desc

* desc

* desc

* desc

* desc

* desc

* gps desc

* telecomms component desc

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2026-03-20 19:38:00 -04:00

344 lines
10 KiB
Plaintext

// Main Mecha Tree
/datum/techweb_node/mech_assembly
id = TECHWEB_NODE_MECH_ASSEMBLY
display_name = "Exosuit Assembly"
description = "Development of mechanical exosuits designed to contend with artificial gravity while transporting cargo."
prereq_ids = list(TECHWEB_NODE_ROBOTICS)
design_ids = list(
"exo_int_hull_standard",
"mech_recharger",
"exo_int_armor_standard",
"exo_int_lifesup_standard",
"exo_int_electric_standard",
"exo_int_actuator_standard",
"ripley_main",
"ripley_peri",
"ripley_chassis",
"ripley_torso",
"ripley_left_arm",
"ripley_right_arm",
"ripley_left_leg",
"ripley_right_leg",
"hydraulic_clamp",
"mech_cable_layer",
"mech_wrench",
"mech_crowbar",
"mech_wirecutter",
"mech_screwdriver",
"mech_welder",
"mech_inflatables",
"mech_hardpoint_clamp",
"mech_storage",
"vehicle_chassis_spacebike",
"vehicle_chassis_quadbike",
"vehicle_chassis_snowmobile",
"gopher_main",
"gopher_peri",
"gopher_chassis",
"gopher_torso",
"gopher_left_arm",
"gopher_right_arm",
"gopher_left_leg",
"gopher_right_leg",
"polecat_main",
"polecat_peri",
"polecat_targ",
"polecat_chassis",
"polecat_torso",
"polecat_left_arm",
"polecat_right_arm",
"polecat_left_leg",
"polecat_right_leg",
"polecat_armour",
"weasel_main",
"weasel_peri",
"weasel_targ",
"weasel_chassis",
"weasel_torso",
"weasel_left_arm",
"weasel_right_arm",
"weasel_right_leg",
"weasel_head",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
discount_experiments = list(/datum/experiment/scanning/random/destruct_ripley_parts = TECHWEB_TIER_1_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_equipment
id = TECHWEB_NODE_MECH_EQUIPMENT
display_name = "Expedition Equipment"
description = "Specialized exosuit gear tailored for navigating space and celestial bodies, ensuring durability and functionality in the harshest conditions."
prereq_ids = list(TECHWEB_NODE_MECH_ASSEMBLY)
design_ids = list(
"exo_int_lifesup_reinforced",
"exo_int_electric_efficient",
"firefighter_chassis",
"mechacontrol",
"mech_jetpack",
"extinguisher",
"mech_tracker",
"mech_passenger",
"mech_speedboost_ripley",
"mech_rcd",
"mech_phoron_generator",
"mech_energy_relay",
"mech_runningboard",
"mech_generator_nuclear",
// "mecha_camera",
// "mech_radio",
// "botpad",
// "botpad_remote",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_medical
id = TECHWEB_NODE_MECH_MEDICAL
display_name = "Medical Exosuit"
description = "Advanced robotic unit equipped with syringe guns and healing beams, revolutionizing medical assistance in hazardous environments."
prereq_ids = list(TECHWEB_NODE_MECH_ASSEMBLY, TECHWEB_NODE_CHEM_SYNTHESIS)
design_ids = list(
"odysseus_main",
"odysseus_peri",
"odysseus_chassis",
"odysseus_torso",
"odysseus_head",
"odysseus_left_arm",
"odysseus_right_arm",
"odysseus_left_leg",
"odysseus_right_leg",
"mech_medigun",
"mech_syringe_gun",
"mech_med_analyzer",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_mining
id = TECHWEB_NODE_MECH_MINING
display_name = "Mining Exosuit"
description = "Robust exosuit engineered to withstand lava and storms for continuous off-station mining operations."
prereq_ids = list(TECHWEB_NODE_MECH_EQUIPMENT, TECHWEB_NODE_MINING)
design_ids = list(
"mech_drill",
"micro_drill",
"ore_scoop",
"mech_diamond_drill",
"mech_ground_drill",
"mech_ore_scanner",
"mech_ore_scanner_adv",
// "clarke_chassis",
// "clarke_torso",
// "clarke_head",
// "clarke_left_arm",
// "clarke_right_arm",
// "clarke_main",
// "clarke_peri",
// "mecha_kineticgun",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
announce_channels = list(CHANNEL_SCIENCE, CHANNEL_SUPPLY)
/datum/techweb_node/mech_combat
id = TECHWEB_NODE_MECH_COMBAT
display_name = "Combat Exosuits"
description = "Modular armor upgrades and specialized equipment for security exosuits."
prereq_ids = list(TECHWEB_NODE_MECH_EQUIPMENT)
design_ids = list(
"exo_int_hull_durable",
"mech_ccw_armor",
"mech_proj_armor",
"mech_repair_droid",
"mech_med_droid",
"mech_rad_droid",
"mech_shocker",
"mech_taser",
"micro_taser",
"mech_taser-r",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
required_experiments = list(/datum/experiment/scanning/random/mecha_equipped_scan)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_assault
id = TECHWEB_NODE_MECH_ASSAULT
display_name = "Assault Exosuits"
description = "Heavy battle exosuits boasting robust armor but sacrificing speed for enhanced durability."
prereq_ids = list(TECHWEB_NODE_MECH_COMBAT)
design_ids = list(
"exo_int_armor_reinforced",
"exo_int_armor_durand",
"durand_main",
"durand_peri",
"durand_targ",
"durand_chassis",
"durand_torso",
"durand_head",
"durand_left_arm",
"durand_right_arm",
"durand_left_leg",
"durand_right_leg",
"durand_armour",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_light
id = TECHWEB_NODE_MECH_LIGHT
display_name = "Light Combat Exosuits"
description = "Agile combat exosuits equipped with overclocking capabilities for temporary speed boosts, prioritizing speed over durability on the battlefield."
prereq_ids = list(TECHWEB_NODE_MECH_COMBAT)
design_ids = list(
"exo_int_hull_light",
"exo_int_armor_lightweight",
"exo_int_armor_gygax",
"exo_int_actuator_overclock",
"exo_int_armor_dgygax",
"gygax_main",
"gygax_peri",
"gygax_targ",
"gygax_medical",
"serenity_chassis",
"gygax_chassis",
"gygax_torso",
"gygax_head",
"gygax_left_arm",
"gygax_right_arm",
"gygax_left_leg",
"gygax_right_leg",
"gygax_armour",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_fighter
id = TECHWEB_NODE_MECH_FIGHTER
display_name = "Fighters"
description = "Pew-pew fighter spaceships."
prereq_ids = list(TECHWEB_NODE_MECH_LIGHT)
design_ids = list(
"pinnace_main",
"pinnace_flight",
"pinnace_targeting",
"pinnace_cockpit_control",
"pinnace_chassis",
"pinnace_core",
"pinnace_cockpit",
"pinnace_main_engine",
"pinnace_left_engine",
"pinnace_right_engine",
"pinnace_left_wing",
"pinnace_right_wing",
"baron_main",
"baron_flight",
"baron_targeting",
"baron_cockpit_control",
"baron_chassis",
"baron_core",
"baron_cockpit",
"baron_main_engine",
"baron_left_engine",
"baron_right_engine",
"baron_left_wing",
"baron_right_wing",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_infiltrator
id = TECHWEB_NODE_MECH_INFILTRATOR
display_name = "Infiltration Exosuits"
description = "Advanced exosuit with phasing capabilities, allowing it to move through walls and obstacles, ideal for covert and special operations."
prereq_ids = list(TECHWEB_NODE_MECH_LIGHT, TECHWEB_NODE_ANOMALY_RESEARCH)
design_ids = list(
"exo_int_armor_phazon",
"janus_chassis",
"janus_torso",
"janus_head",
"janus_left_arm",
"janus_right_arm",
"janus_left_leg",
"janus_right_leg",
"janus_coil",
"janus_module",
"mech_cloaking",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
// Mecha Equipment
/datum/techweb_node/mech_energy_guns
id = TECHWEB_NODE_MECH_ENERGY_GUNS
display_name = "Exosuit Energy Guns"
description = "Scaled-up versions of electric weapons optimized for exosuit deployment."
prereq_ids = list(TECHWEB_NODE_MECH_COMBAT, TECHWEB_NODE_ELECTRIC_WEAPONS)
design_ids = list(
"mech_laser",
"micro_laser",
"mech_laser_rigged",
"mech_laser_heavy-r",
"mech_laser_heavy",
"micro_laser_heavy",
"mech_laser_gamma",
"mech_phase",
"mech_ion",
"mech_ion-r",
"mech_laser_xray",
"mech_laser_xray-r",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_firearms
id = TECHWEB_NODE_MECH_FIREARMS
display_name = "Exosuit Firearms"
description = "Mounted ballistic weaponry, enhancing combat capabilities for mechanized units."
prereq_ids = list(TECHWEB_NODE_MECH_ENERGY_GUNS, TECHWEB_NODE_EXOTIC_AMMO)
design_ids = list(
"mech_lmg",
"mech_lmg-r",
"mecha_flare_gun",
"mech_scattershot",
"micro_scattershot",
"mech_scattershot-r",
"mech_flamer_full",
"mech_flamer_rigged",
"mech_lmg_flamer",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_heavy_arms
id = TECHWEB_NODE_MECH_HEAVY_ARMS
display_name = "Heavy Exosuit Firearms"
description = "High-impact weaponry integrated into mechs, optimized for maximum firepower."
prereq_ids = list(TECHWEB_NODE_MECH_FIREARMS, TECHWEB_NODE_EXOTIC_AMMO)
design_ids = list(
"mech_grenade_launcher",
"micro_flashbang_launcher",
"mech_grenade_launcher-rig",
"clusterbang_launcher",
"mech_grenade_launcher_conc",
"mech_grenade_launcher_frag",
"exo_int_armor_blast",
"exo_int_armor_marauder",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mech_equip_bluespace
id = TECHWEB_NODE_MECH_EQUIP_BLUESPACE
display_name = "Bluespace Exosuit Equipment"
description = "An array of equipment empowered by bluespace, providing unmatched mobility and utility."
prereq_ids = list(TECHWEB_NODE_MECH_INFILTRATOR, TECHWEB_NODE_BLUESPACE_TRAVEL)
design_ids = list(
"mech_gravcatapult",
"mech_teleporter",
"mech_wormhole_gen",
"mech_storage_bs",
"titan_armour",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
discount_experiments = list(/datum/experiment/physical/teleporting = TECHWEB_TIER_3_POINTS)
announce_channels = list(CHANNEL_SCIENCE)