This idea has resulted in 2 failed branches
and exposed a handful of engine bugs.
The way things stand right now, it's a miracle
that HUDs are usable at all, and probably not
worth messing around with them to try to
get them "just right."
This should keep players from being able to trap
themselves permanently by burying or sealing
themselves inside a room with no tools, in theory.
Adjust silk touch logic to prevent presence of dig times
by hand from tripping it.
This may affect game balance of things like not being
able to punch trees in the early game, but since dig
times by hand are so very long, hopefully the effect
will be small.
Item drops are left as-is for now; it just takes a LOT
of patience to dig something without the right tool.
Infusion of worn tools is slightly faster, but drops off
quickly as tools are more full. Lux tools can effectively
NEVER be perfectly unworn anymore.
This helps balance out lux tools, which, once
unlocked, were also obviating the need for proper tool
resource management, since they could recharge
so easily if you had a spare set in the reactor.
Now, players need to pay attention to which tools are
most/least worn, and keep the most worn ones
infusing to ensure the reactor resource is being used
most effectively.
- Defer update until tick, coalesce updates from same tick.
- Behaves more stably when pulling items from shelves.
- Prevents flicker.
- Wield changes supersede node touch (esp shelves).
Optic checks were being propagated unconditionally in loops,
causing nearly every node in an optic network to be checked every
time.
This restores behavior to the original intended behavior of
propagating forward changes on next tick, but stopping at points
where state quiesces.
Unfortunately beam obstruction sensing has been working
instantaneously because of this bug, and that will revert to the
original intended behavior of having those picked up only on
random checks, which may cause regressions in some builds.
Nodes cannot be scaled only if they are BOTH falling
nodes AND diggable by hand. Mostly this just means
sand cannot be scaled and needs to be dug out
instead.