Also reduce client packets by tracking dynalight node
ttl in-memory instead of meta. Lights might flicker out
a bit on area first loading, but some startup judder is
expected on any unloaded area anyway.
Add a "cheat" code for torch testing, and possibly for
other dev uses.
Sadly I don't have a way to make fog color texture
pack customizable, so it will have to be hard-coded
for now, and TP artists may want to advise players
to just disable fog if they can, or maybe a CSM could
work...
This removes the day/night cycle from NodeCore,
which experience seems to suggest may be more of
an annoyance than a useful and interesting gameplay
feature.
Some aspects of gameplay are notably altered, such
as the balance between artificial and natural light,
and the operation of optics (no more solar lenses).
The overall atmosphere of the game is also deeply
changed by this, taking on a timeless, dream-like
quality. It remains to be seen whether this change is
beneficial or even tolerable.
- Lenses no longer produce light from sun at all;
artificial light is always needed.
- Grass and trees survive, don't do dual-time check.
- Breeze sounds work in twilight.
- Sponge drying only requires twilight, now also can
happen under artificial light.
- Peat to grass happens under twilight.
Lenses work from sunlight up to roughly y = -10.
You can now have unlimited optic power from the sun,
but conducting it all the way down from the surface is
more of a pain than having a loop at depth.
- No day/night cycle, no sun/moon.
- Get rid of clouds too.
- Skybox is now 100% texture-packable.
- Natural light diminishes with depth.
Night-time no longer disrupts gameplay topside, but
skylights are no longer useful to an infinite depth and
artificial light is necessary for all deep mining.
This prevents chopped planks from landing atop the
log below, and all sorts of other recipe annoyances
when items scattered are not necessarily scattered
far enough.
Setting hp_max before player actually emerges in a
join event seems to prevent damage flash (MT engine
issue 7876) for new players.
Old players rejoining for the first time since the
change will still experience it though.
It seems that when we access metadata too rapidly
it pulls data out of order or something, so that the
player damage time stuff is unstable, and healing can
start immediately, or more than 8 seconds later.
Caching this stuff manually seems to work around the
issue, and it seems that the metadata system is at
least EVENTUALLY consistent, so it's still good for
long-term use or across world unloads.