23 Commits

Author SHA1 Message Date
Aaron Suen
1c914568c0 Fully API-ify player model.
Mods can now override all player visuals, including
animations, model, scale, etc.  Full functionality
via overriding API methods.  Simpler overrides for
skin and mesh by setting player meta attrs.
2020-01-20 21:25:56 -05:00
Aaron Suen
10f3ce71a3 Return raw layers to mod overrides too. 2019-12-24 12:27:05 -05:00
Aaron Suen
15fecf01cb Player skin overhaul.
- Make skin overridable by mods.
- Add a second skin customization method via meta.
- Remove holiday skins; should be a separate mod.
2019-12-24 11:21:45 -05:00
Aaron Suen
d7819762e5 Full proper support for spectator mods.
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.
2019-12-11 06:52:09 -05:00
Aaron Suen
a0bdf98ca1 Major damage simplification.
- Healing rate is always the same, regardless of environment.
- Remove visible damage from player.

Lasting injury has just never really been a major gameplay
factor, and making players wait to heal under certain
circumstances did not feel like it made gameplay "better" in
any way.

Now, if you get hurt, you drop your stuff, and have to wait a
MINIMAL amount of time before you can pick it up again.

Similarly, with visible inventory, the damage textures are
redundant, and with the gameplay importance of injury being
so diminished, they were visual overkill.
2019-11-20 23:58:42 -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
39dea8a2ae MAJOR: Code quality audit using luacheck.
- Removed lots of unused variables, a few shadowed identifiers.
- Removed a few sections of dead code.
2019-08-31 09:26:53 -04:00
Aaron Suen
fe2c153f9e Clean up all lua code style.
Formatting rules based on Paul Kulchenko's perl-based formatter...
http://notebook.kulchenko.com/programming/lua-beautifier-in-55-lines-of-perl
...using a single tab for indent.

Mostly pure whitespace changes.
2019-08-27 19:14:51 -04:00
Aaron Suen
f3115fce2b Incorporate LoneWolf's model updates, sent via discord. 2019-08-09 08:54:05 -04:00
Aaron Suen
68d996e1f3 Begin EOS for MT 0.4.
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).
2019-04-06 11:21:34 -04:00
Aaron Suen
c39cabf18d Be more conservative about swimming only when there is enough fluid 2019-04-04 02:01:49 -04:00
Aaron Suen
db60a86fc6 Swimming animation code refinements.
- More sophisticated swimming liquid detection, which also handles
  some corner cases a little more smoothly.
- Use the "walk+mine" animation for digging while treading water.
- Clean up anim code and merge speed table with animations.
2019-04-04 01:48:54 -04:00
Aaron Suen
4d53a36345 Merge new swimming animations by LoneWolfHT.
Note that set_local_animations has been removed, to be able to
support these new animations when using local 3rd-person view.
It's expected that this MAY cause 3rd-person view animation
change lag in 3rd-person view when network lag is a problem,
but we don't expect this to be very much trouble in practice...
2019-04-04 01:25:25 -04:00
LoneWolfHT
f6d8dad3fa Add swimming animations 2019-04-02 13:47:41 -07:00
Aaron Suen
fd8ebb78c7 Reduce skin update frequency. 2019-04-02 08:23:09 -04:00
Aaron Suen
20b489dca5 A little bonus fun content. Could use some future expansion. 2019-04-02 08:08:14 -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
3bef72b665 Unify detecting old version of MT. 2019-03-03 12:08:47 -05:00
Aaron Suen
0b879d59bf Make the player just a little smaller.
If 1 node = 1 meter, then the player is now 180cm tall, which is
about the 70th percentile, instead of 200cm, which was the 99.9th
percentile (unrealistically tall).

The model's head also sinks into the ceiling much less at the
height of a jump.
2019-03-02 12:02:08 -05:00
Aaron Suen
46cefb3bc6 Fix model coords/position in 0.4.
Detect MT version and swap out a coordinate-transformed version of
the model.
2019-03-02 11:32:47 -05:00
Aaron Suen
b94d04159e Buff base player walking speed.
Players can't "sprint" currently, so hopefully this should make
exploration about 20% less tedious, and reduce the temptation to
rely on using the "fast" priv.
2019-03-02 11:16:22 -05:00
Aaron Suen
27b8919b37 Completed player model mod, with textures.
- Textures derived from old player sprites.  Not 100% sure UV
  mapping is right, but it looks good enough in singleplayer.
- Certain basic privs, i.e. shout/interact, are displayed on the
  player model via adding/removing elements.
- Battle damage shown on player model.
2019-03-02 10:13:39 -05:00
Aaron Suen
473c65b403 Oops, forgot mods subdir. 2019-03-02 09:02:51 -05:00