Techwebs & Experi-Sci (#17987)

* Techwebs

* Add basic stock parts

* Techweb production machines

* Circuit Imprinter

* More work

* More designs

* More designs, nodes'

* More more

* Better sorting for designs

* Add the exosuit fab'

* More conversions

* More and more and more

* mechfab parts

* Modsuit Designs

* Pinnace baron

* Equipment

* more mechfab

* vehicles

* more mecha

* Micro mechs

* Update mechfab_designs.dm

* no time

* zero

* Update mechfab_designs.dm

* Prosthetics Fabricator and fixes

* Update maps to use new parts

* Whoops, fix a few maps

* Fix lint error

* Port scene tools

* Fireworks~~

* Don't label the sex toys as sex toys

* Fixup maps in TGM format

26517b7122: maps/virgo_minitest/virgo_minitest-1.dmm

Automatically commited by: tools\mapmerge2\fixup.py

* Significant portion of designs converted

* Fix paths

* Fix tgui lints

* Just a whole bunch of designs

* Almost doneeee

* ALL DESIGNS CONVERTED

* Merk all of the old stuff

* Fix a few errors

* Fix more errors

* MORE FIX

* Make server control work

* Undo changes to archive

* Fix a TODO

* Make disks work

* Start the long process of finishing the node tree

* One more oops

* All mechfab designs

* Add departmental protolathes

* Down to 200 designs unsorted

* FINISH TECHWEBS

* Fuck whoops

* Remove the debug verbs

* Little map tweaks

* Fix mousedrop

* More map fixes

* Upstream bug lmao

* guess CI hates this

* Fixup maps in TGM format

fe062e7bc4: maps/tether/tether-03-surface3.dmm

Automatically commited by: tools\mapmerge2\fixup.py

* I gotta stop committing this

* Change scree requested

* Make science able to print implants too

* Fix ghost spawns

* Move NSFW gun

* Merk partbundles, make janus module work

* Pretty animation when you complete the tree :)

* Don't display designs you can't print

* Move security protolathes to warden's office

* Make servers recover from power failure gracefully

* Make fabricators drop their mats on the ground when destroyed

* Ore Silo

* Make CI happy

* Fixup maps in TGM format

fe062e7bc4: maps/tether/tether-05-station1.dmm

Automatically commited by: tools\mapmerge2\fixup.py

* Fix MC crash

* Make experiscanner work for borgs

* I REALLY gotta stop committing this

* Make scientists and the RD spawn with an experiscanner

* Lock NIFs behind scanning mice

* Make Biome happy

* Allow scanning Cocoa and Kendrick in case they can't find mice

* Change from Kendrick to Ratthew, ;help maint, or Brick

* Change the name of the /rat/pet class so the experiscanner is more helpful

* Add departmental_flags to a bunch of things

* Remove a few things from security's techfab

* Add a second engineering lathe to atmos

* Fix runtime recycling rig modules, add name to cost sequence

* Add a discount experiment for scanning slime cores

* Change some fluff and shuffle chameleon clothes to bluespace yadayada

* Make closets alt click immune

* Do a bunch of sorting

* Silly

* Hopefully fix all infinite material bugs in techwebs

* bad merge

* quick ai fix

* fix some robot stuff

* axe downlaod fully

* list

* no ref

* easier readable

---------

Co-authored-by: C.L. <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
ShadowLarkens
2025-07-26 06:30:08 +02:00
committed by GitHub
co-authored by C.L. Kashargul
parent 93efaa653a
commit b60cd47309
271 changed files with 19410 additions and 11158 deletions
+16 -9
View File
@@ -30,6 +30,7 @@
law_list = dd_sortedObjectList(law_list)
/datum/eventkit/modify_robot/tgui_close()
target = null
if(source)
qdel(source)
@@ -586,13 +587,19 @@
to_chat(ui.user, span_notice("Laws displayed."))
return TRUE
if("select_ai")
selected_ai = locate(params["new_ai"])
selected_ai = params["new_ai"]
return TRUE
if("swap_sync")
var/new_ai = selected_ai ? selected_ai : select_active_ai_with_fewest_borgs()
if(new_ai)
var/mob/living/silicon/ai/our_ai
for(var/mob/living/silicon/ai/ai in GLOB.ai_list)
if(ai.name == selected_ai)
our_ai = ai
break
if(!our_ai)
our_ai = select_active_ai_with_fewest_borgs()
if(our_ai)
target.lawupdate = 1
target.connect_to_ai(new_ai)
target.connect_to_ai(our_ai)
return TRUE
if("disconnect_ai")
if(target.is_slaved())
@@ -649,7 +656,7 @@
var/list/all_upgrades = list()
var/list/whitelisted_upgrades = list()
var/list/blacklisted_upgrades = list()
for(var/datum/design/item/prosfab/robot_upgrade/restricted/upgrade)
for(var/datum/design_techweb/prosfab/robot_upgrade/restricted/upgrade as anything in subtypesof(/datum/design_techweb/prosfab/robot_upgrade/restricted))
if(!upgrade.name)
continue
if(!(initial(upgrade.build_path) in target.module.supported_upgrades))
@@ -659,14 +666,14 @@
all_upgrades["whitelisted_upgrades"] = whitelisted_upgrades
all_upgrades["blacklisted_upgrades"] = blacklisted_upgrades
var/list/utility_upgrades = list()
for(var/datum/design/item/prosfab/robot_upgrade/utility/upgrade)
for(var/datum/design_techweb/prosfab/robot_upgrade/utility/upgrade as anything in subtypesof(/datum/design_techweb/prosfab/robot_upgrade/utility))
if(!upgrade.name)
continue
if(!(target.has_upgrade(initial(upgrade.build_path))))
utility_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]"))
all_upgrades["utility_upgrades"] = utility_upgrades
var/list/basic_upgrades = list()
for(var/datum/design/item/prosfab/robot_upgrade/basic/upgrade)
for(var/datum/design_techweb/prosfab/robot_upgrade/basic/upgrade as anything in subtypesof(/datum/design_techweb/prosfab/robot_upgrade/basic))
if(!upgrade.name)
continue
if(!(target.has_upgrade(initial(upgrade.build_path))))
@@ -675,7 +682,7 @@
basic_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 1))
all_upgrades["basic_upgrades"] = basic_upgrades
var/list/advanced_upgrades = list()
for(var/datum/design/item/prosfab/robot_upgrade/advanced/upgrade)
for(var/datum/design_techweb/prosfab/robot_upgrade/advanced/upgrade as anything in subtypesof(/datum/design_techweb/prosfab/robot_upgrade/advanced))
if(!upgrade.name)
continue
if(!(target.has_upgrade(initial(upgrade.build_path))))
@@ -684,7 +691,7 @@
advanced_upgrades += list(list("name" = initial(upgrade.name), "path" = "[initial(upgrade.build_path)]", "installed" = 1))
all_upgrades["advanced_upgrades"] = advanced_upgrades
var/list/restricted_upgrades = list()
for(var/datum/design/item/prosfab/robot_upgrade/restricted/upgrade)
for(var/datum/design_techweb/prosfab/robot_upgrade/restricted/upgrade as anything in subtypesof(/datum/design_techweb/prosfab/robot_upgrade/restricted))
if(!upgrade.name)
continue
if(!(target.has_upgrade(initial(upgrade.build_path))))