- Collapse all nodecore "core" mods in the /mods listing, so it's
easier to find the actual add-on mods.
- Parameterize in-game branding to make renaming derivatives just
a little easier.
- Leave it nil to use the default (5 levels over).
- Set it to false to disable (always drop_in_place).
- Set it to a custom set of groups to skip drop-in-place if the
tool would be able to dig a node with those groups.
Make tree sounds managed by the mod that defines the nodes in
question using register_ambient, consistent with other things like
fluids.
nc_envsounds is now responsible for just the air moving and
cave dripping sounds made by air itself.
Common windiness logic moved into api layer.
This game is pretty hard to classify. In principle it's sort of
like those old classic point-and-click "adventure" games where you
wander an open world, getting things and trying to use things on
other things, until you find combinations that do something
interesting and useful.
The game is mostly focused on "exploration" but not necessarily the
"traveling long distances over land" kind, but often the "exploring
the working principles of things" kind.
As long as the game clock is running, even if the area is not
loaded and processing ABMs, tree growth will "catch up" when the
area gets loaded.
I was hoping to build a time-integrated "soaking API" to deal with
this and short-circuit the box-mueller calculation to do model the
soak as time-continuous in O(1) time, but this is good enough to
get the expected behavior for now.
If I add more long-term time-integrated stochastic processes (i.e.
not just cooking recipes) then I can do the refac at that time.
ABM action calls are delayed until a background timer picks them
up, but it passes in the original args and assumes that the nodes
haven't changed. In addition, it bypasses our bug #8378 hack,
because that check is done in the abm action call but NOT the
background worker timer.
Do a check in the worker to make sure the node to be acted on has
not changed since the call was queued, and just let the call miss
and waste in that case.
Note that this automatically implicitly handles any #8378 issues
that may still be present since it has to force a fresh check of
the node to be operated on anyway.