* Autounlock techwebs are shared between machines that use them. (#72515)
## About The Pull Request
Did you know that for every Autolathe, Limbgrower, Biogenerator, ORM,
and Smelter that was built, an entire new techweb was made? The average
round has 2 ORMs (smelters count) if not more from ORM deconstruction
objective, 2 biogenerators, several autolathes and generally 0-1
limbgrower, I think there's more techwebs being created than we need.
Creating a whole techweb was a pretty terrible way to optimize this, so
I made a global list that stores these techwebs. Created on demand,
these autounlocking techwebs now share between the machines that use
them. It also generate all hacked nodes which will be visible if the
machine is hacked, instead of 'researching' them for each hacked
individual machine.
The 'specialized' techweb subtype was removed because its sole purpose
was to allow autounlocking to be a subtype of it. Now autounlocking is
just the direct subtype. I also removed mechfab autounlocking type
because it wasn't used, mechfabs use techwebs directly.
Autolathes and Limbgrowers now locally store 'imported designs' which
are things uploaded from technology disks. Outside of this, the
autounlocking techweb subtype now stores 'hacked designs' which unlocks
when the machine is emagged.
While doing this, I saw ORMs and Biogenerators had disks you can insert
into them, but I did not find anything that can actually be uploaded to
them (I saw Alien Alloys as a possibility, but there's no such disk to
allow uploading this alloy to the machine, and I didn't think an entire
system for 1 single alloy was worth keeping around), so I removed this
unused feature from both machines.
I merged 'Hacked' and 'Emagged' categories because they served the same
purpose, 'hacked' being on hacked autolathes and 'emagged' being on
hacked (emagged) limbgrowers.
Tech disk techwebs (which is created every time a disk is made, however
I hope to change this in the future) into it's own subtype, so admins
understand where its from when looking in VV panel (because I was
confused when I saw them at first).
``autolathe_crafted`` proc was removed because it was entirely unused
too.
Now it looks like this, which I consider an improvement:

## Why It's Good For The Game
We no longer initialize a brand new techweb for no reason whatsoever.
Each techweb made is making entire lists of experiments and research
papers, all of which is never to be seen in-game and is completely
useless to the player. Cutting down on these techwebs is a good first
step to this needless initializing.
## Changelog
🆑
qol: Removed the tech disk part of the ORM's UI as it was entirely
unused, now it's a little more compact with less scrolling needed.
refactor: Autolathes, Limb growers, Biogenerators, ORMs and Smelters now
share techwebs with other machines of their types, rather than all make
new techwebs each time. This means they only build their nodes once,
including hacked ones. Instead of researching nodes on hacking the
machine, they now show hacked ones depending on if it's hacked.
/🆑
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Autounlock techwebs are shared between machines that use them.
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Stops tech disks from creating two techwebs & Adds more research logging (#71442)
## About The Pull Request
This hopes to stop floodings in SSresearch.techwebs by making tech disks
not initialize techwebs twice each time, especially since techwebs never
get deleted currently.
I also added some loggings to research because currently its only use is
when completing an experiment.
## Why It's Good For The Game
Better logs for research stuff and prevents a flood of techwebs when
trying to find one specific one in SSresearch's techweb list.
It would also slightly help with
https://github.com/tgstation/tgstation/issues/71434 because I don't know
what would cause this as bepis isn't logged.
## Changelog
🆑
admin: Researching nodes and bepis unlocking stuff is now logged in
research.
/🆑
* Stops tech disks from creating two techwebs & Adds more research logging
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Rebalances space loot and space exploration (#53916)
* Rebalances space loot and space exploration
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.
* Fixes some comments
* Fixes map issue
* Restart lints
* Properly resolves conflicts
* Squashes Commits, has BEPIS, Techs, TGUIs, Rewards, and fixes.
* Makes rewardable techs a variable in all_nodes, and removes RnD Points rewards from the minor reward pool.
* Fixes conflict with pubby and beam icon.
* Review comments and basic cleanup A
* Review Comments and basic cleanup B, also cleans up icon states to work fluidly.
* Map Update
* Indentation, flipped Update_decal_path, and rebuilds tgui
* One last clean up of icon_state, adds the last bit of changes from review, and that should be everything.
* Alright last change for real I swear 105%
* Last change, adds simple sanity check for silicons.
* Moved Human and card variables into ui_interact.
* Fixes map conflict
* Alright Review Round 2 Part A, Fixes Grammar, splits polycircuit into it's own file, UI QOL improvements, Withdrawing credits, changes from arbitary values on the mini RLD, etc.
* More review bits, Part 2:B. Easier returns for less processing, Defines, fixes the merge conflict and updates the UI with new buttons. Just need to figure out Button Mapping for the UI and Duplicate prevention.
* Implemented duplicate tech protection. Yeet.
* Get back in there you
* Alright why are you breaking on me god damnit.
* It's optimized, closer to god, nearly perfect, all together it's ready to ship.
* Cleans up all of the decal painter, shorter, cleaner, works around all the turf_decal quirks.
* Tab spacing on github will look fucky
* More review changes.
* Uses use_power == ACTIVE_POWER_USE instead of powered except for the UI
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)
this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.
also applies materials to everything, with fixes, which can close#46299