mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-31 20:11:56 +00:00
* Biogen Refactor and Code Cleanup, Faster Biomass Conversion and No More Biomass Cap! (#71563) ## About The Pull Request So, I looked at the Biogenerator code and there was just, _so_ much old and undocumented code, that I just spazzed out and started documenting and refactoring everything. There's now a lot less usage of contents lookups and for loops, and _almost_ everything is documented, now, too. As for the changes, as you can see in the title, I made biomass conversion faster. How much faster, you ask? 5 times faster with default parts, up to 20 times faster with the best parts. It was painfully slow, and that's not fun for anyone. I also lifted the biomass cap. It wasn't useful, it wasn't fun, and Melbert didn't really agree with it either. However, I enjoyed the look of the biomass going up, so I gave it a max visual amount of 5000, so you get to see it gradually filling up as you put your first 5000 biomass in. After that, you do you, chief. Watch the funny numbers go up all you want. I also improved the maths so that it wasn't just rounding stuff constantly, and also gave a little bit more insight on how much biomass everything would cost you, down to two decimals. If there's no decimals, it won't show them, however. <details> <summary>Here's what that looks like now:</summary> That's one screenshot per different decimal places, there's no trailing zeros because I think we can all universally agree that those look bad in this kind of setting.    </details> There's now also more information displayed when you examine the biogen, namely, how many items it has stored, and how many it can hold. I also fixed the formatting a bit, so it looks ever so slightly cleaner. Other than that, I just improved the code everywhere I saw it to be fitting, there shouldn't be any single-letter variables in there anymore, and the code should be more spaced out. Honestly, at this point, I wrote most of this code six hours ago so I don't remember all of it, and I'm too lazy to go through and check what I've changed again. Diff and changelog are there for that. ## Why It's Good For The Game So, I'll be honest, there were two big reasons that motivated me to do this. First of all, the biomass cap. That was a little silly, anyone that has spent more than one shift in Hydroponics knows that you usually only put Watermelons in the biomass generator as they're usually the thing that nets you the most biomass. Botanists will generally stock the fridges first, and if they have a lot of excess, they'll put it in the generator if they want, but that's rarely what was done. I've talked with @ MrMelbert about it and he gave me the go-ahead, as can be seen here:  The other reason was the excruciatingly slow processing speed, which I've fixed. So we're good now. :) ## Changelog 🆑 GoldenAlpharex refactor: Went through and refactored a lot of the old code of the biogenerator, and made multiple improvements to its logic, which should hopefully make it behave more consistently. Nearly all of it is now also fully documented, so as to make it easier for anyone else that has to sift through it in the future. qol: The biogenerator now processes items five times faster, up to 20 times faster if properly upgraded! qol: The biogenerator is no longer capped on biomass. Its visuals will change up until 5000 biomass, but you're free to go as high as you'd like with it! Sky's the limit! fix: Fixed the logic of the biogenerator that would make it so the amount of biomass used for recipes was wildly inconsistent. Now, there's no more back-end rounding up, it's all on the front end when it needs to be, so there's no loss or gain of biomass when there shouldn't be. spellcheck: Fixed a capitalization issue with the seaweed sheets in the biogenerator recipes. spellcheck: Fixed multiple inconsistencies between the messages sent to your chat by the biogenerator. /🆑 * Biogen Refactor and Code Cleanup, Faster Biomass Conversion and No More Biomass Cap! Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>