Minor Autolathe Refactor | Material Dupe-B-Gone (#80839)

## About The Pull Request

Refactors underlying autolathe code, mostly about how it prints items
Items are now printed sequentially
Items now have their custom materials set to the the materials actually
used to create them
Items are now printed based on their design construction time instead of
a default 3.2 seconds per item always
Closes https://github.com/tgstation/tgstation/issues/80755

## Changelog
🆑
fix: Autolathes no longer allow you to duplicate materials at higher
levels of stock parts
qol: Autolathes now show name instead of typepath when selecting a
custom material
qol: Autolathe now print out items one by one instead of waiting for all
of them to print at once
/🆑
This commit is contained in:
Zephyr
2024-01-15 13:35:02 -05:00
committed by GitHub
parent 72d13059ab
commit 13d2dceb31
4 changed files with 231 additions and 139 deletions
@@ -581,7 +581,9 @@
return FALSE
for(var/x in mats) //Loop through all required materials
if(!has_enough_of_material(x, OPTIMAL_COST(mats[x] * coefficient) * multiplier))//Not a category, so just check the normal way
var/wanted = OPTIMAL_COST(mats[x] * coefficient) * multiplier
if(!has_enough_of_material(x, wanted))//Not a category, so just check the normal way
testing("didnt have: [x] wanted: [wanted]")
return FALSE
return TRUE