mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-11 23:23:55 +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:
@@ -0,0 +1,67 @@
|
||||
// Representative icons for each research design
|
||||
/datum/asset/spritesheet_batched/research_designs
|
||||
name = "design"
|
||||
|
||||
/datum/asset/spritesheet_batched/research_designs/create_spritesheets()
|
||||
for (var/datum/design_techweb/path as anything in subtypesof(/datum/design_techweb))
|
||||
if(initial(path.id) == DESIGN_ID_IGNORE)
|
||||
continue
|
||||
|
||||
var/icon_file
|
||||
var/icon_state
|
||||
var/datum/icon_transformer/transform = null
|
||||
|
||||
if(initial(path.research_icon) && initial(path.research_icon_state)) //If the design has an icon replacement skip the rest
|
||||
icon_file = path::research_icon
|
||||
icon_state = path::research_icon_state
|
||||
// if (PERFORM_ALL_TESTS(focus_only/invalid_research_designs))
|
||||
// if(!icon_exists(icon_file, icon_state))
|
||||
// stack_trace("design [path] with icon '[icon_file]' missing state '[icon_state]'")
|
||||
// continue
|
||||
else
|
||||
// construct the icon and slap it into the resource cache
|
||||
var/atom/item = initial(path.build_path)
|
||||
if (!ispath(item, /atom))
|
||||
// biogenerator reagent designs display their default container
|
||||
// if(initial(path.make_reagent))
|
||||
// var/datum/reagent/reagent = initial(path.make_reagent)
|
||||
// item = initial(reagent.default_container)
|
||||
// else
|
||||
continue // shouldn't happen, but just in case
|
||||
|
||||
// circuit boards become their resulting machines or computers
|
||||
if (ispath(item, /obj/item/circuitboard))
|
||||
var/obj/item/circuitboard/C = item
|
||||
var/machine = initial(C.build_path)
|
||||
if (machine)
|
||||
item = machine
|
||||
|
||||
// GAGS icon short-circuit the rest of the checks
|
||||
// if (item::greyscale_config && item::greyscale_colors)
|
||||
// insert_icon(path::id, gags_to_universal_icon(item))
|
||||
// continue
|
||||
// else
|
||||
icon_file = item::icon
|
||||
|
||||
icon_state = item::icon_state
|
||||
if(item::color)
|
||||
transform = color_transform(item::color)
|
||||
// if (PERFORM_ALL_TESTS(focus_only/invalid_research_designs))
|
||||
// if(!icon_exists(icon_file, icon_state))
|
||||
// stack_trace("design [path] with icon '[icon_file]' missing state '[icon_state]'")
|
||||
// continue
|
||||
|
||||
// computers (and snowflakes) get their screen and keyboard sprites
|
||||
if (ispath(item, /obj/machinery/computer) || ispath(item, /obj/machinery/power/solar_control))
|
||||
if(!transform)
|
||||
transform = new()
|
||||
var/obj/machinery/computer/C = item
|
||||
var/screen = initial(C.icon_screen)
|
||||
var/keyboard = initial(C.icon_keyboard)
|
||||
var/all_states = icon_states(icon_file)
|
||||
if (screen && (screen in all_states))
|
||||
transform.blend_icon(uni_icon(icon_file, screen), ICON_OVERLAY)
|
||||
if (keyboard && (keyboard in all_states))
|
||||
transform.blend_icon(uni_icon(icon_file, keyboard), ICON_OVERLAY)
|
||||
|
||||
insert_icon(initial(path.id), uni_icon(icon_file, icon_state, transform=transform))
|
||||
Reference in New Issue
Block a user