1108 Commits

Author SHA1 Message Date
Aaron Suen
0c39f34ebb Fix falling_node rapid column settling. 2020-01-11 00:34:13 -05:00
Aaron Suen
25be3b07a8 Small pos key calc optimization. 2020-01-10 21:11:52 -05:00
Aaron Suen
d0e6dcc410 Add "stasis" option and command.
This freezes many things that normally happen automatically
in the world, including most ABMs and AISMs, and a few other
custom step logic items like the player "hot potato" logic.

This can be used for "creative mode" purposes to setup a complex
build without it running itself away from you, and for texture
pack authors, to have time to see things that are normally
transient or difficult to observe because of the effects they have
on nearby things or players.
2020-01-10 06:26:07 -05:00
Aaron Suen
ed95bc1f33 Convert Tree Trunk item stacks to Logs. 2020-01-09 23:01:03 -05:00
Aaron Suen
23e7a789cb Try to make stone chipping recipe less boring.
- Items don't down settle when rising.
- Give stone chips some upward kick.
2020-01-09 22:32:33 -05:00
Aaron Suen
c6584d79d4 Settle craft excess immediately. 2020-01-09 22:23:32 -05:00
Aaron Suen
0aa054792c Falling nodes should be non-pointable. 2020-01-07 21:41:00 -05:00
Aaron Suen
9bf3b88483 One more entity behavior regression. 2020-01-07 21:36:59 -05:00
Aaron Suen
000d87ab0d Fix entity regressions. 2020-01-07 21:35:05 -05:00
Aaron Suen
726fd63183 Fix some entity behavior bugs.
- Items shooting upward on ladders.
- Suspected crash on hitting unloaded areas.
2020-01-07 21:20:18 -05:00
Aaron Suen
cda6c1a445 Notes sync from Discord. 2020-01-07 06:56:11 -05:00
Aaron Suen
672199368d Merge branch 'master' into dev 2020-01-05 15:25:08 -05:00
Aaron Suen
62d7447d67 Backport new nc_api_all to release. 2020-01-05 15:24:44 -05:00
Aaron Suen
87e181720f Crush damage for tree trunks. 2020-01-05 15:13:01 -05:00
Aaron Suen
edf94dd666 Efficient item merging. 2020-01-05 15:07:40 -05:00
Aaron Suen
5d7f033c81 Rudimentary (inefficient) item merge. 2020-01-05 14:21:54 -05:00
Aaron Suen
c2e014a776 Attenuate scans for dropped items. 2020-01-05 13:48:53 -05:00
Aaron Suen
9916922432 Drop float support, displace lava.
BOLO gameplay that feels too "exploity" with ability
to forcibly transport lava upwards.
2020-01-05 13:26:45 -05:00
Aaron Suen
4d47ab2e75 NC API dependency simplification.
Treat all API mods as a "layer", and use the new
nc_api_all registration to indicate that a mod depends
on the NC API (which ALL NC mods assume they do).
This means that each non-API mod does not need to
worry about which API mods it really needs and which
it does not, nor will they need to be updated for any
internal API restructures.

This is a game, not a modpack, so all mods will be
loaded anyway, and we only care about order.  That
means that we don't really need to worry about
having excess dependencies because any mod we
don't actually need will be needed by something that's
loaded anyway.  If somebody wants to reuse a
component elsewhere, they're likely to need to do
some work to untangle it anyway, because of the
amount that NodeCore mechanics interact and
interdepend.
2020-01-05 12:59:12 -05:00
Aaron Suen
dcfc80b367 Remove explicit names in mod.confs. 2020-01-05 12:38:45 -05:00
Aaron Suen
8c029817bb Remove laser ablation timing jitter. 2020-01-05 12:34:15 -05:00
Aaron Suen
89020e8340 Major rebuild of item_entity.
This created a ton of dependency inversions, which
necessitated moving a number of API functions up into
higher layers, and restructuring dependency lists for
a number of mods.

BOLO: non-deterministic load errors due to missed
dependencies.
2020-01-05 11:42:22 -05:00
Aaron Suen
047f420cdf Make a note of an architectural issue. 2020-01-05 10:18:03 -05:00
Aaron Suen
b1fab67491 Start work on unifying/simplifying builtins.
falling_node rebuilt from scratch so far.
2020-01-04 10:51:10 -05:00
Aaron Suen
4291592b78 Fixed player model UV mapping by Elkien. 2020-01-04 01:07:08 -05:00
Aaron Suen
511455fff9 Player/ent freefall physics cleanup.
- 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.
2020-01-02 23:03:23 -05:00
Aaron Suen
93c59357fc Update copyright year.
We already had one revision this year that
wasn't recorded correctly...
2020-01-02 21:05:06 -05:00
Aaron Suen
f9bacc9d96 Door catapult preserves item metadata. 2020-01-01 00:17:43 -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
5a7567a73c Fix crash on blank/nil HUD text. 2019-12-31 20:08:45 -05:00
Aaron Suen
2f07b1efdb Drop fancy hotbar from roadmap.
This idea has resulted in 2 failed branches
and exposed a handful of engine bugs.

