A smattering of boulder-related QOL and fixes. (#86834)

## About The Pull Request

This pull request does a little bit of cleanup that I came across awhile
ago while looking at #85081, then forgot about, then came back up when I
was looking at some additional cleanup that needed to be done.

Reorganizes the handle_wave_conclusion function such that it can take a
force arg, to force a ore vent to be completed for debug purposes.
This also fixes a minor bug where vents, when successfully completed,
will still show a warning alert that the waves were failed, and that the
vent has closed up.

Grammar fix to the examine of boulder processing machines.

Moves the can-move behavior of boulders on conveyor belts and during
regular stacking to an early return over a late return (Thank you
Goofball for pointing that out).

Artifact boulders will now default to their artifact icon_state whenever
possible.

Finally, adds an additional sanity check to boulder processing to check
for custom material length, to attempt to avoid zero-content boulders
existing and running into the afforementioned #85081

## Why It's Good For The Game

Largely applies cleanup to several aspects of the boulder processing
system, and a handful of (hopefully) performance related rearrangements
to the existing layout of boulder processing code.

I can't for sure say that it'll fix the linked issue, due to the fact
that I could not for some reason re-create the issue in local testing,
but I'm hopeful that it's some kind of nebulous sanity-related issue.

Cleans up grammar in some spots, and provides a useful debug tool for
admin purposes when you just want a vent to flip. Might be a good
justification for a ore-manager admin panel later? 🤷

## Changelog

🆑
fix: Artifact boulders should keep their alien icon even after a first
round of processing.
fix: Boulders are less likely to exist with zero materials after
processing.
fix: Boulders should be slightly less laggy on conveyor belts.
fix: Grammar of refinery/smeltery examine is corrected.
/🆑
This commit is contained in:
ArcaneMusic
2024-09-27 22:32:15 -04:00
committed by GitHub
parent f24b6014be
commit 47430a4c04
4 changed files with 32 additions and 25 deletions
@@ -127,7 +127,7 @@
if(!istype(new_boulder) || QDELETED(new_boulder))
return FALSE
//someone just processed this
//someone is still processing this
if(new_boulder.processed_by)
return FALSE
@@ -149,7 +149,6 @@
*/
/obj/machinery/bouldertech/proc/accept_boulder(obj/item/boulder/new_boulder)
PRIVATE_PROC(TRUE)
if(!can_process_boulder(new_boulder))
return FALSE
@@ -408,6 +407,9 @@
return TRUE
if(locate(/obj/item/boulder) in loc) //There is an boulder in our loc. it has be removed so we don't clog up our loc with even more boulders
return FALSE
if(!length(specific_boulder.custom_materials))
specific_boulder.break_apart()
return TRUE
//Reset durability to little random lower value cause we have crushed it so many times
var/size = specific_boulder.boulder_size