mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 18:46:24 +01:00
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 format26517b7122: 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 formatfe062e7bc4: 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 formatfe062e7bc4: 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:
@@ -1,72 +0,0 @@
|
||||
/datum/unit_test/research_designs_shall_be_unique
|
||||
name = "RESEARCH: Designs Shall Be Unique"
|
||||
|
||||
/datum/unit_test/research_designs_shall_be_unique/start_test()
|
||||
var/list/ids = list()
|
||||
var/list/build_paths = list()
|
||||
|
||||
for(var/design_type in typesof(/datum/design) - /datum/design)
|
||||
var/datum/design/design = design_type
|
||||
if(initial(design.id) == "id")
|
||||
continue
|
||||
|
||||
group_by(ids, design, initial(design.id))
|
||||
group_by(build_paths, design, initial(design.build_path))
|
||||
|
||||
var/number_of_issues = number_of_issues(ids, "IDs")
|
||||
number_of_issues += number_of_issues(build_paths, "Build Paths")
|
||||
|
||||
if(number_of_issues)
|
||||
fail("[number_of_issues] issues with research designs found.")
|
||||
else
|
||||
pass("All research designs are unique.")
|
||||
|
||||
return 1
|
||||
|
||||
/datum/unit_test/research_designs_shall_be_unique/proc/group_by(var/list/entries, var/datum/design/entry, var/value)
|
||||
var/designs = entries[value]
|
||||
if(!designs)
|
||||
designs = list()
|
||||
entries[value] = designs
|
||||
|
||||
designs += entry
|
||||
|
||||
/datum/unit_test/research_designs_shall_be_unique/proc/number_of_issues(var/list/entries, var/type)
|
||||
var/issues = 0
|
||||
for(var/value in entries)
|
||||
var/list/list_of_designs = entries[value]
|
||||
if(list_of_designs.len > 1)
|
||||
log_unit_test("[type] - The following entries have the same value - [value]: " + english_list(list_of_designs))
|
||||
issues++
|
||||
|
||||
return issues
|
||||
|
||||
/datum/unit_test/research_designs_have_valid_materials
|
||||
name = "RESEARCH: Designs Shall Have Valid Materials and Chemicals"
|
||||
|
||||
/datum/unit_test/research_designs_have_valid_materials/start_test()
|
||||
var/number_of_issues = 0
|
||||
|
||||
for(var/design_type in subtypesof(/datum/design))
|
||||
var/datum/design/design = design_type
|
||||
if(initial(design.id) == "id")
|
||||
continue
|
||||
design = new design_type() // Unfortunately we have to actually instantiate to get a list.
|
||||
|
||||
for(var/material_name in design.materials)
|
||||
var/datum/material/material = get_material_by_name(material_name)
|
||||
if(!material)
|
||||
log_unit_test("The entry [design_type] has invalid material type [material_name]")
|
||||
number_of_issues++
|
||||
|
||||
for(var/reagent_name in design.chemicals)
|
||||
if(!(reagent_name in SSchemistry.chemical_reagents))
|
||||
log_unit_test("The entry [design_type] has invalid chemical type [reagent_name]")
|
||||
number_of_issues++
|
||||
|
||||
if(number_of_issues)
|
||||
fail("[number_of_issues] issues with research designs found.")
|
||||
else
|
||||
pass("All research designs have valid materials.")
|
||||
|
||||
return 1
|
||||
Reference in New Issue
Block a user