The way things stand right now, it's a miracle
that HUDs are usable at all, and probably not
worth messing around with them to try to
get them "just right."
2019-12-31 16:59:17 -05:00
Aaron Suen
ffb8b12ab6 Re-quantize/optimize breath image. 2019-12-31 13:29:54 -05:00
Aaron Suen
24decd3c47 Fade bottom of breath HUD to unobscure hotbar. 2019-12-31 13:25:08 -05:00
Aaron Suen
76e43ed07f Fix breath HUD regression. 2019-12-31 13:23:36 -05:00
Aaron Suen
ca16c1f294 Fix hud_change inefficiency using deep-compare. 2019-12-31 13:20:42 -05:00
Aaron Suen
13f9d246f4 Notes cleanup. 2019-12-31 10:35:19 -05:00
Aaron Suen
a7d004052b Clear out some resolved issues. 2019-12-31 09:55:36 -05:00
Aaron Suen
7fa3d405cd Merge multiline handling into nc_api_hud.
Most of the complexity of touchtip multiline handling
is now done in the unified HUD API.
2019-12-31 09:51:07 -05:00
Aaron Suen
248dbda2da Create unified HUD API.
- Handles upsert, TTL, caching, players leaving.
- Unify breath and player name HUD logic for now.

Touchtips are more complex (multiline, translate) so
those will need more work to unify.
2019-12-31 09:32:17 -05:00
Aaron Suen
15134ad90c Fix pulverize priv not covering clearinv cmd. 2019-12-31 08:49:37 -05:00
Aaron Suen
348f6f97c1 Yet another new crack texture.
- Intermediate number of stages.
- No dizzying rotation.
- Still has a blank first stage for emergency hand-dig.
- More reminiscent of isometric cube motif.
- Lines coming from center make it more "crack-like".
2019-12-30 19:05:18 -05:00
Aaron Suen
0d3f26b861 Fix particles for non-16x textures.
Resize base texture down to 16x first, so mask works
as expected.  Some textures may be blurred, but
we're more concerned with getting the overal color
right more than showing actual patterns.
2019-12-30 14:16:14 -05:00
Aaron Suen
f5bf7a5aa9 Add IRC to official in-game about screen. 2019-12-30 13:34:36 -05:00
Aaron Suen
a67706b0bc Embolden crack texture. 2019-12-30 13:22:06 -05:00
Aaron Suen
57c40bc5d7 New crack texture/animation.
- Now has 24 stages instead of 12.
- First stage is blank, to prevent very long digs from
  giving player too much positive feedback.
- Rotation effect.

The key thing here is that for the first 1/24 of the
dig animation, no positive feedback is given to the
player to indicate that the dig is "working."  This
should discourage new players from being distracted
by the emergency hand-digging feature.

More dig stages also help players get a better sense
of progress as they're digging things that do take a
long time, since digging in NodeCore tends to be
slower overall than digging in most MT games.

The rotation was thrown in as an afterthought, but
helps give a sense of progress.  Hopefully it's not
too distracting or seizure-inducing on very short dig
times; it ends up sort of all blurring into a circle to me
when digging with advanced tools...
2019-12-30 13:15:50 -05:00
Aaron Suen
3eb21593b6 Block accidental new pummel recipes from hand-dig. 2019-12-29 14:08:27 -05:00
Aaron Suen
c7a90debcb Fix scaling and charcoal writing.
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.
2019-12-29 13:57:49 -05:00
Aaron Suen
8add276587 Make falling things bounce off players.
If the falling item/node causes enough damage to
trigger a "hurt" effect, then it loses much of its energy
and bounces upward off the player.

This will also reduce the "scraping" effect when nodes
fall through a player.  Hopefully the damage from
falling things is a little more consistent now.
2019-12-29 12:12:08 -05:00
Aaron Suen
df19716624 Make everything diggable by hand.
This should keep players from being able to trap
themselves permanently by burying or sealing
themselves inside a room with no tools, in theory.

Adjust silk touch logic to prevent presence of dig times
by hand from tripping it.

This may affect game balance of things like not being
able to punch trees in the early game, but since dig
times by hand are so very long, hopefully the effect
will be small.

Item drops are left as-is for now; it just takes a LOT
of patience to dig something without the right tool.
2019-12-29 11:51:25 -05:00
Aaron Suen
83c394dcdd Fix node stack names not translating. 2019-12-29 10:22:55 -05:00