10 Commits

Author SHA1 Message Date
Aaron Suen
c6cf1f9cb6 Players float when idle in water
This is done rather hackishly, but Minetest doesn't
seem to offer a sane way to register fluid buoyancy, or
even a reasonable hack to use negative gravity for this.
Instead, just push player upward with velocity impulses
every so often.

This is helpful gameplay-wise to make chatting while
swimming easier for players not using auto-forward, or
to prevent players from drowning and losing their stuff
while swimming long-distance and dropping network
connection and their in-game character waiting in the
water for the timeout.  Instead, players will return to the
surface and remain where they can breathe until the
player can take control again.
2020-05-18 20:49:30 -04:00
Aaron Suen
65f3993272 Auto-sprint and player movement overhaul.
- Players start out at a brisk walk, accelerate to a run
  if moving continuously forward.
- Clean up and consolidate various player movement
  code, including footsteps, freefall, and zoom focus.
2020-01-25 09:08:13 -05:00
Aaron Suen
fb256cf8bd Experimental player terminal velocity.
Note that for extremely long falls, something
still needs to be done for items falling in
parallel with players, since as it is right now,
then fall at different speeds.

Even with player velocity being limited,
objects tend to fall at much slower speeds
initially than players, and collide with
unloaded areas and "settle" into node space,
requriing an ABM to release them again.
Instead, when a falling item collides with an
unloaded area, we need a way to preserve
its speed until the area is loaded, and then
continue falling.
2019-12-31 23:24:29 -05:00
Aaron Suen
310ce1bc6c Treat NodeCore as a unified thing.
- 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.
2019-09-07 09:08:57 -04:00
Aaron Suen
35cac87a78 The /stuck command is now obsoleted (probably) by cliff scaling. 2019-08-26 23:17:47 -04:00
Aaron Suen
47b4ae9bc6 Promote inventory pickup changes to a first-class feature mod.
Use interception where possible to modify destintion for items
directly instead of relying on post-hoc inventory rearrangement.

This should resolve the glitches where items appear in the wrong
place in inventory for a flash before being moved.
2019-03-27 22:10:45 -04:00
Aaron Suen
170605dd6b EXPERIMENTAL direct player inventory pickup control.
Players can specify the exact slot they want picked up items to go
into.  Items will try to fit into the currently selected slot first
before filling additional slots according to normal rules.

This is experimental and may lead to lost or duplicate items!!

Hopefully this should end up being a lot more intuitive and
immersive than the old sneak-dig hack that only worked for certain
objects.  It's consistent across all functionality that causes
items to be added to player invetory (including /give).

Unfortunately it adds yet another globalstep function, and a
fairly complex one at that...
2019-03-24 18:24:54 -04:00
Aaron Suen
ff57c0aaba Replace suicide command with stuck command.
It does something similar, though it doesn't send you back to
spawn, just "phase shifts" nearby.
2019-03-11 23:00:42 -04:00
Aaron Suen
3b08a8ee9a Documentation updates, new player guide interface.
Also restructured the player_inv/player_setup thing AGAIN.
Now setup is all rules and inv is all interface.
2019-03-05 19:20:38 -05:00
Aaron Suen
7f123aea91 Goodbye, last GUI!
- Inventory screen is now no longer game-interactive, and serves
  as purely an "about" screen.
- Move the HUD components out of inv mod and into hud mod.
- Separate player setup mod for static physical limitations like
  step height, inv size, etc.
2019-03-03 16:53:12 -05:00