1192 Commits

Author SHA1 Message Date
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
Aaron Suen
aca630ee32 Fix leaves blocking eggcorn soaking. 2019-12-28 22:04:34 -05:00
Aaron Suen
2c023da125 Simplify wear gauge appearance. 2019-12-27 12:13:11 -05:00
Aaron Suen
124ac24792 Add wear gauge to tool descriptions too. 2019-12-27 11:57:10 -05:00
Aaron Suen
7132121ec4 Translation sync. 2019-12-27 11:37:26 -05:00
Aaron Suen
045a9fc5b3 Don't show count estimate for inventory stacks.
This is redundant and silly considering that we have
the exact count in the hotbar.
2019-12-27 11:30:03 -05:00
Aaron Suen
a9a2315932 Rough count of stacks in touchtip.
Player can count up to 9 items exactly, and can
estimate to nearest 10 up to 100.  Stacks still need to
be picked up for an exact count.
2019-12-27 11:27:47 -05:00
Aaron Suen
04ea2d3a22 Make lux infusion asymptotic.
Infusion of worn tools is slightly faster, but drops off
quickly as tools are more full.  Lux tools can effectively
NEVER be perfectly unworn anymore.

This helps balance out lux tools, which, once
unlocked, were also obviating the need for proper tool
resource management, since they could recharge
so easily if you had a spare set in the reactor.

Now, players need to pay attention to which tools are
most/least worn, and keep the most worn ones
infusing to ensure the reactor resource is being used
most effectively.
2019-12-27 10:41:03 -05:00
Aaron Suen
4e7602ed46 Notes. 2019-12-27 10:13:50 -05:00
Aaron Suen
585672c81b Dirt/humus leaching via soaking.
- Add humus->dirt leeching recipe.
- Use soaking API, track dirt leeching progress across
  offline time.
2019-12-27 10:09:00 -05:00
Aaron Suen
b6b483e82a Fix janky lux source removal. 2019-12-27 10:07:52 -05:00
Aaron Suen
70b34b1def Liquids apply repacking pressure too. 2019-12-27 10:01:47 -05:00
Aaron Suen
1cfb278ccf Store last mod time on stats. 2019-12-27 09:43:34 -05:00
Aaron Suen
8801e30e7d Fix AISM soaking failing to reset.
This was causing Lux tool infusion not to reset when
tools are removed from lux, i.e. putting a tool back
into the lux flow will "credit" the tool with infusion time
for the time since it was removed.
2019-12-25 16:05:47 -05:00
Aaron Suen
2106569e7b New sponge squeezing mechanics.- Squeezing a sponge creates flows of temporar water.- Re-squeezing the sponge maintains the water flows.- Since fluid is non-renewable, we no longer need to worry about checking for neighbors. 2019-12-25 11:55:47 -05:00
Aaron Suen
24947c7702 Tweak gray water visuals. 2019-12-25 11:35:25 -05:00
Aaron Suen
79da85e03a Add "artificial" water.
This is a non-renewable version of water that can be
used for applications where temporary artificial water
sources need to be created.
2019-12-25 11:32:05 -05:00