- Nerf effect by 50% to be less disruptive
- Effect can be avoided by not being in a
swimming position (matching model anim)
- Refactor swimming check into API
- Special checking and handling for linkdead
players, for whom client knockback
wouldn't work anyway.
If a player has sufficient upward velocity, then the gravity
reduction meant to slow downward acceleration instead slows upward
deceleration and the player flies ridiculously high. Doesn't
happen normally in vanilla, but can happen with mods.
Thanks to Lone_Wolf for reporting this.
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.
- 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.
Supposedly some stacks are clipping through the nodes
surrounding them when ejected; this is theoretically
possible if the stacks are full enough, based on the
X/Z offsets and the collisionbox sizes.
Always start items near the center of the ejecting node
position, to minimize (in theory, eliminate) this risk.
- Thrown objects inherit initial velocity.
- Player and objects have matched terminal
velocity and can free-fall in tandem.
- Thrown objects experience horizontal air
friction too.
Making hand dig everything broke logic that was
depending on things being "not hand diggable".
Continue to treat things as not-hand-diggable if they
would take a long enough time to dig.
If players are invisible, NodeCore will not add any visible or
audible effects for them, allowing such players to be completely
non-interactive with gameplay.
This allows things like spectator or stealth-admin mods to
function properly.
Many processes that have a significant speed/time component can
now have speeds adjusted (as a multiplier from base rate) via
settings.
Things that can be adjusted:
- Tool speeds (including digging and pummeling)
- Cooking and pummel recipe durations
- Soaking processes like tree growth, peat fermentation
The settings are hierarchical, so groups of rates can be
adjusted together, and a further multiplier can be applied to
each member of the group.
The settings are calculated dynamically, for power users only,
and documenting them is out of scope for the project.
Specifically, this should help tuning for Kimapr's SkyBlock, and
possibly other mods involving signficant gameplay rebalancing.
This should improve game efficiency/smoothness when
a lot of flammable stuff is present but there are no
corresponding massive fires.
This seems to address runtime jitter issues noticed
after placing hundreds of coal nodes inside a forest.
Standardize the "play a sound for everybody except the player who
is already playing it client-locally" logic into one place.
Fix failure to correctly detect tool speeds for some things, i.e.
when the player is using a tool but the capability used on a node
is actually inherited from the hand.
Note that this may allow pummeling with wrong tools (e.g. repacking
soils with spades) along with accompanying inappropriate tool wear,
but this should be minor and avoidable, and can be fixed later...
We actually haven't been testing in 0.4 at all for quite a while
now. Since this is a standalone base game without complex
interdependency relationships, there isn't really any need to
maintain compat with old versions of the engine. Players can
upgrade to play; keeping a separate copy just to play on old 0.4
servers is even still an option.
There is some internal cruft that has been building up to support
0.4, and this allows us to purge most of it. The larger benefit
may come when we're able to remove line_of_sight in favor of the
more efficient raycast (still yet to be done).
- Clean up registered_* usage patterns.
- Reduce tendancy of leaves to create stack nodes.
Now they tend to stack up properly in-world more often.
- Tweak damage system to create "headroom" where minor
damage doesn't cost inv slots immediately.
- Make player hand skin color match model skin.
- Cleanup/unify grass abm logic.
- Start installing new sounds by MagikEh
Sound source:
https://github.com/MagikEh/SoundsOfWarr
There seems to be an issue triggering events, so a lot of work
is being done by the abm to cover over this problem...
Much like my earlier work with sz_rotary, I suspect a lot of
fine-tuning will be needed.